@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.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 Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.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 Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.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 Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.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 Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.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 Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-CuWXN6rf.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-BEb3_waV.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 Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.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 Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-D-CqTdkO.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-DgdngZtN.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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.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 Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-cyrillic-ext-700-normal-BmRLXWpJ.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-700-normal-DCQwxkRk.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 Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-cyrillic-700-normal-D_uavGvn.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-700-normal-RFb1v-CK.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-greek-700-normal-wyJ6jzdA.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-700-normal-CkZN0sRy.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-vietnamese-700-normal-CkEo6LDy.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-700-normal-BV5B8Are.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 Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-ext-700-normal-aMgXseD4.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-700-normal-DZH6Xh-4.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 Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-700-normal-Bxkt5Cjx.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-700-normal-Bth3BMcD.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}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.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:600;src:url(/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.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:600;src:url(/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.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:600;src:url(/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.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:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.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:#f2f4fa;--bg-grad-1:#f7f9fd;--bg-grad-2:#edf0f7;--glow-1:#1d5cff0f;--glow-2:#0891b20d;--panel:#fff;--panel-2:#eef1f8;--panel-3:#e2e7f1;--border:#dfe4ef;--border-strong:#c2cbdd;--text:#101623;--muted:#5c6980;--faint:#8b96a9;--accent:#1d51e0;--accent-strong:#2563eb;--accent-2:#0891b2;--accent-soft:#2563eb17;--up:#d92136;--up-soft:#d9213617;--down:#0d9457;--down-soft:#0d94571a;--flat:#64748b;--warn:#b45309;--warn-soft:#b453091a;--danger:#b91c1c;--ring:#1d51e0;--topbar-bg:#ffffffdb;--table-stripe:#2563eb0b;--panel-grad:#f7f9fdb3;--table-bg:#ffffff8c;--gold:#b8860b;--silver:#7d8aa3;--bronze:#b0763c;--shadow-sm:0 1px 2px #1016230f;--shadow-md:0 4px 16px #10162314;--shadow-lg:0 12px 40px #1016231f;--radius-sm:6px;--radius-md:10px;--radius-lg:14px}html[data-theme=dark]{--bg:#080b12;--bg-grad-1:#0b101d;--bg-grad-2:#080b12;--glow-1:#3d7dff12;--glow-2:#22c8ee0b;--panel:#0e1422;--panel-2:#141c2f;--panel-3:#1b2540;--border:#1c2540;--border-strong:#2b3a5f;--text:#e7edf9;--muted:#8b95ac;--faint:#5a6579;--accent:#3d7dff;--accent-strong:#6ea3ff;--accent-2:#22c8ee;--accent-soft:#3d7dff21;--up:#ff4d61;--up-soft:#ff4d6121;--down:#0ecb81;--down-soft:#0ecb8121;--flat:#8b95ac;--warn:#ffb020;--warn-soft:#ffb02021;--danger:#ff5252;--ring:#6ea3ff;--topbar-bg:#0a0e18d6;--table-stripe:#3d7dff0f;--panel-grad:#0e1422e0;--table-bg:#080b1273;--gold:#ffc53d;--silver:#c0c8d8;--bronze:#d0985a;--shadow-sm:0 1px 2px #00000073;--shadow-md:0 4px 16px #0006;--shadow-lg:0 12px 40px #0000008c}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:radial-gradient(1200px 600px at 80% -10%, var(--glow-1), transparent 60%), radial-gradient(900px 500px at -10% 0%, var(--glow-2), transparent 55%), linear-gradient(180deg, var(--bg-grad-1), var(--bg-grad-2) 30%);color:var(--text);-webkit-font-smoothing:antialiased;background-attachment:fixed;margin:0;font-family:IBM Plex Sans,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.5}button{cursor:pointer}.num,.mono,code{font-variant-numeric:tabular-nums;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace}.num{text-align:right}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:11px;font-weight:600}::selection{background:color-mix(in srgb, var(--accent) 35%, transparent);color:#fff}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--panel-3);border:2px solid var(--bg);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}a,button,select,input{touch-action:manipulation}a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:4px}a{color:var(--accent-strong);text-decoration:none;transition:color .15s,opacity .15s}a:hover{text-decoration:underline}h1,h2{text-wrap:balance;letter-spacing:.01em}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.app{flex-direction:column;min-height:100vh;display:flex}.topbar{background:var(--topbar-bg);-webkit-backdrop-filter:blur(14px)saturate(1.4);border-bottom:1px solid var(--border);z-index:10;align-items:center;gap:28px;height:60px;padding:0 28px;display:flex;position:sticky;top:0}.topbar:after{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--accent) 55%, transparent) 30%, color-mix(in srgb, var(--accent-2) 45%, transparent) 70%, transparent);pointer-events:none;height:1px;position:absolute;bottom:-1px;left:0;right:0}.brand{color:var(--text);letter-spacing:.02em;align-items:center;gap:10px;font-size:17px;font-weight:700;display:flex}.brand:hover{opacity:.9;text-decoration:none}.brand-sub{letter-spacing:.18em;color:var(--accent-strong);border:1px solid var(--border-strong);background:var(--accent-soft);border-radius:4px;margin-left:2px;padding:2px 7px;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:10px;font-weight:600}.logo{color:var(--accent);filter:drop-shadow(0 0 6px color-mix(in srgb, var(--accent) 55%, transparent));flex:none}nav{gap:4px;display:flex}nav a{color:var(--muted);border-radius:var(--radius-sm);background:0 0;align-items:center;min-height:40px;padding:8px 16px;font-size:14px;font-weight:500;transition:color .15s,background-color .15s;display:inline-flex;position:relative}nav a:hover{color:var(--text);background:var(--accent-soft);text-decoration:none}nav a.active{color:var(--accent-strong);background:var(--accent-soft);font-weight:600;text-decoration:none}nav a.active:after{content:"";background:linear-gradient(90deg, var(--accent), var(--accent-2));height:2px;box-shadow:0 0 8px color-mix(in srgb, var(--accent) 80%, transparent);border-radius:2px;position:absolute;bottom:2px;left:14px;right:14px}.theme-toggle{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--panel-2);width:40px;height:40px;color:var(--muted);cursor:pointer;justify-content:center;align-items:center;margin-left:auto;transition:color .15s,border-color .15s,background-color .15s;display:inline-flex}.theme-toggle:hover{color:var(--accent-strong);border-color:var(--accent);background:var(--accent-soft)}.theme-toggle svg{width:18px;height:18px}.skip-link{z-index:100;background:var(--accent);color:#fff;border-radius:var(--radius-sm);padding:8px 14px;font-weight:600;position:absolute;top:8px;left:-9999px}.skip-link:focus{text-decoration:none;left:8px}.content{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:28px 24px}.footer{text-align:center;color:var(--faint);border-top:1px solid var(--border);padding:14px 24px;font-size:12px}.page h1{align-items:center;gap:12px;margin:0 0 22px;font-size:22px;display:flex}.hero{grid-template-columns:minmax(300px,380px) 1fr;gap:14px;margin-bottom:14px;display:grid}.hero-box{background:linear-gradient(165deg, var(--panel) 0%, var(--panel-grad) 100%);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:18px 22px 20px;position:relative;overflow:hidden}.hero-box:before{content:"";background:linear-gradient(90deg, var(--accent), var(--accent-2) 60%, transparent);opacity:.75;height:2px;position:absolute;top:0;left:0;right:0}.hero-head{justify-content:space-between;align-items:baseline;margin-bottom:14px;display:flex}.cards{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px;margin-bottom:22px;display:grid}.card{background:linear-gradient(160deg, var(--panel) 0%, var(--panel-grad) 100%);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:16px 18px;transition:transform .18s,border-color .18s,box-shadow .18s;position:relative;overflow:hidden}.card:before{content:"";background:linear-gradient(90deg, var(--accent), transparent 70%);opacity:.6;height:2px;position:absolute;top:0;left:0;right:0}.card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-label{color:var(--muted);align-items:center;gap:6px;margin-bottom:8px;font-size:12px;display:flex}.card-value{font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:22px;font-weight:700}.gauge-value-row{align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.gauge-value{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:40px;font-weight:700;line-height:1}.gauge-max{color:var(--faint);font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:13px}.gauge{padding-top:9px;position:relative}.gauge-ticks{background:repeating-linear-gradient(90deg, var(--border-strong) 0, var(--border-strong) 1px, transparent 1px, transparent 10%) top / 100% 5px no-repeat, repeating-linear-gradient(90deg, var(--border-strong) 0, var(--border-strong) 1px, transparent 1px, transparent 2.5%) top / 100% 3px no-repeat;opacity:.9;height:8px;margin-bottom:5px}.gauge-rail{background:var(--panel-3);border-radius:999px;height:6px;position:relative;overflow:hidden}.gauge-rail:before{content:"";background:linear-gradient(90deg, var(--accent-soft) 0 50%, var(--warn-soft) 50% 70%, var(--up-soft) 70% 100%);position:absolute;inset:0}.gauge-fill{background:linear-gradient(90deg, var(--accent), var(--accent-2));border-radius:999px;transition:width .4s;position:absolute;top:0;bottom:0;left:0}.gauge-fill.tone-warn{background:linear-gradient(90deg, var(--warn), var(--accent-2))}.gauge-fill.tone-up{background:linear-gradient(90deg, var(--accent-2), var(--up))}.gauge-needle{background:var(--text);width:2px;box-shadow:0 0 6px color-mix(in srgb, var(--text) 35%, transparent);border-radius:1px;transition:left .4s;position:absolute;top:7px;bottom:-2px;transform:translate(-1px)}.gauge-scale{height:13px;color:var(--muted);margin-top:6px;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:11px;position:relative}.gauge-scale span{position:absolute;transform:translate(-50%)}.gauge-scale span:first-child{transform:none}.gauge-scale span:last-child{transform:translate(-100%)}.breadth-bar{background:var(--panel-3);border-radius:999px;height:12px;margin:6px 0 16px;display:flex;overflow:hidden}.breadth-bar>span{min-width:2px;transition:flex-grow .4s}.breadth-bar .bb-up{background:linear-gradient(90deg, color-mix(in srgb, var(--up) 55%, transparent), var(--up))}.breadth-bar .bb-flat{background:var(--border-strong)}.breadth-bar .bb-down{background:linear-gradient(90deg, var(--down), color-mix(in srgb, var(--down) 55%, transparent))}.breadth-stats{flex-wrap:wrap;gap:8px 26px;display:flex}.bs-item{color:var(--muted);align-items:baseline;gap:8px;font-size:13px;display:flex}.bs-dot{border-radius:2px;flex:none;align-self:center;width:8px;height:8px}.bs-item strong{font-variant-numeric:tabular-nums;color:var(--text);font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:16px;font-weight:700}.bs-item .bs-pct{color:var(--faint);font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:12px}.bs-item.tone-up strong{color:var(--up)}.bs-item.tone-up .bs-dot{background:var(--up)}.bs-item.tone-down strong{color:var(--down)}.bs-item.tone-down .bs-dot{background:var(--down)}.bs-item.tone-flat .bs-dot{background:var(--border-strong)}.stat-strip{background:linear-gradient(165deg, var(--panel) 0%, var(--panel-grad) 100%);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-wrap:wrap;margin-bottom:22px;padding:14px 6px;display:flex}.stat{border-left:1px solid var(--border);flex:1 1 0;min-width:130px;padding:2px 22px}.stat:first-child{border-left:none}.stat-label{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-bottom:4px;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:11px;font-weight:600}.stat-value{font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:17px;font-weight:600}.quote-head{margin-bottom:18px}.quote-title-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.quote-name{letter-spacing:.01em;font-size:24px;font-weight:700}.quote-code{color:var(--muted);font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:14px}.quote-price-row{flex-wrap:wrap;align-items:baseline;gap:14px;display:flex}.quote-price{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:32px;font-weight:700;line-height:1.1}.chip{font-variant-numeric:tabular-nums;border-radius:6px;align-items:center;gap:4px;padding:3px 10px;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:14px;font-weight:600;display:inline-flex}.chip.up{color:var(--up);background:var(--up-soft);border:1px solid color-mix(in srgb, var(--up) 30%, transparent)}.chip.down{color:var(--down);background:var(--down-soft);border:1px solid color-mix(in srgb, var(--down) 30%, transparent)}.chip.flat{color:var(--flat);background:var(--panel-2);border:1px solid var(--border-strong)}.quote-date{color:var(--faint);font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:12px}.badge{border:1px solid var(--border-strong);color:var(--muted);background:var(--panel-2);white-space:nowrap;border-radius:5px;padding:4px 9px;font-size:12px;font-weight:600;line-height:1;display:inline-block}.badge.tone-up{color:var(--up);background:var(--up-soft);border-color:color-mix(in srgb, var(--up) 35%, transparent)}.badge.tone-down{color:var(--down);background:var(--down-soft);border-color:color-mix(in srgb, var(--down) 35%, transparent)}.badge.tone-warn{color:var(--warn);background:var(--warn-soft);border-color:color-mix(in srgb, var(--warn) 35%, transparent)}.badge.tone-accent{color:var(--accent-strong);background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 35%, transparent)}.panel{background:linear-gradient(170deg, var(--panel) 0%, var(--panel-grad) 100%);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:22px;padding:20px 22px}.panel h2{color:var(--text);border-bottom:1px solid var(--border);align-items:center;gap:10px;margin:0 0 16px;padding-bottom:12px;font-size:15px;display:flex}.panel h2:before{content:"";background:linear-gradient(180deg, var(--accent), var(--accent-2));border-radius:2px;flex:none;width:3px;height:14px}.muted{color:var(--muted);font-size:13px}.tag{background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);color:var(--accent-strong);vertical-align:middle;border-radius:999px;margin-left:8px;padding:2px 10px;font-size:12px;font-weight:500;display:inline-block}.tag.warn{color:var(--warn);background:var(--warn-soft);border-color:color-mix(in srgb, var(--warn) 40%, transparent)}.up{color:var(--up)}.down{color:var(--down)}.flat{color:var(--flat)}.error{color:var(--danger);background:color-mix(in srgb, var(--danger) 8%, transparent);border:1px solid color-mix(in srgb, var(--danger) 30%, transparent);border-radius:var(--radius-md);padding:24px}.loading{color:var(--muted);align-items:center;gap:10px;padding:24px;display:flex}.loading:before{content:"";border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;flex:none;width:14px;height:14px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:var(--panel-3);border-radius:var(--radius-sm);position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--text) 7%, transparent), transparent);animation:1.4s infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes shimmer{to{transform:translate(100%)}}.page{animation:.35s both page-in}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.eq-chart{position:relative}.eq-crosshair-line{stroke:var(--border-strong);stroke-width:1px;stroke-dasharray:3 3}.eq-tooltip{pointer-events:none;background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--radius-sm);min-width:132px;box-shadow:var(--shadow-md);color:var(--muted);white-space:nowrap;z-index:2;padding:6px 10px;font-size:12px;position:absolute;top:6px;transform:translate(-50%)}.eq-tip-date{font-variant-numeric:tabular-nums;color:var(--text);margin-bottom:4px;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-weight:600}.eq-tip-row{align-items:center;gap:6px;display:flex}.eq-tip-row strong{font-variant-numeric:tabular-nums;color:var(--text);margin-left:auto;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-weight:600}.table-wrap{-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--table-bg);max-height:70vh;overflow:auto}.table-wrap table{border-collapse:collapse}table{font-variant-numeric:tabular-nums;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:9px 14px}thead th{background:var(--panel-2);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;z-index:1;font-size:11px;font-weight:600;position:sticky;top:0}tbody tr{transition:background-color .12s}tbody tr:hover{background:var(--table-stripe)}tbody tr:last-child td{border-bottom:none}.stock-link{color:var(--text);font-weight:600}.stock-link:hover{color:var(--accent-strong);text-decoration:none}.rank{color:var(--faint);font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-weight:600}.rank.r1{color:var(--gold)}.rank.r2{color:var(--silver)}.rank.r3{color:var(--bronze)}.score-cell{align-items:center;gap:8px;display:inline-flex}.mini-bar{background:var(--panel-3);vertical-align:middle;border-radius:999px;width:46px;height:4px;display:inline-block;overflow:hidden}.mini-bar>i{border-radius:999px;height:100%;display:block}.breadth{gap:24px;font-size:15px;font-weight:600;display:flex}.rating-bars{flex-direction:column;gap:12px;display:flex}.rating-row{grid-template-columns:90px 1fr 60px;align-items:center;gap:12px;font-size:13px;display:grid}.rating-track,.factor-track,.progress-track{background:var(--panel-2);border-radius:999px;height:8px;overflow:hidden}.rating-fill{background:linear-gradient(90deg, var(--accent), var(--accent-2));height:100%;box-shadow:0 0 8px color-mix(in srgb, var(--accent) 50%, transparent);border-radius:999px}.rating-count{text-align:right;color:var(--muted);font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace}.filters{flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:18px;display:flex}.filters label{color:var(--muted);flex-direction:column;gap:6px;font-size:12px;font-weight:500;display:flex}.filters select,.filters input{background:var(--panel-2);border:1px solid var(--border-strong);color:var(--text);border-radius:var(--radius-sm);min-height:40px;padding:8px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}.filters select:hover,.filters input:hover{border-color:var(--accent)}.filters select:focus,.filters input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 25%, transparent);outline:none}.filters button,button.primary{background:linear-gradient(180deg, var(--accent-strong), var(--accent));color:#fff;border-radius:var(--radius-sm);cursor:pointer;min-height:40px;box-shadow:0 2px 10px color-mix(in srgb, var(--accent) 35%, transparent);border:none;padding:10px 20px;font-size:14px;font-weight:600;transition:filter .15s,transform .15s,box-shadow .15s}.filters button:hover,button.primary:hover{filter:brightness(1.1);box-shadow:0 4px 16px color-mix(in srgb, var(--accent) 50%, transparent)}.filters button:active,button.primary:active{transform:translateY(1px)}.pager{align-items:center;gap:12px;margin-top:16px;display:flex}.pager button{background:var(--panel-2);border:1px solid var(--border-strong);color:var(--text);border-radius:var(--radius-sm);cursor:pointer;min-height:36px;padding:7px 14px;transition:background-color .15s,border-color .15s}.pager button:hover:not(:disabled){background:var(--panel-3);border-color:var(--accent)}.pager button:disabled{opacity:.4;cursor:not-allowed}.kline-chart{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;height:540px;overflow:hidden}.news-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.news-item{border-bottom:1px solid var(--border);padding:14px 0}.news-item:last-child{border-bottom:none;padding-bottom:0}.news-title{font-size:15px;font-weight:600;line-height:1.45}.news-meta{color:var(--faint);gap:12px;margin-top:6px;font-size:12px;display:flex}.news-summary{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:8px 0 0;font-size:13px;line-height:1.6;display:-webkit-box;overflow:hidden}.score-factors{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;display:grid}.factor-head{align-items:baseline;gap:8px;margin-bottom:8px;font-size:13px;display:flex}.factor-head .factor-name{font-weight:600}.factor-head .factor-weight{color:var(--faint);font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:11px}.factor-head strong{margin-left:auto;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:15px}.factor-fill{background:linear-gradient(90deg, var(--accent), var(--up));border-radius:999px;height:100%}.progress-row{align-items:center;gap:14px;display:flex}.progress-track{flex:1}.progress-fill{background:linear-gradient(90deg, var(--accent), var(--accent-2));height:100%;box-shadow:0 0 8px color-mix(in srgb, var(--accent) 50%, transparent);border-radius:999px}code{background:var(--panel-2);border:1px solid var(--border);color:var(--accent-strong);border-radius:4px;padding:1px 7px;font-size:12px}.bt-tabs{gap:8px;margin-bottom:16px;display:flex}.bt-tabs button{background:var(--panel-2);border:1px solid var(--border-strong);color:var(--muted);border-radius:var(--radius-sm);padding:8px 16px;font-size:13px;font-weight:500;transition:color .15s,border-color .15s,background-color .15s}.bt-tabs button.active{color:var(--accent-strong);border-color:var(--accent);background:var(--accent-soft);font-weight:600}.bt-row{flex-wrap:wrap;align-items:flex-end;gap:14px;margin-bottom:14px;display:flex}.bt-row label{color:var(--muted);flex-direction:column;gap:6px;font-size:12px;font-weight:500;display:flex}.bt-row input,.bt-cond-row select,.bt-cond-row input,.bt-group-head select{background:var(--panel-2);border:1px solid var(--border-strong);color:var(--text);border-radius:var(--radius-sm);min-height:36px;padding:7px 10px;font-size:13px;transition:border-color .15s,box-shadow .15s}.bt-row input:focus,.bt-cond-row select:focus,.bt-cond-row input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 25%, transparent);outline:none}.bt-rule{flex-direction:column;gap:14px;margin-bottom:14px;display:flex}.bt-group{border:1px dashed var(--border-strong);border-radius:var(--radius-md);padding:12px 14px}.bt-group-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.bt-cond-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.bt-cond-row select:first-child{min-width:130px}.bt-cond-num{width:110px}.bt-cond-del{border:1px solid var(--border-strong);color:var(--muted);border-radius:var(--radius-sm);background:0 0;width:30px;height:30px;font-size:16px;line-height:1}.bt-cond-del:hover:not(:disabled){color:var(--danger);border-color:var(--danger)}.bt-cond-del:disabled{opacity:.35;cursor:not-allowed}.bt-add-cond{border:1px dashed var(--border-strong);color:var(--muted);border-radius:var(--radius-sm);background:0 0;padding:6px 14px;font-size:12px}.bt-add-cond:hover{color:var(--accent-strong);border-color:var(--accent)}.bt-run{margin-left:auto}.bt-metrics-grid{grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:10px;margin:16px 0;display:grid}.bt-metric{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:10px 14px}.bt-eq{margin-bottom:16px}.eq-chart svg{width:100%;height:auto;display:block}.eq-grid{stroke:var(--border);stroke-width:1px}.eq-label{fill:var(--faint);font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:10px}.eq-legend{justify-content:flex-end;gap:20px;margin-top:6px;display:flex}.eq-legend-item{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.eq-legend-item strong{color:var(--text);font-weight:600}.eq-dot{border-radius:50%;width:8px;height:8px}.bt-trades{margin-bottom:16px}.bt-history{margin-top:18px}.bt-history>.eyebrow{margin-bottom:10px;display:block}.bt-view{background:var(--panel-2);border:1px solid var(--border-strong);color:var(--muted);border-radius:var(--radius-sm);padding:4px 12px;font-size:12px;transition:color .15s,border-color .15s}.bt-view:hover{color:var(--accent-strong);border-color:var(--accent)}@media (width<=768px){.topbar{flex-wrap:wrap;gap:4px 16px;height:auto;padding:8px 16px}nav{width:100%;overflow-x:auto}.content{padding:18px 14px}.hero{grid-template-columns:1fr}.cards{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.stat{border-left:none;min-width:46%;padding:2px 14px}.kline-chart{height:360px}.breadth{flex-direction:column;gap:8px}.quote-price{font-size:26px}}
