:root{--canvas:#0b0f14;--panel:21 28 37;--panel-a:.78;--panel-solid:#151c25;--panel-2:#1e2833;--line:#2c3a4a;--ink:#e8eef5;--ink-2:#aebccd;--muted:#7b8ca1;--accent:#3d9ae8;--accent-ink:#04121f;--ok:#3fbf6e;--warn:#e0a03a;--bad:#e5643f;--scrim:#040a10b8;--z-canvas:0;--z-hud:10;--z-sheet:20;--z-modal:30;--tap:48px;--gap:8px;--rail-w:64px;--text-min:13px;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--font-ui:"Segoe UI", system-ui, -apple-system, Roboto, sans-serif;--app-accent:#6d8cff;--app-accent-ink:#050b1f;--torque:#f08a3e;--power:#3fc6e8}.glass{background:rgb(var(--panel) / var(--panel-a));-webkit-backdrop-filter:blur(14px)saturate(1.15);backdrop-filter:blur(14px)saturate(1.15);border:1px solid var(--line)}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.glass{background:rgb(var(--panel) / .94)}}*,:before,:after{box-sizing:border-box}html,body,#root{background:var(--canvas);width:100%;height:100%;margin:0;padding:0;overflow:hidden}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--fd-tint:15 22 32;--fd-alpha:.86;--fd-line:#8ca0b947;--fd-ink:#e8eef5;--fd-ink-2:#b9c6d6;--fd-muted:#9fb0c4;--fd-link:#8ccaff;--fd-tap:48px;--fd-z:20}.fd-catch{z-index:var(--fd-z);background:0 0;position:fixed;inset:0}.fd-drawer{z-index:var(--fd-z);top:env(safe-area-inset-top,0px);right:env(safe-area-inset-right,0px);bottom:env(safe-area-inset-bottom,0px);background:rgb(var(--fd-tint) / var(--fd-alpha));-webkit-backdrop-filter:blur(14px)saturate(1.15);backdrop-filter:blur(14px)saturate(1.15);border-left:1px solid var(--fd-line);width:min(320px,100vw - 48px);color:var(--fd-ink);text-align:left;border-radius:14px 0 0 14px;flex-direction:column;font-size:14px;line-height:1.35;animation:.2s ease-out fd-in;display:flex;position:fixed;box-shadow:-12px 0 32px #00000059}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.fd-drawer{background:rgb(var(--fd-tint) / .94)}}@keyframes fd-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.fd-drawer{animation:none}}.fd-head{border-bottom:1px solid var(--fd-line);flex:none;align-items:center;gap:8px;padding:4px 4px 4px 16px;display:flex}.fd-title{letter-spacing:.01em;flex:1;min-width:0;margin:0;font-size:15px;font-weight:800}.fd-title a{min-height:var(--fd-tap);color:var(--fd-ink);text-decoration:underline;-webkit-text-decoration-color:var(--fd-line);text-decoration-color:var(--fd-line);text-underline-offset:4px;align-items:center;display:flex}.fd-close{width:var(--fd-tap);height:var(--fd-tap);color:var(--fd-ink-2);font:inherit;cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;font-size:16px;display:inline-flex}.fd-body{overscroll-behavior:contain;flex:1;min-height:0;padding:8px 0;overflow-y:auto}.fd-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.fd-row{min-height:var(--fd-tap);color:var(--fd-ink);flex-direction:column;justify-content:center;gap:2px;padding:8px 16px;text-decoration:none;display:flex}.fd-name{font-weight:700}.fd-line{color:var(--fd-ink-2);font-size:13px}.fd-row--link .fd-name{color:var(--fd-link);text-underline-offset:3px;text-decoration:underline}.fd-row--link:active{background:#8ca0b924}.fd-here{color:var(--fd-ink-2);font-size:13px;font-weight:600}.fd-list--soon{border-top:1px solid var(--fd-line);margin-top:8px;padding-top:8px}.fd-row--soon{min-height:0;color:var(--fd-ink-2);padding:5px 16px;font-weight:600}.fd-title a:focus-visible,.fd-close:focus-visible,.fd-row--link:focus-visible{outline:2px solid var(--fd-link);outline-offset:-2px}.fd-foot{border-top:1px solid var(--fd-line);color:var(--fd-muted);flex:none;margin:0;padding:10px 16px 12px;font-size:13px}.app{font-family:var(--font-ui);color:var(--ink);font-size:14px;position:fixed;inset:0}.scene{z-index:var(--z-canvas);position:absolute;inset:0}.scene-canvas{touch-action:none}.num{font-variant-numeric:tabular-nums}.hud{z-index:var(--z-hud);padding:calc(var(--safe-top) + 6px) calc(var(--safe-right) + 6px) calc(var(--safe-bottom) + 6px) calc(var(--safe-left) + 6px);pointer-events:none;grid-template:"top top top""rail.right"minmax(0,1fr)"dash dash dash"/auto minmax(0,1fr) auto;gap:8px;display:grid;position:absolute;inset:0}.hud>*>*,.hud .rail-btn,.hud .sheet,.hud .dash,.hud .icon-btn,.hud .status-chip{pointer-events:auto}.top{min-height:var(--tap);grid-area:top;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;display:grid}.wordmark{pointer-events:none;width:clamp(150px,34vw,230px);height:40px}.app-logo3d{width:100%;height:100%}.top .icon-btn{justify-self:end}.icon-btn{width:var(--tap);height:var(--tap);background:rgb(var(--panel) / .78);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:var(--ink);cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.status-chip{border-radius:8px;flex-wrap:wrap;justify-self:start;align-items:center;gap:4px 6px;max-width:100%;padding:5px 9px;font-size:13px;line-height:1.2;display:flex}.status-name{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-weight:600;overflow:hidden}.status-flag{letter-spacing:.04em;border:1px solid;border-radius:4px;padding:1px 6px;font-size:13px;font-weight:800}.status-flag.is-bad{color:#ff8a6b}.status-flag.is-warn{color:#f2bd5c}.rail-wrap{grid-area:rail;min-height:0;position:relative}.rail{scrollbar-width:none;flex-direction:column;gap:8px;max-height:100%;display:flex;overflow-y:auto}.rail-btn{width:var(--rail-w);background:rgb(var(--panel) / .74);-webkit-backdrop-filter:blur(14px)saturate(1.15);backdrop-filter:blur(14px)saturate(1.15);min-height:56px;color:var(--ink);cursor:pointer;font:inherit;border:1px solid #0000;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:4px 2px;transition:transform .12s;display:flex}.rail-btn:active{transform:scale(.96)}.rail-btn.is-on{border-color:var(--app-accent);box-shadow:inset 3px 0 0 var(--app-accent);background:#24325cdb}.rail-label{letter-spacing:.06em;color:var(--ink);font-size:10px;font-weight:700;line-height:1}.right-rail{flex-direction:column;grid-area:right;align-items:center;gap:8px;min-height:0;display:flex}.explode{min-height:120px;max-height:340px;width:var(--rail-w);background:rgb(var(--panel) / .74);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:6px;padding:8px 0;display:flex}.explode-range{width:var(--tap);writing-mode:vertical-lr;accent-color:var(--app-accent);cursor:pointer;direction:rtl;flex:1}.right-corner{margin-top:auto}.family-fab{width:var(--tap);height:var(--tap);background:rgb(var(--panel) / .78);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:var(--ink);cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.sheet{z-index:1;top:0;left:calc(var(--rail-w) + 8px);width:min(340px, calc(100vw - var(--rail-w) - 28px - var(--safe-left) - var(--safe-right)));overscroll-behavior:contain;border-radius:12px;max-height:100%;animation:.18s ease-out sheet-in;position:absolute;overflow-y:auto}@keyframes sheet-in{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.sheet{animation:none}}.sheet-body{flex-direction:column;gap:12px;padding:12px;display:flex}.sheet-title{letter-spacing:.01em;margin:0;font-size:16px;font-weight:800}.dense{background:var(--panel-solid);border-radius:8px;padding:10px 12px}.choice-list{flex-direction:column;gap:8px;display:flex}.choice{min-height:var(--tap);border:1px solid var(--line);background:var(--panel-solid);color:var(--ink);font:inherit;text-align:left;cursor:pointer;border-radius:8px;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 12px;display:flex}.choice.is-on{border-color:var(--app-accent);box-shadow:inset 4px 0 0 var(--app-accent)}.choice.is-right{border-color:var(--ok);box-shadow:inset 4px 0 0 var(--ok)}.choice.is-wrong{border-color:var(--bad);box-shadow:inset 4px 0 0 var(--bad)}.choice:disabled{cursor:default}.choice-name{font-weight:700}.choice-line{color:var(--ink-2);font-size:13px}.field{flex-direction:column;gap:6px;display:flex}.field-label{color:var(--ink);justify-content:space-between;gap:8px;font-size:13px;display:flex}.field-label b{font-weight:700}.field input[type=range]{width:100%;height:32px;accent-color:var(--app-accent)}.seg{background:var(--panel-solid);border:1px solid var(--line);border-radius:10px;gap:4px;padding:3px;display:inline-flex}.seg--wide{display:flex}.seg--wide .seg-btn{flex:1}.seg-btn{min-width:var(--tap);min-height:40px;color:var(--ink-2);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;padding:0 12px;font-weight:700}.seg-btn.is-on{background:var(--app-accent);color:var(--app-accent-ink);border-color:#b9c8ff}.btn-row{flex-wrap:wrap;gap:8px;display:flex}.btn{min-height:var(--tap);border:1px solid var(--line);background:var(--panel-2);color:var(--ink);font:inherit;cursor:pointer;border-radius:8px;padding:0 14px;font-weight:700}.btn--primary{background:var(--app-accent);color:var(--app-accent-ink);border-color:#b9c8ff}.btn:disabled{opacity:.55;cursor:default}.figures{grid-template-columns:1fr 1fr;gap:8px 12px;margin:0;display:grid}.figures div{flex-direction:column;gap:2px;display:flex}.figures dt{color:var(--ink-2);font-size:13px}.figures dd{margin:0;font-size:15px;font-weight:800}.note{color:var(--ink);margin:0;font-size:13px;line-height:1.45}.note--quiet{color:var(--ink-2)}.note--bad{color:#ffb4a0}.legend{flex-wrap:wrap;gap:6px 14px;font-size:13px;display:flex}.legend-item{align-items:center;gap:6px;display:inline-flex}.legend-item i{border-radius:3px;width:18px;height:6px;display:inline-block}.sw--t{background:var(--torque)}.sw--p{background:var(--power)}.sw--pull{background:repeating-linear-gradient(90deg,#fff 0 4px,#0000 4px 7px)}.story h3{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);margin:10px 0 4px;font-size:13px}.story h3:first-child{margin-top:0}.story p,.story ul{margin:0;font-size:13px;line-height:1.45}.story ul{padding-left:18px}.status{margin:0;font-size:15px;font-weight:800}.status--ok{color:var(--ok)}.status--bad{color:#ff8a6b}.status--idle{color:var(--ink-2)}.steps{flex-direction:column;gap:4px;margin:0;padding-left:28px;font-size:13px;line-height:1.45;display:flex}.steps li.is-done{color:var(--ok)}.steps li.is-done::marker{content:"✓  "}.chart{background:var(--panel-solid);border-radius:8px;width:100%;height:auto}.chart .grid{stroke:#24303d;stroke-width:1px}.chart .base{stroke:#6b7c91;stroke-dasharray:3 3}.chart .env{fill:none;stroke-width:2.4px}.chart .env--t{stroke:var(--torque)}.chart .env--p{stroke:var(--power)}.chart .pull{fill:none;stroke-width:1.4px;stroke-dasharray:4 3}.chart .pull--t{stroke:#ffd0a8}.chart .pull--p{stroke:#b6efff}.chart .dot--t{fill:var(--torque);stroke:#fff;stroke-width:1.5px}.chart .dot--p{fill:var(--power);stroke:#fff;stroke-width:1.5px}.chart .lbl{fill:var(--ink-2);font-size:10px;font-family:var(--font-ui)}.chart .lbl--t{fill:var(--torque)}.chart .lbl--p{fill:var(--power)}.dash{border-radius:12px;grid-area:dash;align-items:center;gap:8px;min-width:0;padding:4px 6px 4px 10px;display:flex}.dash-cells{flex:1;grid-template-columns:repeat(auto-fit,minmax(54px,1fr));gap:2px 6px;min-width:0;display:grid}.dash-cell{flex-direction:column;align-items:center;padding:2px 0;line-height:1.1;display:flex}.dash-val{font-size:16px;font-weight:800}.dash-unit{letter-spacing:.04em;color:var(--ink);opacity:.85;font-size:10px}.dash-cell.is-warn .dash-val{color:#f2bd5c}.dash-cell.is-warn{box-shadow:inset 0 -2px #f2bd5c}.dash-cell.is-bad .dash-val{color:#ff8a6b}.dash-cell.is-bad{box-shadow:inset 0 -2px #ff8a6b}.seg--dash{flex-direction:column;flex:none}.seg--dash .seg-btn{min-width:56px;min-height:34px;font-size:13px}.plate-layer{pointer-events:none;position:absolute;inset:0;overflow:hidden}.plate-lines{width:100%;height:100%;position:absolute;inset:0}.plate-lines line{stroke:#cfe0ff;stroke-width:1px;opacity:0}.plate-layer .plate{pointer-events:auto;will-change:transform;position:absolute;top:0;left:0}.plate-layer .plate.is-dot{background:rgb(var(--panel) / .86);color:#0000;border:2px solid #cfe0ff;border-radius:50%;width:10px;min-width:0;height:10px;padding:0;overflow:hidden}.plate{background:rgb(var(--panel) / .86);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);min-width:max-content;max-width:240px;color:var(--ink);font:13px/1.25 var(--font-ui);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;padding:4px 8px}.plate--tiny{padding:2px 6px;font-weight:700}.plate-html{transform:translate(-50%,-50%)}.plate-name{font-weight:700}.plate-key{color:var(--ink);opacity:.85}.plate--full{white-space:normal;background:var(--panel-solid);border-color:var(--app-accent);width:210px;min-width:0}.plate--warn{border-color:var(--warn);box-shadow:0 0 0 1px var(--warn)}.plate-rows{flex-direction:column;gap:3px;margin:4px 0 0;display:flex}.plate-row{grid-template-columns:48px 1fr;gap:6px;display:grid}.plate-row dt{color:var(--ink-2);font-size:13px}.plate-row dd{font-variant-numeric:tabular-nums;margin:0}@media (height<=480px){.rail-btn{min-height:48px}.dash-val{font-size:14px}.seg--dash{flex-direction:row}.wordmark{height:34px}}.build-sec{flex-direction:column;gap:8px;display:flex}.build-h{letter-spacing:.06em;text-transform:uppercase;color:var(--ink);margin:4px 0 0;font-size:13px;font-weight:800}.choice--row{padding:6px 12px}.seg--wrap{flex-wrap:wrap;display:flex}.seg--wrap .seg-btn{flex:1 0 auto}.report{flex-direction:column;gap:10px;display:flex}.warns{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.warn{border-left:4px solid;border-radius:6px;padding:6px 8px 6px 10px;font-size:13px;line-height:1.4}.warn--bad{border-color:var(--bad);color:#ffd2c4;background:#e5643f1f}.warn--warn{border-color:var(--warn);color:#ffe6bd;background:#e0a03a1f}.broke{flex-direction:column;gap:6px;display:flex}.btn--small{min-height:40px;padding:0 12px;font-size:13px}.fuse-toast{z-index:var(--z-modal);top:calc(var(--safe-top) + 60px);width:min(360px, calc(100vw - 2 * var(--rail-w) - 32px));background:var(--panel-solid);border:1px solid var(--bad);min-width:min(260px,100vw - 24px);box-shadow:0 8px 28px #00000073, inset 4px 0 0 var(--bad);color:var(--ink);font:14px/1.35 var(--font-ui);border-radius:12px;flex-direction:column;gap:8px;padding:10px 12px;animation:.2s ease-out fuse-in;display:flex;position:fixed;left:50%;transform:translate(-50%)}@keyframes fuse-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.fuse-toast{animation:none}}.fuse-head{align-items:center;gap:8px;display:flex}.fuse-tag{letter-spacing:.06em;color:#ff8a6b;border:1px solid;border-radius:4px;padding:0 5px;font-size:13px;font-weight:800}.fuse-title{flex:1;min-width:0}.fuse-x{width:40px;height:40px;color:var(--ink-2);cursor:pointer;background:0 0;border:none;font-size:16px}.fuse-why{color:var(--ink);margin:0;font-size:13px}:root{--rail-w:52px}.hud{gap:6px}.rail{gap:2px}.rail-btn,.right-rail .rail-btn{width:var(--rail-w);-webkit-backdrop-filter:none;backdrop-filter:none;min-height:52px;color:var(--ink);filter:drop-shadow(0 1px 2px #000c);background:0 0;border:none;border-radius:8px;padding:4px 0}.rail-btn.is-on{box-shadow:none;color:#8fb0ff;background:0 0}.rail-btn.is-on .rail-label{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:2px}.rail-label{letter-spacing:.08em;color:inherit;font-size:10px;font-weight:700}.icon-btn,.family-fab{-webkit-backdrop-filter:none;backdrop-filter:none;filter:drop-shadow(0 1px 2px #000c);background:0 0}.explode{width:var(--tap);-webkit-backdrop-filter:none;backdrop-filter:none;filter:drop-shadow(0 1px 2px #000c);background:0 0;flex:1;gap:4px;max-height:280px;padding:0}.right-rail{gap:4px}.status-chip{border-radius:6px;gap:4px;padding:3px 6px}.status-flag{font-size:11px}.sheet{left:calc(var(--rail-w) + 4px);width:min(300px, calc(100vw - var(--rail-w) - 70px - var(--safe-left) - var(--safe-right)));border-radius:10px;max-height:min(100%,470px)}.sheet-body{gap:10px;padding:10px 12px 12px}.sheet-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.sheet-title{font-size:15px}.link-btn{color:#8fb0ff;min-height:40px;font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:13px;font-weight:700;text-decoration:underline}.choice{border-radius:6px;min-height:48px;padding:6px 10px}.choice-line,.note{font-size:13px}.summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:0;display:grid}.summary div{flex-direction:column;gap:1px;min-width:0;display:flex}.summary dt{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);font-size:10px}.summary dd{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:14px;font-weight:800;overflow:hidden}.tabs{scrollbar-width:none;border-bottom:1px solid var(--line);gap:2px;margin:0 -2px;display:flex;overflow-x:auto}.tab{min-height:40px;color:var(--ink-2);font:inherit;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:none;padding:0 8px;font-size:13px;font-weight:700}.tab.is-on{color:var(--ink);border-bottom-color:var(--app-accent)}.tab.has-bad{color:#ff9a80}.rows{flex-direction:column;gap:4px;display:flex}.rows-h{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin:6px 0 0;font-size:11px}.row{grid-template-columns:92px minmax(0,1fr);align-items:center;gap:8px;min-height:44px;display:grid}.row--slider{grid-template-columns:92px minmax(0,1fr) auto}.row-label{color:var(--ink-2);font-size:13px}.row-val{text-align:right;min-width:48px;font-size:13px}.row input[type=range]{width:100%;accent-color:var(--app-accent)}.row-select{border:1px solid var(--line);background:var(--panel-solid);width:100%;min-width:0;min-height:40px;color:var(--ink);font:inherit;border-radius:6px;padding:0 8px;font-size:13px}.hint{color:var(--ink-2);margin:0;font-size:13px;line-height:1.4}.verdict{margin:0;font-size:14px;font-weight:800}.verdict--ok{color:var(--ok)}.verdict--warn{color:#f2bd5c}.verdict--bad{color:#ff8a6b}.checks{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.check{border-bottom:1px solid #2c3a4a99;grid-template-columns:18px minmax(0,1fr);column-gap:6px;padding:6px 0;display:grid}.check-mark{text-align:center;grid-row:span 2;font-size:13px;font-weight:900;line-height:1.4}.check-area{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);font-size:10px}.check-text{font-size:13px;line-height:1.4}.check--ok .check-mark{color:var(--ok)}.check--ok .check-text{color:var(--ink-2)}.check--warn .check-mark{color:#f2bd5c}.check--bad .check-mark{color:#ff8a6b}.check--bad .check-text{color:#ffd2c4}.dash{border-radius:10px;gap:6px;padding:2px 4px 2px 8px}.dash-cells{justify-content:space-around;gap:4px;display:flex}.dash-cell{flex:1 1 0;min-width:0;padding:3px 0}.dash-val{font-size:15px}.dash-unit{font-size:10px}.dash-switch{border:none;border-left:1px solid var(--line);min-width:56px;min-height:44px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:1px;padding:0 6px;display:flex}.dash-switch-now{font-size:13px;font-weight:800}.dash-switch-to{color:#8fb0ff;font-size:10px}@media (width<=440px){.dash-cell--extra{display:none}}.fuse-toast{top:calc(var(--safe-top) + 52px)}.meter{flex-direction:column;gap:6px;display:flex}.meter-group{flex-direction:column;display:flex}.meter-g{letter-spacing:.08em;text-transform:uppercase;color:#8fb0ff;padding:4px 0 2px;font-size:10px}.meter-row{border-bottom:1px solid #2c3a4a99;grid-template-columns:minmax(0,1fr) auto;column-gap:8px;padding:5px 0;display:grid}.meter-label{font-size:13px}.meter-val{text-align:right;font-size:13px}.meter-exp{color:var(--ink-2);grid-column:1/-1;font-size:11px}.meter--bad .meter-val{color:#ff8a6b}.meter--bad .meter-label:before{content:"✕ ";color:#ff8a6b;font-weight:900}.meter--warn .meter-val{color:#f2bd5c}.cmp{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13px}.cmp th,.cmp td{text-align:left;vertical-align:top;border-bottom:1px solid #2c3a4a99;padding:5px 4px}.cmp thead th{letter-spacing:.06em;text-transform:uppercase;color:#8fb0ff;font-size:11px}.cmp tbody th{color:var(--ink-2);width:30%;font-weight:600}.cmp td.is-better{color:var(--ok);font-weight:800}.cmp td.is-better:after{content:" ◂";font-size:11px}.scene,.scene canvas{touch-action:none;overscroll-behavior:none}.race-chip{white-space:nowrap;background:rgb(var(--panel) / .86);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font:11px/1.2 var(--font-ui);color:var(--ink);font-variant-numeric:tabular-nums;border-radius:6px;flex-direction:column;align-items:center;gap:1px;padding:3px 8px;display:flex}.race-chip--0{border-color:#6d8cff}.race-chip--1{border-color:#f08a3e}.race-chip b{font-size:12px}.race-chip i{font-style:normal}.race-chip i.hot{color:#ff8a6b;font-weight:800}.race-chip em{color:#ff8a6b;letter-spacing:.05em;font-size:11px;font-style:normal;font-weight:800}.race-chip em.ok{color:var(--ok)}.dist-chip{background:rgb(var(--panel) / .8);color:var(--ink-2);font:11px var(--font-ui);border-radius:4px;padding:1px 5px}.swatch{vertical-align:1px;border-radius:2px;width:8px;height:8px;margin-right:6px;display:inline-block}.race-table td,.race-table th{padding:4px 3px}.race-table small{color:var(--ink-2);font-size:11px;font-weight:400;display:block}.race-fail{font-size:12px;color:#ff9a80!important}.gap-tag{z-index:1;left:50%;top:calc(var(--safe-top) + 64px);white-space:nowrap;background:rgb(var(--panel) / .86);color:var(--ink);font:700 13px var(--font-ui);font-variant-numeric:tabular-nums;border:1px solid #f08a3e;border-radius:6px;padding:4px 10px;transition:opacity .2s;position:absolute;transform:translate(-50%)}.explode-glyph{flex:none}.explode-reset{width:40px;height:40px;color:var(--ink);cursor:pointer;background:0 0;border:none;flex:none;font-size:20px}@media (aspect-ratio<=9/10){.sheet{top:auto;left:calc(var(--safe-left) + 8px);right:calc(var(--safe-right) + 8px);bottom:calc(var(--safe-bottom) + 70px);border-radius:12px;width:auto;max-height:42vh;animation:.18s ease-out sheet-up;position:fixed}@keyframes sheet-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}}.arena-toast{z-index:var(--z-modal);top:calc(var(--safe-top) + 52px);width:min(360px, calc(100vw - 2 * var(--rail-w) - 24px));background:rgb(var(--panel) / .9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line);min-width:min(260px,100vw - 24px);color:var(--ink);font:14px/1.35 var(--font-ui);border-radius:12px;flex-direction:column;gap:8px;padding:10px 12px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.bike-chip{white-space:nowrap;background:rgb(var(--panel) / .86);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font:11px/1.2 var(--font-ui);color:var(--ink);font-variant-numeric:tabular-nums;border-radius:6px;flex-direction:column;align-items:center;gap:1px;padding:3px 7px;display:flex}.bike-chip small{color:var(--ink-2,#9aa4b2);text-transform:uppercase;letter-spacing:.06em;font-size:9px}.bike-chip:empty{display:none}.bike-chip b{font-size:12px}.bike-chip i{font-style:normal}.bike-chip i.hot{color:#ff8a6b;font-weight:800}.bike-chip em{color:#ff8a6b;font-size:11px;font-style:normal;font-weight:800}.bike-chip--dash b{color:#4fd1ff}.cogs{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.cog{border:1px solid var(--line);min-width:34px;min-height:34px;color:var(--ink);font:600 12px/1 var(--font-ui);font-variant-numeric:tabular-nums;background:0 0;border-radius:6px;padding:0 6px}.cog.is-on{background:var(--accent,#3d6cff);color:#fff;border-color:#0000}.cam-hint{z-index:var(--z-hud);left:50%;bottom:calc(var(--safe-bottom) + 84px);max-width:calc(100vw - 2 * var(--rail-w) - 24px);text-align:center;background:rgb(var(--panel) / .82);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--line);color:var(--ink);font:13px/1.35 var(--font-ui);pointer-events:none;border-radius:10px;padding:8px 12px;animation:.3s ease-out hint-in;position:fixed;transform:translate(-50%)}.cam-hint b{font-weight:700}@keyframes hint-in{0%{opacity:0}to{opacity:1}}
