/* Broadcast stage: fixed viewport, phase-driven central scene. */
.island{container-type:size}.map-world{position:absolute;width:min(100cqw,183.67cqh);height:min(100cqh,54.44cqw);left:50%;top:50%;transform:translate(-50%,-50%)}aside{grid-template-columns:1fr!important}
html,body{height:100%;overflow:hidden}body{display:flex;flex-direction:column}header{height:52px;flex:none;padding:0 22px;gap:9px}.brand{font-size:22px}.brand small{font-size:9px}.badge{font-size:10px;background:none;padding:0}header button{font-size:11px;padding:6px 10px}main{flex:1;min-height:0;width:100%;max-width:1800px;margin:auto;padding:8px 22px;display:grid;grid-template-rows:40px minmax(0,1fr) 50px;gap:9px}.status{padding:0;background:none;border:0;border-radius:0;font-size:12px}.status>div{display:flex;align-items:center;gap:20px}#phase{color:var(--lime)}.status b{font-size:21px}.status strong{font-size:11px}nav{display:flex;align-items:center;gap:15px;font-size:10px;color:#758b90}nav .active{color:var(--lime);font-weight:800}nav i{font-style:normal;color:#43575c}.layout{min-height:0;grid-template-columns:minmax(0,1fr) 250px;gap:15px}.play{min-height:0;display:grid;grid-template-rows:minmax(0,1fr) 190px;gap:10px}.island{min-height:0;aspect-ratio:auto;max-height:none;border:1px solid #41616a;border-radius:13px}.island svg{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}#tokens{position:absolute;inset:0}.token{width:20px;height:23px;transition:opacity .4s}.controls{min-height:0;display:flex;flex-direction:column;gap:8px}.decision{height:50px;flex:none;margin:0}.decision h1{font-size:21px;letter-spacing:-.6px;margin:0}.eyebrow{font-size:10px;letter-spacing:1px;color:var(--muted);margin:0 0 5px}.timer{font-size:32px;min-width:55px;text-align:right}.timer small{font-size:11px;color:var(--muted);margin-left:3px}.places{flex:1;min-height:0;gap:10px}.place{min-height:0;padding:10px 14px;overflow:hidden}.place .place-top{justify-content:initial;gap:8px;margin:0}.place-top .icon{font-size:22px}.place-top strong{font-size:15px}.place .key{margin-left:auto;border:0;padding:0}.place p{font-size:11px;margin:6px 0}.stage-hint{height:16px;text-align:center;font-size:10px;color:var(--muted);flex:none}footer{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:8px;font-size:12px}#myStatus b{margin-left:10px;letter-spacing:2px;color:#ed9b8c}#flowHint{color:var(--muted);font-size:11px}.primary{padding:10px 22px}aside{min-height:0;display:grid;grid-template-rows:minmax(0,1fr) 170px;gap:10px}.panel{min-height:0;padding:14px}.survivors{display:flex;flex-direction:column}.section-title{flex:none}#roster{display:grid;grid-template-rows:repeat(8,minmax(0,1fr));flex:1;min-height:0;max-height:none;overflow:hidden;margin-top:8px;gap:2px}.person{min-height:0;padding:0;overflow:hidden;font-size:11px}.avatar{width:24px;height:24px;flex:none}.person .name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.person .hearts{white-space:nowrap}.loc{flex:none}.roster-caption{font-size:9px;color:var(--muted);margin-top:8px;text-align:center;flex:none}.chat{display:flex;flex-direction:column;gap:8px;margin-top:0}#messages{flex:1;min-height:0;height:auto;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;font-size:10px;line-height:1.6;padding:0}#messages p{flex:none;margin:2px 0}form{flex:none}input{padding:8px}.hint{margin:0}#scene:empty{display:none}#scene{position:absolute;inset:0;z-index:5;background:#10242de8;display:flex;align-items:center;justify-content:center;padding:16px;backdrop-filter:blur(6px)}.scene-card{width:min(100%,640px);text-align:center;animation:arrive .35s ease-out}.scene-kicker{font-size:11px;letter-spacing:3px;color:var(--lime);margin:0 0 10px}.scene-icon{font-size:48px;line-height:1.2}.scene-card h2{font-size:clamp(21px,2.6vw,36px);margin:10px 0;letter-spacing:-1px}.description{font-size:14px;line-height:1.7;color:#bacbc8;margin:8px auto;max-width:480px}.impact{display:inline-block;background:#304b3c;color:var(--lime);padding:8px 22px;border-radius:25px;font-weight:800;margin-top:10px}.impact.bad{background:#533c39;color:#ffc2b0}.event-dots{display:flex;justify-content:center;gap:8px;margin-top:18px}.event-dots span{width:22px;height:3px;background:#56716f}.event-dots span.active{background:var(--lime)}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:15px}.summary-item{background:#233e43;padding:12px 8px;border-radius:10px;font-size:11px;line-height:1.7}.summary-item strong{display:block;font-size:16px;color:var(--lime)}.podium{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.podium p{margin:4px 0;background:#233e43;border-radius:10px;padding:10px;font-size:12px}.podium b{display:block;color:var(--lime);margin-bottom:5px}dialog{width:min(92vw,560px);max-width:560px;max-height:80dvh;overflow:auto}#log{max-height:none;overflow:visible}#log article{border-top:1px solid var(--line);margin-top:14px;padding-top:10px}.section-title h2{font-size:20px;margin:0}@keyframes arrive{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1500px) and (min-height:850px){.play{grid-template-rows:minmax(0,1fr) 220px}.place{padding:15px 20px}.place p{font-size:13px}.place-top strong{font-size:18px}.layout{grid-template-columns:minmax(0,1fr) 290px}.person{font-size:13px}}
@media(max-width:950px){header{padding:0 14px}.brand small{display:none}main{padding:6px 14px;gap:7px;grid-template-rows:36px minmax(0,1fr) 48px}.layout{grid-template-columns:minmax(0,1fr) 200px;gap:10px}.play{grid-template-rows:minmax(0,1fr) 180px}.panel{padding:11px}.place{padding:9px}.place p{font-size:10px}.place-top strong{font-size:13px}nav{gap:7px}.status>div{gap:12px}.status strong{font-size:10px}.description{font-size:12px}.scene-icon{font-size:36px}.summary-item{padding:8px 4px;font-size:10px}}
@media(max-width:700px){header{height:44px;gap:5px;padding:0 10px}.brand{font-size:19px}.badge{font-size:8px}header button{font-size:9px;padding:5px 6px}main{padding:5px 10px;grid-template-rows:35px minmax(0,1fr) 47px}.layout{grid-template-columns:minmax(0,1fr)}aside{display:none}nav{font-size:9px}.status{font-size:10px}.status>div{gap:8px}.status strong{letter-spacing:1px}.status b{font-size:18px}.play{grid-template-rows:minmax(0,1fr) 183px;gap:7px}#flowHint{font-size:9px}footer{font-size:10px}.primary{font-size:11px;padding:9px 13px}.decision h1{font-size:18px}.eyebrow{font-size:9px}.map-note{font-size:9px}.sea-label{font-size:8px}.scene-card h2{font-size:23px}.description{font-size:12px}.stage-hint{font-size:9px}}
@media(max-height:620px){header{height:40px}main{padding-top:3px;grid-template-rows:30px minmax(0,1fr) 44px;gap:5px}.play{grid-template-rows:minmax(0,1fr) 133px;gap:5px}.decision{height:35px}.decision h1{font-size:16px}.eyebrow{font-size:8px;margin-bottom:2px}.timer{font-size:25px}.controls{gap:5px}.place{padding:5px 10px}.place p{margin:3px 0;font-size:9px}.place-top .icon{font-size:18px}.risk{font-size:9px}.stage-hint{height:12px;font-size:9px}aside{grid-template-rows:minmax(0,1fr) 136px}.panel{padding:9px}.chat{gap:4px}.avatar{width:18px;height:18px;font-size:9px}.person{font-size:9px}.person .hearts{font-size:8px}.roster-caption{font-size:8px;margin-top:3px}.scene-icon{font-size:26px}.scene-card h2{font-size:20px;margin:5px 0}.scene-kicker{margin-bottom:4px;font-size:9px}.description{font-size:11px;margin:4px auto}.impact{padding:5px 15px;font-size:12px;margin-top:4px}.summary-grid{margin-top:6px}.event-dots{margin-top:8px}.podium p{font-size:10px;padding:7px}.map-pin{padding:3px 9px;font-size:9px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
