/* Approved Warm Companion: matte / centered transport / room tabs. */
:root,:root[data-theme=light]{color-scheme:light;--bg:#F5F2ED;--surface:#FCFBF8;--raised:#FFFFFF;--line:#DDD6CD;--text:#302B27;--muted:#776B60;--accent:#9F513C;--selected:#EEE3DA;--hover:#F0EBE4;--on-accent:#FFFFFF;--success:#477253;--track:#DED7CE;--edge:rgba(255,255,255,.65)}
:root[data-theme=dark]{color-scheme:dark;--bg:#1B1816;--surface:#29231F;--raised:#302922;--line:#494036;--text:#F1EAE2;--muted:#BAAFA3;--accent:#E6AF91;--selected:#413027;--hover:#352D27;--on-accent:#2C1C13;--success:#A5C69D;--track:#574B40;--edge:rgba(255,255,255,.055)}
body{font-family:"Segoe UI Variable","Segoe UI","Microsoft YaHei UI",system-ui,-apple-system,"PingFang SC",sans-serif;background:var(--bg)}
header{background:var(--surface);min-height:44px;padding:6px max(16px,env(safe-area-inset-left));gap:8px;box-shadow:inset 0 1px 0 var(--edge)}
header strong{font-size:14px}header>img{width:22px;height:22px}header>.muted{display:none}#connection{margin-left:auto}header button{padding:4px 7px;min-height:30px}header button .wt-icon{width:16px;height:16px}
main{gap:14px;padding:18px 20px;grid-template-columns:minmax(0,1fr) 260px;max-width:1480px}main>.screen{min-width:0}
button{border-radius:5px}button:hover{background:var(--hover)}button:disabled{opacity:.5}.primary,.primary:hover{background:var(--accent);color:var(--on-accent)}
.wt-icon{width:18px;height:18px;stroke:currentColor;stroke-width:1.7;fill:none;flex:none}
#picture{background:#141211;border-radius:3px}#cover{background:var(--surface)}#joinForm{width:min(320px,90%)}#joinForm h1{font-size:18px}#joinButton{min-height:36px}
#picture[data-joining=true]{min-height:320px}#sourcePanel{margin-top:8px}#sourcePanel p{font-size:12px}
.timeline{margin-top:8px;gap:8px}.timeline>span{min-width:35px;font-size:12px}.timeline>span:last-child{text-align:right}
input[type=range]{--range-fill:0%;appearance:none;background:transparent;min-width:0;height:24px;margin:0;accent-color:var(--accent)}
input[type=range]::-webkit-slider-runnable-track{height:3px;border-radius:2px;background:linear-gradient(to right,var(--accent) 0,var(--accent) var(--range-fill),var(--track) var(--range-fill),var(--track) 100%)}
input[type=range]::-webkit-slider-thumb{appearance:none;width:12px;height:12px;border-radius:50%;margin-top:-4.5px;border:0;background:var(--accent)}
input[type=range]::-moz-range-track{height:3px;background:var(--track);border:0}input[type=range]::-moz-range-progress{height:3px;background:var(--accent)}input[type=range]::-moz-range-thumb{height:12px;width:12px;border:0;border-radius:50%;background:var(--accent)}
.controls{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;min-height:38px}.controls>div{display:flex;align-items:center;gap:3px;min-width:0}.controls button{padding:5px 7px;min-height:32px;font-size:12px;display:inline-flex;align-items:center;justify-content:center;gap:5px}
.controls .transport-center{justify-content:center;grid-column:2}.controls .volume-right{justify-content:flex-end;grid-column:3}.controls .control-left{grid-column:1;font-size:12px;color:var(--muted)}
#volume{width:64px}#play span{margin:0;font-size:12px}#play svg{width:18px;height:18px}#back span,#forward span{font-size:11px;white-space:nowrap}#back .wt-icon,#forward .wt-icon{width:16px;height:16px}
.under{border:0;padding:5px 0 0;margin-top:8px}.under h1{font-size:15px;font-weight:600}.under p{font-size:12px}#status{margin-top:5px}.under .ready{font-size:12px}#network{overflow-wrap:anywhere}
aside{padding:0;border:1px solid var(--line);border-radius:5px;background:var(--raised);min-height:340px;max-height:calc(100dvh - 96px);box-shadow:inset 0 1px 0 var(--edge)}
.asideHead{padding:8px 12px;border-bottom:1px solid var(--line);min-height:38px}.asideHead h2{font-size:13px;font-weight:600}.asideHead button{padding:3px 6px;font-size:14px}
.room-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}.room-tabs button{border-radius:0;border-bottom:2px solid transparent;min-height:34px;padding:5px 8px;font-size:12px;color:var(--muted)}.room-tabs button[aria-selected=true]{border-bottom-color:var(--accent);color:var(--accent);background:var(--selected)}
.room-pane{display:flex;flex-direction:column;min-height:0;flex:1;padding:12px}.room-pane[hidden]{display:none}.room-pane h2{font-size:12px;color:var(--muted)}#members{max-height:none;margin:6px 0;padding:0;font-size:13px}#members li{min-height:36px;align-items:center;margin:0;border-bottom:1px solid var(--line)}#members .prepared span:last-child{color:var(--success)}#members li span:last-child{font-size:12px}
#messages{margin:0 0 12px;min-height:160px}#messages p{font-size:14px}#messages li{margin-bottom:14px}#chatForm{margin-top:auto}#chat{font-size:14px;padding:7px 8px;min-height:34px;background:var(--surface)}#send{background:transparent;padding:5px 8px;min-width:32px}#send:hover{background:var(--hover)}#send .wt-icon{width:18px;height:18px}.tip{font-size:12px;padding:0 12px 12px;margin-top:0}
:root[data-room-visible=false] main{grid-template-columns:minmax(0,1fr)}:root[data-room-visible=false] main>aside{display:none}
.appearance-control{margin-left:3px;gap:5px}.appearance-control select{min-height:28px;font-size:12px;border-radius:5px;background:var(--surface);padding:3px 5px}
.network-dialog{width:380px;max-width:calc(100% - 32px);border:1px solid var(--line);border-radius:5px;padding:16px;background:var(--surface);color:var(--text)}.network-dialog::backdrop{background:rgba(35,25,18,.18)}.network-dialog h2{font-size:15px;margin-bottom:12px}.network-dialog .dialog-actions{display:flex;justify-content:flex-end;margin-top:16px}footer{font-size:12px}
@media(max-width:800px){main{grid-template-columns:minmax(0,1fr);padding:12px;gap:14px}aside{max-height:400px;min-height:280px}.under{flex-direction:column;gap:7px}header{gap:6px;padding-left:12px;padding-right:12px}header .appearance-control{font-size:0}.appearance-control select{font-size:12px}.controls .control-left{display:none}.controls{grid-template-columns:auto minmax(0,1fr);gap:4px}.controls .transport-center{grid-column:1}.controls .volume-right{grid-column:2}.controls label{font-size:12px;margin-right:0}#volume{display:none}#nickname,#chat{font-size:16px}.controls button{min-width:36px;min-height:40px;padding:6px}#picture[data-joining=true]{aspect-ratio:auto;min-height:330px}#joinForm{width:min(320px,calc(100% - 32px))}}
@media(max-width:460px){header .appearance-control label{display:none}header #roomToggle span{display:none}header #connection{font-size:11px}.controls #back span,.controls #forward span,#play span{display:none}.controls{gap:2px}.volume-right label{font-size:0}.volume-right label input{margin-right:0}.appearance-control select{max-width:76px}header>.appearance-control{font-size:0;margin-left:0}header #networkDetails{padding:3px}}
@media(pointer:coarse){.controls button,.appearance-control select{min-height:44px}.controls button{min-width:44px}#seek{height:30px}.appearance-control select{font-size:16px}#chat{min-height:42px}#send{min-width:44px;min-height:44px}}
@media(forced-colors:active){:root{--bg:Canvas;--surface:Canvas;--raised:Canvas;--line:CanvasText;--text:CanvasText;--muted:CanvasText;--accent:Highlight;--selected:Highlight;--hover:Canvas;--on-accent:HighlightText;--success:CanvasText;--track:CanvasText}}

#forward .wt-icon{transform:scaleX(-1)}
