@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");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 Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-italic-DpCbqKDY.woff2)format("woff2-variations");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{--bg:#fff;--surface:#fff;--surface-2:#f3f4f6;--text:#15181d;--muted:#5c6370;--border:#e3e6ea;--ease:cubic-bezier(.2, .7, .3, 1);--accent:#0b7a55;--accent-weak:#e3f5ec;--on-accent:#fff;--ok:#0b7a55;--ok-weak:#e3f5ec;--bad:#c22f2f;--bad-weak:#fbe8e8;--radius:12px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#101216;--surface:#191c22;--surface-2:#22262e;--text:#e7e9ee;--muted:#9aa1ad;--border:#2c313a;--accent:#3ccf95;--accent-weak:#14271f;--on-accent:#0b1a13;--ok:#3ccf95;--ok-weak:#14271f;--bad:#ff7d7d;--bad-weak:#3a1b1b;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root:not([data-theme=light]) .qarea{--wm:var(--wm-d)}}:root[data-theme=dark]{--bg:#101216;--surface:#191c22;--surface-2:#22262e;--text:#e7e9ee;--muted:#9aa1ad;--border:#2c313a;--accent:#3ccf95;--accent-weak:#14271f;--on-accent:#0b1a13;--ok:#3ccf95;--ok-weak:#14271f;--bad:#ff7d7d;--bad-weak:#3a1b1b;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=dark] .qarea{--wm:var(--wm-d)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-variant-numeric:tabular-nums;-webkit-tap-highlight-color:transparent;margin:0;font:17px/1.55 Inter Variable,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}button,input,select,textarea{font:inherit;color:inherit}a,button,input,label{touch-action:manipulation}h1,h2,h3{text-wrap:balance;line-height:1.25}a{color:var(--accent)}.muted{color:var(--muted)}.center{text-align:center}.strong{font-weight:600}.btn{border:1px solid var(--border);background:var(--surface);min-height:46px;color:var(--text);cursor:pointer;text-align:center;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:10px 16px;font-weight:550;display:inline-flex}.btn:disabled{opacity:.45;cursor:default}.btn,.pill,.seg button,.course-card{transition:transform .15s var(--ease), box-shadow .2s var(--ease), background-color .2s var(--ease), border-color .2s var(--ease)}.btn:active:not(:disabled),.seg button:active,.course-card:active:not(:disabled){transform:scale(.98)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.danger{color:var(--bad);border-color:var(--bad)}.btn.ghost{color:var(--muted);background:0 0;border-color:#0000}.btn.big{min-height:52px;font-size:18px}.icon-btn{cursor:pointer;width:44px;height:44px;color:var(--text);background:0 0;border:0;border-radius:10px;font-size:22px;line-height:1}.icon-btn.on{color:var(--accent)}.icon-spacer{width:44px}.badge{background:var(--accent);min-width:22px;color:var(--on-accent);border-radius:11px;padding:1px 7px;font-size:13px;font-weight:700;line-height:20px;display:inline-block}.badge.bad{background:var(--bad);color:var(--bg)}.btn.primary .badge{background:var(--on-accent);color:var(--accent)}.row{flex-wrap:wrap;gap:10px;display:flex}.row>.btn{flex:1}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.public{min-height:100vh;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:22px;min-height:100dvh;padding:24px 16px;display:flex}.public h1{max-width:16em;margin:0;font-size:26px}.public h2{margin:0}.public-actions{flex-direction:column;gap:12px;width:100%;max-width:320px;display:flex}.notice{background:var(--bad-weak);max-width:340px;color:var(--bad);border-radius:10px;margin:0;padding:10px 14px}.auth-form{text-align:left;flex-direction:column;gap:14px;width:100%;max-width:340px;display:flex}label{flex-direction:column;gap:6px;font-size:15px;font-weight:550;display:flex}input,select,textarea{border:1px solid var(--border);background:var(--surface);border-radius:10px;width:100%;min-height:48px;padding:10px 12px;font-size:17px;font-weight:400}textarea{resize:vertical;line-height:1.45}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}.pw{display:block;position:relative}.pw input{padding-right:70px}.pw-toggle{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0 12px;position:absolute;top:4px;bottom:4px;right:4px}.form-error{color:var(--bad);margin:0;font-size:15px}.page{max-width:760px;margin:0 auto;padding:0 16px 32px}.page.practice{padding-bottom:96px}.topbar{z-index:40;padding:calc(6px + env(safe-area-inset-top)) 10px 6px;background:var(--bg);border-bottom:1px solid var(--border);align-items:center;gap:6px;margin:0 -16px 12px;display:flex;position:sticky;top:0}.topbar-title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-weight:650;overflow:hidden}.topbar-right{align-items:center;display:flex}.center-box{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:48px 16px;display:flex}.section-title{letter-spacing:-.01em;color:var(--text);margin:26px 2px 10px;font-size:19px;font-weight:700}.list{flex-direction:column;gap:10px;display:flex}.part-title{color:var(--text);margin:10px 2px 0;font-size:14px;font-weight:700}.list>.part-title:first-child{margin-top:0}.outline-subject .part-title{color:var(--muted);margin:12px 2px 6px;font-size:13px}.pills{flex-wrap:wrap;gap:8px;margin:10px 0;display:flex}.pill{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:20px;align-items:center;gap:6px;min-height:40px;padding:6px 14px;font-weight:550;display:inline-flex}.pill.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.pill.on .badge{background:var(--on-accent);color:var(--accent)}.home{padding-top:calc(16px + env(safe-area-inset-top))}.home-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.set-list{gap:10px;display:grid}@media (min-width:640px){.set-list{grid-template-columns:1fr 1fr}}.set-card{text-align:left;cursor:pointer;width:100%;padding:14px 16px;display:block}.set-top{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.set-title{font-size:18px;font-weight:650}.set-go{color:var(--accent);white-space:nowrap;font-size:15px;font-weight:600}.set-meta{color:var(--muted);margin:4px 0 10px;font-size:15px}.bar{background:var(--surface-2);border-radius:3px;height:6px;display:flex;overflow:hidden}.bar-ok{background:var(--ok)}.bar-bad{background:var(--bad)}.home-foot{border-top:1px solid var(--border);flex-direction:column;align-items:stretch;gap:8px;margin-top:32px;padding-top:16px;display:flex}.confirm{border-radius:var(--radius);background:var(--bad-weak);flex-direction:column;gap:10px;padding:14px;display:flex}.qarea{--wm:var(--wm-l);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;position:relative}.qarea:not(:has(>.wm)):after{content:"";pointer-events:none;z-index:30;background-image:var(--wm), var(--wm);background-position:var(--wm-pos);position:absolute;top:0;bottom:0;left:0;right:0}.qarea img{-webkit-user-drag:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.qcard{margin-bottom:14px;padding:16px;overflow:hidden}.qhead{color:var(--muted);margin-bottom:8px;font-size:14px;font-weight:600}.stem p{margin:0 0 10px}.qimg{border:1px solid var(--border);cursor:zoom-in;background:#000;border-radius:10px;width:100%;margin:6px 0 12px;padding:0;display:block;overflow:hidden}.qimg img{object-fit:contain;width:100%;max-height:60vh;display:block}.img-ph{height:200px;display:block}.opt-imgs{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;display:grid}.qimg.tile{margin:0;position:relative}.qimg.tile img{height:150px;max-height:none}.tile-label{color:#fff;background:#000000b3;border-radius:8px;min-width:28px;padding:2px 8px;font-weight:700;position:absolute;top:6px;left:6px}.options{flex-direction:column;gap:10px;display:flex}.opt{border:1.5px solid var(--border);background:var(--surface);text-align:left;cursor:pointer;border-radius:12px;align-items:flex-start;gap:12px;width:100%;min-height:52px;padding:12px 14px;display:flex}.opt:disabled{cursor:default}.opt-key{background:var(--surface-2);border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:15px;font-weight:700;display:grid}.opt-text{padding-top:1px}.opt.sel{border-color:var(--text);background:var(--surface-2)}.opt.sel .opt-key{background:var(--text);color:var(--bg)}.opt.ok{border-color:var(--ok);background:var(--ok-weak)}.opt.ok .opt-key{animation:key-pop .38s var(--ease)}@keyframes key-pop{0%{transform:scale(.6)}60%{transform:scale(1.15)}}@media (prefers-reduced-motion:reduce){.opt.ok .opt-key{animation:none}}.opt.ok .opt-key{background:var(--ok);color:var(--on-accent)}.opt.bad{border-color:var(--bad);background:var(--bad-weak)}.opt.bad .opt-key{background:var(--bad);color:var(--bg)}.opt.dim{opacity:.65}.opt.struck{opacity:.45;border-style:dashed}.opt.struck .opt-text{text-decoration:line-through;text-decoration-thickness:1.5px}.opt-mark{flex:none;margin-left:auto;padding-top:1px;font-weight:800}.opt-pct+.opt-mark{margin-left:8px}.opt.ok .opt-mark{color:var(--ok)}.opt.bad .opt-mark{color:var(--bad)}.stem{cursor:text}::highlight(ka-hl){color:inherit;background-color:#fde68a}.marks-tip{background:var(--surface-2);color:var(--muted);border-radius:10px;align-items:flex-start;gap:8px;margin:12px 0 0;padding:8px 4px 8px 12px;font-size:14px;line-height:1.45;display:flex}.marks-tip span{flex:1;padding-top:4px}.tip-close{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;font-size:20px;line-height:1}.expl{border-top:1px solid var(--border);margin-top:16px;padding-top:14px}.expl h3{margin:14px 0 6px;font-size:.95em}.expl p{margin:0 0 8px}.expl ul{margin:0;padding-left:20px}.expl li{margin-bottom:6px}.verdict{border-radius:10px;margin:0;padding:8px 12px;font-weight:700}.verdict.ok{color:var(--ok);background:var(--ok-weak)}.verdict.ok:before{content:"✓ "}.verdict.bad{color:var(--bad);background:var(--bad-weak)}.verdict.bad:before{content:"✗ "}.note{background:var(--surface-2);border-radius:10px;padding:10px 12px;font-size:15px}.handout{border-left:3px solid var(--accent);background:var(--accent-weak);border-radius:6px;padding:10px 12px;font-size:15px;font-weight:600;margin-top:12px!important}.bottom-nav{z-index:40;max-width:760px;padding:8px 16px calc(8px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--border);grid-template-columns:1fr auto 1fr;gap:8px;margin:0 auto;display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav .pos{min-width:84px;color:var(--text)}.ngrid{grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:6px;margin:12px 0;display:grid}.ncell{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:8px;height:44px;font-weight:600}.ncell.ok{background:var(--ok-weak);border-color:var(--ok);color:var(--ok)}.ncell.bad{background:var(--bad-weak);border-color:var(--bad);color:var(--bad)}.ncell.done{background:var(--surface-2);border-color:var(--text)}.ncell.cur{outline:2px solid var(--text);outline-offset:1px}.timer{background:var(--surface-2);font-variant-numeric:tabular-nums;border-radius:8px;padding:4px 10px;font-weight:700}.timer.low{background:var(--bad-weak);color:var(--bad)}.submit-btn{width:100%}.qarea-fixed{z-index:100;background:#000;position:fixed;top:0;bottom:0;left:0;right:0}.viewer-box{touch-action:none;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.viewer-box img{transform-origin:50%;will-change:transform;max-width:100%;max-height:100%}.viewer-close{top:calc(10px + env(safe-area-inset-top));z-index:40;color:#fff;cursor:pointer;background:#ffffff2e;border:0;border-radius:24px;width:48px;height:48px;font-size:22px;position:absolute;right:10px}.viewer-label{top:calc(16px + env(safe-area-inset-top));z-index:40;color:#fff;background:#ffffff2e;border-radius:8px;padding:4px 12px;font-weight:700;position:absolute;left:16px}.form-card{padding:16px}.form-card h3{margin:4px 0 8px;font-size:16px}.form-card h3+.pills{margin-top:0}.choice,.check{flex-direction:row;align-items:center;gap:10px;min-height:44px;font-size:17px;font-weight:450}.choice input,.check input{width:20px;height:20px;min-height:0;accent-color:var(--accent);flex:none}.checks{margin:0 0 6px 30px}.form-card .big{width:100%;margin-top:6px}.resume{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;padding:12px 14px;display:flex}.list-row{text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.score-card{text-align:center;margin-bottom:8px;padding:18px;position:relative}.score-big{font-size:40px;font-weight:750}.share-btn{margin:8px auto 0;font-weight:650;display:block}.score-card.great .score-big{color:var(--ok)}.plus-burst{pointer-events:none;position:absolute;top:44px;left:50%}.plus-burst i{background:var(--accent);clip-path:polygon(35% 0,65% 0,65% 35%,100% 35%,100% 65%,65% 65%,65% 100%,35% 100%,35% 65%,0 65%,0 35%,35% 35%);opacity:0;width:12px;height:12px;animation:plus-fly .9s var(--ease) .15s both;margin:-6px;position:absolute}@keyframes plus-fly{0%{opacity:1;transform:rotate(var(--a)) translateY(0) scale(.4)}70%{opacity:1}to{opacity:0;transform:rotate(var(--a)) translateY(calc(-1 * var(--d))) scale(1)}}@media (prefers-reduced-motion:reduce){.plus-burst{display:none}}.score-sub{color:var(--muted);margin-bottom:14px}.chapter-row{text-align:left;cursor:pointer;align-items:center;gap:14px;padding:12px 14px;display:flex}.chapter-row:disabled{opacity:.5}.ch-num{background:var(--accent-weak);width:44px;height:44px;color:var(--accent);border-radius:10px;flex:none;place-items:center;font-weight:750;display:grid}.ch-body{flex-direction:column;display:flex}.ch-title{font-weight:600}.ch-body .muted{font-size:15px}.stats{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.stats>div{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);flex-direction:column;align-items:center;padding:10px 6px;display:flex}.stats b{font-size:22px}.stats span{color:var(--muted);font-size:13px}.tabs{background:var(--surface-2);border-radius:12px;gap:4px;margin:14px 0 4px;padding:4px;display:flex}.tabs button{cursor:pointer;background:0 0;border:0;border-radius:9px;flex:1;min-height:42px;font-weight:600}.tabs button.on{background:var(--surface);box-shadow:0 1px 2px #0000001f}.search{margin-bottom:12px}.user{padding:12px 14px}.user-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.user-name{font-weight:650}.user-meta{margin-top:2px;font-size:15px}.user-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.user-actions .btn{min-height:42px;padding:8px 12px;font-size:15px}.user-actions .btn.big{flex:100%;min-height:50px;font-size:17px}.chip{background:var(--surface-2);color:var(--muted);white-space:nowrap;border-radius:10px;padding:2px 9px;font-size:13px;font-weight:650;display:inline-block}.chip.pending{background:var(--accent-weak);color:var(--accent)}.chip.approved{background:var(--ok-weak);color:var(--ok)}.chip.rejected,.chip.revoked,.chip.hidden{background:var(--bad-weak);color:var(--bad)}.chip.edited{background:var(--accent-weak);color:var(--accent)}.pw-box{border-color:var(--accent);flex-direction:column;gap:10px;margin-bottom:12px;padding:14px;display:flex}.pw-value{letter-spacing:.06em;-webkit-user-select:all;user-select:all;font:700 24px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.q-row{text-align:left;cursor:pointer;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.q-num{width:32px;color:var(--muted);flex:none;font-weight:700}.q-stem{flex:1;font-size:15px}.q-flags{flex-direction:column;gap:4px;display:flex}.editor{flex-direction:column;gap:12px;padding:14px;display:flex}.editor-head{align-items:center;gap:10px;display:flex}.row2{grid-template-columns:2fr 1fr;gap:10px;display:grid}@media print{body{display:none!important}}.set-title .chip,.qhead .chip,.check .chip{vertical-align:middle;margin-left:8px}.user-progress{gap:4px;margin:4px 0;display:grid}.logo{vertical-align:middle;width:auto;color:var(--text);display:inline-block}.logo-sm{height:26px}.logo-md{height:40px}.logo-lg{height:56px}.logo-plus{fill:#0e9f6e}.tagline{color:var(--muted);margin:-8px 0 0}.public-foot{color:var(--muted);align-items:center;gap:10px;font-size:15px;display:flex}.public-foot a,.foot-links a{min-height:44px;color:var(--muted);align-items:center;padding:0 4px;display:inline-flex}.auth-title{text-align:center;margin:0 0 2px;font-size:22px}.hint{color:var(--muted);font-size:14px;font-weight:400}fieldset.year-pick{border:0;min-width:0;margin:0;padding:0}.year-pick legend{margin-bottom:6px;padding:0;font-size:15px;font-weight:550}.seg{background:var(--surface-2);border-radius:12px;gap:4px;padding:4px;display:flex}.seg button{min-width:0;min-height:42px;color:var(--muted);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:9px;flex:1;padding:0 4px;font-size:15px;font-weight:600}.seg button.on{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #0000001f}.terms-check{align-items:flex-start;font-size:16px}.terms-check input{margin-top:2px}.switch-line{text-align:center;color:var(--muted);margin:0;font-size:15px}.forgot-line{margin:-6px 0 0}.forgot-line a{color:var(--accent);padding:8px 0;font-weight:600;display:inline-block}.link-btn{min-height:44px;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:4px 6px;font-weight:600}.small{font-size:14px}.home-top{justify-content:space-between;align-items:center;gap:12px;min-height:48px;margin-bottom:12px;display:flex}.hello{font-size:15px}.year-tabs{margin-bottom:4px}.home-section{margin-top:4px}.section-title .chip{vertical-align:middle;text-transform:none;letter-spacing:0;margin-left:8px}.course-list{gap:10px;display:grid}@media (min-width:640px){.course-list{grid-template-columns:1fr 1fr}}.course-card{text-align:left;cursor:pointer;flex-direction:column;align-items:stretch;gap:6px;width:100%;padding:14px 16px;display:flex}.course-card:disabled{cursor:default}.course-card.soon{border-style:dashed}.course-card.soon .cc-title{color:var(--muted)}@media (hover:hover){button.course-card:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000012}}.cc-top{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.cc-title{font-size:18px;font-weight:650;line-height:1.3}.cc-code{color:var(--muted);letter-spacing:.02em;flex:none;font-size:13px;font-weight:650}.cc-sub,.cc-meta{color:var(--muted);font-size:15px}.cc-state{justify-content:space-between;align-items:center;gap:10px;min-height:28px;margin-top:2px;display:flex}.cc-price{font-weight:700}.cc-was{color:var(--muted);margin-left:8px;font-size:15px}.cc-go{color:var(--accent);font-size:15px;font-weight:600}.chip.ok{background:var(--ok-weak);color:var(--ok)}.bar-fill{width:100%;animation:reveal .6s var(--ease) both;display:flex}.empty{text-align:center;padding:40px 8px}.empty-title{margin:0 0 4px;font-size:19px;font-weight:650}.empty .muted{margin:0}.empty .btn{margin-top:18px}.foot-links{justify-content:center;gap:18px;font-size:15px;display:flex}.home-foot .small{text-align:center;margin:0}.pill.static{cursor:default}.terms{max-width:1100px;padding-bottom:48px}.terms-top{align-items:center;gap:8px;min-height:56px;margin-left:-10px;display:flex}.terms-logo{text-decoration:none}.terms h1{margin:0;font-size:22px}.terms h2{margin:0 0 8px;font-size:18px}.terms p,.terms li{font-size:16px}.terms ul{padding-inline-start:20px}.terms-updated{margin:8px 0 0;font-size:14px}.terms-pair{border-bottom:1px solid var(--border);gap:16px;padding:20px 0;display:grid}.terms-pair.terms-head{border-bottom:0;padding-bottom:0}.terms [dir=rtl]{text-align:right;font-family:Segoe UI,Tahoma,Geeza Pro,Noto Naskh Arabic,Arial,sans-serif}@media (min-width:820px){.terms-pair{grid-template-columns:1fr 1fr;gap:40px}}.course-meta{margin:0 0 6px;font-size:15px}.mode-grid{grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 6px;display:grid}.mode,.sample-card{text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:4px;min-height:82px;padding:12px 14px;display:flex}.mode-title{align-items:center;gap:6px;font-size:17px;font-weight:650;line-height:1.3;display:inline-flex}.mode-sub{color:var(--muted);font-size:14px;line-height:1.35}.sample-card{border-color:var(--accent);width:100%;margin:12px 0 4px}.subject-tabs{flex-wrap:wrap;margin-top:18px}.subject-tabs button{flex:auto;padding:0 10px}.prow{text-align:left;cursor:pointer;flex-direction:column;align-items:stretch;gap:6px;width:100%;padding:12px 14px;display:flex}.prow:disabled{opacity:.5;cursor:default}.prow-top{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.prow-title{font-weight:600}.prow-go{color:var(--accent);flex:none;font-size:15px;font-weight:600}.prow-meta{color:var(--muted);font-size:14px}.device-note{background:var(--accent-weak);border-radius:10px;align-items:center;gap:12px;margin:0 0 12px;padding:10px 14px;animation:.25s ease-out fade-up;display:flex}.device-note p{flex:1;margin:0;font-size:14px}.device-note .link-btn{min-height:44px;padding:0 6px;font-weight:600}.notice-card{margin:12px 0;padding:4px 16px}.outline-subject{margin:10px 0}.outline-title{margin:14px 0 6px;font-size:16px}.outline-list{border:1px solid var(--border);border-radius:var(--radius);margin:0;padding:0;list-style:none}.outline-list li{justify-content:space-between;gap:12px;padding:10px 14px;font-size:16px;display:flex}.outline-list li+li{border-top:1px solid var(--border)}.unlock{border-color:var(--accent);margin:12px 0;padding:16px}.unlock-title{margin:0 0 4px;font-size:19px}.unlock-price{margin:0 0 2px;font-size:28px;font-weight:750}.unlock-price .muted{font-size:16px;font-weight:400}.unlock-choices{flex-direction:column;gap:8px;margin:10px 0 4px;display:flex}.unlock-choice{text-align:left;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;min-height:56px;transition:border-color .16s var(--ease), background-color .16s var(--ease);flex-direction:row;align-items:center;gap:12px;padding:10px 14px;display:flex}.unlock-choice.on{border-color:var(--accent);background:var(--accent-weak)}.unlock-choice input{width:20px;height:20px;min-height:0;accent-color:var(--accent);flex:none;margin:0;padding:0}.uc-text{flex-direction:column;flex:1;min-width:0;display:flex}.uc-title{font-weight:650}.uc-price{flex-direction:column;flex:none;align-items:flex-end;font-weight:750;display:flex}.uc-was{font-size:13px;font-weight:500}.unlock-price .uc-was{margin-right:8px;font-size:18px}.unlock-credit{background:var(--accent-weak);border-radius:10px;margin:8px 0;padding:8px 12px;font-size:14px;line-height:1.5}.unlock-gets{color:var(--muted);margin:0 0 6px;font-size:15px}.unlock-steps{counter-reset:us;flex-direction:column;margin:18px 0 10px;padding:0;list-style:none;display:flex}.unlock-steps li{counter-increment:us;padding:0 0 22px 44px;position:relative}.unlock-steps li:before{content:counter(us);background:var(--accent);width:30px;height:30px;color:var(--on-accent);border-radius:50%;place-items:center;font-size:15px;font-weight:750;display:grid;position:absolute;top:-2px;left:0}.unlock-steps li:not(:last-child):after{content:"";background:var(--accent-weak);width:2px;position:absolute;top:32px;bottom:2px;left:14px}.unlock-steps li:last-child{padding-bottom:4px}.us-head{font-size:18px;font-weight:700;display:block}.us-text{color:var(--muted);margin:2px 0 10px;font-size:15px;display:block}.us-text strong{color:var(--text)}.unlock-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.qr-box{flex-direction:column;align-items:flex-start;gap:6px;margin-top:12px;display:flex}.paid-box{flex-direction:column;align-items:stretch;gap:10px;display:flex}.paid-box.skel{height:52px}.paid-box.waiting{border:1px solid var(--ok);border-radius:var(--radius);background:var(--ok-weak);gap:4px;padding:12px 14px}.paid-box.waiting .link-btn{align-self:flex-start;margin:2px 0 -6px -6px}.paid-title{color:var(--ok);font-weight:750}.paid-note{border-radius:var(--radius);background:var(--bad-weak);padding:10px 12px;font-size:15px}.qr{border:1px solid var(--border);background:#fff;border-radius:12px;width:200px;height:200px;padding:8px;display:block}.btn.small-btn{min-height:40px;padding:6px 14px;font-size:15px;text-decoration:none}.tf-tag{background:var(--surface-2);color:var(--muted);border-radius:10px;margin-bottom:8px;padding:2px 10px;font-size:13px;font-weight:650;display:inline-block}.options.tf{flex-direction:row}.options.tf .opt{flex:1;justify-content:center;font-weight:600}.expl{animation:slide-open .24s var(--ease) both}@keyframes tint{0%{background-color:var(--surface)}}@keyframes slide-open{0%{opacity:0;transform:translateY(-6px)}}.rules{color:var(--muted);margin:12px 0;padding-left:20px;font-size:15px}.resume .row{flex-wrap:nowrap}.approve .seg,.admin .seg{margin-bottom:12px}.picker{flex-direction:column;gap:10px;margin-bottom:12px;display:flex}.block{display:block}.student-row{width:100%}.student-item>.student-row{border-radius:var(--radius);background:0 0;border:0}.texted-check{border-top:1px solid var(--border);cursor:pointer;min-height:40px;margin:0;padding:6px 14px;font-size:15px}.student-card{margin-bottom:12px;padding:14px 16px}.student-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.student-name{font-size:19px;font-weight:700}.student-top .chip{margin-left:8px}.owned-list{margin:10px 0 0;padding:0;list-style:none}.owned-list li{border-top:1px solid var(--border);justify-content:space-between;gap:10px;padding:6px 0;display:flex}.grant-form,.form-card{flex-direction:column;gap:12px;display:flex}fieldset.item-group{border:0;min-width:0;margin:0;padding:0}.item-group legend{color:var(--muted);margin-bottom:4px;padding:0;font-size:14px;font-weight:650}.item-check{padding:4px 0;display:flex}.item-title{flex:1;min-width:0}.item-price{flex:none;font-weight:650}.item-check.owned{color:var(--muted)}.confirm-ok{background:var(--accent-weak)}.done-card{border-color:var(--ok);flex-direction:column;gap:6px;padding:16px;display:flex}.done-card p{margin:0}.done-title{color:var(--ok);font-size:20px;font-weight:750}.done-card .btn{margin-top:8px}.waiting-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.waiting-head p{margin:0}.req-row{flex-direction:column;gap:4px;padding:12px 14px;display:flex}.req-row .chip{margin-left:8px}.req-row .row{margin-top:8px}.req-banner{background:var(--accent-weak);border-radius:10px;margin:0 0 10px;padding:8px 12px}.seg button .badge,.staff-links .badge{margin-left:6px}.pay-row{flex-direction:column;gap:3px;padding:12px 14px;display:flex}.pay-top{justify-content:space-between;align-items:center;display:flex}.row2.even{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.row2>label,input[type=date]{min-width:0}input[type=date]{-webkit-appearance:none;appearance:none;max-width:100%;display:block}.filters{margin-bottom:12px}.filters .pills{margin:0}.csv-btn{width:100%;margin:12px 0}.stats b{white-space:nowrap;font-size:19px}.ok-text{color:var(--ok);margin:0}.staff-links .btn{flex:1}.tab-body{animation:fade-up .2s var(--ease) both}.break{overflow-wrap:anywhere}.wide-btn{width:100%;margin:12px 0}.dash-note{margin:8px 2px 0}.sales{padding:4px 14px}.sale-row{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto auto;align-items:baseline;gap:12px;padding:10px 0;display:grid}.sale-row:first-child{border-top:0}.sale-title .chip,.student-name .chip,.student-row .chip,.ent-row .strong .chip,.q-stem .chip{vertical-align:middle;margin-left:6px}.q-stem .chip{margin-left:0}.usage{margin-top:20px;padding:12px 14px}.usage p{margin:0 0 4px}.cat-year{margin-top:18px}.cat-head,.cat-sub{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;width:100%;min-height:44px;padding:6px 2px;display:flex}.cat-head{border-bottom:1px solid var(--border)}.cat-head-title{font-size:20px;font-weight:750}.cat-sub{color:var(--muted);margin-top:6px;font-weight:650}.cat-edit{color:var(--accent);margin-left:auto;font-size:15px;font-weight:600}.cat-section{margin-left:4px}.cat-course{width:100%}.add-btn{color:var(--accent);justify-content:flex-start}.kv{grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:6px 12px;margin:10px 0 4px;font-size:15px;display:grid}.kv dt{color:var(--muted)}.kv dd{margin:0}.form-head{align-items:center;gap:6px;margin:-6px 0 0 -8px;display:flex}.form-head h3{margin:0;font-size:19px}.form-actions{margin-top:4px}.form-actions .btn{min-height:50px}.subj-list{flex-direction:column;gap:8px;margin:4px 0 8px;display:flex}.subj-row{align-items:flex-start;gap:4px;display:flex}.subj-main{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.subj-id{min-height:40px;font-size:15px}.subj-btns{display:flex}.subj-btns .icon-btn{width:36px;font-size:18px}.icon-btn:disabled{opacity:.3;cursor:default}.bundle-group{margin-bottom:8px}.item-group>label+label,.item-group>.pills+label,.item-group>label+.check{margin-top:8px}.back-link{margin:0 0 8px;font-size:16px}.student-card .kv{margin-top:12px}.days{grid-template-columns:repeat(14,minmax(0,1fr));gap:3px;margin:14px 0 6px;display:grid}.day{color:var(--muted);grid-template-rows:16px 56px 16px;place-items:end center;font-size:11px;display:grid}.day-bar{background:var(--accent);border-radius:3px 3px 0 0;width:100%;min-height:2px}.day-bar.zero{background:var(--border)}.day-n{color:var(--text)}.edit-profile{padding:12px 0 0}.ent-row{flex-direction:column;gap:2px;padding:10px 14px;display:flex}.danger-link{color:var(--bad);align-self:flex-start}details.past{margin-top:4px}details.past summary{min-height:44px;color:var(--muted);cursor:pointer;padding:10px 2px;font-weight:600}.gift-form{margin-top:12px}details.cleanup{margin-top:24px}details.cleanup summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:600}details.cleanup .row{margin-top:8px}.place-card{margin-bottom:12px}.place-row{gap:8px;display:flex}.place-row .btn{flex:none}.q-id{color:var(--muted);overflow-wrap:anywhere;font-size:14px}.img-edit{flex-direction:column;align-items:flex-start;gap:8px;margin:6px 0;display:flex}.img-edit-row{align-items:center;gap:10px;display:flex}.thumb{object-fit:cover;border:1px solid var(--border);background:var(--surface-2);border-radius:8px;width:96px;height:72px;display:block}.file-btn{flex-direction:row;font-size:16px;display:inline-flex}.key-select{width:72px}.opt-edit{align-items:center;gap:8px;margin-bottom:8px;display:flex}.opt-key-btn{border:1px solid var(--border);background:var(--surface);width:44px;height:44px;color:var(--muted);cursor:pointer;transition:background-color .15s var(--ease), color .15s var(--ease);border-radius:10px;flex:none;font-weight:750}.opt-key-btn.on{background:var(--ok);border-color:var(--ok);color:var(--on-accent)}.skel{border-radius:var(--radius);background:var(--surface-2);animation:1.2s ease-in-out infinite pulse}.skel-tabs{height:50px;margin-bottom:22px}.skel-line{width:40%;height:14px;margin-bottom:12px}.skel-card{height:118px}@keyframes pulse{50%{opacity:.55}}.fade-in{animation:fade-up .22s var(--ease) both}.stagger{animation:fade-up .24s var(--ease) both;animation-delay:calc(var(--i,0) * 40ms)}@keyframes fade-up{0%{opacity:0;transform:translateY(6px)}}@keyframes reveal{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.btn:active:not(:disabled),.seg button:active,.course-card:active:not(:disabled),button.course-card:not(:disabled):hover{transform:none}}.emq-theme{margin:0 0 6px;font-weight:650}.emq-lead{color:var(--muted);font-size:15px}.emq-lead p{margin:0 0 10px}.options.emq{gap:6px}.options.emq .opt{border-radius:10px;gap:10px;min-height:44px;padding:8px 12px}.options.emq .opt-key{width:26px;height:26px;font-size:14px}.emq-stem{border-left:3px solid var(--accent);background:var(--surface-2);border-radius:10px;margin-top:14px;padding:12px 14px 2px}.emq-items{gap:6px;margin-top:8px;display:grid}.avatar{background:var(--surface-2);-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}.avatar.letter{background:var(--accent-weak);color:var(--accent);font-weight:700}.me-btn{max-width:60%;min-height:44px;color:var(--muted);cursor:pointer;transition:background-color .2s var(--ease);background:0 0;border:0;border-radius:24px;align-items:center;gap:10px;padding:4px 4px 4px 10px;display:inline-flex}.me-btn .hello{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@media (hover:hover){.me-btn:hover{background:var(--surface-2)}}.progress-panel{grid-template-columns:minmax(0,1fr);gap:10px;margin-bottom:18px;display:grid}.continue-card{border-color:var(--accent);background:var(--accent-weak);width:100%;color:var(--text);text-align:left;cursor:pointer;transition:transform .15s var(--ease), box-shadow .2s var(--ease);flex-direction:column;align-items:stretch;gap:4px;padding:14px 16px;display:flex}.continue-card:active{transform:scale(.98)}.continue-card.exam{border-color:var(--bad);background:var(--surface)}.continue-card.empty-continue{border-style:dashed;border-color:var(--border);cursor:default;background:0 0}.continue-card .bar{background:var(--surface);margin-top:6px}.continue-label{color:var(--accent);font-size:14px;font-weight:650}.continue-card.exam .continue-label{color:var(--bad)}.continue-title{font-size:18px;font-weight:650;line-height:1.3}.continue-meta{color:var(--muted);font-size:15px}.continue-go{color:var(--accent);align-self:flex-end;font-size:15px;font-weight:600}.continue-card.exam .continue-go{color:var(--bad)}.continue-skel{height:118px}.continue-more{gap:2px;display:grid}.link-row{border:0;border-bottom:1px solid var(--border);min-width:0;min-height:44px;color:var(--text);text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:baseline;gap:10px;padding:8px 4px;display:flex}.link-row-title{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-weight:550;overflow:hidden}.link-row .small{flex:none}.course-progress{padding:4px 0;display:grid}.cp-row{color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;gap:5px;padding:10px 16px;display:grid}.cp-row+.cp-row{border-top:1px solid var(--border)}.cp-top{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.cp-title{font-weight:600}.cp-pct{font-variant-numeric:tabular-nums;flex:none;font-size:17px;font-weight:700}.week-card{width:100%;min-height:60px;color:var(--text);text-align:left;cursor:pointer;align-items:center;gap:12px;padding:10px 16px;display:flex}.week-icon{color:#b88a00;place-items:center;width:40px;height:40px;display:grid}.week-icon svg{width:26px;height:26px}.week-text{flex:1;min-width:0;display:grid}@media (hover:hover){.continue-card:not(.empty-continue):hover,.week-card:hover{box-shadow:0 6px 16px #00000012}.cp-row:hover,.link-row:hover{background:var(--surface-2)}}.run-bar{background:var(--surface-2);border-radius:2px;height:4px;margin:-4px 0 12px;overflow:hidden}.run-bar span{background:var(--accent);height:100%;transition:width .4s var(--ease);border-radius:2px;display:block}.before-row{background:var(--surface-2);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;margin:10px 0 0;padding:4px 4px 4px 14px;display:flex}.opt.ok,.opt.bad{animation:pop .26s var(--ease)}@keyframes pop{40%{transform:scale(1.015)}}.account-head{align-items:center;gap:14px;margin:4px 0 16px;display:flex}.account-name{overflow-wrap:anywhere;font-size:20px;font-weight:650}.account .form-card{margin-bottom:14px}.account .hint{margin:-4px 0 0}.field-label{font-size:15px;font-weight:550}.avatar-grid{grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:6px;display:grid}.avatar-pick{cursor:pointer;min-height:52px;transition:border-color .15s var(--ease), transform .15s var(--ease);background:0 0;border:2px solid #0000;border-radius:12px;justify-content:center;align-items:center;display:flex}.avatar-pick.on{border-color:var(--accent);background:var(--accent-weak)}.avatar-pick:active{transform:scale(.94)}.form-error.wrap{white-space:normal}.lb-week{margin:0 0 12px}.lb-me{align-items:center;gap:12px;margin-bottom:14px;padding:12px 14px;display:flex}.lb-me-text{gap:2px;min-width:0;display:grid}.lb-me .link-btn{min-height:0;font-size:inherit;padding:0}.lb-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.lb-row{align-items:center;gap:12px;min-height:60px;padding:8px 14px;display:flex}.lb-row.first{background:color-mix(in srgb, #f0be00 9%, var(--surface));border-color:#e0b100}.lb-row.me{border-color:var(--accent)}.lb-rank{text-align:center;font-variant-numeric:tabular-nums;flex:none;width:32px;font-size:20px;font-weight:700}.lb-name{overflow-wrap:anywhere;flex:1;align-items:center;gap:8px;min-width:0;font-weight:600;display:flex}.lb-score{font-variant-numeric:tabular-nums;flex:none;font-size:18px;font-weight:700}.lb-last{gap:6px;margin-top:16px;padding:12px 14px;display:grid}.lb-last-row{align-items:center;gap:8px;display:flex}.lb-rules{margin-top:18px}.leaderboard .year-tabs{margin-bottom:12px}@media (prefers-reduced-motion:reduce){.continue-card:active,.avatar-pick:active{transform:none}}.link-btn.inline-link{min-height:0;font-size:inherit;vertical-align:baseline;padding:0 4px}.modal-back{z-index:50;animation:fade .2s var(--ease) both;background:#0a0c1073;justify-content:center;align-items:flex-end;padding:16px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}@media (min-width:640px){.modal-back{align-items:center}}.modal{width:100%;max-width:440px;max-height:calc(100dvh - 32px);animation:fade-up .26s var(--ease) both;flex-direction:column;gap:12px;padding:18px 16px 12px;display:flex;overflow-y:auto;box-shadow:0 20px 50px #00000040}.nick-head{align-items:center;gap:14px;display:flex}.nick-head h2{margin:0 0 2px;font-size:19px}.nick-head p,.nick-modal .center{margin:0}.gift-modal{text-align:center;align-items:center}.gift-modal h2{margin:0;font-size:20px}.gift-modal p{margin:0}.gift-modal .row{width:100%;margin-top:4px}.gift-icon{color:var(--accent);animation:gift-pop .52s var(--ease) .12s both}.gift-list{text-align:left;flex-direction:column;gap:8px;width:100%;margin:0;padding:0;list-style:none;display:flex}.gift-list li{border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}@keyframes gift-pop{0%{opacity:0;transform:scale(.6)rotate(-8deg)}60%{opacity:1;transform:scale(1.08)rotate(4deg)}to{transform:none}}@keyframes fade{0%{opacity:0}}.period-tabs{margin-bottom:12px}.lb-list+.lb-me,.empty+.lb-me{margin-top:14px}.lb-only{margin:12px 0 0}.lb-only+.lb-me{margin-top:10px}.mode-grid>.mode:last-child:nth-child(odd){grid-column:1/-1}.repeat-line{color:var(--muted);margin:-2px 0 10px;font-size:14px;line-height:1.5}.chip.repeat{background:var(--accent-weak);color:var(--accent);margin-right:4px}.opt.has-pct{background-image:linear-gradient(90deg, var(--surface-2) var(--pct), transparent var(--pct));position:relative}.opt.ok.has-pct{background-image:linear-gradient(90deg, #0b7a5524 var(--pct), transparent var(--pct))}.opt.bad.has-pct{background-image:linear-gradient(90deg, #c22f2f1f var(--pct), transparent var(--pct))}.opt-pct{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;margin-left:auto;padding-top:2px;font-size:14px;font-weight:650}.opt.has-pct.dim{opacity:.8}.stats-line{color:var(--muted);margin:4px 0 0;font-size:14px}.report-row{text-align:right;margin:-8px 0 10px}.report-link{color:var(--muted);font-size:14px;font-weight:500}.report-done{color:var(--ok);text-align:right;margin:-6px 0 12px;font-size:14px}.report-form{flex-direction:column;gap:10px;margin:-4px 0 14px;padding:14px;display:flex}.report-form label{flex-direction:column;gap:6px;font-weight:600;display:flex}.report-form textarea{font-weight:400}.report-form .row .btn{flex:1}.chal-new p{margin-top:0}.chal-hero{text-align:center;flex-direction:column;align-items:center;gap:6px;margin:8px 0 16px;padding:22px 16px;display:flex}.chal-hero p{margin:0}.chal-hero .btn.big{width:100%;max-width:320px;margin-top:10px}.chal-from{color:var(--muted);font-weight:600}.chal-title{margin:0;font-size:22px;line-height:1.3}.chal-beat{font-size:18px}.chal-score .score-sub{margin-bottom:4px}.chal-score p{margin:0}.chal-verdict{font-size:18px;font-weight:700;margin-top:8px!important}.chal-share{text-align:center;flex-direction:column;gap:10px;margin:12px 0;padding:16px;display:flex}.chal-share p{margin:0}.chal-share a.btn{justify-content:center;align-items:center;text-decoration:none;display:flex}.chal-upsell .btn{margin-bottom:12px}.chal-answers-btn{width:100%;margin:16px 0}.chal-finish{text-align:center;flex-direction:column;gap:8px;margin-bottom:14px;padding:14px;display:flex}.chal-finish p{margin:0}.chal-invite{width:100%;max-width:340px;padding:14px 16px}.chal-invite p{margin:0 0 4px}.chal-invite p:last-child{margin-bottom:0}.report-card{flex-direction:column;gap:6px;padding:12px 14px;display:flex}.report-card p{margin:0}.report-top{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.report-top .small{margin-right:auto}.report-stem{font-size:15px}.report-note{border-left:3px solid var(--accent);background:var(--accent-weak);white-space:pre-wrap;border-radius:6px;margin:2px 0;padding:8px 12px}.report-card .row{flex-wrap:wrap;margin-top:4px}.hard-list{margin-top:10px}.hard-pct{font-variant-numeric:tabular-nums;flex:none;width:48px;font-weight:750}.hard-pct.low{color:var(--bad)}.hard-meta{margin-top:2px;display:block}.public-actions.signup-first{flex-direction:column-reverse}.exam-card{flex-direction:column;gap:2px;margin:12px 0;padding:12px 14px;display:flex}.exam-when{background:var(--accent-weak);color:var(--accent);border-radius:999px;align-self:flex-start;padding:1px 8px;font-size:14px;font-weight:600;display:inline-block}.exam-card .exam-when{margin-bottom:4px}.exam-more{border-top:1px solid var(--border);margin:8px 0 0;padding:8px 0 0;font-size:14px;list-style:none}.exam-more li{flex-wrap:wrap;justify-content:space-between;gap:2px 10px;padding:2px 0;display:flex}.cal-card{margin:4px 0 18px;padding:16px}.cal-hero{align-items:center;gap:16px;display:flex}.cal-count{background:var(--accent-weak);min-width:84px;color:var(--accent);animation:cal-pop .5s var(--ease) both;border-radius:14px;flex-direction:column;flex:none;justify-content:center;align-items:center;padding:10px 12px;display:flex}.cal-count.close{background:var(--accent);color:var(--on-accent)}.cal-num{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:38px;font-weight:750;line-height:1}.cal-num.now{letter-spacing:0;font-size:22px}.cal-unit{text-transform:uppercase;letter-spacing:.06em;margin-top:2px;font-size:13px;font-weight:650}.cal-next{flex-direction:column;gap:1px;min-width:0;display:flex}.cal-kicker{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:13px;font-weight:600}.cal-title{font-size:17px;font-weight:700;line-height:1.3}.cal-now{background:var(--surface-2);border-radius:10px;margin-top:14px;padding:10px 12px;font-size:14px}.cal-now-top{flex-wrap:wrap;justify-content:space-between;gap:2px 10px;font-weight:600;display:flex}.cal-live{background:var(--accent);vertical-align:1px;border-radius:50%;width:8px;height:8px;margin-right:7px;animation:2.4s ease-in-out infinite cal-breathe;display:inline-block}.cal-bar{background:var(--border);border-radius:999px;height:6px;margin-top:8px;overflow:hidden}.cal-bar span{border-radius:inherit;background:var(--accent);height:100%;transition:width .9s var(--ease);display:block}.cal-tip{color:var(--muted);margin:12px 0 0;font-size:14px}.cal-more{border-top:1px solid var(--border);margin-top:12px}.cal-more>summary{cursor:pointer;align-items:baseline;gap:8px;padding:12px 0 0;font-weight:600;list-style:none;display:flex}.cal-more>summary::-webkit-details-marker{display:none}.cal-more>summary:after{content:"";border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);width:8px;height:8px;transition:transform .2s var(--ease);margin-left:auto;transform:translateY(-3px)rotate(45deg)}.cal-more[open]>summary:after{transform:translateY(1px)rotate(-135deg)}.cal-list{margin:6px 0 0;padding:0;list-style:none}.cal-month{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:14px 0 4px;font-size:13px;font-weight:650}.cal-item{animation:fade-up .35s var(--ease) both;animation-delay:calc(min(var(--i), 12) * 30ms);align-items:flex-start;gap:12px;padding:7px 0 7px 2px;display:flex;position:relative}.cal-item:before{content:"";background:var(--border);width:2px;position:absolute;top:0;bottom:0;left:7px}.cal-li:first-child .cal-item:before{top:14px}.cal-li:last-child .cal-item:before{bottom:calc(100% - 14px)}.cal-dot{border:2px solid var(--muted);background:var(--surface);border-radius:50%;flex:none;width:12px;height:12px;margin-top:4px;position:relative}.cal-item.k-teaching .cal-dot{border-color:var(--border);background:var(--surface-2)}.cal-item.k-break .cal-dot{border-style:dashed}.cal-item.k-exam .cal-dot,.cal-item.k-final .cal-dot{border-color:var(--accent);background:var(--accent)}.cal-item.now .cal-dot,.cal-item.next .cal-dot{box-shadow:0 0 0 4px var(--accent-weak);border-color:var(--accent)}.cal-body{flex-direction:column;flex:1;min-width:0;display:flex}.cal-label{font-size:15px;line-height:1.35}.cal-item.k-exam .cal-label,.cal-item.k-final .cal-label{font-weight:650}.cal-date{color:var(--muted);font-size:13px}.cal-when{color:var(--accent);white-space:nowrap;flex:none;padding-top:1px;font-size:13px;font-weight:650}.cal-item.past{opacity:.55}.cal-item.past .cal-when{color:var(--muted)}.cal-item.past .cal-dot{border-color:var(--muted);background:var(--muted)}@keyframes cal-pop{0%{opacity:0;transform:scale(.92)}}@keyframes cal-breathe{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.cal-count,.cal-item,.cal-live{animation:none}.cal-bar span{transition:none}}.mine-tag{background:var(--surface-2);color:var(--muted);letter-spacing:0;text-transform:none;vertical-align:1px;border-radius:999px;margin-left:8px;padding:0 7px;font-size:12px;font-weight:600;display:inline-block}.mine-x{width:28px;height:28px;color:var(--muted);vertical-align:middle;cursor:pointer;background:0 0;border:0;border-radius:50%;margin:-4px 0 -4px 2px;font-size:18px;line-height:1}.mine-x:hover{background:var(--surface-2)}.exam-name{display:inline}.my-date-link{color:var(--muted);align-self:flex-start;margin:6px 0 -8px -6px;font-weight:550}.my-date-link:hover{color:var(--accent)}.my-date-solo{margin:4px 0 8px}.my-date-solo .my-date-link{margin:0 0 0 -6px}.my-date-solo .my-date-form{border:1px solid var(--border);background:var(--surface);border-radius:14px;padding:14px}.my-date-form{border-top:1px solid var(--border);flex-direction:column;gap:12px;margin-top:12px;padding-top:14px;display:flex}.my-date-empty .my-date-form,.my-date-solo .my-date-form{border-top:0;margin-top:0}.my-date-empty .my-date-form{flex:1;padding-top:0}.my-date-form input[type=date]{padding-inline-start:10px;padding-inline-end:10px}.my-date-head{flex-direction:column;gap:2px;margin:0;display:flex}.my-date-actions{justify-content:flex-end;gap:8px;display:flex}.my-date-empty{flex-wrap:wrap;align-items:center;gap:12px 14px;margin:4px 0 18px;padding:14px 16px;display:flex}.my-date-icon{background:var(--accent-weak);width:40px;height:40px;color:var(--accent);border-radius:12px;flex:none;place-items:center;display:grid}.my-date-text{flex-direction:column;flex:1;gap:1px;min-width:180px;display:flex}.my-date-btns{align-items:center;gap:4px;margin-left:auto;display:flex}.my-date-later{color:var(--muted);font-weight:550}.soon-card{border-style:dashed;flex-direction:column;gap:4px;margin:12px 0;padding:14px 16px;display:flex}.soon-card p{margin:0}.soon-pill{background:var(--surface-2);color:var(--muted);border-radius:999px;align-self:flex-start;margin-bottom:4px;padding:1px 9px;font-size:13px;font-weight:650}.cc-peek{color:var(--muted);margin-left:auto;font-size:14px;font-weight:600}.chapter-soon{color:var(--muted)}.soon-tag{color:var(--muted);flex:none;font-size:14px;font-style:italic}.social{flex-direction:column;align-items:center;gap:8px;width:100%;margin:8px 0 4px;display:flex}.social-title{color:var(--muted);margin:0;font-size:14px;font-weight:600}.social-row{grid-template-columns:repeat(3,1fr);gap:8px;width:100%;max-width:360px;display:grid}.social-btn{--brand:#888;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-height:68px;color:var(--text);transition:transform .18s var(--ease), box-shadow .18s var(--ease), border-color .18s var(--ease);flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:10px 4px 8px;font-size:13px;font-weight:600;text-decoration:none;display:flex}.social-btn svg{width:28px;height:28px;transition:transform .25s var(--ease);flex:none}.social-instagram{--brand:#e1306c}.social-telegram{--brand:#26a5e4}.social-whatsapp{--brand:#25d366}.social-btn:hover{border-color:var(--brand);box-shadow:0 4px 14px color-mix(in srgb, var(--brand) 28%, transparent);text-decoration:none;transform:translateY(-2px)}.social-btn:focus-visible{border-color:var(--brand);box-shadow:0 4px 14px color-mix(in srgb, var(--brand) 28%, transparent);text-decoration:none;transform:translateY(-2px)}.social-btn:hover svg{transform:scale(1.12)rotate(-6deg)}.social-btn:active{transform:translateY(0)scale(.97)}@media (prefers-reduced-motion:reduce){.social-btn,.social-btn svg{transition:none}.social-btn:hover,.social-btn:active,.social-btn:hover svg{transform:none}.social-btn:focus-visible{transform:none}}.crumbs{flex-wrap:wrap;align-items:center;gap:2px 6px;margin:4px 0 12px;font-size:15px;display:flex}.crumb-back{border:1px solid var(--border);background:var(--surface);min-width:44px;min-height:44px;color:inherit;border-radius:10px;margin-right:4px;font-size:18px}.crumb{align-items:center;gap:6px;display:inline-flex}.crumb .link-btn{min-height:44px}.crumb [aria-current]{font-weight:600}.crumb-sep{color:var(--muted)}.source-tabs{scrollbar-width:none;overflow-x:auto}.source-tabs button{white-space:nowrap}.expl-opts{gap:6px;margin:8px 0;padding:0;list-style:none;display:grid}.expl-opts li{border:1px solid var(--border);border-radius:10px;gap:8px;padding:8px 10px;display:flex}.expl-opts li.ok{border-color:var(--ok);background:var(--ok-weak)}.expl-opts .opt-key{flex:none;font-weight:700}.key-point{border-left:4px solid var(--accent);background:var(--accent-weak);border-radius:10px;margin:12px 0;padding:10px 12px}.key-point h3{margin:0 0 4px}.expl-fig,.stem-fig{margin:12px 0 0}.expl-fig figcaption,.stem-fig figcaption{margin-top:6px;font-size:14px}.img-credit{color:var(--muted);margin-top:2px;font-size:12px;display:block}.chip.repeat-n{margin-bottom:6px}.btn.app-btn{align-items:center;gap:7px;font-weight:600;display:inline-flex}.btn.app-btn svg{flex:none;width:20px;height:20px}.imp-drop{text-align:center;border:2px dashed var(--border);cursor:pointer;transition:border-color .2s var(--ease), background-color .2s var(--ease);flex-direction:column;align-items:center;gap:6px;padding:28px 16px;display:flex}.imp-drop.over,.imp-drop:hover{border-color:var(--accent);background:var(--accent-weak)}.imp-drop.busy{opacity:.6;cursor:progress}.imp-drop-title{font-size:17px;font-weight:600}.imp-count{margin-top:4px;font-size:14px}.imp-progress{color:var(--muted);align-items:center;gap:8px;margin:12px 0;display:flex}.imp-progress .spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite imp-spin}@keyframes imp-spin{to{transform:rotate(360deg)}}.imp-totals{grid-template-columns:repeat(4,1fr);margin-bottom:12px}.imp-totals .bad b{color:var(--bad)}.imp-course{margin-bottom:10px;padding:12px}.imp-course h3{margin:0 0 8px;font-size:16px}.imp-table{border-collapse:collapse;width:100%;font-size:14px}.imp-table th,.imp-table td{border-top:1px solid var(--border);text-align:right;vertical-align:top;padding:6px 4px}.imp-table th{color:var(--muted);border-top:0;font-size:12px;font-weight:500}.imp-table th:first-child,.imp-table td:first-child{text-align:left;overflow-wrap:anywhere;width:100%}.imp-table td:not(:first-child){white-space:nowrap;padding-left:10px}.imp-table .chip{margin-left:6px}.imp-problems{margin-bottom:10px;padding:10px 12px}.imp-problems summary{cursor:pointer;min-height:28px;font-weight:600}.imp-problems ul{overflow-wrap:anywhere;margin:8px 0 0;padding-left:18px;font-size:14px}.imp-problems li+li{margin-top:4px}.imp-actions{flex-direction:column;gap:8px;margin-top:8px;display:flex}@media (prefers-reduced-motion:reduce){.imp-progress .spinner{animation:none}}.list-done{text-align:center;flex-direction:column;align-items:center;gap:6px;margin:12px 0;padding:14px 16px;display:flex}.other-years{justify-content:center;margin:22px 0 0;display:flex}.other-years .pills{justify-content:center}.other-years .link-btn{min-height:44px}.oral-tips{margin-bottom:6px;padding:0}.oral-tips summary{cursor:pointer;align-items:center;gap:12px;min-height:56px;padding:12px 16px;list-style:none;display:flex}.oral-tips summary::-webkit-details-marker{display:none}.oral-tips summary>span:last-child{flex-direction:column;flex:1;display:flex}.oral-tips summary:after{content:"›";color:var(--muted);transition:transform .2s var(--ease);font-size:22px}.oral-tips[open] summary:after{transform:rotate(90deg)}.oral-tips-icon{background:var(--accent-weak);width:28px;height:28px;color:var(--accent);border-radius:50%;flex:none;place-items:center;font-family:Georgia,serif;font-style:italic;font-weight:700;display:grid}.oral-tips-body{border-top:1px solid var(--border);padding:0 16px 14px}.oral-tips-body p{margin:10px 0 0}.oral-topics{grid-template-columns:1fr 1fr;gap:10px;display:grid}.oral-topic-card{text-align:left;flex-direction:column;align-items:stretch;gap:4px;min-height:118px;padding:14px;display:flex}.oral-topic-card .mode-title{font-size:16px}.oral-topic-foot{flex-direction:column;gap:6px;margin-top:auto;padding-top:8px;display:flex}.oral-run{padding-bottom:8px}.bottom-nav.oral-nav{margin:16px -16px 0;position:sticky}.oral-run-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.oral-back{min-height:44px;padding-left:0}.oral-card{position:relative}.oral-chips{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px;display:flex}.chip.year-chip{padding:1px 7px;font-size:12px;font-weight:600}.chip.oral-known{background:var(--ok-weak);color:var(--ok)}.oral-question{margin:0 0 18px;font-size:20px;font-weight:650;line-height:1.35}.oral-question.long{font-size:17px;font-weight:400;line-height:1.55}.oral-question.long p{margin:0 0 12px}.oral-question.long p:last-child{margin-bottom:0}.oral-show{width:100%;min-height:52px}.oral-label{color:var(--accent);margin-bottom:4px;font-size:14px;font-weight:650;display:block}.oral-short{background:var(--accent-weak);border-radius:10px;margin-bottom:12px;padding:12px 14px}.oral-answer .expl ul{margin:4px 0 8px;padding-left:20px}.oral-answer .expl li{margin:3px 0}.oral-ref{color:var(--muted);margin:12px 0 0;font-size:12px}.oral-video{align-items:center;gap:12px;margin-top:14px;display:flex}.oral-watch{flex:none;gap:6px;min-height:44px}.oral-video-meta{overflow-wrap:anywhere;flex-direction:column;min-width:0;font-size:13px;line-height:1.35;display:flex}.video-modal{gap:0;max-width:720px;padding:0;overflow:hidden}.video-frame{aspect-ratio:16/9;background:#000;position:relative}.video-frame iframe{border:0;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.video-foot{justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.video-foot .btn{flex:none;min-height:44px}@media (min-width:640px){.video-back{align-items:center}}.oral-rate{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:8px;margin-top:16px;padding-top:14px;display:grid}.oral-rate .btn{min-height:48px}@media (min-width:720px){.oral-topics{grid-template-columns:repeat(3,1fr)}}@media (prefers-reduced-motion:reduce){.oral-tips summary:after{transition:none}}.part-tabs{margin-bottom:14px}@media (max-width:600px){.qcard.card{background:0 0;border:0;border-radius:0;padding:6px 0 4px}.qcard .expl{margin-top:18px}}.stem{font-size:1.03em;line-height:1.6}.options{margin-top:4px}.opt{border-radius:14px}:root[data-text=small] .qarea{font-size:15px}:root[data-text=large] .qarea{font-size:20px}:root[data-text=xl] .qarea{font-size:23px}:root[data-text=xl] .opt-key{width:34px;height:34px;font-size:18px}:root[data-text=large] .opt-key{width:32px;height:32px;font-size:17px}.seg-large{font-size:19px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) ::highlight(ka-hl){background-color:#facc1561}}:root[data-theme=dark] ::highlight(ka-hl){background-color:#facc1561}.toast{left:50%;bottom:calc(84px + env(safe-area-inset-bottom));z-index:60;background:var(--text);max-width:calc(100vw - 32px);color:var(--bg);text-align:center;width:max-content;animation:toast-in .22s var(--ease) both;pointer-events:none;border-radius:999px;padding:10px 16px;font-size:15px;font-weight:600;position:fixed;transform:translate(-50%);box-shadow:0 6px 20px #0000002e}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}}.icon-btn.bm.on{color:#d99a00}.icon-btn.bm.on span{animation:pop .26s var(--ease);display:inline-block}.tabbar{z-index:40;max-width:760px;padding:4px 8px env(safe-area-inset-bottom);background:var(--bg);background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border);grid-template-columns:repeat(4,1fr);margin:0 auto;display:grid;position:fixed;bottom:0;left:0;right:0}.tab{min-height:56px;color:var(--muted);cursor:pointer;transition:color .15s var(--ease);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px 0;font-size:12px;font-weight:600;display:flex}.tab svg,.tab .avatar{transition:transform .15s var(--ease)}.tab.on{color:var(--accent)}.tab.on .avatar{box-shadow:0 0 0 2px var(--accent)}.tab:active svg,.tab:active .avatar{transform:scale(.9)}.has-tabs .page{padding-bottom:calc(88px + env(safe-area-inset-bottom))}.mistakes-intro{margin:0 0 14px}.mistake-count{background:var(--bad-weak);min-width:34px;color:var(--bad);text-align:center;font-variant-numeric:tabular-nums;border-radius:999px;padding:2px 10px;font-weight:700}.cc-row{align-items:center;gap:12px;display:flex}.cc-main{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.ring{animation:fade-up .3s var(--ease) both;flex:none}.ring circle{fill:none;stroke-width:5px}.ring-track{stroke:var(--surface-2)}.ring-ok{stroke:var(--ok)}.ring-bad{stroke:var(--bad);opacity:.8}.ring text{fill:var(--text);font-variant-numeric:tabular-nums;font-size:11.5px;font-weight:700}.course-card.has-ring .cc-state{min-height:0}.activity-strip{grid-template-columns:1fr 1.4fr;gap:10px;display:grid}.act-card{flex-direction:column;gap:2px;padding:12px 14px;display:flex}.act-label{color:var(--muted);font-size:13px;font-weight:600}.act-big{font-variant-numeric:tabular-nums;align-items:baseline;gap:6px;font-size:22px;font-weight:750;line-height:1.2;display:flex}.act-big small{color:var(--muted);font-size:14px;font-weight:600}.act-flame{color:#e8590c;display:inline-grid}.act-flame svg{width:22px;height:22px}.act-flame.lit svg{transform-origin:50% 90%;animation:.9s ease-in-out .3s 2 flicker}@keyframes flicker{30%{transform:scale(1.12,1.18)rotate(-4deg)}60%{transform:scale(.96,1.04)rotate(3deg)}}@media (prefers-reduced-motion:reduce){.act-flame.lit svg{animation:none}}.act-flame.off{color:var(--muted);opacity:.6}.act-sub{color:var(--muted);font-size:13px;line-height:1.35}.act-sub.up{color:var(--ok);font-weight:600}.cp-row.cp-ring{flex-direction:row;justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.cp-text{flex-direction:column;gap:2px;min-width:0;display:flex}.search-bar{border:1px solid var(--border);background:var(--surface-2);width:100%;min-height:48px;color:var(--muted);text-align:left;cursor:text;border-radius:999px;align-items:center;gap:10px;margin:10px 0 4px;padding:0 14px;font-size:16px;display:flex}.search-input{border:1.5px solid var(--border);background:var(--surface);border-radius:999px;width:100%;min-height:50px;margin:6px 0 10px;padding:0 18px;font-size:17px}.search-input:focus{border-color:var(--accent);outline:none}.search-hint{margin:6px 4px 12px}.search-results.dim{opacity:.6;transition:opacity .15s var(--ease)}.search-hit{text-align:left;cursor:pointer;flex-direction:column;gap:6px;width:100%;padding:12px 14px;display:flex}.sh-top{color:var(--muted);justify-content:space-between;gap:10px;font-size:13px;font-weight:600;display:flex}.sh-state{flex:none;font-weight:800}.sh-state.ok{color:var(--ok)}.sh-state.bad{color:var(--bad)}.sh-text{font-size:15px;line-height:1.5}.sh-text mark{color:inherit;background:#fde68a;border-radius:3px;padding:0 2px}.sh-also{color:var(--muted);font-size:13px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .sh-text mark{background:#facc1561}}:root[data-theme=dark] .sh-text mark{background:#facc1561}.pill-n{opacity:.7;font-variant-numeric:tabular-nums;font-size:.85em}.quiz-chapters{margin-top:12px}.qc-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.qc-head h3{margin:0}.qc-links{gap:14px;display:flex}.qc-group+.qc-group{border-top:1px solid var(--border);margin-top:6px;padding-top:6px}.qc-subject{font-weight:650}.qc-row{padding-left:4px}.qc-title{flex:1;min-width:0}.qc-n{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-size:14px}.qc-row.empty .qc-title{color:var(--muted)}.quiz-start{z-index:5;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--border);margin:12px -16px 16px;position:sticky;bottom:0}.quiz-start .btn{width:100%}.again-btn{width:100%;margin-top:10px}.result-parts{margin:12px 0;padding:12px 16px}.result-parts h3{margin:0 0 6px;font-size:16px}.rp-row{border:0;border-top:1px solid var(--border);width:100%;color:var(--text);text-align:left;background:0 0;flex-direction:column;gap:5px;padding:10px 0;display:flex}button.rp-row{cursor:pointer}.rp-top{justify-content:space-between;gap:10px;display:flex}.rp-title{font-weight:600}.rp-score{font-variant-numeric:tabular-nums;flex:none;font-weight:700}.rp-go{color:var(--accent);font-size:14px;font-weight:600}.lab-btn svg{margin:auto;display:block}.lab-back{z-index:70;padding:0}.lab-sheet{width:100%;max-width:640px;height:min(88vh,900px);background:var(--bg);height:min(88dvh,900px);animation:sheet-up .24s var(--ease) both;border-radius:18px 18px 0 0;flex-direction:column;display:flex;box-shadow:0 -8px 30px #0003}@media (min-width:640px){.lab-sheet{border-radius:18px}}@keyframes sheet-up{0%{opacity:0;transform:translateY(24px)}}.lab-head{justify-content:space-between;align-items:center;padding:10px 8px 0 18px;display:flex}.lab-head h2{margin:0;font-size:19px}.lab-head .icon-btn{font-size:28px}.lab-search{border:1.5px solid var(--border);background:var(--surface);border-radius:999px;width:calc(100% - 32px);min-height:46px;margin:8px 16px 6px;padding:0 16px;font-size:16px}.lab-search:focus{border-color:var(--accent);outline:none}.lab-body{-webkit-overflow-scrolling:touch;padding:4px 16px calc(20px + env(safe-area-inset-bottom));flex:1;overflow-y:auto}.lab-body h3{color:var(--muted);margin:18px 0 6px;font-size:15px;font-weight:700}.lab-list{margin:0}.lab-row{border-top:1px solid var(--border);grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:12px;padding:8px 0;font-size:15px;line-height:1.4;display:grid}.lab-row dt{font-weight:600}.lab-row dd{font-variant-numeric:tabular-nums;margin:0}.lab-part{display:block}.nowrap{white-space:nowrap}.lab-note{color:var(--muted);font-size:13px;display:block}.outbox-note{background:var(--surface-2);color:var(--muted);border-radius:10px;margin:10px 0 0;padding:8px 12px;font-size:14px}.code-row{flex-direction:column;gap:6px;margin:-2px 0 10px;display:flex}.code-form{gap:8px;display:flex}.code-form input{letter-spacing:.06em;text-transform:uppercase;flex:1;min-width:0;min-height:44px}.code-ok{background:var(--ok-weak);color:var(--ok);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 10px;padding:8px 12px;display:flex}.code-ok strong{color:var(--text)}.trial-offer{border-color:var(--ok);background:var(--ok-weak);margin:12px 0;padding:16px;position:relative}.trial-offer p{margin:4px 0 12px}.trial-offer>.btn{width:100%}.trial-badge{background:var(--ok);color:var(--on-accent);border-radius:999px;margin-bottom:6px;padding:2px 10px;font-size:13px;font-weight:700;display:inline-block}.trial-title{margin:0;font-size:19px}.trial-banner{background:var(--ok-weak);color:var(--ok);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;margin:8px 0 12px;padding:8px 8px 8px 14px;display:flex}.trial-banner strong{color:var(--text)}.trial-banner.low,.trial-timer.low{background:var(--bad-weak);color:var(--bad)}.trial-timer{background:var(--ok-weak);color:var(--ok);text-align:center;border-radius:999px;margin:-6px 0 10px;padding:4px 12px;font-size:13px;font-weight:600}.chip.trial-chip{background:var(--ok-weak);color:var(--ok)}.offers{margin-bottom:24px}.offers-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.code-card,.trial-row{flex-direction:column;gap:4px;padding:12px 14px;display:flex}.code-card.off{opacity:.6}.code-name{letter-spacing:.06em;font-weight:700}.code-value{align-items:center}.code-value .seg{flex:none;width:130px}.code-value input{flex:1;min-width:0}.code-items{border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:8px;max-height:320px;padding:8px 10px;display:flex;overflow-y:auto}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.landing{--pad:20px;--plus:polygon(33% 0, 67% 0, 67% 33%, 100% 33%, 100% 67%, 67% 67%, 67% 100%, 33% 100%, 33% 67%, 0 67%, 0 33%, 33% 33%);background:var(--bg);min-height:100dvh;overflow-x:clip}.landing h2{letter-spacing:-.03em;margin:0 0 12px;font-size:clamp(30px,4vw,52px)}.ld-bar{z-index:2;max-width:1200px;padding:14px var(--pad);justify-content:space-between;align-items:center;margin:0 auto;display:flex;position:relative}.ld-bar .logo{height:30px}.ld-bar-link{min-height:44px;color:var(--text);cursor:pointer;background:0 0;border:0;padding:0 4px;font-weight:650}.ld-bar-link:hover{color:var(--accent)}.ld-hero{max-width:1200px;padding:28px var(--pad) 0;gap:8px;margin:0 auto;display:grid}.ld-hero-text{z-index:1;position:relative}.ld-hero .notice{margin-bottom:16px}.ld-hero h1{letter-spacing:-.035em;margin:0 0 18px;font-size:clamp(42px,11.5vw,84px);font-weight:800;line-height:1}.ld-lead{max-width:34ch;margin:0 0 24px;font-size:18px}.ld-actions{flex-wrap:wrap;gap:10px;max-width:420px;display:flex}.ld-actions .btn{flex:140px}.ld-small{color:var(--muted);margin:12px 0 0;font-size:15px}.ld-stage{justify-items:center;padding:calc(min(150vw,980px)/2) 0 72px;display:grid;position:relative}.ld-plus{aspect-ratio:1;background:var(--accent);width:150vw;max-width:980px;clip-path:var(--plus);animation:plus-in 1s var(--ease) both;position:absolute;top:0;left:50%;transform:translate(-50%)}@keyframes plus-in{0%{opacity:0;transform:translate(-50%)rotate(-45deg)scale(.7)}}.ld-q{background:var(--surface);width:100%;max-width:440px;animation:fade-up .5s var(--ease) .35s both;border-radius:18px;padding:18px 16px 16px;position:relative;box-shadow:0 14px 40px #00000029}.ld-q-label{color:var(--accent);margin:0 0 6px;font-size:15px;font-weight:650}.ld-q-stem{margin:0 0 14px;font-size:17px}.ld-q .options{gap:8px;display:grid}.ld-q-why{animation:fade-up .26s var(--ease) both;margin-top:14px;font-size:16px}.ld-q-why p{margin:0 0 8px}.ld-q-verdict{border-radius:10px;padding:8px 12px;font-weight:700}.ld-q-verdict.ok{background:var(--ok-weak);color:var(--ok)}.ld-q-verdict.bad{background:var(--bad-weak);color:var(--bad)}.ld-courses{max-width:1200px;padding:0 var(--pad);margin:72px auto 0}.ld-years{scrollbar-width:none;gap:8px;margin:8px 0 20px;display:flex;overflow-x:auto}.ld-years button{background:var(--surface-2);min-height:44px;color:var(--text);cursor:pointer;transition:background-color .15s var(--ease), color .15s var(--ease);border:0;border-radius:999px;flex:none;padding:0 16px;font-weight:650}.ld-years button.on{background:var(--text);color:var(--bg)}.ld-course-list{gap:4px 48px;margin:0;padding:0;list-style:none;display:grid}.ld-course-list li{min-height:56px;animation:fade-up .26s var(--ease) both;align-items:center;gap:14px;font-size:18px;display:flex}.ld-course-plus{background:var(--accent);width:18px;height:18px;clip-path:var(--plus);flex:none}.ld-course-list li.soon .ld-course-plus{background:var(--border)}.ld-course-name{flex:1;min-width:0;font-weight:650}.ld-course-code{color:var(--muted);font-size:15px;font-weight:500}.ld-course-n{color:var(--muted);flex:none;font-size:15px}.ld-course-list li.open .ld-course-n{color:var(--accent);font-weight:650}.ld-what,.ld-how{max-width:1200px;padding:0 var(--pad);margin:72px auto 0}.ld-statement{letter-spacing:-.02em;max-width:30ch;margin:0;font-size:clamp(24px,2.3vw,32px);font-weight:650;line-height:1.3}.ld-slot{vertical-align:.06em;display:inline-block}.ld-chip{letter-spacing:0;border-radius:.3em;align-items:center;gap:.15em;height:1.25em;padding:0 .4em;font-size:.72em;font-weight:750;line-height:1;display:inline-flex}.ld-chip svg{width:.9em;height:.9em}.ld-chip.ok{background:var(--ok-weak);color:var(--ok)}.ld-chip.bad{background:var(--bad);color:var(--bg)}.ld-chip.time{background:var(--surface-2);color:var(--text)}.ld-chip.streak{background:color-mix(in srgb, #e8590c 14%, var(--surface));color:#e8590c}.ld-after{max-width:44ch;color:var(--muted);margin:24px 0 0;font-size:18px}.ld-how-intro p{max-width:46ch;margin:0;font-size:18px}.ld-steps{flex-direction:column;margin:28px 0 0;padding:0;list-style:none;display:flex}.ld-step{--fg:#0b1a13;background:var(--tone);color:var(--fg)}.ld-step.s1{--tone:#0a4f37;--fg:#fff}.ld-step.s2{--tone:#0b7a55;--fg:#fff}.ld-step.s3{--tone:#a8dcc4}.ld-step.s4{--tone:#e3f5ec}.ld-step-head{width:100%;min-height:64px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:0 20px;font-size:18px;font-weight:700;display:flex}.ld-step-plus{width:18px;height:18px;clip-path:var(--plus);transition:transform .3s var(--ease);background:currentColor;flex:none}.ld-step.open .ld-step-plus{transform:rotate(45deg)}.ld-step-body p{max-width:46ch;margin:0;padding:0 20px 24px 50px;font-size:18px}.ld-faq{max-width:760px;padding:0 var(--pad);margin:72px auto 0}.ld-cards{margin-top:28px}.ld-card{--tab-h:40px;--tab-w:116px;--tab-x:calc(var(--n) * 46px);margin-top:calc(-1 * var(--tab-h));padding:var(--tab-h) 0 var(--tab-h);background:var(--tone);clip-path:polygon(0 var(--tab-h), var(--tab-x) var(--tab-h), var(--tab-x) 0, calc(var(--tab-x) + var(--tab-w)) 0, calc(var(--tab-x) + var(--tab-w)) var(--tab-h), 100% var(--tab-h), 100% 100%, 0 100%);position:relative}.ld-card:first-child{margin-top:0}.ld-card:last-child{padding-bottom:12px}.ld-card.c0{--tone:var(--surface-2)}.ld-card.c1{--tone:var(--accent-weak)}.ld-card-tab{top:0;left:var(--tab-x);width:var(--tab-w);height:var(--tab-h);place-items:center;font-size:15px;font-weight:650;display:grid;position:absolute}.ld-card-q{width:100%;min-height:48px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:14px 20px 10px;font-size:18px;font-weight:650;display:block}.ld-card-a{max-width:50ch;animation:fade-up .22s var(--ease) both;margin:0;padding:0 20px 6px;font-size:18px}.ld-foot{padding:48px var(--pad) calc(32px + env(safe-area-inset-bottom));background:var(--surface-2);margin-top:96px}.ld-foot>*{max-width:1200px;margin-left:auto;margin-right:auto}.ld-bigplus{aspect-ratio:1;grid-template:repeat(3,1fr)/repeat(3,1fr);gap:5px;width:min(34svh,60vw);margin-left:0;display:grid}.ld-bigplus span{background:var(--accent)}.ld-bigplus .b1{grid-area:1/2}.ld-bigplus .b2{background:#0e9f6e;grid-area:2/1}.ld-bigplus .b3{background:#0a4f37;grid-area:2/2}.ld-bigplus .b4{background:#0e9f6e;grid-area:2/3}.ld-bigplus .b5{grid-area:3/2}.ld-foot-row{gap:28px;margin-top:40px;display:grid}.ld-foot-links{flex-wrap:wrap;gap:8px 24px;font-size:15px;display:flex}.ld-foot-links a,.ld-foot-links .link-btn{min-height:44px;color:var(--text);align-items:center;display:inline-flex}.ld-foot .social{max-width:420px;margin:0}.ld-logo-btn{color:inherit;cursor:pointer;background:0 0;border:0;padding:0;display:inline-flex}.auth-wrap{max-width:1200px;padding:8px var(--pad) 32px;margin:0 auto;display:grid}.auth-main{gap:16px;max-width:440px;display:grid}.auth-page .auth-form{max-width:none;animation:fade-up .3s var(--ease) both}.auth-page .auth-title{letter-spacing:-.035em;text-align:left;margin:4px 0 8px;font-size:clamp(38px,10vw,60px);font-weight:800;line-height:1.02}.auth-page .switch-line{text-align:left}.auth-page .chal-invite,.auth-page .notice{max-width:none}.auth-art{display:none}.auth-foot{padding:0 var(--pad) calc(24px + env(safe-area-inset-bottom));justify-content:center}.ld-reveal.pre>*{opacity:0}.ld-reveal.in>*{animation:ld-rise .6s var(--ease) both}@keyframes ld-rise{0%{opacity:0;transform:translateY(24px)}}.ld-reveal.in>:nth-child(2){animation-delay:80ms}.ld-reveal.in>:nth-child(3){animation-delay:.16s}@media (min-width:900px){.landing{--pad:32px}.ld-hero{grid-template-columns:1fr 1fr;align-items:center;gap:48px;min-height:calc(100svh - 72px);padding-top:0}.ld-hero h1{font-size:clamp(52px,5.4vw,76px)}.ld-stage{padding:80px 0}.ld-plus{width:min(86vh,100%,640px);top:50%;left:50%;transform:translate(-50%,-50%)}.ld-q{max-width:400px}.ld-what{grid-template-columns:7fr 5fr;align-items:end;gap:48px;display:grid}.ld-after{margin:0}@keyframes plus-in{0%{opacity:0;transform:translate(-50%,-50%)rotate(-45deg)scale(.7)}}.ld-what,.ld-how,.ld-faq,.ld-courses{margin-top:160px}.ld-course-list{grid-template-columns:1fr 1fr}.ld-how-intro{grid-template-columns:5fr 6fr;align-items:end;gap:32px;display:grid}.ld-steps{flex-direction:row;height:360px}.ld-step{transition:flex-basis .45s var(--ease);flex-direction:column;flex:0 0 88px;justify-content:space-between;display:flex}.ld-step.open{flex:1 1 0}.ld-step:not(.open) .ld-step-head{writing-mode:vertical-rl;flex:1;justify-content:flex-end;padding:24px 0;transform:rotate(180deg)}.ld-step.open .ld-step-head{padding-top:24px;font-size:32px}.ld-step-body p{padding:0 28px 28px;font-size:18px}.ld-card{--tab-w:180px;--tab-x:calc(var(--n) * 130px)}.ld-foot-row{grid-template-columns:1fr auto;align-items:end}.auth-wrap{grid-template-columns:1fr 1fr;align-items:center;gap:48px;min-height:calc(100svh - 140px)}.auth-art{height:100%;min-height:480px;display:block;position:relative}.auth-art .ld-plus{width:min(70vh,100%,560px)}}@media (prefers-reduced-motion:reduce){.ld-plus,.auth-page .auth-form,.ld-q,.ld-q-why,.ld-card-a,.ld-course-list li,.ld-reveal.in>*{animation:none}.ld-step,.ld-step-plus{transition:none}}.marks-card{margin:12px 0;padding:0 14px}.marks-card>summary{cursor:pointer;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 10px;padding:12px 0;list-style:none;display:flex}.marks-card>summary::-webkit-details-marker{display:none}.marks-card>summary:after{content:"";border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);width:8px;height:8px;transition:transform .2s var(--ease);margin-left:auto;transform:translateY(-3px)rotate(45deg)}.marks-card[open]>summary:after{transform:translateY(1px)rotate(-135deg)}.marks-card[open]{padding-bottom:14px}.marks-seg{margin-bottom:14px}.marks-head{animation:marks-in .3s var(--ease);flex-wrap:wrap;align-items:baseline;gap:4px 6px;display:flex}.marks-total{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:40px;font-weight:750;line-height:1}.marks-cover{background:var(--accent-weak);color:var(--accent);border-radius:999px;margin-left:auto;padding:2px 10px;font-size:14px}.marks-bar{background:var(--surface-2);border-radius:999px;gap:2px;height:12px;margin:12px 0 6px;display:flex;overflow:hidden}.marks-bar span{background:color-mix(in srgb, var(--muted) 35%, transparent);transition:width .7s var(--ease);flex:none}.marks-bar span.on{background:var(--accent)}.marks-group{animation:marks-in .3s var(--ease);margin-top:12px}.marks-group-title{text-transform:uppercase;letter-spacing:.04em;margin:0 0 2px;font-size:13px;font-weight:650}.marks-row{border-bottom:1px solid var(--border);align-items:center;gap:8px;min-height:34px;padding:2px 0;display:flex}.marks-row:last-child{border-bottom:0}.marks-row:before{content:"";background:var(--border);border-radius:50%;flex:none;width:8px;height:8px}.marks-row.on:before{background:var(--accent)}.marks-label{flex:1;min-width:0}.marks-go{background:var(--accent-weak);color:var(--accent);font:inherit;white-space:nowrap;border:0;border-radius:999px;padding:3px 10px;font-size:13px;font-weight:600}button.marks-go{cursor:pointer}.marks-num{text-align:right;font-variant-numeric:tabular-nums;min-width:2.5ch;font-weight:650}@keyframes marks-in{0%{opacity:0;transform:translateY(4px)}}@media (prefers-reduced-motion:reduce){.marks-bar span,.marks-card>summary:after{transition:none}.marks-head,.marks-group{animation:none}}.money .pills{margin-bottom:12px}.money-todo{border-color:var(--accent);background:var(--accent-weak);color:var(--text);flex-direction:column;gap:2px;margin-bottom:12px;padding:12px 14px;text-decoration:none;display:flex}.money-sum{padding:6px 14px}.money-line{justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;display:flex}.money-line b{font-size:20px}.money-line.minus{color:var(--muted);padding:4px 0}.money-line.total{border-top:1px solid var(--border);margin-top:4px}.money-line .neg{color:var(--bad)}.money-sub{margin:-6px 0 6px}.month-row{border-top:1px solid var(--border);grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 0;display:grid}.month-row:first-child{border-top:0}.month-name{font-size:14px}.month-bars{flex-direction:column;gap:3px;display:flex}.month-bars span{min-width:2px;height:6px;transition:width .4s var(--ease);border-radius:3px;display:block}.mb-in{background:var(--accent)}.mb-out{background:var(--muted);opacity:.45}.month-nums{flex-direction:column;align-items:flex-end;display:flex}.code-row{grid-template-columns:minmax(0,1fr) auto auto}.code-paid{grid-column:1/-1;margin-top:-6px}.exp-row,.gift-row{text-align:left;width:100%;font:inherit;color:inherit;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.exp-row{cursor:pointer}.exp-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.gift-kind,.gift-form .seg{flex-direction:column;gap:10px;margin-top:6px;display:flex}.gift-form .seg,.gift-kind .seg{flex-direction:row}@media (prefers-reduced-motion:reduce){.month-bars span{transition:none}}.shot-pick{cursor:pointer;position:relative}.shot-pick.disabled{opacity:.6;pointer-events:none}.shot-ready,.shot-later{align-items:flex-start;gap:12px;display:flex}.shot-later{flex-wrap:wrap;align-items:center;margin-top:6px}.shot-thumb{object-fit:cover;object-position:top;border:1px solid var(--border);background:var(--surface-2);border-radius:8px;width:84px;max-height:150px}.shot-side{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.shot-other{border-radius:var(--radius);background:var(--surface-2);flex-direction:column;gap:10px;padding:12px;display:flex}.shot-other-link{align-self:flex-start}.req-shot{align-self:flex-start;display:block}.req-shot img{object-fit:cover;object-position:top;border:1px solid var(--border);background:var(--surface-2);border-radius:8px;width:120px;max-height:220px;display:block}.req-shot.big{margin-bottom:12px}.req-shot.big img{width:min(100%,320px);max-height:360px}.admin-side{display:none}.admin-bar .admin-title{margin:0;font-size:17px;font-weight:650}.admin-menu-btn{min-height:40px;padding:6px 14px;font-size:15px}.admin-menu{animation:fade-up .16s var(--ease) both;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 6px;margin:0 0 14px;padding:6px;display:grid}.admin-menu .admin-approve{grid-column:1/-1}.admin-group{padding:4px 0}.admin-group-title{color:var(--muted);margin:8px 10px 2px;font-size:13px;font-weight:600}.admin-link,.admin-approve{width:100%;min-height:40px;color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:background-color .12s var(--ease);background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:15px;text-decoration:none;display:flex}.admin-link:hover{background:var(--surface-2)}.admin-link.on{background:var(--surface-2);font-weight:650}.admin-approve{background:var(--accent-weak);color:var(--accent);margin-bottom:2px;font-weight:650}.admin-approve:hover{filter:brightness(.97)}.admin-link:active,.admin-approve:active{transform:scale(.98)}@media (min-width:960px){.admin-shell{grid-template-columns:232px minmax(0,1fr);max-width:1240px;margin:0 auto;display:grid}.admin-side{height:100vh;border-right:1px solid var(--border);flex-direction:column;height:100dvh;padding:16px 12px 24px;display:flex;position:sticky;top:0;overflow-y:auto}.admin-brand{color:var(--text);align-items:center;gap:10px;padding:6px 10px 14px;font-weight:650;text-decoration:none;display:flex}.admin-shell .page.admin{width:100%;max-width:960px;margin:0;padding:0 32px 48px}.admin-shell .admin-bar{margin:0 -32px 18px;padding:14px 32px}.admin-bar .icon-btn,.admin-menu-btn,.admin-menu{display:none}.admin-bar .admin-title{letter-spacing:-.01em;font-size:22px}}.quick-search{gap:8px;margin-bottom:12px;display:flex}.quick-search input{flex:1;min-width:0}.todo{margin-bottom:4px;padding:2px 14px}.todo.has-work{border-color:var(--accent)}.todo-row .btn{white-space:nowrap;flex-shrink:0}.todo-row{justify-content:space-between;align-items:center;gap:12px;margin:0;padding:10px 0;display:flex}.todo-row+.todo-row{border-top:1px solid var(--border)}.figures{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 16px;display:grid}.figure{flex-direction:column;min-width:0;display:flex}.figure b{letter-spacing:-.02em;overflow-wrap:anywhere;font-size:clamp(18px,5vw,30px);font-weight:700;line-height:1.2}.figure span{color:var(--muted);font-size:13px;line-height:1.35}.trends{gap:10px;display:grid}@media (min-width:700px){.trends{grid-template-columns:repeat(3,minmax(0,1fr))}}.trend{padding:12px 14px 10px}.trend-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.trend-best{margin:0 0 10px}.trend-total{letter-spacing:-.02em;margin:2px 0 0;font-size:24px;display:block}.daybars{margin:0}.daybars svg{width:100%;height:64px;display:block}.daybars rect{fill:var(--accent);opacity:.5;transition:opacity .12s var(--ease)}.daybars rect.today,.daybars rect:hover{opacity:1}.daybars-base{stroke:var(--border);vector-effect:non-scaling-stroke}.daybars-axis{justify-content:space-between;gap:8px;margin-top:4px;font-size:12px;display:flex}.table-card{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:15px}.data-table th,.data-table td{border-top:1px solid var(--border);text-align:left;vertical-align:top;padding:10px 12px}.data-table thead th{color:var(--muted);vertical-align:bottom;border-top:0;font-size:13px;font-weight:600;line-height:1.3}.data-table tbody th{font-weight:400}.data-table .num{text-align:right;white-space:nowrap}.bad-text{color:var(--bad)}@media (max-width:559px){.hide-phone{display:none}.data-table{font-size:14px}.data-table th,.data-table td{padding:10px 5px}.data-table thead th{font-size:12px}.data-table th:first-child,.data-table td:first-child{padding-left:12px}}.list-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.list-head p{margin:0}.list-head .btn{white-space:nowrap;flex-shrink:0}@media (prefers-reduced-motion:reduce){.admin-link:active,.admin-approve:active{transform:none}}:root{--hl-yellow:#fde68a;--hl-green:#bbf7d0;--hl-blue:#bfdbfe;--hl-pink:#fbcfe8}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--hl-yellow:#facc1561;--hl-green:#4ade8052;--hl-blue:#60a5fa61;--hl-pink:#f472b65c}}:root[data-theme=dark]{--hl-yellow:#facc1561;--hl-green:#4ade8052;--hl-blue:#60a5fa61;--hl-pink:#f472b65c}:root[data-hl=green] ::highlight(ka-hl){background-color:var(--hl-green)}:root[data-hl=blue] ::highlight(ka-hl){background-color:var(--hl-blue)}:root[data-hl=pink] ::highlight(ka-hl){background-color:var(--hl-pink)}.swatches{gap:12px;margin:2px 0 4px;display:flex}.swatch{border:1px solid var(--border);cursor:pointer;width:40px;height:40px;transition:transform .16s var(--ease);border-radius:50%}.swatch.on{outline:2.5px solid var(--text);outline-offset:2px}.swatch:active{transform:scale(.92)}.hl-yellow{background:var(--hl-yellow)}.hl-green{background:var(--hl-green)}.hl-blue{background:var(--hl-blue)}.hl-pink{background:var(--hl-pink)}.seg .size-s{font-size:13px}.seg .size-m{font-size:16px}.seg .size-l{font-size:20px}.seg .size-xl{font-size:24px}.gear-btn svg{margin:auto;display:block}.settings-sheet{height:auto;max-height:min(88dvh,900px)}.settings-body{flex-direction:column;gap:8px;padding-top:8px;display:flex}.settings-body .field-label{margin-top:10px}.settings-body .hint{margin:0}.sheet-sub{border-top:1px solid var(--border);margin:18px 0 2px;padding-top:14px;font-size:16px}.toggle-row{cursor:pointer;flex-direction:row;justify-content:space-between;align-items:center;gap:16px;min-height:52px;display:flex}.toggle-row>span{flex-direction:column;gap:2px;display:flex}.toggle-row .switch{-webkit-appearance:none;appearance:none;background:var(--border);cursor:pointer;width:46px;height:28px;min-height:0;transition:background .18s var(--ease);border:0;border-radius:14px;flex:none;margin:0;padding:0;position:relative}.switch:after{content:"";width:22px;height:22px;transition:transform .18s var(--ease);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #00000040}.toggle-row .switch:checked{background:var(--accent)}.switch:checked:after{transform:translate(18px)}.switch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.qlist,.q-wait{display:none}@media (min-width:1000px){.page.study{--pw:1240px;--lw:0px;max-width:calc(var(--pw) + var(--lw));padding-left:calc(24px + var(--lw));padding-right:24px}.page.study .topbar{margin:0 -24px 12px}:root[data-split=off] .page.study{--pw:820px}:root[data-width=full] .page.study{max-width:none}:root:not([data-qlist=off]) .page.study.has-list{--lw:76px}:root:not([data-split=off]) .study .qcard.q-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:0 32px;padding:20px 24px;display:grid;overflow:clip}:root:not([data-split=off]) .study .q-split .q-side{overscroll-behavior:contain;border-left:1px solid var(--border);max-height:calc(100dvh - 168px);padding-left:28px;position:sticky;top:72px;overflow-y:auto}:root:not([data-split=off]) .study .q-split .expl{border-top:0;margin-top:0;padding-top:0}:root:not([data-split=off]) .study .q-wait{text-align:center;justify-content:center;align-items:center;min-height:240px;display:flex}:root:not([data-qlist=off]) .study .qlist{z-index:45;width:76px;padding:calc(8px + env(safe-area-inset-top)) 0 12px;overscroll-behavior:contain;background:var(--surface);border-right:1px solid var(--border);animation:fade .2s var(--ease) both;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.qrow{height:38px;color:var(--text);text-align:center;cursor:pointer;background:0 0;border:0;flex:none;grid-template-columns:18px 1fr 14px;align-items:center;padding:0 8px 0 6px;font-size:15px;font-weight:600;display:grid}.qrow:hover{background:var(--surface-2)}.qrow.cur{background:var(--accent-weak);box-shadow:inset 3px 0 0 var(--accent)}.qrow-mark{font-size:14px}.qrow.ok .qrow-mark{color:var(--ok)}.qrow.bad .qrow-mark{color:var(--bad)}.qrow-bm{color:#e0a400;font-size:12px}}@media (prefers-reduced-motion:reduce){.swatch,.switch,.switch:after{transition:none}.qlist{animation:none!important}}@media (min-width:1000px){.page.home{max-width:1200px;padding-left:32px;padding-right:32px}.home-body{grid-template-columns:360px minmax(0,1fr);align-items:start;gap:32px;display:grid}.home-body:has(>.home-side:empty){grid-template-columns:minmax(0,1fr)}.home-side:empty{display:none}.home-side{position:sticky;top:16px}.home-side .progress-panel{margin-bottom:0}.page.home .course-list,.home-main .list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;display:grid}.page.home .home-foot{align-items:center}.page.home .home-foot>.row{width:100%;max-width:480px}.tabbar{grid-template-columns:repeat(4,160px);justify-content:center;max-width:1200px}}.welcome{--plus:polygon(33% 0, 67% 0, 67% 33%, 100% 33%, 100% 67%, 67% 67%, 67% 100%, 33% 100%, 33% 67%, 0 67%, 0 33%, 33% 33%);color:#fff;background:linear-gradient(140deg,#0a4f37 0%,#0b7a55 100%);border-radius:20px;margin:4px 0 20px;padding:24px 20px 20px;position:relative;overflow:hidden}.welcome-plus{aspect-ratio:1;opacity:.07;width:260px;clip-path:var(--plus);animation:welcome-plus 1.2s var(--ease) both;background:#fff;position:absolute;top:-40px;right:-60px}@keyframes welcome-plus{0%{opacity:0;transform:rotate(-45deg)scale(.8)}}.welcome-eyebrow{color:#a8dcc4;letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-size:13px;font-weight:700;position:relative}.welcome-title{letter-spacing:-.025em;max-width:18ch;margin:0;font-size:clamp(26px,6.5vw,40px);line-height:1.12;position:relative}.welcome-lead{color:#ffffffd1;max-width:52ch;margin:10px 0 0;font-size:16px;line-height:1.45;position:relative}.welcome-stats{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:10px;margin:20px 0 0;display:grid;position:relative}.welcome-stat{background:#ffffff1a;border:1px solid #ffffff24;border-radius:14px;flex-direction:column-reverse;justify-content:flex-end;gap:2px;padding:12px 14px;display:flex}.welcome-stat dd{letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:0;font-size:clamp(24px,6vw,32px);font-weight:750}.welcome-stat dt{color:#ffffffc7;font-size:13px;line-height:1.3}.home-h2{letter-spacing:-.01em;margin:0;font-size:18px;font-weight:700}.home-body.fresh{flex-direction:column;display:flex}.home-body.fresh .home-side{order:2;gap:12px;margin-top:24px;display:grid}.wyg{margin-top:28px}.wyg-grid{grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 0;padding:0;list-style:none;display:grid}.wyg-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:4px;padding:14px;display:flex}.wyg-icon{background:var(--accent-weak);width:38px;height:38px;color:var(--accent);border-radius:10px;place-items:center;margin-bottom:6px;display:grid}.wyg-title{font-size:15px;font-weight:650;line-height:1.3}.wyg-text{color:var(--muted);font-size:14px;line-height:1.4}.how{padding:16px}.how-steps{counter-reset:how;gap:14px;margin:14px 0 0;padding:0;list-style:none;display:grid}.how-steps li{counter-increment:how;flex-direction:column;gap:2px;padding-left:40px;display:flex;position:relative}.how-steps li:before{content:counter(how);background:var(--accent);width:28px;height:28px;color:var(--on-accent);border-radius:50%;place-items:center;font-size:14px;font-weight:700;display:grid;position:absolute;top:0;left:0}.how-steps li:not(:last-child):after{content:"";background:var(--border);width:1px;position:absolute;top:32px;bottom:-12px;left:13.5px}.how-title{font-weight:650}.how-text{color:var(--muted);font-size:14px;line-height:1.4}.top3{padding:16px}.top3-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.top3-list{gap:4px;margin:12px 0 0;padding:0;list-style:none;display:grid}.top3-row{grid-template-columns:24px 32px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:44px;display:grid}.top3-rank{background:var(--surface-2);width:24px;height:24px;color:var(--muted);border-radius:50%;place-items:center;font-size:13px;font-weight:750;display:grid}.top3-row.r1 .top3-rank{color:#4a3600;background:#f5c542}.top3-row.r2 .top3-rank{color:#2c333b;background:#cfd5dc}.top3-row.r3 .top3-rank{color:#4a2a10;background:#e0a878}.top3-name{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.top3-score{color:var(--muted);font-variant-numeric:tabular-nums;font-size:14px}.top3-foot{margin:10px 0 0}.cc-facts{flex-wrap:wrap;gap:6px;display:flex}.cc-fact{background:var(--surface-2);color:var(--muted);white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:13px;font-weight:600}.cc-fact.strong{background:var(--accent-weak);color:var(--accent)}.cc-fact.exam,.cc-exam{color:var(--text)}.course-card:not(.has-ring) .cc-state{border-top:1px solid var(--border);padding-top:10px}.cc-once{color:var(--muted);font-size:14px;font-weight:500}.chip.save{background:var(--accent-weak);color:var(--accent)}.acct{min-width:0;max-width:60%;position:relative}.acct .me-btn{max-width:100%}.acct-menu{z-index:30;border:1px solid var(--border);background:var(--surface);min-width:190px;animation:fade-up .16s var(--ease) both;border-radius:14px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 32px #00000024}.acct-menu button{min-height:44px;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;padding:0 12px;font-size:15px}.acct-menu button:hover{background:var(--surface-2)}.acct-menu button:focus-visible{background:var(--surface-2)}.acct-menu .acct-out{color:var(--bad)}.foot-bar{flex-direction:column;align-items:center;gap:12px;display:flex}.social.compact{width:auto;margin:0}.social.compact .social-row{gap:8px;width:auto;display:flex}.social.compact .social-btn{border-radius:50%;width:44px;min-height:44px;padding:0}.social.compact .social-btn svg{width:22px;height:22px}@media (min-width:640px){.welcome{padding:32px 32px 28px}.welcome-plus{width:380px;top:-70px;right:-50px}.wyg-grid{grid-template-columns:repeat(3,1fr)}.foot-bar{flex-direction:row;justify-content:space-between;width:100%}}@media (min-width:1000px){.home-body.fresh{display:grid}.home-body.fresh .home-side{order:0;margin-top:0}.welcome-stats{max-width:640px}.page.home .home-foot .foot-bar{max-width:none}}:root[data-theme=dark] .welcome{background:linear-gradient(140deg,#0c3527 0%,#0d5a40 100%)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .welcome{background:linear-gradient(140deg,#0c3527 0%,#0d5a40 100%)}}.refer{gap:10px;padding:16px;display:grid;position:relative;overflow:hidden}.refer-badge{background:var(--accent);width:46px;height:46px;color:var(--on-accent);border-radius:50%;place-items:center;font-size:14px;font-weight:800;display:grid;position:absolute;top:12px;right:12px;transform:rotate(-8deg)}.refer .home-h2{padding-right:56px}.refer-text{color:var(--muted);margin:0;padding-right:40px;font-size:14px;line-height:1.45}.refer-code{border:1.5px dashed var(--accent);background:var(--accent-weak);border-radius:12px;justify-content:space-between;align-items:baseline;gap:10px;padding:10px 14px;display:flex}.refer-code-label{color:var(--muted);font-size:13px;font-weight:600}.refer-code-value{color:var(--accent);letter-spacing:.06em;font-variant-numeric:tabular-nums;font-size:20px}.refer-actions{flex-wrap:wrap;gap:8px;display:flex}.refer-actions .app-btn svg{width:18px;height:18px}.refer-stats{color:var(--muted);margin:0;font-size:14px}.refer-stats strong{color:var(--accent)}.account .refer{margin-bottom:16px}.home-main .refer-narrow{margin-top:24px}.refer-wide{display:none}@media (min-width:1000px){.refer-wide{margin-top:12px;display:grid}.refer-narrow{display:none}}
