@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbV2o-flEEny0FZhsfKu5WU4xD2OwG_TA.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-family:JetBrains Mono;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbV2o-flEEny0FZhsfKu5WU4xD_OwG_TA.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbV2o-flEEny0FZhsfKu5WU4xD4OwG_TA.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbV2o-flEEny0FZhsfKu5WU4xD0OwG_TA.woff2) format("woff2");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:JetBrains Mono;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbV2o-flEEny0FZhsfKu5WU4xD1OwG_TA.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-family:JetBrains Mono;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbV2o-flEEny0FZhsfKu5WU4xD7OwE.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-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbV2o-flEEny0FZhsfKu5WU4xD2OwG_TA.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-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbV2o-flEEny0FZhsfKu5WU4xD_OwG_TA.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbV2o-flEEny0FZhsfKu5WU4xD4OwG_TA.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbV2o-flEEny0FZhsfKu5WU4xD0OwG_TA.woff2) format("woff2");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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbV2o-flEEny0FZhsfKu5WU4xD1OwG_TA.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-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbV2o-flEEny0FZhsfKu5WU4xD7OwE.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-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbV2o-flEEny0FZhsfKu5WU4xD2OwG_TA.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-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbV2o-flEEny0FZhsfKu5WU4xD_OwG_TA.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbV2o-flEEny0FZhsfKu5WU4xD4OwG_TA.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbV2o-flEEny0FZhsfKu5WU4xD0OwG_TA.woff2) format("woff2");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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbV2o-flEEny0FZhsfKu5WU4xD1OwG_TA.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-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbV2o-flEEny0FZhsfKu5WU4xD7OwE.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-family:Plus Jakarta Sans;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko70yyygA.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-family:Plus Jakarta Sans;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko50yyygA.woff2) format("woff2");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:Plus Jakarta Sans;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko40yyygA.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-family:Plus Jakarta Sans;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko20yw.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-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko70yyygA.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-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko50yyygA.woff2) format("woff2");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:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko40yyygA.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-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko20yw.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-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko70yyygA.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-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko50yyygA.woff2) format("woff2");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:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko40yyygA.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-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko20yw.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-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko70yyygA.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-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko50yyygA.woff2) format("woff2");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:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko40yyygA.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-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko20yw.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-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko70yyygA.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-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko50yyygA.woff2) format("woff2");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:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko40yyygA.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-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko20yw.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: #f0f4ff;--s0: rgba(255, 255, 255, .92);--s1: rgba(255, 255, 255, .75);--s2: rgba(255, 255, 255, .55);--s3: rgba(255, 255, 255, .35);--border: rgba(180, 190, 220, .35);--border2: rgba(120, 140, 200, .55);--ink: #18203a;--ink2: #384060;--ink3: #6070a0;--ink4: #9aa0c0;--ink5: #c8cce0;--blue: #4a7cf7;--blue2: #2556e0;--blue-s: rgba(74, 124, 247, .12);--blue-g: rgba(74, 124, 247, .28);--teal: #0eb8a0;--teal-s: rgba(14, 184, 160, .12);--rose: #f0567a;--rose-s: rgba(240, 86, 122, .12);--amber: #f59e0b;--amber-s: rgba(245, 158, 11, .12);--violet: #8b5cf6;--violet-s: rgba(139, 92, 246, .12);--green: #10b981;--green-s: rgba(16, 185, 129, .12);--sh-sm: 0 2px 8px rgba(60, 80, 160, .08), 0 1px 3px rgba(60, 80, 160, .05);--sh-md: 0 8px 24px rgba(60, 80, 160, .12), 0 2px 8px rgba(60, 80, 160, .06);--sh-lg: 0 16px 48px rgba(60, 80, 160, .14), 0 4px 12px rgba(60, 80, 160, .07);--sh-glow: 0 0 0 3px rgba(74, 124, 247, .2), 0 8px 24px rgba(74, 124, 247, .18);--r-sm: 6px;--r-md: 12px;--r-lg: 18px;--r-xl: 24px;--r-2xl: 32px;--f-ui: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--f-mono: "JetBrains Mono", "SF Mono", Consolas, monospace;--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-out: cubic-bezier(.22, 1, .36, 1)}.aurora{position:fixed;inset:-60%;z-index:0;pointer-events:none;background:radial-gradient(ellipse 70% 60% at 15% 25%,rgba(168,210,255,.45) 0%,transparent 55%),radial-gradient(ellipse 60% 70% at 85% 15%,rgba(200,168,255,.35) 0%,transparent 55%),radial-gradient(ellipse 80% 50% at 70% 80%,rgba(168,240,220,.35) 0%,transparent 55%),radial-gradient(ellipse 50% 60% at 30% 75%,rgba(255,210,168,.3) 0%,transparent 55%),radial-gradient(ellipse 90% 90% at 50% 50%,rgba(240,244,255,1) 0%,transparent 70%);animation:auroraShift 18s ease-in-out infinite alternate}@keyframes auroraShift{0%{transform:translate(0) rotate(0)}33%{transform:translate(3%,-2%) rotate(.8deg)}66%{transform:translate(-2%,3%) rotate(-.8deg)}to{transform:translate(1.5%,-1.5%) rotate(.4deg)}}@media(prefers-reduced-motion:reduce){.aurora{animation:none}}.glass{background:var(--s1);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border:1px solid var(--border);border-radius:var(--r-lg)}.glass-dark{background:#141428cc;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border2);border-radius:var(--r-lg)}.header{height:52px;flex-shrink:0;z-index:60;display:flex;align-items:center;justify-content:space-between;padding:0 18px;background:var(--s0);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid var(--border2);box-shadow:var(--sh-sm);position:relative}.logo{display:flex;align-items:center;gap:10px;text-decoration:none}.logo-orb{width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,var(--blue),var(--violet));display:grid;place-items:center;box-shadow:0 4px 12px #4a7cf759}.logo-name{font-size:1.05rem;font-weight:700;letter-spacing:-.02em;color:var(--ink)}.logo-name span{background:linear-gradient(90deg,var(--blue),var(--violet));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hdr-tabs{display:flex;gap:2px;background:var(--s2);border-radius:var(--r-md);padding:3px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.htab{font-family:var(--f-mono);font-size:.6rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);padding:4px 14px;border:none;background:transparent;cursor:pointer;border-radius:8px;font-weight:500;transition:color .15s,background .15s,box-shadow .15s}.htab:hover{color:var(--ink);background:#ffffff80}.htab.active{color:var(--blue);background:var(--s0);box-shadow:var(--sh-sm)}.hdr-actions{display:flex;gap:8px}.hbtn{font-family:var(--f-mono);font-size:.6rem;letter-spacing:.05em;text-transform:uppercase;padding:5px 14px;border:1px solid var(--border2);border-radius:var(--r-sm);background:transparent;color:var(--ink3);cursor:pointer;font-weight:500;transition:all .15s}.hbtn:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-s)}.hbtn.primary{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;border-color:transparent;box-shadow:0 4px 12px #4a7cf74d}.hbtn.primary:hover{box-shadow:0 6px 20px #4a7cf766;transform:translateY(-1px)}.shell{flex:1;display:grid;grid-template-columns:200px 1fr 284px;overflow:hidden;position:relative;z-index:1}.sidebar{background:var(--s1);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.sb-header{padding:12px 14px 10px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.sb-label{font-family:var(--f-mono);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);font-weight:500}.sb-badge{font-family:var(--f-mono);font-size:.58rem;background:var(--blue-s);color:var(--blue);padding:2px 8px;border-radius:var(--r-2xl);border:1px solid rgba(74,124,247,.2)}.sb-list{flex:1;overflow-y:auto;padding:6px}.sb-row{padding:8px 10px;cursor:pointer;border-radius:var(--r-md);border:1px solid transparent;margin-bottom:2px;transition:background .12s,border-color .15s,transform .18s var(--ease-spring)}.sb-row:hover{background:#fff9;transform:translate(2px)}.sb-row.active{background:var(--s0);border-color:#4a7cf740;box-shadow:var(--sh-sm)}.sb-row-title{font-size:.82rem;font-weight:600;color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}.sb-row.active .sb-row-title{color:var(--blue)}.sb-row-meta{display:flex;align-items:center;gap:5px}.sb-row-meta span{font-family:var(--f-mono);font-size:.55rem;color:var(--ink4)}.sb-section{padding:10px 10px 3px;font-family:var(--f-mono);font-size:.52rem;text-transform:uppercase;letter-spacing:.14em;color:var(--ink5)}.mem-log{border-top:1px solid var(--border);flex-shrink:0;max-height:420px;overflow-y:auto;padding:8px;background:#ffffff4d}.mem-log-header{font-family:var(--f-mono);font-size:.52rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink4);margin-bottom:5px;display:flex;align-items:center;gap:5px}.mem-log-header:before{content:"\25c6";color:var(--blue);font-size:.4rem}.mem-entry{display:flex;gap:6px;padding:3px 0;border-bottom:1px solid var(--border)}.mem-entry:last-child{border:none}.mem-who{font-family:var(--f-mono);font-size:.53rem;color:var(--blue);flex-shrink:0;padding-top:1px;font-weight:500}.mem-text{font-size:.74rem;color:var(--ink4);line-height:1.35}.center{display:flex;flex-direction:column;overflow:hidden;background:transparent;position:relative}.tree-bar{display:flex;align-items:center;justify-content:space-between;padding:7px 14px;background:var(--s1);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);flex-shrink:0;gap:10px}.breadcrumb{display:flex;align-items:center;gap:5px}.bci{font-family:var(--f-mono);font-size:.58rem;color:var(--ink4)}.bc-sep{color:var(--ink5);margin:0 1px}.bci.current{color:var(--blue);font-weight:500}.tree-stats{display:flex;gap:16px;flex-shrink:0}.tst{text-align:center}.tst-value{font-family:var(--f-mono);font-size:.82rem;font-weight:500;color:var(--ink);display:block}.tst-label{font-family:var(--f-mono);font-size:.48rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ink4)}.zoom-btns{display:flex;gap:3px}.zb{width:26px;height:26px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--s0);color:var(--ink3);cursor:pointer;display:grid;place-items:center;font-family:var(--f-mono);font-size:.85rem;font-weight:500;transition:all .15s;box-shadow:var(--sh-sm)}.zb:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-s)}.tree-canvas{flex:1;overflow:hidden;position:relative;cursor:grab}.tree-canvas:active{cursor:grabbing}.tree-svg{width:100%;height:100%;overflow:visible;display:block}.right-panel{background:var(--s1);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-left:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.rp-header{padding:10px 14px 8px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.rp-label{font-family:var(--f-mono);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);font-weight:500}.depth-progress{display:flex;align-items:center;gap:3px}.dp{height:3px;width:8px;border-radius:99px;background:var(--ink5);transition:all .25s var(--ease-spring)}.dp.done{background:var(--ink4)}.dp.current{background:var(--blue);width:18px;box-shadow:0 0 8px var(--blue-g)}.narr-scroll{flex:1;overflow-y:auto;padding:14px}.nloc{font-family:var(--f-mono);font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink4);margin-bottom:10px;display:flex;align-items:center;gap:7px}.nloc:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--border),transparent)}.nscene{font-size:.97rem;line-height:1.82;color:var(--ink2);font-weight:400;margin-bottom:14px;letter-spacing:.005em}.nscene em{font-style:normal;font-weight:600;color:var(--ink)}.ev-list{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}.ev-card{border-radius:var(--r-md);padding:8px 10px 8px 12px;display:flex;gap:8px;align-items:flex-start;border:1px solid;position:relative;overflow:hidden}.ev-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:99px 0 0 99px}.ev-card.enemy{background:#f0567a12;border-color:#f0567a33}.ev-card.event{background:#4a7cf712;border-color:#4a7cf733}.ev-card.warning{background:#f59e0b12;border-color:#f59e0b33}.ev-card.mystery{background:#8b5cf612;border-color:#8b5cf633}.ev-card.memory{background:#10b98112;border-color:#10b98133}.ev-card.enemy:before{background:var(--rose)}.ev-card.event:before{background:var(--blue)}.ev-card.warning:before{background:var(--amber)}.ev-card.mystery:before{background:var(--violet)}.ev-card.memory:before{background:var(--green)}.ev-icon{width:18px;height:18px;flex-shrink:0;display:grid;place-items:center;margin-top:1px}.ev-who{font-family:var(--f-mono);font-size:.56rem;letter-spacing:.05em;text-transform:uppercase;margin-bottom:2px;font-weight:600}.ev-card.enemy .ev-who{color:var(--rose)}.ev-card.event .ev-who{color:var(--blue)}.ev-card.warning .ev-who{color:var(--amber)}.ev-card.mystery .ev-who{color:var(--violet)}.ev-card.memory .ev-who{color:var(--green)}.ev-text{font-size:.8rem;color:var(--ink3);line-height:1.4}#mem-notif{position:fixed;right:16px;top:62px;z-index:999;display:flex;flex-direction:column;gap:8px;pointer-events:none;max-width:268px}.mn{background:var(--s0);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(74,124,247,.3);border-radius:var(--r-xl);padding:12px 14px;box-shadow:var(--sh-lg);position:relative;overflow:hidden}.mn:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--blue),var(--violet))}.mn-top{display:flex;align-items:center;gap:8px;margin-bottom:5px}.mn-icon{width:26px;height:26px;border-radius:8px;flex-shrink:0;background:linear-gradient(135deg,var(--blue-s),var(--violet-s));border:1px solid rgba(74,124,247,.2);display:grid;place-items:center}.mn-who{font-family:var(--f-mono);font-size:.58rem;letter-spacing:.08em;color:var(--blue);text-transform:uppercase;font-weight:600}.mn-text{font-size:.84rem;color:var(--ink2);line-height:1.4}.mn-tag{font-family:var(--f-mono);font-size:.5rem;letter-spacing:.1em;text-transform:uppercase;color:var(--green);background:var(--green-s);padding:2px 8px;margin-top:6px;display:inline-flex;align-items:center;gap:4px;border-radius:var(--r-2xl);border:1px solid rgba(16,185,129,.2)}.mn-tag:before{content:"\25c6";font-size:.35rem}.choices-wrap{border-top:1px solid var(--border);padding:10px;background:#ffffff59;flex-shrink:0}.choices-header{font-family:var(--f-mono);font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink4);margin-bottom:8px;display:flex;align-items:center;gap:6px;font-weight:500}.choices-header .accent{color:var(--blue)}.choices-header:before{content:"";width:12px;height:1px;background:var(--ink5)}.choices-stack{display:flex;flex-direction:column;gap:4px}.cc{background:var(--s0);border:1px solid var(--border);border-radius:var(--r-lg);padding:9px 11px;cursor:grab;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:9px;box-shadow:var(--sh-sm);will-change:transform;transition:border-color .15s,box-shadow .15s,transform .15s;position:relative;overflow:hidden}.cc:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,rgba(74,124,247,.06),transparent);opacity:0;transition:opacity .15s}.cc:hover{border-color:#4a7cf766;box-shadow:0 4px 16px #4a7cf726;transform:translateY(-1px)}.cc:hover:before{opacity:1}.cc:active{cursor:grabbing}.cc-key{font-family:var(--f-mono);font-size:.6rem;font-weight:600;width:20px;height:20px;border-radius:6px;border:1.5px solid rgba(74,124,247,.3);display:grid;place-items:center;flex-shrink:0;background:var(--blue-s);color:var(--blue)}.cc-text{font-size:.9rem;font-weight:500;color:var(--ink2);flex:1;line-height:1.35;letter-spacing:.005em}.cc-mem{font-family:var(--f-mono);font-size:.48rem;letter-spacing:.07em;color:var(--green);background:var(--green-s);padding:2px 6px;border-radius:var(--r-2xl);border:1px solid rgba(16,185,129,.2);white-space:nowrap;flex-shrink:0}#ghost{position:fixed;pointer-events:none;z-index:9000;background:var(--s0);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border2);border-radius:var(--r-lg);padding:9px 14px;font-size:.9rem;font-weight:600;color:var(--ink);box-shadow:var(--sh-lg);max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:none;transform-origin:center center}#ghost.snap{background:linear-gradient(135deg,#4a7cf726,#8b5cf626);border-color:#4a7cf799;color:var(--blue);box-shadow:var(--sh-glow)}#hint{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:2;transition:opacity .4s}#hint.gone{opacity:0}.hint-box{background:var(--s0);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border2);border-radius:var(--r-2xl);padding:28px 36px;text-align:center;box-shadow:var(--sh-lg)}.hint-icon{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,var(--blue-s),var(--violet-s));border:1px solid rgba(74,124,247,.25);display:grid;place-items:center;margin:0 auto 14px;box-shadow:0 4px 12px #4a7cf726}.hint-title{font-size:1rem;font-weight:700;color:var(--ink);margin-bottom:5px;letter-spacing:-.01em}.hint-subtitle{font-size:.86rem;color:var(--ink3)}#toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%) translateY(12px);background:var(--s0);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border2);border-radius:var(--r-2xl);color:var(--blue);padding:8px 20px;font-family:var(--f-mono);font-size:.62rem;letter-spacing:.07em;font-weight:500;box-shadow:var(--sh-lg);opacity:0;pointer-events:none;z-index:9999;transition:opacity .2s,transform .24s var(--ease-spring)}#toast.show{opacity:1;transform:translate(-50%) translateY(0)}@keyframes nodeIn{0%{opacity:0;transform:scale(.05)}65%{opacity:1;transform:scale(1.07)}to{transform:scale(1)}}@keyframes wireIn{0%{stroke-dashoffset:500;opacity:0}5%{opacity:1}to{stroke-dashoffset:0}}@keyframes ringFloat{0%,to{stroke-opacity:.35;stroke-width:1.2}50%{stroke-opacity:.9;stroke-width:2.2}}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--ink5);border-radius:2px}:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:var(--r-sm)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden;font-family:var(--f-ui);background:var(--bg);color:var(--ink);display:flex;flex-direction:column;position:relative}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.aurora{animation:none}}
