@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(./barlow-condensed-vietnamese-500-normal-DjeaNLFD.woff2)format("woff2"),url(./barlow-condensed-vietnamese-500-normal-CsrJDWc5.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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(./barlow-condensed-latin-ext-500-normal-yA5ONLQ9.woff2)format("woff2"),url(./barlow-condensed-latin-ext-500-normal-B1RE8WP7.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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(./barlow-condensed-latin-500-normal-BgYH2mbd.woff2)format("woff2"),url(./barlow-condensed-latin-500-normal-HIEiP5Ov.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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(./barlow-condensed-vietnamese-600-normal-A5AYRdjN.woff2)format("woff2"),url(./barlow-condensed-vietnamese-600-normal-CNlPk46_.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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(./barlow-condensed-latin-ext-600-normal-18ESti3H.woff2)format("woff2"),url(./barlow-condensed-latin-ext-600-normal-Clv9cIcR.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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(./barlow-condensed-latin-600-normal-DepVgxBB.woff2)format("woff2"),url(./barlow-condensed-latin-600-normal-BFJEwTuo.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:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(./barlow-vietnamese-400-normal-Dpl4UHAZ.woff2)format("woff2"),url(./barlow-vietnamese-400-normal-BFeobeCK.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:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(./barlow-latin-ext-400-normal-HxX4XjxC.woff2)format("woff2"),url(./barlow-latin-ext-400-normal-CvBsJvxq.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:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(./barlow-latin-400-normal-qiz4-Cze.woff2)format("woff2"),url(./barlow-latin-400-normal-fsAxiSwU.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:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(./barlow-vietnamese-500-normal-zTViEIzf.woff2)format("woff2"),url(./barlow-vietnamese-500-normal-GNfB7rCE.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:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(./barlow-latin-ext-500-normal-DOaysfXq.woff2)format("woff2"),url(./barlow-latin-ext-500-normal-CJPcKP2Q.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:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(./barlow-latin-500-normal-BPAOfeC8.woff2)format("woff2"),url(./barlow-latin-500-normal-C1h8hMer.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:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(./barlow-vietnamese-600-normal-DcjprdFV.woff2)format("woff2"),url(./barlow-vietnamese-600-normal-CA_GiK2e.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:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(./barlow-latin-ext-600-normal-B8NK_A3D.woff2)format("woff2"),url(./barlow-latin-ext-600-normal-DMVRjfRT.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:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(./barlow-latin-600-normal-DILqtrty.woff2)format("woff2"),url(./barlow-latin-600-normal-CNwfPWQD.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(./ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(./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(./ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(./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(./ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(./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(./ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(./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(./ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(./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(./ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(./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(./ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(./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(./ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(./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(./ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(./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(./ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(./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{--bg:#03050a;--panel:#090d15db;--panel-solid:#0a0e16;--card:#ffffff09;--line:#ffffff16;--line-strong:#ffffff29;--text:#e8ebf1;--muted:#9aa3b4;--faint:#677084;--amber:#f2b35b;--cyan:#62c6f0;--pink:#ee6e9f;--lime:#c6e36b;--red:#f0605d;--green:#86e08f;--cream:#f7f0df;--display:"Barlow Condensed", "Arial Narrow", sans-serif;--body:"Barlow", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace;--panel-w:344px;--gutter:16px}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--body);-webkit-font-smoothing:antialiased;overscroll-behavior:none;margin:0;font-size:14px;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}#app{position:fixed;inset:0;overflow:hidden}#view{touch-action:none;position:absolute;inset:0}#view canvas{outline:none;display:block}.labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}.label{white-space:nowrap;opacity:0;will-change:transform;transition:opacity .35s;position:absolute;top:0;left:0}.label.shown{opacity:1}.label>.in{display:inline-block;transform:translateY(-50%)}.anchor-center>.in{transform:translate(-50%,-50%)}.anchor-right>.in{transform:translate(-100%,-50%)}.label.sat>.in{font-family:var(--mono);letter-spacing:.04em;color:#e1e7f19e;background:#04070d8c;border:1px solid #ffffff29;border-radius:3px;padding:1px 5px;font-size:9.5px}.label.sat.used>.in{color:var(--c,#fff);border-color:color-mix(in srgb, var(--c,#fff) 60%, transparent);background:#04070db8}.label.sat.dim>.in{opacity:.45}.label.sat .sub{color:#e1e7f1b3;margin-top:1px;font-size:9px;display:block}.label.clickable{cursor:pointer}#app.hide-pin .label.pin{display:none}.label.pin>.in{font-family:var(--body);color:#fff;text-shadow:0 1px 6px #000000e6,0 0 2px #000000e6;font-size:12.5px;font-weight:600}.label.note>.in{font-family:var(--mono);color:#e8ecf4d9;text-shadow:0 1px 4px #000000f2;font-size:10px;line-height:1.45}.label.note .hot{color:var(--red)}.label.note b{color:#fff;font-weight:500}.label.step>.in{font-family:var(--mono);color:#fff;background:#04070db3;border:1px solid #fff3;border-radius:3px;padding:1px 5px;font-size:10px}.brand{z-index:5;pointer-events:none;transition:opacity .5s;position:absolute;top:16px;left:22px}.brand-row{align-items:center;gap:10px;display:flex}.brand-icon{color:#e9edf4;width:20px;height:20px}.brand h1{font-family:var(--display);letter-spacing:.05em;text-transform:uppercase;margin:0;font-size:19px;font-weight:600}.brand-sub{font-family:var(--mono);color:var(--faint);letter-spacing:.01em;margin:3px 0 0 30px;font-size:9.5px}.top-pills{z-index:6;gap:8px;transition:opacity .5s;display:flex;position:absolute;top:14px;right:16px}.pill{border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);background:#080c13d1;border-radius:999px;align-items:center;gap:7px;height:30px;padding:0 12px;font-size:12px;transition:border-color .2s,background .2s;display:inline-flex}.pill:hover{border-color:var(--line-strong)}.pill svg{width:14px;height:14px}.loc-name{font-weight:600}.loc-time{color:var(--muted);font-variant-numeric:tabular-nums}.time-pill .dot{background:var(--green);width:7px;height:7px;box-shadow:0 0 8px var(--green);border-radius:50%}.time-pill.warped .dot{background:var(--amber);box-shadow:0 0 8px var(--amber)}.time-pill{font-family:var(--mono);color:var(--muted);font-size:11px}.time-pill.live{color:var(--green)}.icon-pill{justify-content:center;width:30px;padding:0}.icon-pill .mute{display:none}.icon-pill.off .mute{display:block}.icon-pill.off .wave{display:none}.loc-popover{z-index:20;background:var(--panel-solid);border:1px solid var(--line-strong);border-radius:12px;width:290px;padding:12px;position:absolute;top:52px;right:16px;box-shadow:0 20px 60px #00000080}.loc-popover input{border:1px solid var(--line-strong);width:100%;height:34px;color:var(--text);font:inherit;background:#ffffff0a;border-radius:8px;outline:none;padding:0 10px}.loc-popover input:focus{border-color:#f2b35b99}.loc-results{max-height:240px;margin:6px 0 8px;overflow:auto}.loc-results button{text-align:left;border-radius:6px;justify-content:space-between;width:100%;padding:7px 8px;display:flex}.loc-results button:hover,.loc-results button.active{background:#ffffff0f}.loc-results .cc{color:var(--faint);font-family:var(--mono);font-size:11px}.fine{font-family:var(--mono);color:var(--faint);margin:8px 0 0;font-size:10px;line-height:1.5}.center-pill{left:calc((100% - var(--panel-w) - 32px) / 2);z-index:6;opacity:0;pointer-events:none;border:1px solid var(--line);height:26px;font-family:var(--mono);color:#d9dee8;white-space:nowrap;background:#080c13d9;border-radius:999px;align-items:center;gap:8px;padding:0 12px;font-size:10.5px;transition:opacity .4s,transform .4s;display:inline-flex;position:absolute;top:16px;transform:translate(-50%,-8px)}.center-pill:before{content:"";background:#fff;border-radius:50%;width:5px;height:5px}.center-pill.on{opacity:1;transform:translate(-50%)}.panel{right:var(--gutter);top:56px;bottom:var(--gutter);width:var(--panel-w);z-index:5;background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);border-radius:14px;flex-direction:column;transition:opacity .5s,transform .5s;display:flex;position:absolute;overflow:hidden}.panel-head{align-items:center;gap:10px;padding:14px 14px 8px 16px;display:flex}.panel-icon{width:18px;height:18px;color:var(--amber);display:inline-flex}.panel-icon svg{width:18px;height:18px}.panel-head h2{font-family:var(--display);letter-spacing:.045em;text-transform:uppercase;flex:1;margin:0;font-size:21px;font-weight:600}.chev{width:26px;height:26px;color:var(--faint);border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.chev svg{width:16px;height:16px;transition:transform .3s}.panel.collapsed .chev svg{transform:rotate(180deg)}.panel.collapsed{bottom:auto}.panel.collapsed .panel-body{display:none}.panel-body{scrollbar-width:thin;scrollbar-color:#ffffff1f transparent;flex:1;padding:0 16px 16px;overflow-y:auto}.panel-body p{color:#c9cfda;margin:0 0 12px;font-size:13px;line-height:1.5}.lede{color:#c9cfda;margin:0 0 14px;font-size:13px;line-height:1.5}.eyebrow{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin:16px 0 8px;font-size:9.5px}.eyebrow:first-child{margin-top:0}.stats{grid-template-columns:1fr 1fr;gap:12px 14px;margin-bottom:12px;display:grid}.stat .k{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);font-size:9px;line-height:1.3}.stat .v{font-family:var(--display);font-variant-numeric:tabular-nums;margin-top:2px;font-size:26px;font-weight:500;line-height:1.1}.stat .v small{font-family:var(--body);color:var(--muted);margin-left:3px;font-size:12px;font-weight:400}.stat .n{font-family:var(--mono);color:var(--faint);margin-top:2px;font-size:9.5px;line-height:1.4}.stat.alert{border-left:2px solid var(--red);padding-left:8px}.stat.alert .v{color:#ff9d9a}.big-number{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:40px;font-weight:500;line-height:1}.big-number small{color:var(--muted);font-size:15px;font-family:var(--body);margin-left:4px}.box{border:1px solid var(--line);background:var(--card);color:#c9cfda;border-radius:10px;margin:10px 0;padding:10px 12px;font-size:12.5px;line-height:1.5}.box .quote{font-family:var(--mono);color:var(--muted);margin-top:6px;font-size:10.5px;font-style:italic}.badge{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--green);background:#86e08f14;border:1px solid #86e08f73;border-radius:4px;align-items:center;gap:6px;padding:3px 7px;font-size:9.5px;display:inline-flex}.badge.bad{color:#ff9d9a;background:#f0605d1a;border-color:#f0605d80}.badge.warn{color:var(--amber);background:#f2b35b14;border-color:#f2b35b80}.row{align-items:center;gap:8px;display:flex}.row.spread{justify-content:space-between}.btn{border:1px solid var(--line-strong);white-space:nowrap;background:#ffffff0a;border-radius:8px;justify-content:center;align-items:center;gap:7px;height:32px;padding:0 12px;font-size:12.5px;font-weight:600;transition:background .2s,border-color .2s,opacity .2s;display:inline-flex}.btn:hover{background:#ffffff14}.btn:disabled{opacity:.4;cursor:default}.btn.primary{background:var(--cream);color:#101217;border-color:var(--cream)}.btn.primary:hover{background:#fff}.btn.ghost{background:0 0}.btn.small{border-radius:6px;height:26px;padding:0 9px;font-size:11.5px}.btn.icon{width:32px;padding:0}.btn svg{width:14px;height:14px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line-strong);background:#ffffff08;border-radius:6px;height:26px;padding:0 10px;font-size:11.5px;font-weight:600;transition:background .2s,border-color .2s}.chip:hover{background:#ffffff14}.chip.on{color:#ffc2c0;background:#f0605d1f;border-color:#f0605d99}.seg{border:1px solid var(--line);background:#ffffff0a;border-radius:8px;gap:2px;padding:2px;display:flex}.seg button{height:26px;color:var(--muted);border-radius:6px;flex:1;font-size:11.5px;font-weight:500}.seg button.on{color:#fff;background:#ffffff1a;box-shadow:inset 0 0 0 1px #ffffff1f}.knob{margin:12px 0}.knob .row.spread{margin-bottom:6px;font-size:12.5px}.knob .val{font-family:var(--mono);color:#fff;font-variant-numeric:tabular-nums;font-size:12px}.knob .hint{font-family:var(--mono);color:var(--faint);margin-top:4px;font-size:9.5px}input[type=range]{appearance:none;background:0 0;width:100%;height:18px;margin:0}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--fill,#fff) var(--p,0%), #ffffff24 var(--p,0%));border-radius:2px;height:3px}input[type=range]::-moz-range-track{background:#ffffff24;border-radius:2px;height:3px}input[type=range]::-moz-range-progress{background:var(--fill,#fff);height:3px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;border-radius:50%;width:15px;height:15px;margin-top:-6px;box-shadow:0 0 0 4px #ffffff1f}input[type=range]::-moz-range-thumb{background:#fff;border:0;border-radius:50%;width:15px;height:15px}.toggle{cursor:pointer;align-items:flex-start;gap:10px;margin:10px 0;font-size:12.5px;line-height:1.4;display:flex}.toggle input{display:none}.toggle .sw{background:#ffffff24;border-radius:999px;flex:none;width:30px;height:17px;margin-top:1px;transition:background .2s;position:relative}.toggle .sw:after{content:"";background:#fff;border-radius:50%;width:13px;height:13px;transition:transform .2s;position:absolute;top:2px;left:2px}.toggle input:checked+.sw{background:var(--amber)}.toggle input:checked+.sw:after{transform:translate(13px)}.toggle small{color:var(--faint);font-family:var(--mono);margin-top:2px;font-size:9.5px;display:block}.bars{gap:5px;display:grid}.bar-row{font-family:var(--mono);grid-template-columns:50px 1fr 62px;align-items:center;gap:8px;font-size:10px;display:grid}.bar-row .name{color:var(--c);font-weight:500}.bar-row .track{background:#ffffff12;border-radius:3px;height:5px;position:relative;overflow:hidden}.bar-row .fill{background:var(--c);box-shadow:0 0 8px color-mix(in srgb, var(--c) 60%, transparent);border-radius:3px;position:absolute;inset:0 auto 0 0}.bar-row .num{text-align:right;color:#dfe4ec;font-variant-numeric:tabular-nums}.rel-bars .bar-row{grid-template-columns:92px 1fr 78px;font-size:10px}.rel-bars .bar-row .name{color:#cfd5df;font-family:var(--body);font-size:11.5px}.rel-bars .track{overflow:visible}.rel-bars .track:before{content:"";background:#ffffff40;width:1px;position:absolute;top:-3px;bottom:-3px;left:50%}.satlist{gap:4px;display:grid}.satrow{border:1px solid var(--line);font-family:var(--mono);color:#cdd3dd;text-align:left;border-radius:7px;grid-template-columns:14px 54px 1fr auto;align-items:center;gap:8px;width:100%;padding:5px 8px;font-size:10.5px;display:grid}.satrow .sw8{background:var(--c,#fff);width:9px;height:9px;box-shadow:0 0 6px var(--c,#fff);border-radius:50%}.satrow .prn{color:var(--c,#fff);font-weight:500}.satrow.off{opacity:.55}.satrow.off .sw8{box-shadow:none;background:0 0;border:1px solid #fff6}.satrow .meta{color:var(--faint)}.dials{grid-template-columns:1fr 1fr;gap:10px;margin:8px 0 10px;display:grid}.dial{text-align:center}.dial svg{width:100%;max-width:108px;height:auto}.dial .cap{font-family:var(--mono);color:var(--faint);margin-top:2px;font-size:9.5px}.dial .rd{font-family:var(--mono);color:#fff;font-size:12px;font-weight:500}.steps{gap:4px;margin:6px 0 10px;display:flex}.steps button{color:var(--faint);border-bottom:2px solid #ffffff14;flex:1;align-items:center;gap:6px;padding:6px 4px;font-size:11.5px;font-weight:600;display:flex}.steps button i{border:1px solid;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:9.5px;font-style:normal;display:inline-flex}.steps button.on{color:#fff;border-bottom-color:var(--amber)}.steps button.done{color:var(--green);border-bottom-color:#86e08f66}.skyplot{width:100%;max-width:150px;margin:0 auto;display:block}.skyplot circle.sat{cursor:pointer}.split{grid-template-columns:1fr 150px;align-items:start;gap:10px;display:grid}.target-plot{width:100%;max-width:132px}.chart{width:100%;height:auto;display:block}.tiny{font-family:var(--mono);color:var(--faint);font-size:9.5px;line-height:1.45}.code-strip{width:100%;height:34px;display:block}hr.sep{border:0;border-top:1px solid var(--line);margin:14px 0}.panel a,.cards a{color:#bcd6ff;text-decoration-color:#bcd6ff59}.year-big{font-family:var(--display);font-size:34px;font-weight:600;line-height:1}.era{align-items:center;gap:6px;margin-top:4px;font-size:11.5px;display:flex}.era i{background:var(--green);border-radius:50%;width:7px;height:7px}.era.sa i{background:var(--red)}.game-score{font-family:var(--mono);color:var(--muted);gap:16px;font-size:10.5px;display:flex}.game-score b{color:#fff;font-weight:500}.meter{background:#ffffff14;border-radius:3px;height:6px;margin-top:6px;overflow:hidden}.meter i{background:linear-gradient(90deg, var(--red), var(--amber), var(--green));border-radius:3px;height:100%;transition:width .25s;display:block}.dock{left:calc((100% - var(--panel-w) - 32px) / 2);z-index:6;border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);background:#0a0e16db;border-radius:16px;align-items:center;gap:8px;padding:6px;transition:opacity .5s,transform .5s;display:flex;position:absolute;bottom:18px;transform:translate(-50%)}.dock-modes{gap:2px;display:flex}.dock-modes button{width:70px;height:46px;color:var(--muted);border-radius:11px;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:10px;transition:background .2s,color .2s;display:flex;position:relative}.dock-modes button svg{width:16px;height:16px}.dock-modes button:hover{color:#fff;background:#ffffff0d}.dock-modes button.on{color:#fff;background:#ffffff14}.dock-modes button.on:after{content:"";background:#fff;border-radius:2px;height:2px;position:absolute;bottom:4px;left:30%;right:30%}.play{background:var(--cream);color:#0b0d12;height:46px;font-family:var(--display);letter-spacing:.06em;text-transform:uppercase;border-radius:11px;align-items:center;gap:10px;padding:0 18px 0 8px;font-size:17px;font-weight:600;display:inline-flex;box-shadow:0 0 24px #f7f0df40}.play-icon{width:30px;height:30px;color:var(--cream);background:#0b0d12;border-radius:7px;justify-content:center;align-items:center;display:inline-flex}.play-icon svg{width:14px;height:14px}.captions{left:calc((100% - var(--panel-w) - 32px) / 2);z-index:4;width:min(760px, calc(100% - var(--panel-w) - 80px));text-align:center;pointer-events:none;position:absolute;bottom:96px;transform:translate(-50%)}.captions .kicker,.intro .kicker{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--amber);min-height:12px;margin:0 0 8px;font-size:10px}.captions .caption{font-family:var(--display);color:#fff;text-shadow:0 2px 18px #000000d9,0 0 3px #000c;text-wrap:balance;font-size:30px;font-weight:600;line-height:1.18}.captions .sub{font-family:var(--mono);color:#c3c9d4;text-shadow:0 1px 6px #000000e6;text-wrap:balance;margin-top:8px;font-size:10.5px}.captions .fade{transition:opacity .45s,transform .45s}.captions .fade.out{opacity:0;transform:translateY(6px)}.cards{z-index:5;pointer-events:none;gap:10px;width:318px;display:grid;position:absolute;top:64px;right:22px}.card{border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);opacity:0;background:#090d15e0;border-radius:12px;padding:12px 14px;transition:opacity .45s,transform .45s;transform:translateY(-6px)}.card.on{opacity:1;transform:none}.card .eyebrow{margin:0 0 4px;font-size:9px}.card h3{font-family:var(--display);margin:0 0 8px;font-size:18px;font-weight:600;line-height:1.15}.card .cnum{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:28px;font-weight:500;line-height:1.05}.card .strike{color:var(--faint);font-family:var(--mono);font-size:10.5px;text-decoration:line-through}.story-ui{z-index:7;pointer-events:none;opacity:0;transition:opacity .5s;position:absolute;inset:0}.story-close{border:1px solid var(--line);width:30px;height:30px;color:var(--muted);background:#0a0e16b3;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:14px;right:16px}.story-close svg{width:14px;height:14px}.story-hints{font-family:var(--mono);color:var(--faint);align-items:center;gap:6px;font-size:9.5px;display:flex;position:absolute;bottom:14px;right:18px}.story-hints kbd{font-family:var(--mono);border:1px solid var(--line-strong);color:var(--muted);border-radius:3px;padding:0 4px;font-size:9px}.story-bar{pointer-events:auto;gap:3px;width:min(340px,40vw);display:flex;position:absolute;bottom:18px;left:24px}.story-bar button{flex:1;align-items:center;height:12px;display:flex}.story-bar button i{background:#ffffff24;border-radius:2px;width:100%;height:3px;display:block;position:relative;overflow:hidden}.story-bar button i b{background:#ffffffd9;width:0;position:absolute;inset:0 auto 0 0}.story-bar button:hover i{background:#ffffff4d}.story-paused{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;border:1px solid var(--line);opacity:0;background:#080c13cc;border-radius:999px;padding:8px 14px;font-size:11px;transition:opacity .3s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.story-paused.on{opacity:1}#app.story .brand,#app.story .top-pills,#app.story .panel,#app.story .dock{opacity:0;pointer-events:none}#app.story .panel{transform:translate(20px)}#app.story .dock{transform:translate(-50%,20px)}#app.story .story-ui{opacity:1}:is(#app:has(.intro:not(.gone)) .panel,#app:has(.intro:not(.gone)) .dock,#app:has(.intro:not(.gone)) .captions){opacity:0;pointer-events:none}#app.story .story-close,#app.story .story-bar{pointer-events:auto}#app.story .captions{width:min(880px,100% - 48px);bottom:64px;left:50%}#app.story .captions .caption{font-size:34px}#app.story .center-pill{left:50%}.endcard{z-index:8;text-align:center;opacity:0;pointer-events:none;background:radial-gradient(#03050a8c,#03050a33 60%,#0000);flex-direction:column;justify-content:center;align-items:center;transition:opacity .6s;display:flex;position:absolute;inset:0}.endcard.on{opacity:1;pointer-events:auto}.endcard h2{font-family:var(--display);letter-spacing:.01em;margin:10px 0 16px;font-size:54px;font-weight:600}.endcard-dots{gap:6px;display:flex}.endcard-dots i{border-radius:50%;width:8px;height:8px}.endcard-dots i:first-child{background:var(--amber)}.endcard-dots i:nth-child(2){background:var(--cyan)}.endcard-dots i:nth-child(3){background:var(--pink)}.endcard-dots i:nth-child(4){background:var(--lime)}.endcard-buttons{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.endcard-buttons .btn{background:#080c13b3;border-radius:999px}.endcard .fine{max-width:460px;margin-top:18px}.intro{z-index:9;background:linear-gradient(#03050a00 20%,#03050a40 45%,#03050aeb);justify-content:center;align-items:flex-end;padding:0 24px 12vh;transition:opacity .7s;display:flex;position:absolute;inset:0}.intro.gone{opacity:0;pointer-events:none}.intro-inner{text-align:center;max-width:640px}.intro h2{font-family:var(--display);text-wrap:balance;margin:0 0 22px;font-size:40px;font-weight:600;line-height:1.12}.intro-buttons{justify-content:center;gap:10px;display:flex}.intro .btn{border-radius:11px;height:44px;padding:0 18px;font-size:14px}.intro .btn.primary{padding-left:7px}.loading{z-index:20;background:var(--bg);font-family:var(--mono);color:var(--faint);flex-direction:column;justify-content:center;align-items:center;gap:14px;font-size:11px;transition:opacity .8s;display:flex;position:absolute;inset:0}.loading.gone{opacity:0;pointer-events:none}.spinner{border:2px solid #ffffff1a;border-top-color:var(--amber);border-radius:50%;width:26px;height:26px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.drag-hint{cursor:grab}@media (max-width:760px){:root{--panel-w:0px}.brand{top:12px;left:14px}.brand h1{font-size:16px}.brand-sub{display:none}.top-pills{justify-content:flex-start;top:44px;left:10px;right:10px}.loc-popover{width:auto;top:80px;left:10px;right:10px}.panel{width:auto;max-height:44vh;inset:auto 8px 76px}.dock{gap:4px;padding:4px;bottom:8px;left:8px;right:8px;transform:none}.dock-modes{scrollbar-width:none;flex:1;overflow-x:auto}.dock-modes button{flex:none;width:58px;height:52px;font-size:9.5px}.play{gap:6px;height:52px;padding:0 12px 0 6px;font-size:15px}.captions{width:calc(100% - 24px);bottom:calc(44vh + 90px);left:50%}.captions .caption{font-size:22px}.cards{width:auto;top:50px;left:10px;right:10px}.card{padding:9px 11px}#app.story .captions{bottom:58px}#app.story .captions .caption{font-size:24px}.center-pill{top:84px;left:50%}#app.story .center-pill{top:14px}.story-hints{display:none}.story-bar{width:auto;bottom:12px;left:12px;right:12px}.endcard h2{font-size:38px}.intro h2{font-size:30px}.split{grid-template-columns:1fr 120px}}@media (max-height:560px) and (min-width:761px){.captions .caption{font-size:24px}}.made-by{z-index:6;color:#f0c4b3;height:24px;font-family:var(--mono);letter-spacing:.02em;background:#d9775714;border:1px solid #d9775759;border-radius:999px;align-items:center;gap:7px;padding:0 10px 0 8px;font-size:10px;text-decoration:none;transition:opacity .5s,background .2s,top .5s;display:inline-flex;position:absolute;top:62px;left:22px}.made-by:hover{background:#d9775729}.made-by svg{color:#d97757;width:12px;height:12px}.made-by b{color:#fff;font-weight:500}#app.story .made-by{opacity:.85;top:14px;left:18px}.lb{z-index:3;pointer-events:none;background:#000;height:0;transition:height .9s cubic-bezier(.2,.8,.2,1);position:absolute;left:0;right:0}.lb-top{top:0}.lb-bot{bottom:0}#app.story .lb{height:6.5vh}.title-card{z-index:8;text-align:center;pointer-events:none;opacity:0;flex-direction:column;justify-content:center;align-items:center;transition:opacity .9s;display:flex;position:absolute;inset:0}.title-card.on{opacity:1}.title-card h2{font-family:var(--display);letter-spacing:.02em;text-transform:uppercase;color:#fff;text-shadow:0 0 40px #62c6f059,0 0 80px #f2b35b33;margin:10px 0 14px;font-size:clamp(54px,9vw,120px);font-weight:600;line-height:.92;transition:transform 4.5s cubic-bezier(.2,.8,.2,1),letter-spacing 4.5s cubic-bezier(.2,.8,.2,1);transform:scale(.94)}.title-card.on h2{letter-spacing:.08em;transform:scale(1.04)}.title-card .kicker{font-family:var(--mono);letter-spacing:.3em;text-transform:uppercase;color:var(--amber);font-size:11px}.title-credit{font-family:var(--mono);color:#f0c4b3;align-items:center;gap:8px;margin:0;font-size:11px;display:inline-flex}.title-credit svg{color:#d97757;width:13px;height:13px}.features{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:16px;display:flex}.features span{color:#c9cfda;border:1px solid var(--line-strong);background:#ffffff08;border-radius:999px;padding:5px 10px;font-size:12px}.features b{color:var(--amber);font-weight:600}.intro-credit{font-family:var(--mono);color:#f0c4b3;margin:14px 0 0;font-size:10.5px}@media (max-width:760px){.made-by{display:none;top:auto;bottom:calc(44vh + 92px);left:10px}#app.story .made-by{font-size:9px;display:inline-flex;top:54px;bottom:auto}.intro-buttons{flex-wrap:wrap}.features span{font-size:11px}#app.story .lb{height:4vh}}.gpu-notice{z-index:60;padding:24px var(--gutter);opacity:0;background:radial-gradient(at 50% 30%,#62c6f01f,#0000 60%),#03050af0;justify-content:center;align-items:center;transition:opacity .4s;display:flex;position:fixed;inset:0;overflow-y:auto}.gpu-notice.gpu-none,.gpu-notice.gpu-lost{background:radial-gradient(ellipse at 50% 30%, #f0605d29, transparent 60%), var(--bg)}.gpu-notice.shown{opacity:1}.gpu-notice.gone{opacity:0;pointer-events:none}.gpu-card{border:1px solid var(--line-strong);background:var(--panel-solid);border-radius:18px;width:min(560px,100%);margin:auto;padding:28px 28px 22px;transition:transform .5s cubic-bezier(.2,.9,.2,1);transform:translateY(14px)scale(.98);box-shadow:0 30px 80px #0009}.gpu-notice.shown .gpu-card{transform:none}.gpu-art{width:132px;height:132px;margin:-6px auto 6px;display:block}.gpu-ring{fill:none;stroke:#ffffff24;stroke-width:1.2px}.gpu-tag{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--amber);justify-content:center;align-items:center;gap:8px;margin:0 0 8px;font-size:11px;display:flex}.gpu-none .gpu-tag,.gpu-lost .gpu-tag{color:var(--red)}.gpu-dot{background:currentColor;border-radius:50%;width:8px;height:8px;animation:1.6s ease-out infinite gpu-pulse;box-shadow:0 0}@keyframes gpu-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, currentColor 60%, transparent)}to{box-shadow:0 0 0 10px #0000}}.gpu-card h2{font-family:var(--display);text-align:center;color:var(--cream);margin:0 0 10px;font-size:clamp(30px,6vw,42px);font-weight:600;line-height:1.02}.gpu-body{text-align:center;max-width:46ch;color:var(--muted);margin:0 auto 18px;font-size:15px;line-height:1.5}.gpu-guide{border:1px solid var(--line);border-left:3px solid var(--cyan);background:var(--card);border-radius:12px;padding:16px 18px}.gpu-for{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--cyan);margin:0 0 8px;font-size:11px}.gpu-steps{margin:0;padding-left:22px;font-size:15px;line-height:1.5}.gpu-steps li+li{margin-top:6px}.gpu-steps b{color:var(--cream);font-weight:600}.gpu-card code{font-family:var(--mono);color:var(--cream);word-break:break-all;background:#ffffff14;border-radius:5px;padding:1px 6px;font-size:12.5px}.gpu-extra{color:var(--faint);margin:10px 0 0;font-size:13px;line-height:1.5}.gpu-copy{margin-top:12px}.gpu-others{color:var(--muted);margin-top:12px;font-size:13px}.gpu-others summary{cursor:pointer;padding:6px 0}.gpu-others>div{border-top:1px solid var(--line);margin:12px 0;padding-top:12px}.gpu-others .gpu-steps{font-size:13px}.gpu-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:20px;display:flex}.gpu-renderer{font-family:var(--mono);text-align:center;color:var(--faint);margin:14px 0 0;font-size:10.5px}@media (prefers-reduced-motion:reduce){.gpu-dot{animation:none}}.sound-toggle{height:30px;color:var(--cream);font:600 12px var(--body);cursor:pointer;pointer-events:auto;background:#f2b35b1a;border:1px solid #f2b35b73;border-radius:999px;align-items:center;gap:8px;padding:0 12px 0 10px;transition:background .2s,border-color .2s,color .2s;display:inline-flex}.sound-toggle:hover{background:#f2b35b2e}.sound-toggle:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.sound-toggle .eq{align-items:flex-end;gap:2px;width:16px;height:13px;display:inline-flex}.sound-toggle .eq i{background:var(--amber);transform-origin:bottom;border-radius:1px;flex:1;height:100%;animation:.9s ease-in-out infinite alternate sound-eq}.sound-toggle .eq i:nth-child(2){animation-duration:.7s;animation-delay:-.3s}.sound-toggle .eq i:nth-child(3){animation-duration:1.1s;animation-delay:-.6s}.sound-toggle .eq i:nth-child(4){animation-duration:.8s;animation-delay:-.15s}@keyframes sound-eq{0%{transform:scaleY(.25)}to{transform:scaleY(1)}}.sound-toggle .spk{width:16px;height:16px;display:none}.sound-toggle.off{color:#ffb3b1;background:#f0605d1f;border-color:#f0605d8c}.sound-toggle.off .eq{display:none}.sound-toggle.off .spk{display:block}.sound-toggle.story-sound.off{animation:1.8s ease-out infinite sound-call}@keyframes sound-call{0%{box-shadow:0 0 #f0605d80}to{box-shadow:0 0 0 12px #f0605d00}}.sound-toggle.big{height:40px;padding:0 16px 0 14px;font-size:14px}.sound-toggle.big .eq{width:20px;height:16px}.intro-sound{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:16px;display:flex}.intro-sound-note{color:var(--muted);font-size:13px}.story-sound{position:absolute;top:14px;right:56px}#app.story .story-sound{pointer-events:auto}@media (prefers-reduced-motion:reduce){.sound-toggle .eq i,.sound-toggle.story-sound.off{animation:none}}
