:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#eef3ee;background:#081018;font-synthesis:none;text-rendering:optimizeLegibility;font-weight:400}
*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid #b6edcf;outline-offset:3px}
.vortex-root{position:relative;width:100%;height:100%;background:#071019;overflow:hidden;isolation:isolate}
.vortex-viewport,.canvas-host{position:absolute;inset:0;width:100%;height:100%;overflow:hidden}
.canvas-host canvas.scene-canvas{display:block;width:100%;height:100%;touch-action:pan-y}
.vortex-viewport:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:linear-gradient(90deg,rgba(4,13,20,.72) 0%,rgba(4,13,20,.29) 25%,transparent 58%,rgba(4,13,20,.19) 79%,rgba(4,13,20,.40) 100%),linear-gradient(0deg,rgba(3,10,16,.59),transparent 17%,transparent 75%,rgba(3,10,16,.30));}
.ui-shell{position:absolute;z-index:10;inset:0;pointer-events:none}.hud{position:absolute;inset:0;pointer-events:none}.hud button,.hud input,.controls-panel,.restore-ui,.mobile-settings{pointer-events:auto}
.topbar{position:absolute;top:0;left:0;right:0;height:85px;padding:0 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(227,247,244,.11);background:linear-gradient(180deg,rgba(7,20,27,.71),rgba(7,20,27,.15));}
.brand-lockup,.brand-text,.top-right,.status-chip,.top-stat,.ef-row,.story-stats,.panel-top,.slider-label,.ef-details,.radar-head,.radar-flex,.feed-title,.feed-item,.dock-body,.transport,.camera-switch,.camera-options,.section-caption,.dock-label,.control-note,.ef-panel-label,.brand-emblem{display:flex;align-items:center}
.brand-lockup{gap:14px}.brand-emblem{width:38px;height:38px;color:#a4e5d4;border:1px solid rgba(170,240,215,.3);justify-content:center;transform:rotate(-18deg);background:rgba(22,64,68,.24)}.brand-text{align-items:flex-start;flex-direction:column;gap:2px}.brand-text b{letter-spacing:.16em;font-weight:800;font-size:16px}.brand-dot{color:#f7a871}.brand-text small{font-size:8px;letter-spacing:.20em;color:#a4bab6;font-weight:700}.division{margin-left:13px;font-size:9px;letter-spacing:.14em;color:#819b9e}.top-right{gap:32px}.status-chip{gap:9px;border:1px solid rgba(148,230,194,.24);border-radius:2px;background:rgba(10,42,36,.55);padding:10px 12px;font-size:9px;font-weight:800;letter-spacing:.15em;color:#b7f3cf}.status-led,.radar-led{width:6px;height:6px;background:#a3efbd;border-radius:100%;box-shadow:0 0 0 4px rgba(124,238,178,.1),0 0 12px #91e9bc;animation:breathing 2s infinite}.top-stat{flex-direction:column;align-items:flex-start;gap:4px;min-width:70px}.top-stat small{color:#79959a;letter-spacing:.15em;font-size:9px;font-weight:800}.top-stat b{font-family:ui-monospace,"SFMono-Regular",Consolas,monospace;font-size:16px;color:#e1e7e2;letter-spacing:.04em}.top-stat i{font-size:10px;font-style:normal;color:#79969d}
.left-stack{position:absolute;left:34px;top:calc(85px + 30px);width:350px;max-height:calc(100vh - 390px);}.edition{font-size:10px;color:#dce5df;letter-spacing:.2em;font-weight:800;display:flex;gap:10px;align-items:center}.edition-bar{height:15px;width:3px;background:#f3a06f;box-shadow:0 0 10px #f3a06f}.edition-code{font-family:ui-monospace,monospace;color:#c98c6d;letter-spacing:.06em}.left-stack h1{font-size:clamp(43px,4.4vw,70px);font-weight:900;line-height:.94;letter-spacing:-.075em;margin:15px 0 16px;text-shadow:0 4px 32px rgba(0,0,0,.45);}.left-stack h1 em{font-style:normal;color:#f4f4e8}.orange-period{color:#ffad78}.subtitle{font-size:10px;font-weight:800;letter-spacing:.10em;color:#e0ddd2;white-space:nowrap}.subtitle-divider{color:#e89c69;margin:0 6px}.scene-caption{line-height:1.65;font-size:12px;color:#afbec0;max-width:310px;margin:15px 0 23px;font-weight:450}
.ef-panel{width:340px;background:linear-gradient(135deg,rgba(7,21,27,.80),rgba(11,31,37,.61));border:1px solid rgba(171,205,207,.23);padding:18px 20px 15px;backdrop-filter:blur(20px);box-shadow:0 14px 60px rgba(0,0,0,.15)}.ef-panel-label{font-size:9px;color:#a2b7b9;letter-spacing:.14em;font-weight:800;justify-content:space-between}.ef-panel-label span{color:#fbb088}.ef-row{justify-content:space-between;gap:19px;margin-top:12px;margin-bottom:10px}.ef-number,.ef-wind{display:flex;flex-direction:column;gap:0}.ef-number small,.ef-wind small{font-size:8px;letter-spacing:.11em;color:#7a9a9d;font-weight:800;margin-bottom:1px}.ef-number strong{font-size:54px;color:#f8f4e5;letter-spacing:-.075em;line-height:1;font-weight:850}.ef-divider{height:45px;width:1px;background:rgba(175,212,214,.19)}.ef-wind strong{font-size:29px;line-height:1.4;font-family:ui-monospace,Consolas,monospace;color:#f7b38d;white-space:nowrap}.ef-wind strong span{font-size:9px;color:#aabfc0;letter-spacing:.10em}.intensity-bars{display:flex;gap:5px;height:5px}.intensity-bars span{height:100%;flex:1;background:rgba(152,170,167,.18)}.intensity-bars span.lit:nth-child(1){background:#8dd5bd}.intensity-bars span.lit:nth-child(2){background:#b0caa7}.intensity-bars span.lit:nth-child(3){background:#cfba82}.intensity-bars span.lit:nth-child(4){background:#d99e72}.intensity-bars span.lit:nth-child(5){background:#e17b61}.intensity-bars span.lit:nth-child(6){background:#e05054}.ef-foot{display:flex;justify-content:space-between;margin-top:8px;color:#748e94;font-size:8px;letter-spacing:.14em;font-weight:800}.story-stats{margin-top:17px;justify-content:space-between;gap:12px;width:340px}.story-stats>div{display:flex;flex-direction:column;border-left:1px solid rgba(170,204,207,.32);padding-left:12px;gap:3px}.story-stats small{font-size:8px;letter-spacing:.025em;color:#99adb1;font-weight:800;white-space:nowrap}.story-stats b{font-size:24px;font-weight:700;font-family:ui-monospace,Consolas,monospace;color:#f0f5ed;line-height:1.2}.story-stats span{font-size:8px;letter-spacing:.15em;color:#799497;font-weight:800}
.controls-panel{position:absolute;right:32px;top:105px;width:335px;padding:21px 22px 14px;background:linear-gradient(145deg,rgba(8,22,30,.94),rgba(7,25,32,.89));border:1px solid rgba(180,213,218,.23);backdrop-filter:blur(25px);box-shadow:0 18px 55px rgba(0,0,0,.27),inset 0 1px rgba(255,255,255,.025);max-height:calc(100vh - 235px);overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#3b595d transparent;scrollbar-width:thin}.panel-top{justify-content:space-between;padding-bottom:18px;border-bottom:1px solid rgba(163,196,204,.15)}.panel-heading{font-size:12px;letter-spacing:.14em;font-weight:850;color:#f1f3e9}.panel-version{font-family:ui-monospace,Consolas,monospace;font-size:9px;color:#779c9c}.control-section{padding-top:16px}.section-caption{gap:9px;color:#f4b184;font-size:10px;font-family:ui-monospace,Consolas,monospace;font-weight:700;letter-spacing:.03em;margin-bottom:14px}.section-caption span{font:800 9px ui-sans-serif,system-ui;letter-spacing:.1em;color:#a1b7b9}.ef-choices{display:grid;grid-template-columns:repeat(6,1fr);gap:5px}.ef-choices button{height:34px;font-size:10px;font-family:ui-monospace,Consolas,monospace;font-weight:800;border:1px solid rgba(138,169,172,.21);background:rgba(125,154,158,.075);color:#acbfc0;transition:.18s}.ef-choices button:hover{background:rgba(165,207,203,.22)}.ef-choices button.active{background:#e7aa81;color:#0b1a20;border-color:#f1c19d;box-shadow:0 0 20px rgba(240,155,105,.2)}.ef-details{justify-content:space-between;margin:11px 0 0;font-size:8px;letter-spacing:.07em;color:#7d9a9e}.ef-details b{color:#dfb18c;font-size:10px;font-family:ui-monospace,monospace}.slider-block{display:block;margin:0 0 17px;cursor:default}.slider-label{justify-content:space-between;margin-bottom:12px;font-size:11px;color:#d5deda;font-weight:550}.slider-label output{color:#ecb18e;font:700 11px ui-monospace,Consolas,monospace}.slider-block input[type=range]{height:3px;border-radius:5px;appearance:none;width:100%;display:block;background:linear-gradient(90deg,#c9e4cf var(--progress,50%),rgba(137,168,173,.21) var(--progress,50%));margin:0;cursor:pointer;outline:none}.slider-block input[type=range]::-webkit-slider-thumb{appearance:none;border-radius:50%;height:13px;width:13px;border:3px solid #dff8df;background:#3f826e;box-shadow:0 0 0 4px rgba(145,215,173,.12)}.slider-block input[type=range]::-moz-range-thumb{border-radius:50%;height:9px;width:9px;border:3px solid #dff8df;background:#3f826e;box-shadow:0 0 0 4px rgba(145,215,173,.12)}.atmosphere-section{border-top:1px solid rgba(163,196,204,.15);margin-top:3px}.control-note{gap:10px;color:#7d9da0;font-size:10px;line-height:1.45;padding:11px 0 0;border-top:1px solid rgba(163,196,204,.13)}.control-note svg{color:#aadccf;flex-shrink:0}
.bottom-left{position:absolute;left:34px;bottom:119px;display:flex;gap:12px;align-items:flex-end}.radar-card{width:245px;background:rgba(6,23,29,.76);border:1px solid rgba(164,203,200,.2);padding:11px 14px 9px;backdrop-filter:blur(14px)}.radar-head{justify-content:space-between;margin-bottom:6px}.radar-head b{color:#e3f1e6;font-size:9px;letter-spacing:.14em}.radar-head span{color:#98dabb;font-size:8px;letter-spacing:.08em;display:flex;gap:7px;align-items:center}.radar-led{width:5px;height:5px}.radar-flex{gap:5px}.radar-card canvas{width:150px;height:150px;image-rendering:auto}.radar-details{display:flex;flex-direction:column;gap:3px;min-width:55px;max-width:65px}.radar-details small{font-size:8px;color:#78959b;font-weight:850;margin-top:7px;white-space:nowrap}.radar-details b{font-size:10px;color:#c7ded6;white-space:nowrap;font-family:ui-monospace,Consolas,monospace}.radar-details .compass-mark{font-size:14px;color:#f5b082;font-style:normal}.impact-feed{width:180px;background:rgba(6,23,29,.62);border-left:1px solid rgba(164,203,200,.25);padding:12px;backdrop-filter:blur(12px)}.feed-title{font-size:9px;color:#e6e9e4;letter-spacing:.12em;font-weight:800;justify-content:space-between}.feed-title span{font-size:8px;color:#e9b083}.feed-empty{font-size:10px;line-height:1.5;color:#739398;margin-top:9px}.feed-item{justify-content:space-between;gap:6px;font-size:9px;font-weight:650;color:#edbaa0;border-bottom:1px solid rgba(163,196,204,.1);padding:7px 0;white-space:nowrap}.feed-item small{font-size:8px;color:#769294}
.bottom-dock{position:absolute;bottom:17px;left:50%;transform:translateX(-50%);width:min(900px,calc(100vw - 380px));min-width:650px;padding:12px 17px 13px;background:linear-gradient(135deg,rgba(6,21,29,.96),rgba(10,28,37,.94));border:1px solid rgba(172,208,205,.28);box-shadow:0 12px 60px rgba(0,0,0,.34);backdrop-filter:blur(20px)}.dock-label{gap:8px;font-size:9px;color:#b7cdc8;font-weight:800;letter-spacing:.12em;margin-bottom:10px}.dock-label>span{color:#668f94}.dock-hint{font-size:8px;letter-spacing:.02em;font-weight:550}.dock-body{gap:16px;justify-content:space-between}.transport{gap:9px}.primary-action{display:flex;align-items:center;justify-content:center;gap:8px;padding:0 20px;height:37px;border:0;background:#a9dfca;color:#0b2426;min-width:113px;font-size:11px;font-weight:900;letter-spacing:.08em;transition:.2s}.primary-action:hover{background:#c0f7df}.icon-button{height:37px;width:37px;display:flex;align-items:center;justify-content:center;background:rgba(158,192,193,.08);border:1px solid rgba(145,188,186,.23);color:#cfddd8;transition:.2s}.icon-button:hover{background:rgba(158,192,193,.21)}.text-button{background:transparent;border:1px solid rgba(145,188,186,.23);padding:0 10px;height:37px;color:#a6bdc0;font-size:10px;white-space:nowrap;font-weight:750;display:flex;align-items:center;gap:8px}.text-button .slow-dot{width:7px;height:7px;border:1px solid #6e969a;border-radius:50%}.text-button.active{border-color:#f2b485;color:#f2bc94;background:rgba(226,144,91,.11)}.text-button.active .slow-dot{background:#efaf83;border-color:#efaf83;box-shadow:0 0 9px #e3a677}.dock-separator{width:1px;align-self:stretch;background:rgba(163,196,204,.18)}.camera-switch{gap:16px}.camera-switch>span{display:flex;align-items:center;gap:6px;font-size:9px;color:#b3c7c6;letter-spacing:.09em;font-weight:800;white-space:nowrap}.camera-options{gap:3px;background:rgba(2,13,19,.52);padding:3px}.camera-options button{border:0;background:transparent;color:#91aaad;height:31px;padding:0 12px;font-size:9px;letter-spacing:.08em;font-weight:800;transition:.16s}.camera-options button:hover{color:#e2f4eb}.camera-options button.active{color:#0c2528;background:#b0e4d2}.help-line{position:absolute;bottom:8px;left:35px;font-size:8px;color:#819da2;letter-spacing:.10em;font-weight:700}.help-line span{padding:0 4px;color:#be9174}.corner-marker{position:absolute;right:34px;bottom:8px;font-size:8px;color:#739296;letter-spacing:.08em;font-weight:700}.restore-ui{position:absolute;right:20px;bottom:20px;padding:12px 15px;display:flex;align-items:center;gap:10px;background:rgba(11,30,36,.88);border:1px solid rgba(173,220,212,.35);color:#d9e9e1;font-size:10px;font-weight:800;letter-spacing:.10em;opacity:0;transform:translateY(120px);transition:opacity .25s,transform .25s;pointer-events:none}.ui-hidden .hud{opacity:0;pointer-events:none;visibility:hidden}.ui-hidden .restore-ui{opacity:1;transform:translateY(0);pointer-events:auto}.mobile-settings{display:none}@keyframes breathing{0%,100%{opacity:1}50%{opacity:.42}}
@media(max-width:1400px){.controls-panel{right:22px;width:309px;padding:19px}.bottom-dock{width:min(750px,calc(100vw - 425px))}.left-stack{left:24px;width:320px}.ef-panel,.story-stats{width:318px}.bottom-left{left:24px}.scene-caption{max-width:280px}.camera-options button{padding:0 9px}}
@media(max-width:1160px){.impact-feed{display:none}.left-stack h1{font-size:52px}.left-stack{width:295px}.ef-panel,.story-stats{width:293px}.ef-panel{padding:15px}.story-stats{gap:5px}.story-stats small{font-size:7px}.top-right{gap:18px}.bottom-dock{min-width:600px;left:auto;right:15px;transform:none;width:620px}.controls-panel{width:290px;right:15px}.radar-card{width:220px}.radar-card canvas{width:128px;height:128px}.camera-switch{gap:7px}.camera-switch>span{font-size:8px}.camera-options button{padding:0 8px}}
@media(max-height:810px) and (min-width:781px){.controls-panel{top:90px;max-height:calc(100vh - 202px)}.left-stack{top:104px}.scene-caption{margin:10px 0 13px}.left-stack h1{margin:10px 0}.ef-panel{padding:12px 15px}.ef-number strong{font-size:46px}.story-stats{margin-top:10px}.bottom-left{bottom:108px}.radar-card canvas{width:112px;height:112px}.radar-card{width:202px}.radar-details small{margin-top:4px}.bottom-dock{bottom:12px;padding:10px 14px}.help-line,.corner-marker{display:none}}
@media(min-width:781px) and (max-width:990px){.left-stack{width:255px}.left-stack h1{font-size:44px}.ef-panel,.story-stats{width:253px}.scene-caption{font-size:11px}.ef-wind strong{font-size:24px}.bottom-left{display:none}.bottom-dock{width:600px;right:15px}.division{display:none}.top-stat:first-of-type{display:none}.topbar{padding:0 18px}.controls-panel{top:90px;max-height:calc(100vh - 200px)}}
@media(max-width:780px){.topbar{height:60px;padding:0 14px}.brand-emblem{width:32px;height:32px}.brand-text b{font-size:14px}.brand-text small{font-size:7px}.division,.top-stat,.status-chip{display:none}.left-stack{top:82px;left:15px;width:270px;max-height:none}.edition{font-size:9px}.left-stack h1{font-size:49px;margin:10px 0}.subtitle{font-size:8px;white-space:normal}.scene-caption{display:none}.ef-panel{width:240px;padding:10px 12px;margin-top:12px}.ef-number strong{font-size:40px}.ef-wind strong{font-size:21px}.ef-row{gap:10px;margin:9px 0}.ef-divider{height:31px}.ef-panel-label{font-size:8px}.story-stats{display:none}.controls-panel{position:absolute;top:auto;left:10px;right:10px;width:auto;max-height:min(57vh,480px);bottom:101px;padding:16px 18px;transform:translateY(calc(100% + 120px));opacity:0;transition:transform .27s,opacity .27s;pointer-events:none;border-color:rgba(169,220,205,.4);z-index:5}.hud.settings-open .controls-panel{transform:translateY(0);opacity:1;pointer-events:auto}.mobile-settings{display:flex;position:absolute;top:72px;right:11px;gap:7px;align-items:center;padding:10px 8px;border:1px solid rgba(179,214,207,.35);color:#d2eee1;font-size:9px;font-weight:850;background:rgba(6,24,31,.86);letter-spacing:.06em}.mobile-settings svg{width:13px;height:13px}.hud.settings-open .mobile-settings{background:#b0e4d2;color:#0b2930}.bottom-left{left:12px;bottom:105px}.radar-card{display:none}.impact-feed{display:none}.bottom-dock{bottom:9px;left:8px;right:8px;transform:none;min-width:0;width:auto;padding:9px 10px}.dock-label{font-size:8px;margin-bottom:7px}.dock-hint{display:none}.dock-body{gap:8px;flex-wrap:wrap}.transport{gap:5px}.primary-action{height:34px;min-width:85px;padding:0 10px;font-size:9px}.icon-button{width:34px;height:34px}.text-button{height:34px;font-size:9px;padding:0 8px}.camera-switch{gap:6px;flex:1;justify-content:flex-end}.camera-switch>span{display:none}.camera-options{gap:1px}.camera-options button{padding:0 8px;font-size:8px;height:28px}.dock-separator{display:none}.hide-action{display:flex;width:30px}.help-line,.corner-marker{display:none}.vortex-viewport:after{background:linear-gradient(90deg,rgba(4,13,20,.6),transparent 76%),linear-gradient(0deg,rgba(3,10,16,.55),transparent 40%)} }
@media(max-width:420px){.left-stack{top:75px}.left-stack h1{font-size:43px}.ef-panel{width:225px}.ef-wind strong{font-size:20px}.mobile-settings{font-size:8px}.camera-options button{padding:0 6px}.bottom-dock{padding:9px 7px}.primary-action{min-width:77px}.ef-panel-label{font-size:7px}}
@media(max-height:620px) and (max-width:780px){.left-stack h1{font-size:37px}.ef-panel{display:none}.left-stack{top:68px}.controls-panel{max-height:55vh;bottom:92px}.bottom-dock{bottom:5px}.mobile-settings{top:72px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
