:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#111;background:#f6f7f8}*{box-sizing:border-box}body{margin:0}header,footer,main{max-width:1100px;margin:auto}header{padding:28px 22px 12px;display:flex;justify-content:space-between;align-items:end}.brand{font-weight:900;letter-spacing:.08em;font-size:22px}.tag{color:#666}.hero{padding:65px 22px 35px}.hero h1{font-size:clamp(42px,8vw,78px);line-height:.94;letter-spacing:-.055em;margin:0 0 24px}.lead{max-width:720px;font-size:20px;color:#555;line-height:1.5}.actions,.search,.hostControls{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}button,input{font:inherit;border-radius:12px;border:1px solid #d6d8dc;padding:13px 16px}button{background:#111;color:white;font-weight:700;cursor:pointer}.secondary{background:white;color:#111}.danger{background:#fff;color:#a00;border-color:#e0bcbc}input{background:white;min-width:220px}.status{margin-top:18px;color:#666}.panel{margin:10px 22px 45px;background:white;border:1px solid #e2e3e5;border-radius:22px;padding:24px}.hidden{display:none!important}.roomhead{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;padding-bottom:20px;border-bottom:1px solid #eee}.roomhead small,.qitem small,.result small{display:block;color:#777;margin-top:4px}.code{font-size:32px;font-weight:900;letter-spacing:.1em}.metric{font-size:24px;font-weight:800}.grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:25px 0}.queue{display:grid;gap:8px}.qitem,.result{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid #eee;border-radius:12px}.mini{padding:8px 10px;font-size:13px}.empty{color:#777;padding:20px 0}#playerWrap{margin-top:16px;overflow:hidden;border-radius:14px;background:#111}footer{padding:20px 22px 45px;color:#666;font-size:13px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}footer nav{display:flex;gap:14px;flex-wrap:wrap}footer a,.linkbtn{color:#555;text-decoration:none}.linkbtn{border:0;background:none;padding:0;font-weight:400}.modal{position:fixed;inset:0;background:#0008;display:grid;place-items:center;padding:20px;z-index:10}.dialog{background:white;max-width:600px;padding:28px;border-radius:20px}.dialog p{line-height:1.55;color:#555}@media(max-width:720px){header{align-items:start;flex-direction:column;gap:4px}.grid{grid-template-columns:1fr}.roomhead{grid-template-columns:1fr 1fr}.roomhead>div:first-child{grid-column:1/-1}.panel{margin:8px 12px 30px;padding:18px}.hero{padding:45px 16px 25px}}
.badge{display:inline-block;margin-left:8px;padding:3px 7px;border:1px solid #ddd;border-radius:999px;font-size:11px;color:#555;background:#fff}
.diag{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:18px 0}
.diag>div{border:1px solid #eee;border-radius:12px;padding:10px;background:#fafafa}
.diag small{display:block;color:#777;margin-bottom:3px}
.diag b{font-size:13px}
.sliderLabel{display:block;font-weight:700;margin-top:16px}
.slider{width:100%;min-width:0;padding:0;border:0;accent-color:auto}
.hint{font-size:12px;color:#777;font-weight:400}
.fineButtons{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
@media(max-width:720px){.diag{grid-template-columns:1fr 1fr}.tag{font-size:12px}.badge{margin-left:0;margin-top:4px}}

/* v2.4.1 Chrome diagnostics visibility */
#syncDiagnostics{display:grid!important;visibility:visible!important;opacity:1!important;height:auto!important;overflow:visible!important}
#syncDiagnostics>div{display:block!important;visibility:visible!important;opacity:1!important;min-height:48px}
#syncDiagnostics b,#syncDiagnostics small{visibility:visible!important;opacity:1!important}

/* v3 */
#audioReady{white-space:nowrap}

.audioSelfTest{margin-top:18px;padding:14px;border:1px solid #ddd;border-radius:14px;background:#fafafa}
.audioSelfTest h3{margin-top:0}

#ytArmWrap{margin-top:10px}
#ytArmWrap small{display:block;margin-top:6px;opacity:.75}

.guidedIntro{margin:8px 0 18px}.guidedIntro h2{margin-bottom:6px}
.steps{display:grid;gap:14px}.stepCard{border:1px solid rgba(127,127,127,.25);border-radius:16px;padding:16px;background:rgba(127,127,127,.04)}
.stepHead{display:grid;grid-template-columns:42px 1fr 32px;gap:10px;align-items:start;margin-bottom:12px}.stepHead h3{margin:0 0 4px;font-size:1.05rem}.stepHead p{margin:0;opacity:.78}
.stepNo{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;font-weight:800;background:rgba(127,127,127,.16)}
.stepCheck{font-size:1.55rem;line-height:1;text-align:right}.stepDone{border-color:rgba(24,150,75,.45);background:rgba(24,150,75,.06)}
.stepDone .stepNo{background:rgba(24,150,75,.16)}.stepDone .stepCheck,.doneMini{color:#159447;font-weight:700}
.miniChecks{display:flex;gap:14px;flex-wrap:wrap;margin:10px 0}#ytArmWrap{padding:12px;border:1px solid rgba(24,150,75,.35);border-radius:12px;background:rgba(24,150,75,.06)}
#ytArmWrap button{width:100%}.advanced{margin-top:16px;border-top:1px solid rgba(127,127,127,.2);padding-top:12px}.advanced summary{cursor:pointer;font-weight:700}
@media(max-width:650px){.stepHead{grid-template-columns:38px 1fr 28px}.stepCard{padding:14px}.stepCard .actions button,.stepCard>button,.hostControls button{width:100%}}

.hostOnlyBadge{display:inline-block;margin-left:8px;padding:4px 8px;border-radius:999px;font-size:.72rem;font-weight:900;letter-spacing:.05em;background:#111;color:#fff;vertical-align:middle}
.subSteps{display:grid;gap:8px;margin:10px 0 14px}.subStep{display:grid;grid-template-columns:1fr 28px;gap:3px 8px;padding:10px 12px;border-radius:12px;background:rgba(127,127,127,.07)}
.subStep small{grid-column:1/-1;opacity:.78}.subStepDone{background:rgba(24,150,75,.08);border:1px solid rgba(24,150,75,.28)}.subStepDone>span{color:#159447;font-weight:800}
.readyCallout{display:grid;gap:3px;margin-bottom:10px}.readyCallout span{font-size:.9rem;opacity:.85}
