:root{font-family:'DM Sans',Inter,system-ui,sans-serif;color:#e9eff4;background:#0a121a;font-synthesis:none;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#app{margin:0;width:100%;height:100%;overflow:hidden}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid #ddaa73;outline-offset:3px}#app{position:relative;background:radial-gradient(circle at 48% 40%,#30404c,#0a111a)}#viewport{position:absolute;inset:0;overflow:hidden}.simulation-canvas{display:block;width:100%;height:100%;touch-action:none}#interface-root{position:absolute;inset:0;pointer-events:none}.ui-shell{position:absolute;inset:0;overflow:hidden;pointer-events:none;color:#edf3f7}.ui-shell:before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(4,9,15,.73) 0%,rgba(4,9,15,.30) 27%,transparent 48%,transparent 65%,rgba(4,9,15,.1) 100%),linear-gradient(0deg,rgba(5,9,15,.74) 0%,transparent 29%,transparent 76%,rgba(5,9,15,.45) 100%)}.ui-shell:after{content:'';position:absolute;inset:0;pointer-events:none;opacity:.16;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.32' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:overlay}.hud-container{pointer-events:auto;position:absolute;z-index:2}.top-brand{top:34px;left:43px;display:flex;align-items:center;gap:25px}.logo{display:flex;align-items:center;gap:12px}.logo-icon{font-family:'Barlow Condensed',sans-serif;font-size:50px;font-weight:900;letter-spacing:-8px;line-height:1;color:#f0f4f7;transform:skew(-9deg)}.logo-icon span{color:#d1a172}.logo-names{display:flex;flex-direction:column;gap:5px}.logo-names strong{font-family:'Barlow Condensed',sans-serif;font-size:23px;font-weight:800;letter-spacing:.085em;line-height:1}.logo-names strong span{color:#d09a67}.logo-names small{font:9px 'DM Mono',monospace;letter-spacing:.16em;color:#a8b5bc}.top-divider{height:36px;width:1px;background:rgba(222,230,239,.25)}.scenario{display:flex;flex-direction:column;gap:7px}.scenario-kicker,.overline{color:#d2a575;letter-spacing:.16em;font:10px 'DM Mono',monospace}.scenario strong{font:11px 'DM Mono',monospace;letter-spacing:.06em;color:#d9e1e8}.top-right{right:430px;top:38px;display:flex;align-items:center;gap:23px;font:10px 'DM Mono',monospace;letter-spacing:.06em;color:#aab8c5}.signal{display:flex;align-items:center;gap:10px;color:#d5e0e3}.signal i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#b6d3b2;box-shadow:0 0 14px #b6d3b2;animation:pulse 2.3s infinite}.coordinates{opacity:.66}.left-heading{top:26%;left:44px;width:300px}.hero-rule{font:10px 'DM Mono',monospace;letter-spacing:.2em;color:#d3e1e9;display:flex;align-items:center;gap:12px}.rule-accent{height:1px;width:30px;background:#d4a371;display:block}.left-heading h1{font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-size:clamp(72px,8.2vw,145px);font-weight:900;line-height:.79;letter-spacing:-.025em;margin:23px 0 27px;text-shadow:0 12px 55px rgba(0,0,0,.25)}.left-heading h1 em{color:#d9aa79;font-style:normal}.left-heading h1>span{color:#d9aa79}.left-heading p{font-size:12px;line-height:1.85;color:#c1cbd1;max-width:265px;margin:0;letter-spacing:.015em}.storm-spec{border-top:1px solid rgba(229,239,244,.28);margin-top:24px;padding-top:15px;display:flex;flex-direction:column;gap:12px;font:9px 'DM Mono',monospace;letter-spacing:.1em;color:#acb7bd}.storm-spec span:first-child{color:#e7d8c0}.mini-marker{display:inline-block;width:5px;height:5px;border:1px solid #d6ae83;transform:rotate(45deg);margin-right:8px;vertical-align:middle}.control-panel{position:absolute;top:22px;right:22px;bottom:22px;width:374px;max-height:calc(100% - 44px);display:flex;flex-direction:column;background:rgba(10,18,28,.91);border:1px solid rgba(151,171,184,.21);box-shadow:0 24px 75px rgba(0,0,0,.28),inset 1px 0 rgba(255,255,255,.05);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.control-panel:before{content:'';position:absolute;left:-1px;top:0;height:68px;width:2px;background:linear-gradient(#d9b17b,transparent)}.panel-heading{display:flex;align-items:center;justify-content:space-between;padding:23px 25px 19px;border-bottom:1px solid rgba(217,231,244,.12);flex:0 0 auto}.panel-heading h2{font:700 28px 'Barlow Condensed',sans-serif;letter-spacing:.055em;margin:5px 0 0}.icon-button{background:rgba(255,255,255,.05);border:1px solid rgba(219,231,238,.13);color:#d6e3ed;width:31px;height:31px}.panel-collapse{display:none}.panel-scroll{padding:23px 23px 20px;overflow-y:auto;overflow-x:hidden;flex:1;scrollbar-color:#41505b transparent;scrollbar-width:thin}.control-actions{display:flex;gap:8px;margin-bottom:22px}.primary-button{flex:1;background:#d8ae7d;color:#131c27;font:700 12px 'DM Sans',sans-serif;letter-spacing:.075em;border:1px solid #dfbd96;padding:13px 12px;display:flex;align-items:center;justify-content:center;gap:10px;transition:background .2s,transform .2s}.primary-button:hover{background:#f0c998;transform:translateY(-1px)}.play-symbol{font-size:17px;font-weight:800;width:15px}.secondary-button{width:43px;display:grid;place-items:center;border:1px solid rgba(209,227,237,.24);background:rgba(255,255,255,.035);color:#d9e4ed}.secondary-button:hover{background:rgba(255,255,255,.14)}.section-separator{display:flex;justify-content:space-between;align-items:center;margin:20px 0 14px;gap:8px;font:9px 'DM Mono',monospace;color:#93a7b6;letter-spacing:.09em}.section-separator:after{content:'';flex:1;height:1px;background:rgba(229,235,241,.12);margin-left:7px}.section-separator .strength-readout{order:1;color:#d4ab7d;letter-spacing:.065em}.section-separator:has(.strength-readout):after{display:none}.ef-scale{display:grid;grid-template-columns:repeat(6,1fr);gap:5px}.ef-button{background:#182733;color:#8d9daa;border:1px solid #2d3a47;min-width:0;height:34px;font:600 11px 'DM Mono',monospace;transition:background .2s,border-color .2s,color .2s}.ef-button:hover{border-color:#d9af7b;color:#e4edf3}.ef-button.active{background:#d6aa76;border-color:#d6aa76;color:#101a24}.current-status{display:flex;justify-content:space-between;align-items:end;background:linear-gradient(110deg,rgba(164,125,83,.16),rgba(50,67,86,.06));border:1px solid rgba(214,171,118,.14);padding:12px 13px 13px;margin-top:13px}.current-status small{display:block;font:9px 'DM Mono',monospace;color:#9baebd;letter-spacing:.1em;margin-bottom:4px}.current-status strong{font:700 33px 'Barlow Condensed',sans-serif;letter-spacing:.03em;color:#e8d4b8;line-height:1}.current-status strong span{font-size:14px;color:#c5b49e}.status-bars{height:28px;display:flex;align-items:end;gap:4px}.status-bars span{width:5px;height:calc(5px + var(--i, 0)*3px);background:#3f4955;transform-origin:bottom}.status-bars span:nth-child(1){height:7px}.status-bars span:nth-child(2){height:12px}.status-bars span:nth-child(3){height:16px}.status-bars span:nth-child(4){height:20px}.status-bars span:nth-child(5){height:24px}.status-bars span:nth-child(6){height:28px}.status-bars span.lit{background:#d1a16c}.control-field{margin:0 0 18px}.control-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:6px}.control-top label{font-size:12px;color:#d4dce2;font-weight:600}.control-top output{font:11px 'DM Mono',monospace;color:#e5b783}.control-field input[type=range]{appearance:none;-webkit-appearance:none;width:100%;height:4px;border-radius:0;display:block;cursor:pointer;background:linear-gradient(to right,#d2a472 0%,#d2a472 var(--fill),#36424b var(--fill),#36424b 100%);margin:0}.control-field input[type=range]::-webkit-slider-thumb{appearance:none;width:13px;height:13px;border:2px solid #debd94;border-radius:2px;background:#132333;box-shadow:0 0 0 3px rgba(18,27,36,.8)}.control-field input[type=range]::-moz-range-thumb{width:10px;height:10px;border:2px solid #debd94;border-radius:2px;background:#132333}.field-ends{display:flex;justify-content:space-between;font:9px 'DM Mono',monospace;color:#7f8f9b;margin-top:11px}.camera-choices{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.camera-choice{border:1px solid rgba(139,159,173,.28);background:#182734;color:#9fafbe;min-width:0;padding:10px 0;font:10px 'DM Mono',monospace}.camera-choice.active{border-color:#d9b182;background:#35404b;color:#f6e4cc}.camera-choice:hover{color:#fff;border-color:#bac5d1}.toggle-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(205,222,234,.1);margin-top:20px;padding-top:18px}.toggle-row strong{display:block;font:11px 'DM Mono',monospace;letter-spacing:.065em}.toggle-row small{display:block;color:#8495a2;font-size:10px;margin-top:4px}.switch{width:40px;height:22px;background:#243544;border:1px solid #556674;border-radius:30px;padding:2px;display:flex;align-items:center}.switch span{width:16px;height:16px;border-radius:50%;background:#869aa8;transition:transform .2s,background .2s}.switch.on{border-color:#d4a676;background:#6a5745}.switch.on span{transform:translateX(17px);background:#f7c98f}.panel-footer{display:flex;justify-content:space-between;border-top:1px solid rgba(217,230,240,.13);margin-top:22px;padding-top:15px;color:#697d8a;font:8px 'DM Mono',monospace;letter-spacing:.07em}.center-reticle{top:47%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;flex-direction:column;gap:13px;opacity:.5;pointer-events:none}.reticle-inner{width:25px;height:25px;border:1px solid rgba(220,231,241,.65);position:relative}.reticle-inner:before,.reticle-inner:after{position:absolute;content:'';background:rgba(231,242,252,.6)}.reticle-inner:before{width:8px;height:1px;left:8px;top:11px}.reticle-inner:after{height:8px;width:1px;top:8px;left:11px}.center-reticle span{color:#d0dae2;font:8px 'DM Mono',monospace;letter-spacing:.11em;white-space:nowrap}.bottom-hud{left:44px;right:429px;bottom:75px;display:flex;align-items:flex-start;gap:25px;flex-wrap:wrap}.telemetry-card{display:flex;align-items:center;gap:12px;min-width:115px}.telemetry-icon{width:31px;height:31px;border:1px solid rgba(221,233,239,.23);display:flex;align-items:center;justify-content:center;color:#d7a674;font-size:18px}.telemetry-card small{display:block;font:9px 'DM Mono',monospace;letter-spacing:.08em;color:#9cafbb;white-space:nowrap}.telemetry-card strong{display:block;margin-top:4px;font:700 25px 'Barlow Condensed',sans-serif;line-height:1;color:#ecf2f6}.telemetry-card strong span{font-size:13px;color:#b1bbc1}.progress-container{width:100%;max-width:630px;position:relative;order:5}.progress-header{display:flex;justify-content:space-between;color:#99abb8;font:9px 'DM Mono',monospace;letter-spacing:.12em;margin-bottom:8px}.progress-line{height:3px;background:rgba(228,239,243,.25);width:100%}.progress-line span{height:100%;display:block;background:#d4a16d;box-shadow:0 0 11px #c89b65;transition:width .1s}.footer-meta{left:44px;right:430px;bottom:23px;display:flex;justify-content:space-between;gap:15px;font:9px 'DM Mono',monospace;color:#96a8b6;letter-spacing:.075em;border-top:1px solid rgba(223,234,240,.18);padding-top:12px}#visibility-toggle{position:absolute;z-index:5;pointer-events:auto;left:43px;top:103px;display:flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid rgba(220,232,241,.22);color:#d4dfe7;background:rgba(10,21,30,.38);font:9px 'DM Mono',monospace;letter-spacing:.08em;transition:background .2s}#visibility-toggle:hover{background:rgba(10,21,30,.85)}#visibility-toggle>span:first-child{color:#e4ac77;font-size:13px}kbd{font:9px 'DM Mono',monospace;color:#8799a8;border:1px solid rgba(196,215,225,.2);padding:3px 5px;margin-left:5px}.shortcut-tip{left:43px;bottom:180px;font:9px 'DM Mono',monospace;letter-spacing:.07em;color:#a2aeb5;white-space:nowrap}.shortcut-tip b{color:#d0a475;padding:0 5px}.interface-hidden .hud-container{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .24s,visibility .24s}.interface-hidden .top-brand,.interface-hidden .control-panel{opacity:0}.interface-hidden:before{opacity:0}.interface-hidden #visibility-toggle{background:rgba(7,13,21,.66)}#loading{position:absolute;inset:0;z-index:30;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;background:radial-gradient(ellipse at center,#1a2b3a,#07111b 70%);transition:opacity .7s,visibility .7s;pointer-events:auto}#loading.loaded{opacity:0;visibility:hidden;pointer-events:none}.loader-mark{font:900 88px 'Barlow Condensed',Impact,sans-serif;letter-spacing:-.13em;transform:skew(-9deg);line-height:1}.loader-mark span{color:#d6a775}.loader-name{font:800 18px 'Barlow Condensed',sans-serif;letter-spacing:.3em;margin-top:15px}.loader-name span{color:#d1a36e}.loader-line{height:2px;width:180px;background:#2e3a45;margin-top:25px;overflow:hidden}.loader-line i{display:block;width:55%;height:100%;background:#d4ab74;animation:load 1.2s infinite alternate ease-in-out}.loader-sub{font:10px 'DM Mono',monospace;letter-spacing:.18em;color:#758b9a}.startup-error{font-size:13px;color:#c3d3dc;max-width:300px;text-align:center;line-height:1.7}@keyframes load{from{transform:translateX(-100%)}to{transform:translateX(220%)}}@keyframes pulse{50%{opacity:.38;box-shadow:0 0 3px #b6d3b2}}
@media(max-width:1280px){.left-heading h1{font-size:92px}.left-heading{top:30%}.top-right{display:none}.telemetry-card{min-width:97px}.bottom-hud{gap:15px}.time-card{display:none}}@media(max-width:1050px){.control-panel{width:332px}.bottom-hud{right:374px;bottom:67px}.footer-meta{right:370px}.footer-meta span:last-child{display:none}.left-heading h1{font-size:83px}.left-heading p{max-width:225px}.left-heading{width:245px;top:26%}.scenario{display:none}.top-divider{display:none}.time-card{display:none}.telemetry-card{min-width:95px}}@media(max-width:800px){.top-brand{left:22px;top:23px}.left-heading{left:23px;top:27%;width:235px}.left-heading h1{font-size:79px}.left-heading p{font-size:11px;max-width:190px}.storm-spec{font-size:8px}.control-panel{top:15px;right:15px;bottom:15px;width:310px}.bottom-hud{left:23px;right:350px;bottom:63px;gap:10px}.telemetry-card{min-width:85px;gap:7px}.telemetry-card small{font-size:8px}.telemetry-icon{width:25px;height:25px}.footer-meta{left:23px;right:350px}.shortcut-tip{left:23px;bottom:172px}#visibility-toggle{left:23px;top:93px}}
@media(max-width:680px){.ui-shell{overflow:hidden}.ui-shell:before{background:linear-gradient(180deg,rgba(4,9,15,.55),transparent 24%,transparent 52%,rgba(4,9,15,.72) 100%)}.top-brand{top:16px;left:16px}.logo-icon{font-size:35px;letter-spacing:-6px}.logo-names strong{font-size:17px}.logo-names small{font-size:7px}.left-heading{top:84px;left:16px;width:220px;pointer-events:none}.hero-rule{font-size:8px}.left-heading h1{font-size:63px;line-height:.81;margin:15px 0 14px}.left-heading p{font-size:10px;line-height:1.5;max-width:193px}.storm-spec{display:none}.control-panel{top:auto;left:10px;right:10px;bottom:10px;width:auto;max-height:min(62vh,620px);z-index:5}.control-panel.collapsed{height:65px;max-height:65px;overflow:hidden}.control-panel.collapsed .panel-scroll{display:none}.panel-heading{padding:12px 16px 11px}.panel-heading h2{font-size:22px}.overline{font-size:8px}.panel-collapse{display:block;font-size:19px}.control-panel.collapsed .panel-collapse{transform:rotate(180deg)}.panel-scroll{padding:15px 17px 20px}.section-separator{margin-top:15px}.current-status{padding:9px 12px}.control-field{margin-bottom:15px}.bottom-hud{left:16px;right:16px;bottom:91px;gap:18px;z-index:1}.telemetry-icon{width:25px;height:25px}.telemetry-card strong{font-size:21px}.telemetry-card small{font-size:7px}.telemetry-card{min-width:0}.time-card{display:none}.progress-container{display:none}.footer-meta,.shortcut-tip,.center-reticle{display:none}#visibility-toggle{top:23px;left:auto;right:15px;padding:7px 9px;font-size:8px}#visibility-toggle kbd{display:none}.left-heading h1{max-width:190px}.ui-shell.interface-hidden .bottom-hud{display:none}}
@media(max-width:430px){.left-heading h1{font-size:53px}.left-heading p{font-size:9px;max-width:158px}.top-brand{left:13px}.logo-names small{display:none}.bottom-hud{gap:11px}.telemetry-card{gap:5px}.telemetry-card small{font-size:7px}.telemetry-card strong{font-size:19px}.telemetry-icon{width:21px;height:21px;font-size:14px}.control-panel{left:6px;right:6px;bottom:6px}#visibility-toggle{right:9px}.current-status strong{font-size:29px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}
