@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(/fonts/JetBrainsMono-400-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(/fonts/JetBrainsMono-400-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(/fonts/JetBrainsMono-400-latin-ext.woff2) format("woff2");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-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(/fonts/JetBrainsMono-400-latin.woff2) format("woff2");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-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:500;src:url(/fonts/JetBrainsMono-500-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:500;src:url(/fonts/JetBrainsMono-500-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:500;src:url(/fonts/JetBrainsMono-500-latin-ext.woff2) format("woff2");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-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:500;src:url(/fonts/JetBrainsMono-500-latin.woff2) format("woff2");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-display:swap;font-family:Manrope;font-style:normal;font-weight:300;src:url(/fonts/Manrope-300-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-display:swap;font-family:Manrope;font-style:normal;font-weight:300;src:url(/fonts/Manrope-300-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-display:swap;font-family:Manrope;font-style:normal;font-weight:300;src:url(/fonts/Manrope-300-latin-ext.woff2) format("woff2");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-display:swap;font-family:Manrope;font-style:normal;font-weight:300;src:url(/fonts/Manrope-300-latin.woff2) format("woff2");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-display:swap;font-family:Manrope;font-style:normal;font-weight:400;src:url(/fonts/Manrope-400-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-display:swap;font-family:Manrope;font-style:normal;font-weight:400;src:url(/fonts/Manrope-400-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-display:swap;font-family:Manrope;font-style:normal;font-weight:400;src:url(/fonts/Manrope-400-latin-ext.woff2) format("woff2");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-display:swap;font-family:Manrope;font-style:normal;font-weight:400;src:url(/fonts/Manrope-400-latin.woff2) format("woff2");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-display:swap;font-family:Manrope;font-style:normal;font-weight:500;src:url(/fonts/Manrope-500-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-display:swap;font-family:Manrope;font-style:normal;font-weight:500;src:url(/fonts/Manrope-500-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-display:swap;font-family:Manrope;font-style:normal;font-weight:500;src:url(/fonts/Manrope-500-latin-ext.woff2) format("woff2");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-display:swap;font-family:Manrope;font-style:normal;font-weight:500;src:url(/fonts/Manrope-500-latin.woff2) format("woff2");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-display:swap;font-family:Manrope;font-style:normal;font-weight:600;src:url(/fonts/Manrope-600-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-display:swap;font-family:Manrope;font-style:normal;font-weight:600;src:url(/fonts/Manrope-600-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-display:swap;font-family:Manrope;font-style:normal;font-weight:600;src:url(/fonts/Manrope-600-latin-ext.woff2) format("woff2");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-display:swap;font-family:Manrope;font-style:normal;font-weight:600;src:url(/fonts/Manrope-600-latin.woff2) format("woff2");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-display:swap;font-family:Manrope;font-style:normal;font-weight:700;src:url(/fonts/Manrope-700-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-display:swap;font-family:Manrope;font-style:normal;font-weight:700;src:url(/fonts/Manrope-700-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-display:swap;font-family:Manrope;font-style:normal;font-weight:700;src:url(/fonts/Manrope-700-latin-ext.woff2) format("woff2");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-display:swap;font-family:Manrope;font-style:normal;font-weight:700;src:url(/fonts/Manrope-700-latin.woff2) format("woff2");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-display:swap;font-family:Sora;font-style:normal;font-weight:600;src:url(/fonts/Sora-600-latin-ext.woff2) format("woff2");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-display:swap;font-family:Sora;font-style:normal;font-weight:600;src:url(/fonts/Sora-600-latin.woff2) format("woff2");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}:root{--bg: #100f0e;--bg-sunken: #131211;--surface: #171614;--surface-hover: #1e1c19;--text: #f2efe9;--text-muted: #8c877e;--text-faint: #868179;--accent: #f3b23f;--accent-hover: #ffc257;--accent-soft: #1b1710;--accent-border: #4a3d22;--gold: #f3b23f;--gold-hover: #ffc257;--on-accent: #2b1d04;--border: #24221f;--border-strong: #2e2a22;--success: #5ebe86;--success-soft: #14201a;--warning: #f3b23f;--warning-soft: #201a10;--danger: #f79285;--danger-soft: #201513;--series-1: #3987e5;--series-2: #d95926;--series-3: #199e70;--series-4: #c98500;--series-5: #d55181;--series-6: #008300;--series-7: #9085e9;--page-glow: none;--head-field: none;--surface-image: none;--sky-ground: #090b12;--sky-star: #f4f7ff;--sky-label: #cdd7ea;--radius-sm: 14px;--radius: 20px;--radius-lg: 26px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 2px 10px rgba(0, 0, 0, .45);--shadow-lg: 0 10px 34px rgba(0, 0, 0, .55);--font-sans: Manrope, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--font-display: Sora, Manrope, sans-serif;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--max-width: 1100px}:root[data-theme=light]{--bg: #f7f5f0;--bg-sunken: #efece5;--surface: #ffffff;--surface-hover: #faf9f6;--text: #17140f;--text-muted: #6b665e;--text-faint: #726d64;--accent: #96630e;--accent-hover: #805509;--accent-soft: #fdf4e4;--accent-border: #e8d5a8;--gold: #f3b23f;--gold-hover: #e0a233;--border: #e6e2d9;--border-strong: #d2cdc1;--success: #29794e;--success-soft: #eaf3ed;--warning: #8a6111;--warning-soft: #f9f1e0;--danger: #b04e42;--danger-soft: #f8ecea;--series-1: #2a78d6;--series-2: #eb6834;--series-3: #1baf7a;--series-4: #eda100;--series-5: #e87ba4;--series-6: #008300;--series-7: #4a3aa7;--shadow-sm: 0 1px 2px rgba(23, 20, 15, .05);--shadow: 0 2px 10px rgba(23, 20, 15, .07);--shadow-lg: 0 10px 34px rgba(23, 20, 15, .1)}@media(prefers-color-scheme:light){:root:not([data-theme=dark]){--bg: #f7f5f0;--bg-sunken: #efece5;--surface: #ffffff;--surface-hover: #faf9f6;--text: #17140f;--text-muted: #6b665e;--text-faint: #726d64;--accent: #b97f16;--accent-hover: #c98a18;--accent-soft: #fdf6e8;--accent-border: #ecdcb8;--gold: #c98a18;--gold-hover: #b97f16;--border: #e6e2d9;--border-strong: #d2cdc1;--success: #29794e;--success-soft: #eaf3ed;--warning: #8a6111;--warning-soft: #f9f1e0;--danger: #b04e42;--danger-soft: #f8ecea;--series-1: #2a78d6;--series-2: #eb6834;--series-3: #1baf7a;--series-4: #eda100;--series-5: #e87ba4;--series-6: #008300;--series-7: #4a3aa7;--shadow-sm: 0 1px 2px rgba(23, 20, 15, .05);--shadow: 0 2px 10px rgba(23, 20, 15, .07);--shadow-lg: 0 10px 34px rgba(23, 20, 15, .1)}}:root[data-style=cold]{--bg: #05080c;--bg-sunken: #060c11;--surface: #101a22;--surface-hover: #142029;--text: #e4eff6;--text-muted: #90a3b4;--text-faint: #7a8c9c;--accent: #46e3a6;--accent-hover: #63f0b6;--accent-soft: #0b201a;--accent-border: #16332b;--gold: #56d9e8;--gold-hover: #7ae6f2;--on-accent: #05080c;--border: #142029;--border-strong: #2a3846;--sky-ground: #05080c;--sky-star: #eaf6f4;--sky-label: #a9bdcc;--page-glow: radial-gradient(ellipse 120% 80% at 46% -14%, #0c2029 0%, #070d12 52%, #05080c 100%);--head-field: radial-gradient(ellipse 90% 140% at 42% -40%, rgba(70, 227, 166, .13), transparent 70%);--surface-image: linear-gradient(180deg, rgba(70, 227, 166, .04), transparent 42%);--success: #46e3a6;--success-soft: #0b201a;--warning: #e9c46a;--warning-soft: #1d1a10;--danger: #ff7a6b;--danger-soft: #20120f;--radius-sm: 10px;--radius: 20px;--radius-lg: 24px;--shadow-sm: 0 1px 2px rgba(0, 12, 18, .5);--shadow: 0 2px 12px rgba(0, 12, 18, .55);--shadow-lg: 0 12px 38px rgba(0, 12, 18, .62)}@media(prefers-color-scheme:light){:root[data-style=cold]:not([data-theme=dark]){--bg: #eaf6f4;--bg-sunken: #dceeeb;--surface: #ffffff;--surface-hover: #f4fbf9;--text: #071219;--text-muted: #46606e;--text-faint: #5e8184;--accent: #0f9c6e;--accent-hover: #0c8a61;--accent-soft: #e3f7ef;--accent-border: #bcd9d6;--gold: #0e7c8c;--gold-hover: #0a6674;--on-accent: #ffffff;--border: #cfe4e1;--border-strong: #a6cbc8;--success: #0f9c6e;--success-soft: #e3f7ef;--warning: #8a6a12;--warning-soft: #fbf1d9;--danger: #c2413a;--danger-soft: #fbe6e4;--shadow-sm: 0 1px 2px rgba(7, 18, 25, .06);--shadow: 0 2px 10px rgba(7, 18, 25, .08);--shadow-lg: 0 10px 34px rgba(7, 18, 25, .12);--page-glow: radial-gradient(ellipse 120% 80% at 46% -14%, #f4fdfa 0%, #eaf6f4 56%, #e2f2ef 100%);--head-field: radial-gradient(ellipse 90% 140% at 42% -40%, rgba(15, 156, 110, .09), transparent 70%);--surface-image: linear-gradient(180deg, rgba(15, 156, 110, .03), transparent 42%)}}:root[data-style=cold][data-theme=light]{--bg: #eaf6f4;--bg-sunken: #dceeeb;--surface: #ffffff;--surface-hover: #f4fbf9;--text: #071219;--text-muted: #46606e;--text-faint: #5e8184;--accent: #0f9c6e;--accent-hover: #0c8a61;--accent-soft: #e3f7ef;--accent-border: #bcd9d6;--gold: #0e7c8c;--gold-hover: #0a6674;--on-accent: #ffffff;--border: #cfe4e1;--border-strong: #a6cbc8;--success: #0f9c6e;--success-soft: #e3f7ef;--warning: #8a6a12;--warning-soft: #fbf1d9;--danger: #c2413a;--danger-soft: #fbe6e4;--shadow-sm: 0 1px 2px rgba(7, 18, 25, .06);--shadow: 0 2px 10px rgba(7, 18, 25, .08);--shadow-lg: 0 10px 34px rgba(7, 18, 25, .12);--page-glow: radial-gradient(ellipse 120% 80% at 46% -14%, #f4fdfa 0%, #eaf6f4 56%, #e2f2ef 100%);--head-field: radial-gradient(ellipse 90% 140% at 42% -40%, rgba(15, 156, 110, .09), transparent 70%);--surface-image: linear-gradient(180deg, rgba(15, 156, 110, .03), transparent 42%)}@keyframes ul-fade{0%{opacity:0}to{opacity:1}}@keyframes ul-fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes ul-settle{0%{transform:translateY(-8px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes ul-core-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.16)}}@keyframes ul-orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes ul-node-in{0%{opacity:0;transform:scale(.2)}60%{opacity:1;transform:scale(1.25)}to{opacity:1;transform:scale(1)}}@keyframes ul-scan{0%{transform:translateY(-6px);opacity:0}12%{opacity:1}88%{opacity:1}to{transform:translateY(150px);opacity:0}}@keyframes ul-mark{0%{stroke-dashoffset:60}to{stroke-dashoffset:0}}@keyframes ul-ring-up{0%{stroke-dasharray:151 100}to{stroke-dasharray:176 75}}@keyframes ul-ring-down{0%{stroke-dasharray:176 75}to{stroke-dasharray:151 100}}@keyframes ul-flash{0%{opacity:0;transform:scale(.7)}40%{opacity:.7}to{opacity:0;transform:scale(2.1)}}@keyframes ul-spark{0%{opacity:0;transform:translate(0) scale(.4)}30%{opacity:1}to{opacity:0;transform:translate(var(--dx),var(--dy)) scale(1)}}@keyframes ul-num-up{0%{opacity:1;transform:translateY(0)}40%{opacity:0;transform:translateY(-14px)}41%{transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes ul-glow{0%,to{border-color:var(--border);background:var(--surface)}50%{border-color:var(--accent-border);background:var(--accent-soft)}}@keyframes ul-dot{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}@keyframes ul-sweep{0%{transform:translate(-100%)}to{transform:translate(350%)}}.motion-fade-up{animation:ul-fade-up .4s ease both}.motion-settle{animation:ul-settle .35s ease both}@keyframes ul-drift-a{0%{transform:translateZ(0)}to{transform:translate3d(-50%,0,0)}}@keyframes ul-drift-b{0%{transform:translate3d(-50%,0,0)}to{transform:translateZ(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-sans);font-weight:300;line-height:1.2;margin:0;letter-spacing:-.03em}.eyebrow{font-family:var(--font-mono);font-size:12px;font-weight:500;line-height:1.4;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin:0 0 6px}h1{font-size:30px}h2{font-size:22px}h3{font-size:17px}p{margin:0 0 var(--space-4)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code,pre{font-family:var(--font-mono);font-size:.9em}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{border-bottom:1px solid var(--border);background:var(--surface);position:sticky;top:0;z-index:10}.topbar__inner{max-width:var(--max-width);margin:0 auto;padding:var(--space-3) var(--space-5);display:flex;align-items:center;gap:var(--space-5)}.brand{display:flex;align-items:center;gap:var(--space-2);color:var(--text)}.brand:hover{text-decoration:none}.brand__word{font-family:var(--font-display);font-size:17px;font-weight:600;letter-spacing:-.02em}.brand__service{color:var(--accent)}.nav{display:flex;gap:var(--space-4);margin-left:auto;align-items:center}.nav a{color:var(--text-muted);font-size:14px}.nav a:hover{color:var(--text);text-decoration:none}.nav a.is-active{color:var(--accent)}.page{max-width:var(--max-width);margin:0 auto;padding:var(--space-6) var(--space-5) var(--space-7);width:100%;flex:1}.page__head{margin-bottom:var(--space-5)}.page__head p{color:var(--text-muted);margin:var(--space-2) 0 0}.narrow{max-width:460px;margin:var(--space-7) auto}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-5);box-shadow:var(--shadow-sm)}.card--link{display:block;color:inherit;transition:border-color .15s,box-shadow .15s,transform .15s}.card--link:hover{text-decoration:none;border-color:var(--border-strong);box-shadow:var(--shadow);transform:translateY(-1px)}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.row{display:flex;align-items:center;gap:var(--space-3)}.row--between{justify-content:space-between}.muted{color:var(--text-muted)}.faint{color:var(--text-faint);font-size:13px}label{display:block;font-size:13px;font-weight:600;color:var(--text-muted);margin-bottom:var(--space-1)}input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;padding:9px 11px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;transition:border-color .15s,box-shadow .15s}input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}textarea{resize:vertical;min-height:110px;line-height:1.6}.field{margin-bottom:var(--space-4)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:9px 18px;border-radius:var(--radius-pill);border:1px solid transparent;background:var(--gold);color:var(--on-accent);font:inherit;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s}.btn:hover:not(:disabled){background:var(--gold-hover)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--ghost{background:transparent;color:var(--text);border-color:var(--border-strong)}.btn--ghost:hover:not(:disabled){background:var(--surface-hover);border-color:var(--text-faint)}.btn--sm{padding:5px 11px;font-size:13px}.btn--full{width:100%}.btn--icon{padding:6px 9px;background:transparent;color:var(--text-muted);border-color:var(--border)}.btn--icon:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.tag{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:var(--radius-pill);font-size:12px;font-weight:500;background:var(--bg-sunken);color:var(--text-muted);border:1px solid var(--border);white-space:nowrap}.tag--accent{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-border)}.tag--success{background:var(--success-soft);color:var(--success);border-color:transparent}.tag--warning{background:var(--warning-soft);color:var(--warning);border-color:transparent}.tag--danger{background:var(--danger-soft);color:var(--danger);border-color:transparent}.notice{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-sunken);font-size:14px}.notice--warning{background:var(--warning-soft);border-color:transparent;color:var(--warning)}.notice--danger{background:var(--danger-soft);border-color:transparent;color:var(--danger)}.progress{height:5px;background:var(--bg-sunken);border-radius:var(--radius-pill);overflow:hidden}.progress__bar{height:100%;background:var(--accent);border-radius:var(--radius-pill);transition:width .3s}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--border)}th{font-family:var(--font-mono);font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.14em;color:var(--text-muted)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}tbody tr:last-child td{border-bottom:none}.lesson{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--space-5);align-items:start}@media(max-width:900px){.lesson{grid-template-columns:1fr}}.prose{font-size:15.5px;line-height:1.75}.prose p{margin:0 0 var(--space-4)}.prose ul{padding-left:var(--space-5);margin:0 0 var(--space-4)}.prose li{margin-bottom:var(--space-2)}.brief{background:var(--accent-soft);border:1px solid var(--accent-border);border-radius:var(--radius);padding:var(--space-4);font-family:var(--font-sans);font-size:17px;line-height:1.6}.chat{display:flex;flex-direction:column;gap:var(--space-3);max-height:420px;overflow-y:auto;padding-right:var(--space-1)}.bubble{padding:var(--space-3);border-radius:var(--radius);font-size:14px;line-height:1.6;white-space:pre-wrap}.bubble--user{background:var(--accent-soft);border:1px solid var(--accent-border);align-self:flex-end;max-width:90%}.bubble--assistant{background:var(--bg-sunken);border:1px solid var(--border)}.sticky{position:sticky;top:76px}.bubble__about{display:block;margin-bottom:4px;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.pin{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding:6px 6px 6px 10px;border:1px solid var(--accent-border);border-radius:var(--radius-sm);background:var(--accent-soft);font-size:13px;animation:ul-fade-up .25s ease-out}.pin__label{flex:none;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.pin__text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pin__close{flex:none;border:0;background:transparent;color:var(--text-muted);font-size:18px;line-height:1;padding:2px 6px;cursor:pointer}.pin__close:hover{color:var(--text)}.tutor-fab{position:fixed;right:24px;bottom:24px;z-index:30;display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border:1px solid var(--accent-border);border-radius:var(--radius-pill);background:var(--surface);color:var(--text);font:inherit;font-weight:500;box-shadow:var(--shadow-lg);cursor:pointer;animation:ul-fade-up .3s ease-out;transition:border-color .15s,transform .15s}.tutor-fab:hover{border-color:var(--accent);transform:translateY(-1px)}.tutor-panel{position:fixed;right:24px;bottom:24px;z-index:30;width:min(420px,calc(100vw - 48px));max-height:calc(100vh - 120px);overflow-y:auto;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-lg);animation:ul-fade-up .25s ease-out}.tutor-panel .chat{max-height:min(420px,45vh)}@media(max-width:480px){.tutor-fab{right:16px;bottom:16px}.tutor-panel{right:16px;bottom:16px;width:calc(100vw - 32px)}}.empty{text-align:center;padding:var(--space-7) var(--space-5);color:var(--text-muted)}.spinner{width:15px;height:15px;border:2px solid var(--accent-border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;flex:none}@keyframes spin{to{transform:rotate(360deg)}}.banner{position:sticky;top:0;z-index:20;padding:10px 20px;font-size:14px;line-height:1.5;text-align:center;border-bottom:1px solid var(--border)}.banner--warning{background:var(--warning-soft);color:var(--warning);border-bottom-color:var(--accent-border)}.banner code{padding:1px 5px;border-radius:var(--radius-sm);background:var(--surface);font-size:.92em}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dots{display:inline-flex;align-items:center;gap:4px}.dots__dot{width:5px;height:5px;border-radius:var(--radius-pill);background:var(--accent);animation:ul-dot 1.3s ease-in-out infinite}.dots__dot:nth-child(2){animation-delay:.18s}.dots__dot:nth-child(3){animation-delay:.36s}.levelchange{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);animation:ul-settle .4s ease both}.levelchange__ring{position:relative;width:72px;height:72px;display:grid;place-items:center;flex:none}.levelchange__ring svg{position:absolute;top:0;right:0;bottom:0;left:0}.levelchange__ring circle:last-of-type{transition:stroke-dashoffset .7s ease .1s}.levelchange__num{position:relative;font-family:var(--font-mono);font-size:22px;font-weight:500;line-height:1;color:var(--text);animation:ul-num-up .6s ease both .15s}.levelchange__flash{position:absolute;top:6px;right:6px;bottom:6px;left:6px;border-radius:var(--radius-pill);background:var(--gold);animation:ul-flash .9s ease-out both .3s}.levelchange__spark{position:absolute;width:5px;height:5px;border-radius:var(--radius-pill);background:var(--gold);animation:ul-spark .9s ease-out both .3s}.building-shell{max-width:820px;margin:var(--space-7) auto}.building{display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-2) 0 var(--space-3)}.building__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-5)}.building__core{animation:ul-core-breathe 2.4s ease-in-out infinite;line-height:0;flex:none}.building__topic{margin:4px 0 0;font-size:20px;font-weight:300;letter-spacing:-.03em}.building__desc{margin:6px 0 0;font-size:14px}.building__bands{display:flex;flex-direction:column;gap:12px;overflow:hidden;margin-inline:calc(-1 * var(--space-5));-webkit-mask-image:linear-gradient(to right,transparent,black 12%,black 88%,transparent);mask-image:linear-gradient(to right,transparent,black 12%,black 88%,transparent)}.drift{overflow:hidden}.drift__track{display:flex;width:max-content;gap:16px}.drift__track--a{animation:ul-drift-a 38s linear infinite}.drift__track--b{animation:ul-drift-b 46s linear infinite}.drift__card{flex:none;padding:12px 18px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text-muted);font-size:14px;line-height:1.4;white-space:nowrap;animation:ul-glow 7s ease-in-out infinite}.building__foot{display:flex;flex-direction:column;gap:var(--space-4);align-items:center}.building__stages{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;min-width:280px}.building__stage{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text-faint);transition:color .4s ease}.building__dot{width:7px;height:7px;border-radius:var(--radius-pill);background:var(--border-strong);flex:none;transition:background .4s ease,transform .4s ease}.building__stage--done{color:var(--text-muted)}.building__stage--done .building__dot{background:var(--text-muted)}.building__stage--active{color:var(--text)}.building__stage--active .building__dot{background:var(--gold);transform:scale(1.4);animation:ul-core-breathe 2s ease-in-out infinite}.building__note{margin:0;font-size:13px}.scanning{display:flex;align-items:center;gap:var(--space-3)}.scanning__field{position:relative;flex:none;width:120px;height:150px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-sunken);overflow:hidden}.scanning__beam{position:absolute;inset-inline:0;top:0;height:2px;background:linear-gradient(to right,transparent,var(--accent),transparent);animation:ul-scan 1.8s ease-in-out infinite}.scanning__label{font-size:14px}input[type=checkbox],input[type=radio]{width:16px;height:16px;margin:0;flex:none;accent-color:var(--accent);cursor:pointer}label.row{cursor:pointer}.backlink{display:inline-flex;align-items:center;gap:6px;margin-bottom:10px;font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.backlink:hover{color:var(--text);text-decoration:none}.periods{display:flex;gap:4px;flex:none}.periods__item{padding:5px 12px;border:1px solid transparent;border-radius:var(--radius-pill);background:transparent;color:var(--text-muted);font:inherit;font-size:13px;cursor:pointer;transition:color .15s,background .15s,border-color .15s}.periods__item:hover{color:var(--text)}.periods__item.is-active{color:var(--text);background:var(--surface-hover);border-color:var(--border-strong)}.deadline-phrase{margin-top:8px;font-size:14px}.linklike{padding:0;border:none;background:none;color:var(--accent);font:inherit;cursor:pointer;text-decoration:underline}.slab{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--surface);pointer-events:none;transform:translateY(100%);animation:ul-slab 1.4s cubic-bezier(.65,0,.35,1) forwards}.slab__label{font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.slab__num{font-size:64px;font-weight:300;letter-spacing:-.04em;color:var(--gold)}@keyframes ul-slab{0%{transform:translateY(100%)}22%{transform:translateY(0)}72%{transform:translateY(0)}to{transform:translateY(-100%)}}.level-total{font-weight:500}.topic-note{padding-bottom:12px;border-bottom:1px solid var(--border)}.topic-note:last-child{padding-bottom:0;border-bottom:0}.skill-bar{position:relative;height:6px;margin:3px 0;background:var(--bg-sunken);border-radius:var(--radius-pill)}.skill-bar__fill{height:100%;background:var(--accent);border-radius:var(--radius-pill);transition:width .3s}.skill-bar__fill.is-tentative{opacity:.45}.skill-bar__target{position:absolute;top:-4px;bottom:-4px;width:2px;margin-left:-1px;background:var(--text);border-radius:1px}.chart-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin:4px 0 8px;font-size:13px;color:var(--text-muted)}.chart-legend__item{display:inline-flex;align-items:center;gap:6px}.chart-swatch{display:inline-block;width:10px;height:10px;border-radius:2px;flex:none}.chart-wrap{position:relative;overflow-x:auto}.chart-tooltip{position:absolute;top:8px;right:8px;display:grid;gap:4px;padding:8px 10px;font-size:13px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);pointer-events:none}.choice{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.choice input{margin-top:4px;flex:none}.choice__label{display:block;font-weight:500}.choice__hint{display:block;font-size:13px}.facts{margin:0}.facts__row{display:grid;grid-template-columns:minmax(120px,180px) 1fr;gap:16px;padding:8px 0;border-bottom:1px solid var(--border)}.facts__row:last-child{border-bottom:0}.facts dt{color:var(--text-muted);font-size:14px}.facts dd{margin:0;white-space:pre-wrap}@media(max-width:480px){.facts__row{grid-template-columns:1fr;gap:2px}}.diagram{margin:24px 0 8px;padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-sunken);overflow-x:auto}.diagram svg{display:block;max-width:100%;height:auto}.diagram figcaption{margin-top:10px;text-align:center;font-size:13px}.diagram__edge{fill:none;stroke:var(--border-strong);stroke-width:1.5}.diagram__edge-label{fill:var(--text-muted);font-family:var(--font-mono);font-size:11px}.diagram__node rect,.diagram__node polygon{fill:var(--surface);stroke:var(--border-strong);stroke-width:1.5}.diagram__node text{fill:var(--text);font-size:12px}.diagram__node--start rect,.diagram__node--end rect{fill:var(--accent-soft);stroke:var(--accent-border)}.diagram__node--decision polygon{fill:var(--surface-hover)}.attach{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px}.attach label{flex:none;cursor:pointer}.attach__list{list-style:none;margin:0;padding:0;width:100%;display:flex;flex-direction:column;gap:6px}.attach__list li{display:flex;align-items:center;gap:8px;padding:6px 8px 6px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-sunken);font-size:13px}.attach__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attach__remove{flex:none;border:0;background:transparent;color:var(--text-muted);font-size:16px;line-height:1;padding:2px 6px;cursor:pointer}.attach__remove:hover{color:var(--text)}.attach__saved{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.attach__link{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--accent);font:inherit;font-size:13px;padding:4px 10px;cursor:pointer}.attach__link:hover{border-color:var(--accent-border)}.math .katex-display{margin:10px 0;overflow-x:auto;overflow-y:hidden;padding-bottom:2px}.bubble .katex,.prose .katex{font-size:1.02em}.math-preview{margin:-4px 0 16px;padding:10px 12px;background:var(--bg-sunken);border:1px dashed var(--border-strong);border-radius:var(--radius-sm);font-size:15px;overflow-x:auto}.katex-error{color:var(--danger)!important}.advised .card{border-color:var(--accent-border)}.advised__mark{align-self:flex-start;padding:3px 10px;border:1px solid var(--accent-border);border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase}:root[data-style=cold] h1{font-weight:300;letter-spacing:.005em}:root[data-style=cold] h2,:root[data-style=cold] h3{font-weight:500}:root[data-style=cold] .eyebrow{letter-spacing:.2em}.sky{margin:24px 0 8px;padding:0}.sky svg{display:block;max-width:100%;height:auto;border-radius:var(--radius)}.sky__ground{fill:var(--sky-ground);stroke:var(--border-strong)}.sky__line{stroke:var(--accent-border);stroke-width:1.2}.sky__hit{fill:transparent}.sky__dot{fill:var(--sky-star)}.sky__star{cursor:pointer;outline:none}.sky__star--active .sky__dot,.sky__star:focus-visible .sky__dot{fill:var(--accent)}.sky__label{fill:var(--sky-label);font-family:var(--font-mono);font-size:11px}.sky figcaption{margin-top:10px;text-align:center;font-size:13px}.mark__glow,.mark__orbits,.mark__ring{display:none}:root[data-style=cold] .mark__glow,:root[data-style=cold] .mark__orbits,:root[data-style=cold] .mark__ring{display:block}:root[data-style=cold] .mark__core{fill:url(#markCore)}:root[data-style=cold] .mark__ring{transform-origin:60px 60px;animation:ul-core-breathe 4.2s ease-in-out infinite}@media(prefers-reduced-motion:reduce){:root[data-style=cold] .mark__ring{animation:none}}body{background-image:var(--page-glow);background-attachment:fixed}.page__head{position:relative}.page__head:before{content:"";position:absolute;top:-80px;right:-25vw;bottom:-40px;left:-25vw;background-image:var(--head-field);pointer-events:none;z-index:-1}.card{background-image:var(--surface-image)}.card--new{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:168px;padding:var(--space-5);border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--bg-sunken);color:var(--text-muted);text-align:center;transition:border-color .15s,color .15s,background .15s,transform .15s}.card--new:hover{text-decoration:none;border-color:var(--accent);color:var(--text);background:var(--surface);transform:translateY(-1px)}.card--new__plus{display:flex;color:var(--accent)}.card--new__label{font-size:15px;font-weight:500;color:var(--text)}
