:root{--font-ui: "Inter Variable", "Inter", -apple-system, "Segoe UI", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--text-xs: .72rem;--text-sm: .825rem;--text-md: .925rem;--text-lg: 1.06rem;--text-xl: 1.38rem;--text-2xl: 1.95rem;--text-3xl: 2.45rem;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-pill: 999px;--ease: cubic-bezier(.25, .8, .3, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--dur-fast: .15s;--dur-med: .22s;--dur-slow: .3s;--sidebar-w: 248px;--clientnav-w: 216px;--topbar-h: 58px;--bottomnav-h: 66px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--content-max: 1280px}:root,[data-theme=dark]{color-scheme:dark;--bg: #0a0c10;--bg-raised: #0f1218;--surface: #13171f;--surface-2: #1a2029;--surface-3: #222a36;--line: rgba(148, 170, 205, .08);--line-strong: rgba(148, 170, 205, .17);--ambient: radial-gradient(1200px 700px at 78% -12%, rgba(64, 132, 255, .07), transparent 62%), radial-gradient(900px 600px at -8% 108%, rgba(90, 110, 160, .05), transparent 58%);--ink: #e8edf5;--ink-soft: #94a0b3;--ink-faint: #5e6a7d;--accent: #4a8dff;--accent-strong: #6ba3ff;--accent-ink: #06101f;--accent-soft: rgba(74, 141, 255, .13);--accent-line: rgba(74, 141, 255, .42);--accent-glow: rgba(74, 141, 255, .25);--ok: #45c98b;--ok-soft: rgba(69, 201, 139, .13);--warn: #e8b34b;--warn-soft: rgba(232, 179, 75, .13);--bad: #f0655d;--bad-soft: rgba(240, 101, 93, .14);--info: #62b0d9;--info-soft: rgba(98, 176, 217, .12);--edge: inset 0 1px 0 rgba(210, 226, 255, .05);--shadow-1: 0 1px 2px rgba(0, 0, 0, .35), 0 4px 14px rgba(0, 0, 0, .25);--shadow-2: 0 2px 6px rgba(0, 0, 0, .38), 0 18px 48px rgba(0, 0, 0, .5);--shadow-sheet: 0 -16px 56px rgba(0, 0, 0, .6);--backdrop: rgba(4, 6, 10, .64);--glass: rgba(10, 12, 16, .78);--glass-raised: rgba(15, 18, 24, .84)}[data-theme=light]{color-scheme:light;--bg: #eef1f5;--bg-raised: #f7f9fb;--surface: #ffffff;--surface-2: #f2f5f9;--surface-3: #e7ecf2;--line: rgba(40, 55, 80, .09);--line-strong: rgba(40, 55, 80, .2);--ambient: radial-gradient(1200px 700px at 78% -12%, rgba(45, 110, 235, .05), transparent 62%), radial-gradient(900px 600px at -8% 108%, rgba(80, 100, 140, .04), transparent 58%);--ink: #1a2230;--ink-soft: #5a6a80;--ink-faint: #97a2b3;--accent: #2569e0;--accent-strong: #1c56bd;--accent-ink: #ffffff;--accent-soft: rgba(37, 105, 224, .1);--accent-line: rgba(37, 105, 224, .38);--accent-glow: rgba(37, 105, 224, .2);--ok: #178a54;--ok-soft: rgba(23, 138, 84, .11);--warn: #b07b17;--warn-soft: rgba(176, 123, 23, .12);--bad: #d6453a;--bad-soft: rgba(214, 69, 58, .11);--info: #2778a5;--info-soft: rgba(39, 120, 165, .1);--edge: inset 0 1px 0 rgba(255, 255, 255, .9);--shadow-1: 0 1px 2px rgba(25, 35, 55, .06), 0 4px 14px rgba(25, 35, 55, .06);--shadow-2: 0 2px 6px rgba(25, 35, 55, .08), 0 18px 48px rgba(25, 35, 55, .15);--shadow-sheet: 0 -16px 56px rgba(25, 35, 55, .2);--backdrop: rgba(25, 35, 55, .38);--glass: rgba(238, 241, 245, .8);--glass-raised: rgba(247, 249, 251, .86)}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/app/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/app/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/app/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/app/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/app/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/app/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/app/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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(/app/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/app/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,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(/app/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/app/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/app/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/app/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/app/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/app/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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(/app/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/app/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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(/app/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/app/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,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(/app/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/app/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/app/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/app/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/app/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/app/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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(/app/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/app/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{font-family:var(--font-ui);font-size:var(--text-md);color:var(--ink);background:var(--bg);background-image:var(--ambient);background-attachment:fixed;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-feature-settings:"cv02","cv03","cv04","cv11";transition:background var(--dur-slow) var(--ease),color var(--dur-slow) var(--ease)}h1,h2,h3,h4{margin:0;font-weight:650;letter-spacing:-.018em}p{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}input,select,textarea{font:inherit;color:inherit}code,.mono{font-family:var(--font-mono);font-size:.9em}::selection{background:var(--accent-soft)}*{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:4px}*::-webkit-scrollbar-track{background:transparent}:focus-visible{outline:2px solid var(--accent-line);outline-offset:2px;border-radius:var(--radius-sm)}.tnum{font-variant-numeric:tabular-nums}.muted{color:var(--ink-soft)}.faint{color:var(--ink-faint)}.small{font-size:var(--text-sm)}.xs{font-size:var(--text-xs)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:1ms!important;transition-duration:1ms!important}}
