@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2) format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2) format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2) format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2) format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2) format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2) format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2) format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2) format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2) format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2) format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2) format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2) format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.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:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-vietnamese-500-normal-BmEvtly_.woff2) format("woff2"),url(/assets/space-grotesk-vietnamese-500-normal-BTqKIpxg.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:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-ext-500-normal-DUe3BAxM.woff2) format("woff2"),url(/assets/space-grotesk-latin-ext-500-normal-3dgZTiw9.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:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-500-normal-lFbtlQH6.woff2) format("woff2"),url(/assets/space-grotesk-latin-500-normal-CNSSEhBt.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:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-vietnamese-600-normal-DUi7WF5p.woff2) format("woff2"),url(/assets/space-grotesk-vietnamese-600-normal-D6zpsUhD.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:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-latin-ext-600-normal-DxxdqCpr.woff2) format("woff2"),url(/assets/space-grotesk-latin-ext-600-normal-VcznFIpX.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:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-latin-600-normal-DjKNqYRj.woff2) format("woff2"),url(/assets/space-grotesk-latin-600-normal-BflQw4A9.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,d09GMgABAAAAAASUABAAAAAACRAAAAQ3AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVEwAdBEICoRkg3oLIAABNgIkAzoEIAWFHgeBFAwHG3AHKB4HzukrRjyF5Gb4kQ/B873d17mv8TWkoqUUGaHodJCtoqntw7m8tiPWyGkfWDU/IMpzVk4zAs9Czv3c7Os5NvKFG1Ht9vBVXySRZpJc4tTrbM3sTRFcLa3zVboKWRIoAksKSKgqUQWEwlSoqjp44V5J9/kjd0+Fi5xaFjwJArgBAIJgIAgCCAI4CdNMqGuYXYUKdADLAkAAJwl6iX0+bZqEm1AH0Hu9rvrJHwxQG1Q/gFYwWYbgTRWgwEESVzbmtjQAt3DXO7Tu/+9Q/KNKWhTCgZ8fQSWoL0CUUgTBjgL8iEAcce7YHBeA8ZvogieCnxI0BCVeACCAAhBD/oDcAdUPABSgAX4kBPBTwjCAjwYSCneiqF65LUo/qXdYFrRwTujtMrKm07plTbSqLQFAiHBN7E4DG5wkiGXhCYBNETh3K/AciHN69iFfQjFOr9EXQQAAQXRNszs8PR0OH4fDV/dwGe76CHdj1MQa11DXYGcfZ6+B1X0OfwjY+i7KpQ1w9d+1z3/HydCB1f3U8A0fRFv+0bXxPWrZu3d9Nn4UcbLs/QCXLH/j3PCKblKOiZxLOR78W9brPo7eGTLz/F27ZPmePQdCB1YP4nJU91o4gU9cy64L3c3SPu8GfDn6ZXD2cGmllVqSxtD5vCXHm5xaeHlnpffx7DcPvXog5NnjA//cPz2btsz3yf+0MI8ri33tuv7upNbYmW5STbosW8bYItV/SPzxvXC0KnpWnFdC91oojit5Lyo6WcJQ1YzwBYbi52ohJVpcxfcHBqsv0nFz8U74rzS6M7r0RVlXZ3jJC4G92O//7Lm78VOtnUx+aQxAzsqPnrRr1t9zDrezKePvZ027x+fGte4s4NXu7/jEp3G9cM1bICYgACbuETUUD5wmenGXA/IBpAKVrl0AEJ5cqr6Q89tGq+SpqkDfX2DtG+pZ9teuae0AX98c301CX179InyErnSG8WCiABB4HFbVrw/lpTdBIOk82nXbpHKoQGyBpUovAAD4XQA8ZTUCeBJHIpI0v0FRrgcnckV3ANckrwYJKXEihQfdSKPER6XeExmEeEMmSe6QBwWmkZdmSOSthhibgIkBlUYreBKd/0NeVAE9WAyEaQpH6KikDWlUVg43Jy2FOmaYlsZhDEGZXO3mWEyWHI6zuaJkMlcSQ9k4F+KidIiFyZItGDc7r1pUj6wP6zrWB0/fbeeFeHl4YOvETMNiM8Ny+7OO6Qh2wur20YVxFts5dlORdl5Kwd5utR7SRcxqX8RA5Ehacha76hg7c6yzNm/Xf6vOLNrv544lIEkWg7xWo/ItBAeIJEmt0XgBwgM8gTifoiiLJroYYooNTeziEKe4zOoR/wvIKp89hSr+6jFAqw/LaonjmZHSscMNg4iPlWpFrO1RN3zkMU+/xUP+JQ99TbvTl1Vg0gtirT6lbwYAAAA=) format("woff2"),url(data:font/woff;base64,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) 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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-cyrillic-500-normal-DmUKJPL_.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-500-normal-DJqRU3vO.woff) format("woff");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-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-greek-500-normal-JpySY46c.woff2) format("woff2"),url(/assets/jetbrains-mono-greek-500-normal-D7SFKleX.woff) format("woff");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-display:swap;font-weight:500;src:url(data:font/woff2;base64,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) format("woff2"),url(/assets/jetbrains-mono-vietnamese-500-normal-DNRqzVM1.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-ext-500-normal-Cut-4mMH.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-ext-500-normal-ckzbgY84.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.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}:root{--brand: #2f2a52;--brand-strong: #262146;--brand-soft: #e9e8f3;--dot: #c21268;--dot-soft: #f7dced;--bg: #f6f6fa;--surface: #ffffff;--surface-2: #eeeef4;--border: #e5e5ee;--text: #12151f;--text-muted: #4a4d5a;--text-faint: #6b6e7a;--accent: var(--brand);--accent-soft: var(--brand-soft);--accent-text: #ffffff;--success: #17753f;--success-soft: #e3f6ea;--warning: #8f6207;--warning-soft: #fdf3da;--danger: #b8302f;--danger-soft: #fae6e6;--purple: #7a3fb8;--purple-soft: #efe6f8;--shadow: 0 1px 2px rgba(18, 21, 31, .05), 0 1px 3px rgba(18, 21, 31, .06);--shadow-lg: 0 10px 28px rgba(18, 21, 31, .14);--radius: 20px;--radius-sm: 12px;--topbar-h: 62px;--font-display: "Space Grotesk", "Inter", system-ui, sans-serif;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace}[data-theme=dark]{color-scheme:dark;--brand: #c9c4ee;--brand-strong: #dcd8f5;--brand-soft: #262146;--dot: #e0479a;--dot-soft: #3a1830;--bg: #12151f;--surface: #1a1733;--surface-2: #211d3f;--border: #2e2a52;--text: #e7e7ee;--text-muted: #a7a6bd;--text-faint: #8e8ca6;--accent-text: #12151f;--success: #45c07c;--success-soft: #15281d;--warning: #e0a93a;--warning-soft: #2a2210;--danger: #f06a6a;--danger-soft: #2c1717;--purple: #b98af0;--purple-soft: #271b36;--shadow: 0 1px 2px rgba(0, 0, 0, .4);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .5)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);font-size:14px;line-height:1.45;font-feature-settings:"cv05" 1,"ss01" 1;-webkit-font-smoothing:antialiased}input,button,select,textarea{font-family:inherit;font-size:inherit;color:inherit}a{color:var(--accent);text-decoration:none}h1,h2,h3{margin:0;font-family:var(--font-display);font-weight:500;letter-spacing:-.02em;text-wrap:balance}h1{font-size:24px}h2{font-size:17px;font-weight:600}h3{font-size:15px;font-weight:600}::selection{background:var(--dot);color:#fff}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.app{display:flex;flex-direction:column;min-height:100%;min-width:0}.topbar{display:flex;align-items:center;gap:14px;padding:0 20px;height:var(--topbar-h);background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}@supports (backdrop-filter: blur(1px)){.topbar{background:color-mix(in srgb,var(--surface) 74%,transparent);-webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3)}}.brand{display:inline-flex;align-items:center;color:var(--text)}.brand img{height:22px;width:auto;display:block}.brand .logo-dark,[data-theme=dark] .brand .logo-light{display:none}[data-theme=dark] .brand .logo-dark{display:block}.nav{display:flex;gap:2px;min-width:0;flex:1 1 auto;overflow-x:auto;scrollbar-width:none;margin-left:8px}.nav::-webkit-scrollbar{display:none}.nav a{padding:7px 12px;border-radius:999px;color:var(--text-muted);font-weight:500;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;transition:background .12s,color .12s}.nav a:hover{background:var(--surface-2);color:var(--text)}.nav a.active{background:var(--accent-soft);color:var(--accent)}.topbar-right{display:flex;align-items:center;gap:6px;flex:0 0 auto}.account{display:flex;flex-direction:column;line-height:1.15;text-align:right;margin:0 4px;color:var(--text)}.account b{font-size:13px}.account span{font-size:11.5px;color:var(--text-muted)}.bell{position:relative}.bell .cnt{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--dot);color:#fff;font-size:10.5px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.page{padding:24px 24px 40px;max-width:1400px;width:100%;margin:0 auto}.page-wide{max-width:none;display:flex;flex-direction:column;flex:1;min-height:0;min-width:0}.page-head{display:flex;align-items:center;gap:12px;margin-bottom:18px;flex-wrap:wrap;min-width:0}.page-head h1{display:inline-flex;align-items:center;gap:10px}.page-head .spacer{flex:1}.subtitle{color:var(--text-muted);margin-top:2px}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--text-muted);font-size:13px}.eyebrow:before{content:"";width:6px;height:6px;border-radius:999px;background:var(--dot);flex:none}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card-pad{padding:18px 20px}.card h2{margin-bottom:12px;display:flex;align-items:center;gap:8px}.card h2 .cnt{font-family:var(--font-sans);font-weight:500;color:var(--text-muted);font-size:14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 16px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-weight:500;cursor:pointer;transition:all .12s;white-space:nowrap}.btn:hover{background:var(--surface-2)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--brand);border-color:var(--brand);color:var(--accent-text)}.btn-primary:hover{background:var(--brand-strong);border-color:var(--brand-strong)}.btn-ghost{border-color:transparent;background:transparent;color:var(--text-muted)}.btn-ghost:hover{background:var(--surface-2);color:var(--text)}.btn-danger{color:var(--danger);border-color:transparent;background:transparent}.btn-danger:hover{background:var(--danger-soft)}.btn-success{background:var(--success);border-color:var(--success);color:#fff}.btn-success:hover{filter:brightness(1.06);background:var(--success)}.btn-sm{padding:5px 12px;font-size:13px}.btn-icon{padding:7px;width:34px;height:34px}.btn svg{display:inline-block;vertical-align:middle}.input,.select,.textarea{width:100%;padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);outline:none;transition:border-color .12s,box-shadow .12s}.textarea{min-height:80px;resize:vertical;line-height:1.45}.input:focus,.select:focus,.textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field>span{font-size:12.5px;font-weight:500;color:var(--text-muted)}.field .req{color:var(--dot)}.field-hint{font-size:11.5px;color:var(--text-faint);font-weight:400}.form{display:flex;flex-direction:column;gap:12px}.form-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:4px;flex-wrap:wrap}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.grid-2>*,.grid-3>*{min-width:0}@media(max-width:640px){.grid-2,.grid-3{grid-template-columns:1fr!important}}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;background:var(--surface-2);color:var(--text-muted);white-space:nowrap}.badge-accent{background:var(--accent-soft);color:var(--accent)}.badge-success{background:var(--success-soft);color:var(--success)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-purple{background:var(--purple-soft);color:var(--purple)}.dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex:0 0 auto}.project-chip{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--text-muted)}.project-chip .dot{width:8px;height:8px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;min-width:0}.kv{display:grid;grid-template-columns:minmax(110px,38%) 1fr;gap:6px 12px;font-size:13px}.kv dt{color:var(--text-faint);margin:0}.kv dd{margin:0;overflow-wrap:anywhere}.kv dd.mono{font-family:var(--font-mono);font-size:12.5px}.kv-extra{border-top:1px dashed var(--border);padding-top:6px;margin-top:4px}.member{display:flex;gap:10px;align-items:center;padding:6px 0;border-bottom:1px solid var(--border)}.member:last-child{border-bottom:0}.member .who{font-weight:600}.member{align-items:flex-start}.member .avatar{margin-top:2px}.member .what{color:var(--text-muted);font-size:12.5px}.pre{white-space:pre-line}.avatar{width:30px;height:30px;border-radius:50%;background:var(--brand-soft);color:var(--brand);font-family:var(--font-display);font-weight:700;font-size:12px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.row-nowrap{flex-wrap:nowrap}.col{display:flex;flex-direction:column;gap:12px}.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}.right{text-align:right}.small{font-size:12.5px}.num{font-variant-numeric:tabular-nums}.link-quiet{color:inherit;border-bottom:1px dotted var(--text-faint)}.link-quiet:hover{color:var(--accent);border-color:var(--accent)}.board{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px;align-items:stretch;flex:1;min-height:0;scrollbar-gutter:stable}.column{flex:1 1 0;min-width:230px;background:var(--surface-2);border-radius:var(--radius);padding:10px;display:flex;flex-direction:column}.column-head{display:flex;align-items:center;gap:8px;padding:4px 8px 10px;font-weight:600;font-size:13px}.stepdot{width:8px;height:8px;border-radius:50%;flex:0 0 auto}.column-head .count{margin-left:auto;color:var(--text-muted);font-weight:600;font-variant-numeric:tabular-nums;background:var(--surface);border-radius:999px;min-width:22px;height:20px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px;font-size:12px}.column-body{display:flex;flex-direction:column;gap:8px;flex:1;overflow-y:auto;overflow-x:hidden;min-width:0}.column-body>*{min-width:0}.task-card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:14px;border-left:4px solid var(--border);padding:10px 12px;cursor:pointer;transition:box-shadow .12s,transform .06s;box-shadow:var(--shadow);overflow-wrap:anywhere;color:inherit;display:block}.task-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.task-card.hot{border-left-color:color-mix(in srgb,var(--danger) var(--heat),var(--border));background:color-mix(in srgb,var(--danger-soft) var(--heat),var(--surface))}.task-card.urgent .ttl:before{content:"❗";margin-right:4px}.task-card .ttl{font-weight:600;margin:3px 0 5px;line-height:1.3}.task-card .meta{display:flex;gap:6px;flex-wrap:wrap;align-items:center;font-size:12px;color:var(--text-muted)}.task-card .who{font-size:12px;color:var(--text-muted);margin-top:6px;display:flex;gap:6px;align-items:center}.task-list{display:flex;flex-direction:column}.task-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:9px 6px;border-bottom:1px solid var(--border);color:inherit;border-radius:10px}.task-row:last-child{border-bottom:0}.task-row:hover{background:var(--surface-2)}.task-row .ttl{font-weight:500}.task-row .sub{font-size:12px;color:var(--text-muted);display:flex;gap:8px;flex-wrap:wrap}@media(max-width:640px){.task-row{grid-template-columns:1fr}}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}table.tbl{width:100%;border-collapse:collapse}.tbl th{text-align:left;font-size:12px;color:var(--text-faint);font-weight:600;padding:8px 12px;border-bottom:1px solid var(--border);white-space:nowrap}.tbl td{padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:middle}.tbl tr:last-child td{border-bottom:0}.tbl tbody tr:hover td{background:var(--surface-2)}.tbl .num{text-align:right;font-variant-numeric:tabular-nums}.stage-cell{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:9px;background:var(--surface-2);color:var(--text-faint);font-size:12px;font-weight:600;font-family:var(--font-mono)}.stage-cell.done{background:var(--success-soft);color:var(--success)}.stage-cell.cur{background:var(--accent-soft);color:var(--accent)}.stage-cell.work{background:var(--warning-soft);color:var(--warning)}.stage-cell.over{background:var(--danger-soft);color:var(--danger)}.stage-cell.paused{background:var(--surface-2);color:var(--text-muted);text-decoration:line-through}.jgrid th.vert{vertical-align:bottom;padding:8px 4px;white-space:normal}.jgrid th.vert span{display:block;writing-mode:vertical-rl;transform:rotate(180deg);max-height:150px;line-height:1.15;font-size:11.5px}.jgrid td.jtd,.jgrid td.jsum{text-align:center;padding:6px 4px}.jgrid td.jtd{cursor:pointer}.jgrid td.jsum{font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.jgrid td.jsum.left{color:var(--warning)}.jgrid td.jsum.ok{color:var(--success)}.jgrid td.jgrp{background:var(--surface-2);font-size:12px;font-weight:600;color:var(--text-muted);padding:6px 12px}.jcell{position:relative;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;background:var(--surface-2);color:var(--text-faint);font-weight:700}.jcell.done{background:var(--success-soft);color:var(--success)}.jcell.progress{background:var(--warning-soft);color:var(--warning)}.jtd:hover .jcell{box-shadow:0 0 0 2px var(--accent-soft)}.jcell-flag{position:absolute;top:2px;right:2px;width:6px;height:6px;border-radius:50%;background:var(--accent)}.jboard{overflow-y:visible;align-items:stretch}.jboard .column{min-width:190px}.jboard .column-body{overflow:visible;flex:none}.jboard .column.drop{box-shadow:inset 0 0 0 2px var(--accent)}.jcard{cursor:grab}.jcard.drop-before{box-shadow:0 -5px 0 -2px var(--accent),var(--shadow)}.jcard.dragging{opacity:.45}.jcard:active{cursor:grabbing}.jstages{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.jstage{padding:10px 12px;border-left:3px solid transparent;display:flex;flex-direction:column;gap:8px}.jstage+.jstage{border-top:1px solid var(--border)}.jstage.done{border-left-color:var(--success)}.jstage.progress{border-left-color:var(--warning)}.jstage-head{display:flex;align-items:center;gap:12px;justify-content:space-between;flex-wrap:wrap}.jstage-name{font-size:13.5px;font-weight:500;min-width:0}.jstage-extra{display:grid;grid-template-columns:1fr 1fr;gap:8px}.jstage-extra .input{padding-top:6px;padding-bottom:6px;font-size:13px}@media(max-width:640px){.jstage-extra{grid-template-columns:1fr}}.seg{display:inline-flex;background:var(--surface-2);border-radius:999px;padding:3px;gap:2px;flex:0 0 auto}.seg-btn{border:0;background:transparent;color:var(--text-muted);font:inherit;font-size:12.5px;font-weight:500;padding:4px 11px;border-radius:999px;cursor:pointer;white-space:nowrap}.seg-btn:hover{color:var(--text)}.seg-btn.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.seg-btn.on.done{background:var(--success-soft);color:var(--success)}.seg-btn.on.progress{background:var(--warning-soft);color:var(--warning)}.input-icon{position:relative;display:flex;align-items:center;min-width:0}.input-icon>svg{position:absolute;left:10px;color:var(--text-faint);pointer-events:none}.input-icon .input{padding-left:30px;padding-right:30px;width:100%}.input-icon>a{position:absolute;right:9px;color:var(--text-faint);display:inline-flex}.input-icon>a:hover{color:var(--accent)}.jtoolbar{gap:8px}.jtoolbar .select,.jtoolbar .input{width:auto;padding-top:5px;padding-bottom:5px;font-size:13px}.linklike{background:none;border:0;padding:0;font:inherit;color:var(--text);cursor:pointer;text-align:left}.linklike:hover{color:var(--accent);text-decoration:underline}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px}.stat .v{font-family:var(--font-display);font-size:28px;font-weight:500;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.1}.stat .l{font-size:12.5px;color:var(--text-muted);margin-top:4px}.stat.warn .v{color:var(--danger)}.status-flow{display:flex;align-items:center;gap:0;flex-wrap:wrap}.status-flow .step{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--text-faint);padding:4px 9px;border-radius:999px}.status-flow .step .stepdot{background:currentColor}.status-flow .step.done{color:var(--text-muted)}.status-flow .step.current{background:var(--brand);color:var(--accent-text)}.status-flow .sep{width:14px;height:2px;background:var(--border)}.status-flow .sep.done{background:var(--text-muted)}.timeline{display:flex;flex-direction:column}.tl-item{display:grid;grid-template-columns:110px 1fr;gap:10px;padding:7px 0;border-bottom:1px solid var(--border);font-size:13px}.tl-item:last-child{border-bottom:0}.tl-item .when{color:var(--text-faint);font-variant-numeric:tabular-nums;font-size:12px;padding-top:1px}.tl-item .who{font-weight:600}.comment{background:var(--surface-2);border-radius:var(--radius-sm);padding:8px 12px;white-space:pre-wrap;margin-top:3px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#12151f80;display:flex;align-items:center;justify-content:center;z-index:50;padding:20px}@supports (backdrop-filter: blur(1px)){.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}}.modal{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-lg);width:100%;max-width:520px;padding:22px 24px;max-height:calc(100vh - 40px);display:flex;flex-direction:column}.modal-wide{max-width:760px}.modal-body{overflow-y:auto;flex:1;min-height:0}.empty{padding:36px 20px;text-align:center;color:var(--text-faint);display:flex;flex-direction:column;align-items:center;gap:10px}.empty-ico{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--surface-2);color:var(--text-faint)}.spinner{padding:50px;text-align:center;color:var(--text-faint);display:flex;flex-direction:column;align-items:center;gap:10px}.spin{animation:spin .8s linear infinite;color:var(--accent)}@keyframes spin{to{transform:rotate(360deg)}}.toast-stack{position:fixed;top:14px;right:14px;z-index:100;display:flex;flex-direction:column;gap:10px;max-width:min(420px,calc(100vw - 28px))}.toast{display:flex;align-items:flex-start;gap:10px;padding:12px 12px 12px 14px;border-radius:14px;background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--text-faint);box-shadow:var(--shadow-lg);animation:toast-in .16s ease-out}@keyframes toast-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:none}}.toast-success{border-left-color:var(--success)}.toast-success .toast-icon{color:var(--success)}.toast-error{border-left-color:var(--danger)}.toast-error .toast-icon{color:var(--danger)}.toast-info{border-left-color:var(--brand)}.toast-info .toast-icon{color:var(--brand)}.toast-icon{flex:0 0 auto;display:inline-flex;margin-top:1px}.toast-msg{flex:1;font-size:13.5px;line-height:1.4;white-space:pre-line;word-break:break-word}.toast-close{flex:0 0 auto;display:inline-flex;border:0;background:transparent;color:var(--text-faint);cursor:pointer;padding:2px;border-radius:6px}.toast-close:hover{background:var(--surface-2);color:var(--text)}.login-wrap{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:100%;max-width:380px;padding:28px}.login-mark{width:56px;height:56px;display:block;margin-bottom:14px}.login-title{font-family:var(--font-display);font-size:26px;font-weight:500;letter-spacing:-.02em;line-height:1.1;margin:0 0 4px}.login-title .squiggle-wrap{position:relative;display:inline-block;white-space:nowrap}.login-title .squiggle{position:absolute;left:0;right:0;bottom:-.22em;width:100%;height:.34em;color:var(--dot);pointer-events:none;overflow:visible}.login-title .squiggle path{fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-dasharray:420;stroke-dashoffset:420;animation:draw-squiggle .9s cubic-bezier(.65,0,.35,1) .15s forwards}.login-title .cdot{position:absolute;right:-.34em;bottom:-.16em;width:.2em;height:.2em;border-radius:999px;background:var(--brand);transform:scale(0);animation:pop-dot .35s cubic-bezier(.34,1.56,.64,1) .95s forwards}@keyframes draw-squiggle{to{stroke-dashoffset:0}}@keyframes pop-dot{to{transform:scale(1)}}.login-sub{color:var(--text-muted);margin:0 0 18px}.pop{position:absolute;right:0;top:calc(100% + 6px);z-index:30;width:min(420px,calc(100vw - 32px));background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);max-height:70vh;overflow-y:auto}.pop-item{padding:10px 14px;border-bottom:1px solid var(--border);font-size:13px;display:block;color:inherit}.pop-item:last-child{border-bottom:0}.pop-item.unread{background:var(--accent-soft)}.pop-item .when{font-size:11.5px;color:var(--text-faint);margin-top:2px}.pop-item:hover{background:var(--surface-2)}@media(max-width:720px){.page{padding:16px 16px 40px}.topbar{padding:0 12px;gap:8px}.account{display:none}.column{min-width:84vw}}@media(prefers-reduced-motion:reduce){.task-card,.btn,.toast{transition:none;animation:none}.login-title .squiggle path{stroke-dashoffset:0;animation:none}.login-title .cdot{transform:scale(1);animation:none}}
