@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+460-52F,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+301,U+400-45F,U+490-491,U+4B0-4B1,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+1F??}@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+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@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+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family: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+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family: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+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family: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+460-52F,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+301,U+400-45F,U+490-491,U+4B0-4B1,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+1F??}@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+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@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+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family: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+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family: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+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family: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+460-52F,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+301,U+400-45F,U+490-491,U+4B0-4B1,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+1F??}@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+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@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+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family: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+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family: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+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-700-normal-CjBOestx.woff2)format("woff2"),url(/assets/inter-cyrillic-700-normal-DrXBdSj3.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2)format("woff2"),url(/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-700-normal-C3JjAnD8.woff2)format("woff2"),url(/assets/inter-greek-700-normal-BUv2fZ6O.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2)format("woff2"),url(/assets/inter-vietnamese-700-normal-BZaoP0fm.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2)format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2)format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family: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+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family: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+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family: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+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family: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+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family: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+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family: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+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-vietnamese-700-normal-DMty7AZE.woff2)format("woff2"),url(/assets/space-grotesk-vietnamese-700-normal-Duxec5Rn.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-ext-700-normal-BQnZhY3m.woff2)format("woff2"),url(/assets/space-grotesk-latin-ext-700-normal-HVCqSBdx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-700-normal-RjhwGPKo.woff2)format("woff2"),url(/assets/space-grotesk-latin-700-normal-CwsQ-cCU.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--canvas:#080a0f;--s1:#0c0f15;--s2:#11151d;--s3:#161b25;--s4:#1b212c;--line:#1d2330;--line-2:#283041;--line-3:#36415a;--ink:#eef1f6;--ink-muted:#aeb7c6;--ink-subtle:#717c8d;--ink-faint:#4d5666;--accent:#2ed3c3;--accent-2:#1aa99c;--accent-ink:#04110f;--wrong:#e76b7c;--neutral:#d7a23f;--correct:#34c79a;--xxs:4px;--xs:8px;--sm:12px;--md:16px;--lg:24px;--xl:32px;--xxl:48px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-pill:999px;--font:"Inter", system-ui, sans-serif;--display:"Space Grotesk", "Inter", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--canvas);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:14px;line-height:1.5}.route-loading{min-height:100%;color:var(--ink-subtle);place-items:center;display:grid}::selection{background:#2ed3c340}:focus-visible{outline-offset:2px;outline:2px solid #2ed3c380}.app{height:100%;display:flex}.sidebar{background:var(--s1);border-right:1px solid var(--line);width:210px;padding:var(--lg) var(--sm);flex-direction:column;flex:0 0 210px;gap:2px;display:flex}.brand{font-family:var(--display);letter-spacing:-.02em;color:var(--ink);padding:var(--xs) var(--sm) var(--lg);align-items:center;gap:9px;font-size:19px;font-weight:700;text-decoration:none;display:flex}.brand-mark{background:url(/novis-mark.svg) 50%/contain no-repeat;width:16px;height:16px;display:inline-block}.nav-label{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);padding:var(--sm) var(--sm) var(--xs);font-size:11px;font-weight:600}.navbtn{border-radius:var(--r-md);color:var(--ink-subtle);font:inherit;padding:9px var(--sm);cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;font-size:14px;font-weight:500;transition:color .12s,background .12s;display:flex;position:relative}.navbtn:hover{color:var(--ink-muted);background:var(--s2)}.navbtn.active{color:var(--ink);background:var(--s2)}.navbtn.active:before{content:"";background:var(--accent);border-radius:2px;width:2px;position:absolute;top:8px;bottom:8px;left:0}.navbtn .badge{border:1px solid var(--line-2);color:var(--ink-muted);border-radius:var(--r-pill);text-align:center;background:0 0;min-width:22px;margin-left:auto;padding:0 7px;font-size:12px;font-weight:600}.navbtn.active .badge{border-color:var(--accent-2);color:var(--accent)}.sidebar-foot{padding:var(--sm);color:var(--ink-faint);border-top:1px solid var(--line);margin-top:auto;font-size:11px}.main{flex-direction:column;flex:1;display:flex;position:relative;overflow:auto}.screen{padding:var(--xl);flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.placeholder{text-align:center;color:var(--ink-subtle);max-width:420px}.placeholder h2{font-family:var(--display);color:var(--ink);margin-bottom:var(--xs);letter-spacing:-.01em;font-weight:600}.eyebrow{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-subtle);font-size:12px;font-weight:600}.btn{font:inherit;cursor:pointer;border-radius:var(--r-md);background:var(--accent);color:var(--accent-ink);border:none;padding:10px 18px;font-size:14px;font-weight:600;transition:background .12s,transform 80ms}.btn:hover{background:#46ddce}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.4;cursor:default}.btn.ghost{color:var(--ink-muted);border:1px solid var(--line-2);background:0 0}.btn.ghost:hover{background:var(--s2);color:var(--ink);border-color:var(--line-3)}.dash{width:min(1200px,100%);padding:64px var(--xl) var(--xl);margin:0 auto}.dash-head{margin-bottom:var(--lg)}.dash-title{font-family:var(--display);letter-spacing:-.025em;margin-top:6px;font-size:40px;font-weight:600}.dash-grid{gap:var(--lg);grid-template-columns:1.35fr 1fr;align-items:start;display:grid}.home-stats{gap:var(--sm);margin-bottom:var(--lg);grid-template-columns:repeat(4,1fr);display:grid}.hstat{background:var(--s1);border:1px solid var(--line);border-radius:var(--r-md);flex-direction:column;gap:3px;padding:12px 14px;display:flex}.hs-n{font-family:var(--display);letter-spacing:-.02em;color:var(--ink);font-size:24px;font-weight:600}.hs-l{color:var(--ink-subtle);letter-spacing:.01em;font-size:11.5px}.jump-back{margin-top:var(--md)}.jb-row{gap:var(--sm);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));margin-top:12px;display:grid}.jb-card{text-align:left;background:var(--s1);border:1px solid var(--line);border-radius:var(--r-md);cursor:pointer;flex-direction:column;gap:4px;padding:13px 15px;transition:border-color .12s,background .12s;display:flex}.jb-card:hover{border-color:var(--line-2);background:var(--s2)}.jb-card strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;overflow:hidden}.jb-meta{color:var(--ink-subtle);font-size:12px}.jb-meta b{color:var(--accent);font-weight:600}.panel{background:var(--s1);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--lg)}.panel-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-subtle);margin-bottom:var(--md);font-size:12px;font-weight:600}.review-count-row{align-items:baseline;gap:14px;display:flex}.review-count{font-family:var(--display);letter-spacing:-.035em;color:var(--ink);font-size:66px;font-weight:600;line-height:1}.review-label{color:var(--ink-subtle);font-size:12.5px;line-height:1.2}.cd-legend{color:var(--ink-faint);flex-wrap:wrap;gap:14px;margin:12px 0 2px;font-size:11px;display:flex}.cd-legend i{vertical-align:middle;border-radius:2px;width:8px;height:8px;margin-right:5px;display:inline-block}.cd-legend .lg-learn{background:var(--neutral)}.cd-legend .lg-review{background:var(--accent)}.cd-legend .lg-fresh{background:var(--ink-faint)}.today-panel{flex-direction:column;display:flex}.today-line{color:var(--ink-subtle);margin:10px 0 22px;font-size:14px;line-height:1.55}.today-cta{width:100%}.today-cta:disabled{opacity:.4;cursor:default}.today-secondary{flex-direction:column;gap:14px;margin-top:20px;display:flex}.today-secondary .text-action{align-self:flex-start}.deadlines-panel{margin-top:var(--md)}.deadline-list{flex-direction:column;gap:8px;margin-top:14px;display:flex}.deadline-row{background:var(--s1);border:1px solid var(--line);border-radius:var(--r-md);align-items:center;gap:14px;padding:11px 14px;display:flex}.dl-ready{border:2px solid var(--line-2);width:46px;height:46px;color:var(--ink-subtle);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:12.5px;font-weight:600;display:flex}.dl-ready.good{color:var(--correct);border-color:var(--correct)}.dl-ready.mid{color:var(--neutral);border-color:var(--neutral)}.dl-ready.low{color:var(--wrong);border-color:var(--wrong)}.dl-main{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.dl-edit{font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:flex-start;padding:0}.dl-edit:hover strong{color:var(--accent)}.card-source{border-top:1px solid var(--line);text-align:left;margin-top:12px;padding-top:8px}.cs-toggle{color:var(--ink-faint);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-size:11.5px}.cs-toggle:hover{color:var(--ink-subtle)}.cs-snippet{max-height:110px;color:var(--ink-subtle);background:var(--s1);border:1px solid var(--line);border-radius:var(--r-sm);white-space:pre-wrap;margin-top:6px;padding:8px 10px;font-size:11.5px;line-height:1.5;overflow-y:auto}.import-studio{width:720px;max-width:92vw}.import-intro{color:var(--ink-subtle);margin-bottom:16px;font-size:13px;line-height:1.5}.import-intro code{background:var(--s2);border-radius:4px;padding:1px 5px;font-size:12px}.import-drop{border:1px dashed var(--line-2);border-radius:var(--r-md);cursor:pointer;flex-direction:column;align-items:center;gap:6px;padding:40px;transition:border-color .12s,background .12s;display:flex}.import-drop:hover{border-color:var(--accent);background:var(--s1)}.import-drop strong{color:var(--ink);font-size:15px}.import-drop span{color:var(--ink-faint);font-size:12.5px}.import-list{flex-direction:column;gap:5px;max-height:360px;margin-bottom:16px;display:flex;overflow-y:auto}.import-row{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--s1);grid-template-columns:18px 1.4fr 1fr 1fr;align-items:center;gap:10px;padding:7px 9px;display:grid}.import-row.off{opacity:.45}.import-row input[type=checkbox]{accent-color:var(--accent);width:15px;height:15px}.ir-title{text-align:left;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:none;flex-direction:column;gap:1px;font-size:13px;display:flex;overflow:hidden}.ir-title:hover{color:var(--accent)}.ir-title small{color:var(--ink-faint);font-size:11px}.ir-field{background:var(--s2);border:1px solid var(--line-2);border-radius:var(--r-sm);color:var(--ink);font:inherit;min-width:0;padding:5px 8px;font-size:12.5px}.ir-field:focus{border-color:var(--accent);outline:none}.ir-preview{max-height:200px;color:var(--ink-subtle);background:var(--s2);border:1px solid var(--line);border-radius:var(--r-sm);white-space:pre-wrap;margin-top:4px;padding:10px 12px;font-size:12px;line-height:1.5;overflow-y:auto}.import-done p{margin-bottom:10px;font-size:13.5px;line-height:1.5}.import-hint{color:var(--ink-subtle);font-size:12.5px}.dl-main strong{color:var(--ink);font-size:14.5px}.dl-sub{color:var(--ink-subtle);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.dl-study{border:1px solid var(--line-2);border-radius:var(--r-sm);color:var(--ink-subtle);font:inherit;cursor:pointer;background:0 0;padding:6px 14px;font-size:12.5px;transition:color .12s,border-color .12s}.dl-study:hover{color:var(--ink);border-color:var(--accent)}.dl-del{color:var(--ink-faint);cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:18px;line-height:1}.dl-del:hover{color:var(--wrong)}.dl-deck-pick{border:1px solid var(--line-2);border-radius:var(--r-md);flex-direction:column;gap:4px;max-height:200px;padding:8px;display:flex;overflow-y:auto}.dl-deck-item{border-radius:var(--r-sm);cursor:pointer;color:var(--ink-muted);align-items:center;gap:9px;padding:5px 7px;font-size:13.5px;display:flex}.dl-deck-item:hover{background:var(--s2)}.dl-deck-item input{accent-color:var(--accent);width:15px;height:15px}.dl-deck-item small{color:var(--ink-faint)}.dl-plan{color:var(--accent);margin-top:2px;font-size:11.5px}.cal{margin:14px 0 6px}.cal-head{color:var(--ink);justify-content:space-between;align-items:center;margin-bottom:10px;font-size:13.5px;font-weight:600;display:flex}.cal-nav{border:1px solid var(--line-2);border-radius:var(--r-sm);color:var(--ink-subtle);cursor:pointer;background:0 0;width:26px;height:26px;font-size:15px;line-height:1}.cal-nav:hover{color:var(--ink);border-color:var(--accent)}.cal-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.cal-dow{margin-bottom:4px}.cal-dow span{text-align:center;letter-spacing:.08em;color:var(--ink-faint);text-transform:uppercase;font-size:10.5px}.cal-cell{aspect-ratio:1;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--s1);justify-content:flex-end;align-items:flex-start;min-height:32px;padding:4px 5px;display:flex;position:relative}.cal-cell.empty{background:0 0;border:none}.cal-day{color:var(--ink-muted);font-size:11.5px}.cal-cell.today{border-color:var(--accent)}.cal-cell.today .cal-day{color:var(--accent);font-weight:700}.cal-cell.has-dl{box-shadow:inset 0 0 0 1px var(--line-2)}.cal-due{color:var(--ink-subtle);background:var(--s2);border-radius:3px;padding:0 4px;font-size:10px;position:absolute;bottom:4px;left:5px}.cal-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;top:6px;left:5px}.cal-legend{color:var(--ink-faint);gap:16px;margin-top:10px;font-size:11px;display:flex}.cal-legend i{vertical-align:middle;width:9px;height:9px;margin-right:5px;display:inline-block}.cal-legend .lg-due{background:var(--s2);border-radius:2px}.cal-legend .lg-dl{background:var(--accent);border-radius:50%}.calendar-screen{padding:40px var(--xl) 64px;width:100%;max-width:1200px;margin:0 auto;overflow:auto}.cal-intro{color:var(--ink-subtle);max-width:640px;margin:-6px 0 20px;font-size:13.5px;line-height:1.5}.cal-lg .cal-cell{aspect-ratio:auto;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:3px;min-height:92px;padding:6px 7px}.cal-lg .cal-day{align-self:flex-end;font-size:12.5px}.cal-lg .cal-cell.clickable{cursor:pointer;transition:background .12s,border-color .12s}.cal-lg .cal-cell.clickable:hover{background:var(--s2);border-color:var(--line-2)}.cal-event{background:var(--accent);color:#04201c;text-overflow:ellipsis;white-space:nowrap;border-radius:4px;padding:2px 5px;font-size:10.5px;font-weight:600;line-height:1.25;overflow:hidden}.cal-lg .cal-due{align-self:flex-start;margin-top:auto;position:static}.event-section{margin-top:28px}.event-section .deadline-list{margin-top:14px}.next-event{text-align:left;width:100%;margin-top:var(--md);background:var(--s1);border:1px solid var(--line);border-radius:var(--r-md);cursor:pointer;align-items:center;gap:14px;padding:12px 16px;transition:border-color .12s,background .12s;display:flex}.next-event:hover{border-color:var(--line-2);background:var(--s2)}.ne-tag{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint);border:1px solid var(--line-2);border-radius:100px;flex:none;padding:3px 9px;font-size:10.5px}.ne-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ne-main strong{color:var(--ink);font-size:14px}.ne-sub{color:var(--ink-subtle);font-size:12.5px}.ne-go{color:var(--accent);flex:none;font-size:12.5px}.review-count.zero{color:var(--ink-subtle)}.stat-row{gap:var(--lg);margin:var(--md) 0 var(--lg);display:flex}.stat-cell{flex-direction:column;gap:2px;display:flex}.stat-cell .n{font-family:var(--display);letter-spacing:-.02em;font-size:20px;font-weight:600}.stat-cell .l{color:var(--ink-subtle);font-size:12px}.stat-cell.learn .n{color:var(--neutral)}.stat-cell.review .n{color:var(--accent)}.stat-cell.fresh .n{color:var(--ink-muted)}.recent-list{flex-direction:column;display:flex}.recent-item{align-items:center;gap:var(--sm);border-top:1px solid var(--line);text-align:left;cursor:pointer;width:100%;color:var(--ink-muted);font:inherit;background:0 0;border-bottom:none;border-left:none;border-right:none;padding:10px 0;display:flex}.recent-item:first-child{border-top:none}.recent-item:hover{color:var(--ink)}.recent-item .rname{white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:500;overflow:hidden}.recent-item .rcat{color:var(--ink-faint);font-size:12px}.recent-item .rdue{color:var(--accent);font-size:12px;font-weight:600}.recent-empty{color:var(--ink-subtle);padding:var(--xs) 0;font-size:13px}.review-wrap{align-items:stretch;gap:var(--lg);flex-direction:column;width:100%;max-width:660px;display:flex}.hud{gap:var(--lg);color:var(--ink-subtle);justify-content:center;font-size:13px;font-weight:500;display:flex}.hud b{color:var(--ink);font-weight:600;font-family:var(--display)}.card-nav-row{align-items:center;gap:var(--md);width:100%;display:flex}.card-nav-row .card-3d{flex:1;min-width:0}.nav-arrow{border-radius:var(--r-pill);background:var(--s1);border:1px solid var(--line-2);width:46px;height:46px;color:var(--ink-subtle);cursor:pointer;flex:none;justify-content:center;align-items:center;font-size:26px;line-height:1;transition:background .12s,color .12s,border-color .12s;display:flex}.nav-arrow:hover{background:var(--s2);color:var(--ink);border-color:var(--line-3)}.card-3d{perspective:1800px;cursor:pointer;width:100%;height:340px;position:relative}.card-star{z-index:5;cursor:pointer;color:var(--ink-faint);background:0 0;border:none;padding:4px;font-size:19px;line-height:1;transition:color .14s,transform .1s;position:absolute;top:12px;right:14px}.card-star:hover{color:var(--ink-subtle);transform:scale(1.12)}.card-star.on{color:var(--neutral)}.card-inner{width:100%;height:100%;transform-style:preserve-3d;position:relative}.face{backface-visibility:hidden;background:var(--s2);border:1px solid var(--line-2);border-radius:var(--r-xl);text-align:center;padding:var(--xl) var(--xxl);letter-spacing:-.01em;justify-content:center;align-items:center;font-weight:500;display:flex;position:absolute;inset:0;overflow:hidden}.face.back{border-color:var(--line-3);background:var(--s3);transform:rotateY(180deg)}.face .hint{bottom:var(--md);color:var(--ink-faint);font-size:12px;font-weight:500;position:absolute;left:0;right:0}.face-body{width:100%;max-width:100%;max-height:100%;padding:2px;overflow-y:auto}.face-body::-webkit-scrollbar{width:6px}.face-body::-webkit-scrollbar-thumb{background:var(--line-3);border-radius:3px}.face-body img{border-radius:var(--r-md);max-width:100%;max-height:200px;margin:6px 0}.face-body code{background:var(--s4);border-radius:var(--r-sm);padding:1px 6px;font-family:ui-monospace,monospace;font-size:.9em}.face-body .wl{color:var(--accent);border-bottom:1px solid #2ed3c359}.cloze-off,.cloze-on{color:var(--accent);font-weight:600}.grades{gap:var(--sm);display:flex}.grade{font:inherit;cursor:pointer;border-radius:var(--r-md);border:1px solid var(--line-2);background:var(--s1);color:var(--ink-muted);flex:1;padding:12px;font-size:14px;font-weight:600;transition:border-color .12s,background .12s,color .12s,transform 80ms}.grade:active{transform:scale(.97)}.grade small{color:var(--ink-faint);margin-top:3px;font-size:11px;font-weight:500;display:block}.grade.wrong:hover{border-color:var(--wrong);color:var(--wrong);background:#e76b7c14}.grade.neutral:hover{border-color:var(--neutral);color:var(--neutral);background:#d7a23f14}.grade.correct:hover{border-color:var(--correct);color:var(--correct);background:#34c79a14}.grades.locked{opacity:.4;pointer-events:none}.keyhints{color:var(--ink-faint);text-align:center;font-size:12px;font-weight:500}.keyhints kbd{background:var(--s2);border:1px solid var(--line-2);border-radius:var(--r-sm);font-family:var(--font);color:var(--ink-muted);margin:0 1px;padding:1px 6px;font-size:11px}.summary{text-align:center}.summary h2{font-family:var(--display);letter-spacing:-.03em;margin-bottom:var(--xs);font-size:46px;font-weight:600}.summary-score{font-family:var(--display);letter-spacing:-.04em;color:var(--accent);margin-bottom:var(--xs);font-size:84px;font-weight:600;line-height:1}.summary .stat{color:var(--ink-subtle);margin:var(--xxs) 0}.summary .stat b{color:var(--ink);font-weight:600}.modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:50;padding:var(--lg);background:#04060aa8;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--s1);border:1px solid var(--line-2);border-radius:var(--r-lg);padding:var(--lg);width:480px;max-width:100%}.modal.wide{width:700px}.modal h3{font-family:var(--display);letter-spacing:-.01em;margin-bottom:var(--md);font-size:18px;font-weight:600}.field{margin-bottom:var(--sm);flex-direction:column;gap:6px;display:flex}.field label{color:var(--ink-subtle);align-items:center;font-size:12px;font-weight:500;display:flex}.field input,.field select,.field textarea{font:inherit;background:var(--canvas);color:var(--ink);border:1px solid var(--line-2);border-radius:var(--r-md);resize:vertical;padding:10px 12px}.field input.mt{margin-top:var(--xs)}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent-2);outline:none}.modal-row{gap:var(--sm);margin-top:var(--sm);justify-content:space-between;align-items:center;display:flex}.added-count{color:var(--ink-subtle);font-size:13px}.pick-modal{width:min(440px,100vw - 40px)}.pick-modal h3{margin-bottom:16px}.pick-list{flex-direction:column;gap:6px;max-height:320px;margin-top:8px;display:flex;overflow-y:auto}.pick-row{text-align:left;background:var(--s1);border:1px solid var(--line);border-radius:var(--r-md);cursor:pointer;width:100%;font:inherit;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;transition:border-color .12s,background .12s;display:flex}.pick-row:hover{border-color:var(--line-3);background:var(--s2)}.pick-all{border-color:var(--line-2);margin-bottom:4px}.pick-all:hover{border-color:var(--accent)}.pick-name{color:var(--ink);flex-direction:column;gap:2px;min-width:0;font-size:14.5px;font-weight:500;display:flex}.pick-name small{color:var(--ink-faint);font-size:11.5px;font-weight:400}.pick-count{color:var(--accent);flex:none;font-size:14px;font-weight:600}.sources-modal,.brief-modal{width:min(620px,100vw - 40px)}.src-cap{color:var(--ink-subtle);align-items:center;gap:12px;margin:4px 0 14px;font-size:12px;display:flex}.src-cap-bar{background:var(--s3);border-radius:var(--r-pill);flex:1;height:5px;overflow:hidden}.src-cap-bar span{background:var(--accent);border-radius:var(--r-pill);height:100%;transition:width .25s;display:block}.src-tabs{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.src-tab{text-overflow:ellipsis;white-space:nowrap;background:var(--s1);border:1px solid var(--line);border-radius:var(--r-sm);max-width:200px;color:var(--ink-subtle);font:inherit;cursor:pointer;padding:5px 11px;font-size:12.5px;overflow:hidden}.src-tab.active{color:var(--accent-ink);background:var(--accent);border-color:var(--accent);font-weight:600}.src-view{border:1px solid var(--line-2);border-radius:var(--r-md);overflow:hidden}.src-view-head{border-bottom:1px solid var(--line);background:var(--s1);justify-content:space-between;align-items:center;gap:10px;padding:9px 13px;font-size:13px;font-weight:600;display:flex}.src-view-actions{align-items:center;gap:8px;display:flex}.src-note{color:var(--correct);margin-top:10px;font-size:12.5px}.src-study-row{color:var(--ink-subtle);align-items:center;gap:8px;margin-top:10px;font-size:12.5px;display:flex}.src-study-row input{accent-color:var(--accent);width:15px;height:15px}.src-text{max-height:300px;color:var(--ink-muted);white-space:pre-wrap;padding:14px 16px;font-size:13.5px;line-height:1.6;overflow-y:auto}.src-add{flex-direction:column;gap:10px;margin-top:12px;display:flex}.src-input{resize:vertical;background:var(--canvas);width:100%;min-height:130px;color:var(--ink);border:1px solid var(--line-2);border-radius:var(--r-md);font:inherit;padding:12px;font-size:14px;line-height:1.5}.src-input:focus{border-color:var(--accent);outline:none}.brief-sizes{max-width:320px;margin-top:12px}.brief-out{background:var(--s1);border:1px solid var(--line);border-radius:var(--r-md);max-height:360px;color:var(--ink-muted);white-space:pre-wrap;margin-top:16px;padding:16px 18px;font-size:14px;line-height:1.65;overflow-y:auto}.brief-out.muted{color:var(--ink-subtle);font-style:italic}.brief-out.rich{white-space:normal}.brief-out.rich h2{font-family:var(--display);color:var(--ink);margin:4px 0 8px;font-size:18px;font-weight:600}.brief-out.rich h3,.brief-out.rich h4,.brief-out.rich h5{font-family:var(--display);color:var(--ink);margin:16px 0 6px;font-size:15px;font-weight:600}.brief-out.rich p{margin:0 0 11px}.brief-out.rich ul,.brief-out.rich ol{margin:0 0 12px;padding-left:22px}.brief-out.rich li{margin:0 0 5px}.brief-out.rich strong{color:var(--ink);font-weight:600}.brief-out.rich code{background:var(--s3);border-radius:4px;padding:1px 5px;font-size:12.5px}.subcards{margin-top:var(--md);padding-top:var(--md);border-top:1px solid var(--line)}.subcards-head{justify-content:space-between;align-items:center;display:flex}.subcards-head>span{color:var(--ink-subtle);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:600}.add-sub-btn{border:1px solid var(--line-2);border-radius:var(--r-sm);color:var(--accent);font:inherit;cursor:pointer;background:0 0;padding:5px 12px;font-size:12.5px;font-weight:500;transition:border-color .12s,background .12s}.add-sub-btn:hover{border-color:var(--accent);background:#2ed3c314}.sub-list{flex-direction:column;gap:6px;margin:12px 0 0;padding:0;list-style:none;display:flex}.sub-item{background:var(--s1);border:1px solid var(--line);border-radius:var(--r-sm);align-items:center;gap:10px;padding:8px 10px 8px 13px;display:flex}.sub-item:before{content:"";background:var(--accent);border-radius:50%;flex:none;width:5px;height:5px}.sub-front{color:var(--ink-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13.5px;overflow:hidden}.sub-add{background:var(--s1);border:1px solid var(--line-2);border-radius:var(--r-md);flex-direction:column;gap:8px;margin-top:12px;padding:12px;display:flex}.sub-input{background:var(--canvas);width:100%;color:var(--ink);border:1px solid var(--line-2);border-radius:var(--r-sm);font:inherit;padding:8px 11px;font-size:14px}.sub-input:focus{border-color:var(--accent);outline:none}.sub-add-row{justify-content:flex-end;align-items:center;gap:10px;display:flex}.linkbtn{color:var(--ink-muted);font:inherit;cursor:pointer;background:0 0;border:none;font-weight:500}.linkbtn:hover{color:var(--ink)}.cloze-tag{margin-left:var(--xs);color:var(--accent);border:1px solid var(--line-2);border-radius:var(--r-sm);cursor:pointer;background:0 0;padding:1px 7px;font-size:11px;font-weight:600}.ai-link{color:var(--accent);font:inherit;cursor:pointer;margin:-6px 0 var(--md);background:0 0;border:none;padding:0;font-size:13px;font-weight:500;display:block}.ai-grid{gap:var(--sm);grid-template-columns:1fr 1fr;display:grid}.size-row{gap:var(--xs);display:flex}.size-btn{background:var(--canvas);border:1px solid var(--line-2);border-radius:var(--r-md);cursor:pointer;color:var(--ink);text-align:left;flex-direction:column;flex:1;gap:2px;padding:10px;display:flex}.size-btn b{font-size:14px;font-weight:600}.size-btn small{color:var(--ink-subtle);font-size:11px}.size-btn.active{border-color:var(--accent-2);background:#2ed3c30f}.ai-error{color:var(--wrong);border-radius:var(--r-md);margin:var(--xs) 0;background:#e76b7c14;border:1px solid #e76b7c4d;padding:9px 12px;font-size:13px}.ai-sub{color:var(--ink-subtle);margin-bottom:var(--sm);font-size:13px}.draft-list{gap:var(--xs);max-height:46vh;padding-right:var(--xxs);flex-direction:column;display:flex;overflow:auto}.draft-card{gap:var(--sm);background:var(--canvas);border:1px solid var(--line);border-radius:var(--r-md);align-items:flex-start;padding:10px;display:flex}.draft-card.cut{opacity:.4}.draft-keep{padding-top:6px}.draft-fields{flex-direction:column;flex:1;gap:6px;display:flex}.draft-fields input{font:inherit;background:var(--s2);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-sm);padding:7px 10px;font-size:13px}.draft-meta{align-items:center;gap:8px;display:flex}.draft-topic{color:var(--accent);font-size:11px;font-weight:600}.draft-card.flagged{border-color:#d7a23f80}.draft-flag{color:var(--neutral);border-radius:var(--r-sm);cursor:help;background:#d7a23f1f;padding:1px 7px;font-size:11px;font-weight:700}.gen-spinner{justify-content:center;gap:6px;padding:18px 0;display:flex}.gen-spinner.sm{gap:4px;padding:0}.gen-spinner .dot{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:1s ease-in-out infinite genBounce}.gen-spinner.sm .dot{width:5px;height:5px}.gen-spinner .dot:nth-child(2){animation-delay:.15s}.gen-spinner .dot:nth-child(3){animation-delay:.3s}@keyframes genBounce{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}.gen-pill{z-index:40;background:var(--s2);border:1px solid var(--line-2);color:var(--ink);font:inherit;border-radius:var(--r-pill);cursor:pointer;align-items:center;gap:9px;padding:10px 16px;font-size:13px;font-weight:600;display:flex;position:fixed;bottom:22px;right:22px;box-shadow:0 8px 30px #0006}.gen-pill:hover{border-color:var(--line-3)}.gen-pill.done{border-color:var(--accent-2);color:var(--accent)}.gen-pill.error{color:var(--wrong);border-color:#e76b7c80}.tutor-toggle{border:1px solid var(--accent-2);color:var(--accent);font:inherit;border-radius:var(--r-pill);cursor:pointer;background:0 0;padding:3px 12px;font-size:12px;font-weight:600}.tutor-toggle:hover{background:#2ed3c31f}.hud-gear-wrap{display:inline-flex;position:relative}.hud-gear{border:1px solid var(--line-2);color:var(--ink-subtle);border-radius:var(--r-md);cursor:pointer;background:0 0;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;display:flex}.hud-gear:hover{color:var(--ink);border-color:var(--line-3)}.size-pop{z-index:46;background:var(--s2);border:1px solid var(--line-2);border-radius:var(--r-lg);flex-direction:column;gap:8px;width:220px;padding:12px;display:flex;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 12px 36px #00000080}.tutor-toggle.glow{animation:2.2s ease-in-out infinite tutorGlow}@keyframes tutorGlow{0%,to{border-color:var(--line-2);box-shadow:0 0 #2ed3c300}50%{border-color:var(--accent);box-shadow:0 0 12px 1px #2ed3c373}}.screen.with-chat{padding-right:400px;transition:padding-right .2s}.chat-panel{background:var(--s1);border-left:1px solid var(--line-2);z-index:45;flex-direction:column;width:380px;display:flex;position:fixed;top:0;bottom:0;right:0}.chat-head{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:16px 18px;display:flex}.chat-title{font-family:var(--display);font-size:15px;font-weight:600}.chat-cap{color:var(--ink-faint);margin-left:auto;font-size:11px;font-weight:600}.chat-close{color:var(--ink-subtle);cursor:pointer;background:0 0;border:none;font-size:22px;line-height:1}.chat-close:hover{color:var(--ink)}.chat-body{flex-direction:column;flex:1;gap:12px;padding:16px 18px;display:flex;overflow-y:auto}.chat-empty{color:var(--ink-subtle);font-size:13px;line-height:1.5}.chat-empty .doc,.chat-msg.tutor .doc{color:var(--ink-muted)}.chat-empty .gk,.chat-msg.tutor .gk{color:var(--accent)}.chat-msg{border-radius:var(--r-md);white-space:pre-wrap;max-width:92%;padding:10px 13px;font-size:14px;line-height:1.5}.chat-msg.user{background:var(--accent);color:var(--accent-ink);align-self:flex-end;font-weight:500}.chat-msg.tutor{background:var(--s3);color:var(--ink);border:1px solid var(--line);align-self:flex-start}.chat-msg.system{color:var(--neutral);background:#e76b7c1a;align-self:center;font-size:12px}.chat-msg.thinking{gap:5px;display:flex}.chat-msg.thinking .dot{background:var(--ink-subtle);border-radius:50%;width:6px;height:6px;animation:1s ease-in-out infinite genBounce}.chat-msg.thinking .dot:nth-child(2){animation-delay:.15s}.chat-msg.thinking .dot:nth-child(3){animation-delay:.3s}.chat-nokey{color:var(--neutral);border-top:1px solid var(--line);padding:10px 18px;font-size:12px}.chat-input-row{border-top:1px solid var(--line);align-items:flex-end;gap:8px;padding:14px;display:flex}.chat-input{resize:none;background:var(--canvas);max-height:120px;color:var(--ink);border:1px solid var(--line-2);border-radius:var(--r-md);font:inherit;flex:1;padding:10px 12px;font-size:14px}.chat-input:focus{border-color:var(--accent-2);outline:none}.chat-send{padding:10px 16px}.decks-screen{padding:40px var(--xl) 64px;width:100%;max-width:1200px;margin:0 auto;overflow:auto}.decks-header{margin-bottom:var(--lg);justify-content:space-between;align-items:center;display:flex}.decks-header h2{font-family:var(--display);letter-spacing:-.025em;font-size:28px;font-weight:600}.cat-block{margin-bottom:var(--xl)}.cat-head{align-items:center;gap:8px;margin-bottom:2px;padding:6px 0;display:flex}.cat-collapse{color:var(--ink-faint);cursor:pointer;background:0 0;border:none;padding:2px 3px;font-size:11px;line-height:1}.cat-collapse:hover{color:var(--ink)}.cat-head h3{font-family:var(--display);letter-spacing:-.01em;cursor:pointer;font-size:16px;font-weight:600}.cat-n{color:var(--ink-faint);font-size:13px;font-weight:500}.cat-meta{color:var(--ink-faint);font-size:12px}.cat-meta b{color:var(--accent);font-weight:600}.cat-head .gear-btn{margin-left:auto}.deck-block{background:var(--s1);border:1px solid var(--line);border-radius:var(--r-md);margin:var(--xs) 0;overflow:hidden}.deck-row{align-items:center;gap:var(--sm);padding:12px var(--md);cursor:pointer;transition:background .12s;display:flex}.deck-row:hover{background:var(--s2)}.deck-name{align-items:center;gap:var(--xs);color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:none;flex:0 auto;min-width:0;font-size:14px;font-weight:500;display:flex}.deck-name>span:last-child{white-space:nowrap;text-overflow:ellipsis;max-width:340px;overflow:hidden}.deck-counts{flex:none}.deck-actions{position:relative}.gear-btn{border:1px solid var(--line-2);color:var(--ink-subtle);border-radius:var(--r-md);cursor:pointer;background:0 0;justify-content:center;align-items:center;width:30px;height:30px;font-size:14px;display:flex}.gear-btn:hover{color:var(--ink);border-color:var(--line-3)}.menu-backdrop{z-index:30;position:fixed;inset:0}.deck-menu{z-index:31;background:var(--s2);border:1px solid var(--line-2);border-radius:var(--r-lg);flex-direction:column;gap:8px;width:230px;padding:12px;display:flex;box-shadow:0 12px 36px #00000080}.menu-label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-subtle);font-size:11px;font-weight:600}.menu-sizes{gap:5px;display:flex}.menu-size{background:var(--canvas);border:1px solid var(--line-2);color:var(--ink-muted);font:inherit;border-radius:var(--r-sm);cursor:pointer;flex:1;padding:6px 0;font-size:12px;font-weight:600}.menu-size.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.menu-item{text-align:left;color:var(--ink-muted);font:inherit;border-radius:var(--r-sm);cursor:pointer;background:0 0;border:none;padding:7px 8px;font-size:13px;font-weight:500}.menu-item:hover{background:var(--s3);color:var(--ink)}.menu-item.del{color:var(--ink-subtle)}.menu-item.del:hover{color:var(--wrong)}.menu-item.danger{color:var(--wrong);background:#e76b7c1a}.menu-move{color:var(--ink-muted);align-items:center;gap:8px;padding:0 8px;font-size:13px;display:flex}.menu-move select{background:var(--canvas);color:var(--ink);border:1px solid var(--line-2);border-radius:var(--r-sm);font:inherit;flex:1;padding:5px 6px;font-size:12px}.chev{color:var(--ink-faint);font-size:11px}.deck-counts{color:var(--ink-subtle);font-size:13px}.deck-counts b{color:var(--accent);font-weight:600}.deck-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;margin-left:auto;display:flex}.row-btn{border:1px solid var(--line-2);color:var(--ink-muted);font:inherit;border-radius:var(--r-md);cursor:pointer;background:0 0;padding:5px 11px;font-size:13px;font-weight:500}.row-btn:hover{background:var(--s2);color:var(--ink);border-color:var(--line-3)}.row-btn:disabled{opacity:.35;cursor:default}.row-btn.subtle{color:var(--ink-subtle);border-color:var(--line)}.row-btn.accent{color:var(--accent);border-color:var(--accent-2)}.row-btn.accent:hover{color:var(--accent);background:#2ed3c314}.danger{color:var(--wrong);font:inherit;border-radius:var(--r-md);cursor:pointer;background:#e76b7c1a;border:1px solid #e76b7c66;padding:5px 11px;font-size:13px;font-weight:600}.move-select{background:var(--canvas);color:var(--ink-subtle);border:1px solid var(--line-2);border-radius:var(--r-md);font:inherit;max-width:150px;padding:5px 8px;font-size:13px}.rename-input{background:var(--canvas);color:var(--ink);border:1px solid var(--accent-2);border-radius:var(--r-sm);font:inherit;padding:4px 8px;font-weight:500}.card-table{border-top:1px solid var(--line)}.card-row{align-items:center;gap:var(--xs);padding:9px var(--md);border-top:1px solid var(--line);grid-template-columns:minmax(0,1.8fr) 74px 62px 42px auto auto;font-size:13px;display:grid}.card-row:first-child{border-top:none}.card-row.muted{color:var(--ink-subtle);grid-template-columns:1fr}.cr-front{white-space:nowrap;text-overflow:ellipsis;color:var(--ink-muted);overflow:hidden}.cr-state{text-align:center;border-radius:var(--r-pill);padding:2px 0;font-size:11px;font-weight:600}.cr-state.s0{color:var(--ink-subtle);background:var(--s3)}.cr-state.s1,.cr-state.s3{color:var(--neutral);background:#d7a23f1a}.cr-state.s2{color:var(--correct);background:#34c79a1a}.cr-due{color:var(--ink-faint)}.cr-ret{color:var(--accent);text-align:right;font-weight:600}.test-wrap{gap:var(--lg);flex-direction:column;width:100%;max-width:640px;display:flex}.test-q{font-family:var(--display);text-align:center;margin-bottom:var(--lg);letter-spacing:-.02em;font-size:24px;font-weight:600;line-height:1.35}.test-options{gap:var(--sm);flex-direction:column;display:flex}.test-opt{align-items:center;gap:var(--sm);text-align:left;background:var(--s1);border:1px solid var(--line-2);border-radius:var(--r-md);font:inherit;color:var(--ink);cursor:pointer;padding:15px 16px;font-size:15px;font-weight:500;transition:border-color .12s,background .12s;display:flex}.test-opt:hover{border-color:var(--line-3);background:var(--s2)}.opt-key{border-radius:var(--r-sm);background:var(--s3);width:24px;height:24px;color:var(--ink-subtle);flex:0 0 24px;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}.test-opt.right{border-color:var(--correct);background:#34c79a1a}.test-opt.right .opt-key{background:var(--correct);color:var(--accent-ink)}.test-opt.wrong{border-color:var(--wrong);background:#e76b7c1a}.test-opt.wrong .opt-key{background:var(--wrong);color:var(--accent-ink)}.test-opt.faded{opacity:.55}.test-opt-wrap{flex-direction:column;display:flex}.opt-why{color:var(--ink-subtle);padding:6px 14px 0 52px;font-size:12.5px;line-height:1.45}.opt-why.right{color:var(--correct)}.opt-why-load{color:var(--ink-faint);font-style:italic}.next-btn{margin-top:var(--md);width:100%}.due-toggle{color:var(--ink-subtle);border:1px solid var(--line-2);border-radius:var(--r-pill);cursor:pointer;background:0 0;margin-left:auto;padding:4px 13px;font-family:inherit;font-size:12.5px;font-weight:500;transition:color .12s,border-color .12s,background .12s}.due-toggle:hover{color:var(--ink);border-color:var(--line-3)}.due-toggle.on{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.due-toggle+.tutor-toggle{margin-left:0}.hud-exit{color:var(--ink-faint);border:1px solid var(--line-2);border-radius:var(--r-sm);cursor:pointer;font-size:12.5px;font:inherit;background:0 0;padding:4px 12px;transition:color .12s,border-color .12s}.hud-exit:hover{color:var(--ink);border-color:var(--line-3)}.test-nav{justify-content:space-between;align-items:center;gap:var(--md);margin-top:var(--md);display:flex}.test-nav-pos{color:var(--ink-subtle);font-size:12.5px}.test-nav-btn{font:inherit;color:var(--ink-subtle);background:var(--s1);border:1px solid var(--line-2);border-radius:var(--r-md);cursor:pointer;padding:9px 18px;font-size:13.5px;font-weight:500;transition:color .12s,border-color .12s,background .12s,transform 80ms}.test-nav-btn:hover:not(:disabled){color:var(--ink);border-color:var(--line-3)}.test-nav-btn:active:not(:disabled){transform:scale(.97)}.test-nav-btn:disabled{opacity:.32;cursor:default}.test-nav-btn.primary{color:var(--accent-ink);background:var(--accent);border-color:var(--accent);font-weight:600}.test-nav-btn.primary:hover:not(:disabled){filter:brightness(1.06)}.confirm-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:60;background:#060a129e;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-box{background:var(--s2);border:1px solid var(--line-2);border-radius:var(--r-xl);width:min(420px,100vw - 48px);padding:26px}.confirm-box h3{font-family:var(--display);letter-spacing:-.02em;margin-bottom:8px;font-size:22px;font-weight:600}.confirm-box p{color:var(--ink-subtle);font-size:14px;line-height:1.5}.confirm-actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.btn.danger-solid{background:var(--wrong);border-color:var(--wrong);color:#fff}.btn.danger-solid:hover{filter:brightness(1.06)}.galaxy-wrap{position:absolute;inset:0}.galaxy-wrap>canvas,.galaxy-wrap>div>canvas{display:block;width:100%!important;height:100%!important}.galaxy-wrap>.screen{position:absolute;inset:0}.galaxy-breadcrumb{top:var(--md);left:var(--lg);z-index:5;align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex;position:absolute}.crumb{border:1px solid var(--line-2);color:var(--ink-subtle);font:inherit;border-radius:var(--r-md);cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0c0f15cc;padding:5px 11px;font-weight:500}.crumb.here{color:var(--ink)}.crumb.back{color:var(--accent);margin-right:var(--xs);padding:5px 13px;font-size:17px;line-height:1}.crumb:hover{color:var(--ink)}.galaxy-breadcrumb .sep{color:var(--ink-faint)}.galaxy-actions{top:var(--md);right:var(--lg);z-index:5;gap:var(--xs);display:flex;position:absolute}.galaxy-forecast{bottom:var(--lg);z-index:5;align-items:center;gap:var(--xxs);border:1px solid var(--line-2);border-radius:var(--r-pill);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0c0f15d1;padding:6px 8px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.fc-label{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.08em;padding:0 6px;font-size:11px;font-weight:600}.fc-btn{color:var(--ink-subtle);font:inherit;border-radius:var(--r-pill);cursor:pointer;background:0 0;border:none;padding:5px 12px;font-weight:500}.fc-btn.active{background:var(--accent);color:var(--accent-ink);font-weight:600}.fc-btn:hover:not(.active){color:var(--ink)}.node-label{font-family:var(--font);color:var(--ink-muted);border:1px solid var(--line);border-radius:var(--r-sm);white-space:nowrap;background:#080a0fb3;align-items:center;gap:6px;max-width:168px;padding:3px 8px;font-size:12px;font-weight:600;animation:.45s both nodeLabelIn;display:flex}@keyframes nodeLabelIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.node-label.focused{color:var(--ink);border-color:var(--line-2);background:#080a0fe6}.node-label.clickable{cursor:pointer;pointer-events:auto}.node-label.clickable:hover{color:var(--ink);border-color:var(--accent-2)}.node-label .nl-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.node-due{background:var(--accent);color:var(--accent-ink);border-radius:var(--r-pill);flex:none;padding:0 6px;font-size:11px;font-weight:600}.setting-block{padding:var(--md) 0;border-bottom:1px solid var(--line);max-width:560px}.setting-label{margin-bottom:10px;font-weight:600}.seg{background:var(--s1);border:1px solid var(--line-2);border-radius:var(--r-md);display:inline-flex;overflow:hidden}.seg-btn{color:var(--ink-subtle);font:inherit;cursor:pointer;background:0 0;border:none;padding:8px 16px;font-weight:500}.seg-btn.active{background:var(--s3);color:var(--ink)}.seg-4{grid-template-columns:repeat(4,1fr);width:100%;max-width:480px;display:grid}.seg-4 .seg-btn{border-right:1px solid var(--line);flex-direction:column;align-items:center;gap:2px;padding:9px 8px;display:flex}.seg-4 .seg-btn:last-child{border-right:none}.seg-4 .seg-btn small{color:var(--ink-faint);font-size:10.5px;font-weight:500}.seg-4 .seg-btn.active small{color:var(--ink-subtle)}.setting-help{color:var(--ink-subtle);max-width:480px;margin-top:10px;font-size:12.5px;line-height:1.5}.toggle{color:var(--ink-subtle);cursor:pointer;align-items:center;gap:10px;display:flex}.toggle input{width:16px;height:16px;accent-color:var(--accent)}.num-input{background:var(--canvas);width:100px;color:var(--ink);border:1px solid var(--line-2);border-radius:var(--r-md);font:inherit;padding:9px 12px;font-weight:600}.num-input.sm{text-align:center;width:72px;padding:6px 10px}.pace-custom{color:var(--ink-subtle);align-items:center;gap:10px;max-width:480px;margin-top:12px;font-size:13px;display:flex}.grade-preview{flex-wrap:wrap;align-items:center;gap:8px 14px;max-width:480px;margin-top:14px;font-size:12.5px;display:flex}.gp-title{color:var(--ink-subtle);width:100%;margin-bottom:2px}.gp{border-radius:var(--r-pill);border:1px solid var(--line-2);padding:3px 10px;font-weight:600}.gp-wrong{color:var(--wrong)}.gp-neutral{color:var(--neutral)}.gp-correct{color:var(--correct)}.panel-row{margin-bottom:var(--md);justify-content:space-between;align-items:center;display:flex}.text-action{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:600}.cat-due-list{gap:var(--xs);margin-top:var(--lg);flex-direction:column;display:flex}.cat-due{align-items:center;gap:var(--sm);background:var(--s2);border:1px solid var(--line);border-radius:var(--r-md);cursor:pointer;color:var(--ink);font:inherit;text-align:left;padding:11px 14px;transition:border-color .12s,background .12s;display:flex}.cat-due:hover{border-color:var(--line-3);background:var(--s3)}.cd-name{white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:500;overflow:hidden}.cd-breakdown{gap:5px;display:flex}.cd{font-family:var(--display);border-radius:var(--r-pill);padding:1px 7px;font-size:12px;font-weight:600}.cd.learn{color:var(--neutral);background:#d7a23f1f}.cd.review{color:var(--accent);background:#2ed3c31f}.cd.fresh{color:var(--ink-subtle);background:var(--s4)}.cd-due{color:var(--ink-subtle);text-align:right;min-width:52px;font-size:12px;font-weight:600}.expand-tag{color:var(--ink-subtle);border:1px solid var(--line-2);border-radius:var(--r-sm);cursor:pointer;background:0 0;margin-left:6px;padding:1px 7px;font-size:11px;font-weight:600}.expand-tag:hover{color:var(--ink);border-color:var(--line-3)}.field label{justify-content:flex-start;gap:0}.expand-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:60;background:#04060acc;justify-content:center;align-items:center;padding:5vh 6vw;display:flex;position:fixed;inset:0}.expand-box{background:var(--s1);border:1px solid var(--line-2);border-radius:var(--r-lg);padding:var(--lg);gap:var(--sm);flex-direction:column;width:100%;max-width:900px;height:100%;max-height:80vh;display:flex}.expand-head{justify-content:space-between;align-items:center;display:flex}.expand-head span{color:var(--ink-subtle);font-size:13px;font-weight:600}.expand-box textarea{resize:none;background:var(--canvas);color:var(--ink);border:1px solid var(--line-2);border-radius:var(--r-md);padding:var(--md);flex:1;font-size:16px;line-height:1.6}.expand-box textarea:focus{border-color:var(--accent-2);outline:none}body.mono{--accent:#e6ebf2;--accent-2:#aab4c2;--accent-ink:#0c0f15}body.mono .cr-ret,body.mono .deck-counts b,body.mono .recent-item .rdue,body.mono .review-count,body.mono .stat-cell.review .n{color:var(--ink)}.account-screen{width:min(1040px,100%);padding:56px var(--xl);margin:0 auto}.account-head{max-width:650px;margin-bottom:var(--xl)}.account-head h1{font:600 36px/1.15 var(--display);overflow-wrap:anywhere;margin:7px 0 10px}.account-head p,.account-copy{color:var(--ink-subtle)}.account-grid{gap:var(--lg);grid-template-columns:1.15fr .85fr;display:grid}.account-section,.account-actions{border-top:1px solid var(--line-2);padding:var(--lg) 0}.account-section-head{justify-content:space-between;align-items:center;gap:var(--sm);margin-bottom:var(--lg);display:flex}.account-section h2,.account-actions h2{font:600 17px/1.2 var(--display)}.status-chip{border:1px solid var(--line-2);border-radius:var(--r-pill);color:var(--ink-muted);padding:3px 9px;font-size:11px;font-weight:600}.status-chip.trial,.status-chip.pro,.status-chip.admin{color:var(--accent);border-color:var(--accent-2)}.status-chip.grace{color:var(--wrong);border-color:#e76b7c73}.plan-price{margin-bottom:var(--md);align-items:baseline;gap:9px;display:flex}.plan-price span{font:600 42px/1 var(--display)}.plan-price small{color:var(--ink-subtle)}.plain-list{color:var(--ink-muted);margin-bottom:var(--lg);gap:9px;list-style:none;display:grid}.plain-list li:before{content:"";background:var(--accent);width:6px;height:6px;margin-right:10px;display:inline-block;transform:rotate(45deg)}.account-cta{text-decoration:none;display:inline-flex}.account-copy{margin-bottom:var(--lg)}.account-actions{margin-top:var(--lg)}.account-actions>p{color:var(--ink-subtle);margin:10px 0 var(--md)}.account-button-row{gap:var(--sm);margin-top:var(--md);flex-wrap:wrap;display:flex}.account-error,.account-note{border-radius:var(--r-md);color:var(--wrong);margin:var(--sm) 0;background:#e76b7c14;border:1px solid #e76b7c4d;padding:9px 12px;font-size:13px}.account-note{color:var(--ink-subtle);border-color:var(--line-2);background:var(--s2)}.account-legal{gap:var(--md);margin-top:var(--xl);display:flex}.account-legal a{color:var(--ink-subtle);font-size:12px}@media (width<=760px){.app{flex-direction:column;height:auto;min-height:100%}.sidebar{border-right:none;border-bottom:1px solid var(--line);flex-direction:row;flex:none;align-items:center;width:100%;padding:10px 12px;overflow-x:auto}.brand{flex:none;padding:6px 10px}.nav-label,.sidebar-foot{display:none}.navbtn,.navbtn[style]{white-space:nowrap;flex:none;margin-top:0!important}.navbtn.active:before{width:auto;height:2px;inset:auto 10px 2px}.main{min-height:calc(100vh - 58px);overflow:visible}.dash,.decks-screen,.account-screen{padding:32px 18px}.dash-title{font-size:32px}.dash-grid,.account-grid{grid-template-columns:1fr}.review-count{font-size:52px}.screen{padding:24px 14px}.card-nav-row{gap:7px}.nav-arrow{width:36px;height:36px;font-size:21px}.face{padding:26px 20px}.grades{gap:6px}.grade{padding:10px 5px;font-size:12px}.modal-backdrop{align-items:flex-end;padding:10px}.modal{max-height:92vh;overflow:auto}.ai-grid{grid-template-columns:1fr}.seg-4{grid-template-columns:repeat(2,1fr)}.account-head h1{font-size:28px}}.landing,.auth-page,.legal-page{min-height:100%;color:var(--ink);background:#080a0f}.landing{overflow-x:clip}.site-nav,.auth-nav,.site-footer{justify-content:space-between;align-items:center;width:min(1240px,100% - 48px);margin:0 auto;display:flex}.site-nav{z-index:20;border-bottom:1px solid #36415a80;height:72px;position:absolute;left:0;right:0}.site-brand{color:var(--ink);font:700 18px/1 var(--display);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.site-nav nav{align-items:center;gap:28px;display:flex}.site-nav nav a,.auth-nav>a:last-child{color:var(--ink-subtle);font-size:13px;font-weight:500;text-decoration:none}.site-nav nav a:hover,.auth-nav>a:last-child:hover{color:var(--ink)}.site-nav .nav-signin{color:var(--ink);border:1px solid var(--line-2);border-radius:var(--r-md);padding:8px 13px}.landing-hero{border-bottom:1px solid var(--line);flex-direction:column;justify-content:space-between;height:min(92vh,900px);min-height:770px;padding:118px max(24px,50vw - 620px) 0;display:flex}.hero-grid{flex:1;grid-template-columns:minmax(390px,.88fr) minmax(520px,1.12fr);align-items:center;gap:34px;min-height:0;display:grid}.hero-copy{z-index:4;max-width:570px;padding-bottom:22px;position:relative}.hero-kicker{color:var(--accent);letter-spacing:.09em;text-transform:uppercase;font-size:12px;font-weight:600}.hero-copy h1{font:600 clamp(72px, 8vw, 124px)/.88 var(--display);letter-spacing:0;margin:18px 0 24px}.hero-copy>p{color:var(--ink-muted);max-width:550px;font-size:19px;line-height:1.58}.hero-actions{flex-wrap:wrap;align-items:center;gap:22px;margin-top:32px;display:flex}.landing-primary{justify-content:center;align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.landing-secondary{color:var(--ink);font:600 13px/1 var(--font);cursor:pointer;background:0 0;border:none;padding:8px 0;text-decoration:none}.landing-secondary span{color:var(--accent);margin-left:8px}.hero-fine{color:var(--ink-faint);margin-top:16px;font-size:11px}.hero-visual{align-self:stretch;min-height:520px;position:relative}.hero-scene{position:absolute;inset:0}.hero-scene canvas{display:block;width:100%!important;height:100%!important}.scene-fallback{border:1px solid var(--line-2);background:var(--s1);position:absolute;inset:18%}.scene-readout{font-family:var(--display);align-items:center;gap:11px;display:flex;position:absolute;bottom:84px;left:22px}.scene-readout span{color:var(--accent);font-size:11px}.scene-readout strong{font-size:14px;font-weight:600}.scene-controls{border-top:1px solid var(--line-2);grid-template-columns:repeat(3,1fr);display:grid;position:absolute;bottom:24px;left:22px;right:22px}.scene-controls button{min-height:42px;color:var(--ink-faint);font:500 11px/1 var(--font);cursor:pointer;text-align:left;background:0 0;border:none;border-bottom:2px solid #0000}.scene-controls button.active{color:var(--ink);border-bottom-color:var(--accent)}.hero-proof{border-top:1px solid var(--line);min-height:72px;color:var(--ink-subtle);letter-spacing:.06em;text-transform:uppercase;grid-template-columns:repeat(4,1fr);align-items:center;font-size:11px;font-weight:600;display:grid}.hero-proof span+span{border-left:1px solid var(--line);padding-left:24px}.system-band,.workflow-band,.pricing-band,.closing-band,.preview-band{border-bottom:1px solid var(--line);padding:112px max(24px,50vw - 560px)}.preview-band{background:#0b0e13}.shots{grid-template-columns:1fr 1fr;gap:18px;display:grid}.shot{border:1px solid var(--line-2);border-radius:var(--r-lg);background:var(--s1);margin:0;overflow:hidden}.shot-wide{grid-column:1/-1}.shot img{border-bottom:1px solid var(--line);width:100%;height:auto;display:block}.shot figcaption{color:var(--ink-subtle);padding:14px 18px;font-size:13.5px;line-height:1.5}@media (width<=760px){.shots{grid-template-columns:1fr}}.section-intro,.workflow-head{max-width:720px;margin-bottom:64px}.section-intro h2,.workflow-head h2,.pricing-copy h2,.closing-band h2{font:600 44px/1.12 var(--display);letter-spacing:0;margin-top:12px}.section-sub{color:var(--ink-subtle);max-width:600px;margin-top:18px;font-size:15.5px;line-height:1.6}.system-layout{grid-template-columns:.78fr 1.22fr;gap:72px;display:grid}.feature-index{border-top:1px solid var(--line-2);flex-direction:column;display:flex}.feature-index button{min-height:54px;color:var(--ink-faint);border:none;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;grid-template-columns:40px 1fr;align-items:center;padding-left:14px;transition:color .15s,background .15s;display:grid;position:relative}.feature-index button span{font-size:11px}.feature-index button strong{font:500 15px/1 var(--display)}.feature-index button:hover{color:var(--ink-subtle)}.feature-index button.active{color:var(--ink);background:var(--s1)}.feature-index button.active span{color:var(--accent)}.feature-index button.active:before{content:"";background:var(--accent);border-radius:2px;width:2px;position:absolute;top:8px;bottom:8px;left:0}.feature-copy{min-height:275px;padding:4px 0 0}.feature-copy h3{font:500 34px/1.18 var(--display);max-width:580px}.feature-copy>p{color:var(--ink-muted);max-width:620px;margin-top:22px;font-size:17px;line-height:1.65}.feature-shot{border:1px solid var(--line-2);border-radius:var(--r-lg);background:var(--s1);max-width:620px;margin:26px 0 0;overflow:hidden}.feature-shot img{width:100%;height:auto;display:block}.feature-metric{border-top:1px solid var(--line-2);max-width:620px;color:var(--ink-subtle);justify-content:space-between;gap:20px;margin-top:32px;padding-top:16px;font-size:12px;display:flex}.feature-metric strong{color:var(--accent);font-weight:600}.workflow-band{background:#0b0e13}.workflow-grid{border-top:1px solid var(--line-2);grid-template-columns:repeat(3,1fr);display:grid}.workflow-grid article{min-height:245px;padding:24px 28px 0 0}.workflow-grid article+article{border-left:1px solid var(--line);padding-left:28px}.workflow-grid article>span{color:var(--accent);font-size:11px}.workflow-grid h3{font:500 20px/1.2 var(--display);margin:52px 0 12px}.workflow-grid p{color:var(--ink-subtle);max-width:300px;line-height:1.62}.pricing-band{grid-template-columns:1fr 420px;align-items:start;gap:100px;display:grid}.pricing-copy>p{color:var(--ink-subtle);max-width:530px;margin-top:20px;font-size:16px;line-height:1.65}.pricing-panel{border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--s1);padding:30px}.price{align-items:baseline;gap:8px;display:flex}.price>span{font:600 56px/1 var(--display)}.price small{color:var(--ink-subtle)}.trial-line{color:var(--accent);margin:10px 0 24px;font-size:12px;font-weight:600}.pricing-panel ul,.auth-plan ul{border-top:1px solid var(--line);color:var(--ink-muted);gap:10px;margin:0 0 26px;padding-top:22px;list-style:none;display:grid}.pricing-panel li:before,.auth-plan li:before{content:"";background:var(--accent);width:5px;height:5px;margin:0 11px 2px 0;display:inline-block;transform:rotate(45deg)}.pricing-panel .btn{width:100%}.closing-band{justify-content:space-between;align-items:center;gap:40px;min-height:320px;display:flex}.closing-band h2{max-width:630px}.site-footer{min-height:110px}.site-footer>div{gap:22px;display:flex}.site-footer a{color:var(--ink-subtle);font-size:12px;text-decoration:none}.site-footer .site-brand{color:var(--ink);font-size:15px}.auth-nav{border-bottom:1px solid var(--line);min-height:72px}.auth-main{grid-template-columns:1fr 350px;align-items:center;gap:110px;width:min(1040px,100% - 48px);min-height:calc(100vh - 72px);margin:0 auto;padding:70px 0;display:grid}.auth-form-wrap{max-width:520px}.auth-form-wrap h1,.legal-main h1{font:600 48px/1.05 var(--display);margin:13px 0 18px}.auth-form-wrap>p{color:var(--ink-subtle);font-size:16px;line-height:1.6}.auth-actions{flex-direction:column;gap:16px;margin-top:30px;display:flex}.google-btn{color:#1f1f1f;border-radius:var(--r-md);width:100%;min-height:48px;font:600 14px var(--font);cursor:pointer;background:#fff;border:none;justify-content:center;align-items:center;gap:10px;transition:filter .12s;display:inline-flex}.google-btn:hover{filter:brightness(.95)}.google-btn:disabled{opacity:.5;cursor:not-allowed}.auth-or{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:12px;font-size:12px;display:flex}.auth-or:before,.auth-or:after{content:"";background:var(--line);flex:1;height:1px}.auth-actions .auth-form{margin-top:0}.btn.full{width:100%}.auth-form{gap:10px;margin-top:30px;display:grid}.auth-form label{color:var(--ink-muted);font-size:12px;font-weight:600}.auth-form input{border:1px solid var(--line-2);border-radius:var(--r-md);width:100%;height:48px;color:var(--ink);background:var(--s1);font:500 15px var(--font);padding:0 14px}.auth-form input:focus{border-color:var(--accent);outline:none}.auth-notice{color:var(--ink-subtle);border-left:2px solid var(--neutral);margin-top:4px;padding-left:12px;font-size:12px;line-height:1.5}.auth-success{flex-direction:column;align-items:flex-start;gap:14px;margin-top:30px;display:flex}.auth-success>span{color:var(--ink-muted)}.auth-terms{color:var(--ink-faint);margin-top:20px;font-size:11px}.auth-terms a{color:var(--ink-subtle)}.auth-plan{border-left:1px solid var(--line-2);padding-left:34px}.auth-plan-label{color:var(--accent);text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:600}.auth-plan .price{margin-top:12px}.auth-plan>p{color:var(--ink-faint);font-size:11px}.legal-main{width:min(740px,100% - 48px);margin:0 auto;padding:86px 0 120px}.legal-note{color:var(--neutral);border-left:2px solid var(--neutral);margin:22px 0 50px;padding-left:14px}.legal-main section{border-top:1px solid var(--line);padding:28px 0}.legal-main section h2{font:600 18px/1.2 var(--display);margin-bottom:10px}.legal-main section p{color:var(--ink-subtle);line-height:1.72}[data-reveal]{opacity:0}@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1}}[data-scroll-reveal]{opacity:0;transition:opacity .7s,transform .7s cubic-bezier(.22,1,.36,1);transform:translateY(22px)}[data-scroll-reveal].in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){[data-scroll-reveal]{opacity:1;transform:none}}.hero-proof .proof-chip{align-items:center;display:flex;position:relative}.hero-proof .proof-chip+.proof-chip{border-left:1px solid var(--line);padding-left:24px}.proof-trigger{color:var(--ink-subtle);font:600 11px/1 var(--font);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:6px 0;transition:color .15s;display:inline-flex}.proof-trigger:hover,.proof-trigger.open{color:var(--ink)}.proof-dot{background:var(--line-3);border-radius:50%;width:5px;height:5px;transition:background .15s,transform .15s}.proof-trigger:hover .proof-dot,.proof-trigger.open .proof-dot{background:var(--accent);transform:scale(1.25)}.proof-pop{background:var(--s2);border:1px solid var(--line-2);border-radius:var(--r-md);width:256px;font:400 12.5px/1.5 var(--font);letter-spacing:0;text-transform:none;color:var(--ink-muted);z-index:12;padding:13px 15px;position:absolute;bottom:calc(100% + 12px);left:0;box-shadow:0 16px 44px #00000080}@media (width<=900px){.site-nav,.auth-nav,.site-footer{width:min(100% - 32px,1240px)}.site-nav nav>a:not(.nav-signin){display:none}.landing-hero{height:auto;min-height:760px;padding:108px 16px 0}.hero-grid{grid-template-columns:1fr;gap:0}.hero-copy{max-width:680px;padding:44px 0 0}.hero-copy h1{font-size:clamp(68px,17vw,112px)}.hero-visual{min-height:450px}.hero-proof{grid-template-columns:repeat(2,1fr);gap:0;padding:10px 0}.hero-proof span{padding:10px 12px 10px 0}.hero-proof span+span{padding-left:12px}.system-layout,.pricing-band{grid-template-columns:1fr;gap:52px}.pricing-band{padding-top:84px}.pricing-panel{max-width:520px}.auth-main{grid-template-columns:1fr;gap:60px}.auth-plan{border-left:none;border-top:1px solid var(--line-2);max-width:520px;padding:30px 0 0}}@media (width<=560px){.landing-hero{min-height:710px}.hero-copy{padding-top:20px}.hero-copy h1{margin:14px 0 18px;font-size:64px}.hero-copy>p{font-size:16px}.hero-actions{gap:16px;margin-top:24px}.hero-visual{min-height:360px;margin:0 -16px}.scene-controls{left:16px;right:16px}.scene-readout{left:16px}.system-band,.workflow-band,.pricing-band,.closing-band{padding:74px 18px}.section-intro h2,.workflow-head h2,.pricing-copy h2,.closing-band h2{font-size:32px}.section-intro,.workflow-head{margin-bottom:42px}.system-layout{gap:38px}.feature-copy{min-height:320px}.feature-copy h3{font-size:28px}.workflow-grid{grid-template-columns:1fr}.workflow-grid article{min-height:190px;padding:24px 0}.workflow-grid article+article{border-left:none;border-top:1px solid var(--line);padding-left:0}.workflow-grid h3{margin-top:30px}.pricing-panel{padding:24px}.closing-band{flex-direction:column;align-items:flex-start;min-height:300px}.site-footer{flex-direction:column;justify-content:center;align-items:flex-start;gap:20px;padding:26px 0}.auth-main{width:calc(100% - 36px);padding:54px 0}.auth-form-wrap h1,.legal-main h1{font-size:36px}.legal-main{width:calc(100% - 36px);padding-top:58px}}
