@font-face{font-family:Saira Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/saira-condensed-vietnamese-500-normal-BO-iw4YA.woff2)format("woff2"),url(/assets/saira-condensed-vietnamese-500-normal-CtjeXiCW.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Saira Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/saira-condensed-latin-ext-500-normal-CIzImMjU.woff2)format("woff2"),url(/assets/saira-condensed-latin-ext-500-normal-CgTVcJE5.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Saira Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/saira-condensed-latin-500-normal-DIdKjHXc.woff2)format("woff2"),url(/assets/saira-condensed-latin-500-normal-BGC7F_dX.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Saira Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/saira-condensed-vietnamese-600-normal-DdheDV3O.woff2)format("woff2"),url(/assets/saira-condensed-vietnamese-600-normal-Cx33h9T1.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Saira Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/saira-condensed-latin-ext-600-normal-DwjIBGFg.woff2)format("woff2"),url(/assets/saira-condensed-latin-ext-600-normal-BQ2ZMbdg.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Saira Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/saira-condensed-latin-600-normal-0taFJMb7.woff2)format("woff2"),url(/assets/saira-condensed-latin-600-normal-CJ-Ib_yI.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0e13;--panel:#0d1219cc;--panel-solid:#0f151c;--inset:#ffffff09;--line:#8fa3b824;--line-strong:#8fa3b847;--text:#e4ebf2;--muted:#8a98a9;--faint:#56616f;--engine:#ffa530;--mg1:#3fe0a0;--mg2:#5b9dff;--elec:#6ff2ff;--brake:#ff5a4e;--warn:#ffb547;--f-ui:"PingFang SC", "Noto Sans SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif;--f-num:"Saira Condensed", "DIN Condensed", "Arial Narrow", sans-serif;--f-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--r:10px;--gap:12px;--dock-h:216px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--f-ui);-webkit-font-smoothing:antialiased;font-size:13px;line-height:1.55;overflow:hidden}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--elec);outline-offset:2px}.app{position:fixed;inset:0}.stage{position:absolute;inset:0}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);-webkit-backdrop-filter:blur(14px)saturate(120%)}.eyebrow{font-family:var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:10.5px}.num{font-family:var(--f-num);font-variant-numeric:tabular-nums}.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}.brand{pointer-events:none;align-items:baseline;gap:12px;display:flex;position:absolute;top:16px;left:16px}.brand h1{font-family:var(--f-num);letter-spacing:.02em;margin:0;font-size:26px;font-weight:600;line-height:1}.brand h1 span{font-family:var(--f-ui);margin-left:8px;font-size:18px;font-weight:600}.brand p{color:var(--muted);margin:0;font-size:12px}.side{top:56px;bottom:calc(var(--dock-h) + 24px);gap:var(--gap);scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;flex-direction:column;width:332px;padding-right:2px;display:flex;position:absolute;overflow-y:auto}.side.left{left:16px}.side.right{width:348px;top:16px;right:16px}.card{padding:14px 16px}.card-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.card-head h2{margin:0;font-size:13px;font-weight:600}.mode-title{align-items:center;gap:10px;margin:4px 0 8px;display:flex}.mode-title h2{letter-spacing:.01em;text-wrap:balance;margin:0;font-size:24px;font-weight:600}.chip{height:22px;font-family:var(--f-mono);letter-spacing:.06em;border:1px solid var(--line-strong);color:var(--text);white-space:nowrap;border-radius:6px;align-items:center;gap:6px;padding:0 8px;font-size:11px;display:inline-flex}.chip.solid{background:color-mix(in srgb, var(--c,var(--elec)) 18%, transparent);border-color:color-mix(in srgb, var(--c,var(--elec)) 55%, transparent);color:color-mix(in srgb, var(--c,var(--elec)) 70%, white)}.mode-body{color:#c4ced9;text-wrap:pretty;margin:0 0 10px}.mode-key{background:var(--inset);color:var(--text);border-radius:8px;grid-template-columns:auto 1fr;gap:10px;padding:9px 10px;font-size:12.5px;display:grid}.mode-key .eyebrow{color:var(--elec);padding-top:1px}.status-grid{grid-template-columns:1fr 1fr;gap:6px;margin-top:12px;display:grid}.status{border:1px solid var(--line);border-radius:7px;justify-content:space-between;align-items:center;gap:8px;padding:6px 9px;font-size:12px;display:flex}.status .who{color:var(--muted);align-items:center;gap:7px;display:flex}.status .who i{background:var(--c);opacity:.35;border-radius:2px;width:7px;height:7px}.status.on .who i{opacity:1;box-shadow:0 0 8px var(--c)}.status b{color:var(--text);font-weight:600}.status:not(.on) b{color:var(--muted);font-weight:500}.scenarios{grid-template-columns:1fr 1fr;gap:6px;display:grid}.scn{text-align:left;border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:8px;padding:8px 10px;transition:border-color .15s,background .15s}.scn:hover{border-color:var(--line-strong);background:var(--inset)}.scn b{font-size:12.5px;font-weight:600;display:block}.scn span{color:var(--muted);margin-top:2px;font-size:11px;line-height:1.35;display:block}details.principle summary{cursor:pointer;justify-content:space-between;align-items:center;font-weight:600;list-style:none;display:flex}details.principle summary::-webkit-details-marker{display:none}details.principle summary:after{content:"+";font-family:var(--f-mono);color:var(--muted)}details.principle[open] summary:after{content:"−"}.formula{background:var(--inset);font-family:var(--f-mono);text-align:center;letter-spacing:.02em;border-radius:8px;margin:12px 0 10px;padding:10px 12px;font-size:12.5px}.roles{gap:6px;margin:0;padding:0;list-style:none;display:grid}.roles li{color:#c4ced9;grid-template-columns:58px 1fr;align-items:baseline;gap:8px;font-size:12.5px;display:grid}.roles li b{font-family:var(--f-mono);color:var(--c);font-size:11.5px;font-weight:500}.principle p{color:#c4ced9;margin:10px 0 0;font-size:12.5px}.nomo svg{width:100%;height:auto;display:block}.nomo-legend{color:var(--muted);justify-content:space-between;margin-top:6px;font-size:11px;display:flex}.power-rows{gap:4px;display:grid}.prow{grid-template-columns:64px 1fr 96px;align-items:center;gap:10px;font-size:12px;display:grid}.prow .lbl{color:var(--muted);align-items:center;gap:7px;display:flex}.prow .lbl i{background:var(--c);border-radius:2px;width:7px;height:7px}.prow .val{text-align:right;font-family:var(--f-mono);font-variant-numeric:tabular-nums;font-size:12px}.prow .val small{color:var(--muted);font-size:10.5px;font-family:var(--f-ui);margin-right:6px}.bibar{background:var(--inset);border-radius:4px;height:8px;position:relative;overflow:hidden}.bibar:after{content:"";background:var(--line-strong);width:1px;position:absolute;top:-2px;bottom:-2px;left:50%}.bibar span{background:var(--c);border-radius:4px;transition:left 80ms linear,width 80ms linear;position:absolute;top:0;bottom:0}.split{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.split-bar{background:var(--inset);border-radius:5px;height:10px;margin:7px 0 5px;display:flex;overflow:hidden}.split-bar span{transition:width .1s linear}.split-legend{color:var(--muted);justify-content:space-between;font-size:11.5px;display:flex}.split-legend b{font-family:var(--f-mono);color:var(--text);font-weight:500}.dock{height:var(--dock-h);gap:var(--gap);pointer-events:none;grid-template-columns:minmax(220px,1fr) auto minmax(300px,1fr);align-items:end;display:grid;position:absolute;bottom:16px;left:16px;right:16px}.dock>*{pointer-events:auto}.view{align-self:end;gap:10px;max-width:330px;padding:12px 14px;display:grid}.seg{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.seg button,.toggle{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:7px;height:28px;font-size:12px;transition:background .15s,border-color .15s,color .15s}.seg button:hover,.toggle:hover{border-color:var(--line-strong)}.seg button.active,.toggle.active{color:#bff8ff;background:#6ff2ff1a;border-color:#6ff2ff73}.toggles{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.slider-row{color:var(--muted);grid-template-columns:auto 1fr auto;align-items:center;gap:10px;font-size:12px;display:grid}.slider-row input[type=range]{width:100%;accent-color:var(--elec)}.slider-row output{font-family:var(--f-mono);color:var(--text);text-align:right;min-width:44px}.hint{color:var(--faint);font-size:11px}.hint kbd{font-family:var(--f-mono);border:1px solid var(--line-strong);color:var(--muted);border-radius:4px;padding:0 4px;font-size:10.5px}.cluster{border-radius:26px 26px var(--r) var(--r);background:radial-gradient(120% 140% at 50% 110%,#283c5259,#0000 60%),#080b10db;align-items:flex-end;gap:4px;height:100%;padding:10px 18px 12px;display:flex}.gauge{display:block;position:relative}.gauge svg{display:block;overflow:visible}.needle{transition:transform 90ms linear}.speedo-mid{flex-direction:column;align-items:center;display:flex}.hsi{width:220px;margin-top:-8px}.hsi-bar{background:var(--inset);border-radius:5px;grid-template-columns:25% 45% 30%;height:9px;display:grid;position:relative;overflow:hidden}.hsi-bar>i{border-right:1px solid #0009}.hsi-fill{transition:left 80ms linear,width 80ms linear;position:absolute;top:0;bottom:0}.hsi-labels{font-family:var(--f-mono);letter-spacing:.12em;color:var(--faint);grid-template-columns:25% 45% 30%;margin-top:3px;font-size:9.5px;display:grid}.hsi-labels span{text-align:center}.hsi-labels span.on{color:var(--text)}.drive{justify-self:end;align-items:stretch;gap:12px;height:100%;padding:12px 14px;display:flex}.pedals{gap:10px;display:flex}.pedal{-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:6px;display:flex}.pedal-track{border:1px solid var(--line-strong);cursor:ns-resize;touch-action:none;background:repeating-linear-gradient(0deg,#0000 0 9px,#ffffff0a 9px 10px),#00000040;border-radius:9px;flex:1;width:58px;min-height:120px;position:relative;overflow:hidden}.pedal.brake .pedal-track{width:72px}.pedal-fill{background:linear-gradient(0deg, color-mix(in srgb, var(--c) 70%, transparent), color-mix(in srgb, var(--c) 25%, transparent));position:absolute;bottom:0;left:0;right:0}.pedal-fill:before{content:"";background:var(--c);height:2px;box-shadow:0 0 10px var(--c);position:absolute;top:0;left:0;right:0}.pedal-val{text-align:center;font-family:var(--f-num);text-shadow:0 1px 2px #0009;font-size:22px;font-weight:600;position:absolute;inset:auto 0 8px}.pedal-name{color:var(--muted);font-size:12px}.gears{grid-template-rows:repeat(4,1fr);gap:4px;width:42px;display:grid}.gears button{border:1px solid var(--line);font-family:var(--f-num);color:var(--faint);cursor:pointer;background:0 0;border-radius:7px;font-size:18px;font-weight:600}.gears button.active{color:#0a0e13;background:var(--text);border-color:var(--text)}.drive-side{flex-direction:column;justify-content:space-between;gap:8px;width:128px;display:flex}.drive-side .btn{border:1px solid var(--line-strong);cursor:pointer;background:0 0;border-radius:7px;height:30px;font-size:12px}.drive-side .btn:hover{background:var(--inset)}.cruise{color:#b9f5dd;border:1px solid #3fe0a073;border-radius:7px;justify-content:space-between;align-items:center;gap:6px;padding:6px 8px;font-size:12px;display:flex}.cruise button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0 2px}.labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}.tag{border:1px solid color-mix(in srgb, var(--tag) 45%, transparent);white-space:nowrap;font-family:var(--f-ui);color:var(--text);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a0e13c7;border-radius:7px;margin-top:-10px;padding:4px 8px 5px;position:absolute;top:0;left:0}.tag:after{content:"";background:color-mix(in srgb, var(--tag) 60%, transparent);width:1px;height:10px;position:absolute;top:100%;left:50%}.tag:before{content:"";background:var(--tag);border-radius:50%;width:5px;height:5px;position:absolute;top:calc(100% + 8px);left:calc(50% - 2.5px)}.tag-head{align-items:center;gap:6px;font-size:12px;display:flex}.tag-head i{background:var(--tag);width:6px;height:6px;box-shadow:0 0 6px var(--tag);border-radius:2px}.tag-head em{color:var(--muted);font-size:10.5px;font-style:normal}.tag-val{font-family:var(--f-mono);color:color-mix(in srgb, var(--tag) 55%, white);margin-top:1px;font-size:11px;display:block}.toast{color:#ffe0b0;background:#ffb54724;border:1px solid #ffb54780;border-radius:8px;padding:8px 14px;font-size:12.5px;animation:.2s ease-out toast-in;position:absolute;top:18px;left:50%;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-6px)}}.loader{background:var(--bg);z-index:50;place-items:center;transition:opacity .4s;display:grid;position:absolute;inset:0}.loader-inner{text-align:center;width:240px;color:var(--muted);gap:10px;display:grid}.loader-bar{background:var(--inset);border-radius:2px;height:3px;overflow:hidden}.loader-bar span{background:var(--elec);height:100%;display:block}.panels-toggle{z-index:5;height:30px;padding:0 12px;display:none;position:absolute;top:14px;right:16px}@media (width<=1320px){.side{width:296px}.side.right{width:312px}.view{max-width:280px}}@media (width<=1100px){:root{--dock-h:200px}.dock{grid-template-columns:1fr auto}.view{display:none}}@media (width<=820px){body{overflow:auto}.panels-toggle{align-items:center;display:inline-flex}.side{display:none}.app.show-panels .side{z-index:4;width:auto;display:flex;top:56px;left:16px;right:16px}.app.show-panels .side.right{display:none}.dock{grid-template-columns:1fr;justify-items:center;height:auto}.cluster{transform-origin:bottom;transform:scale(.8)}.drive{justify-self:stretch;height:190px}}@media (height<=860px) and (width>=821px){:root{--dock-h:188px}.cluster{zoom:.87}.view{gap:8px}.view .hint{display:none}}@media (prefers-reduced-motion:reduce){.needle,.bibar span,.hsi-fill,.split-bar span{transition:none}}
