@font-face{font-family:Canela;src:url(/fonts/canela/canela_light.otf) format("opentype");font-weight:300;font-style:normal;font-display:block}@font-face{font-family:Canela;src:url(/fonts/canela/canela_roman.otf) format("opentype");font-weight:400;font-style:normal;font-display:block}@font-face{font-family:Canela;src:url(/fonts/canela/canela_bold.otf) format("opentype");font-weight:700;font-style:normal;font-display:block}*{box-sizing:border-box}:root{color-scheme:dark;--bg: #232730;--panel: linear-gradient(180deg, rgba(40, 45, 55, .98), rgba(33, 37, 46, .98));--panel-border: rgba(255, 255, 255, .035);--text: #edf2f7;--muted: #95a0b0;--muted-strong: #d4dbe4;--accent: #91bfd8;--accent-soft: rgba(145, 191, 216, .1);--line: rgba(255, 255, 255, .045);--shadow: 14px 14px 28px rgba(8, 10, 14, .42), -8px -8px 22px rgba(255, 255, 255, .032);--shadow-soft: 9px 9px 20px rgba(8, 10, 14, .34), -5px -5px 16px rgba(255, 255, 255, .022);--inset-shadow: inset 7px 7px 13px rgba(10, 12, 16, .46), inset -5px -5px 10px rgba(255, 255, 255, .028);--pressed-shadow: inset 6px 6px 12px rgba(9, 11, 15, .44), inset -4px -4px 8px rgba(255, 255, 255, .022);--brand-title-font: "Canela", "Iowan Old Style", "Palatino Linotype", Georgia, serif}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:linear-gradient(180deg,#2e333dfa,#22262ffc);color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif;font-size:13px}body{min-height:100vh;width:100%}button,input,select{font:inherit}button{-webkit-appearance:none;-moz-appearance:none;appearance:none}h1,h2,p{margin:0}#app{width:100%;height:100dvh;overflow:hidden}.app-shell{display:grid;grid-template-columns:298px minmax(0,1fr);gap:6px;width:100%;height:100dvh;padding:4px;overflow:hidden}.panel-surface{border:1px solid var(--panel-border);border-radius:24px;background:linear-gradient(180deg,#232831fa,#1c2027fa);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.sidebar{display:flex;flex-direction:column;gap:10px;min-height:0;padding:12px 16px 10px 12px;overflow:auto;scrollbar-gutter:stable}.sidebar-brand{display:grid;gap:4px;flex:0 0 auto}.brand-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:2px 8px 0}.control-stack--compact{gap:6px}.brand-kicker,.stage-kicker,.section-heading,.analytic-kicker{color:var(--muted);font-size:8.5px;letter-spacing:.18em;text-transform:uppercase}html.fonts-loading .brand-row h1{visibility:hidden;opacity:0}html.fonts-ready .brand-row h1,html.fonts-fallback .brand-row h1{visibility:visible;opacity:1}.brand-row .version-chip{display:none}.brand-row h1{transition:opacity .14s ease}.brand-row h1{display:flex;align-items:baseline;gap:5px;margin-top:0;font-family:var(--brand-title-font);font-size:27px;font-weight:300;line-height:.92;letter-spacing:.018em}.brand-dotpt{color:#bee2ffe6}.brand-version{color:#a8b7c9c7;font-size:8.5px;font-weight:600;letter-spacing:.02em;line-height:1}.version-chip,.stage-badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 9px;border-radius:999px;border:1px solid rgba(255,255,255,.05);background:linear-gradient(180deg,#313641fa,#262b35fa);box-shadow:6px 6px 14px #080a0e42,-4px -4px 10px #ffffff05;color:var(--muted-strong);font-size:8.5px}.sidebar-copy{color:var(--muted);line-height:1.45;font-size:10px;width:100%;max-width:none;padding:0 8px 2px}.sidebar-section{display:grid;gap:7px;padding:2px 4px 4px}.sidebar-grow{flex:1}.origin-card,.metric-card,.control-row,.toggle-row,.nav-card,.analytic-panel{border:none;border-radius:0;background:transparent;box-shadow:none}.origin-card{display:grid;gap:6px;padding:0}.origin-card--minimal{gap:5px}.origin-select-wrap{display:grid;gap:5px}.origin-select-label{font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.origin-select{min-height:36px;border-radius:14px;border:1px solid rgba(255,255,255,.05);-moz-appearance:none;appearance:none;-webkit-appearance:none;color-scheme:dark;background:linear-gradient(180deg,#272c36fa,#222731fa),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4.25L6 8l4-3.75' fill='none' stroke='%23d7ebff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center / 12px 12px;box-shadow:var(--pressed-shadow);color:var(--text);padding:0 36px 0 12px;outline:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.origin-select:hover{border-color:#91bfd838}.origin-select:focus{border-color:#91bfd84d;box-shadow:var(--pressed-shadow),0 0 0 1px #91bfd81a}.origin-select option,.origin-select optgroup{color:#eef4fb;background:#0b1119}.origin-select::-ms-expand{display:none}.locality-search-card{display:grid;gap:7px;padding:2px 0 4px}.locality-search-label{color:#bccde0b8;font-size:8.5px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.locality-search-box{display:grid;grid-template-columns:minmax(0,1fr) 30px;align-items:center;min-height:38px;border-radius:14px;border:1px solid rgba(255,255,255,.05);background:linear-gradient(180deg,#272c36fa,#222731fa);box-shadow:var(--pressed-shadow);overflow:hidden}.locality-search-input{min-width:0;height:38px;border:0;background:transparent;color:var(--text);font:inherit;font-size:12px;font-weight:600;outline:none;padding:0 0 0 12px}.locality-search-input::placeholder{color:#bccde06b;font-weight:500}.locality-search-input::-webkit-search-cancel-button{display:none}.locality-search-clear{width:26px;height:26px;margin-right:4px;cursor:pointer;border:0;border-radius:50%;background:#91bfd817;color:#e6f7ffdb;box-shadow:var(--soft-shadow)}.locality-search-clear:hover,.locality-search-clear:focus-visible{background:#91bfd829;outline:none}.locality-search-status{min-height:13px;color:#bccde08c;font-size:10px;line-height:1.25;letter-spacing:.02em}.locality-search-status.is-active{color:#aaecffd1}.locality-search-status.is-warning{color:#ffe1aac7}.origin-combo{position:relative;z-index:30}.origin-combo-button{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:38px;cursor:pointer;border-radius:14px;border:1px solid rgba(255,255,255,.05);background:linear-gradient(180deg,#272c36fa,#222731fa);box-shadow:var(--pressed-shadow);color:var(--text);padding:0 34px 0 12px;outline:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.origin-combo-button:after{content:"";position:absolute;right:14px;top:50%;width:7px;height:7px;border-right:1.5px solid rgba(215,235,255,.72);border-bottom:1.5px solid rgba(215,235,255,.72);transform:translateY(-65%) rotate(45deg);pointer-events:none}.origin-combo.is-open .origin-combo-button:after{transform:translateY(-25%) rotate(225deg)}.origin-combo-button:hover,.origin-combo-button:focus{border-color:#91bfd83d;box-shadow:var(--pressed-shadow),0 0 0 1px #91bfd814}.origin-combo.is-disabled .origin-combo-button,.origin-combo-button:disabled{cursor:not-allowed;opacity:.78;border-color:#ffffff09;background:linear-gradient(180deg,#222730eb,#1e232ceb);box-shadow:var(--pressed-shadow)}.origin-combo.is-disabled .origin-combo-button:after,.origin-combo-button:disabled:after{opacity:0}.origin-combo.is-disabled .origin-combo-coordinates{color:#91bfd8b8}.origin-combo-label{overflow:hidden;min-width:0;white-space:nowrap;text-align:left;text-overflow:ellipsis;font-weight:600}.origin-combo-coordinates{justify-self:end;white-space:nowrap;color:#bccde0b8;font-size:10px;font-weight:500;letter-spacing:.01em}.origin-combo-list{position:absolute;top:calc(100% + 7px);left:0;right:0;max-height:min(390px,64vh);overflow:auto;padding:6px;border-radius:10px;border:1px solid rgba(255,255,255,.065);background:linear-gradient(180deg,#222731fc,#191d25fc);box-shadow:18px 22px 36px #06080c6b,inset 0 1px #ffffff09;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.origin-combo-list[hidden]{display:none}.origin-combo-option{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:32px;cursor:pointer;border:0;border-radius:11px;background:transparent;color:var(--text);padding:0 10px;outline:none}.origin-combo-option:hover,.origin-combo-option:focus,.origin-combo-option.is-selected{background:#91bfd81a}.origin-combo-option.is-selected{box-shadow:inset 0 0 0 1px #91bfd81f}.origin-name{font-size:13px;font-weight:600}.origin-meta,.origin-note,.nav-line span{color:var(--muted)}.origin-note,.nav-line span{font-size:10px;line-height:1.4}.mode-stack{display:flex;flex-wrap:wrap;gap:6px}.mode-chip{cursor:pointer;min-height:28px;padding:0 11px;border-radius:999px;border:none;background:linear-gradient(180deg,#252a33fc,#2a2f38fc);box-shadow:-1px -1px #ffffff05,-3px -3px 10px #ffffff0f,3px 3px 8px #05080d47,10px 10px 26px #05080d1a;color:var(--muted-strong);transition:box-shadow .14s ease,color .14s ease,background .14s ease}.mode-chip:hover{color:var(--text);background:linear-gradient(180deg,#252a33fc,#2a2f38fc);box-shadow:-1px -1px #ffffff05,-3px -3px 10px #ffffff0f,3px 3px 8px #05080d47,10px 10px 26px #05080d1a}.mode-chip.is-active{background:linear-gradient(180deg,#323740fc,#20252efc);color:#f6fbff;box-shadow:inset 4px 4px 9px #05080d87,inset -4px -4px 6px #ffffff17}.mode-chip-title{display:block;font-size:13px;font-weight:600;line-height:1.1}.mode-chip-title--caps{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.mode-chip-meta{display:block;margin-top:4px;font-size:10px;line-height:1.05;color:#c6d2dfb8}.mode-chip.is-active .mode-chip-meta{color:#ecf4fad1}.route-density-chip--detail{min-height:46px;padding:8px 11px 7px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.mode-chip--labelled{display:flex;align-items:center;justify-content:center;text-align:center}.control-stack{display:grid;gap:10px}.control-row,.toggle-row{display:grid;gap:4px;padding:0}.control-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.control-row>span{grid-column:1;grid-row:1}.control-row>strong{grid-column:2;grid-row:1;justify-self:end;text-align:right}.control-row>input[type=range]{grid-column:1 / -1;grid-row:2}.control-row span,.toggle-row span,.metric-card span,.overlay-metric span,.analytic-stat span{color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.16em}.control-row strong,.analytic-stat strong{font-size:10px;font-weight:600;color:var(--muted-strong)}.control-row input[type=range]{width:100%;accent-color:var(--accent)}.control-row input[type=range]:disabled{opacity:.45}.control-row--select>select{grid-column:1 / -1;grid-row:2;width:100%}.toggle-row.toggle-row--gradient{position:relative;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px}.toggle-row.toggle-row--gradient>span{min-width:0}.toggle-row.toggle-row--gradient>.gradient-palette-details{justify-self:end}.toggle-row.toggle-row--gradient>input[type=checkbox]{align-self:center;justify-self:end}.gradient-palette-details{position:relative;display:inline-grid;align-self:center;justify-self:end}.gradient-palette-details>summary{list-style:none}.gradient-palette-details>summary::-webkit-details-marker{display:none}.gradient-palette-chip{width:58px;min-height:24px;padding:0 8px}.gradient-palette-chip:hover,.gradient-palette-chip:focus,.gradient-palette-chip:focus-visible{outline:none}.gradient-palette-details[open] .gradient-palette-chip{color:#f6fbff;background:linear-gradient(180deg,#323740fc,#20252efc);box-shadow:inset 4px 4px 9px #05080d87,inset -4px -4px 6px #ffffff17}.gradient-palette-preview{display:block;width:40px;height:14px;border-radius:999px;box-shadow:inset 0 0 0 1px #ffffff29,0 0 10px #adc6ff0f}.gradient-palette-popover{display:none;position:absolute;right:0;top:calc(100% + 8px);transform:none;width:244px;max-width:calc(100vw - 44px);padding:10px;overflow:hidden;border-radius:16px;border:1px solid rgba(206,216,228,.12);background:linear-gradient(180deg,#ffffff09,#ffffff02),#1c222d9e;box-shadow:7px 9px 18px #05070b38,inset 0 1px 2px #ffffff0e,inset 0 -10px 18px #070a0f2e,0 0 10px #dceaf805;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);z-index:120}.gradient-palette-details[open] .gradient-palette-popover{display:block}.gradient-palette-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.gradient-palette-option{width:100%;aspect-ratio:1 / 1;border-radius:11px;border:none;box-shadow:inset 0 0 0 1px #fff3,4px 6px 12px #05080d38;cursor:pointer;filter:saturate(1.55) contrast(1.16) brightness(1.1);transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.gradient-palette-option:hover,.gradient-palette-option:focus,.gradient-palette-option:focus-visible{outline:none;transform:translateY(-1px);box-shadow:inset 0 0 0 1px #ffffff29,6px 8px 16px #05080d47;filter:saturate(1.72) contrast(1.22) brightness(1.16)}.gradient-palette-option.is-active{box-shadow:inset 0 0 0 2px #ecf5ffdb,0 0 0 2px #91d8ff29,6px 8px 16px #05080d47}.toggle-row{grid-template-columns:1fr auto;align-items:center;gap:6px}.toggle-row--alpha{position:relative;grid-template-columns:minmax(0,1fr) auto auto;gap:8px}.toggle-row--alpha>span{min-width:0}.toggle-row input{width:16px;height:16px}.alpha-chip{display:inline-flex;align-items:center;justify-content:center;gap:5px;width:58px;min-height:24px;padding:0 8px;border-radius:999px;border:none;background:linear-gradient(180deg,#252a33fc,#2a2f38fc);box-shadow:-1px -1px #ffffff05,-3px -3px 10px #ffffff0f,3px 3px 8px #05080d47,10px 10px 26px #05080d1a;color:var(--muted-strong);cursor:pointer;transition:box-shadow .12s ease,color .12s ease,background .12s ease}.alpha-chip:hover,.alpha-chip:focus,.alpha-chip:focus-visible{outline:none;color:var(--text);background:linear-gradient(180deg,#252a33fc,#2a2f38fc);box-shadow:-1px -1px #ffffff05,-3px -3px 10px #ffffff0f,3px 3px 8px #05080d47,10px 10px 26px #05080d1a}.alpha-details[open] .alpha-chip{color:#f6fbff;background:linear-gradient(180deg,#323740fc,#20252efc);box-shadow:inset 4px 4px 9px #05080d87,inset -4px -4px 6px #ffffff17}.alpha-chip:disabled{opacity:.45;cursor:default}.alpha-chip span{font-size:10px;letter-spacing:0;text-transform:none;color:#cdd6dfb8;line-height:1}.alpha-details[open] .alpha-chip span{color:#e9f1f8bd}.alpha-chip strong{font-size:10px;font-weight:600;color:currentColor}.alpha-details{position:relative;display:inline-grid;min-width:0}.alpha-details[aria-disabled=true]{opacity:.45;pointer-events:none}.alpha-details>summary{list-style:none}.alpha-details>summary::-webkit-details-marker{display:none}.alpha-popover{display:none;position:absolute;right:calc(100% + 8px);top:50%;transform:translateY(-50%);width:34px;height:126px;overflow:hidden;border-radius:19px;border:1px solid rgba(206,216,228,.12);background:linear-gradient(180deg,#ffffff09,#ffffff02),#1c222d8a;box-shadow:7px 9px 18px #05070b38,inset 0 1px 2px #ffffff0e,inset 0 -10px 18px #070a0f2e,0 0 10px #dceaf805;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);z-index:120;pointer-events:auto}.alpha-details[open] .alpha-popover{display:block}.alpha-meter{--alpha-level: 50%;position:absolute;top:7px;right:8px;bottom:7px;left:8px;overflow:hidden;border-radius:999px;cursor:ns-resize}.alpha-track{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;border-radius:999px;background:linear-gradient(90deg,#ffffff12,#ffffff05 38%,#0000001a),linear-gradient(180deg,#3a425047,#1318216b);box-shadow:inset 2px 2px 6px #05070b42,inset -1px -1px 3px #ffffff09,0 0 0 1px #dee8f416}.alpha-track:before{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:999px;background:linear-gradient(180deg,#ffffff0c,#ffffff03),#0e121929;box-shadow:inset 0 0 7px #02040838,0 0 8px #d2e4f405;pointer-events:none}.alpha-track:after{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;border-radius:999px;background:radial-gradient(ellipse at 50% 94%,#ffffff38,#ffffff0e 24%,#fff0 54%),linear-gradient(90deg,#ffffff13,#ffffff03 42%,#fff0);opacity:.45;pointer-events:none}.alpha-led-stack{position:absolute;left:5px;right:5px;top:10px;bottom:10px;display:grid;grid-template-rows:repeat(17,1fr);gap:2px;z-index:2}.alpha-led{display:block;border-radius:999px;background:#7b869622;box-shadow:inset 0 0 2px #ffffff08;opacity:.58;transition:background 90ms ease,box-shadow 90ms ease,opacity 90ms ease,filter 90ms ease}.alpha-led.is-on{background:linear-gradient(180deg,#f8fbfdf5,#e6ecf1db);box-shadow:0 0 4px #f5faff52,0 0 8px #d7e4ee33;filter:blur(.08px);opacity:.96}.alpha-led-glow{position:absolute;left:1px;right:1px;bottom:3px;display:block;border-radius:999px;background:radial-gradient(ellipse at 50% 100%,#ffffff61,#e6eef62e 26%,#d2e0ee0e 56%,#d2e0ee00 76%);filter:blur(4px);mix-blend-mode:screen;pointer-events:none;z-index:1}.alpha-popover-handle{position:absolute;left:0;top:50%;width:100%;height:16px;transform:translateY(-50%);border-radius:999px;opacity:0;pointer-events:auto;cursor:ns-resize}.alpha-popover-range{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none}.timeline-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.player-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:6px}.player-panel{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;width:100%;padding:14px 12px;border-radius:16px;border:1px solid rgba(255,255,255,.035);background:linear-gradient(180deg,#2a2f39fa,#222730fa);box-shadow:12px 12px 26px #080a0e61,-7px -7px 18px #ffffff06}.player-panel>span,.player-panel>div,.player-panel>strong{grid-column:1}.player-panel>span,.player-panel>strong{justify-self:stretch;text-align:left}.player-controls,.player-scrub{width:100%}.player-scrub{display:grid;grid-template-columns:minmax(0,1fr);gap:0;align-items:center;min-width:0;margin-top:6px}.player-meta{display:flex;justify-content:flex-end;align-items:center;min-height:14px;margin-top:8px}.player-timeline{--progress: 0%;position:relative;width:100%;min-width:0;justify-self:stretch;height:8px;border-radius:999px;cursor:pointer;background:linear-gradient(180deg,#1e222a,#282d36);box-shadow:inset 3px 3px 7px #080a0e7a,inset -2px -2px 5px #ffffff0a;outline:none}.player-timeline:focus-visible{box-shadow:inset 3px 3px 7px #080a0e7a,inset -2px -2px 5px #ffffff0a,0 0 0 2px #bcfff847}.player-timeline-fill{position:absolute;left:3px;top:50%;height:12px;width:calc(var(--progress) - 6px);max-width:calc(100% - 6px);transform:translateY(-50%);border-radius:999px;background:linear-gradient(90deg,#f4ffff,#9dfff8);box-shadow:0 0 14px #7cfff294,0 0 4px #ffffffb8 inset;pointer-events:none}.player-timeline-thumb{position:absolute;top:50%;left:var(--progress);width:22px;height:22px;transform:translate(-50%,-50%);border-radius:999px;border:2px solid rgba(188,255,248,.92);background:linear-gradient(180deg,#3c424e,#262b34);box-shadow:0 0 0 3px #7cfff229,6px 6px 14px #080a0e57,-2px -2px 5px #ffffff1f;pointer-events:none}.nav-card{display:grid;gap:10px;padding:14px}.nav-card--visual{gap:12px}.nav-line{display:grid;gap:2px}.nav-line strong{font-size:12px;font-weight:600}.nav-line--visual{grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:12px}.nav-shortcut-icons{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:48px;color:#c6e5f4db;filter:drop-shadow(0 0 8px rgba(113,214,255,.12))}.nav-shortcut-icons--mouse{min-width:38px;justify-content:center}.nav-shortcut-icons--compact{gap:4px}.nav-shortcut-icons--wheel{gap:8px}.nav-shortcut-copy{display:grid;gap:2px;min-width:0}.nav-shortcut-copy span{line-height:1.35}.nav-shortcut-icon{display:inline-grid;place-items:center;width:15px;height:15px;color:inherit}.nav-shortcut-icon svg{display:block;width:100%;height:100%}.nav-shortcut-icon--text{width:15px;height:15px;border-radius:5px;border:1px solid rgba(194,226,245,.18);background:linear-gradient(180deg,#272c35f5,#1e232cfa);box-shadow:inset 0 1px 1px #ffffff0f,inset 0 -2px 3px #05080d52,3px 3px 8px #05080d29;font-size:8.5px;font-weight:700;letter-spacing:.03em;color:#d6edf7eb}.nav-shortcut-icon--text span{transform:translateY(-.25px)}.nav-shortcut-divider{width:7px;height:1px;border-radius:999px;background:#add0e63d}.nav-shortcut-chip{display:inline-grid;place-items:center;min-width:20px;height:18px;padding:0 5px;border-radius:999px;border:1px solid rgba(194,226,245,.14);background:linear-gradient(180deg,#272c35d1,#1e232ceb);box-shadow:inset 0 1px 1px #ffffff0d,inset 0 -2px 3px #05080d47;color:#d6edf7d1;font-size:8.5px;font-weight:700;letter-spacing:.03em}.action-button{min-height:36px;border-radius:999px;border:none;background:linear-gradient(180deg,#252a33fc,#2a2f38fc);box-shadow:-1px -1px #ffffff05,-3px -3px 10px #ffffff0f,3px 3px 8px #05080d47,10px 10px 26px #05080d1a;color:var(--text);cursor:pointer;transition:box-shadow .14s ease,color .14s ease,background .14s ease}.action-button--small{min-height:32px}.action-button:hover{background:linear-gradient(180deg,#252a33fc,#2a2f38fc);box-shadow:-1px -1px #ffffff05,-3px -3px 10px #ffffff0f,3px 3px 8px #05080d47,10px 10px 26px #05080d1a}.player-button{display:grid;place-items:center;min-height:31px;border-radius:12px;border:none;background:linear-gradient(180deg,#252a33fc,#2a2f38fc);box-shadow:-1px -1px #ffffff05,-3px -3px 10px #ffffff0f,3px 3px 8px #05080d47,10px 10px 26px #05080d1a;color:var(--muted-strong);cursor:pointer;font-size:13px;line-height:1;transition:color .12s ease,box-shadow .12s ease,background .12s ease}.player-button:hover{color:var(--text);background:linear-gradient(180deg,#252a33fc,#2a2f38fc);box-shadow:-1px -1px #ffffff05,-3px -3px 10px #ffffff0f,3px 3px 8px #05080d47,10px 10px 26px #05080d1a}.player-button:active{background:linear-gradient(180deg,#323740fc,#20252efc);box-shadow:inset 4px 4px 9px #05080d87,inset -4px -4px 6px #ffffff17}.player-button--primary{color:#f5fbff;background:linear-gradient(180deg,#252a33fc,#2a2f38fc);box-shadow:-1px -1px #ffffff05,-3px -3px 10px #ffffff0f,3px 3px 8px #05080d47,10px 10px 26px #05080d1a}.player-button:focus,.player-button:focus-visible,.player-button--primary:focus,.player-button--primary:focus-visible{outline:none;background:linear-gradient(180deg,#252a33fc,#2a2f38fc);box-shadow:-1px -1px #ffffff05,-3px -3px 10px #ffffff0f,3px 3px 8px #05080d47,10px 10px 26px #05080d1a}.player-button--primary.is-active,.player-button--toggle.is-active{color:#f5fbff;background:linear-gradient(180deg,#323740fc,#20252efc);box-shadow:inset 4px 4px 9px #05080d87,inset -4px -4px 6px #ffffff17}.player-button--primary.is-active .player-icon,.player-button--toggle.is-active .player-icon{color:#fff}.player-button--primary.is-active .player-icon svg,.player-button--toggle.is-active .player-icon svg{filter:drop-shadow(0 0 5px rgba(230,250,255,.72)) drop-shadow(0 0 12px rgba(190,244,255,.36))}.player-icon{display:inline-grid;place-items:center;width:16px;height:16px;color:#f5faffe6}.player-icon svg{display:block;width:16px;height:16px}#play-pause .player-icon svg,#player-back .player-icon svg,#player-forward .player-icon svg{width:15px;height:15px}#loop-toggle .player-icon svg{width:16px;height:16px}.player-button--primary .player-icon svg{width:16px;height:16px}.metric-grid{display:grid;gap:6px}.compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card{display:grid;gap:7px;padding:14px}.metric-card strong{font-size:11px;font-weight:600}.stage{position:relative;min-width:0;min-height:0;padding:0;overflow:hidden}.stage-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.stage-header--hidden{display:none}.stage-title-compact{display:grid;gap:8px;min-width:0}.stage-title-row{display:flex;align-items:center;gap:12px;min-width:0;flex-wrap:wrap}.stage-title-primary{font-size:18px;font-weight:650;letter-spacing:-.04em}.stage-title-secondary{color:var(--muted);font-size:13px;letter-spacing:.02em}.stage-title-dot{width:4px;height:4px;border-radius:999px;background:#cdd6dfa6;box-shadow:0 0 8px #cdd6df2e}.stage-badges{display:flex;flex-wrap:wrap;gap:10px}.stage-badges--hidden{display:none}.stage-header--minimal{align-items:end;min-height:48px}.compact-stage-header{align-items:flex-start}.compact-title-row{gap:8px}.compact-stage-primary{font-size:17px}.compact-stage-secondary{font-size:10px;letter-spacing:.06em;text-transform:uppercase}.stage-title-separator{color:#cdd6df94}.compact-overlay.stage-overlay.top-left,.compact-overlay--ghost,.stage-kicker{display:none}.stage-overlay.top-right{top:10px;right:10px}.stage-overlay.top-right.compass-overlay{display:block;width:auto;padding:0!important;border:none!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.compass-kicker{display:none}.compass-globe-wrap{display:grid;place-items:center}.compass-globe-frame{position:relative;width:132px;height:132px;display:grid;place-items:center;perspective:720px}.compass-globe-frame:before,.compass-globe-frame:after{content:"";position:absolute;border-radius:999px;pointer-events:none}.compass-globe-frame:before{top:18px;right:18px;bottom:18px;left:18px;border:1px solid rgba(219,229,239,.14);background:transparent;box-shadow:none}.compass-globe-frame:after{display:none}.compass-globe{position:relative;width:88px;height:88px;border-radius:999px;transform-style:preserve-3d;background:radial-gradient(circle at 35% 30%,#48566605,#0f131803 44%,#06090d1a 80%);box-shadow:none;transition:transform .12s linear}.compass-globe:before,.compass-globe:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;border:1px solid rgba(219,229,239,.1);pointer-events:none}.compass-globe:before{background:radial-gradient(circle at 50% 50%,rgba(186,209,233,.015),transparent 72%)}.compass-globe:after{display:none}.globe-equator,.globe-meridian,.globe-lat,.globe-axis,.globe-core{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px}.globe-equator,.globe-meridian{top:8px;right:8px;bottom:8px;left:8px;border:none;background:#a0bcd60e;box-shadow:none}.globe-equator{transform:none}.globe-meridian-a{transform:rotateY(89.5deg)}.globe-meridian-b{transform:rotateX(89.5deg)}.globe-axis{display:none}.globe-lat{display:block;border:1px solid rgba(216,226,236,.1);background:transparent;box-shadow:none}.globe-lat-north{top:18px;right:18px;bottom:18px;left:18px}.globe-lat-south{top:28px;right:28px;bottom:28px;left:28px;border-color:#d8e2ec14}.globe-core{top:38px;right:38px;bottom:38px;left:38px;background:#ecf1f6eb;box-shadow:0 0 0 2px #b5c5d50a,0 0 8px #b5c5d51a}.compass-cardinal{position:absolute;color:#d8e0e9d1;font-size:11px;font-weight:700;letter-spacing:.08em;text-shadow:0 0 14px rgba(0,0,0,.36)}.compass-cardinal-button{display:inline-grid;place-items:center;min-width:38px;min-height:28px;padding:0 11px;border-radius:999px;border:1px solid rgba(232,240,248,.3);background:linear-gradient(180deg,#242931fa,#14181efc);box-shadow:inset 0 0 0 1px #ffffff0a,0 8px 18px #00000038;cursor:pointer;font:inherit;color:#f7fbff}.compass-cardinal-button:hover,.compass-cardinal-button:focus-visible{color:#fff;border-color:#f4f8fc70;box-shadow:inset 0 0 0 1px #ffffff0e,0 0 0 3px #bfd0e014,0 10px 22px #00000042;outline:none}.compass-n{top:-2px;left:50%;transform:translate(-50%)}.compass-e{top:50%;right:2px;transform:translateY(-50%)}.compass-s{bottom:2px;left:50%;transform:translate(-50%)}.compass-w{top:50%;left:2px;transform:translateY(-50%)}.visual-shell{position:relative;min-width:0;min-height:0;height:100%;overflow:hidden;isolation:isolate;border-radius:10px;border:none;background:linear-gradient(180deg,#1c2027fc,#12161cfd);box-shadow:var(--shadow)}.ambient{position:absolute;inset:auto;border-radius:999px;filter:blur(74px);pointer-events:none}.ambient-a{width:340px;height:340px;top:-84px;right:12%;background:#74839508}.ambient-b{width:300px;height:300px;bottom:-120px;left:18%;background:#76849606}.scene-canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;cursor:grab;touch-action:none;contain:strict;will-change:contents}.scene-canvas.is-dragging{cursor:grabbing}.scene-canvas.is-panning,.scene-canvas.is-dragging.is-panning{cursor:move}.interaction-anchor{position:absolute;left:0;top:0;width:28px;height:28px;pointer-events:none;transform:translate(-50%,-50%) scale(.94);opacity:0;z-index:3;transition:opacity .12s ease,transform .15s ease}.interaction-anchor.is-visible{opacity:.76;transform:translate(-50%,-50%) scale(1)}.interaction-anchor.is-fading{opacity:0;transform:translate(-50%,-50%) scale(1.03)}.interaction-anchor-ring,.interaction-anchor-core{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);border-radius:999px;background:transparent}.interaction-anchor-ring--outer{width:16px;height:16px;border:1.5px solid rgba(225,242,255,.52);box-shadow:0 0 4px #7fc4ff0a}.interaction-anchor-ring--inner{width:0;height:0;border:none;box-shadow:none}.interaction-anchor-core{width:4px;height:4px;background:#e1f2ff75;box-shadow:0 0 3px #7fc4ff0a}.interaction-anchor:before,.interaction-anchor:after{content:"";position:absolute;background:#e1f2ff7a;border-radius:999px}.interaction-anchor:before{left:50%;top:1px;width:2px;height:5px;transform:translate(-50%);box-shadow:0 20px #e1f2ff7a}.interaction-anchor:after{left:1px;top:50%;width:5px;height:2px;transform:translateY(-50%);box-shadow:20px 0 #e1f2ff7a}.stage-overlay{position:absolute;z-index:2;border:1px solid rgba(255,255,255,.06);border-radius:16px;background:linear-gradient(180deg,#040c1a8f,#040a147a);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:inset 0 0 0 1px #ffffff05,0 18px 42px #0000003d}.stage-overlay.top-left{top:22px;left:22px;display:grid;gap:10px;width:min(430px,calc(100% - 44px));padding:20px 22px}.overlay-title{font-size:18px;font-weight:700}.overlay-copy{color:var(--muted);line-height:1.66;font-size:14px}.stage-overlay.bottom-bar{right:0;bottom:0;left:0;padding:10px 20px 12px}.bottom-bar--minimal{border:0;border-radius:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}.stage-overlay.bottom-bar.bottom-bar--minimal{border:0;background:transparent;box-shadow:none}.bottom-bar--debug{display:block}.hud-inline-line{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;white-space:nowrap;overflow:hidden;color:var(--muted-strong);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:11px;letter-spacing:.01em;text-shadow:0 1px 0 rgba(0,0,0,.28)}.hud-inline-line .hud-separator:first-of-type{color:#ffffff4d}.hud-token{display:inline-flex;align-items:baseline;gap:6px;min-width:0}.hud-key{color:var(--muted);text-transform:lowercase}.hud-value{color:var(--text);font-weight:600}.hud-separator{color:#cdd6df61}.overlay-metric--hidden{display:none}.analytic-panel{position:absolute;z-index:2;top:170px;right:22px;display:none;gap:16px;width:min(320px,calc(100% - 44px));padding:18px;background:#060a10ad;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.analytic-panel.is-visible{display:grid}.analytic-grid{display:grid;grid-template-columns:repeat(30,minmax(0,1fr));align-items:end;gap:6px;height:178px;padding:10px 2px 2px}.analytic-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.analytic-summary .analytic-stat{padding:10px 12px;border-radius:16px;background:#ffffff08}.bar-stack{position:relative;height:100%;border-radius:999px;overflow:hidden;background:#ffffff05}.bar-total,.bar-active{position:absolute;right:0;bottom:0;left:0;border-radius:999px}.bar-total{background:#7fc4ff2e}.bar-active{background:linear-gradient(180deg,#c5e8ffe6,#7fc4ff8c)}.analytic-footer{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.analytic-stat{display:grid;gap:6px}.error-shell{display:grid;place-items:center;min-height:100vh;padding:24px}.error-panel{width:min(560px,100%);padding:24px}.error-panel p{margin-top:12px;color:var(--muted);line-height:1.6}@media(max-width:1180px){html,body{overflow:auto}#app,.app-shell{height:auto;min-height:100vh;overflow:visible}.app-shell{grid-template-columns:1fr}.sidebar,.stage{overflow:visible}.stage{min-height:860px}.visual-shell{min-height:760px}}@media(max-width:820px){.stage-header,.stage-overlay.bottom-bar,.analytic-footer,.compact-grid{grid-template-columns:1fr}.stage-header{display:grid}.scene-canvas{min-height:580px}.stage-overlay.top-right{top:auto;right:22px;bottom:118px}.analytic-panel{top:22px}.analytic-grid{gap:4px}}.density-stack{gap:8px}.control-row--density .density-stack{grid-column:1 / -1;grid-row:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.control-row--density .route-density-chip{width:100%;min-width:0;justify-content:center}.control-row--density .route-density-chip--detail{justify-content:center}.control-row--compact,.toggle-row--compact,.metric-card--compact{box-shadow:none}.metric-card--hidden{display:none}.compact-grid--technical{grid-template-columns:repeat(2,minmax(0,1fr))}.control-row--compact input[type=range]{accent-color:var(--accent)}.player-row strong,.player-scrub strong,.player-meta strong{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:12px;color:#d6e0eceb;min-width:50px}.player-row input[type=range]{margin:0}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:transparent;border-radius:999px}.sidebar::-webkit-scrollbar-thumb{border-radius:999px;background:#ffffff14}.sidebar{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.08) transparent}.control-stack--minimal{gap:8px}.control-row--minimal,.toggle-row--minimal{gap:4px}.sidebar input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:22px;background:transparent}.sidebar input[type=range]:focus,.sidebar input[type=range]:focus-visible{outline:none}.sidebar input[type=range]::-webkit-slider-runnable-track{height:10px;border-radius:999px;background:radial-gradient(circle at 4% 50%,rgba(255,255,255,.08) 0 1.1px,rgba(255,255,255,.022) 1.2px 1.9px,transparent 2px),radial-gradient(circle at 27% 50%,rgba(255,255,255,.08) 0 1.1px,rgba(255,255,255,.022) 1.2px 1.9px,transparent 2px),radial-gradient(circle at 50% 50%,rgba(255,255,255,.08) 0 1.1px,rgba(255,255,255,.022) 1.2px 1.9px,transparent 2px),radial-gradient(circle at 73% 50%,rgba(255,255,255,.08) 0 1.1px,rgba(255,255,255,.022) 1.2px 1.9px,transparent 2px),radial-gradient(circle at 96% 50%,rgba(255,255,255,.08) 0 1.1px,rgba(255,255,255,.022) 1.2px 1.9px,transparent 2px),linear-gradient(180deg,#292e37fa,#252a32fa);box-shadow:-1px -1px #ffffff0d,-4px -4px 10px #ffffff07,inset 4px 4px 8px #06090e6b,inset -3px -3px 6px #ffffff06,8px 8px 18px #06090e33}.sidebar input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;margin-top:-3px;border-radius:999px;border:1px solid rgba(255,255,255,.06);background:radial-gradient(circle at 50% 50%,#fcfefff5 0,#fcfefff5 1.2px,#ebf1f624 1.3px,#ebf1f624 3px,#565f6f38 3.1px,#434b585c 58%,#31374147);box-shadow:-1px -1px #ffffff14,-2px -2px 5px #ffffff05,4px 4px 7px #05080d42,inset 0 1px 1px #ffffff17}.sidebar input[type=range]::-moz-range-track{height:10px;border:none;border-radius:999px;background:radial-gradient(circle at 4% 50%,rgba(255,255,255,.08) 0 1.1px,rgba(255,255,255,.022) 1.2px 1.9px,transparent 2px),radial-gradient(circle at 27% 50%,rgba(255,255,255,.08) 0 1.1px,rgba(255,255,255,.022) 1.2px 1.9px,transparent 2px),radial-gradient(circle at 50% 50%,rgba(255,255,255,.08) 0 1.1px,rgba(255,255,255,.022) 1.2px 1.9px,transparent 2px),radial-gradient(circle at 73% 50%,rgba(255,255,255,.08) 0 1.1px,rgba(255,255,255,.022) 1.2px 1.9px,transparent 2px),radial-gradient(circle at 96% 50%,rgba(255,255,255,.08) 0 1.1px,rgba(255,255,255,.022) 1.2px 1.9px,transparent 2px),linear-gradient(180deg,#292e37fa,#252a32fa);box-shadow:-1px -1px #ffffff0d,-4px -4px 10px #ffffff07,inset 4px 4px 8px #06090e6b,inset -3px -3px 6px #ffffff06,8px 8px 18px #06090e33}.sidebar input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:999px;border:1px solid rgba(255,255,255,.06);background:radial-gradient(circle at 50% 50%,#fcfefff5 0,#fcfefff5 1.2px,#ebf1f624 1.3px,#ebf1f624 3px,#565f6f38 3.1px,#434b585c 58%,#31374147);box-shadow:-1px -1px #ffffff14,-2px -2px 5px #ffffff05,4px 4px 7px #05080d42,inset 0 1px 1px #ffffff17}.sidebar input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border:none;border-radius:4px;background:linear-gradient(180deg,#252a33fc,#2a2f38fc);box-shadow:-1px -1px #ffffff05,-3px -3px 10px #ffffff0f,3px 3px 8px #05080d47,10px 10px 26px #05080d1a;cursor:pointer;position:relative;transition:box-shadow .12s ease,background .12s ease,opacity .12s ease}.sidebar input[type=checkbox]:hover,.sidebar input[type=checkbox]:focus,.sidebar input[type=checkbox]:focus-visible{outline:none;background:linear-gradient(180deg,#252a33fc,#2a2f38fc);box-shadow:-1px -1px #ffffff05,-3px -3px 10px #ffffff0f,3px 3px 8px #05080d47,10px 10px 26px #05080d1a}.sidebar input[type=checkbox]:after{content:"";position:absolute;left:5px;top:2px;width:4px;height:8px;border:solid rgba(225,240,250,0);border-width:0 2px 2px 0;transform:rotate(45deg);transition:border-color .12s ease,opacity .12s ease;opacity:0}.sidebar input[type=checkbox]:checked{background:linear-gradient(180deg,#323740fc,#20252efc);box-shadow:inset 4px 4px 9px #05080d87,inset -4px -4px 6px #ffffff17}.sidebar input[type=checkbox]:checked:after{border-color:#e1f0faeb;opacity:1}.sidebar input[type=checkbox]:disabled{opacity:.38;cursor:default}.player-button span{pointer-events:none}.control-row--route-model .route-model-chip{width:100%;min-width:0;justify-content:center}.three-scene-canvas{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:block;width:100%;height:100%;pointer-events:none;opacity:0;transition:opacity .18s ease}.three-scene-canvas.is-visible{opacity:1}.scene-canvas{z-index:4}.scene-canvas.scene-canvas--fallback-hidden{opacity:0}.interaction-anchor,.stage-overlay{z-index:8}.app-shell--booting .sidebar{min-height:100vh}.sidebar--booting{opacity:1}.boot-status-card{display:grid;gap:6px;padding:14px;border-radius:16px;color:var(--muted-strong);background:linear-gradient(180deg,#272c36db,#1d222beb);box-shadow:var(--pressed-shadow)}.boot-status-card strong{color:var(--text);font-size:12px}.boot-status-card span{color:var(--muted);font-size:11px;line-height:1.45}.scene-canvas--placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;background:linear-gradient(rgba(145,191,216,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(145,191,216,.035) 1px,transparent 1px);background-size:46px 46px;opacity:.42;transform:perspective(1200px) rotateX(62deg) rotate(-23deg) scale(1.22);transform-origin:center}.stage-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:35;display:flex;align-items:center;justify-content:center;padding:0 24px;pointer-events:none;background:transparent}.stage-loading-overlay[hidden]{display:none}.stage-loading-card{width:min(340px,64vw);display:grid;gap:7px;padding:11px 13px 12px;border-radius:15px;border:1px solid rgba(168,218,244,.085);background:linear-gradient(180deg,#242b3694,#161c25a8);box-shadow:12px 16px 32px #03060a52,inset 1px 1px 1px #ffffff0b,inset -8px -9px 18px #05080d38;-webkit-backdrop-filter:blur(14px) saturate(1.05);backdrop-filter:blur(14px) saturate(1.05)}.stage-loading-row{display:flex;align-items:center;justify-content:space-between;gap:14px;color:#c6e2f1d1;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:8px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;text-shadow:0 1px 6px rgba(0,0,0,.62)}.stage-loading-row strong{color:#e7faffeb;font-size:8px;font-weight:700;font-variant-numeric:tabular-nums}.stage-loading-label{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.stage-loading-track{height:5px;overflow:hidden;border-radius:999px;background:#070b11d1;box-shadow:inset 3px 3px 7px #00000073,inset -2px -2px 5px #ffffff09,0 4px 14px #00000038}.stage-loading-bar{position:relative;height:100%;width:0%;overflow:hidden;border-radius:inherit;background:linear-gradient(90deg,#60def2db,#e0fffffa);box-shadow:0 0 12px #80eeff33,0 0 24px #80eeff12;transition:none;will-change:width}.stage-loading-bar:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;width:38%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);transform:translate(-120%);animation:stage-loading-sheen 1.15s ease-in-out infinite}@keyframes stage-loading-sheen{0%{transform:translate(-120%)}to{transform:translate(270%)}}.control-row--route-detail{row-gap:7px}.route-detail-scale{grid-column:1 / -1;grid-row:2;display:grid;grid-template-columns:auto minmax(34px,1fr) auto;align-items:center;gap:8px;margin-top:-1px;color:#91bfd8a3;font-size:8px;letter-spacing:.16em;text-transform:uppercase}.route-detail-scale i{display:block;height:1px;border-radius:999px;background:linear-gradient(90deg,#91bfd847,#daf7ffa3);box-shadow:0 0 8px #80eeff14}.control-row--route-detail .route-detail-stack{grid-row:3;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.control-row--route-detail .route-detail-chip{min-height:45px;padding-inline:7px}.control-row--route-detail .mode-chip-title--caps{font-size:10px}.control-row--route-detail .mode-chip-meta{font-size:8px;letter-spacing:.03em}.control-row--route-detail .route-detail-stack{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-radius:20px;overflow:hidden;box-shadow:inset 1px 1px #ffffff08,inset -1px -1px #ffffff03,10px 10px 24px #05080d2e,-6px -6px 14px #ffffff05}.control-row--route-detail .route-density-chip--detail{width:100%;min-width:0;min-height:50px;padding:9px 8px 8px;border-radius:0;box-shadow:none;position:relative;background:linear-gradient(180deg,#252a33fc,#21262ffc)}.control-row--route-detail .route-density-chip--detail+.route-density-chip--detail{box-shadow:inset 1px 0 #ffffff09,inset 2px 0 8px #05080d59}.control-row--route-detail .route-density-chip--detail:hover{background:linear-gradient(180deg,#2a303afc,#232933fc)}.control-row--route-detail .route-density-chip--detail.is-active{background:linear-gradient(180deg,#333944fc,#1d232dfc);box-shadow:inset 5px 5px 11px #05080d85,inset -5px -5px 7px #ffffff13}.control-row--route-detail .route-density-chip--detail .mode-chip-title{font-size:12px;letter-spacing:.1em}.control-row--route-detail .route-density-chip--detail .mode-chip-meta{margin-top:3px;font-size:10px;line-height:1.08}.control-row--route-detail .route-detail-stack{border-radius:16px;box-shadow:inset 1px 1px #ffffff07,inset -1px -1px #00000038,7px 7px 18px #05080d29,-4px -4px 10px #ffffff04}.control-row--route-detail .route-density-chip--detail{min-height:42px;padding:7px 6px 6px;border-radius:0;background:linear-gradient(180deg,#232932fb,#1e242dfb)}.control-row--route-detail .route-density-chip--detail.is-active{background:linear-gradient(180deg,#2f3540fc,#1c222bfc);box-shadow:inset 4px 4px 9px #05080d80,inset -3px -3px 6px #ffffff0f}.control-row--route-detail .route-density-chip--detail .mode-chip-title{font-size:10px;line-height:1;letter-spacing:.14em;font-weight:650}.control-row--route-detail .route-density-chip--detail .mode-chip-meta{margin-top:4px;font-size:8.5px;line-height:1;letter-spacing:.075em;text-transform:uppercase;color:#b8d2e2b8}.control-row--route-detail .route-density-chip--detail.is-active .mode-chip-meta{color:#dcf4ffd6}.control-row--route-detail .route-density-chip--detail .mode-chip-title{font-size:8.5px;letter-spacing:.13em}.control-row--route-detail .route-density-chip--detail .mode-chip-meta{font-size:8px;letter-spacing:.065em}.hint-label{position:relative;display:inline-flex;align-items:center;max-width:max-content;cursor:help;border-bottom:1px dotted rgba(180,214,232,.18)}.hint-label:after{content:attr(data-hint);position:absolute;top:calc(100% + 8px);left:0;z-index:60;width:220px;max-width:min(220px,60vw);padding:8px 10px;border-radius:10px;background:#10171fc7;color:#e4f1f9eb;font-size:10px;line-height:1.35;letter-spacing:.02em;text-transform:none;white-space:normal;-webkit-backdrop-filter:blur(12px) saturate(1.15);backdrop-filter:blur(12px) saturate(1.15);box-shadow:0 12px 28px #03060b57,inset 0 0 0 1px #a0d4eb1a;opacity:0;transform:translateY(4px);pointer-events:none;transition:opacity .16s ease,transform .16s ease}.hint-label:hover:after,.hint-label:focus-visible:after{opacity:1;transform:translateY(0)}.hint-label,[data-tooltip]{position:relative;cursor:help}.hint-label{display:inline-flex;align-items:center;max-width:max-content;border-bottom:1px dotted rgba(180,214,232,.18)}.hint-label:after,[data-tooltip]:after{position:absolute;top:calc(100% + 8px);left:0;z-index:90;width:max-content;max-width:min(240px,60vw);padding:8px 10px;border-radius:10px;background:#10171fc2;color:#e4f1f9eb;font-size:10px;line-height:1.35;letter-spacing:.02em;text-transform:none;white-space:normal;-webkit-backdrop-filter:blur(12px) saturate(1.15);backdrop-filter:blur(12px) saturate(1.15);box-shadow:0 12px 28px #03060b57,inset 0 0 0 1px #a0d4eb1a;opacity:0;transform:translateY(4px);pointer-events:none;transition:opacity .16s ease,transform .16s ease}.hint-label:after{content:attr(data-hint)}[data-tooltip]:after{content:attr(data-tooltip)}.hint-label:hover:after,.hint-label:focus-visible:after,[data-tooltip]:hover:after,[data-tooltip]:focus-visible:after{opacity:1;transform:translateY(0)}.control-row>.hint-label,.toggle-row>.hint-label{justify-self:start}.toggle-row>.hint-label{min-width:0}.mode-chip[data-tooltip]:after,.player-button[data-tooltip]:after,.action-button[data-tooltip]:after,.compass-cardinal-button[data-tooltip]:after,.origin-combo-button[data-tooltip]:after,.player-timeline[data-tooltip]:after{left:50%;transform:translate(-50%,4px);text-align:center}.mode-chip[data-tooltip]:hover:after,.player-button[data-tooltip]:hover:after,.action-button[data-tooltip]:hover:after,.compass-cardinal-button[data-tooltip]:hover:after,.origin-combo-button[data-tooltip]:hover:after,.player-timeline[data-tooltip]:hover:after,.mode-chip[data-tooltip]:focus-visible:after,.player-button[data-tooltip]:focus-visible:after,.action-button[data-tooltip]:focus-visible:after,.compass-cardinal-button[data-tooltip]:focus-visible:after,.origin-combo-button[data-tooltip]:focus-visible:after,.player-timeline[data-tooltip]:focus-visible:after{transform:translate(-50%)}.origin-select-label.hint-label,.control-row>.hint-label{display:inline-flex;align-items:center;width:max-content}.origin-select-label.hint-label:after,.control-row>.hint-label:after{max-width:min(260px,52vw)}.timeline-actions .action-button--wide{grid-column:1 / -1;min-height:34px;font-size:10px;letter-spacing:.08em}.language-switcher{display:inline-flex;align-items:center;gap:5px;margin-top:1px;flex:0 0 auto}.language-flag{width:18px;height:12px;display:inline-grid;place-items:center;padding:0;border:0;border-radius:3px;background:#141b2480;box-shadow:1px 1px 4px #04070c42,-1px -1px 3px #ffffff09;opacity:.48;cursor:pointer;overflow:hidden;transition:opacity .14s ease,transform .14s ease,box-shadow .14s ease}.language-flag img{width:100%;height:100%;display:block;object-fit:cover}.language-flag:hover,.language-flag:focus-visible{opacity:.86;transform:translateY(-1px)}.language-flag.is-active{opacity:1;box-shadow:0 0 0 1px #bee2ff59,0 4px 12px #6edcff1f}.control-stack--scene-groups{gap:10px;padding-left:0}.scene-control-group{display:grid;gap:8px;padding:7px 4px 7px 0;border-radius:0;background:none;box-shadow:none}.scene-group-heading{display:flex;align-items:center;gap:8px;margin:0 0 2px;color:#aac9df8f;font-size:8.5px;font-weight:700;line-height:1;letter-spacing:.18em;text-transform:uppercase}.scene-group-heading:after{content:"";height:1px;flex:1 1 auto;background:linear-gradient(90deg,#9ec9e124,#9ec9e100)}.scene-control-group .control-row,.scene-control-group .toggle-row{margin:0}.scene-control-group .control-row{grid-template-columns:minmax(108px,1fr) minmax(82px,1.2fr) minmax(52px,auto)}.scene-control-group .toggle-row--alpha{grid-template-columns:minmax(108px,1fr) auto auto}.scene-control-group .toggle-row:not(.toggle-row--alpha){grid-template-columns:minmax(108px,1fr) auto}.scene-control-group .hint-label{letter-spacing:.14em}.scene-control-group .control-row strong,.scene-control-group .toggle-row strong{font-size:12px}.scene-control-group .control-row{grid-template-columns:minmax(108px,1fr) minmax(82px,1.2fr) auto}.scene-control-group .control-row>strong{grid-column:3;justify-self:end;text-align:right;min-width:56px}.scene-control-group .toggle-row--alpha>input[type=checkbox]{grid-column:2;grid-row:1;justify-self:end}.scene-control-group .toggle-row--alpha>.alpha-details{grid-column:3;grid-row:1;justify-self:end}.scene-control-group .toggle-row--alpha>.hint-label{grid-column:1;grid-row:1}.scene-control-group .control-row>strong{min-width:72px;width:72px;text-align:center;justify-self:end}.scene-control-group .alpha-chip{min-width:72px}.timeline-actions{grid-template-columns:1fr}.timeline-actions .action-button,.timeline-actions .action-button--wide{font-family:inherit;font-size:12px;font-weight:600;letter-spacing:normal;min-height:36px}.timeline-actions .action-button--wide{grid-column:1}.sidebar{overflow-x:hidden}.sidebar,.sidebar *{box-sizing:border-box}.sidebar>*,.sidebar-section,.control-stack,.control-stack--scene-groups,.scene-control-group,.control-row,.toggle-row,.nav-card,.timeline-actions{min-width:0;max-width:100%}.scene-control-group .toggle-row--alpha{grid-template-columns:minmax(0,1fr) 22px 72px;column-gap:8px}.scene-control-group .toggle-row--alpha>input[type=checkbox]{justify-self:center}.scene-control-group .toggle-row--alpha>.alpha-details{width:72px}.scene-control-group .alpha-chip{width:72px;min-width:72px;max-width:72px}.scene-control-group .control-row{grid-template-columns:minmax(0,1fr) minmax(72px,72px)}.scene-control-group .control-row>strong{width:72px;min-width:72px;max-width:72px}.scene-control-group .control-row>input[type=range]{min-width:0;max-width:100%}.toggle-row.toggle-row--gradient{grid-template-columns:minmax(0,1fr) 22px 72px}.toggle-row.toggle-row--gradient>input[type=checkbox]{grid-column:2;justify-self:center}.toggle-row.toggle-row--gradient>.gradient-palette-details{grid-column:3;justify-self:end;width:72px}.timeline-actions .action-button,.timeline-actions .action-button--wide{font-family:inherit;font-size:11px;font-weight:600;letter-spacing:.02em;text-transform:none}.mode-chip.is-active,.route-density-chip.is-active,.route-density-chip--detail.is-active,.route-model-chip.is-active{color:#fff;text-shadow:0 0 5px rgba(230,250,255,.58),0 0 12px rgba(138,226,255,.26)}.mode-chip.is-active .mode-chip-title,.route-density-chip.is-active .mode-chip-title,.route-density-chip--detail.is-active .mode-chip-title,.route-model-chip.is-active .mode-chip-title,.mode-chip.is-active .mode-chip-title--caps,.route-density-chip.is-active .mode-chip-title--caps,.route-density-chip--detail.is-active .mode-chip-title--caps,.route-model-chip.is-active .mode-chip-title--caps{color:#fff;text-shadow:0 0 5px rgba(230,250,255,.62),0 0 12px rgba(138,226,255,.3)}.mode-chip.is-active .mode-chip-meta,.route-density-chip.is-active .mode-chip-meta,.route-density-chip--detail.is-active .mode-chip-meta,.route-model-chip.is-active .mode-chip-meta{color:#f4faffe0;text-shadow:0 0 6px rgba(190,238,255,.25)}.control-stack--scene-groups,.scene-control-group,.scene-control-group .control-row,.scene-control-group .toggle-row{width:100%}.scene-control-group .control-row{grid-template-columns:minmax(0,1fr) 72px}.scene-control-group .control-row>input[type=range]{grid-column:1 / -1;width:100%;max-width:none;justify-self:stretch}.scene-control-group .control-row>strong{grid-column:2}.player-panel{padding:14px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.035);background:linear-gradient(180deg,#2a2f39,#222730);box-shadow:12px 12px 26px #080a0e0f,-7px -7px 18px #ffffff06}.player-button{min-height:28px;border-radius:9px;background:linear-gradient(180deg,#252a33fc,#2a2f38fc);box-shadow:-1px -1px #ffffff05,-3px -3px 10px #ffffff0c,3px 3px 8px #05080d47,10px 10px 26px #05080d1a}.player-button:active,.player-button.is-active,.player-button--primary.is-active,.player-button--toggle.is-active{color:#f5fbff;background:linear-gradient(180deg,#323740fc,#20252efc);box-shadow:inset 4px 4px 9px #05080d87,inset -4px -4px 6px #ffffff17}.player-button.is-active .player-icon svg,.player-button--primary.is-active .player-icon svg,.player-button--toggle.is-active .player-icon svg{filter:drop-shadow(0 0 5px rgba(230,250,255,.72)) drop-shadow(0 0 12px rgba(190,244,255,.36))}.player-timeline{min-height:10px;border-radius:999px;background:linear-gradient(180deg,#1c212afa,#13171ffa);box-shadow:inset 4px 4px 8px #06090e87,inset -3px -3px 6px #ffffff06,8px 8px 18px #06090e33}.player-timeline-fill{border-radius:999px;box-shadow:0 0 10px #bcfffa4f,0 0 20px #6feeff2b}.player-timeline-thumb{width:19px;height:19px;box-shadow:0 0 0 2px #b2fff957,0 0 12px #9afff975,4px 4px 10px #05080d5c,inset 0 1px 1px #fff3}.player-panel{position:relative;overflow:hidden;isolation:isolate;padding:14px;border-radius:12px;border:1px solid rgba(255,255,255,.035);background:radial-gradient(ellipse at 50% 58%,rgba(5,8,13,.12) 0%,rgba(5,8,13,.066) 32%,transparent 100%),linear-gradient(180deg,#272d38,#22252f);box-shadow:12px 12px 26px #080a0e17,-7px -7px 18px #fff0,inset 0 14px 28px #05080dbf,inset 0 -7px 18px #ffffff28}.player-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.027) 0%,rgba(255,255,255,.035) 12%,transparent 38%,rgba(0,0,0,0) 72%,rgba(0,0,0,.3) 100%)}.player-panel{position:relative;overflow:hidden;isolation:isolate;padding:17px;border-radius:12px;background:radial-gradient(ellipse at 50% 73%,rgba(5,8,13,.28) 0%,rgba(5,8,13,.154) 79%,transparent 100%),radial-gradient(ellipse at 50% 50%,transparent 0%,rgba(0,0,0,0) 100%),linear-gradient(180deg,#2a2f39,#222730);box-shadow:12px 12px 26px #080a0e17,inset 0 8px 34px #05080dcc,inset 0 -14px 24px #ffffff23,inset 4px 0 13px #05080d00,inset 0 0 #fff0}.player-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.027) 0%,rgba(255,255,255,.026) 10%,transparent 37%,rgba(0,0,0,0) 72%,rgba(0,0,0,.11) 100%)}.player-panel:after{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;z-index:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 1px 1px #ffffff06,inset 0 -1px 1px #0003}.player-panel{position:relative;overflow:hidden;isolation:isolate;padding:16px 14px 15px;border-radius:13px;border:1px solid rgba(156,190,215,.038);background:radial-gradient(ellipse at 50% 74%,rgba(8,12,18,.18) 0%,rgba(8,12,18,.095) 74%,transparent 100%),linear-gradient(180deg,#2b313c,#232832);box-shadow:10px 12px 24px #070a0f1f,-4px -5px 12px #ffffff05,inset 0 9px 26px #070a0f8f,inset 0 -12px 22px #bedcf015}.player-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;border-radius:inherit;background:linear-gradient(180deg,rgba(222,240,255,.024) 0%,rgba(222,240,255,.02) 11%,transparent 38%,rgba(0,0,0,0) 72%,rgba(3,6,10,.16) 100%)}.player-panel:after{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;z-index:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 1px 1px #ffffff05,inset 0 -1px 1px #0000002e}.player-panel>*{position:relative;z-index:1}.language-flag.is-active{box-shadow:1px 1px 4px #04070c42,-1px -1px 3px #ffffff09}.language-flag.is-active:hover,.language-flag.is-active:focus-visible{box-shadow:1px 1px 4px #04070c42,-1px -1px 3px #ffffff09}.mode-chip:hover,.route-density-chip:hover,.route-model-chip:hover,.player-button:hover,.action-button:hover,.alpha-chip:hover,.gradient-palette-chip:hover,.origin-combo-button:hover,.compass-cardinal-button:hover{color:#fff;text-shadow:0 0 5px rgba(230,250,255,.42),0 0 12px rgba(138,226,255,.2);background:linear-gradient(180deg,#2d333dfc,#272d37fc);box-shadow:-1px -1px #ffffff07,-3px -3px 10px #ffffff12,3px 3px 8px #05080d4d,10px 10px 26px #05080d1c}.mode-chip:hover .mode-chip-title,.route-density-chip:hover .mode-chip-title,.route-model-chip:hover .mode-chip-title,.mode-chip:hover .mode-chip-title--caps,.route-density-chip:hover .mode-chip-title--caps,.route-model-chip:hover .mode-chip-title--caps{color:#fff;text-shadow:0 0 5px rgba(230,250,255,.42),0 0 12px rgba(138,226,255,.2)}.mode-chip:hover .mode-chip-meta,.route-density-chip:hover .mode-chip-meta,.route-model-chip:hover .mode-chip-meta{color:#f4faffdb}.toggle-row input[type=checkbox]{cursor:pointer;transition:box-shadow .14s ease,filter .14s ease,background .14s ease,transform .14s ease}.toggle-row input[type=checkbox]:hover{filter:brightness(1.18) drop-shadow(0 0 5px rgba(190,238,255,.18));box-shadow:-1px -1px #ffffff07,-3px -3px 8px #ffffff0e,3px 3px 8px #05080d4d}.toggle-row input[type=checkbox]:checked:hover{filter:brightness(1.25) drop-shadow(0 0 6px rgba(220,248,255,.36)) drop-shadow(0 0 12px rgba(138,226,255,.18))}.compass-cardinal-button{width:32px;height:32px;min-width:32px;min-height:32px;padding:0;border-radius:50%}.compass-n{top:-4px}.compass-center-button{position:absolute;z-index:4;left:50%;top:50%;width:24px;height:24px;padding:0;border:1px solid rgba(214,236,252,.24);border-radius:50%;transform:translate(-50%,-50%);cursor:pointer;background:radial-gradient(circle at 34% 30%,#ffffff40,#ffffff0f 24%,#0000 25%),linear-gradient(180deg,#3b4352f5,#202733fa);box-shadow:-1px -1px #ffffff08,-4px -4px 12px #ffffff07,5px 5px 12px #05080d4d,0 0 0 1px #a4cee40a,inset 0 8px 10px #ffffff0d,inset 0 -9px 12px #05080d6b,0 0 14px #a6e5ff1a}.compass-center-button:before,.compass-center-button:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.compass-center-button:before{top:4px;right:4px;bottom:4px;left:4px;background:radial-gradient(circle at 35% 35%,#ffffffd1,#e9f6fc8a 26%,#7895a738 55%,#080c120a);box-shadow:inset 0 1px 1px #ffffff42,inset 0 -3px 4px #05080d52,0 0 6px #b4ecff2e}.compass-center-button:after{top:8px;right:8px;bottom:8px;left:8px;background:radial-gradient(circle at 32% 30%,#fffffff5,#e0f3f9c7 54%,#7ce5ff42);box-shadow:0 0 9px #abf4ff47}.compass-center-button:hover,.compass-center-button:focus-visible{outline:none;border-color:#e8f8ff57;box-shadow:-1px -1px #ffffff0a,-4px -4px 12px #ffffff09,5px 5px 12px #05080d52,0 0 0 1px #a4cee40d,inset 0 8px 10px #ffffff12,inset 0 -9px 12px #05080d75,0 0 18px #aeecff29}.compass-n.compass-cardinal-button{width:32px;height:32px;min-width:32px;min-height:32px;padding:0;border-radius:50%}.compass-cardinal-button{letter-spacing:0;text-indent:0;line-height:1}.compass-n.compass-cardinal-button{display:grid;place-items:center;text-align:center;font-size:13px}.nav-card--visual{gap:11px;padding:10px 10px 12px}.nav-line--visual,.nav-line--mouse,.nav-line--grouped,.nav-line--grouped-pan{display:grid;grid-template-columns:96px minmax(0,1fr);column-gap:12px;align-items:center}.nav-line--mouse+.nav-line--mouse{margin-top:0}.nav-shortcut-icons{display:inline-flex;width:100%;align-items:center;justify-content:flex-end;flex-wrap:nowrap;gap:4px;min-width:0;color:#c9e1eed1;filter:drop-shadow(0 0 4px rgba(111,214,255,.06))}.nav-shortcut-icons--mouse{gap:0}.nav-shortcut-icon,.nav-shortcut-icon--mouse-icon,.nav-shortcut-icon--key,.nav-shortcut-icon--text{display:inline-grid;place-items:center;flex:0 0 auto;color:#c9e1eedb}.nav-shortcut-icon--mouse-icon{width:24px;height:24px}.nav-shortcut-icon--key,.nav-shortcut-icon--text{min-width:18px;height:18px;padding:0 4px;border:1.1px solid rgba(196,223,238,.64);border-radius:6px;background:linear-gradient(180deg,#1e232c1a,#12161e1f);box-shadow:inset 0 1px #ffffff06,0 2px 6px #060a1012}.nav-shortcut-icon--shift{min-width:36px}.nav-shortcut-icon--space{min-width:54px}.nav-shortcut-icon--key svg,.nav-shortcut-icon--text span{width:auto;height:auto}.nav-shortcut-icon--text span{transform:none;font-size:9.5px;font-weight:600;line-height:1;letter-spacing:.01em;color:currentColor}.nav-shortcut-label,.nav-shortcut-label--mouse{display:block;font-size:10.5px;font-weight:540;line-height:1.12;letter-spacing:.01em;color:#d8e3ebc7}.nav-shortcut-copy,.nav-shortcut-copy span,.nav-shortcut-copy strong,.nav-line--mouse>span{display:none}.nav-shortcut-icon--mouse-icon{width:24px;height:24px;color:#c9e1ee;filter:drop-shadow(0 0 4px rgba(111,214,255,0))}.nav-shortcut-icon--mouse-icon svg{width:24px;height:24px}.nav-shortcut-icon--mouse-icon svg *{stroke-width:1.05!important}@keyframes playerPausedIconPulse{0%,to{opacity:.38;color:#91a2b0c7;filter:drop-shadow(0 0 1px rgba(230,250,255,.08)) drop-shadow(0 0 4px rgba(190,244,255,.03))}50%{opacity:1;color:#fff;filter:drop-shadow(0 0 5px rgba(230,250,255,.72)) drop-shadow(0 0 12px rgba(190,244,255,.36))}}#play-pause.is-paused-progress{color:#91a2b0c7}#play-pause.is-paused-progress .player-icon{color:inherit}#play-pause.is-paused-progress .player-icon svg{animation:playerPausedIconPulse 1.55s ease-in-out infinite}.destination-hover-label{position:absolute;z-index:9;transform:translate(-50%,calc(-100% - 14px));padding:6px 9px;border-radius:999px;pointer-events:none;color:#eaf9fff5;background:#121822d1;border:1px solid rgba(173,230,255,.24);box-shadow:0 8px 24px #00000057,0 0 18px #63dfff1f,inset 0 1px #ffffff1a;font-size:10px;font-weight:700;line-height:1;letter-spacing:.08em;white-space:nowrap;text-transform:uppercase;opacity:0;transition:opacity 80ms ease,transform .1s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.destination-hover-label.is-visible{opacity:1;transform:translate(-50%,calc(-100% - 18px))}.stage-screen-actions{position:absolute;right:22px;bottom:22px;z-index:12;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:auto}.stage-screen-button{width:30px;height:30px;display:grid;place-items:center;border:1px solid rgba(225,244,255,.1);border-radius:11px;background:linear-gradient(145deg,#2b3341eb,#141922f0);color:#dcf2ffe0;font-size:14px;font-weight:800;line-height:1;cursor:pointer;box-shadow:inset 0 1px #ffffff0e,0 10px 22px #00000038,0 0 14px #6ed8ff08;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:relative;overflow:visible}.stage-screen-button--state.is-disabled .stage-screen-icon,.stage-screen-button--state.is-disabled.stage-screen-button--text{opacity:.58}.stage-screen-button--state.is-disabled:before{content:"";position:absolute;left:5px;right:5px;top:50%;height:2.25px;border-radius:999px;background:#f6fcffeb;box-shadow:0 0 7px #d2f4ff52;transform:rotate(-42deg);transform-origin:center;pointer-events:none}.stage-screen-icon{width:15px;height:15px;display:block}.stage-screen-button--text{font-size:8.5px;letter-spacing:.04em}.stage-screen-button[data-tooltip]:after{top:50%;bottom:auto;left:auto;right:calc(100% + 12px);z-index:120;width:max-content;max-width:min(250px,calc(100vw - 86px));padding:8px 10px;border-radius:11px;background:radial-gradient(circle at 20% 0%,rgba(148,225,255,.12),transparent 42%),linear-gradient(145deg,#161e29e6,#090d14e0);color:#e8f7fff0;border:1px solid rgba(178,226,248,.12);text-align:right;font-size:10px;line-height:1.35;letter-spacing:.02em;box-shadow:0 14px 32px #00000061,0 0 22px #76dbff11,inset 0 1px #ffffff0f;transform:translate(6px,-50%) scale(.985)}.stage-screen-button[data-tooltip]:hover:after,.stage-screen-button[data-tooltip]:focus-visible:after{transform:translateY(-50%) scale(1)}.stage-screen-button:hover,.stage-screen-button:focus-visible,.stage-screen-button.is-active{color:#fff;border-color:#dcf8ff47;box-shadow:inset 0 1px #ffffff16,0 0 0 2px #a8e5ff0f,0 12px 26px #00000047,0 0 18px #82e1ff14;outline:none}.visual-shell:fullscreen{width:100vw;height:100vh;border-radius:0}.visual-shell:fullscreen .stage-screen-actions{right:26px;bottom:26px}.stage-performance-badge{position:absolute;right:62px;bottom:22px;z-index:12;min-width:190px;padding:8px 10px;border-radius:14px;color:#dcf2ffdb;background:#131922bd;border:1px solid rgba(225,244,255,.1);box-shadow:inset 0 1px #ffffff0e,0 10px 24px #0003;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:9.5px;font-weight:800;line-height:1.35;letter-spacing:.035em;text-align:left}.stage-performance-badge[hidden]{display:none}.stage-performance-badge.is-mid{color:#ffe6aeeb;border-color:#ffd67e2e}.stage-performance-badge.is-low{color:#ffb2b2f2;border-color:#ff828238}.visual-shell:fullscreen .stage-performance-badge{right:70px;bottom:26px}.visual-shell.is-hud-hidden .stage-overlay,.visual-shell.is-hud-hidden .analytic-panel,.visual-shell.is-hud-hidden .destination-hover-label,.visual-shell.is-hud-hidden .interaction-anchor,.visual-shell.is-hud-hidden .stage-performance-badge{display:none}@media(max-width:900px){.stage-screen-actions{right:14px;bottom:14px}.stage-performance-badge{right:54px;bottom:14px;min-width:172px}}@media(min-width:761px){.player-panel{position:absolute;left:18px;top:18px;z-index:16;display:grid;grid-template-columns:1fr auto;grid-template-areas:"controls meta" "scrub scrub";align-items:center;column-gap:9px;row-gap:7px;width:218px;min-height:0;padding:9px 10px 10px;border-radius:17px;border-color:#e1f4ff12;background:linear-gradient(145deg,#222832c7,#12171fd6);box-shadow:inset 0 1px #ffffff0d,0 14px 30px #00000040,0 0 24px #57c6ff08;-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px)}.player-panel:before,.player-panel:after{content:none}.player-panel>*{position:relative;z-index:1}.player-panel>.hint-label{display:none}.player-panel .player-controls{grid-area:controls;display:grid;grid-template-columns:repeat(4,29px);gap:6px;width:auto;margin:0}.player-panel .player-button{width:29px;min-height:29px;border-radius:11px}.player-panel .player-scrub{grid-area:scrub;margin:0;align-self:center}.player-panel .player-timeline{height:7px}.player-panel .player-timeline-fill{height:11px}.player-panel .player-timeline-thumb{width:18px;height:18px}.player-panel .player-meta{grid-area:meta;justify-content:flex-end;min-width:52px;margin:0;white-space:nowrap;font-size:10px}.stage-overlay.bottom-bar{bottom:0;padding-right:86px}.app-shell.is-stage-hud-hidden .player-panel{opacity:.14;transition:opacity .16s ease}.app-shell.is-stage-hud-hidden .player-panel:hover,.app-shell.is-stage-hud-hidden .player-panel:focus-within{opacity:1}}.mobile-options-backdrop,.stage-screen-button--mobile-menu{display:none}@media(max-width:760px){html,body{width:100%;height:100%;min-height:100dvh;overflow:hidden;overscroll-behavior:none}#app{height:100dvh;overflow:hidden}.app-shell{display:block;position:relative;width:100%;height:100dvh;min-height:100dvh;padding:0;overflow:hidden}.stage{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100dvh;min-height:0;border:0;border-radius:0;overflow:hidden;background:transparent;box-shadow:none}.visual-shell{width:100%;height:100dvh;min-height:0;border-radius:0;box-shadow:none}.scene-canvas{min-height:0}.sidebar{position:fixed;left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));bottom:0;z-index:31;display:flex;max-height:min(88dvh,740px);padding:14px 14px max(18px,env(safe-area-inset-bottom));overflow:auto;border:1px solid rgba(225,244,255,.08);border-bottom:0;border-radius:26px 26px 0 0;background:linear-gradient(180deg,#232831fa,#151920fc);box-shadow:0 -18px 44px #00000057,inset 0 1px #ffffff09;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transform:translateY(calc(100% + 24px));opacity:0;pointer-events:none;transition:transform .22s ease,opacity .16s ease;scrollbar-gutter:auto}.app-shell.is-mobile-options-open .sidebar{transform:translateY(0);opacity:1;pointer-events:auto}.mobile-options-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:block;background:#05080e57;opacity:0;pointer-events:none;transition:opacity .18s ease}.app-shell.is-mobile-options-open .mobile-options-backdrop{opacity:1;pointer-events:auto}.brand-row{position:sticky;top:-14px;z-index:2;align-items:center;margin:-14px -14px 2px;padding:14px 16px 10px;border-radius:24px 24px 0 0;background:linear-gradient(180deg,#232831fa,#1f242df0);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand-row h1{font-size:22px}.brand-version{font-size:8px}.sidebar-copy{display:none}.sidebar-section{padding-inline:0}.control-stack--compact,.control-stack--scene-groups,.navigation-help{gap:10px}.stage-screen-button--mobile-menu{display:grid}.stage-screen-actions{right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));gap:7px}.stage-screen-button{width:38px;height:38px;border-radius:14px;font-size:15px}.stage-screen-button--text{font-size:8.5px}.stage-screen-icon{width:17px;height:17px}.stage-performance-badge{right:calc(max(12px,env(safe-area-inset-right)) + 48px);bottom:max(12px,env(safe-area-inset-bottom));min-width:min(196px,calc(100vw - 78px));max-width:calc(100vw - 78px)}.stage-overlay.top-right{top:max(4px,env(safe-area-inset-top));right:max(4px,env(safe-area-inset-right));bottom:auto}.compass-globe-frame{width:96px;height:96px}.compass-globe{width:66px;height:66px}.compass-globe-frame:before{top:14px;right:14px;bottom:14px;left:14px}.compass-cardinal{font-size:8.5px}.compass-cardinal-button{min-width:32px;min-height:24px;padding-inline:9px}.globe-core{top:28px;right:28px;bottom:28px;left:28px}.stage-overlay.bottom-bar{right:62px;bottom:max(10px,env(safe-area-inset-bottom));left:max(10px,env(safe-area-inset-left));padding:0;overflow:hidden}.hud-inline-line{gap:6px;font-size:9.5px;opacity:.86}.hud-token:nth-of-type(n+5),.hud-separator:nth-of-type(n+5){display:none}.analytic-panel,.stage-overlay.top-left{display:none}.visual-shell.is-hud-hidden .stage-screen-actions{opacity:.18;transition:opacity .16s ease}.visual-shell.is-hud-hidden .stage-screen-actions:hover,.visual-shell.is-hud-hidden .stage-screen-actions:focus-within{opacity:1}}@media(max-width:760px)and (orientation:landscape){.sidebar{top:max(8px,env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom));left:auto;width:min(390px,48vw);max-height:none;border:1px solid rgba(225,244,255,.08);border-radius:24px;transform:translate(calc(100% + 24px))}.app-shell.is-mobile-options-open .sidebar{transform:translate(0)}.brand-row{top:-14px;border-radius:22px 22px 0 0}}@media(max-width:760px){.player-panel{position:absolute;left:max(10px,env(safe-area-inset-left));top:max(10px,env(safe-area-inset-top));z-index:18;display:grid;grid-template-columns:1fr auto;grid-template-areas:"controls meta" "scrub scrub";align-items:center;column-gap:8px;row-gap:7px;width:min(196px,calc(100vw - 76px));min-height:0;padding:9px 10px 10px;border-radius:17px;border:1px solid rgba(225,244,255,.075);background:linear-gradient(145deg,#222832c2,#12171fd6);box-shadow:inset 0 1px #ffffff0d,0 14px 30px #00000040,0 0 24px #57c6ff08;-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px)}.player-panel:before,.player-panel:after{content:none}.player-panel>.hint-label{display:none}.player-panel .player-controls{grid-area:controls;display:grid;grid-template-columns:repeat(4,28px);gap:6px;width:auto;margin:0}.player-panel .player-button{width:28px;min-height:28px;border-radius:11px}.player-panel .player-scrub{grid-area:scrub;margin:0;align-self:center}.player-panel .player-timeline{height:7px}.player-panel .player-timeline-fill{height:11px}.player-panel .player-timeline-thumb{width:18px;height:18px}.player-panel .player-meta{grid-area:meta;justify-content:flex-end;min-width:50px;margin:0;white-space:nowrap;font-size:10px}.app-shell.is-mobile-options-open .player-panel{opacity:.72}}@media(max-width:760px)and (orientation:landscape){.player-panel{width:204px}}@media(max-width:760px){.player-panel{width:min(226px,calc(100vw - 32px));column-gap:12px;padding-inline:11px 12px}.player-panel .player-meta{min-width:64px;font-size:10.5px;letter-spacing:.015em}.player-panel .player-controls{grid-template-columns:repeat(4,28px);gap:6px}.stage-screen-actions{right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));gap:8px}#stage-debug-toggle,#stage-hud-toggle,#stage-screenshot,.stage-overlay.bottom-bar{display:none}.stage-performance-badge{display:none!important}.app-shell.is-stage-hud-hidden .player-panel,.app-shell.is-stage-hud-hidden .stage-screen-actions{opacity:1}}@media(max-width:760px)and (orientation:landscape){.player-panel{width:232px}}@media(max-width:760px){.sidebar{max-height:min(88dvh,740px)}.stage-screen-actions{right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));gap:7px}.stage-screen-actions .stage-screen-button{width:34px;height:34px;border-radius:13px;font-size:14px}.stage-screen-actions .stage-screen-icon{width:15px;height:15px}}@media(max-width:760px)and (orientation:landscape){.sidebar{max-height:none}}@media(max-width:760px){.sidebar{padding-top:14px}.sidebar-brand{position:sticky;top:-14px;z-index:80;display:grid;gap:7px;width:calc(100% + 28px);margin:-14px -14px 8px;padding:14px 16px 12px;border-radius:26px 26px 0 0;background:linear-gradient(180deg,#232831fc,#1d222bf7);box-shadow:0 12px 24px #0003,inset 0 -1px #e1f4ff0e;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.sidebar-brand .brand-row{position:relative;top:auto;z-index:auto;width:100%;margin:0;padding:0;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.sidebar-brand .sidebar-copy{display:block;width:100%;max-width:none;padding:0;color:#a9b5c3e0;font-size:10px;line-height:1.35}.sidebar-brand .brand-row h1{min-width:0;font-size:22px}.sidebar-brand .language-switcher{flex:0 0 auto;align-self:flex-start;margin-top:0;margin-right:-4px;transform:translateY(7px)}.stage-overlay.top-right{top:max(4px,env(safe-area-inset-top));right:max(4px,env(safe-area-inset-right))}.compass-globe-frame{width:88px;height:88px}.compass-globe{width:60px;height:60px}.compass-globe-frame:before{top:13px;right:13px;bottom:13px;left:13px}.compass-cardinal-button{min-width:28px;min-height:22px;padding-inline:8px;font-size:8.5px}.compass-n{top:0}.globe-core{top:26px;right:26px;bottom:26px;left:26px}.player-panel{width:min(212px,calc(100vw - 32px));column-gap:9px;padding:9px 10px 10px}.player-panel .player-meta{min-width:56px;font-size:10px;letter-spacing:.01em}.stage-screen-actions{right:max(9px,env(safe-area-inset-right));bottom:max(9px,env(safe-area-inset-bottom));gap:6px}.stage-screen-actions .stage-screen-button{width:31px;height:31px;border-radius:12px;font-size:13px}.stage-screen-actions .stage-screen-icon{width:14px;height:14px}}@media(max-width:760px)and (orientation:landscape){.sidebar-brand{width:calc(100% + 28px)}.player-panel{width:216px}}@media(max-width:760px){.sidebar{left:0;right:0;width:100vw;max-width:none;border-inline:0;border-radius:24px 24px 0 0}.sidebar-brand{width:calc(100% + 28px);max-width:none;margin-inline:-14px;border-radius:24px 24px 0 0}.stage-overlay.top-right{top:max(5px,env(safe-area-inset-top));right:max(5px,env(safe-area-inset-right))}.compass-n.compass-cardinal-button{width:22px;height:22px;min-width:22px;min-height:22px;padding:0;border-radius:50%;border-color:#e8f0f838;background:#181d25b8;box-shadow:inset 0 1px #ffffff0e,0 4px 10px #0000003d;font-size:10px;font-weight:700}.compass-n{top:4px}}@media(max-width:760px)and (orientation:landscape){.sidebar{top:max(8px,env(safe-area-inset-top));right:0;bottom:max(8px,env(safe-area-inset-bottom));left:auto;width:min(392px,86vw);border-radius:24px 0 0 24px;border-left:1px solid rgba(225,244,255,.08);border-top:1px solid rgba(225,244,255,.08);border-bottom:1px solid rgba(225,244,255,.08)}.sidebar-brand{border-radius:24px 0 0}}@media(max-width:760px){.player-panel{row-gap:10px;padding-bottom:11px}.player-panel .player-scrub{padding-top:1px}}.stage-benchmark-panel{position:absolute;right:62px;bottom:146px;z-index:12;min-width:190px;padding:8px 10px 9px;border-radius:14px;color:#dcf2ffdb;background:#131922bd;border:1px solid rgba(225,244,255,.1);box-shadow:inset 0 1px #ffffff0e,0 10px 24px #0003;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;pointer-events:auto}.stage-benchmark-panel[hidden]{display:none}.stage-benchmark-title{margin-bottom:7px;color:#9db0c2eb;font-size:8px;font-weight:900;line-height:1;letter-spacing:.14em;text-transform:uppercase}.stage-benchmark-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.stage-benchmark-button{height:24px;border:1px solid rgba(225,244,255,.08);border-radius:9px;background:linear-gradient(145deg,#2a313eb8,#12171fc7);color:#c2d4e4c7;font:inherit;font-size:8px;font-weight:900;letter-spacing:.045em;cursor:pointer;box-shadow:inset 0 1px #ffffff0b,0 5px 12px #0000002e}.stage-benchmark-button:hover,.stage-benchmark-button:focus-visible,.stage-benchmark-button.is-active{color:#fafefff5;border-color:#aae8ff42;outline:none;box-shadow:inset 0 1px #ffffff13,0 0 0 1px #82deff14,0 7px 16px #00000038}.stage-benchmark-button.is-active{background:linear-gradient(145deg,#303d4adb,#141c26e6)}.visual-shell:fullscreen .stage-benchmark-panel{right:70px;bottom:150px}.visual-shell.is-hud-hidden .stage-benchmark-panel{display:none}@media(max-width:900px){.stage-benchmark-panel{right:54px;bottom:138px;min-width:172px}}@media(max-width:760px){.stage-benchmark-panel{display:none!important}}@media(max-width:760px){#stage-debug-toggle{display:grid}.stage-screen-button--debug{font-size:7.5px;letter-spacing:.025em}.stage-performance-badge:not([hidden]){display:block!important;left:max(8px,env(safe-area-inset-left));right:calc(max(9px,env(safe-area-inset-right)) + 42px);bottom:max(8px,env(safe-area-inset-bottom));min-width:0;max-width:none;padding:8px 9px;border-radius:13px;font-size:8px;line-height:1.35;z-index:22;pointer-events:none}.stage-benchmark-panel:not([hidden]){display:block!important;left:max(8px,env(safe-area-inset-left));right:calc(max(9px,env(safe-area-inset-right)) + 42px);bottom:calc(max(8px,env(safe-area-inset-bottom)) + 94px);min-width:0;max-width:none;padding:7px 8px 8px;border-radius:13px;z-index:22}.stage-benchmark-title{margin-bottom:6px;font-size:7px}.stage-benchmark-buttons{gap:4px}.stage-benchmark-button{height:22px;border-radius:8px;font-size:7px}.visual-shell.is-hud-hidden .stage-performance-badge:not([hidden]),.visual-shell.is-hud-hidden .stage-benchmark-panel:not([hidden]){display:block!important}}.control-row--route-quality{grid-template-columns:1fr;gap:7px}.scene-control-group .control-row--route-quality{grid-template-columns:1fr}.control-row--route-quality>.hint-label{grid-column:1;grid-row:1}.control-row--route-quality .route-quality-stack{grid-column:1 / -1;grid-row:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;width:100%;border-radius:16px;overflow:hidden;box-shadow:inset 1px 1px #ffffff07,inset -1px -1px #00000038,7px 7px 18px #05080d29,-4px -4px 10px #ffffff04}.control-row--route-quality .route-quality-chip{width:100%;min-width:0;min-height:32px;padding:5px 6px 4px;border-radius:0;box-shadow:none;position:relative;display:flex;align-items:center;justify-content:center;text-align:center;background:linear-gradient(180deg,#232932fb,#1e242dfb)}.control-row--route-quality .route-quality-chip+.route-quality-chip{box-shadow:inset 1px 0 #ffffff09,inset 2px 0 8px #05080d59}.control-row--route-quality .route-quality-chip:hover{background:linear-gradient(180deg,#2a303afc,#232933fc)}.control-row--route-quality .route-quality-chip.is-active{background:linear-gradient(180deg,#2f3540fc,#1c222bfc);box-shadow:inset 4px 4px 9px #05080d80,inset -3px -3px 6px #ffffff0f}.control-row--route-quality .route-quality-chip .mode-chip-title{font-size:8.5px;line-height:1;letter-spacing:.13em;font-weight:650}#stage-debug-toggle{display:none}@media(min-width:761px){.player-panel{width:272px;grid-template-columns:auto minmax(58px,auto);column-gap:13px;row-gap:10px;padding:10px 12px 12px}.player-panel .player-controls{grid-template-columns:repeat(4,35px);gap:0;border-radius:15px;overflow:hidden;background:linear-gradient(180deg,#1e242df5,#141921fa);box-shadow:inset 1px 1px #ffffff07,inset -1px -1px #00000042,7px 7px 18px #05080d2e,-4px -4px 10px #ffffff04}.player-panel .player-button{width:35px;min-height:32px;border-radius:0;background:linear-gradient(180deg,#232932fb,#1e242dfb);box-shadow:none}.player-panel .player-button+.player-button{box-shadow:inset 1px 0 #ffffff09,inset 2px 0 8px #05080d59}.player-panel .player-button:hover,.player-panel .player-button:focus,.player-panel .player-button:focus-visible{background:linear-gradient(180deg,#2a303afc,#232933fc);box-shadow:none;outline:none}.player-panel .player-button:active,.player-panel .player-button.is-active,.player-panel .player-button--primary.is-active,.player-panel .player-button--toggle.is-active{background:linear-gradient(180deg,#2f3540fc,#1c222bfc);box-shadow:inset 4px 4px 9px #05080d80,inset -3px -3px 6px #ffffff0f}.player-panel .player-scrub{padding-top:3px}.player-panel .player-meta{min-width:60px}}@media(max-width:760px){.player-panel{row-gap:11px}.player-panel .player-controls{grid-template-columns:repeat(4,29px);gap:0;border-radius:14px;overflow:hidden;background:linear-gradient(180deg,#1e242df5,#141921fa);box-shadow:inset 1px 1px #ffffff07,inset -1px -1px #00000042,6px 6px 15px #05080d2e,-3px -3px 8px #ffffff04}.player-panel .player-button{width:29px;min-height:28px;border-radius:0;background:linear-gradient(180deg,#232932fb,#1e242dfb);box-shadow:none}.player-panel .player-button+.player-button{box-shadow:inset 1px 0 #ffffff09,inset 2px 0 8px #05080d59}.player-panel .player-button:hover,.player-panel .player-button:focus,.player-panel .player-button:focus-visible{background:linear-gradient(180deg,#2a303afc,#232933fc);box-shadow:none;outline:none}.player-panel .player-button:active,.player-panel .player-button.is-active,.player-panel .player-button--primary.is-active,.player-panel .player-button--toggle.is-active{background:linear-gradient(180deg,#2f3540fc,#1c222bfc);box-shadow:inset 4px 4px 9px #05080d80,inset -3px -3px 6px #ffffff0f}.player-panel .player-scrub{padding-top:3px}}@media(min-width:761px){.player-panel{width:276px;grid-template-columns:auto minmax(60px,auto);column-gap:12px;row-gap:10px;padding:10px 12px 12px}.player-panel .player-controls{display:flex;align-items:stretch;width:max-content;grid-template-columns:none;gap:0;border-radius:14px}.player-panel .player-button{flex:0 0 41px;width:auto;min-height:30px}.player-panel .player-button:first-child{border-radius:14px 0 0 14px}.player-panel .player-button:last-child{border-radius:0 14px 14px 0}.player-panel .player-scrub{padding:4px 7px 0}.player-panel .player-meta{min-width:60px}}@media(max-width:760px){.player-panel{width:min(224px,calc(100vw - 32px));column-gap:10px;row-gap:10px;padding:9px 11px 11px}.player-panel .player-controls{display:flex;align-items:stretch;width:max-content;grid-template-columns:none;gap:0;border-radius:13px}.player-panel .player-button{flex:0 0 31px;width:auto;min-height:27px}.player-panel .player-button:first-child{border-radius:13px 0 0 13px}.player-panel .player-button:last-child{border-radius:0 13px 13px 0}.player-panel .player-scrub{padding:3px 5px 0}.player-panel .player-meta{min-width:54px}}.district-progress-panel{position:absolute;z-index:11;left:24px;bottom:42px;right:auto;top:auto;display:grid;gap:8px;width:min(430px,calc(100% - 92px));max-height:min(430px,calc(100% - 130px));padding:12px 13px 13px;border:1px solid rgba(225,244,255,.066);border-radius:18px;background:linear-gradient(180deg,#080e1870,#070b124f);box-shadow:inset 0 1px #ffffff0a,0 18px 38px #0003;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);overflow:hidden}.district-progress-panel.is-dragging{-webkit-user-select:none;user-select:none;cursor:grabbing}.district-progress-panel[hidden]{display:none}.district-progress-head{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:grab;touch-action:none}.district-progress-head-actions{display:inline-flex;align-items:center;gap:8px;margin-left:auto}.district-progress-close{display:inline-grid;place-items:center;width:24px;height:24px;padding:0;border:1px solid rgba(220,244,255,.08);border-radius:999px;color:#e0f4ffc2;background:linear-gradient(145deg,#232d3bc7,#0e141eb8);box-shadow:inset 1px 1px 2px #ffffff0d,inset -1px -1px 2px #00000057,0 8px 18px #0000002e;cursor:pointer;transition:transform .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease}.district-progress-close svg{width:13px;height:13px}.district-progress-close:hover{color:#effafff5;border-color:#97e2ff3d;box-shadow:inset 1px 1px 2px #ffffff0f,inset -1px -1px 3px #00000061,0 10px 22px #00000038,0 0 14px #7de1ff1f}.district-progress-close:active{transform:translateY(1px) scale(.96)}.district-progress-title{color:#dcf2ffe0;font-size:9px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.district-progress-summary{color:#f6fcffeb;font-size:10px;font-weight:900;letter-spacing:.04em;white-space:nowrap}.district-progress-rows{display:grid;gap:1px;overflow-x:hidden;overflow-y:auto;padding-right:0}.district-progress-row{min-height:12px;will-change:transform;transition:transform .32s cubic-bezier(.22,1,.36,1)}.district-progress-row-line{display:grid;grid-template-columns:minmax(120px,.84fr) minmax(166px,1fr) 50px 38px;align-items:center;gap:7px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:8.6px;line-height:1}.district-progress-name{color:#def0ffd1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.district-progress-count{color:#b4ccdca3;font-size:7.9px;text-align:right;white-space:nowrap}.district-progress-time{color:#cde9f5c7;font-size:7.9px;text-align:right;white-space:nowrap;opacity:0;transform:translateY(2px);transition:opacity .26s ease,transform .26s ease}.district-progress-row.is-complete .district-progress-time{opacity:1;transform:translateY(0)}.district-progress-track{position:relative;height:5px;border-radius:999px;overflow:hidden;background:#ffffff0a;box-shadow:inset 0 1px 2px #0000007a,inset 0 0 0 1px #ffffff06}.district-progress-fill{position:absolute;inset:0 auto 0 0;width:0%;border-radius:inherit;background:linear-gradient(90deg,#3ab7ee80,#90e5ffc7,#f4fcffa8);box-shadow:0 0 12px #74deff21,inset 0 1px #ffffff29;transition:width .18s linear}.district-progress-row.is-complete .district-progress-fill{background:linear-gradient(90deg,#5cccf494,#c7f6ffdb)}.stage-screen-button--district-data.is-disabled .stage-screen-icon{opacity:.58}.visual-shell.is-hud-hidden .district-progress-panel{display:none}@media(max-width:760px){.district-progress-panel{top:auto;bottom:max(62px,env(safe-area-inset-bottom));right:max(10px,env(safe-area-inset-right));left:max(10px,env(safe-area-inset-left));width:auto;max-height:min(64vh,calc(100% - 118px));padding:11px 12px 12px;border-radius:18px}.district-progress-rows{gap:2px}.district-progress-row-line{grid-template-columns:minmax(82px,.86fr) minmax(92px,1fr) 39px 33px;gap:4px;font-size:7.9px}.district-progress-count,.district-progress-time{font-size:7.2px}.district-progress-track{height:4px}}.timeline-actions--stacked .action-button--wide{font-size:8.5px;line-height:1;font-weight:650;letter-spacing:.13em;text-transform:uppercase;color:#d6e6f2db}.timeline-actions--stacked .action-button--wide:active{background:linear-gradient(180deg,#323740fc,#20252efc);box-shadow:inset 4px 4px 9px #05080d87,inset -4px -4px 6px #ffffff17}.timeline-actions--stacked{display:grid;gap:10px}.action-button--credits{opacity:.92}.credits-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:110;background:#080b106b;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.credits-panel{position:fixed;left:50%;top:50%;z-index:111;width:min(520px,calc(100vw - 36px));transform:translate(-50%,-50%);border:1px solid var(--panel-border);border-radius:28px;background:radial-gradient(circle at 12% 0%,rgba(145,191,216,.08),transparent 34%),linear-gradient(180deg,#252a33f7,#1b1f26f7);box-shadow:16px 18px 36px #080a0e57,-8px -8px 22px #ffffff05,inset 0 1px #ffffff0b;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:var(--text-primary);padding:28px 30px 26px}.credits-panel[hidden],.credits-backdrop[hidden]{display:none}.credits-kicker{color:var(--text-muted);font-size:.68rem;font-weight:900;letter-spacing:.22em;text-transform:uppercase;margin-bottom:8px}.credits-panel h2{margin:0 34px 12px 0;font-size:1.15rem;letter-spacing:.03em}.credits-panel p{margin:0 0 16px;color:var(--text-secondary);line-height:1.55}.credits-panel ul{display:grid;gap:10px;margin:0 0 18px;padding:0;list-style:none}.credits-panel li{position:relative;padding-left:18px;color:var(--text-primary);line-height:1.45}.credits-panel li:before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:999px;background:#91bfd8eb;box-shadow:0 0 10px #91bfd861}.credits-note{margin-bottom:0!important;color:var(--text-muted)!important;font-size:.86rem}.credits-close{position:absolute;right:18px;top:16px;width:34px;height:34px;border:1px solid rgba(225,244,255,.1);border-radius:999px;background:linear-gradient(145deg,#2b3341eb,#141922f0);color:#dcf2ffe0;box-shadow:inset 0 1px #ffffff0e,0 10px 22px #00000038,0 0 14px #6ed8ff08;cursor:pointer;font-size:1.35rem;line-height:1}.credits-close:hover,.credits-close:focus-visible{color:#fff;border-color:#dcf8ff3d;box-shadow:inset 0 1px #ffffff16,0 0 0 2px #a8e5ff0e,0 12px 26px #00000042,0 0 18px #82e1ff14;outline:none}@media(max-width:760px){.credits-panel{top:auto;bottom:22px;transform:translate(-50%);padding:24px 22px 22px;border-radius:24px}}.credits-build{margin-top:14px;text-align:right;color:#cad8e594;font-size:.72rem;font-weight:680;letter-spacing:.08em;text-transform:uppercase}.credits-build span{color:#e4f4fbc7;letter-spacing:.04em}.credits-creator{margin-top:18px;text-align:right;color:#cad8e5b3;font-size:.78rem;font-weight:680;letter-spacing:.045em}.credits-creator a{color:#e4f4fbdb;text-decoration:none;border-bottom:1px solid rgba(139,211,237,.34);transition:color .14s ease,border-color .14s ease}.credits-creator a:hover{color:#eefcffeb;border-color:#8bd3ed80}.timeline-actions--reset-before-nav{margin:0 0 18px}.timeline-actions--credits-only{margin-top:14px}.action-button--with-icon{display:inline-flex;align-items:center;justify-content:center;gap:8px}.action-button-icon{display:inline-grid;place-items:center;width:14px;height:14px;color:#cfe7f4d1;flex:0 0 auto;transform:translateY(-.2px)}.action-button-icon svg{display:block;width:100%;height:100%;fill:currentColor}.action-button--credits span:last-child{transform:translateY(.1px)}.timeline-actions--reset-before-nav{margin:4px 0 18px}.district-progress-chart{display:grid;gap:4px;padding:7px 6px 6px;border-radius:13px;background:linear-gradient(180deg,#10172257,#060a1038);box-shadow:inset 0 1px #ffffff09,inset 0 -8px 18px #0000001f}.district-progress-chart-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace}.district-progress-chart-head span{color:#dcf2ffb8;font-size:7.8px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.district-progress-chart-head strong{color:#e2f4fcb3;font-size:7.6px;font-weight:800;white-space:nowrap}.district-progress-chart-svg{display:block;width:100%;height:42px;overflow:visible}.district-progress-chart-grid{stroke:#d2ecf80e;stroke-width:.55;vector-effect:non-scaling-stroke}.district-progress-chart-line{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.35;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 5px rgba(104,220,255,.12));transition:d .18s linear}.district-progress-chart-line.is-ghost{opacity:.19;stroke-width:1.05;filter:none}.district-progress-chart-line--route{stroke:#84dfffdb}.district-progress-chart-line--population{stroke:#ebfaffcc;stroke-dasharray:2.8 2.2}.district-progress-chart-line--population.is-ghost{stroke-dasharray:2.2 2.5}.district-progress-chart-cursor{stroke:#f4fcff47;stroke-width:.7;vector-effect:non-scaling-stroke}.district-progress-chart-legend{display:flex;justify-content:flex-end;gap:10px;color:#bed2e099;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:7.2px;line-height:1}.district-progress-chart-legend span:before{content:"";display:inline-block;width:12px;height:2px;margin-right:4px;border-radius:999px;vertical-align:middle;background:#84dfffdb;box-shadow:0 0 6px #68dcff24}.district-progress-chart-legend .district-progress-legend-population:before{background:#ebfaffcc}@media(max-width:760px){.district-progress-chart{padding:6px 5px 5px}.district-progress-chart-svg{height:34px}.district-progress-chart-head span,.district-progress-chart-head strong,.district-progress-chart-legend{font-size:6.9px}}.district-progress-chart-line--zero{stroke:#c3d5e147;stroke-width:.42;stroke-dasharray:1.2 1.4}.district-progress-chart-area{fill:#62d7f41f;stroke:none;pointer-events:none}.district-progress-chart-area--positive{filter:drop-shadow(0 0 5px rgba(101,221,248,.14))}.district-progress-chart{padding-bottom:8px}.district-progress-chart-svg{min-height:88px}.district-progress-chart-legend{display:none}.district-progress-chart-line--zero{stroke:#84dfffdb;stroke-dasharray:none}.district-progress-chart-area--gap{fill:#62d7f41b;filter:drop-shadow(0 0 6px rgba(101,221,248,.12))}.district-progress-chart-line--population:not(.is-ghost){stroke-dasharray:none}.district-progress-chart-line--population.is-ghost{stroke-dasharray:none}.district-progress-chart-area--gap{fill:#62d7f426;filter:drop-shadow(0 0 7px rgba(101,221,248,.16))}.district-progress-chart-line--population:not(.is-ghost){stroke:#dbfaffe0;stroke-width:1.45;stroke-dasharray:none}.district-progress-chart-line--route.is-ghost{opacity:.12;stroke-width:1.05;stroke-dasharray:none}.district-progress-chart-line--route:not(.is-ghost){stroke:#77e0ffe0;stroke-width:1.25}.district-progress-chart-line--population:not(.is-ghost){stroke:#eefcffd6;stroke-width:1.35;stroke-dasharray:none}.district-progress-chart-line--population.is-ghost{opacity:.16;stroke-dasharray:none}.district-progress-chart-line{stroke-linecap:round;stroke-linejoin:round;transition:d .26s cubic-bezier(.22,.74,.22,1)}.district-progress-chart-area{transition:d .26s cubic-bezier(.22,.74,.22,1)}.district-progress-chart-cursor{opacity:.42;transition:x1 .26s cubic-bezier(.22,.74,.22,1),x2 .26s cubic-bezier(.22,.74,.22,1)}.district-progress-chart-pulse{fill:#ebfdfff5;stroke:#69e5ffb8;stroke-width:.65;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 4px rgba(128,235,255,.52)) drop-shadow(0 0 10px rgba(128,235,255,.24));transition:cx .26s cubic-bezier(.22,.74,.22,1),cy .26s cubic-bezier(.22,.74,.22,1)}.district-progress-chart-legend{display:flex;justify-content:flex-end;gap:12px;margin-top:2px;color:#bed2e0a8;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:7.3px;line-height:1}.district-progress-chart-legend span:before{content:"";display:inline-block;width:13px;height:2px;margin-right:4px;border-radius:999px;vertical-align:middle;background:#77e0ffe0;box-shadow:0 0 6px #68dcff24}.district-progress-chart-legend .district-progress-legend-population:before{background:#eefcffd6}.district-progress-chart-pulse{opacity:.88;r:1.05px;filter:drop-shadow(0 0 3px rgba(128,235,255,.42)) drop-shadow(0 0 7px rgba(128,235,255,.18))}.district-progress-chart-line,.district-progress-chart-area,.district-progress-chart-cursor,.district-progress-chart-pulse{transition-duration:.18s}.district-progress-chart-line,.district-progress-chart-area{transition:d 90ms linear}.district-progress-chart-cursor,.district-progress-chart-pulse{transition:cx 90ms linear,cy 90ms linear,x1 90ms linear,x2 90ms linear}.district-progress-chart-pulse--route{fill:#76e8fffa;stroke:#d6fcffcc}.district-progress-chart-pulse--population{fill:#f6fefffa;stroke:#a3ecffbd;filter:drop-shadow(0 0 4px rgba(235,253,255,.55)) drop-shadow(0 0 11px rgba(128,235,255,.26))}.district-progress-chart-line--route:not(.is-ghost),.district-progress-chart-line--population:not(.is-ghost){filter:drop-shadow(0 0 5px rgba(104,220,255,.18))}.district-progress-chart-svg{isolation:isolate}.district-progress-chart-line--route:not(.is-ghost){stroke-width:1.34;stroke:#68e2ffeb;filter:drop-shadow(0 0 4px rgba(89,222,255,.32)) drop-shadow(0 0 11px rgba(89,222,255,.16))}.district-progress-chart-line--population:not(.is-ghost){stroke-width:1.36;stroke:#e9fcffe0;filter:drop-shadow(0 0 3px rgba(233,252,255,.24)) drop-shadow(0 0 9px rgba(116,221,255,.12))}.district-progress-chart-trail{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none;mix-blend-mode:screen;transition:d 90ms linear}.district-progress-chart-trail--route{stroke:#6ae8ffeb;stroke-width:2.65;filter:drop-shadow(0 0 4px rgba(104,232,255,.62)) drop-shadow(0 0 13px rgba(83,218,255,.34)) drop-shadow(0 0 24px rgba(60,190,255,.16))}.district-progress-chart-trail--population{stroke:#effeffc2;stroke-width:2.2;filter:drop-shadow(0 0 4px rgba(240,254,255,.48)) drop-shadow(0 0 12px rgba(134,222,255,.23))}.district-progress-chart-pulse-halo,.district-progress-chart-pulse{transform-box:fill-box;transform-origin:center;pointer-events:none;transition:cx 90ms linear,cy 90ms linear}.district-progress-chart-pulse-halo{fill:#78e8ff14;stroke:#97efffad;stroke-width:.55;vector-effect:non-scaling-stroke;mix-blend-mode:screen;filter:drop-shadow(0 0 5px rgba(111,231,255,.55)) drop-shadow(0 0 16px rgba(76,207,255,.28));animation:district-progress-electric-halo 1.08s ease-in-out infinite}.district-progress-chart-pulse-halo--population{fill:#f6feff12;stroke:#effeff8f;filter:drop-shadow(0 0 5px rgba(240,254,255,.42)) drop-shadow(0 0 14px rgba(130,220,255,.22));animation-delay:-.38s}.district-progress-chart-pulse{r:1.16px;opacity:.98;mix-blend-mode:screen;animation:district-progress-electric-core .76s ease-in-out infinite}.district-progress-chart-pulse--route{fill:#8ef;stroke:#effeffeb;filter:drop-shadow(0 0 4px rgba(111,235,255,.85)) drop-shadow(0 0 11px rgba(82,218,255,.42)) drop-shadow(0 0 20px rgba(60,188,255,.18))}.district-progress-chart-pulse--population{fill:#f9feff;stroke:#b7f3ffe0;filter:drop-shadow(0 0 4px rgba(248,254,255,.7)) drop-shadow(0 0 10px rgba(138,226,255,.32));animation-delay:-.26s}@keyframes district-progress-electric-halo{0%,to{opacity:.52;transform:scale(.88)}42%{opacity:.88;transform:scale(1.18)}68%{opacity:.36;transform:scale(1.02)}}@keyframes district-progress-electric-core{0%,to{opacity:.92;transform:scale(.94)}35%{opacity:1;transform:scale(1.22)}62%{opacity:.74;transform:scale(1.02)}}@media(prefers-reduced-motion:reduce){.district-progress-chart-pulse-halo,.district-progress-chart-pulse{animation:none}}.district-progress-chart-trail{opacity:.98}.district-progress-chart-trail--route{stroke:url(#district-progress-route-trail-gradient);stroke-width:2.35;filter:drop-shadow(0 0 3px rgba(104,232,255,.42)) drop-shadow(0 0 10px rgba(83,218,255,.22))}.district-progress-chart-trail--population{stroke:url(#district-progress-population-trail-gradient);stroke-width:1.95;filter:drop-shadow(0 0 3px rgba(240,254,255,.32)) drop-shadow(0 0 9px rgba(134,222,255,.16))}.district-progress-chart-line--route:not(.is-ghost){opacity:.62;stroke-width:1.16;filter:drop-shadow(0 0 3px rgba(89,222,255,.18))}.district-progress-chart-line--population:not(.is-ghost){opacity:.58;stroke-width:1.12;filter:drop-shadow(0 0 3px rgba(233,252,255,.14))}.district-progress-chart-wake{opacity:.92;stroke:url(#district-progress-route-trail-gradient);mix-blend-mode:screen}.district-progress-chart-wake--route{stroke-width:4.35;filter:drop-shadow(0 0 6px rgba(104,232,255,.52)) drop-shadow(0 0 19px rgba(66,196,255,.26))}.district-progress-chart-wake--population{stroke:url(#district-progress-population-trail-gradient);stroke-width:3.45;filter:drop-shadow(0 0 5px rgba(240,254,255,.36)) drop-shadow(0 0 16px rgba(134,222,255,.18))}.district-progress-chart-trail--route{stroke-width:2.95;filter:drop-shadow(0 0 4px rgba(150,243,255,.78)) drop-shadow(0 0 13px rgba(83,218,255,.42)) drop-shadow(0 0 28px rgba(60,190,255,.2))}.district-progress-chart-trail--population{stroke-width:2.35;filter:drop-shadow(0 0 4px rgba(248,254,255,.58)) drop-shadow(0 0 12px rgba(134,222,255,.28))}.district-progress-chart-pulse-halo{r:2.75px;stroke-width:.68;filter:drop-shadow(0 0 7px rgba(111,231,255,.72)) drop-shadow(0 0 21px rgba(76,207,255,.36))}.district-progress-chart-pulse-halo--population{r:2.46px;filter:drop-shadow(0 0 6px rgba(240,254,255,.54)) drop-shadow(0 0 18px rgba(130,220,255,.28))}.district-progress-chart-pulse{r:1.28px}.cinematic-export-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:26;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at 50% 46%,#55acd61f,#06090f99 62%,#06090fbd);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:opacity .16s ease}.cinematic-export-overlay.is-visible{opacity:1;pointer-events:auto}.cinematic-export-card{width:min(440px,calc(100vw - 44px));border:1px solid rgba(220,244,255,.1);border-radius:24px;padding:18px 18px 16px;background:linear-gradient(145deg,#232a35f0,#0f141cf7);box-shadow:inset 1px 1px #ffffff0e,inset -1px -1px #0000005c,0 26px 70px #0000006b,0 0 34px #66dcff0f}.cinematic-export-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;color:#ebf9fff0}.cinematic-export-head span{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.cinematic-export-head strong{font-size:18px;font-weight:760;color:#eefcfffa;text-shadow:0 0 14px rgba(128,225,255,.24)}.cinematic-export-lead,.cinematic-export-status,.cinematic-export-meta{margin:9px 0 0;color:#d3e5efc2;font-size:11px;line-height:1.45}.cinematic-export-status{min-height:16px;color:#e8f8ffeb;font-weight:640}.cinematic-export-meta{min-height:16px;color:#b6cfddad;font-size:10px}.cinematic-export-track{height:9px;margin-top:14px;overflow:hidden;border-radius:999px;background:linear-gradient(180deg,#070b11c7,#1d253185);box-shadow:inset 5px 5px 12px #03060b75,inset -3px -3px 8px #ffffff06}.cinematic-export-fill{height:100%;width:0%;border-radius:inherit;background:linear-gradient(90deg,#3ca6ffbd,#7deefff5,#f5fdfffa);box-shadow:0 0 16px #6ce0ff6b,0 0 32px #6ab8ff2e;transition:width .12s linear}.cinematic-export-actions{display:grid;grid-template-columns:1fr;gap:9px;margin-top:15px}.cinematic-export-action{min-height:34px;border:1px solid rgba(220,244,255,.1);border-radius:14px;background:linear-gradient(145deg,#2b3341eb,#141922f5);color:#e7f9ffeb;font-size:11px;font-weight:720;letter-spacing:.035em;cursor:pointer;box-shadow:inset 0 1px #ffffff0e,0 10px 22px #0000002e,0 0 14px #6ed8ff08}.cinematic-export-action:hover,.cinematic-export-action:focus-visible{color:#fff;border-color:#dcf8ff40;outline:none;box-shadow:inset 0 1px #ffffff14,0 0 0 2px #a8e5ff0f,0 12px 26px #00000040,0 0 20px #82e1ff14}.cinematic-export-action:disabled{cursor:wait;opacity:.54}.cinematic-export-action--ghost{background:linear-gradient(145deg,#1f2530a3,#0e1219c7);color:#d3e5efc2}.cinematic-export-actions.is-running .cinematic-export-action:not(.cinematic-export-action--ghost){display:none}.stage-screen-button--cinematic-export.is-active{color:#fff;border-color:#aaefff52;box-shadow:inset 0 1px #ffffff17,0 0 0 2px #a8e5ff14,0 12px 26px #0000004d,0 0 22px #82e1ff21}.stage-screen-button--cinematic-export:disabled{cursor:wait;opacity:.62}@media(max-width:760px){.cinematic-export-overlay{padding:14px}.cinematic-export-card{width:min(390px,calc(100vw - 28px));padding:15px;border-radius:22px}.cinematic-export-head span{font-size:11px}.cinematic-export-head strong{font-size:16px}}.app-shell.is-cinematic-cli-export{grid-template-columns:minmax(0,1fr);gap:0;padding:0}.app-shell.is-cinematic-cli-export .sidebar{display:none}.app-shell.is-cinematic-cli-export .visual-shell{border-radius:0;box-shadow:none}.app-shell.is-cinematic-cli-export .stage-screen-actions{opacity:0;pointer-events:none}.app-shell.is-cinematic-cli-export .district-progress-panel{left:28px;bottom:34px;right:auto;top:auto}.app-shell.is-cinematic-cli-export #play-pause.is-paused-progress .player-icon svg,.app-shell.is-cinematic-cli-export #play-pause .player-icon svg{animation:none;opacity:.92;transform:none;color:#ebfbffeb;filter:drop-shadow(0 0 4px rgba(190,244,255,.18))}.app-shell.is-cinematic-cli-export #play-pause.is-paused-progress{color:#ebfbffe0}.app-shell.is-cinematic-cli-export{--cinematic-export-ui-scale: 1}.app-shell.is-cinematic-cli-export .player-panel{left:calc(18px * var(--cinematic-export-ui-scale));top:calc(18px * var(--cinematic-export-ui-scale));transform:scale(var(--cinematic-export-ui-scale));transform-origin:top left}.app-shell.is-cinematic-cli-export .compass-overlay{top:calc(10px * var(--cinematic-export-ui-scale));right:calc(10px * var(--cinematic-export-ui-scale));transform:scale(var(--cinematic-export-ui-scale));transform-origin:top right}.app-shell.is-cinematic-cli-export .district-progress-panel{left:calc(28px * var(--cinematic-export-ui-scale));bottom:calc(34px * var(--cinematic-export-ui-scale));transform:scale(var(--cinematic-export-ui-scale));transform-origin:bottom left}.app-shell.is-cinematic-cli-export .bottom-bar--debug{right:auto;width:calc(100% / var(--cinematic-export-ui-scale));transform:scale(var(--cinematic-export-ui-scale));transform-origin:bottom left}.app-shell.is-cinematic-cli-export .stage-performance-badge{right:calc(62px * var(--cinematic-export-ui-scale));bottom:calc(22px * var(--cinematic-export-ui-scale));transform:scale(var(--cinematic-export-ui-scale));transform-origin:bottom right}.control-row--route-detail .route-density-chip--detail.is-loading{color:#f6fbff;background:radial-gradient(circle at 50% 16%,rgba(178,245,255,.12),transparent 42%),linear-gradient(180deg,#2d343ffc,#1d242efc)}.control-row--route-detail .route-density-chip--detail.is-loading:after{content:"";position:absolute;left:14%;right:14%;bottom:7px;height:1px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(190,252,255,.88),transparent);box-shadow:0 0 10px #80eeff57;animation:high-detail-loading-scan 1.15s ease-in-out infinite}.control-row--route-detail .route-density-chip--detail.is-loading .mode-chip-meta{color:#defaffeb;text-shadow:0 0 8px rgba(160,238,255,.34)}@keyframes high-detail-loading-scan{0%,to{opacity:.24;transform:translate(-18%)}50%{opacity:1;transform:translate(18%)}}.brand-word{color:#eef7fff5;font-weight:400;letter-spacing:.012em;text-shadow:0 0 14px rgba(145,191,216,.1)}.brand-region{color:#00deff;font-weight:700;letter-spacing:.045em;text-transform:lowercase;text-shadow:0 0 16px rgba(0,222,255,.45)}.language-switcher--menu{position:relative;display:inline-grid;place-items:center;margin-top:0;margin-right:-6px}.language-menu-toggle{min-width:42px;height:28px;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:0 7px;border:1px solid rgba(225,244,255,.1);border-radius:999px;background:linear-gradient(145deg,#2a3240d1,#141922e0);color:#daf1ffd6;box-shadow:inset 0 1px #ffffff0e,0 10px 22px #0003,0 0 14px #6ed8ff07;cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:color .14s ease,border-color .14s ease,box-shadow .14s ease,transform .14s ease}.language-menu-toggle:hover,.language-menu-toggle:focus-visible,.language-menu-toggle[aria-expanded=true]{color:#fff;border-color:#dcf8ff3d;box-shadow:inset 0 1px #ffffff16,0 0 0 2px #a8e5ff0e,0 12px 26px #00000042,0 0 18px #82e1ff13;outline:none;transform:translateY(-1px)}.language-menu-icon{width:15px;height:15px;display:block}.language-menu-current{color:#cfe1eec7;font-size:8px;font-weight:840;letter-spacing:.08em;line-height:1}.language-menu{position:absolute;right:0;top:calc(100% + 9px);z-index:60;display:grid;gap:5px;min-width:142px;padding:8px;border:1px solid rgba(225,244,255,.12);border-radius:17px;background:linear-gradient(145deg,#1c232ff0,#0d121bf0);box-shadow:16px 20px 36px #0000004d,inset 1px 1px #ffffff0e,inset -8px -10px 22px #00000029;-webkit-backdrop-filter:blur(16px) saturate(1.18);backdrop-filter:blur(16px) saturate(1.18)}.language-menu[hidden]{display:none}.language-option{display:grid;grid-template-columns:30px 1fr;align-items:center;gap:8px;min-height:34px;padding:5px 8px 5px 6px;border:0;border-radius:12px;background:transparent;color:#d2e2eec2;cursor:pointer;text-align:left}.language-option span{display:inline-grid;place-items:center;min-width:28px;min-height:22px;border-radius:999px;background:#0d121b70;color:#9ae2ffc7;font-size:9px;font-weight:880;letter-spacing:.08em}.language-option strong{font-size:11px;font-weight:760;letter-spacing:.02em}.language-option:hover,.language-option:focus-visible,.language-option.is-active{background:linear-gradient(180deg,#2f3744bd,#202733c7);color:#fff;outline:none}.stage-screen-button--info{font-size:14px;font-weight:900;letter-spacing:.02em}.info-panel--about .credits-kicker,.info-panel--credits .credits-kicker{color:#a0acbbe0}@media(max-width:760px){.language-menu-toggle{min-width:40px;height:27px;padding-inline:7px}.language-menu{right:-2px;min-width:136px}.stage-screen-button--info{display:grid}}.stage-screen-button--district-data .stage-screen-icon--data{width:17px;height:17px;filter:drop-shadow(0 0 5px rgba(126,226,255,.1))}.stage-screen-button--district-data .stage-data-bar{color:#dcf4ffe6;filter:drop-shadow(0 0 4px rgba(137,229,255,.2));transform-box:fill-box;transform-origin:50% 100%;transition:opacity .14s ease,filter .14s ease,transform .14s ease}.stage-screen-button--district-data.is-enabled .stage-data-bar{color:#a6effffa;filter:drop-shadow(0 0 7px rgba(137,229,255,.36));transform:scaleY(1.04)}.info-panel{width:min(760px,calc(100vw - 36px));max-height:min(78vh,860px);overflow:auto}.info-panel-title-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.info-panel-head{display:grid;gap:0;margin-bottom:16px}.info-panel-tabs{display:inline-flex;align-items:center;gap:8px;padding:6px;border-radius:999px;border:1px solid var(--panel-border);background:linear-gradient(180deg,#1f242cf5,#15191ff5);box-shadow:inset 0 1px #ffffff0a,inset 0 -8px 16px #0000002e,0 10px 22px #00000024;width:fit-content}.info-panel-tab{border:0;border-radius:999px;padding:10px 14px;min-width:114px;background:transparent;color:#ced6e0c2;font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:color .14s ease,background .14s ease,box-shadow .14s ease,transform .14s ease}.info-panel-tab:hover,.info-panel-tab:focus-visible{color:#ecf7ffeb;outline:none}.info-panel-tab.is-active{color:#f1f6fcfa;background:linear-gradient(145deg,#424c5cf5,#2a313df5);box-shadow:inset 0 1px #ffffff14,inset 0 -8px 14px #00000029,0 10px 22px #00000029,0 0 16px #6ed8ff07}.info-panel-view[hidden]{display:none}.info-overview-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start}.info-panel-subsection{padding:14px 16px 16px;border-radius:20px;border:1px solid rgba(255,255,255,.036);background:radial-gradient(circle at 10% 0%,rgba(145,191,216,.035),transparent 32%),linear-gradient(180deg,#1f242c8f,#161a2075);box-shadow:inset 0 1px #ffffff08,inset 0 -10px 18px #0000001a}.info-panel-subsection--credits{min-height:100%}.info-panel-copy{padding:8px 2px 2px;border:0;background:transparent;box-shadow:none}.info-panel-copy p{margin:0 0 22px}.info-panel-copy p:last-child{margin-bottom:0}.info-panel-subheading{margin-bottom:6px;color:#a0acbbe0;font-size:.68rem;font-weight:900;letter-spacing:.2em;text-transform:uppercase}.info-panel-subcopy{margin-bottom:14px!important;color:#a3afbedb!important;font-size:.84rem}.info-nav-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 18px}.info-nav-item{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.055)}.info-nav-item:nth-last-child(-n+2){border-bottom:0}.info-nav-icons{display:inline-flex;flex-wrap:wrap;align-items:center;gap:5px}.info-panel-subsection--navigation{padding-top:12px}.info-nav-icons .nav-shortcut-icon{width:28px;height:28px}.info-nav-icons .nav-shortcut-icon--text{min-width:28px;padding-inline:8px}.info-nav-icons .nav-shortcut-icon--space{min-width:56px}.info-nav-icons .nav-shortcut-icon--shift{min-width:58px}.info-nav-icons .nav-shortcut-icon--wide{min-width:84px}.info-nav-icons .nav-shortcut-icon svg{width:17px;height:17px}.info-nav-label{color:#e7edf4e6;font-size:.81rem;line-height:1.28;font-weight:700}@media(max-width:760px){.info-panel{width:min(640px,calc(100vw - 24px));max-height:min(82vh,760px)}.info-panel-head{gap:12px}.info-panel-tabs{width:100%}.info-panel-tab{flex:1 1 0;min-width:0;padding-inline:12px}.info-nav-grid{grid-template-columns:1fr;gap:0}.info-nav-item:nth-last-child(-n+2){border-bottom:1px solid rgba(255,255,255,.055)}.info-nav-item:last-child{border-bottom:0}}.toggle-row--sonification{grid-template-columns:minmax(0,1fr) 22px 72px;column-gap:8px}.toggle-row--sonification>.hint-label{grid-column:1;grid-row:1}.toggle-row--sonification>input[type=checkbox]{grid-column:2;grid-row:1;justify-self:center}.toggle-row--sonification>.alpha-details{grid-column:3;grid-row:1;justify-self:end;width:72px}.toggle-row--sonification .alpha-chip{width:72px;min-width:72px;max-width:72px}@media(min-width:761px){.player-panel{left:16px;top:16px;width:248px;grid-template-columns:auto minmax(52px,auto);column-gap:10px;row-gap:8px;padding:8px 10px 9px;border-radius:16px;border-color:#e1f4ff0e;background:linear-gradient(145deg,#1d232da8,#0e121abd);box-shadow:inset 0 1px #ffffff0a,0 10px 24px #0003,0 0 18px #57c6ff05;-webkit-backdrop-filter:blur(11px);backdrop-filter:blur(11px)}.player-panel .player-controls{border-radius:12px;background:linear-gradient(180deg,#1d232cbd,#11161ecc);box-shadow:inset 1px 1px #ffffff05,inset -1px -1px #0003}.player-panel .player-button{flex:0 0 36px;min-height:28px;color:#e1f1ffc2;background:linear-gradient(180deg,#222832bd,#191f28c7)}.player-panel .player-button:first-child{border-radius:12px 0 0 12px}.player-panel .player-button:last-child{border-radius:0 12px 12px 0}.player-panel .player-button+.player-button{box-shadow:inset 1px 0 #ffffff06,inset 2px 0 7px #05080d3d}.player-panel .player-button:hover,.player-panel .player-button:focus,.player-panel .player-button:focus-visible{color:#f6fcfff0;background:linear-gradient(180deg,#272e39d1,#1d232dd6)}.player-panel .player-button:active,.player-panel .player-button.is-active,.player-panel .player-button--primary.is-active,.player-panel .player-button--toggle.is-active{background:linear-gradient(180deg,#29303bd6,#161c25e0);box-shadow:inset 3px 3px 7px #05080d6b,inset -2px -2px 5px #ffffff0b}.player-icon,.player-icon svg,#loop-toggle .player-icon svg,.player-button--primary .player-icon svg{width:14px;height:14px}#play-pause .player-icon svg,#player-back .player-icon svg,#player-forward .player-icon svg{width:13.5px;height:13.5px}.player-panel .player-meta{min-width:52px;color:#deeaf6c7;font-size:9.4px;letter-spacing:.005em}.player-panel .player-scrub{padding:1px 4px 0}.player-panel .player-timeline{height:5px;background:linear-gradient(180deg,#141921f5,#1f252ef0);box-shadow:inset 2px 2px 5px #080a0e70,inset -1px -1px 3px #ffffff08}.player-panel .player-timeline-fill{left:2px;height:7px;width:calc(var(--progress) - 4px);max-width:calc(100% - 4px);box-shadow:0 0 9px #7cfff26b,0 0 3px #ffffff85 inset}.player-panel .player-timeline-thumb{width:15px;height:15px;border-width:1.5px;box-shadow:0 0 0 2px #7cfff21f,4px 4px 10px #080a0e47,-1px -1px 4px #ffffff17}}.stage-screen-actions{right:18px;bottom:18px;gap:5px}.stage-screen-button{width:28px;height:28px;border-radius:10px;border-color:#e1f4ff13;background:linear-gradient(145deg,#242c39b8,#10151dcc);color:#def2ffc7;font-size:12px;box-shadow:inset 0 1px #ffffff0a,0 8px 18px #0000002e,0 0 10px #6ed8ff05;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.stage-screen-button:hover,.stage-screen-button:focus-visible,.stage-screen-button.is-active{color:#fffffff0;border-color:#dcf8ff2e;box-shadow:inset 0 1px #ffffff0e,0 9px 20px #00000038,0 0 12px #82e1ff0b}.stage-screen-icon{width:13.5px;height:13.5px}.stage-screen-button--text{font-size:7.8px;letter-spacing:.035em}.stage-screen-button--state.is-disabled:before{left:5px;right:5px;height:1.8px;box-shadow:0 0 5px #d2f4ff3d}.stage-performance-badge{right:58px;bottom:18px}.visual-shell:fullscreen .stage-screen-actions{right:22px;bottom:22px}.visual-shell:fullscreen .stage-performance-badge{right:62px;bottom:22px}@media(max-width:760px){.player-panel{width:min(212px,calc(100vw - 32px));column-gap:9px;row-gap:8px;padding:8px 10px 10px;border-radius:15px}.player-panel .player-button{flex-basis:29px;min-height:26px}.player-panel .player-scrub{padding-top:1px}.player-panel .player-timeline-thumb{width:16px;height:16px}.player-panel .player-meta{min-width:50px;font-size:9.6px}.stage-screen-actions{right:max(9px,env(safe-area-inset-right));bottom:max(9px,env(safe-area-inset-bottom));gap:6px}.stage-screen-actions .stage-screen-button{width:31px;height:31px;border-radius:12px;font-size:12px}.stage-screen-actions .stage-screen-icon{width:14px;height:14px}}@media(max-width:760px){.sidebar{top:max(8px,env(safe-area-inset-top));right:0;bottom:max(8px,env(safe-area-inset-bottom));left:auto;width:min(392px,92vw);max-width:none;height:auto;max-height:none;padding:12px 14px max(18px,env(safe-area-inset-bottom));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border:1px solid rgba(225,244,255,.08);border-right:0;border-radius:24px 0 0 24px;background:linear-gradient(180deg,#232831fb,#151920fe);box-shadow:-18px 0 44px #0000005c,inset 1px 0 #ffffff09;transform:translate(calc(100% + 24px));opacity:1;pointer-events:none;z-index:70}.app-shell.is-mobile-options-open .sidebar{transform:translate(0);pointer-events:auto}.mobile-options-backdrop{z-index:69;background:#05080e75;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sidebar-brand{position:sticky;top:-12px;width:calc(100% + 28px);margin:-12px -14px 8px;padding:12px 14px;border-radius:24px 0 0}.sidebar-brand .brand-row{position:relative;top:auto;margin:0;padding:0}.sidebar-brand .sidebar-copy{display:block}.stage-screen-actions{z-index:71}.app-shell.is-mobile-options-open .stage-screen-actions{opacity:1}}@media(max-width:760px)and (orientation:landscape){.sidebar{width:min(392px,86vw)}}@media(max-width:760px){.info-panel-subsection--navigation{display:none}}
