@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: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,html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f3f6f9;--bg-grad:radial-gradient(1200px 520px at 85% -120px, #0090d71a, transparent 70%), radial-gradient(900px 420px at -10% -80px, #0070ad12, transparent 70%);--surface:#fff;--surface2:#f0f3f7;--surface3:#e6ebf1;--glass:#ffffffd1;--border:#dde3ea;--border-strong:#bfc9d4;--grid:#e6ebf0;--text:#0f1b2a;--muted:#566475;--brand:#0090d7;--accent:#0070ad;--accent-hover:#005a8c;--accent-fg:#fff;--accent-soft:#e2f1fa;--accent-grad:linear-gradient(135deg, #0aa0e6 0%, #0070ad 100%);--s0:#a84300;--s0b:#fdebd6;--s1:#4a5565;--s1b:#e8ebef;--s2:#1a7337;--s2b:#e1f2e6;--s3:#b3261e;--s3b:#fce6e4;--sn:#4b3fc4;--snb:#e9e7fb;--b0:#e8892b;--b1:#a3adb8;--b2:#3e9f5f;--b3:#c8372d;--z-ok:#3e9f5f17;--z-mid:#e8892b1c;--z-high:#c8372d1a;--line:#0090d7;--line2:#b5487f;--warn:#6b4a00;--warn-b:#fff4d6;--hatch:#ffffff73;--hatch2:#15202b47;--shadow:0 1px 2px #1018280d, 0 1px 3px #1018280d;--shadow-lift:0 14px 32px -14px #10182847, 0 2px 6px #1018280f;--panel:#0f1b2a;--panel-text:#e6edf3;--panel-muted:#a9b6c2;--radius:14px;--radius-sm:10px;--ease:cubic-bezier(.2, .7, .2, 1)}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b1117;--bg-grad:radial-gradient(1200px 520px at 85% -120px, #4db8ee1a, transparent 70%), radial-gradient(900px 420px at -10% -80px, #0070ad1a, transparent 70%);--surface:#131b23;--surface2:#1a242e;--surface3:#22303c;--glass:#131b23d1;--border:#26333f;--border-strong:#3a4957;--grid:#22303b;--text:#e6edf3;--muted:#9aa8b5;--brand:#0090d7;--accent:#4db8ee;--accent-hover:#7fccf3;--accent-fg:#08131c;--accent-soft:#12293a;--accent-grad:linear-gradient(135deg, #4db8ee 0%, #1f8fd0 100%);--s0:#f6a856;--s0b:#3a2510;--s1:#aeb8c4;--s1b:#242e38;--s2:#5cc985;--s2b:#13301f;--s3:#ff8a80;--s3b:#3a1714;--sn:#aba6ff;--snb:#24204a;--b0:#d9822e;--b1:#5e6b78;--b2:#3d9a5c;--b3:#d9473b;--z-ok:#3d9a5c1f;--z-mid:#d9822e21;--z-high:#d9473b24;--line:#4db8ee;--line2:#f08bbe;--warn:#f2d27a;--warn-b:#33290f;--hatch:#0e141a73;--hatch2:#e6edf34d;--shadow:0 1px 2px #0000004d;--shadow-lift:0 16px 36px -16px #000000b3;--panel:#070b10;--panel-text:#e6edf3;--panel-muted:#9aa8b5}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg-grad), var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-feature-settings:"tnum" 1;background-attachment:fixed;font-family:IBM Plex Sans,system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;line-height:1.45}a{color:var(--accent);text-underline-offset:2px}a:hover{color:var(--accent-hover)}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}h1,h2,h3{margin:0;font-weight:600}h1{letter-spacing:-.02em;font-size:28px;line-height:1.15}h2{letter-spacing:-.01em;font-size:18px}h3{font-size:15px}p{margin:0}.mono{font-family:IBM Plex Mono,ui-monospace,monospace}.muted{color:var(--muted)}.small{font-size:13px}.xsmall{font-size:12px}.strong{font-weight:600}.nowrap{white-space:nowrap}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.hatch{background-image:repeating-linear-gradient(135deg, var(--hatch) 0 2px, transparent 2px 7px)}.hatch2{background-image:repeating-linear-gradient(135deg, var(--hatch2) 0 2px, transparent 2px 7px)}.stack{flex-direction:column;gap:16px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.row-between{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.spacer{flex:1}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:600}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}@keyframes growX{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes ping{0%{opacity:.7;transform:scale(1)}80%,to{opacity:0;transform:scale(2.6)}}@keyframes breathe{0%,to{box-shadow:0 0 #c8372d00}50%{box-shadow:0 0 0 6px #c8372d29}}@keyframes spin{to{transform:rotate(360deg)}}.page>*{animation:fadeUp .5s var(--ease) both}.page>:nth-child(2){animation-delay:40ms}.page>:nth-child(3){animation-delay:80ms}.page>:nth-child(4){animation-delay:.12s}.page>:nth-child(5){animation-delay:.16s}.page>:nth-child(6){animation-delay:.2s}.page>:nth-child(n+7){animation-delay:.24s}.stagger>*{animation:fadeUp .45s var(--ease) both}.stagger>:nth-child(2){animation-delay:40ms}.stagger>:nth-child(3){animation-delay:80ms}.stagger>:nth-child(4){animation-delay:.12s}.stagger>:nth-child(5){animation-delay:.16s}.stagger>:nth-child(6){animation-delay:.2s}.stagger>:nth-child(n+7){animation-delay:.24s}.live-dot{background:var(--b2);border-radius:50%;flex:none;width:9px;height:9px;display:inline-block;position:relative}.live-dot:after{content:"";background:inherit;border-radius:50%;animation:2s cubic-bezier(0,0,.2,1) infinite ping;position:absolute;inset:0}.live-dot.off{background:var(--b1)}.live-dot.off:after{display:none}.live-dot.alarm{background:var(--b3)}.skeleton{background:linear-gradient(90deg, var(--surface2) 0px, var(--surface3) 120px, var(--surface2) 240px) var(--surface2);background-size:800px 100%;border-radius:8px;animation:1.3s linear infinite shimmer}.spinner{border:2.5px solid;border-right-color:#0000;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin;display:inline-block}.app-header{background:var(--glass);-webkit-backdrop-filter:saturate(1.6)blur(14px);border-bottom:1px solid var(--border);z-index:20;position:sticky;top:0}.app-header:after{content:"";background:var(--accent-grad);opacity:.9;height:2px;position:absolute;bottom:-1px;left:0;right:0}.brand-sep{background:var(--border);flex:none;width:1px;height:30px}.app-footer{max-width:1360px;color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:6px 16px;margin:0 auto;padding:8px 24px 32px;font-size:12px;display:flex}.app-footer a{color:var(--muted)}.header-inner{flex-wrap:wrap;align-items:center;gap:12px 28px;max-width:1360px;margin:0 auto;padding:10px 24px;display:flex}.brand{color:inherit;align-items:center;gap:10px;text-decoration:none;display:flex}.brand:hover{color:inherit}.brand-text{flex-direction:column;line-height:1.1;display:flex}.brand-text strong{letter-spacing:.01em;font-size:16px}.brand-text span{color:var(--muted);font-size:12px}.nav{flex-wrap:wrap;flex:420px;gap:4px;display:flex}.nav a{color:var(--text);border-radius:999px;align-items:center;gap:8px;padding:9px 14px;text-decoration:none;transition:background .2s,color .2s;display:flex}.nav a:hover{background:var(--surface2)}.nav a.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.count{background:var(--s3);color:#fff;text-align:center;min-width:22px;animation:pop .3s var(--ease) both;border-radius:11px;padding:1px 7px;font-size:12px;font-weight:700}.header-tools{align-items:center;gap:8px;display:flex}.icon-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:40px;height:40px;color:var(--text);cursor:pointer;place-items:center;transition:background .2s,transform .2s;display:grid}.icon-btn:hover{background:var(--surface2)}.icon-btn:active{transform:scale(.96)}.user-menu{position:relative}.user-chip{border:1px solid var(--border);background:var(--surface);height:40px;color:var(--text);font:inherit;cursor:pointer;border-radius:20px;align-items:center;gap:8px;padding:0 12px 0 6px;display:flex}.avatar{background:var(--accent-grad);color:#fff;border-radius:14px;place-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:grid}.menu{background:var(--surface);border:1px solid var(--border);min-width:220px;box-shadow:var(--shadow-lift);z-index:30;animation:pop .18s var(--ease) both;transform-origin:100% 0;border-radius:12px;flex-direction:column;padding:6px;display:flex;position:absolute;top:46px;right:0}.menu a,.menu button{text-align:left;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:10px 12px;text-decoration:none}.menu a:hover,.menu button:hover{background:var(--surface2)}.menu .menu-info{color:var(--muted);border-bottom:1px solid var(--border);margin-bottom:4px;padding:8px 12px;font-size:13px}.lang-select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-height:36px;color:var(--text);font:inherit;padding:0 8px}.page{flex-direction:column;gap:22px;max-width:1360px;margin:0 auto;padding:26px 24px 56px;display:flex}.page-lead{color:var(--muted);margin-top:6px}.crumbs{color:var(--muted);font-size:13px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card-pad{padding:20px 22px}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;margin-bottom:14px;display:flex}.card-lead{color:var(--muted);max-width:820px;margin-top:3px;font-size:13px}.card-lift{transition:transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s}.card-lift:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px)}.grid-auto{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;display:grid}.split{flex-wrap:wrap;align-items:flex-start;gap:20px;display:flex}.split-main{flex-direction:column;flex:999 640px;gap:16px;min-width:0;display:flex}.split-side{flex-direction:column;flex:320px;gap:16px;min-width:0;display:flex}.section-title{align-items:center;gap:10px;display:flex}.section-title .ico{background:var(--accent-soft);width:34px;height:34px;color:var(--accent);border-radius:10px;flex:none;place-items:center;display:grid}.btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--text);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:600;text-decoration:none;transition:background .2s,border-color .2s,transform .15s,box-shadow .2s;display:inline-flex}.btn:hover{background:var(--surface2);color:var(--text)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent-grad);color:#fff;border-color:#0000;box-shadow:0 6px 16px -8px #0070adb3}.btn-primary:hover{background:var(--accent-grad);filter:brightness(1.06);color:#fff}html[data-theme=dark] .btn-primary,html[data-theme=dark] .btn-primary:hover{color:#06121b}.btn-danger{color:var(--s3)}.btn-ghost{background:0 0;border-color:#0000}.btn-sm{min-height:36px;padding:0 12px;font-size:14px}.btn-link{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;min-height:40px;padding:6px 4px}.field{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.field>span.label{color:var(--text);font-weight:500}.field .help{color:var(--muted);font-weight:400}.input,.select,.textarea{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);min-height:44px;color:var(--text);font:inherit;width:100%;padding:0 12px;transition:border-color .2s,box-shadow .2s}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.textarea{resize:vertical;min-height:80px;padding:10px 12px}.input.mono{font-family:IBM Plex Mono,monospace}.check{color:var(--text);align-items:center;gap:10px;min-height:32px;font-size:14px;display:flex}.check input{width:18px;height:18px;accent-color:var(--accent)}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.form-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.seg{border:1px solid var(--border);background:var(--surface2);border-radius:12px;gap:2px;padding:3px;display:inline-flex}.seg button{min-height:36px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:9px;padding:0 14px;font-weight:600;transition:background .2s,color .2s,box-shadow .2s}.seg button:hover{color:var(--text)}.seg button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #10182824}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--text);font:inherit;cursor:pointer;border-radius:999px;padding:0 14px;transition:all .2s}.chip[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600}.tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;display:flex}.tab{min-height:44px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;align-items:center;gap:8px;margin-bottom:-1px;padding:0 16px;text-decoration:none;transition:color .2s,border-color .2s;display:inline-flex}.tab:hover{color:var(--text)}.tab[aria-selected=true]{border-bottom-color:var(--accent);color:var(--text);font-weight:600}.badge{background:var(--surface2);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:2px 9px;font-size:12px;font-weight:600;display:inline-flex}.badge-test{border:1.5px dashed var(--text);color:var(--text);background-color:var(--surface);letter-spacing:.06em;border-radius:6px;font-weight:700}.badge-active{background:var(--s2b);color:var(--s2)}.pill{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 11px 4px 7px;font-size:13px;font-weight:600;display:inline-flex}.pill.alarm{animation:2.4s ease-in-out infinite breathe}.state-box{border-radius:12px;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.state-box .title{font-weight:600}.state-box .sub{font-size:13px}.kpis{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.kpi{text-align:left;border-radius:var(--radius);background:var(--surface);border:1.5px solid var(--border);box-shadow:var(--shadow);color:var(--text);font:inherit;cursor:pointer;min-height:92px;transition:transform .25s var(--ease), box-shadow .25s var(--ease), border-color .2s;flex-direction:column;gap:6px;padding:14px 16px;display:flex;position:relative;overflow:hidden}.kpi:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px)}.kpi:before{content:"";opacity:.85;background:currentColor;width:4px;position:absolute;top:0;bottom:0;left:0}.kpi[aria-pressed=true]{background:color-mix(in srgb, currentColor 6%, var(--surface));border-color:currentColor}.kpi .kpi-label{align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.kpi .kpi-value{color:var(--text);font-family:IBM Plex Mono,monospace;font-size:32px;font-weight:600;line-height:1}.info-line{border-radius:var(--radius-sm);background:var(--surface2);color:var(--muted);align-items:flex-start;gap:8px;padding:10px 14px;font-size:13px;display:flex}.warn-line{border-radius:var(--radius-sm);background:var(--warn-b);color:var(--warn);padding:10px 12px;font-size:13px}.ok-line{border-radius:var(--radius-sm);background:var(--s2b);color:var(--s2);padding:12px 14px;font-weight:600}.error-line{border-radius:var(--radius-sm);background:var(--s3b);color:var(--s3);padding:10px 12px;font-size:14px}.hero{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:18px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;padding:24px 26px;display:grid;position:relative;overflow:hidden}.hero:before{content:"";background:radial-gradient(600px 220px at 100% 0%, color-mix(in srgb, var(--brand) 12%, transparent), transparent 70%);pointer-events:none;position:absolute;inset:0}.hero h1{font-size:30px}.hero .summary{max-width:760px;margin-top:8px;font-size:17px}.donut{flex:none;width:148px;height:148px;position:relative}.donut svg{width:100%;height:100%;transform:rotate(-90deg)}.donut circle{fill:none;stroke-width:14px;transition:stroke-dasharray .9s var(--ease)}.donut .center{text-align:center;place-items:center;line-height:1.05;display:grid;position:absolute;inset:0}.donut .center strong{font-family:IBM Plex Mono,monospace;font-size:30px}.tiles{grid-template-columns:repeat(auto-fill,minmax(min(100%,380px),1fr));gap:16px;display:grid}.tile-link{color:inherit;text-decoration:none;display:block}.tile-link:hover{color:inherit}.tile{height:100%;transition:transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s;flex-direction:column;gap:14px;padding:18px 20px;display:flex;position:relative;overflow:hidden}.tile:before{content:"";background:var(--tile-color,var(--border));height:4px;position:absolute;top:0;left:0;right:0}.tile-link:hover .tile,.tile-link:focus-visible .tile{box-shadow:var(--shadow-lift);border-color:color-mix(in srgb, var(--tile-color,var(--accent)) 45%, var(--border));transform:translateY(-3px)}.tile h2{font-size:17px}.thumb{object-fit:cover;background:var(--surface2);width:52px;height:52px;color:var(--muted);border:1px solid var(--border);border-radius:12px;flex:none;place-items:center;display:grid}.dl{grid-template-columns:auto 1fr;gap:7px 14px;margin:0;font-size:14px;display:grid}.dl dt{color:var(--muted)}.dl dd{overflow-wrap:anywhere;min-width:0;margin:0}.batt{align-items:center;gap:10px;display:flex}.batt-bar{background:var(--surface2);border-radius:4px;flex:0 120px;height:8px;overflow:hidden}.batt-bar span{transform-origin:0;height:100%;animation:growX .9s var(--ease) both;border-radius:4px;display:block}.strip{grid-auto-columns:1fr;grid-auto-flow:column;gap:3px;display:grid}.strip span{background:var(--surface2);border-radius:4px;height:22px;animation:.4s both fadeIn;position:relative}.strip span.none{border:1.5px dashed var(--border-strong);background:0 0}.strip span.today{outline:2px solid var(--text);outline-offset:1px}.strip-legend{color:var(--muted);justify-content:space-between;margin-top:4px;font-size:11px;display:flex}.dev-head{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.dev-photo{object-fit:cover;border:1px solid var(--border);background:var(--surface2);width:84px;height:84px;color:var(--muted);cursor:pointer;box-shadow:var(--shadow);transition:transform .25s var(--ease);border-radius:18px;flex:none;place-items:center;padding:0;display:grid}.dev-photo:hover{transform:scale(1.03)}.dev-photo img{object-fit:cover;border-radius:17px;width:100%;height:100%;display:block}.name-edit{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.name-edit .input{min-width:240px;max-width:520px;font-size:22px;font-weight:600}.glance{grid-template-columns:minmax(0,2fr) repeat(4,minmax(0,1fr));gap:14px;display:grid}@media (width<=1180px){.glance{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.glance .glance-state{grid-column:span 2}}.stat{flex-direction:column;gap:4px;padding:16px 18px;display:flex}.stat .label{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.stat .value{font-size:22px;font-weight:600;line-height:1.2}.stat .sub{color:var(--muted);font-size:13px}.advice{border-top:1px solid color-mix(in srgb, currentColor 20%, transparent);align-items:flex-start;gap:8px;margin-top:8px;padding-top:10px;font-size:14px;display:flex}.insights{flex-wrap:wrap;gap:8px;display:flex}.insight{background:var(--surface2);animation:pop .35s var(--ease) both;border-radius:12px;align-items:center;gap:8px;padding:8px 12px;font-size:14px;display:inline-flex}.insight.ok{background:var(--s2b);color:var(--s2)}.insight.bad{background:var(--s3b);color:var(--s3)}.insight.warn{background:var(--s0b);color:var(--s0)}.howto{border:1px solid var(--border);background:var(--surface2);border-radius:12px}.howto summary{cursor:pointer;align-items:center;gap:8px;padding:10px 14px;font-size:14px;font-weight:600;list-style:none;display:flex}.howto summary::-webkit-details-marker{display:none}.howto[open] summary{border-bottom:1px solid var(--border)}.howto .body{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;padding:12px 16px 14px;font-size:14px;display:grid}.howto .body div{align-items:flex-start;gap:10px;display:flex}.zone-sw{border-radius:4px;flex:none;width:14px;height:14px;margin-top:3px}.wins{flex-direction:column;gap:8px;display:flex}.win-row{border:1px solid var(--border);background:var(--surface);text-align:left;font:inherit;color:inherit;cursor:pointer;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:10px 14px;transition:border-color .2s,background .2s;display:grid}.win-row:hover{border-color:var(--border-strong);background:var(--surface2)}.win-row[aria-expanded=true]{border-color:var(--accent);background:var(--accent-soft)}.win-row .chev{transition:transform .25s var(--ease);color:var(--muted)}.win-row[aria-expanded=true] .chev{transform:rotate(90deg)}.win-detail{animation:fadeUp .35s var(--ease) both;flex-direction:column;gap:16px;padding:4px 0 8px;display:flex}.dtl{grid-template-columns:116px minmax(0,1fr) 30px;align-items:center;gap:4px 10px;display:grid;position:relative}.dtl-axis{height:18px;color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:11px;position:relative}.dtl-axis span{position:absolute;transform:translate(-50%)}.dtl-axis span:first-child{transform:none}.dtl-axis span:last-child{transform:translate(-100%)}.dtl-day{color:var(--text);font:inherit;text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:8px;align-items:baseline;gap:6px;padding:4px 8px;font-size:13px;display:flex}.dtl-day .wd{color:var(--muted);text-transform:capitalize;min-width:24px;font-size:12px}.dtl-day:hover{background:var(--surface2)}.dtl-day[aria-current=date]{background:var(--accent-soft);color:var(--accent);font-weight:600}.dtl-track{background-color:var(--surface2);background-image:linear-gradient(to right, color-mix(in srgb, var(--border-strong) 55%, transparent) 1px, transparent 1px), linear-gradient(to right, var(--grid) 1px, transparent 1px);cursor:pointer;background-size:25% 100%,4.16667% 100%;border-radius:8px;height:30px;transition:box-shadow .2s;position:relative;overflow:hidden}.dtl-track.sel{box-shadow:0 0 0 2px var(--accent)}.dtl-bar{cursor:pointer;transform-origin:0;min-width:3px;animation:growX .5s var(--ease) both;border:0;border-radius:5px;padding:0;transition:filter .15s,box-shadow .15s;position:absolute;top:3px;bottom:3px}.dtl-bar:hover{filter:brightness(1.12)saturate(1.1)}.dtl-bar[aria-pressed=true]{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--text);z-index:2}.dtl-gap{border:1.5px dashed var(--muted);pointer-events:none;opacity:.7;border-radius:5px;position:absolute;top:5px;bottom:5px}.dtl-now{background:var(--s3);z-index:3;pointer-events:none;width:2px;position:absolute;top:0;bottom:0}.dtl-future{background:repeating-linear-gradient(135deg, transparent 0 5px, color-mix(in srgb, var(--border) 60%, transparent) 5px 6px);pointer-events:none;position:absolute;top:0;bottom:0;right:0}.dtl-sum{place-items:center;display:grid}.dtl-tip{z-index:50;background:var(--text);width:300px;color:var(--surface);pointer-events:none;border-radius:12px;flex-direction:column;gap:3px;padding:12px 14px;font-size:13px;animation:.14s both pop;display:flex;position:fixed;box-shadow:0 10px 30px #00000047}.legend{color:var(--muted);flex-wrap:wrap;gap:8px 18px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.legend li{align-items:center;gap:6px;display:flex}.legend .sw{border-radius:3px;width:18px;height:12px;display:inline-block}.chart{width:100%;height:330px;animation:.5s both fadeIn}.chart-lg{width:100%;height:380px;animation:.5s both fadeIn}.chart-sm{width:100%;height:160px}.gallery{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.gallery button{aspect-ratio:4/3;border:1px solid var(--border);cursor:pointer;background:var(--surface2);animation:pop .35s var(--ease) both;border-radius:12px;padding:0;position:relative;overflow:hidden}.gallery img{object-fit:cover;width:100%;height:100%;transition:transform .4s var(--ease);display:block}.gallery button:hover img{transform:scale(1.06)}.gallery .geo{color:#fff;background:#0f1b2ab8;border-radius:999px;align-items:center;gap:4px;padding:2px 7px;font-size:11px;display:inline-flex;position:absolute;bottom:6px;left:6px}.drop{border:2px dashed var(--border-strong);background:var(--surface2);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:18px;transition:border-color .2s,background .2s;display:flex}.drop.over{border-color:var(--accent);background:var(--accent-soft)}.lightbox{z-index:100;background:#050a10e0;flex-direction:column;animation:.2s both fadeIn;display:flex;position:fixed;inset:0}.lightbox .lb-img{flex:1;justify-content:center;align-items:center;min-height:0;padding:16px 64px;display:flex;position:relative}.lightbox img{object-fit:contain;max-width:100%;max-height:calc(100vh - 170px);animation:pop .25s var(--ease) both;border-radius:10px;box-shadow:0 20px 60px #00000080}.lightbox .lb-bar{color:#e6edf3;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;padding:12px 18px 18px;display:flex}.lightbox .lb-bar a{color:#9fd8f7}.lightbox .lb-bar .btn{color:#fff;background:#ffffff14;border-color:#ffffff2e}.lightbox .lb-nav{color:#fff;cursor:pointer;background:#ffffff1f;border:0;border-radius:50%;width:48px;height:48px;font-size:26px;position:absolute;top:50%;transform:translateY(-50%)}.lightbox .lb-close{color:#fff;cursor:pointer;z-index:2;background:#ffffff24;border:0;border-radius:50%;width:44px;height:44px;font-size:22px;position:absolute;top:14px;right:14px}.modal-back{z-index:90;background:#050a108c;place-items:center;padding:16px;animation:.2s both fadeIn;display:grid;position:fixed;inset:0}.modal{background:var(--surface);width:min(560px,100%);max-height:calc(100vh - 32px);box-shadow:var(--shadow-lift);animation:pop .25s var(--ease) both;border-radius:18px;flex-direction:column;gap:14px;padding:22px;display:flex;overflow:auto}.preview{object-fit:contain;background:var(--surface2);border-radius:12px;width:100%;max-height:300px}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:14px}.table th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);white-space:nowrap;padding:12px 14px;font-size:12px;font-weight:600}.table td{border-bottom:1px solid var(--border);vertical-align:top;padding:12px 14px}.table tbody tr{transition:background .15s}.table tbody tr:hover{background:var(--surface2)}.table tr:last-child td{border-bottom:0}.table .num{text-align:right;font-family:IBM Plex Mono,monospace}.table-min{min-width:900px}.login{flex-wrap:wrap;min-height:100vh;display:flex}.login-aside{background:radial-gradient(700px 400px at 0% 0%, #0090d759, transparent 60%), radial-gradient(600px 400px at 100% 100%, #0070ad4d, transparent 60%), var(--panel);min-height:280px;color:var(--panel-text);flex-direction:column;flex:420px;justify-content:space-between;gap:40px;padding:48px 56px;display:flex}.login-aside h1{letter-spacing:-.02em;font-size:36px;line-height:1.12}.login-aside p,.login-aside li{color:var(--panel-muted)}.login-aside ul{border-top:1px solid #e6edf31f;flex-direction:column;gap:10px;margin:0;padding:18px 0 0;font-size:14px;list-style:none;display:flex}.login-main{flex:480px;justify-content:center;align-items:center;padding:48px 24px;display:flex}.login-box{width:100%;max-width:400px;animation:fadeUp .5s var(--ease) both;flex-direction:column;gap:22px;display:flex}.login-box form{flex-direction:column;gap:16px;display:flex}.code-input{letter-spacing:.3em;text-align:center;min-height:52px;font:500 24px IBM Plex Mono,monospace}.qr{background:#fff;border-radius:10px;width:216px;height:216px;padding:12px}.legal h2{font-size:17px}.legal p,.legal li{line-height:1.6}.legal ul{flex-direction:column;gap:6px;margin:0;padding-left:20px;display:flex}.legal code{background:var(--surface2);border-radius:4px;padding:1px 5px;font-family:IBM Plex Mono,monospace;font-size:13px}.legal-company{flex-wrap:wrap;align-items:flex-start;gap:16px 28px;display:flex}.legal-company address{font-style:normal;line-height:1.6}.empty{text-align:center;color:var(--muted);background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--radius);padding:24px}.loading{color:var(--muted);align-items:center;gap:10px;padding:24px;display:flex}.alert-card{border-left-width:6px;flex-direction:column;gap:10px;padding:16px 18px;display:flex}.secret-box{border-radius:var(--radius-sm);background:var(--surface2);overflow-wrap:anywhere;padding:12px;font-family:IBM Plex Mono,monospace;font-size:13px}.raw{border-radius:var(--radius-sm);background:var(--surface2);white-space:pre-wrap;overflow-wrap:anywhere;max-height:260px;padding:12px;font:12px/1.5 IBM Plex Mono,monospace;overflow:auto}.footnote{color:var(--muted);font-size:12px}.span-2{grid-column:span 2;min-width:0}.toast{z-index:120;background:var(--text);color:var(--surface);box-shadow:var(--shadow-lift);animation:fadeUp .3s var(--ease) both;border-radius:12px;padding:12px 18px;font-weight:600;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}@media (width<=760px){.hero{grid-template-columns:1fr}.donut{justify-self:start}.glance .glance-state{grid-column:auto}.dtl{grid-template-columns:70px minmax(0,1fr) 22px;gap:4px 6px}.dtl-day .wd{display:none}.lightbox .lb-img{padding:16px}}@media (width<=640px){.app-header{position:static}.header-inner{gap:8px 10px}.brand{order:1}.brand-sep,.brand-text span{display:none}.header-tools{order:2;gap:6px;margin-left:auto}.user-chip{padding:0 6px}.user-chip .small{display:none}.nav{flex-wrap:nowrap;flex:100%;order:3;margin:0 -6px;overflow-x:auto}.nav a{white-space:nowrap;padding:8px 12px}.span-2{grid-column:auto}.page{padding:16px 14px 40px}.header-inner{padding:8px 14px}.card-pad{padding:15px}h1{font-size:23px}.hero{padding:18px}.hero h1{font-size:24px}.login-aside{padding:32px 24px}.chart-lg{height:380px}.name-edit .input{min-width:0;font-size:18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
