:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;background:#050712;color:#edfaff;font-synthesis:none}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;background:#050712}button{font:inherit}#world{position:fixed;inset:0;width:100%;height:100%;display:block;cursor:crosshair}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:8;background:radial-gradient(circle at center,transparent 40%,rgba(0,0,0,.33) 105%),repeating-linear-gradient(0deg,rgba(255,255,255,.008) 0,rgba(255,255,255,.008) 1px,transparent 1px,transparent 3px);mix-blend-mode:multiply}.screen{position:fixed;inset:0;z-index:20;display:grid;place-items:center;opacity:0;visibility:hidden;transition:opacity .65s ease,visibility .65s;background:radial-gradient(circle at 50% 42%,#0e26441a,#03040c94)}.screen--visible{opacity:1;visibility:visible}#loading{z-index:40;gap:18px;align-content:center;background:#050712;color:#dbf6ffa6;letter-spacing:.14em;font:10px Space Mono,monospace}.eyebrow{color:#7bddee;letter-spacing:.23em;font:700 10px Space Mono,monospace}.load-mark{display:flex;gap:9px;justify-content:center}.load-mark i{width:3px;height:34px;background:#65e1f4;box-shadow:0 0 18px #41c9ef;animation:load 1.1s ease-in-out infinite;transform:skew(-18deg)}.load-mark i:nth-child(2){animation-delay:.12s;height:48px}.load-mark i:nth-child(3){animation-delay:.24s}@keyframes load{0%,to{opacity:.25;transform:scaleY(.55) skew(-18deg)}50%{opacity:1;transform:scaleY(1) skew(-18deg)}}.hero-card{width:min(760px,calc(100vw - 40px));text-align:center;padding:30px;filter:drop-shadow(0 24px 70px rgba(0,0,0,.35))}h1{margin:10px 0 9px;font-size:clamp(60px,10vw,126px);line-height:.9;letter-spacing:-.075em;font-weight:600;text-shadow:0 0 45px rgba(75,211,239,.12)}h1 span{color:transparent;-webkit-text-stroke:1px rgba(158,233,255,.62)}.lede{max-width:550px;margin:20px auto 30px;color:#e1f1f6ad;font-size:14px;line-height:1.75}.controls{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;margin-bottom:28px}.controls span{border:1px solid rgba(139,217,232,.14);background:#08111d61;padding:8px 11px;color:#d9eff58c;font:9px Space Mono,monospace;letter-spacing:.05em}.controls em{color:#81e2f3d9;font-style:normal;margin-left:4px}kbd{color:#f3fdff;font:700 9px Space Mono,monospace}.frame-select{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;max-width:560px;margin:-10px auto 19px}.frame-option{clip-path:none;padding:10px 11px;border:1px solid rgba(137,223,239,.14);background:#050e198a;color:#d3eff573;box-shadow:none;display:grid;gap:3px}.frame-option strong{font:700 9px Space Mono,monospace;letter-spacing:.17em}.frame-option span{font:8px Space Mono,monospace;letter-spacing:.04em;text-transform:uppercase;opacity:.55}.frame-option:hover,.frame-option--selected{transform:none;border-color:#7eebfb9e;background:#39c2db1f;color:#c8f9ff;box-shadow:inset 0 0 22px #42dcf514}button{border:0;color:#061018;background:#b9f5ff;cursor:pointer;font:700 11px Space Mono,monospace;letter-spacing:.16em;padding:16px 26px;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);box-shadow:0 0 34px #63e2f933;transition:transform .18s,background .18s,box-shadow .18s}button:hover{transform:translateY(-2px);background:#fff;box-shadow:0 0 42px #63e2f96b}button small{display:block;opacity:.53;font-size:7px;letter-spacing:.14em;margin-top:5px}.micro{margin-top:17px;color:#cce7ee59;font:8px Space Mono,monospace;letter-spacing:.08em}.hud{position:fixed;inset:0;z-index:10;opacity:0;pointer-events:none;transition:opacity .4s;font-family:Space Mono,monospace}.hud--visible{opacity:1}.hud-top{position:absolute;left:34px;right:34px;top:25px;display:grid;grid-template-columns:1fr auto 1fr;align-items:start}.metric{display:grid;gap:4px}.metric--right{justify-items:end}.metric span,.chain span,.charge-wrap>span,.integrity span{font-size:8px;color:#abdde878;letter-spacing:.18em}.metric strong{font-size:19px;font-weight:400;letter-spacing:.05em}.route{display:flex;align-items:center;gap:11px;margin-top:5px;color:#bff0f89e;font-size:8px;letter-spacing:.17em}.route i{width:35px;height:1px;background:linear-gradient(90deg,transparent,#64d6ea)}.route i:last-child{transform:scaleX(-1)}.hud.weather--lift .route{color:#bafaff;text-shadow:0 0 13px rgba(74,230,255,.72)}.hud.weather--lift .route i{background:linear-gradient(90deg,transparent,#a2f7ff)}.hud.weather--shear .route{color:#ff91bd;text-shadow:0 0 13px rgba(255,52,134,.72)}.hud.weather--shear .route i{background:linear-gradient(90deg,transparent,#ff4c91)}.hud.weather--shear .wind-vector{color:#ff91bdbf}.hud.fracture--near .route{color:#ff8ab8;text-shadow:0 0 13px rgba(255,43,123,.72)}.hud.fracture--near .route i{background:linear-gradient(90deg,transparent,#ff3e86)}.reticle{position:absolute;top:50%;left:50%;display:flex;align-items:center;gap:8px;transform:translate(-50%,-50%);opacity:.4}.reticle i{width:22px;height:1px;background:linear-gradient(90deg,transparent,#cbf8ff)}.reticle i:last-child{transform:scaleX(-1)}.reticle b{width:4px;height:4px;border:1px solid #b7f5ff;transform:rotate(45deg)}.wind-vector{position:absolute;top:calc(50% + 31px);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;color:#b6e8f16e;font:7.7px Space Mono,monospace;letter-spacing:.11em}.wind-vector i{width:14px;height:14px;border-top:1px solid #79e9f8;display:block;transform-origin:center;transition:transform .12s linear}.wind-vector i:after{content:"";display:block;width:4px;height:4px;border-top:1px solid #79e9f8;border-right:1px solid #79e9f8;transform:translate(9px,-3px) rotate(45deg)}.hud-bottom{position:absolute;left:34px;right:34px;bottom:28px;display:grid;grid-template-columns:1fr minmax(220px,360px) 1fr;align-items:end;gap:30px}.chain,.integrity{display:grid;gap:5px}.chain strong{color:#93ebf8;font-size:29px;font-weight:400}.integrity{justify-items:end}.integrity strong{font-size:28px;font-weight:400}.integrity strong:after{content:"%";font-size:10px;opacity:.55}.charge-wrap{display:grid;gap:7px;text-align:center}.charge{height:7px;border:1px solid rgba(135,231,247,.24);position:relative;padding:2px}.charge i{display:block;width:35%;height:100%;background:#74deef;box-shadow:0 0 14px #44daf4a6;transition:width .13s linear}.charge b{position:absolute;bottom:10px;left:50%;transform:translate(-50%);white-space:nowrap;font-size:7px;font-weight:400;letter-spacing:.16em;color:#9ceef9;opacity:0;transition:opacity .2s}.charge b.visible{opacity:.8}.maneuvers{display:flex;justify-content:center;gap:15px;color:#b7e4ee66;font:7px Space Mono,monospace;letter-spacing:.08em}.maneuvers span{transition:color .16s,text-shadow .16s}.maneuvers span.active{color:#bcf7ff;text-shadow:0 0 11px rgba(85,225,247,.65)}.altitude-readout{position:absolute;right:34px;top:42%;display:grid;justify-items:end;gap:4px;font-family:Space Mono,monospace;text-align:right}.altitude-readout span{color:#a6e1ec73;font-size:7px;letter-spacing:.18em}.altitude-readout strong{color:#bef5ffd1;font-size:15px;font-weight:400;letter-spacing:.08em}.skill-badge{position:absolute;left:34px;top:42%;display:grid;gap:4px;font-family:Space Mono,monospace}.skill-badge span{color:#a6e1ec73;font-size:7px;letter-spacing:.18em}.skill-badge strong{color:#8eeeff;font-size:15px;font-weight:400;letter-spacing:.08em}.skill-badge.overdrive strong{color:#ff77ba;text-shadow:0 0 14px rgba(255,53,144,.85)}.flight-tutor{position:fixed;z-index:14;left:34px;top:104px;width:min(310px,calc(100vw - 68px));padding:14px 15px 13px;border-left:2px solid rgba(103,228,247,.8);background:linear-gradient(90deg,#030e19d1,#030e192b);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);opacity:0;transform:translate(-12px);pointer-events:none;transition:opacity .24s,transform .24s;font-family:Space Mono,monospace}.flight-tutor.visible{opacity:1;transform:translate(0)}.flight-tutor.acknowledged{border-left-color:#f889be}.flight-tutor>span,.skill-toast>span{display:block;margin-bottom:6px;color:#84e1f199;font-size:7px;letter-spacing:.18em}.flight-tutor>strong,.skill-toast>strong{display:block;color:#d7fbff;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.flight-tutor p,.skill-toast p{margin:6px 0 0;color:#d5f0f6a3;font-size:9px;line-height:1.55}.tutor-meter{height:2px;margin-top:11px;overflow:hidden;background:#81ddee1c}.tutor-meter i{display:block;width:0;height:100%;background:linear-gradient(90deg,#66e7f7,#f56aaf);box-shadow:0 0 10px #5ae0f6b3;transition:width .12s linear}.skill-toast{position:fixed;z-index:15;right:34px;top:99px;width:min(306px,calc(100vw - 68px));padding:15px 17px;border:1px solid rgba(255,98,174,.48);background:radial-gradient(circle at 100% 0,rgba(255,61,153,.2),transparent 48%),#050c17e0;box-shadow:0 15px 55px #00000057,inset 0 0 34px #4cd9f40f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;transform:translateY(-12px);pointer-events:none;transition:opacity .25s,transform .25s;font-family:Space Mono,monospace}.skill-toast.visible{opacity:1;transform:translateY(0)}.skill-toast>span{color:#ff89bf}.skill-toast>strong{color:#fff;font-size:14px}.diagnostics{position:fixed;z-index:30;top:18px;right:18px;width:260px;padding:15px;border:1px solid rgba(141,223,238,.22);background:#040a12e0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transform:translate(calc(100% + 30px));transition:transform .3s ease;font-family:Space Mono,monospace}.diagnostics.visible{transform:translate(0)}.diagnostics header{display:flex;align-items:center;justify-content:space-between;color:#c9f8ff;letter-spacing:.16em;font-size:9px}.diagnostics button{padding:6px 8px;font-size:8px;clip-path:none}.diagnostics dl{margin:17px 0;border-top:1px solid rgba(154,225,238,.12)}.diagnostics dl div{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(154,225,238,.1);font-size:9px}.diagnostics dt{color:#b8e1e966}.diagnostics dd{margin:0;color:#9feafb}.diagnostics p{margin:0;color:#b8e1e96b;font-size:8px;line-height:1.7}.result-card{width:min(720px,calc(100vw - 40px));text-align:center;border:1px solid rgba(134,224,239,.18);background:#060b16cc;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:34px 38px}.result-card h2{margin:10px 0 27px;font-size:32px;font-weight:500}.result-score{display:grid;gap:3px;margin-bottom:17px}.result-score span{color:#b7e4ed66;font:8px Space Mono,monospace;letter-spacing:.19em}.result-score strong{font:400 43px Space Mono,monospace;color:#a9f2ff}.result-card p{color:#d3edf294;font-size:12px;margin:0 0 26px}.upgrade-panel{margin:-4px 0 23px;padding:15px;border:1px solid rgba(129,222,238,.13);background:#08141f73}.upgrade-label{margin-bottom:10px;color:#9be3ef7a;font:7px Space Mono,monospace;letter-spacing:.18em}.upgrade-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.upgrade{clip-path:none;padding:11px 8px;border:1px solid rgba(128,220,237,.12);background:#060f198a;color:#dcf2f794;box-shadow:none;display:grid;gap:5px}.upgrade strong{font:700 8px Space Mono,monospace;letter-spacing:.13em}.upgrade span{font:7px Space Mono,monospace;line-height:1.45;opacity:.52;letter-spacing:.01em}.upgrade:hover,.upgrade.selected{transform:none;border-color:#78e8f994;color:#d8fbff;background:#3cc2da1f;box-shadow:inset 0 0 18px #49dcf40f}.upgrade:disabled{cursor:default;opacity:.45}.upgrade-status{margin-top:9px;color:#a7e1ec6b;font:7px Space Mono,monospace;letter-spacing:.08em}#flash{position:fixed;z-index:9;inset:0;pointer-events:none;opacity:0;background:radial-gradient(circle,transparent 15%,rgba(255,47,105,.62));mix-blend-mode:screen}#flash.hit{animation:hit .55s ease-out}#flash.phase{background:radial-gradient(circle,rgba(146,248,255,.7),transparent 65%);animation:phase .55s ease-out}@keyframes hit{0%{opacity:.9}to{opacity:0}}@keyframes phase{0%{opacity:.75}to{opacity:0}}@media(max-width:650px){.hud-top{left:16px;right:16px}.route{display:none}.hud-top{grid-template-columns:1fr 1fr}.hud-bottom{left:16px;right:16px;grid-template-columns:1fr 1fr}.charge-wrap{position:absolute;bottom:54px;left:15%;right:15%}.controls{display:grid}.frame-select,.upgrade-grid{grid-template-columns:1fr}.hero-card{padding:18px}.flight-tutor{left:16px;top:88px;width:calc(100vw - 32px)}.skill-toast{right:16px;top:88px;width:calc(100vw - 32px)}.altitude-readout{right:16px}.skill-badge{left:16px}}
