:root{color-scheme:dark;--bg0: #0c1a22;--bg1: #10171e;--panel: #122230;--panel-2: #0e1b25;--panel-3: #182c3c;--line: rgba(147, 183, 204, .18);--line-strong: rgba(147, 183, 204, .36);--text: #e8f0f8;--muted: #93b7cc;--dim: #7a9bb0;--amber: #d7b46b;--amber-2: #f0cf86;--amber-ink: #1a1408;--danger: #ffb4a3;--danger-bg: #3a1f1a;--danger-line: #8a4536;--ok: #8fd3b4;--font: "Saira", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--display: "Saira Condensed", "Saira", system-ui, sans-serif;--r: 12px;--tap: 44px;--tap-lg: 60px;--sat: env(safe-area-inset-top, 0px);--sab: env(safe-area-inset-bottom, 0px);--sal: env(safe-area-inset-left, 0px);--sar: env(safe-area-inset-right, 0px)}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;background:linear-gradient(180deg,var(--bg0) 0%,#0e2028 55%,var(--bg1) 100%);color:var(--text);overflow:hidden;font-family:var(--font);font-size:16px;line-height:1.4;-webkit-text-size-adjust:100%}h1,h2,h3{font-family:var(--display);letter-spacing:.03em;margin:0;line-height:1.1}h1{font-size:2rem;font-weight:800;text-transform:uppercase}h2{font-size:1.35rem;font-weight:700}h3{font-size:1.2rem;font-weight:700}p{margin:0}a{color:var(--amber-2)}a:hover{color:#fff}:focus-visible{outline:2px solid var(--amber-2);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.muted{color:var(--muted)}.small{font-size:.85rem}.num{font-variant-numeric:tabular-nums}.kicker{font-family:var(--display);font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}#app{position:fixed;inset:0}.screen{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding:calc(var(--sat) + 1rem) calc(var(--sar) + 1rem) calc(var(--sab) + 1.25rem) calc(var(--sal) + 1rem);animation:screen-in .18s ease-out;outline:none}.screen[hidden]{display:none}.wrap{max-width:1180px;margin:0 auto}.topbar{display:flex;align-items:center;gap:.75rem 1rem;flex-wrap:wrap;margin-bottom:1rem}.topbar .title{flex:1 1 auto;min-width:12rem}.topbar .title p{color:var(--muted)}.tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--line);margin-bottom:1rem}.tab{min-height:var(--tap);padding:0 1.1rem;background:none;border:0;border-bottom:3px solid transparent;color:var(--muted);font:700 1.1rem var(--display);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.tab[aria-selected=true]{color:var(--amber-2);border-bottom-color:var(--amber)}.tab:hover{color:var(--text)}.footer{display:flex;align-items:center;gap:.5rem 1rem;flex-wrap:wrap;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--line);color:var(--muted)}.footer .spacer{flex:1}.notice{background:var(--panel-2);border:1px solid var(--line);border-left:3px solid var(--amber);border-radius:8px;padding:.75rem 1rem;margin-bottom:1rem;color:var(--text)}.notice-warn{border-left-color:var(--danger)}.state{padding:2rem 1rem;text-align:center;color:var(--muted)}.toast{position:fixed;left:50%;bottom:calc(var(--sab) + 1rem);transform:translate(-50%);z-index:50;background:var(--panel-3);border:1px solid var(--line-strong);border-radius:10px;padding:.7rem 1rem;max-width:90vw}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:var(--tap);min-width:var(--tap);padding:.4rem 1rem;border-radius:10px;border:1px solid var(--line-strong);background:var(--panel-3);color:var(--text);font:600 1rem var(--font);cursor:pointer;text-decoration:none;touch-action:manipulation}.btn:hover{border-color:var(--amber)}.btn[disabled]{opacity:.5;cursor:not-allowed}.btn-primary{min-height:var(--tap-lg);padding:.5rem 1.6rem;background:var(--amber);color:var(--amber-ink);border-color:transparent;font:800 1.3rem var(--display);letter-spacing:.06em;text-transform:uppercase}.btn-primary:hover{background:var(--amber-2);border-color:transparent}.btn-danger{background:var(--danger-bg);border-color:var(--danger-line);color:var(--danger)}.btn-quiet{background:transparent}.seg{display:inline-flex;gap:0;border-radius:10px;overflow:hidden;border:1px solid var(--line-strong);flex-wrap:wrap}.seg .btn{border:0;border-radius:0;border-right:1px solid var(--line);background:var(--panel-2)}.seg .btn:last-child{border-right:0}.seg .btn[aria-pressed=true]{background:var(--amber);color:var(--amber-ink)}.seg .btn[aria-pressed=true]:hover{background:var(--amber-2)}.actions{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1rem}.card{position:relative;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:border-color .15s}.card:hover{border-color:var(--line-strong)}.card-pending{opacity:.62}.photo{position:relative;aspect-ratio:16 / 10;background:var(--panel-2);overflow:hidden}.photo img{width:100%;height:100%;object-fit:cover;display:block}.photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0c1a2200 55%,#0c1a22d9);pointer-events:none}.photo-missing{display:grid;place-items:center}.photo-fallback{font:700 1.1rem var(--display);color:var(--muted);text-align:center;padding:1rem;letter-spacing:.04em}.card-body{display:flex;flex-direction:column;gap:.45rem;padding:.9rem 1rem 1rem;flex:1}.card-body h3{font-size:1.35rem}.card-sub{color:var(--muted);font-size:.9rem}.card-engine{font-size:.9rem}.ranges{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin:.35rem 0}.ranges>div{background:var(--panel-2);border-radius:8px;padding:.45rem .65rem}.ranges dt{font:700 .7rem var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.ranges dd{margin:0;font-size:1.15rem;font-weight:600;font-variant-numeric:tabular-nums}.ranges dd.better{color:var(--ok)}.ranges dd.worse{color:var(--danger)}.card-status{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap;padding-top:.4rem}.badge{display:inline-block;padding:.15rem .55rem;border-radius:999px;font:700 .75rem var(--display);letter-spacing:.1em;text-transform:uppercase;background:var(--panel-3);color:var(--muted);border:1px solid var(--line)}.badge-ok{color:var(--ok);border-color:#8fd3b466}.badge-best{color:var(--amber-2);border-color:#d7b46b80}.pending-note{color:var(--muted);font-size:.85rem}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:1rem}.panel+.panel{margin-top:1rem}.two-col{display:grid;grid-template-columns:minmax(280px,380px) 1fr;gap:1rem;align-items:start}.spec{display:grid;grid-template-columns:auto 1fr;gap:.3rem .9rem;margin:.75rem 0 0;font-size:.95rem}.spec dt{color:var(--muted)}.spec dd{margin:0;font-variant-numeric:tabular-nums}details{border-top:1px solid var(--line);margin-top:.75rem;padding-top:.5rem}summary{cursor:pointer;min-height:var(--tap);display:flex;align-items:center;font-weight:600;color:var(--amber-2)}.sources{margin:.25rem 0 0;padding-left:1.2rem;font-size:.9rem}.sources li{margin:.2rem 0}.mod-group{margin-top:1rem}.mod-group h3{color:var(--muted);font-size:.9rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.5rem}.mod{display:grid;grid-template-columns:1fr auto;gap:.35rem 1rem;align-items:center;padding:.75rem 0;border-top:1px solid var(--line)}.mod-head{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap}.mod-head .cost{color:var(--amber-2);font-variant-numeric:tabular-nums;font-weight:600}.mod-claim{color:var(--muted);font-size:.88rem;grid-column:1}.mod-src{font-size:.82rem;grid-column:1}.mod .btn{grid-column:2;grid-row:1 / span 3;min-width:6.5rem}.mod-installed .mod-head .name{color:var(--ok)}.readout{position:sticky;bottom:0;z-index:2;margin-top:1rem;background:#0e1b25f5;backdrop-filter:blur(6px);border:1px solid var(--line-strong);border-radius:var(--r);padding:.8rem 1rem;display:flex;align-items:center;gap:.75rem 1.5rem;flex-wrap:wrap}.readout .cells{display:flex;gap:1.25rem;flex-wrap:wrap;flex:1}.cell-label{display:block;font:700 .68rem var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.cell-value{display:block;font-size:1.15rem;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.field{display:grid;gap:.35rem;margin-top:.9rem}.field label,.field .label{font-weight:600}.field .hint{color:var(--muted);font-size:.85rem}input[type=range]{width:100%;height:var(--tap);margin:0;accent-color:var(--amber)}.stepper{display:grid;grid-template-columns:var(--tap) 1fr var(--tap);gap:.5rem;align-items:center}.switch{display:flex;align-items:center;gap:.75rem;min-height:var(--tap);cursor:pointer}.switch input{width:1.5rem;height:1.5rem;accent-color:var(--amber);margin:0}.table-wrap{overflow-x:auto;margin-top:.75rem}.table{width:100%;border-collapse:collapse;font-size:.9rem;font-variant-numeric:tabular-nums}.table th,.table td{padding:.4rem .55rem;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}.table th{font:700 .72rem var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.table th:first-child,.table td:first-child{text-align:left}.table tr.wx td{color:var(--amber-2)}.list{list-style:none;margin:0;padding:0}.list li{padding:.6rem 0;border-top:1px solid var(--line)}.list li:first-child{border-top:0}.events{max-height:40vh;overflow:auto;font-size:.9rem}.events li{display:grid;grid-template-columns:5.5rem 5rem 1fr;gap:.75rem;padding:.35rem 0}.events li span:first-child,.events li span:nth-child(2){color:var(--muted);font-variant-numeric:tabular-nums}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin-top:1rem}.stats .cell{background:var(--panel-2);border-radius:10px;padding:.7rem .85rem}.stats .cell-value{font-size:1.5rem}.stats .hero .cell-value{color:var(--amber-2);font-size:2.2rem;font-family:var(--display)}progress{width:100%;height:10px;accent-color:var(--amber)}.dialog{background:var(--panel);color:var(--text);border:1px solid var(--line-strong);border-radius:14px;padding:1.25rem;width:min(92vw,560px);max-height:90vh;overflow:auto}.dialog::backdrop{background:#040a0eb8}.dialog-title{font-size:1.5rem}.dialog-detail{color:var(--muted);margin:.5rem 0 1rem}.dialog-options{display:grid;gap:.5rem}.dialog-option{display:block;width:100%;text-align:left;min-height:var(--tap-lg);padding:.6rem 1rem}.dialog-option b{display:block;font-size:1.05rem}.dialog-option small{display:block;color:var(--muted);font-size:.85rem}.dialog-actions{display:flex;gap:.75rem;justify-content:flex-end}.screen-run{padding:0;overflow:hidden;background:#0a2238}.map-host{position:fixed;inset:0;z-index:0}.map-host canvas{position:fixed;inset:0}.map-fallback{position:fixed;inset:0;background:radial-gradient(ellipse at 35% 30%,#1f5a86,#123b5c 45%,#0a2238)}.run-hud{position:absolute;inset:0;z-index:3;display:grid;grid-template-rows:auto 1fr auto;pointer-events:none;padding:calc(var(--sat) + .5rem) calc(var(--sar) + .5rem) calc(var(--sab) + .5rem) calc(var(--sal) + .5rem);gap:.5rem}.run-hud>*{pointer-events:auto}.run-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.chip{display:flex;align-items:center;gap:.6rem;background:#0c1a22d1;border:1px solid var(--line);border-radius:10px;padding:.35rem .6rem .35rem .35rem;max-width:min(100%,24rem)}.chip .photo{width:72px;height:46px;aspect-ratio:auto;border-radius:6px;flex:none}.chip .photo:after{display:none}.chip .photo-fallback{font-size:.7rem;padding:.2rem}.chip h1{font-size:1.05rem;text-transform:none;letter-spacing:.02em}.chip p{color:var(--muted);font-size:.8rem}.run-controls{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.run-controls .seg .btn{min-width:3.1rem;padding:.4rem .55rem;font-variant-numeric:tabular-nums}.run-mid{align-self:center;justify-self:center}.run-bottom{display:grid;gap:.4rem}.inst{display:grid;grid-template-columns:repeat(auto-fit,minmax(98px,1fr));gap:2px;background:#0c1a228c;border:1px solid var(--line);border-radius:10px;overflow:hidden}.inst .cell{background:#0c1a22d1;padding:.4rem .6rem;min-width:0}.inst .cell-value{font-size:1.1rem}.inst .cell-sub{display:block;font-size:.75rem;line-height:1.2;color:var(--muted);font-variant-numeric:tabular-nums}.audio-notice{justify-self:start;background:#0c1a22d9;border:1px solid var(--danger-line);color:var(--danger);border-radius:8px;padding:.4rem .7rem;font-size:.9rem}.load-bar{display:grid;gap:.4rem;margin-top:.75rem}@media (max-width: 760px){h1{font-size:1.6rem}.two-col,.mod{grid-template-columns:1fr}.mod .btn{grid-column:1;grid-row:auto;justify-self:start}.events li{grid-template-columns:4.5rem 1fr}.events li span:nth-child(2){display:none}}@media (max-height: 460px) and (orientation: landscape){.run-hud{gap:.25rem}.inst .cell{padding:.25rem .5rem}.inst .cell-value{font-size:1rem}.chip .photo{width:56px;height:36px}}@keyframes screen-in{0%{opacity:0}to{opacity:1}}html[data-motion=reduce] *,html[data-motion=reduce] *:before,html[data-motion=reduce] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}@media (prefers-reduced-motion: reduce){html:not([data-motion=full]) *,html:not([data-motion=full]) *:before,html:not([data-motion=full]) *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.board-controls{display:flex;gap:.75rem 1.5rem;flex-wrap:wrap;align-items:end;margin-bottom:1rem}.board-controls .field{margin-top:0}.board-controls .field:first-child{flex:1 1 18rem;max-width:32rem}.board-controls .field[hidden]{display:none}select,input[type=text]{min-height:var(--tap);padding:.4rem .75rem;border-radius:10px;border:1px solid var(--line-strong);background:var(--panel-2);color:var(--text);font:500 1rem var(--font);width:100%;max-width:32rem}select{padding-right:2rem}.board th.pilot,.board td.pilot{text-align:left;max-width:16rem;overflow:hidden;text-overflow:ellipsis}.board tr.me td{color:var(--amber-2);background:#d7b46b14}.board .you{margin-left:.5rem;vertical-align:middle}.board-status{margin-top:1rem;padding:.6rem .85rem;border-radius:8px;background:var(--panel-2);border:1px solid var(--line);color:var(--muted)}.board-status:empty,.board-status[hidden]{display:none}.skeleton{display:grid;gap:.6rem;padding:.25rem 0}.skeleton span{display:block;height:1.3rem;border-radius:6px;background:linear-gradient(90deg,var(--panel-2) 0%,var(--panel-3) 50%,var(--panel-2) 100%);background-size:200% 100%;animation:shimmer 1.2s linear infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}
