:root{--shot-shadow:#14321e80;--phone-shadow:#0009;--trend-1:#ff9b7a;--trend-2:#8ec5ff;--trend-3:#ffd166;--trend-4:#d7a6ff}:root[data-theme=light]{--trend-1:#9e1c2c;--trend-2:#35679b;--trend-3:#a8812f;--trend-4:#6f5a9a}.landing{max-width:1450px;margin:0 auto;padding:24px 48px 64px}.landing-section{padding:96px 0 8px}.landing h2{letter-spacing:-.045em;text-wrap:balance;margin:0 0 16px;font-size:clamp(32px,3.6vw,58px);line-height:1.02}.landing h3{margin:0 0 8px;font-size:17px}.landing p{color:var(--muted);margin:0;line-height:1.6}.landing-head{max-width:720px;margin-bottom:36px}.landing-kicker{color:var(--lime);align-items:center;gap:8px;margin-bottom:14px;font-size:14px;font-weight:600;display:inline-flex}.landing-kicker:before{content:"";background:currentColor;width:22px;height:1.5px}.landing-lead{max-width:640px;font-size:17px}.tour{grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);gap:clamp(32px,4vw,72px);padding-top:72px;display:grid}.tour-text{min-width:0}.tour-break{margin-top:18vh}.tour-steps{margin:0;padding:0;list-style:none}.tour-steps li{border-left:2px solid var(--line);opacity:.38;min-height:62vh;transition:opacity .5s var(--ease-out), border-color .5s var(--ease-out);flex-direction:column;justify-content:center;padding:0 0 0 26px;display:flex}.tour-steps.legend li{min-height:48vh}.tour-steps li.current{opacity:1;border-color:var(--lime)}.tour-steps li>span{color:var(--lime);font-variant-numeric:tabular-nums;margin-bottom:12px;font-size:13px;font-weight:600}.tour-steps.legend li>span{font-size:12px}.tour-steps h3{letter-spacing:-.03em;margin-bottom:12px;font-size:clamp(24px,2.2vw,34px)}.tour-steps p{max-width:480px;font-size:16px}.tour-sticky{align-self:start;height:calc(100svh - 112px);min-height:460px;position:sticky;top:88px}.play-stage.tour-panel{border:1px solid color-mix(in srgb, var(--line) 70%, transparent);height:auto;box-shadow:0 40px 90px -50px var(--shot-shadow);isolation:isolate;border-radius:32px;flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden}.tour-panel .stage{position:absolute;inset:0}.tour-bottom{z-index:2;pointer-events:none;position:absolute;bottom:0;left:0;right:0}.tour-panel .metrics-bar{background:color-mix(in srgb, var(--play-panel) 78%, transparent);-webkit-backdrop-filter:blur(12px)}.tour-panel .metrics-bar div{transition:opacity .4s}.tour-panel[data-focus=trust] .metrics-bar div:not([data-key=trust]),.tour-panel[data-focus=risk] .metrics-bar div:not([data-key=risk]),.tour-panel[data-focus=resources] .metrics-bar div:not([data-key=resources]),.tour-panel[data-focus=progress] .metrics-bar div:not([data-key=progress]){opacity:.35}.tour-hud{border:1px solid var(--play-hair);background:color-mix(in srgb, var(--play-panel) 84%, transparent);-webkit-backdrop-filter:blur(14px);max-width:min(460px,100% - 36px);color:var(--play-text);animation:hud-in .5s var(--ease-out) both;pointer-events:none;border-radius:18px;margin:0 18px 14px;padding:16px 18px}.tour-hud>span{color:var(--play-accent);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.tour-hud p{color:var(--play-text);font-size:14px;line-height:1.5}.tour-hud p.quote{font-style:italic}.tour-hud ol{margin:0;padding-left:18px;font-size:14px;line-height:1.7}.tour-hud li.note{color:var(--play-muted);margin:6px 0 0 -18px;font-size:12px;list-style:none}@keyframes hud-in{0%{opacity:0;transform:translateY(8px)}}.tour-hint{z-index:2;text-align:right;pointer-events:none;max-width:220px;position:absolute;top:22px;right:22px;color:var(--play-muted)!important;font-size:11.5px!important;line-height:1.5!important}.games{grid-template-columns:1fr 1fr;gap:24px;display:grid}.games-placeholder{grid-column:1/-1;height:520px}.game-card h3{letter-spacing:-.03em;margin-top:22px;font-size:clamp(22px,1.8vw,28px)}.game-card>p{max-width:560px}.game-card-scene{border:1px solid color-mix(in srgb, var(--line) 70%, transparent);height:clamp(320px,34vw,460px);box-shadow:0 40px 90px -55px var(--shot-shadow);isolation:isolate;border-radius:28px;position:relative;overflow:hidden}.game-card-scene>:not(.game-card-status){border-radius:0;height:auto;margin:0;position:absolute;inset:0}.game-card-status{z-index:2;background:color-mix(in srgb, var(--play-panel) 84%, transparent);-webkit-backdrop-filter:blur(12px);font-variant-numeric:tabular-nums;border-radius:12px;max-width:calc(100% - 28px);padding:8px 12px;font-size:13px;position:absolute;bottom:14px;left:14px;color:var(--play-text)!important;line-height:1.4!important}.teacher{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:center;gap:clamp(32px,4vw,72px);display:grid}.teacher-shot{margin:0}.teacher-shot img{border:1px solid color-mix(in srgb, var(--line) 70%, transparent);width:100%;height:auto;box-shadow:0 40px 90px -55px var(--shot-shadow);border-radius:20px;display:block}.teacher-shot .shot-light,:root[data-theme=light] .teacher-shot .shot-dark{display:none}:root[data-theme=light] .teacher-shot .shot-light{display:block}.teacher-shot figcaption{color:var(--muted);margin-top:12px;font-size:13px;line-height:1.5}.teacher-list{margin:0}.teacher-list div{border-top:1px solid var(--line);padding:18px 0}.teacher-list dt{margin-bottom:6px;font-size:17px;font-weight:600}.teacher-list dd{color:var(--muted);margin:0;line-height:1.6}.business .landing-head p{max-width:64ch;color:var(--muted);margin:12px 0 0;line-height:1.6}.business-soon{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);border-radius:16px;margin-top:24px;padding:20px 24px}.business-soon b{font-size:17px}.business-shot{margin-top:20px}.business-soon p{max-width:72ch;color:var(--muted);margin:8px 0 0;line-height:1.6}.landing-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}@media (width<=1000px){.landing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.landing-grid{grid-template-columns:1fr}}.landing-grid article{border:1px solid var(--line);background:var(--surface);transition:transform .4s var(--ease-out), box-shadow .4s var(--ease-out);border-radius:22px;padding:24px}.landing-grid article:hover{box-shadow:0 30px 60px -40px var(--shot-shadow);transform:translateY(-4px)}.landing-grid article svg{color:var(--lime);margin-bottom:16px}.landing-foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:20px;font-size:13px;display:flex;margin:72px 0 0!important}.landing-foot a,.login-more{color:var(--text);text-underline-offset:3px;text-decoration:underline}@media (width<=1100px){.games{grid-template-columns:1fr}.trend figcaption{min-height:0}.teacher{grid-template-columns:1fr}}@media (width<=900px){.landing{padding:8px 20px 40px}.landing-section{padding-top:64px}.tour{flex-direction:column-reverse;gap:0;padding-top:40px;display:flex}.tour-sticky{z-index:3;padding-top:10px;background:var(--bg);height:40svh;min-height:260px;box-shadow:0 14px 18px -12px var(--bg);align-self:stretch;margin:0 -20px;padding-inline:20px;top:0}.play-stage.tour-panel{border-radius:22px;order:0;height:auto}.tour-hint{display:none}.tour-hud{max-width:calc(100% - 20px);margin:0 10px 8px;padding:10px 12px}.tour-hud p,.tour-hud ol{font-size:12.5px}.tour-hud ol{display:none}.tour-panel .metrics-bar{padding:8px 12px 10px}.tour-steps li,.tour-steps.legend li{justify-content:flex-start;min-height:0;padding:24px 0 16svh 18px;scroll-margin-top:calc(40svh + 24px)}.tour-break{margin-top:10vh}.landing-head:first-child{margin-bottom:24px}}@media (prefers-reduced-motion:reduce){.tour-hud{animation:none}.tour-steps li{transition:none}}.landing-facts{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:8px 0 0;padding:0;list-style:none;display:grid}.landing-facts li{background:var(--surface);border:1px solid var(--line);border-radius:22px;gap:4px;padding:22px 24px;display:grid}.landing-facts b{letter-spacing:-.05em;color:var(--lime);font-variant-numeric:tabular-nums;font-size:clamp(40px,4.4vw,64px);line-height:1}.landing-facts span{color:var(--muted);font-size:15px}.landing-footer{border-top:1px solid var(--line);color:var(--muted);grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:24px 48px;margin-top:96px;padding:36px 0 12px;font-size:15px;display:grid}.landing-footer b{color:var(--text);font-size:18px}.landing-footer p{margin:8px 0 0}.landing-footer nav{align-content:start;gap:10px;display:grid}.landing-footer nav span{color:var(--text);font-weight:600}.landing-footer a{padding:4px 0}.landing-footer a:hover{color:var(--text)}.landing-footer small{border-top:1px solid var(--line);text-align:center;grid-column:1/-1;padding-top:20px;font-size:13px}@media (width<=600px){.landing-footer{grid-template-columns:1fr;margin-top:56px}}.login-page:not(.admin-login){grid-template-rows:1fr auto;grid-template-columns:minmax(0,1fr) minmax(360px,440px);row-gap:16px;min-height:0}.login-page:not(.admin-login)>.login-side{justify-content:flex-start;padding-top:8px}.login-page:not(.admin-login) .login-side h1{font-size:clamp(30px,2.6vw,42px)}.login-page:not(.admin-login) .login-form{margin:4px 0 8px;padding:18px 24px 20px}.login-page:not(.admin-login) .login-form h2{margin:0 0 6px}.login-page:not(.admin-login) .login-form .primary{margin:6px 0 0}.login-page:not(.admin-login) .login-lead{max-width:none}.login-page>.landing-facts{grid-column:1/-1;margin:0}.login-page>.landing-facts li{border-radius:18px;grid-template-columns:auto 1fr;align-items:center;gap:14px;padding:14px 20px}.login-page>.landing-facts b{font-size:clamp(30px,2.8vw,44px)}@media (width>=901px){.login-page:not(.admin-login)>.login-stage{align-self:stretch;height:calc(100svh - 272px);min-height:440px;position:relative;top:auto}}@media (width<=900px){.login-page:not(.admin-login){grid-template-columns:1fr}.login-page>.landing-facts li{grid-template-columns:1fr;gap:2px}.landing-facts{grid-template-columns:1fr 1fr}.landing-facts li{padding:16px 18px}}.trend{--s0:var(--play-text);--s1:var(--trend-1);--s2:var(--trend-2);--s3:var(--trend-3);--s4:var(--trend-4);margin:14px 0 0}.trend figcaption{min-height:38px;color:var(--muted);flex-wrap:wrap;place-content:start space-between;align-items:baseline;gap:4px 14px;font-size:12px;display:flex}.trend-legend{flex-wrap:wrap;gap:4px 10px;display:flex}.trend-legend span:before{content:"";vertical-align:middle;background:var(--c);width:10px;height:2px;margin:0 5px 3px 0;display:inline-block}.trend svg{width:100%;height:auto;margin-top:6px;display:block;overflow:visible}.trend .s0{--c:var(--s0)}.trend .s1{--c:var(--s1)}.trend .s2{--c:var(--s2)}.trend .s3{--c:var(--s3)}.trend .s4{--c:var(--s4)}.trend polyline{fill:none;stroke:var(--c);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.trend g.s0 polyline{stroke-width:3px}.trend-dot{fill:var(--c);transform-box:fill-box;transform-origin:50%}.trend-axis{stroke:color-mix(in srgb, var(--muted) 40%, transparent)}.trend-guide line{stroke:var(--line);stroke-dasharray:3 4}.trend-guide text{fill:var(--muted);text-anchor:end;font-size:13px}@media (prefers-reduced-motion:no-preference){.trend-dot{animation:.32s cubic-bezier(.34,1.56,.64,1) both trend-dot}}@keyframes trend-dot{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@media (width<=520px){.trend-guide text{font-size:19px}}.topbar nav a{color:var(--muted);padding:12px 0;font-size:13px}.topbar nav a:hover{color:var(--text)}:root[data-view=login] .topbar{background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0}.landing section[id],.tour[id]{scroll-margin-top:72px}@media (width<=760px){:root[data-view=login] .topbar{background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none;flex-wrap:wrap;row-gap:0;height:auto;margin:0;padding-top:10px;padding-left:20px;padding-right:20px}:root[data-view=login] .topbar nav{flex-direction:column;order:3;gap:0;width:100%;padding:4px 0 8px;display:none}:root[data-view=login] .topbar nav.open{display:flex}:root[data-view=login] .topbar nav a{border-top:1px solid var(--line);min-height:48px;color:var(--text);align-items:center;padding:0;font-size:16px;display:flex}}.menu-toggle{display:none}@media (width<=760px){:root[data-view=login] .menu-toggle{display:grid}}.student{grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);align-items:center;gap:clamp(32px,4vw,72px);display:grid}.student-shots{padding:0 0 36px;position:relative}.student-shots figure{margin:0}.student-shots img{border:1px solid color-mix(in srgb, var(--line) 70%, transparent);width:100%;height:auto;box-shadow:0 40px 90px -55px var(--shot-shadow);border-radius:16px;display:block}.student-desk{margin-right:12%!important}.student-phone{width:24%;position:absolute;bottom:0;right:0}.student-phone img{box-shadow:0 30px 60px -30px var(--phone-shadow);border-radius:18px}.student-shots figcaption{color:var(--muted);margin-top:10px;font-size:13px}.student-phone figcaption{white-space:nowrap;position:absolute;top:100%;right:0}.student-shots .shot-light,:root[data-theme=light] .student-shots .shot-dark{display:none}:root[data-theme=light] .student-shots .shot-light{display:block}@media (width<=900px){.student{grid-template-columns:1fr}.student-shots{order:-1}}.login-stage .hero-districts small{-webkit-line-clamp:2;color:var(--muted);-webkit-box-orient:vertical;font-size:11px;line-height:1.3;display:-webkit-box;overflow:hidden}@container (width<=560px){.login-stage .hero-districts small{display:none}}.orbita-card-landing{grid-column:1/-1;grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr);align-items:center;gap:40px;margin-top:24px;display:grid}.orbita-shot{aspect-ratio:16/10;height:auto;margin:0}.orbita-shot img{object-fit:cover;width:100%;height:100%}.orbita-shot .shot-light,:root[data-theme=light] .orbita-shot .shot-dark{display:none}:root[data-theme=light] .orbita-shot .shot-light{display:block}.orbita-card-text h3{margin-top:0}.orbita-points{border-top:1px solid var(--line);gap:16px;margin:22px 0 0;padding:18px 0 0;list-style:none;display:grid}.orbita-points li{gap:4px;display:grid}.orbita-points b{font-weight:600}.orbita-points span{color:var(--muted);line-height:1.6}@media (width<=900px){.orbita-card-landing{grid-template-columns:1fr;gap:0}.orbita-card-text h3{margin-top:22px}}:root[data-view=library],:root[data-view=library] body{background:var(--play-bg)}.polis{background:var(--city-bg,var(--play-panel));height:calc(100svh - 68px);min-height:600px;box-shadow:var(--play-shadow);border-radius:26px;margin:0 20px;animation:.5s cubic-bezier(.2,.7,.2,1) play-in;position:relative;overflow:hidden}.city,.city-canvas{position:absolute;inset:0}.city-canvas canvas{display:block}.city-label{background:color-mix(in srgb, var(--play-panel) 84%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--play-text);text-align:left;white-space:nowrap;opacity:0;will-change:transform;box-shadow:inset 3px 0 0 var(--district);border-radius:14px;flex-direction:column;gap:2px;padding:8px 12px 8px 14px;transition:box-shadow .2s,background .2s;display:flex;position:absolute;top:0;left:0}.city-label small{letter-spacing:.06em;text-transform:uppercase;color:var(--play-muted);font-size:11px}.city-label b{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:230px;font-size:14px;font-weight:600;display:-webkit-box;overflow:hidden}.city-label:not(.selected) b{-webkit-line-clamp:1;max-width:190px}.city-label.hover,.city-label.selected,.city-label:hover{box-shadow:inset 3px 0 0 var(--district), 0 0 0 1.5px var(--district)}.polis-panel{background:color-mix(in srgb, var(--play-panel) 88%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);width:min(420px,40%);color:var(--play-text);scrollbar-width:thin;border-radius:22px;padding:30px 30px 26px;scroll-padding-bottom:26px;position:absolute;top:20px;bottom:20px;left:20px;overflow-y:auto;box-shadow:0 30px 80px -40px #0000008c}.polis-panel h1{letter-spacing:-.035em;margin:8px 0 14px;font-size:clamp(30px,2.6vw,42px);font-weight:600;line-height:1.05}.polis-panel>div>p{color:var(--play-muted);font-size:15px;line-height:1.6}.polis-panel .eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:600}.city-intro,.district{animation:.35s both chip-in}.resume-card{text-align:left;width:100%;color:var(--play-accent-ink);background:var(--play-accent);border-radius:16px;gap:2px;margin:18px 0 8px;padding:16px 48px 16px 18px;transition:transform .2s;display:grid;position:relative}.resume-card:hover{transform:translateY(-2px)}.resume-card .eyebrow{color:inherit;opacity:.75}.resume-card b{font-size:17px}.resume-card small{opacity:.8}.resume-card svg{position:absolute;top:50%;right:16px;transform:translateY(-50%)}.district-list{gap:6px;margin:18px 0 0;padding:0;list-style:none;display:grid}.district-list button{text-align:left;background:var(--play-panel-2);border-radius:14px;align-items:center;gap:14px;width:100%;padding:14px 16px;transition:transform .2s,background .2s;display:flex}.district-list button:hover{background:color-mix(in srgb, var(--district) 14%, var(--play-panel-2));transform:translate(3px)}.district-list i{background:var(--district);width:12px;height:12px;box-shadow:0 0 12px var(--district);border-radius:4px;flex-shrink:0}.district-list span{flex:1;min-width:0;display:grid}.district-list b{font-size:15px;font-weight:600}.district-list small{color:var(--play-muted);font-size:12px}.district-list em{background:var(--play-accent-soft);min-width:24px;height:24px;color:var(--play-accent);border-radius:12px;place-items:center;font-size:12px;font-style:normal;font-weight:600;display:grid}.district-back{margin:0 0 16px}.district-tag{letter-spacing:.08em;text-transform:uppercase;color:var(--play-muted);align-items:center;gap:8px;font-size:11px;font-weight:600;display:inline-flex}.district-tag:before{content:"";background:var(--district);width:10px;height:10px;box-shadow:0 0 10px var(--district);border-radius:3px}.district-sub{font-weight:500;color:var(--play-text)!important}.district-facts{background:var(--play-panel-2);border-radius:16px;gap:10px;margin:18px 0;padding:16px 18px;display:grid}.district-facts div{grid-template-columns:96px 1fr;gap:10px;font-size:14px;display:grid}.district-facts dt{color:var(--play-muted)}.district-facts dd{margin:0}.district-actions{flex-wrap:wrap;gap:8px;display:flex}.district-actions .primary{flex:1 0 100%;justify-content:space-between}.district-runs{gap:6px;margin-top:22px;display:grid}.district-runs button{background:var(--play-panel-2);text-align:left;border-radius:12px;justify-content:space-between;align-items:center;padding:12px 14px;font-size:14px;display:flex}.district-runs span{display:grid}.district-runs small{color:var(--play-muted);font-size:12px}.district-runs b{color:var(--play-accent);align-items:center;gap:4px;font-size:13px;font-weight:600;display:inline-flex}.history-strip{color:var(--play-text);margin:28px 20px 60px}.history-strip header{justify-content:space-between;align-items:baseline;margin-bottom:14px;display:flex}.history-strip h2{letter-spacing:-.02em;margin:0;font-size:22px;font-weight:600}.runs{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.run{text-align:left;background:var(--play-panel);box-shadow:inset 3px 0 0 var(--district);border-radius:18px;gap:8px;padding:18px;transition:transform .2s;display:grid}.run:hover{transform:translateY(-2px)}.run-title{font-size:15px;font-weight:600}.run ol{gap:4px;margin:0;padding:0;list-style:none;display:flex}.run li{background:var(--play-hair);border-radius:5px;flex:1;height:5px}.run li.done{background:var(--district)}.run small{color:var(--play-muted);font-size:12px}.run b{color:var(--play-accent);align-items:center;gap:4px;font-size:13px;display:inline-flex}@media (width<=900px){.polis{background:var(--play-panel);flex-direction:column;height:auto;min-height:0;margin:0 12px;display:flex}.city{flex-shrink:0;height:320px;position:relative}.polis-panel{background:var(--play-panel);-webkit-backdrop-filter:none;backdrop-filter:none;width:auto;box-shadow:none;border-radius:0;padding:22px 18px;position:static;overflow:visible}.city-label{padding:5px 9px 5px 11px}.city-label small{display:none}.city-label b{max-width:170px;font-size:12px}.history-strip{margin:22px 12px 40px}.runs{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.polis,.city-intro,.district{animation:none}}.city-legend{gap:8px;margin:0;display:grid}.city-legend div{grid-template-columns:76px 1fr;align-items:baseline;gap:10px;display:grid}.city-legend dt{font-weight:600}.city-legend dd{color:var(--muted);margin:0}.city-legend.compact{grid-template-columns:1fr 1fr;gap:6px;margin:14px 0 6px;font-size:12.5px}.city-legend.compact div{background:var(--play-panel-2);box-shadow:inset 0 0 0 1px var(--play-hair);border-radius:12px;grid-template-rows:auto auto;grid-template-columns:16px 1fr;align-items:center;gap:1px 8px;padding:9px 10px;display:grid}.city-legend.compact svg{color:var(--play-accent);grid-row:1/3;align-self:start;margin-top:1px}.city-legend.compact dt{font-size:13px}.city-legend.compact dd{color:var(--play-muted);line-height:1.35}.city-canvas.diving{animation:.95s ease-in forwards dive-out}.polis:has(.city-canvas.diving) .polis-panel{opacity:0;transition:opacity .3s}@keyframes dive-out{60%{opacity:1}to{opacity:0}}.stage-canvas.arriving{animation:.45s ease-out both land-in}@keyframes land-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.city-canvas.diving,.stage-canvas.arriving{animation:none}}@media (prefers-reduced-motion:no-preference){.commons-canvas.arriving{animation:.45s ease-out both land-in}}.city-actions{grid-template-columns:1fr 1fr;gap:8px;margin:18px 0 4px;display:grid}.city-actions .primary,.city-actions .outline{justify-content:center;width:100%}.district-group{margin-top:24px}.district-group h2{letter-spacing:-.01em;align-items:baseline;gap:8px;margin:0;font-size:17px;font-weight:600;display:flex}.district-group h2 span{color:var(--play-muted);font-size:12px;font-weight:600}.district-group>p{color:var(--play-muted);margin:2px 0 0;font-size:12.5px}.district-group .district-list{margin-top:10px}.district-list button>svg{color:var(--play-muted);flex:none;transition:transform .2s}.district-list button:hover>svg{color:var(--play-text);transform:translate(2px)}.district-list small:first-letter{text-transform:uppercase}.city-help{border-top:1px solid var(--play-hair);margin-top:22px;padding-top:12px}.city-help summary{cursor:pointer;color:var(--play-muted);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:13px;list-style:none;transition:background .15s;display:flex}.city-help summary::-webkit-details-marker{display:none}.city-help summary:after{content:"";border-bottom:1.6px solid;border-right:1.6px solid;width:7px;height:7px;transition:transform .15s;transform:rotate(45deg)translateY(-2px)}.city-help[open] summary:after{transform:rotate(225deg)translateY(-2px)}.city-help summary:hover{background:var(--play-panel-2);color:var(--play-text)}@media (width<=420px){.city-actions{grid-template-columns:1fr}}.district .hub-options{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;width:100%;display:grid}dialog .brief-text{max-height:30vh;padding-right:6px;overflow-y:auto}.polis-panel{scroll-margin-top:72px}dialog:has(.mode-grid)>.actions{background:inherit;border-top:1px solid var(--line);margin:12px -30px -30px;padding:14px 30px 24px;position:sticky;bottom:-30px}html:has(dialog[open]){overflow:hidden}@media (width<=600px){.city{height:240px}.polis-panel{padding:18px 16px}.history-strip{margin:18px 12px 32px}.history-strip h2{font-size:19px}.runs{grid-template-columns:1fr;gap:8px}.run{border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 12px;padding:12px 14px}.run:hover{transform:none}.run-title{white-space:nowrap;text-overflow:ellipsis;grid-column:1;overflow:hidden}.run ol{grid-area:3/1/auto/-1}.run small{grid-area:2/1}.run b{grid-area:1/2/span 2}.progress-table thead{display:none}.progress-table,.progress-table tbody{display:block}.progress-table tr{border-bottom:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:6px 14px;padding:14px 16px;display:grid}.progress-table th,.progress-table td{border:0;padding:0;display:block}.progress-table tbody th{grid-column:1/-1;font-size:14px}.progress-table td:before{content:attr(data-label);color:var(--muted);margin-bottom:4px;font-size:12px;display:block}.progress-table .progress-value{margin-bottom:6px;font-size:17px}.progress-table tbody th{background:0 0}.grades-head{flex-direction:column;gap:4px}}@media (width<=640px){.journal-scroll{box-shadow:none;background:0 0;overflow:visible}.journal table,.journal tbody{display:block}.journal thead,.journal colgroup{display:none}.journal tbody tr{background:var(--play-panel);box-shadow:var(--play-shadow);border-radius:16px;grid-template-columns:repeat(4,1fr);gap:8px 10px;margin-bottom:10px;padding:14px;display:grid}.journal td{white-space:normal;border:0;padding:0}.journal .journal-team{grid-column:1/3;font-weight:600}.journal .journal-state{text-align:right;grid-column:3/5}.journal .journal-when{grid-column:1/5;font-size:12.5px}.journal .journal-score{text-align:left}.journal .journal-score:before,.journal .journal-grade:before{content:attr(data-label);color:var(--play-muted);font-size:12px;display:block}.journal .journal-grade{grid-column:1/3}.journal .journal-open{text-align:right;grid-column:3/5;align-self:end}.commons-scene{height:clamp(240px,38vh,320px)}}@media (width<=600px){input,textarea,select{font-size:16px}}@media (pointer:coarse),(width<=600px){.topbar-right>button,.play-back,.play-pause,.stage-sides button,.link-button,.composer-send{position:relative}.topbar-right>button:after,.play-back:after,.play-pause:after,.play-tools button:after,.stage-sides button:after,.link-button:after,.composer-send:after{content:"";width:max(100%,44px);height:max(100%,44px);position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}}@media (width<=600px){.link-button.quiet{white-space:nowrap;flex:none}}@media (pointer:coarse),(width<=600px){.scene-switch button,.scene-card>header>button,.team-actions button,.team-rename{position:relative}.scene-switch button:after,.scene-card>header>button:after,.team-actions button:after,.team-rename:after{content:"";width:max(100%,44px);height:max(100%,44px);position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.note-map-bar button{width:40px;height:34px}.orbita-tabs button,.orbita-chips button{min-height:44px}.orbita-stepper .icon{width:44px;height:44px}.orbita-plan .icon{position:relative}.orbita-plan .icon:after{content:"";width:max(100%,44px);height:max(100%,44px);position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.school-map header .link-button{position:relative}.school-map-floors button{min-height:44px}.school-map header .link-button:after{content:"";width:44px;height:44px;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}}
