:root{color-scheme:dark;font-family:Trebuchet MS,Segoe UI,sans-serif;background:#b7ab9300;color:#0000}*{box-sizing:border-box}html,body,#root{margin:0;background:#0000;min-height:100%}body{min-height:100vh;background:#0000;color:#0000}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;opacity:.55;pointer-events:none}button,input{font:inherit}.page-shell{min-height:100dvh;padding:clamp(6px,1vh,14px)}.page-shell--tutorial{position:relative}.dashboard-frame{max-width:1480px;margin:0 auto;height:calc(100dvh - clamp(12px,2vh,28px));background:linear-gradient(180deg,#1b1b1afa,#171716f2),linear-gradient(135deg,rgba(255,255,255,.03),transparent 42%);border:1px solid rgba(255,255,255,.08);border-radius:28px;box-shadow:0 24px 70px #00000061,inset 0 1px #ffffff0a;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);overflow:hidden;display:grid;grid-template-rows:auto auto minmax(0,1fr)}.tutorial-backdrop{display:none}.tutorial-card{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:32;width:min(360px,calc(100% - 32px));padding:18px;border-radius:22px;background:linear-gradient(180deg,#271e32fa,#18141ff5),#121114fa;border:1px solid rgba(220,195,255,.24);box-shadow:0 22px 60px #00000073,inset 0 1px #ffffff0a}.tutorial-step-count{display:inline-flex;margin-bottom:8px;color:#dcc3ff;font-size:.6rem;text-transform:uppercase;letter-spacing:.18em;font-family:Bahnschrift,Arial Narrow,sans-serif}.tutorial-card h2{margin:0;font-size:1.18rem;line-height:1}.tutorial-card p{margin:10px 0 0;color:#f4efe2bd;line-height:1.45;font-size:.84rem}.tutorial-progress{display:flex;gap:8px;margin-top:16px}.tutorial-progress-dot{flex:1 1 0;height:4px;border-radius:999px;background:#ffffff24}.tutorial-progress-dot--active{background:linear-gradient(90deg,#9b5cff,#dcc3ff);box-shadow:0 0 12px #9b5cff52}.tutorial-actions,.tutorial-actions-right{display:flex;align-items:center}.tutorial-actions{justify-content:space-between;gap:12px;margin-top:18px}.tutorial-actions-right{gap:8px}.tutorial-button{border:0;border-radius:12px;padding:9px 13px;cursor:pointer;font-weight:700}.tutorial-button--ghost{background:#ffffff0f;color:#f4efe2e0}.tutorial-button--primary{background:linear-gradient(180deg,#b174ff,#7c44d0);color:#fff;box-shadow:0 8px 24px #9b5cff47}.tutorial-checkbox-label{display:inline-flex;align-items:center;gap:8px;cursor:pointer;color:#f4efe2e0;font-size:.85rem}.tutorial-checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#9b5cff}.tutorial-highlight{position:relative;z-index:33;border:3px solid rgba(220,195,255,1)!important;box-shadow:0 0 0 4px #9b5cff99,0 0 50px #9b5cff,inset 0 1px #fff3!important}.tutorial-target-parent{position:relative;z-index:31}.page-shell--tutorial .sticky-topbar{z-index:31}.sticky-topbar{position:sticky;top:0;z-index:10;padding:8px 12px 6px;background:linear-gradient(180deg,#181818fa,#181818eb);border-bottom:1px solid rgba(255,255,255,.06)}.brand-row,.panel-title-row,.timeline-headline-row,.track-label-row,.track-label-row-bottom,.rep-panel-head,.event-card-head,.rep-row-top,.map-status-row,.timeline-controls,.progress-card-stack,.legend-row{display:flex;align-items:center}.brand-row,.timeline-headline-row,.panel-title-row,.track-label-row,.track-label-row-bottom,.rep-panel-head,.map-status-row{justify-content:space-between}.brand-block{display:flex;align-items:center;gap:10px}.brand-icon{width:16px;height:16px;border-radius:6px;background:linear-gradient(180deg,#9b5cff,#7a4acc);box-shadow:0 0 20px #9b5cff6b}.eyebrow,.panel-kicker,.progress-title,.rules-title,.track-label-row span,.track-label-row-bottom span,.rep-panel-head span,.map-status-row span,.scenario-tab span,.section-tab,.day-block span,.tick-label,.event-hour-badge,.topbar-chip{text-transform:uppercase;letter-spacing:.16em;font-family:Bahnschrift,Arial Narrow,sans-serif}.brand-block h1,.panel-title-row h2,.event-card h2,.clock-pill strong,.progress-card strong,.rep-panel-head strong,.rep-meta-group strong,.map-status-row strong{font-family:Bahnschrift,Arial Narrow,sans-serif}.brand-block h1{margin:0;font-size:clamp(1.38rem,1.8vw,1.88rem);line-height:.95;letter-spacing:.03em}.eyebrow{margin:0 0 2px;font-size:.52rem;color:#ffffff8a}.subtitle{margin:2px 0 0;max-width:680px;color:#f4efe2ad;font-size:clamp(.7rem,.9vh,.8rem)}.topbar-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border-radius:999px;background:#e9b74a14;border:1px solid rgba(233,183,74,.18);color:#e9b74a;font-size:.6rem}.chip-dot{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 12px currentColor}.timeline-card{margin-top:6px}.section-tabs{display:inline-flex;flex-wrap:wrap;gap:6px}.section-tab{padding:5px 8px;border-radius:999px;color:#ffffff70;border:1px solid rgba(255,255,255,.08);font-size:.56rem}.section-tab--active{color:#f8f2e4;background:#ffffff12}.timeline-controls{gap:8px}.play-button{border:0;border-radius:10px;padding:8px 12px;background:linear-gradient(180deg,#f6d77d,#d5a94e);color:#1a140f;font-weight:700;cursor:pointer}.clock-pill{display:grid;gap:2px;min-width:96px;padding:6px 8px;border-radius:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.07)}.clock-pill strong{font-size:.9rem;color:#f7f0dff5}.clock-pill span{color:#f4efe2a3;font-size:.62rem}.timeline-shell-card,.map-panel,.info-panel,.event-card,.progress-card,.scenario-tab,.rep-row,.rules-panel{background:#ffffff08;border:1px solid rgba(255,255,255,.18);box-shadow:inset 0 1px #ffffff05}.timeline-shell-card{margin-top:8px;padding:8px 10px;border-radius:22px}.timeline-band-row{display:flex;overflow:hidden;border-radius:14px;margin-bottom:8px;border:1px solid rgba(255,255,255,.06)}.day-block{display:flex;align-items:center;justify-content:center;min-height:22px;background:#ffffff0a;color:#ffffff73}.day-block:nth-child(odd){background:#ffffff12}.day-block--active{background:linear-gradient(180deg,#51d8ea2e,#51d8ea14);color:#d9fbff}.timeline-slider-wrap{position:relative;padding:8px 0 6px}.timeline-dividers,.timeline-events-layer,.tick-label-row{position:absolute;inset:0 0 auto;pointer-events:none}.timeline-dividers{top:4px;bottom:4px}.timeline-divider{position:absolute;top:0;bottom:0;width:1px;background:#ffffff1a}.timeline-events-layer{top:-2px;height:14px}.event-dot{position:absolute;top:0;width:8px;height:8px;border-radius:50%;border:2px solid #1b1b1a;background:#f0d983;transform:translate(-50%);box-shadow:0 0 0 2px #f0d98333}.event-dot--past{opacity:.46}.event-dot--major{top:-3px;width:14px;height:14px;background:radial-gradient(circle at 35% 35%,#fff3c1,#f2865c 58%,#cf3535);border-color:#26160f;box-shadow:0 0 0 3px #f2a75c2e,0 0 18px #f2a75c6b}.event-dot--active{width:10px;height:10px;opacity:1;box-shadow:0 0 0 4px #f0d98333,0 0 18px #f0d98380}.event-dot--major.event-dot--active{top:-4px;width:16px;height:16px;box-shadow:0 0 0 4px #f2a75c38,0 0 24px #f2a75c80}.timeline-slider{width:100%;margin:0;background:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.timeline-slider::-webkit-slider-runnable-track{height:10px;border-radius:999px;background:linear-gradient(180deg,#ffffff14,#ffffff0a);border:1px solid rgba(255,255,255,.08)}.timeline-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;margin-top:-6px;border-radius:50%;border:3px solid #131211;background:linear-gradient(180deg,#f7f0de,#d6b66b);box-shadow:0 0 0 4px #d6b66b1f}.timeline-slider::-moz-range-track{height:10px;border-radius:999px;background:linear-gradient(180deg,#ffffff14,#ffffff0a);border:1px solid rgba(255,255,255,.08)}.timeline-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;border:3px solid #131211;background:linear-gradient(180deg,#f7f0de,#d6b66b);box-shadow:0 0 0 4px #d6b66b1f}.timeline-track-group{position:relative;padding-top:4px}.track-label{color:#f4efe2d6;font-size:1rem}.track-label-row{margin-bottom:6px;color:#f4efe280;font-size:.58rem}.track-label-row-bottom{margin-top:6px;color:#f4efe280;font-size:.58rem}.owner-track,.takeover-track{position:relative;height:10px;overflow:hidden;border-radius:999px;background:#ffffff0a;border:1px solid rgba(255,255,255,.07)}.takeover-track{margin-top:8px}.owner-segment,.takeover-span,.track-cursor{position:absolute;top:0;bottom:0}.owner-segment--none{background:repeating-linear-gradient(135deg,#ffffff14 0,#ffffff14 6px,#ffffff05 6px,#ffffff05 12px)}.takeover-span{border:1px solid transparent;border-radius:999px}.takeover-span--complete{box-shadow:0 0 14px #ffffff14}.track-cursor{width:2px;background:#f7e4a8;box-shadow:0 0 12px #f7e4a859}.tick-label-row{position:relative;height:16px;margin-top:6px}.tick-label{position:absolute;top:0;transform:translate(-50%);font-size:.56rem;color:#f4efe273}.timeline-lower-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.9fr);gap:8px;margin-top:8px}.event-card,.progress-card{border-radius:18px;padding:10px}.event-card--major{background:linear-gradient(180deg,#f2a75c1f,#f2a75c08),#ffffff08;border-color:#f2a75c47;box-shadow:inset 0 1px #ffffff08,0 0 0 1px #f2a75c14}.event-card h2,.panel-title-row h2{margin:0}.event-card p,.progress-card p,.rules-panel li,.scenario-tab strong,.rep-row span,.rep-panel-head span,.map-status-row span{color:#f4efe2ad}.event-card p,.progress-card p{margin:4px 0 0;line-height:1.35;font-size:.78rem}.event-hour-badge{display:inline-flex;padding:4px 7px;border-radius:999px;margin-right:6px;background:#f0d9831f;color:#f0d983;font-size:.54rem}.event-hour-badge--major{background:#f2a75c2e;color:#ffd39a}.event-major-pill{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;margin-right:8px;background:#f2a75c1f;border:1px solid rgba(242,167,92,.24);color:#ffcf93;text-transform:uppercase;letter-spacing:.14em;font-family:Bahnschrift,Arial Narrow,sans-serif;font-size:.52rem}.progress-card-stack{gap:8px}.progress-card-stack{align-items:stretch}.progress-card{flex:1 1 0}.progress-title{color:#ffffff75;font-size:.56rem}.progress-card strong{display:block;margin-top:4px;font-size:.88rem}.content-grid{display:grid;grid-template-columns:minmax(240px,.62fr) minmax(0,1.65fr) minmax(280px,.8fr);gap:12px;padding:8px 14px 14px;min-height:0;align-items:stretch;overflow:hidden}.rules-column{min-width:0}.map-panel,.info-panel{border-radius:24px;padding:10px;min-height:0;overflow:hidden}.panel-kicker{color:#ffffff94;font-size:.56rem}.panel-title-row h2{margin-top:4px;font-size:clamp(.92rem,1.2vw,1.08rem);line-height:1.14}.panel-tag{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;background:#ffffff0d;color:#f4efe2b8;border:1px solid rgba(255,255,255,.08)}.map-frame{position:relative;margin-top:8px;overflow:hidden;border-radius:22px;border:1px solid rgba(255,255,255,.07);aspect-ratio:4 / 3;max-height:min(44vh,460px)}.map-frame img,.map-frame svg{display:block;width:100%;height:100%}.map-frame svg{position:absolute;top:0;right:0;bottom:0;left:0}.zone-label{font-family:Bahnschrift,Arial Narrow,sans-serif;font-size:18px;letter-spacing:.14em;dominant-baseline:middle;paint-order:stroke;stroke:#100f0da6;stroke-width:5px}.zone-label--static{fill:#f4efe2b3}.zone-pulse{transform-origin:center;animation:zonePulse 2.8s ease-in-out infinite}@keyframes zonePulse{0%,to{opacity:.78}50%{opacity:1}}.map-status-row{gap:8px;margin-top:8px}.map-status-row article{flex:1 1 0;min-width:0;padding:10px;border-radius:16px;background:#ffffff08;border:1px solid rgba(255,255,255,.06)}.map-status-row strong{display:block;margin-top:4px;font-size:.88rem}.panel-title-row--info{align-items:flex-start;margin-bottom:10px;padding:10px 12px 12px;border-radius:18px;background:linear-gradient(180deg,#ffffff0b,#ffffff05);border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 1px #ffffff0d}.panel-title-row--info .panel-kicker{display:inline-block;margin-bottom:3px;color:#7ee2f1d6}.panel-title-row--info h2{margin-top:0;color:#f7f0dff5}.scenario-selector{display:grid;gap:10px;margin-top:10px}.scenario-tab{display:grid;gap:6px;width:100%;padding:12px 14px;border-radius:18px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,#ffffff14,#ffffff08),#111318b8;box-shadow:inset 0 1px #ffffff14,0 8px 18px #0003;text-align:left;color:#f7f0df;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:transform .14s ease,border-color .14s ease,background .14s ease,box-shadow .14s ease,color .14s ease}.scenario-tab span{font-size:.56rem;color:#f7f0dfb8}.scenario-tab strong{font-size:.8rem;font-weight:700;line-height:1.22}.scenario-tab:hover{transform:translateY(-1px);border-color:#7ee2f14d;background:linear-gradient(180deg,#7ee2f11a,#ffffff0a),#15191fe6;box-shadow:inset 0 1px #ffffff1a,0 12px 22px #00000047}.scenario-tab:focus-visible{outline:none;border-color:#7ee2f1b3;box-shadow:inset 0 1px #ffffff1a,0 0 0 3px #51d8ea2e,0 12px 24px #0000004d}.scenario-tab:active{transform:translateY(0);background:linear-gradient(180deg,#7ee2f124,#ffffff08),#13171df5}.scenario-tab--active{border-color:#51d8ea80;background:linear-gradient(180deg,#51d8ea33,#51d8ea0f),#ffffff0d;box-shadow:inset 0 1px #ffffff14,inset 0 0 0 1px #51d8ea29,0 12px 26px #18657033}.scenario-tab--active span{color:#dffaffd1}.scenario-tab--active strong{color:#fff}.legend-row{gap:8px;flex-wrap:wrap;margin-top:8px}.legend-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 9px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:#ffffff05;color:#f4efe2d6}.legend-chip i,.rep-dot{display:inline-block;border-radius:50%}.legend-chip i{width:10px;height:10px}.rep-panel{margin-top:8px}.rep-panel-head{margin-bottom:6px}.rep-panel-head strong{font-size:.76rem}.rep-list{display:grid;gap:6px}.rep-row{border-radius:18px;padding:8px}.rep-row--leader{border-color:#51d8ea57;background:linear-gradient(180deg,rgba(81,216,234,.1),transparent),#ffffff08}.rep-row--neutral{opacity:.8}.rep-row-top{justify-content:space-between;gap:8px}.rep-label-group,.rep-meta-group{display:inline-flex;align-items:center;gap:8px}.rep-dot{width:10px;height:10px}.rep-tag{display:inline-flex;align-items:center;justify-content:center;padding:4px 7px;border-radius:999px;font-size:.58rem;color:#f4efe2b8;background:#ffffff0f}.rep-bar-shell{height:10px;overflow:hidden;margin-top:6px;border-radius:999px;background:#ffffff0d}.rep-bar-fill{height:100%;min-width:2px;border-radius:999px;transition:width .18s ease,background .18s ease}.rep-bar-fill--neutral{background:repeating-linear-gradient(135deg,#ffffff2e 0,#ffffff2e 8px,#ffffff0f 8px,#ffffff0f 16px)}.rules-panel{height:100%;margin-top:0;padding:8px;border-radius:18px}.rules-title{display:inline-block;margin-bottom:8px;color:#ff5858;font-size:1.2rem}.rules-panel ul{margin:0;padding-left:16px;display:grid;gap:8px}.rules-panel li{line-height:1.35;font-size:1rem}@media(max-width:1120px){.timeline-lower-grid,.content-grid{grid-template-columns:1fr}.rules-column{order:3}.progress-card-stack{flex-direction:column}.map-frame{max-height:min(38vh,420px)}}@media(max-width:900px){.page-shell{padding:12px}.sticky-topbar,.content-grid{padding-left:14px;padding-right:14px}.brand-row,.timeline-headline-row,.panel-title-row,.map-status-row{flex-direction:column;align-items:flex-start}.timeline-controls,.panel-tag{margin-top:14px}}@media(max-width:640px){.zone-label{font-size:17px}.clock-pill{min-width:0}}@media(max-height:940px){.brand-block h1{font-size:clamp(1.55rem,2.15vw,2.1rem)}.sticky-topbar,.content-grid{padding-left:16px;padding-right:16px}.timeline-shell-card,.map-panel,.info-panel,.event-card,.progress-card,.rules-panel{border-radius:18px}.content-grid{gap:14px}.map-frame{max-height:min(34vh,360px)}}@media(max-height:820px){.page-shell{padding:8px}.dashboard-frame{min-height:calc(100dvh - 16px)}.sticky-topbar{padding-top:12px;padding-bottom:10px}.brand-row,.brand-block{gap:12px}.subtitle{display:none}.timeline-card{margin-top:10px}.timeline-shell-card{padding:12px}.day-block span,.tick-label,.track-label-row span,.rep-panel-head span,.map-status-row span,.scenario-tab span,.section-tab,.event-hour-badge,.topbar-chip{font-size:.55rem}.timeline-lower-grid{grid-template-columns:minmax(0,1.25fr) minmax(240px,.8fr)}.content-grid{gap:12px;padding-top:10px;padding-bottom:12px}.scenario-selector,.rep-list{gap:8px}.scenario-tab,.rep-row,.rules-panel,.map-status-row article{padding:10px}.map-frame{margin-top:12px;max-height:min(30vh,280px)}.map-status-row{margin-top:10px}}
