:root{color-scheme:light;--fpv-bg-a: #7aabd5;--fpv-bg-b: #dcecfb;--fpv-panel: rgba(8, 24, 38, .72);--fpv-panel-soft: rgba(11, 34, 52, .55);--fpv-panel-border: rgba(212, 233, 251, .28);--fpv-text: #f2f8ff;--fpv-muted: #b8cede;--fpv-accent: #52d0ff;--fpv-accent-strong: #1aa7db;--fpv-chip-bg: rgba(28, 60, 87, .7);--fpv-chip-border: rgba(157, 206, 243, .45);--fpv-safe-top: env(safe-area-inset-top, 0px);--fpv-safe-right: env(safe-area-inset-right, 0px);--fpv-safe-bottom: env(safe-area-inset-bottom, 0px);--fpv-safe-left: env(safe-area-inset-left, 0px)}*{box-sizing:border-box}html,body,#fpv-root{width:100%;height:100%;margin:0;padding:0}@supports (height: 100dvh){html,body,#fpv-root{height:100dvh}}body{font-family:Space Grotesk,Rajdhani,Helvetica Neue,Helvetica,Arial,sans-serif;background:radial-gradient(circle at 18% 8%,var(--fpv-bg-b),var(--fpv-bg-a));color:var(--fpv-text);overflow:hidden;min-height:100vh;min-height:100dvh;overscroll-behavior:none;-webkit-text-size-adjust:100%}.fpv-shell{position:relative;width:100%;height:100%}.fpv-shell.is-prestart{background:#dcecfb url(/art/textures/fpv-mountain-bg-3.png) center/cover no-repeat}.fpv-shell.is-simplified .fpv-result-actions .fpv-btn--ghost{display:none}.fpv-scene-host{position:absolute;top:0;right:0;bottom:0;left:0;transition:opacity .22s ease}.fpv-shell.is-prestart .fpv-scene-host{opacity:0;pointer-events:none}.fpv-canvas{width:100%;height:100%;display:block}.fpv-demo-hint{position:absolute;left:calc(1.2rem + var(--fpv-safe-left));bottom:calc(1.2rem + var(--fpv-safe-bottom));padding:.45rem .75rem;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--fpv-muted);background:#091a288c;border:1px solid var(--fpv-panel-border);border-radius:10px}.fpv-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:calc(1rem + var(--fpv-safe-top)) calc(1rem + var(--fpv-safe-right)) calc(1rem + var(--fpv-safe-bottom)) calc(1rem + var(--fpv-safe-left));display:grid;grid-template-rows:auto auto 1fr auto;gap:.6rem;pointer-events:none}.fpv-overlay.is-booting .fpv-topbar,.fpv-overlay.is-booting .fpv-high-score,.fpv-overlay.is-booting .fpv-prompt,.fpv-overlay.is-booting .fpv-equipment-panel,.fpv-overlay.is-booting .fpv-result-modal,.fpv-overlay.is-booting .fpv-bottom-hud{opacity:0;pointer-events:none}.panel-glass{background:var(--fpv-panel);border:1px solid var(--fpv-panel-border);border-radius:14px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.panel-glass-soft{background:var(--fpv-panel-soft);border:1px solid var(--fpv-panel-border);border-radius:12px}.fpv-loading{position:absolute;left:50%;top:50%;width:min(620px,calc(100vw - 2rem));transform:translate(-50%,-50%);padding:1.2rem 1.3rem;pointer-events:none;display:grid;gap:.55rem;box-shadow:0 18px 44px #010f1d61}.fpv-loading-eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;color:var(--fpv-muted)}.fpv-loading h1{margin:0;font-size:clamp(1.5rem,3vw,2.1rem)}.fpv-loading p{margin:0;color:var(--fpv-muted)}.fpv-loading-status{font-size:.92rem;margin-top:.2rem}.fpv-loading-track{width:100%;height:10px;border-radius:999px;background:#badcf833;overflow:hidden}.fpv-loading-fill{height:100%;width:0%;border-radius:999px;background:linear-gradient(90deg,#79e5ff,#2db9e5);transition:width .14s linear}.fpv-topbar{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(160px,1fr);gap:.75rem;padding:.65rem .75rem;max-width:34rem}.fpv-gauge{display:grid;gap:.2rem}.fpv-gauge small,.fpv-high-score small{font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;color:var(--fpv-muted)}.fpv-gauge-value{font-size:1.08rem;font-weight:700}.fpv-gauge-detail{font-size:.82rem;color:var(--fpv-muted)}.fpv-gauge-track{width:100%;height:6px;border-radius:999px;background:#cce6fd38;overflow:hidden}.fpv-gauge-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--fpv-accent),var(--fpv-accent-strong));transition:width .1s linear}.fpv-high-score{position:absolute;top:calc(1rem + var(--fpv-safe-top));right:calc(1rem + var(--fpv-safe-right));min-width:11rem;padding:.56rem .74rem;display:grid;gap:.2rem}.fpv-high-score-value{font-size:1.72rem;font-weight:700;line-height:1;color:#8be9ff}.fpv-prompt{margin:0;max-width:33rem;padding:.52rem .8rem;font-size:1.03rem}.fpv-equipment-panel{pointer-events:auto;align-self:center;justify-self:center;width:min(1020px,calc(100vw - 2rem));max-height:min(80vh,920px);max-height:min(80dvh,920px);overflow:hidden;padding:.95rem;display:grid;gap:.75rem}.fpv-equipment-header{display:grid;gap:.25rem}.fpv-equipment-header small{text-transform:uppercase;letter-spacing:.12em;color:var(--fpv-muted);font-size:.65rem}.fpv-equipment-header h2{margin:0;font-size:1.46rem}.fpv-equipment-header p{margin:0;color:var(--fpv-muted);font-size:.92rem;max-width:42rem}.fpv-equipment-tabs{display:flex;gap:.45rem}.fpv-equip-tab{border:1px solid var(--fpv-panel-border);background:#14345094;color:var(--fpv-text);font:inherit;border-radius:999px;padding:.35rem .9rem;cursor:pointer}.fpv-equip-tab.is-active{background:linear-gradient(125deg,#52d0ff47,#1aa7db47);border-color:#66e1ffb8}.fpv-equipment-layout{display:grid;grid-template-columns:1.7fr 1fr;gap:.75rem;min-height:0}.fpv-equip-cards{min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.55rem;padding-right:.2rem;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.fpv-item-card{border:1px solid rgba(173,215,247,.28);background:#122d47b3;color:var(--fpv-text);border-radius:12px;padding:.6rem;display:grid;gap:.4rem;text-align:left;cursor:pointer;font:inherit}.fpv-item-card strong{font-size:1rem}.fpv-item-card p{margin:0;color:var(--fpv-muted);font-size:.85rem;line-height:1.25;min-height:2.2rem}.fpv-item-card.is-active{border-color:#76eafff2;box-shadow:0 0 0 1px #68dcff8c inset}.fpv-card-chips{display:flex;flex-wrap:wrap;gap:.28rem}.fpv-card-chips span{background:var(--fpv-chip-bg);border:1px solid var(--fpv-chip-border);border-radius:999px;padding:.14rem .45rem;font-size:.74rem}.fpv-card-chips span.is-negative{border-color:#ff939394;color:#ffd1d1}.fpv-equip-summary{padding:.72rem;display:grid;gap:.62rem;align-content:start}.fpv-equip-summary h3,.fpv-equip-summary h4{margin:0}.fpv-selected-list{display:grid;gap:.35rem}.fpv-selected-list span{padding:.34rem .46rem;border-radius:8px;background:#16395499;border:1px solid rgba(164,214,248,.26);font-size:.86rem}.fpv-impact-list{display:grid;gap:.38rem}.fpv-impact-row{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.fpv-impact-row small{color:var(--fpv-muted);font-size:.73rem}.fpv-impact-row span{font-weight:700;font-size:.87rem}.fpv-impact-row span.is-negative{color:#ffd2d2}.fpv-bottom-hud{align-self:end;pointer-events:auto;display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;padding:.6rem .8rem}.fpv-bottom-hud span{font-size:.93rem}.fpv-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:999px;padding:.58rem 1rem;font-weight:700;letter-spacing:.02em;cursor:pointer;font-family:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.fpv-btn--primary{background:linear-gradient(135deg,#6be5ff,#21a8d7);color:#04263a}.fpv-btn--ghost{background:#ffffff1f;color:#e8f2ff;border:1px solid rgba(255,255,255,.2)}.fpv-btn--wide{width:100%}.fpv-btn:disabled{opacity:.45;cursor:not-allowed}.fpv-result-modal{pointer-events:auto;justify-self:center;align-self:center;width:min(34rem,calc(100vw - 2rem));padding:1rem 1.1rem;display:grid;gap:.42rem;box-shadow:0 18px 44px #010f1d73}.fpv-result-modal header{display:grid;gap:.2rem}.fpv-result-modal h3{margin:0;font-size:1.2rem}.fpv-result-distance{font-size:clamp(2.1rem,4.3vw,2.8rem);font-weight:700;line-height:1}.fpv-result-top-score{font-size:1.05rem;font-weight:700;color:#8be9ff}.fpv-result-top-score.is-best{color:#fbe1a5}.fpv-result-actions{display:flex;gap:.6rem;flex-wrap:wrap}.fpv-result-telemetry,.fpv-result-coach{margin:0;color:#e1f2ffeb}.fpv-result-telemetry{font-size:.87rem;line-height:1.38}.fpv-result-coach{font-size:.9rem;line-height:1.4}.fpv-result-tips{margin:0;padding-left:1rem;display:grid;gap:.18rem;font-size:.98rem;line-height:1.4;color:#d4eafcf5}.is-hidden{display:none}@media(max-width:1050px){.fpv-equipment-layout{grid-template-columns:1fr}.fpv-equip-cards{max-height:37vh;max-height:37dvh}}@media(max-width:900px){.fpv-overlay{padding:calc(.55rem + var(--fpv-safe-top)) calc(.55rem + var(--fpv-safe-right)) calc(.55rem + var(--fpv-safe-bottom)) calc(.55rem + var(--fpv-safe-left));gap:.45rem}.fpv-topbar{max-width:none;grid-template-columns:1fr 1fr}.fpv-high-score{top:calc(.55rem + var(--fpv-safe-top));right:calc(.55rem + var(--fpv-safe-right));min-width:8.5rem;padding:.45rem .55rem}.fpv-high-score-value{font-size:1.38rem}.fpv-prompt{max-width:none;font-size:.96rem}.fpv-equipment-panel{width:calc(100vw - 1.1rem);max-height:min(78vh,900px);max-height:min(78dvh,900px)}.fpv-equipment-tabs{overflow-x:auto;padding-bottom:.1rem}.fpv-equip-cards{grid-template-columns:repeat(auto-fit,minmax(154px,1fr))}.fpv-result-modal{width:calc(100vw - 1.1rem);padding:.85rem .9rem}}@media(max-width:520px){.fpv-topbar{max-width:calc(100% - 8.9rem)}.fpv-high-score{min-width:7.8rem}}
