@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Plus_Jakarta_Sans_Fallback_a11773;src:local("Arial");ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.00%;size-adjust:104.98%}.__className_a11773{font-family:__Plus_Jakarta_Sans_a11773,__Plus_Jakarta_Sans_Fallback_a11773;font-style:normal}.__variable_a11773{--font-jakarta:"__Plus_Jakarta_Sans_a11773","__Plus_Jakarta_Sans_Fallback_a11773"}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.m-1\.5{margin:.375rem}.m-4{margin:1rem}.m-7{margin:1.75rem}.m-9{margin:2.25rem}.block{display:block}.inline{display:inline}.flex{display:flex}.table{display:table}.inline-grid{display:inline-grid}.hidden{display:none}.h-12{height:3rem}.h-2{height:.5rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.rounded{border-radius:.25rem}.border{border-width:1px}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.blur{--tw-blur:blur(8px)}.blur,.drop-shadow{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0,0,0,.1)) drop-shadow(0 1px 1px rgba(0,0,0,.06))}.grayscale{--tw-grayscale:grayscale(100%)}.filter,.grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{--brand:#580096;--brand-d:#430073;--brand-tint:#f3e9fb;--coral:#fb6b53;--coral-tint:#ffede8;--bg:#fff;--surface:#faf8fc;--surface-2:#f1ecf7;--surface-3:#e4dcef;--ink:#1b1226;--ink-2:#5b5168;--ink-3:#6f6580;--border:#ece6f3;--border-2:#dcd2e8;--good:#0e9e8b;--good-tint:#e1f5f1;--warn:#e0890f;--warn-tint:#fbf0de;--bad:#fb6b53;--bad-tint:#ffede8;--s-english:#e5615a;--s-spanish:#e0992a;--s-french:#2fa8c9;--s-history:#8b7bd0;--s-finance:#13a56f;--s-bio:#2fa46c;--s-chem:#e0772e;--s-phys:#2e9eae;--s-math:#2fa8c9;--s-arts:#e5699c;--s-pe:#0e9e8b;--s-design:#6e7bcf;--radius:22px;--radius-sm:14px;--shadow:0 1px 2px rgba(27,18,38,.04),0 8px 24px rgba(27,18,38,.05);--shadow-md:0 16px 44px rgba(27,18,38,.12)}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body,html{height:100%;overflow-x:hidden;overflow-x:clip}body{font-family:var(--font-jakarta),"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.5;letter-spacing:-.01em}#app{display:flex;min-height:100vh}.sidebar{display:none}.main{flex:1;min-width:0;display:flex;flex-direction:column;padding-bottom:calc(70px + env(safe-area-inset-bottom))}.view{flex:1;max-width:700px;width:100%;margin:0 auto;padding:max(16px,env(safe-area-inset-top)) 20px 28px}.tabbar{position:fixed;bottom:0;left:0;right:0;height:calc(64px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:hsla(0,0%,100%,.9);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-top:1px solid var(--border);display:flex;justify-content:space-around;align-items:center;z-index:40}.tabbar a,.tabbar button{background:none;border:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;font-family:inherit;font-size:10px;font-weight:600;letter-spacing:0;color:var(--ink-3);padding:8px 12px;min-width:54px;transition:color .15s;text-decoration:none}.tabbar a.on,.tabbar button.on{color:var(--brand)}.tabbar svg{width:24px;height:24px}@media(min-width:920px){.main{padding-bottom:0}.tabbar{display:none}.sidebar{display:flex;flex-direction:column;width:252px;flex:none;position:sticky;top:0;height:100vh;background:var(--bg);border-right:1px solid var(--border);padding:24px 14px}.view{padding:34px 36px 64px;max-width:780px}}.sb-logo{display:flex;align-items:center;gap:11px;font-weight:800;font-size:21px;letter-spacing:-.04em;padding:6px 12px 22px;color:var(--ink)}.sb-logo .mark{width:32px;height:32px;border-radius:9px;background:var(--brand);color:#fff;display:grid;place-items:center;flex:none}.sidebar nav{display:flex;flex-direction:column;gap:2px}.sidebar nav a,.sidebar nav button{display:flex;align-items:center;gap:13px;width:100%;text-align:left;font-family:inherit;font-weight:600;font-size:15px;color:var(--ink-2);background:none;border:none;border-radius:12px;padding:11px 13px;cursor:pointer;min-height:44px;transition:.15s;text-decoration:none}.sidebar nav a:hover,.sidebar nav button:hover{background:var(--surface-2);color:var(--ink)}.sidebar nav a.on,.sidebar nav button.on{background:var(--brand);color:#fff}.sidebar nav a svg,.sidebar nav button svg{width:21px;height:21px;flex:none}.sb-spacer{flex:1}.sb-foot{display:flex;align-items:center;gap:11px;padding:13px;border-top:1px solid var(--border);margin-top:6px}.sb-foot .av{width:34px;height:34px;border-radius:50%;background:var(--brand);display:grid;place-items:center;color:#fff;font-weight:700;font-size:14px;flex:none}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.h1{font-size:33px;font-weight:800;letter-spacing:-.045em;line-height:1.05;color:var(--ink)}.h2{font-size:20px;font-weight:700;letter-spacing:-.03em}.muted{color:var(--ink-2)}.muted-3{color:var(--ink-3)}.row{gap:12px}.between,.row{display:flex;align-items:center}.between{justify-content:space-between;gap:10px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.chip{gap:5px;font-size:11.5px;padding:4px 10px;border-radius:9px;background:var(--surface-2);color:var(--ink-2);letter-spacing:0}.btn,.chip{display:inline-flex;align-items:center;font-weight:700}.btn{font-family:inherit;font-size:15.5px;letter-spacing:-.01em;border:none;border-radius:14px;padding:0 20px;min-height:54px;width:100%;cursor:pointer;background:var(--brand);color:#fff;transition:.15s;justify-content:center;gap:7px}.btn:hover{background:var(--brand-d)}.btn:active{transform:scale(.985)}.btn.ghost{background:var(--surface-2);color:var(--ink)}.btn.ghost:hover{background:var(--surface-3)}.btn.sm{min-height:42px;font-size:14px;padding:0 16px;width:auto;border-radius:12px}.bar{height:8px;background:var(--surface-3);overflow:hidden}.bar,.bar>i{border-radius:999px}.bar>i{display:block;height:100%;background:var(--brand)}.ring{--p:0;--c:var(--brand);width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--c) calc(var(--p)*1%),var(--surface-3) 0);position:relative;flex:none}.ring:after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--surface)}.ring b{position:relative;z-index:2;font-size:12.5px;font-weight:800}.sico{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;flex:none;color:#fff;font-weight:700;font-size:15px;letter-spacing:0}.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(min-width:920px){.grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:1200px){.grid{grid-template-columns:repeat(4,1fr)}}.fade{animation:fade .4s cubic-bezier(.2,.7,.2,1)}@keyframes fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.iconbtn{width:44px;height:44px;border-radius:50%;border:none;background:var(--surface-2);display:grid;place-items:center;cursor:pointer;color:var(--ink)}.iconbtn svg{width:20px;height:20px}.back{display:inline-flex;align-items:center;gap:4px;font-weight:600;font-size:14px;color:var(--ink-2);background:none;border:none;cursor:pointer;margin-bottom:16px;padding:6px 0;min-height:40px}.back:hover,.banner{color:var(--ink)}.banner{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}.banner .num{font-size:52px;font-weight:800;letter-spacing:-.05em;line-height:1;color:var(--coral)}.banner .btn{background:var(--brand);color:#fff}.subhead{border-radius:var(--radius);padding:22px;color:#fff;box-shadow:var(--shadow-md)}.note h3{font-size:21px;font-weight:800;letter-spacing:-.03em;margin:26px 0 9px}.note p{margin:0 0 13px}.note p,.note ul{font-size:16px;color:var(--ink-2);line-height:1.62}.note ul{margin:0 0 14px 18px}.note li{margin:7px 0}.callout{border-radius:var(--radius-sm);padding:16px 17px;margin:18px 0;font-size:15.5px;background:var(--surface-2);line-height:1.55;border-left:3px solid var(--border-2)}.callout.key{background:var(--brand-tint);border-left-color:var(--brand)}.callout.key .lbl{color:var(--brand)}.callout.tip{background:var(--coral-tint);border-left-color:var(--coral)}.callout.tip .lbl{color:var(--coral)}.callout .lbl{font-weight:800;font-size:11px;letter-spacing:.06em;text-transform:uppercase;display:block;margin-bottom:6px;color:var(--ink-3)}.eqn{font-weight:600;padding:16px;background:var(--surface-2);border-radius:var(--radius-sm);font-size:18px}.diagram,.eqn{text-align:center;margin:14px 0}.diagram{border:1px solid var(--border);border-radius:var(--radius-sm);padding:18px}.diagram,.opt{background:var(--surface)}.opt{display:flex;align-items:center;gap:13px;border:1.5px solid var(--border-2);border-radius:15px;padding:16px;margin-bottom:11px;cursor:pointer;font-size:16px;font-weight:600;transition:.14s;width:100%;text-align:left;font-family:inherit;color:var(--ink);min-height:58px}.opt:hover{border-color:var(--ink)}.opt:active{transform:scale(.99)}.opt .k{width:30px;height:30px;border-radius:9px;background:var(--surface-2);display:grid;place-items:center;font-weight:800;font-size:13px;color:var(--ink-2);flex:none}.opt.correct{border-color:var(--good);background:var(--good-tint)}.opt.correct .k{background:var(--good);color:#fff}.opt.wrong{border-color:var(--bad);background:var(--bad-tint)}.opt.wrong .k{background:var(--bad);color:#fff}.opt.sel .k{background:var(--ink);color:var(--bg)}.fc{perspective:1800px;height:350px;margin:12px 0 20px}.fc-inner{position:relative;width:100%;height:100%;transition:transform .6s cubic-bezier(.2,.7,.2,1);transform-style:preserve-3d;cursor:pointer}.fc.flip .fc-inner{transform:rotateY(180deg)}.fc-face{position:absolute;inset:0;backface-visibility:hidden;border-radius:24px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:30px;box-shadow:var(--shadow-md)}.fc-front{background:var(--surface);border:1px solid var(--border)}.fc-back{background:var(--brand);color:#fff;transform:rotateY(180deg)}.fc-face .q{font-size:23px;font-weight:700;letter-spacing:-.02em}.fc-face .hint{position:absolute;bottom:20px;font-size:13.5px;font-weight:700;opacity:.65}.srs{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.srs button{font-family:inherit;font-weight:700;font-size:13px;background:var(--surface);border:1.5px solid var(--border-2);border-radius:14px;padding:12px 4px;cursor:pointer;color:var(--ink);display:flex;flex-direction:column;gap:3px;align-items:center;min-height:58px;justify-content:center}.srs button:hover{border-color:var(--ink)}.srs button small{font-weight:600;color:var(--ink-3);font-size:10.5px}.srs .again{border-bottom:3px solid var(--bad)}.srs .hard{border-bottom:3px solid var(--warn)}.srs .good{border-bottom:3px solid var(--good)}.srs .easy{border-bottom:3px solid var(--ink)}.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.cal i{aspect-ratio:1;border-radius:7px;background:var(--surface-3)}.scorecircle{width:112px;height:112px;border-radius:50%;display:grid;place-items:center;margin:0 auto;font-size:34px;font-weight:800;letter-spacing:-.04em;color:#fff}.toast{position:fixed;left:50%;bottom:calc(82px + env(safe-area-inset-bottom));transform:translateX(-50%);background:var(--ink);color:#fff;padding:12px 20px;border-radius:14px;font-weight:700;font-size:13.5px;z-index:60;opacity:0;transition:opacity .25s;pointer-events:none}.toast.show{opacity:1}@media(min-width:920px){.toast{bottom:24px}}.srctag{display:inline-flex;align-items:center;gap:5px;font-weight:600;color:var(--ink-3)}.marks,.srctag{font-size:11px;background:var(--surface-2);border-radius:8px;padding:4px 9px}.marks{font-weight:800;color:var(--ink)}.answer{background:var(--good-tint);border-radius:var(--radius-sm);padding:17px;margin-top:15px;font-size:15.5px;line-height:1.6}.answer .lbl{font-weight:800;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);display:block;margin-bottom:6px}.selfmark{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:15px}.selfmark button{font-family:inherit;font-weight:700;font-size:14.5px;background:var(--surface);border:1.5px solid var(--border-2);border-radius:14px;padding:14px 4px;cursor:pointer;color:var(--ink);min-height:50px}.selfmark button:hover{border-color:var(--ink)}.selfmark .miss{border-bottom:3px solid var(--bad)}.selfmark .close{border-bottom:3px solid var(--warn)}.selfmark .got{border-bottom:3px solid var(--good)}.bar>i,.ring{transition:width .8s cubic-bezier(.2,.7,.2,1),background .6s}@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.04)}to{transform:scale(1)}}.pop{animation:pop .32s ease}.stagger>*{opacity:0;animation:rise .55s cubic-bezier(.2,.7,.2,1) forwards;transform:translateY(10px)}.stagger>:first-child{animation-delay:.03s}.stagger>:nth-child(2){animation-delay:.09s}.stagger>:nth-child(3){animation-delay:.15s}.stagger>:nth-child(4){animation-delay:.21s}.stagger>:nth-child(5){animation-delay:.27s}.stagger>:nth-child(6){animation-delay:.33s}.stagger>:nth-child(7){animation-delay:.39s}@keyframes rise{to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.fade,.pop,.stagger>*{animation:none;opacity:1;transform:none}}.list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.list>*{padding:15px 17px;cursor:pointer;display:block;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--border);font-family:inherit;color:inherit}.list>:last-child{border-bottom:none}.list>a:hover,.list>button:hover{background:var(--surface-2)}.statstrip{display:flex;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.statstrip>div{flex:1;padding:16px;text-align:center;border-right:1px solid var(--border)}.statstrip>div:last-child{border-right:none}.statstrip .n{font-size:26px;font-weight:800;letter-spacing:-.04em;line-height:1}.statstrip .l{font-size:11.5px;font-weight:600;color:var(--ink-2);margin-top:5px}.actioncard{display:flex;align-items:center;gap:13px;width:100%;text-align:left;text-decoration:none;color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:13px 14px;margin-bottom:10px;box-shadow:var(--shadow);transition:transform .14s cubic-bezier(.2,.7,.2,1),border-color .14s,background .14s}.actioncard:hover{border-color:var(--border-2);transform:translateY(-1px)}.actioncard:active{transform:scale(.99)}.actioncard.is-emph{border-color:color-mix(in srgb,var(--brand) 45%,var(--border));background:color-mix(in srgb,var(--brand-tint) 55%,var(--surface))}.actioncard.is-done{opacity:.62}.actioncard.is-done .actioncard-title{text-decoration:line-through;text-decoration-color:var(--ink-3)}.actioncard-ico{flex:none;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:#fff}.actioncard-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.actioncard-title{font-weight:700;font-size:14.5px;letter-spacing:-.01em;line-height:1.25}.actioncard-sub{font-size:12px;font-weight:600;color:var(--ink-3);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actioncard-count{flex:none;min-width:24px;height:24px;padding:0 7px;border-radius:8px;background:var(--surface-2);color:var(--ink-2);font-size:12.5px;font-weight:800;display:grid;place-items:center}.actioncard-arrow{flex:none;color:var(--ink-3);display:grid;place-items:center}.actioncard:hover .actioncard-arrow{color:var(--ink-2)}.statrow{display:flex;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.stat{flex:1;padding:16px 10px;text-align:center;border-right:1px solid var(--border)}.stat:last-child{border-right:none}.stat-n{font-size:26px;font-weight:800;letter-spacing:-.04em;line-height:1;display:flex;align-items:center;justify-content:center;gap:5px}.stat-l{font-size:11.5px;font-weight:600;color:var(--ink-2);margin-top:5px}.hero{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);position:relative;overflow:hidden}.hero-top{display:flex;align-items:flex-start;gap:16px}.hero-ring{flex:none}.hero-ring .ring:after{inset:7px}.hero-ring .ring b{font-size:16px;letter-spacing:-.03em}.hero-meta{flex:1;min-width:0}.hero-name{font-size:22px;font-weight:800;letter-spacing:-.035em;line-height:1.1;margin:4px 0 3px}.readygrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}@media(min-width:560px){.readygrid{grid-template-columns:repeat(3,1fr)}}.readytile{display:flex;flex-direction:column;align-items:center;gap:8px;text-decoration:none;color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:15px 10px;box-shadow:var(--shadow);transition:transform .14s,border-color .14s}.readytile:hover{transform:translateY(-1px);border-color:var(--border-2)}.readytile .nm{font-size:12.5px;font-weight:700;letter-spacing:-.01em;text-align:center;line-height:1.2}.readytile .dd{font-size:11px;font-weight:700;color:var(--ink-3)}.skel{background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 37%,var(--surface-2) 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite;border-radius:var(--radius-sm)}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.skel{animation:none}}.sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:2px solid var(--ink);padding-bottom:12px;margin-bottom:16px}.sheet-topic{margin-bottom:16px;break-inside:avoid}.sheet-topic h3{font-size:15px;font-weight:800;letter-spacing:-.02em;margin:0 0 8px;padding-bottom:4px;border-bottom:1px solid var(--border-2)}.sheet-block{font-size:13px;line-height:1.5;padding:8px 10px;border-radius:8px;margin-bottom:6px;background:var(--surface);border:1px solid var(--border);break-inside:avoid}.sheet-block.key{border-left:3px solid var(--brand)}.sheet-block.tip{border-left:3px solid var(--coral)}.sheet-block.miss{border-left:3px solid var(--bad)}.sheet-lbl{display:block;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-bottom:3px}@media print{.mw,.mw-chip,.no-print,.sidebar,.tabbar,.themebtn,.toast{display:none!important}.main,.view{padding:0!important}.view{max-width:none!important}body{font-size:11px;background:#fff;color:#000}.cheatsheet{column-count:2;column-gap:18px}.sheet-head{column-span:all;border-bottom-color:#000}.eyebrow,.h1,.muted,.muted-3,.sheet-block,.sheet-head,.sheet-lbl,.sheet-topic h3{color:#000!important}.sheet-block{box-shadow:none;border-color:#ddd;background:#fff!important;padding:5px 8px;font-size:10.5px;margin-bottom:4px}.sheet-topic h3{font-size:12px}.fade,.stagger>*{animation:none!important;opacity:1!important;transform:none!important}}html{color-scheme:light}@keyframes scorePop{0%{transform:scale(.6);opacity:0}55%{transform:scale(1.08)}to{transform:scale(1);opacity:1}}.scorecircle{animation:scorePop .55s cubic-bezier(.2,.8,.2,1)}.confetti{position:fixed;inset:0;pointer-events:none;z-index:70;overflow:hidden}.confetti i{position:absolute;top:-14px;width:9px;height:14px;border-radius:2px;animation:confFall linear forwards}@keyframes confFall{0%{opacity:1;transform:translateY(-14px) rotate(0)}to{opacity:.85;transform:translateY(106vh) rotate(680deg)}}@media (prefers-reduced-motion:reduce){.confetti{display:none}.scorecircle{animation:none}}.brainmark{display:block}.brainmark .bm-bolt,.brainmark .bm-spark{transform-box:fill-box;transform-origin:center}.bm-draw .bm-brain{stroke-dasharray:100;stroke-dashoffset:100;animation:bmDraw 1.1s cubic-bezier(.4,0,.2,1) forwards}.bm-draw .bm-bolt{opacity:0;animation:bmFadeUp .45s cubic-bezier(.2,.7,.2,1) .7s forwards}.bm-draw .bm-spark{opacity:0;animation:bmBurst .55s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(.85s + var(--i)*70ms)}@keyframes bmDraw{to{stroke-dashoffset:0}}@keyframes bmFadeUp{0%{opacity:0;transform:translateY(2px) scale(.9)}to{opacity:1;transform:none}}.bm-burst .bm-spark{animation:bmBurst .6s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i)*55ms)}@keyframes bmBurst{0%{opacity:0;transform:scale(0) translateY(2.5px)}55%{opacity:1;transform:scale(1.3) translateY(-1.5px)}to{opacity:1;transform:scale(1) translateY(0)}}.bm-flicker .bm-bolt{animation:bmFlick 3.2s ease-in-out infinite}@keyframes bmFlick{0%,86%,to{opacity:1;transform:scale(1)}90%{opacity:.5;transform:scale(.92)}94%{opacity:1;transform:scale(1.08)}}.bm-spin .bm-spark{animation:bmCycle 1.1s linear infinite;animation-delay:calc(var(--i)*-183ms)}.bm-spin .bm-bolt{animation:bmFlick 2.2s linear infinite}@keyframes bmCycle{0%{opacity:.18}35%{opacity:1}70%,to{opacity:.18}}.spark-hover:hover .ico-spark{animation:bmBurst .5s cubic-bezier(.2,.8,.2,1) both}@media (prefers-reduced-motion:reduce){.bm-draw .bm-brain{animation:none;stroke-dashoffset:0}.bm-burst .bm-spark,.bm-draw .bm-bolt,.bm-draw .bm-spark,.bm-flicker .bm-bolt,.bm-spin .bm-bolt,.bm-spin .bm-spark,.spark-hover:hover .ico-spark{animation:none;opacity:1;transform:none}}.katex,.katex *{box-sizing:content-box;letter-spacing:normal}.katex{font-size:1.05em}.note .katex{font-size:1.1em}.katex-display{overflow-x:auto;overflow-y:hidden;max-width:100%;-webkit-overflow-scrolling:touch}.hero-grid{display:grid;gap:32px;align-items:center;padding:44px 0 30px;position:relative}@media(min-width:880px){.hero-grid{grid-template-columns:1.04fr .96fr;padding:60px 0 44px;gap:24px}}.hero-blobs{position:absolute;inset:-80px -10% 0;pointer-events:none;z-index:-1;overflow:visible}.hero-blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.5}@media (prefers-reduced-motion:no-preference){.hero-blob{animation:blobDrift 14s ease-in-out infinite alternate}.hero-blob:nth-child(2){animation-duration:18s;animation-delay:-6s}}@keyframes blobDrift{0%{transform:translate(0) scale(1)}to{transform:translate(34px,-26px) scale(1.12)}}.hero-art{position:relative;display:grid;place-items:center;min-height:300px}.float-chip{position:absolute;display:inline-flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:8px 14px;font-size:13px;font-weight:800;box-shadow:var(--shadow-md);white-space:nowrap}.feature-card{padding:22px;transition:transform .18s cubic-bezier(.2,.7,.2,1),border-color .18s,box-shadow .18s}.feature-card:hover{transform:translateY(-4px);border-color:var(--border-2);box-shadow:var(--shadow-md)}.feature-ico{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--brand-tint);color:var(--brand);margin-bottom:14px}.devphone{width:min(300px,78vw);border-radius:38px;border:9px solid var(--ink);background:var(--ink);box-shadow:var(--shadow-md);overflow:hidden;position:relative}.devphone:after{content:"";position:absolute;top:9px;left:50%;transform:translateX(-50%);width:84px;height:18px;border-radius:0 0 12px 12px;background:var(--ink)}.devphone img{display:block;width:100%;height:auto;border-radius:28px}.devlaptop{border-radius:16px;border:solid var(--ink);border-width:10px 10px 22px;background:var(--ink);box-shadow:var(--shadow-md);overflow:hidden;position:relative}.devlaptop img{display:block;width:100%;height:auto}.shot-fallback{display:grid;place-items:center;background:linear-gradient(150deg,var(--brand-tint),var(--surface-2));color:var(--brand)}.shotrow{display:grid;gap:28px;align-items:center;padding:26px 0}@media(min-width:860px){.shotrow{grid-template-columns:1fr 1fr;gap:48px}.shotrow.flip>.shotrow-media{order:2}}.shotrow-media{display:grid;place-items:center}.band{position:relative;border-radius:var(--radius);background:linear-gradient(135deg,#580096,#7a1fb8 58%,#9b4ddb);color:#fff;overflow:hidden;box-shadow:var(--shadow-md)}.band .eyebrow{color:hsla(0,0%,100%,.75)}.band-mark{position:absolute;color:#fff;opacity:.08;pointer-events:none}.meet-bubble{position:relative;background:#fff;color:#1b1226;border-radius:16px;border-bottom-left-radius:4px;padding:13px 17px;font-weight:700;font-size:15px;box-shadow:0 10px 30px rgba(0,0,0,.18);min-height:50px;display:flex;align-items:center}.life-grid{display:grid;gap:14px;grid-template-columns:1fr;align-items:stretch}@media(min-width:860px){.life-grid{grid-template-columns:1fr 1fr 1fr}}.life-card{border-radius:var(--radius);overflow:hidden;position:relative;box-shadow:var(--shadow-md);aspect-ratio:4/3}.life-card img{width:100%;height:100%;object-fit:cover;display:block}.steps{display:grid;gap:14px;counter-reset:step}@media(min-width:860px){.steps{grid-template-columns:repeat(3,1fr)}}.step-card{position:relative;padding:22px}.step-num{width:34px;height:34px;border-radius:11px;background:var(--brand);color:#fff;font-weight:800;font-size:15px;display:grid;place-items:center;margin-bottom:12px}.peek-wrap{position:relative;margin-top:86px}.peek-buddy{position:absolute;top:-78px;left:50%;transform:translateX(-50%);width:108px;height:96px;overflow:hidden;pointer-events:none}.peek-buddy>div{width:108px;height:108px}@media (prefers-reduced-motion:no-preference){.peek-buddy>div{animation:mwBob 4s ease-in-out infinite}}.docs-layout{display:grid;gap:28px;padding:36px 0;align-items:start}@media(min-width:920px){.docs-layout{grid-template-columns:212px minmax(0,1fr);gap:44px}}.docs-toc{display:none}@media(min-width:920px){.docs-toc{display:flex;flex-direction:column;gap:3px;position:sticky;top:24px}}.docs-toc a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:11px;font-size:14px;font-weight:600;color:var(--ink-2);text-decoration:none;transition:.15s;border-left:2.5px solid transparent}.docs-toc a:hover{background:var(--surface-2);color:var(--ink)}.docs-toc a.on{color:var(--brand);background:var(--brand-tint);border-left-color:var(--brand)}.docs-pills{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:6px;-webkit-overflow-scrolling:touch}@media(min-width:920px){.docs-pills{display:none}}.docs-pills a{flex:none;font-size:13px;font-weight:700;padding:8px 14px;border-radius:999px;background:var(--surface-2);color:var(--ink-2);text-decoration:none}.docs-section{scroll-margin-top:24px;margin-bottom:38px}.docs-section-head{display:flex;align-items:center;gap:14px;margin-bottom:14px}.docs-section-ico{width:46px;height:46px;border-radius:14px;background:var(--brand-tint);color:var(--brand);display:grid;place-items:center;flex:none}.docs-spot{flex:none;width:64px;height:64px;margin-left:auto}.docs-list{margin:0;padding-left:0;list-style:none;counter-reset:doc}.docs-list li{position:relative;padding:11px 0 11px 40px;font-size:14.5px;line-height:1.6;border-bottom:1px solid var(--border)}.docs-list li:last-child{border-bottom:none}.docs-list.nums li{counter-increment:doc}.docs-list.nums li:before{content:counter(doc);position:absolute;left:0;top:12px;width:26px;height:26px;border-radius:9px;background:var(--brand);color:#fff;font-size:12.5px;font-weight:800;display:grid;place-items:center}.docs-list.bolts li:before{content:"";position:absolute;left:5px;top:18px;width:14px;height:14px;background:var(--brand);clip-path:polygon(58% 0,18% 58%,44% 58%,38% 100%,82% 40%,55% 40%)}.faq-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);margin-bottom:10px;overflow:hidden;box-shadow:var(--shadow)}.faq-q{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;font-family:inherit;font-size:14.5px;font-weight:700;color:var(--ink);background:none;border:none;padding:15px 17px;cursor:pointer;min-height:50px}.faq-q:hover{background:var(--surface-2)}.faq-chev{flex:none;transition:transform .25s cubic-bezier(.2,.7,.2,1);color:var(--ink-3)}.faq-q[aria-expanded=true] .faq-chev{transform:rotate(180deg)}.faq-a{padding:0 17px 15px;font-size:14px;line-height:1.6;color:var(--ink-2)}.mw{position:fixed;bottom:calc(76px + env(safe-area-inset-bottom));right:16px;z-index:55;display:flex;flex-direction:column;align-items:flex-end;pointer-events:none;transition:transform .5s cubic-bezier(.3,1.25,.4,1),opacity .35s ease}@media(min-width:920px){.mw{bottom:24px;right:24px}}.mw.mw-out{transform:translateY(calc(100% + 140px));opacity:0;transition:transform .45s cubic-bezier(.5,0,.75,.4),opacity .3s ease .1s}.mw-chip{position:fixed;bottom:calc(76px + env(safe-area-inset-bottom));right:16px;z-index:54;width:52px;height:52px;border-radius:50%;border:1.5px solid var(--border);background:var(--surface);box-shadow:var(--shadow-md);cursor:pointer;padding:0;display:grid;place-items:center;transition:transform .4s cubic-bezier(.3,1.3,.4,1) .25s,opacity .3s ease .25s}@media(min-width:920px){.mw-chip{bottom:24px;right:24px}}.mw-chip:hover{transform:scale(1.08)}.mw-chip:active{transform:scale(.95)}.mw-chip.mw-chip-hidden{opacity:0;transform:scale(.4);pointer-events:none;transition:transform .25s ease,opacity .2s ease}.mw-chip-face{width:42px;height:42px;border-radius:50%;overflow:hidden;display:grid;place-items:center}.mw-chip-face img,.mw-chip-face svg{width:130%;height:130%;object-fit:contain;transform:translateY(12%)}.mw-bubble{background:var(--ink);color:var(--bg);padding:12px 16px;border-radius:16px;border-bottom-right-radius:4px;font-size:14px;font-weight:600;max-width:240px;box-shadow:var(--shadow-md);margin-bottom:10px;pointer-events:auto;position:relative;animation:bubblePop .3s cubic-bezier(.2,.8,.2,1) forwards;transform-origin:bottom right}.mw-close{position:absolute;top:-8px;left:-8px;width:22px;height:22px;border-radius:50%;background:var(--surface-3);color:var(--ink);border:none;font-size:12px;font-weight:800;cursor:pointer;display:grid;place-items:center;box-shadow:var(--shadow)}.mw-close:hover{background:var(--surface-2)}.mw-char{background:none;border:none;padding:0;cursor:pointer;pointer-events:auto;position:relative;width:118px;height:118px}.mw-stage{width:100%;height:100%;position:relative;transform-origin:bottom center}.mw-img,.mw-svg{width:100%;height:100%;object-fit:contain;display:block}.mw-img{filter:drop-shadow(0 4px 10px rgba(27,18,38,.18))}.mw-char:before{content:"";left:50%;bottom:0;width:62%;height:12px;transform:translateX(-50%);transform-origin:center;background:radial-gradient(closest-side,rgba(27,18,38,.26),transparent 72%);pointer-events:none}.mw-char:before,.mw-min{position:absolute;border-radius:50%}.mw-min{top:0;right:0;width:24px;height:24px;background:var(--surface);border:1px solid var(--border);color:var(--ink-2);display:grid;place-items:center;font-weight:800;font-size:16px;line-height:1;opacity:0;transform:scale(.8);transition:.2s;box-shadow:var(--shadow)}.mw-char:focus-visible .mw-min,.mw-char:hover .mw-min{opacity:1;transform:scale(1)}.mw.idle .mw-stage{animation:mwBob 3.6s ease-in-out infinite}.mw.idle .mw-char:before{animation:mwShadowBreathe 3.6s ease-in-out infinite}.mw.cheer .mw-stage{animation:mwCheer .9s cubic-bezier(.34,1.3,.4,1)}.mw.cheer .mw-char:before{animation:mwShadowHop .9s ease-in-out}.mw.levelup .mw-stage{animation:mwLevelUp 1.1s cubic-bezier(.34,1.3,.4,1)}.mw.levelup .mw-char:before{animation:mwShadowHop 1.1s ease-in-out}.mw.encourage .mw-stage{animation:mwEncourage 1.5s ease-in-out}.mw.wave .mw-stage{animation:mwWaveRock 1.4s ease-in-out}.mw.think .mw-stage{animation:mwThink 2.8s ease-in-out infinite}.mw.cheer .mw-img,.mw.encourage .mw-img,.mw.levelup .mw-img,.mw.think .mw-img,.mw.wave .mw-img{animation:mwPopIn .32s cubic-bezier(.3,1.45,.4,1)}@keyframes bubblePop{0%{transform:scale(.8) translateY(10px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}@keyframes mwBob{0%,to{transform:translateY(0) rotate(0deg) scale(1)}30%{transform:translateY(-5px) rotate(-1.2deg) scale(.99,1.02)}50%{transform:translateY(-6px) rotate(0deg) scale(.99,1.02)}70%{transform:translateY(-3px) rotate(1.2deg) scale(.995,1.01)}}@keyframes mwShadowBreathe{0%,to{transform:translateX(-50%) scaleX(1);opacity:1}50%{transform:translateX(-50%) scaleX(.82);opacity:.7}}@keyframes mwCheer{0%{transform:translateY(0) scale(1)}15%{transform:translateY(2px) scale(1.08,.88)}40%{transform:translateY(-26px) scale(.94,1.1) rotate(-3deg)}55%{transform:translateY(-22px) scale(.96,1.06) rotate(3deg)}75%{transform:translateY(0) scale(1.1,.86)}88%{transform:translateY(-3px) scale(.98,1.04)}to{transform:translateY(0) scale(1)}}@keyframes mwLevelUp{0%{transform:translateY(0) scale(1)}12%{transform:translateY(2px) scale(1.1,.86)}32%{transform:translateY(-30px) scale(.92,1.12) rotate(-5deg)}50%{transform:translateY(0) scale(1.08,.9)}64%{transform:translateY(-14px) scale(.96,1.06) rotate(4deg)}78%{transform:translateY(0) scale(1.06,.92)}90%{transform:translateY(-2px) rotate(-1.5deg)}to{transform:translateY(0) scale(1) rotate(0deg)}}@keyframes mwShadowHop{0%,to{transform:translateX(-50%) scaleX(1);opacity:1}40%{transform:translateX(-50%) scaleX(.6);opacity:.45}75%{transform:translateX(-50%) scaleX(1.06);opacity:1}}@keyframes mwEncourage{0%,to{transform:rotate(0) translateY(0)}25%{transform:rotate(-7deg) translateY(1px)}55%{transform:rotate(-5deg) translateY(0)}80%{transform:rotate(2.5deg)}}@keyframes mwWaveRock{0%,to{transform:rotate(0) translateY(0)}18%{transform:rotate(-8deg) translateY(-6px) scale(.99,1.02)}38%{transform:rotate(7deg) translateY(-4px)}58%{transform:rotate(-6deg) translateY(-5px)}78%{transform:rotate(4deg) translateY(-1px)}}@keyframes mwThink{0%,to{transform:rotate(0) translateY(0)}30%{transform:rotate(-2.5deg) translateY(-2px)}65%{transform:rotate(2deg) translateY(-1px)}}@keyframes mwPopIn{0%{transform:scale(.9)}60%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes mwBlink{0%,96%,98%,to{transform:scaleY(1)}97%,99%{transform:scaleY(.1)}}@keyframes mwWag{0%,to{transform:rotate(0)}25%{transform:rotate(15deg)}75%{transform:rotate(-15deg)}}@keyframes sparklePop{0%{transform:scale(0) rotate(0deg);opacity:0}50%{transform:scale(1) rotate(90deg);opacity:1}to{transform:scale(0) rotate(180deg);opacity:0}}.mw-eyes{transform-origin:center;animation:mwBlink 5s infinite}.mw-eyes,.mw-tail{transform-box:fill-box}.mw-tail{transform-origin:left center}.mw.cheer .mw-tail,.mw.levelup .mw-tail{animation:mwWag .3s ease-in-out infinite}.mw-sparkle{position:absolute;width:16px;height:16px;fill:gold;opacity:0;pointer-events:none}.mw.cheer .mw-sparkle,.mw.levelup .mw-sparkle{animation:sparklePop .8s ease-out}.mw-sparkle:first-of-type{top:-10px;left:20px;animation-delay:.1s}.mw-sparkle:nth-of-type(2){top:10px;right:-10px;animation-delay:.2s}.mw-sparkle:nth-of-type(3){top:40px;left:-15px;animation-delay:.15s}@media (prefers-reduced-motion:reduce){.mw,.mw-chip{transition:opacity .25s ease}.mw.mw-out{transform:none;visibility:hidden}.mw-bubble,.mw-char:before,.mw-eyes,.mw-img,.mw-sparkle,.mw-stage,.mw-tail{animation:none!important}}.tour-layer{position:fixed;inset:0;z-index:58;overflow:hidden}.tour-spot{position:fixed;left:0;top:0;pointer-events:none;border-radius:18px;box-shadow:0 0 0 200vmax rgba(27,18,38,.55)}.tour-spot:after{content:"";position:absolute;inset:-3px;border-radius:21px;border:2.5px solid var(--brand);opacity:.9;animation:tourPulse 1.8s ease-in-out infinite}@keyframes tourPulse{0%,to{transform:scale(1);opacity:.9}50%{transform:scale(1.015);opacity:.5}}.tour-card{position:fixed;left:0;top:0;background:var(--bg);border:1px solid var(--border);border-radius:18px;box-shadow:0 18px 50px rgba(27,18,38,.28);padding:14px 16px;display:flex;gap:12px;align-items:flex-start}.tour-card.dock{left:12px;right:12px;top:auto;bottom:calc(78px + env(safe-area-inset-bottom));width:auto}.tour-milo{flex:none;width:62px;height:62px;border-radius:16px;background:var(--brand-tint);display:grid;place-items:center;padding:6px}.tour-title{font-weight:800;font-size:15.5px;letter-spacing:-.01em;margin-bottom:3px}.tour-text{font-size:13.5px;color:var(--ink-2);line-height:1.5;margin:0 0 10px}.tour-dots{display:flex;gap:5px;margin-bottom:10px}.tour-dots i{width:6px;height:6px;border-radius:50%;background:var(--surface-3);transition:.2s}.tour-dots i.on{background:var(--brand);transform:scale(1.25)}.tour-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.tour-skip{background:none;border:none;font-family:inherit;font-size:12.5px;font-weight:700;color:var(--ink-3);cursor:pointer;padding:6px 0}.tour-skip:hover{color:var(--ink)}.tour-nav{display:flex;gap:8px}.tour-btn{font-family:inherit;font-weight:700;font-size:13px;letter-spacing:-.01em;border:none;border-radius:11px;padding:9px 15px;cursor:pointer;background:var(--brand);color:#fff;text-decoration:none;display:inline-flex;align-items:center;transition:.15s}.tour-btn:hover{background:var(--brand-d)}.tour-btn:active{transform:scale(.97)}.tour-btn.ghost{background:var(--surface-2);color:var(--ink)}.tour-btn.ghost:hover{background:var(--surface-3)}body.tour-active .mw,body.tour-active .mw-chip{display:none}@media (prefers-reduced-motion:reduce){.tour-spot:after{animation:none}}.admin-root{display:flex;min-height:100dvh;background:var(--bg)}.admin-nav{position:sticky;top:0;align-self:flex-start;height:100dvh;width:236px;flex:none;display:flex;flex-direction:column;gap:4px;padding:18px 14px;border-right:1px solid var(--border);background:var(--surface)}.admin-nav-brand{display:flex;align-items:center;gap:10px;padding:6px 8px 16px}.admin-nav-logo{width:34px;height:34px;border-radius:10px;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:800;font-size:18px;flex:none}.admin-nav-title{font-weight:800;font-size:15px;letter-spacing:-.02em}.admin-nav-email{font-size:11px;color:var(--ink-3);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-nav-links{display:flex;flex-direction:column;gap:2px;flex:1}.admin-nav-link{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:11px;font-weight:600;font-size:14px;color:var(--ink-2);text-decoration:none;transition:.13s}.admin-nav-link:hover{background:var(--surface-2);color:var(--ink)}.admin-nav-link.is-active{background:var(--brand);color:#fff}.admin-nav-link svg{flex:none}.admin-nav-exit{font-size:12.5px;font-weight:600;color:var(--ink-3);text-decoration:none;padding:10px 11px;border-radius:10px}.admin-nav-exit:hover{background:var(--surface-2);color:var(--ink)}.admin-main{flex:1;min-width:0;padding:28px 30px 80px;max-width:1240px;margin:0 auto;width:100%}.admin-h1{font-size:25px;font-weight:800;letter-spacing:-.035em;margin:0}.admin-sub{color:var(--ink-3);font-size:13px;margin-top:3px}.admin-pagehead{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;flex-wrap:wrap}.admin-section-title{font-size:14px;font-weight:800;letter-spacing:-.01em;margin:26px 0 12px;color:var(--ink)}.live-dot{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:700;color:var(--good);background:var(--good-tint);padding:5px 11px;border-radius:999px}.live-dot i{width:7px;height:7px;border-radius:50%;background:var(--good);box-shadow:0 0 0 0 var(--good);animation:livePulse 1.8s ease-out infinite}.live-dot.stale{color:var(--ink-3);background:var(--surface-2)}.live-dot.stale i{background:var(--ink-3);animation:none}@keyframes livePulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--good) 55%,transparent)}70%{box-shadow:0 0 0 7px transparent}to{box-shadow:0 0 0 0 transparent}}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:15px 16px;display:flex;flex-direction:column;gap:3px;min-height:96px;position:relative;overflow:hidden}.kpi-label{font-size:11.5px;font-weight:700;letter-spacing:.02em;color:var(--ink-3);text-transform:uppercase;display:flex;align-items:center;gap:6px}.kpi-value{font-size:28px;font-weight:800;letter-spacing:-.04em;line-height:1.05;color:var(--ink);font-variant-numeric:tabular-nums}.kpi-value.flash{animation:kpiFlash .9s ease-out}@keyframes kpiFlash{0%{color:var(--brand)}to{color:var(--ink)}}.kpi-sub{font-size:12px;color:var(--ink-3);font-weight:600}.kpi-sub.up{color:var(--good)}.kpi-sub.down{color:var(--bad)}.kpi-accent{position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--brand)}.acard{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:18px}.acard-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}.acard-title{font-size:14.5px;font-weight:800;letter-spacing:-.01em}.atable-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.atable{width:100%;border-collapse:collapse;font-size:13px}.atable th{text-align:left;font-weight:700;font-size:11px;letter-spacing:.03em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap;background:var(--surface)}.atable td,.atable th{padding:11px 14px;border-bottom:1px solid var(--border)}.atable td{vertical-align:middle;color:var(--ink)}.atable tr:last-child td{border-bottom:none}.atable tbody tr{transition:background .12s}.atable tbody tr:hover{background:var(--surface-2)}.atable a{color:var(--brand);font-weight:700;text-decoration:none}.atable a:hover{text-decoration:underline}.atable td.num,.atable th.num{text-align:right;font-variant-numeric:tabular-nums}.pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:800;padding:3px 9px;border-radius:999px;letter-spacing:.01em;white-space:nowrap}.pill.green{background:var(--good-tint);color:var(--good)}.pill.amber{background:var(--warn-tint);color:var(--warn)}.pill.red{background:var(--bad-tint);color:var(--bad)}.pill.gray{background:var(--surface-2);color:var(--ink-3)}.pill.brand{background:var(--brand-tint);color:var(--brand)}.admin-input{font-family:inherit;font-size:14px;padding:10px 13px;border:1.5px solid var(--border-2);border-radius:12px;background:var(--bg);color:var(--ink);width:100%;max-width:320px}.admin-input:focus{outline:none;border-color:var(--brand)}.admin-btn{font-family:inherit;font-weight:700;font-size:13px;padding:8px 14px;border-radius:10px;border:1.5px solid var(--border-2);background:var(--surface);color:var(--ink);cursor:pointer;transition:.13s}.admin-btn:hover{border-color:var(--ink);background:var(--surface-2)}.admin-btn.primary{background:var(--brand);color:#fff;border-color:var(--brand)}.admin-btn.primary:hover{background:var(--brand-d)}.admin-btn.danger{color:var(--bad);border-color:var(--bad)}.admin-btn.danger:hover{background:var(--bad-tint)}.admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-empty{color:var(--ink-3);font-size:13.5px;padding:18px;text-align:center}.admin-skel{background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 37%,var(--surface-2) 63%);background-size:400% 100%;animation:admskel 1.3s ease infinite;border-radius:10px}@keyframes admskel{0%{background-position:100% 0}to{background-position:-100% 0}}.chart-box{width:100%;height:240px}.barlist{display:flex;flex-direction:column;gap:9px}.barlist-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.barlist-label{font-size:13px;color:var(--ink-2);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.barlist-track{height:8px;border-radius:999px;background:var(--surface-3);overflow:hidden;margin-top:4px;grid-column:1/-1}.barlist-fill{height:100%;border-radius:999px;background:var(--brand)}.barlist-val{font-size:12.5px;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}@media (max-width:820px){.admin-nav{position:fixed;bottom:0;top:auto;left:0;right:0;width:100%;height:auto;flex-direction:row;border-right:none;border-top:1px solid var(--border);padding:6px;z-index:50;overflow-x:auto}.admin-nav-brand,.admin-nav-exit{display:none}.admin-nav-links{flex-direction:row;flex:1}.admin-nav-link{flex-direction:column;gap:3px;font-size:10px;padding:7px 9px;white-space:nowrap}.admin-nav-link span{font-size:10px}.admin-main{padding:18px 16px 90px}}