/* WRUniverse squads and squad voice. Uses site theme tokens; works in day and night. */
.squad-hero h1{margin-bottom:6px}
.squad-notice{max-width:1200px;margin:12px auto}
.squad-gate .actions,.squad-join .actions{margin-top:12px}
.squad-rules{margin:10px 0 16px;padding-left:20px;line-height:1.6}
.squad-check{display:flex;gap:10px;align-items:flex-start;margin:10px 0;font-weight:500}
.squad-check input{width:auto;margin-top:4px;flex:0 0 auto}

.squad-tabs{display:flex;gap:6px;max-width:1200px;margin:16px auto 0;padding:0 2px;overflow-x:auto;scrollbar-width:thin}
.squad-tabs:not(.is-enhanced){display:none}
.squad-tabs [role="tab"]{flex:0 0 auto;min-height:44px;padding:10px 18px;border:1px solid var(--line,#3c4653);border-bottom:0;border-radius:8px 8px 0 0;background:var(--panel2,#151c24);color:var(--muted,#a9b1bd);font:inherit;font-weight:700;cursor:pointer}
.squad-tabs [role="tab"][aria-selected="true"]{background:var(--card,#1b232d);color:var(--text,#fff);box-shadow:inset 0 3px 0 var(--gold,#e5b13a)}
.squad-tabs [role="tab"]:focus-visible{outline:2px solid #81b5ff;outline-offset:-2px}
.squad-count{display:inline-block;min-width:22px;margin-left:4px;padding:1px 7px;border-radius:999px;background:var(--gold,#e5b13a);color:#111;font-size:12px}
.squad-tabs.is-enhanced+.squad-panel,.squad-tabs.is-enhanced~.squad-panel{margin-top:0;border-top-left-radius:0}

.squad-head h2{margin:0 0 4px}
.squad-meta{margin:0;color:var(--muted,#a9b1bd);font-size:14px}
.squad-note{margin:8px 0 0;font-style:italic}
.squad-invite{margin:18px 0}
.squad-invite label{display:block;font-weight:700;margin-bottom:6px}
.squad-invite-row{display:flex;gap:8px}
.squad-invite-row input{flex:1;min-width:0;font-family:ui-monospace,Consolas,monospace}

.squad-voice{position:relative;margin:18px 0;padding:16px;border:1px solid var(--line,#3c4653);border-radius:10px;background:var(--panel2,#151c24);transition:border-color .3s,box-shadow .3s}
.squad-voice.is-connected{border-color:#3fa66b;box-shadow:0 0 0 1px rgba(63,166,107,.35),0 10px 28px rgba(0,0,0,.18)}
.squad-voice-status{margin:0 0 12px;font-weight:600}
.squad-voice-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.squad-voice-controls [hidden]{display:none!important}
.squad-mode{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600}
.squad-mode select{min-height:40px}
.squad-talk{min-width:150px;min-height:48px;touch-action:none;user-select:none;-webkit-user-select:none}
.squad-talk.is-live{background:linear-gradient(#36b36f,#23854f)!important;border-color:#4fd18a!important;color:#fff!important;box-shadow:0 0 0 4px rgba(79,209,138,.25)}
.squad-voice-tip{margin:12px 0 0;font-size:13px;color:var(--muted,#a9b1bd)}

.squad-roster-title{margin:20px 0 8px}
.squad-roster{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.squad-pilot{--lvl:0;display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line,#3c4653);border-radius:10px;background:var(--card,#1b232d)}
.squad-avatar{position:relative;display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:50%;background:#2e3b4b;color:#fff;font-weight:800;font-size:18px;opacity:.55;transition:opacity .2s}
.squad-avatar::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:3px solid #4fd18a;opacity:0;transform:scale(calc(1 + var(--lvl) * .22));transition:opacity .15s}
.squad-pilot.in-voice .squad-avatar{opacity:1;background:#2a5a8f}
.squad-pilot.is-speaking .squad-avatar::after{opacity:calc(.45 + var(--lvl) * .55)}
.squad-pilot-main{flex:1;min-width:0;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.squad-pilot-main a,.squad-pilot-main strong{font-weight:700;overflow-wrap:anywhere}
.squad-state{flex-basis:100%;font-size:13px;color:var(--muted,#a9b1bd)}
.squad-pilot.is-speaking .squad-state{color:#4fd18a;font-weight:700}
.squad-pilot-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:flex-end;font-size:13px}
.squad-new{color:var(--muted,#a9b1bd);font-size:12px}
.link-button{padding:0;margin:0;border:0;background:none;color:inherit;font:inherit;text-decoration:underline;cursor:pointer;min-height:0}
.link-button.danger,.button.danger{color:#ff8a8a}
.squad-inline-form{display:inline;margin:0;padding:0;border:0;background:none}
.squad-manage{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}

.squad-filter{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:16px}
.squad-filter label{display:flex;flex-direction:column;gap:4px;min-width:180px}
.squad-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.squad-card{display:flex;gap:14px;align-items:center;justify-content:space-between;padding:14px;border:1px solid var(--line,#3c4653);border-radius:10px;background:var(--card,#1b232d)}
.squad-card h3{margin:0 0 4px}
.squad-card form{margin:0;padding:0;border:0;background:none;flex:0 0 auto}
.squad-slots{display:inline-flex;gap:4px;margin-top:8px}
.squad-slots span{width:18px;height:8px;border-radius:4px;background:var(--line,#3c4653)}
.squad-slots span.is-filled{background:var(--gold,#e5b13a)}
.squad-empty{color:var(--muted,#a9b1bd)}
.squad-create{display:grid;gap:12px;max-width:560px}
.squad-visibility{border:1px solid var(--line,#3c4653);border-radius:8px;padding:8px 14px}
.squad-code-form input{text-transform:uppercase;letter-spacing:.15em;font-family:ui-monospace,Consolas,monospace}

@media (max-width:640px){
  .squad-pilot{flex-wrap:wrap}
  .squad-pilot-actions{flex-basis:100%;justify-content:flex-start;padding-left:56px}
  .squad-card{flex-direction:column;align-items:stretch}
  .squad-card form button{width:100%}
  .squad-talk{flex:1 1 100%}
}
@media (prefers-reduced-motion:reduce){
  .squad-voice,.squad-avatar,.squad-avatar::after{transition:none}
  .squad-avatar::after{transform:none}
}
