.tb-wrap{max-width:920px;margin:0 auto}.tb-step{margin-bottom:48px}.tb-step-hidden{display:none}.tb-step-head{display:flex;align-items:center;gap:14px;margin-bottom:20px}.tb-step-num{font-family:var(--font-mono);font-size:.8rem;font-weight:700;color:var(--brand-500);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#5c7cfa1a;flex-shrink:0}.tb-step h3{font-family:var(--font-heading);font-size:1.1rem;font-weight:700;color:var(--text-bright)}.tb-role-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.tb-role-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px 12px 20px;border-radius:var(--radius);text-align:center;transition:border-color .3s,background .3s,box-shadow .3s}.tb-role-card:hover{border-color:var(--border-hover);background:#ffffff08}.tb-role-card.active{border-color:var(--brand-500);background:#5c7cfa1a;box-shadow:0 0 20px #5c7cfa26}.tb-role-label{font-size:.85rem;font-weight:600;color:var(--text)}.tb-role-card.active .tb-role-label{color:var(--text-bright)}.tb-role-add{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:1.6rem;font-weight:300;color:var(--text-muted);background:transparent;border:none;cursor:pointer;border-radius:var(--radius);opacity:0;transition:opacity .2s;z-index:2}.tb-role-card:hover .tb-role-add{opacity:1}.tb-role-add:hover{color:var(--brand-500);background:#5c7cfa0f}.tb-role-controls{display:flex;align-items:center;gap:12px;z-index:3}.tb-role-minus,.tb-role-plus{width:28px;height:28px;border-radius:50%;border:1px solid var(--border);background:#ffffff0a;color:var(--text);font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .2s,background .2s,color .2s}.tb-role-minus:hover,.tb-role-plus:hover{border-color:var(--brand-500);color:var(--brand-500);background:#5c7cfa1a}.tb-role-count{font-family:var(--font-mono);font-size:.9rem;font-weight:700;color:var(--brand-500);min-width:18px;text-align:center}.tb-skill-rows{display:flex;flex-direction:column;gap:12px}.tb-skill-row{display:flex;align-items:center;gap:16px;padding:16px 20px;border-radius:var(--radius);background:#ffffff05;border:1px solid var(--border)}.tb-skill-role-name{font-family:var(--font-heading);font-size:.95rem;font-weight:700;color:var(--text-bright);min-width:110px}.tb-skill-role-index{font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted);min-width:24px}.tb-skill-btns{display:flex;gap:8px;margin-left:auto}.tb-skill-btn{padding:8px 16px;border-radius:var(--radius);border:1px solid var(--border);background:transparent;color:var(--text);font-size:.82rem;font-weight:600;cursor:pointer;transition:border-color .2s,background .2s,color .2s}.tb-skill-btn:hover{border-color:var(--border-hover);background:#ffffff08}.tb-skill-btn.active{border-color:var(--brand-500);background:#5c7cfa26;color:var(--text-bright)}.tb-duration-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.tb-dur-opt{display:flex;align-items:center;justify-content:center;padding:20px 12px;border-radius:var(--radius);cursor:pointer;text-align:center;transition:border-color .3s,background .3s,box-shadow .3s}.tb-dur-opt:hover{border-color:var(--border-hover);background:#ffffff08}.tb-dur-opt.active{border-color:var(--brand-500);background:#5c7cfa1a;box-shadow:0 0 20px #5c7cfa26}.tb-dur-label{font-size:.85rem;font-weight:600;color:var(--text)}.tb-dur-opt.active .tb-dur-label{color:var(--text-bright)}.tb-result{opacity:0;transform:translateY(20px);transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1);pointer-events:none}.tb-result.visible{opacity:1;transform:translateY(0);pointer-events:auto}.tb-result-inner{padding:36px 32px;border-radius:var(--radius);display:flex;align-items:flex-start;justify-content:space-between;gap:32px;border-color:var(--brand-500)}.tb-result-summary{display:flex;flex-direction:column;gap:16px;flex:1}.tb-result-heading{font-family:var(--font-heading);font-size:1.2rem;font-weight:700;color:var(--text-bright)}.tb-team-list{display:flex;flex-direction:column;gap:4px}.tb-team-item{font-size:.85rem;color:var(--text);padding:4px 0;border-bottom:1px solid rgba(255,255,255,.04)}.tb-team-item:last-child{border-bottom:none}.tb-result-meta{display:flex;gap:32px;margin-top:8px}.tb-meta-item{display:flex;flex-direction:column;gap:4px}.tb-meta-label{font-family:var(--font-mono);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.tb-meta-value{font-family:var(--font-heading);font-size:1.6rem;font-weight:800;color:var(--text-bright);letter-spacing:-.03em}.tb-result-note{font-size:.8rem;color:var(--text-muted);line-height:1.5;max-width:420px;margin-top:4px}@media(max-width:768px){.tb-role-grid,.tb-duration-grid{grid-template-columns:repeat(2,1fr)}.tb-skill-row{flex-wrap:wrap;gap:10px}.tb-skill-btns{margin-left:0;width:100%}.tb-skill-btn{flex:1;text-align:center;min-height:44px}.tb-result-inner{flex-direction:column}.tb-result-meta{flex-direction:column;gap:16px}.tb-role-minus,.tb-role-plus{width:44px;height:44px;font-size:1.2rem}.tb-role-add{min-height:44px}}@media(max-width:480px){.tb-role-grid{grid-template-columns:1fr}.tb-duration-grid{grid-template-columns:repeat(2,1fr)}.tb-skill-btns{flex-direction:column}.tb-skill-btn{flex:none;min-height:44px}}
