:root{--bg:#f4ece2;--bg-tint:#ece1d3;--surface:#fffdfa;--surface-2:#f8f1e8;--ink:#332e28;--ink-soft:#6c6258;--ink-faint:#a59a8c;--line:#ece0d2;--line-strong:#dccdb8;--accent:#e85c3f;--accent-ink:#fffdfa;--accent-soft:#fce3da;--accent-deep:#c9462b;--sunny:#ffc84d;--brand-ink:#2a2740;--chip-bg:#f3e7d8;--chip-ink:#8a7965;--ok:#4a6b3a;--ok-soft:#e7f0e1;--grad-accent:linear-gradient(135deg, #ff7e5f 0%, #e84a2d 100%);--grad-sunny:linear-gradient(135deg, #ffd98a 0%, #ffc84d 100%);--radius:14px;--radius-lg:22px;--radius-xl:28px;--shadow-card:0 1px 2px #5640280d, 0 8px 24px #56402814;--shadow-pop:0 6px 16px #b4462814, 0 20px 48px #56402829;--shadow-btn:0 4px 14px #e85c3f59;--ring:0 0 0 4px #e85c3f29;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.45, .64, 1);--font-body:"Hind Siliguri", system-ui, sans-serif;--font-display:"Bricolage Grotesque", "Hind Siliguri", system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.6}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(640px 420px at 86% -6%,#ffc84d29,#0000 64%),radial-gradient(720px 520px at -12% 16%,#e85c3f1a,#0000 62%);position:fixed;inset:0}#app{min-height:100svh}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink)}button{cursor:pointer;color:inherit;font-family:inherit}button:active{transform:scale(.97)}.ico{vertical-align:-.18em;flex:none;display:inline-block}@keyframes fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes pop-in{0%{opacity:0;transform:translateY(10px)scale(.97)}to{opacity:1;transform:none}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes float-y{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}@keyframes sparkle-spin{0%,to{transform:scale(1)rotate(0)}50%{transform:scale(1.25)rotate(22deg)}}@keyframes check-pop{0%{transform:scale(.4)}60%{transform:scale(1.25)}to{transform:scale(1)}}.anim-in{opacity:0;animation:fade-up .55s var(--ease-out) both;animation-delay:calc(var(--i,0) * 45ms)}.spinner{animation:.8s linear infinite spin}.skel-list{flex-direction:column;gap:12px;display:flex}.skel{border-radius:var(--radius-lg);background:linear-gradient(100deg, var(--surface-2) 40%, #fffdfa 50%, var(--surface-2) 60%);background-size:200% 100%;animation:1.4s linear infinite shimmer}.skel-row{height:64px}.skel-acc{height:58px}.skel-block{height:120px}.main{max-width:920px;margin:0 auto;padding:clamp(28px,5vw,56px) clamp(18px,5vw,56px) 120px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--accent-deep);background:color-mix(in srgb, var(--accent-soft) 70%, transparent);border:1px solid color-mix(in srgb, var(--accent) 22%, transparent);border-radius:999px;align-items:center;gap:7px;margin:0 0 12px;padding:5px 13px;font-size:12px;font-weight:700;display:inline-flex}.eyebrow .ico{color:var(--accent)}.page-title{margin:0;font-size:clamp(30px,5.4vw,44px);font-weight:700;line-height:1.12}.page-sub{color:var(--ink-soft);max-width:60ch;margin:10px 0 0;font-size:17px}.title-accent{background:var(--grad-accent);color:#0000;-webkit-background-clip:text;background-clip:text}.hero{position:relative}.hero-head{z-index:1;animation:fade-up .55s var(--ease-out) both;position:relative}.hero-art{z-index:0;color:var(--sunny);pointer-events:none;position:absolute;top:-10px;right:-6px}.hero-art .s1{animation:5s ease-in-out infinite float-y}.hero-art .s2{color:var(--accent);opacity:.55;animation:6.5s ease-in-out .8s infinite float-y;position:absolute;top:38px;right:42px}.hero-art .s3{color:var(--sunny);opacity:.7;animation:7.5s ease-in-out 1.6s infinite float-y;position:absolute;top:64px;right:12px}.section-title{align-items:center;gap:9px;margin:38px 0 14px;font-size:20px;display:flex}.section-title .ico{color:var(--accent)}.muted{color:var(--ink-soft)}.crumb{color:var(--ink-soft);margin-bottom:8px;font-size:14px}.crumb button{color:var(--ink-soft);font:inherit;background:0 0;border:0;padding:0}.crumb button:hover{color:var(--accent-deep)}.crumb b{color:var(--ink)}.topbar{z-index:40;background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(16px)saturate(1.15);backdrop-filter:blur(16px)saturate(1.15);border-bottom:1px solid color-mix(in srgb, var(--line) 80%, transparent);align-items:center;gap:12px;padding:12px clamp(18px,5vw,56px);display:flex;position:sticky;top:0}.topbar-spacer{flex:1}.brand{background:0 0;border:0;align-items:center;gap:10px;padding:0;display:inline-flex}.brand-mark{width:34px;height:34px;transition:transform .45s var(--ease-spring);display:block}.brand:hover .brand-mark{transform:rotate(-10deg)scale(1.08)}.brand-name{font-family:var(--font-display);color:var(--brand-ink);letter-spacing:-.01em;font-size:19px;font-weight:700}.search-pill{background:var(--surface);border:1px solid var(--line);border-radius:999px;flex:1;align-items:center;gap:9px;max-width:440px;margin:0 auto;padding:9px 16px;transition:box-shadow .2s,border-color .2s;display:flex;box-shadow:inset 0 1px 2px #5640280a}.search-pill:focus-within{box-shadow:var(--ring);border-color:var(--accent)}.search-ico{color:var(--ink-faint);display:inline-flex}.search-pill:focus-within .search-ico{color:var(--accent)}.search-input{font:inherit;color:var(--ink);background:0 0;border:0;outline:none;flex:1;min-width:0}.saved-btn{border:1px solid var(--line-strong);background:var(--surface);white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:8px 14px;font-size:13px;font-weight:600;transition:border-color .2s,box-shadow .2s,background .2s,color .2s;display:inline-flex}.saved-btn:hover{border-color:var(--accent);color:var(--accent-deep)}.saved-btn.on{background:var(--grad-accent);color:var(--accent-ink);box-shadow:var(--shadow-btn);border-color:#0000}.saved-btn.on:hover{color:var(--accent-ink)}.auth-mini{align-items:center;gap:8px;display:inline-flex}.auth-who{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;max-width:14ch;font-size:13px;font-weight:600;display:inline-flex;overflow:hidden}.auth-who .ico{color:var(--accent)}.ask{z-index:1;background:linear-gradient(var(--surface), var(--surface)) padding-box, linear-gradient(135deg, #ff7e5fa6, #ffc84d8c, #e84a2d99) border-box;border-radius:var(--radius-xl);box-shadow:var(--shadow-card);animation:pop-in .55s var(--ease-out) 80ms both;border:1.5px solid #0000;flex-direction:column;gap:14px;margin:26px 0 8px;padding:18px;transition:box-shadow .25s;display:flex;position:relative}.ask:focus-within{box-shadow:var(--shadow-pop)}.ask-input{border:1px solid var(--line);background:var(--surface-2);border-radius:var(--radius);width:100%;font:inherit;color:var(--ink);resize:vertical;padding:14px;transition:box-shadow .2s,border-color .2s,background .2s}.ask-input:focus{box-shadow:var(--ring);border-color:var(--accent);background:var(--surface);outline:none}.ask-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.marks-seg{background:var(--surface-2);border-radius:999px;gap:2px;padding:4px;display:inline-flex;box-shadow:inset 0 1px 3px #5640280f}.seg{color:var(--ink-soft);background:0 0;border:0;border-radius:999px;padding:7px 13px;font-size:13px;font-weight:600;transition:background .2s,color .2s,box-shadow .2s}.seg:hover{color:var(--accent-deep)}.seg.on{background:var(--grad-accent);color:var(--accent-ink);box-shadow:0 2px 8px #e85c3f59}.seg.on:hover{color:var(--accent-ink)}.btn-accent{background:var(--grad-accent);color:var(--accent-ink);box-shadow:var(--shadow-btn);transition:transform .2s var(--ease-spring), box-shadow .2s, filter .2s;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:11px 24px;font-size:15px;font-weight:700;display:inline-flex}.btn-accent:disabled{opacity:.5;box-shadow:none}.btn-accent:not(:disabled):hover{filter:brightness(1.05);transform:translateY(-1px);box-shadow:0 8px 22px #e85c3f6b}.btn-accent:not(:disabled):active{transform:scale(.97)}.ask-err{color:var(--accent-deep);align-items:center;gap:7px;margin:0;font-size:14px;display:flex}.ask-hint{color:var(--ink-soft);margin:0;font-size:14px}.link-btn{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}.lang-toggle{justify-content:center;min-width:62px}.landing-cta{flex-wrap:wrap;align-items:center;gap:16px;margin:22px 0 10px;display:flex}.landing-trust{color:var(--ink-soft);background:var(--surface-2);border:1px solid var(--line);border-radius:999px;align-items:center;gap:7px;margin:0 0 28px;padding:7px 14px;font-size:14px;display:inline-flex}.landing-trust .ico{color:var(--ok)}.how-steps{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.how-step{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);animation:fade-up .5s var(--ease-out) both;flex-direction:column;gap:10px;padding:18px;display:flex}.how-step b{font-family:var(--font-display);font-size:15px;font-weight:700;line-height:1.4}.how-ico{background:var(--accent-soft);width:44px;height:44px;color:var(--accent-deep);border-radius:13px;place-items:center;display:grid}.landing-cross{margin-top:28px}@media (width<=640px){.how-steps{grid-template-columns:1fr}}.auth-wrap{place-items:center;min-height:100dvh;padding:24px;display:grid;position:relative}.auth-langbar{position:absolute;top:16px;right:16px}.auth-card{background:var(--surface);border-radius:var(--radius-xl);width:100%;max-width:390px;box-shadow:var(--shadow-pop);border:1px solid var(--line-strong);animation:pop-in .5s var(--ease-out) both;flex-direction:column;gap:14px;padding:30px 28px;display:flex}.auth-brand{align-items:center;gap:10px;margin-bottom:2px;display:flex}.auth-brand img{width:38px;height:38px}.auth-card .page-title{font-size:28px}.auth-card .page-sub{margin-bottom:4px;font-size:15px}.auth-field{color:var(--ink-soft);flex-direction:column;gap:6px;font-size:14px;display:flex}.auth-field small{color:var(--ink-faint);font-weight:400}.auth-input{border:1px solid var(--line);background:var(--surface-2);border-radius:var(--radius);font:inherit;color:var(--ink);padding:12px 14px;transition:box-shadow .2s,border-color .2s,background .2s}.auth-input:focus{box-shadow:var(--ring);border-color:var(--accent);background:var(--surface);outline:none}.auth-submit{margin-top:4px}.auth-forgot{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;align-self:flex-end;margin-top:-4px;padding:0;font-size:13px;font-weight:600}.auth-notice{color:var(--ok);background:var(--ok-soft);border-radius:var(--radius);align-items:center;gap:8px;margin:0;padding:10px 12px;font-size:14px;display:flex}.auth-toggle{color:var(--ink-soft);text-align:center;margin:2px 0 0;font-size:14px}.auth-toggle button{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.auth-cancel{color:var(--ink-faint);font:inherit;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;font-size:14px;display:inline-flex}.auth-cancel:hover{color:var(--ink-soft)}.planner-cta{text-align:start;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-card);cursor:pointer;animation:fade-up .55s var(--ease-out) .16s both;transition:border-color .2s, box-shadow .25s, transform .25s var(--ease-out);align-items:center;gap:16px;margin:18px 0 8px;padding:16px 18px;display:flex}.planner-cta:hover{border-color:var(--accent);box-shadow:var(--shadow-pop);transform:translateY(-2px)}.planner-cta-ico{background:var(--accent-soft);width:46px;height:46px;color:var(--accent-deep);border-radius:14px;flex:none;place-items:center;display:grid}.planner-cta span>b{font-family:var(--font-display);font-size:16px;display:block}.planner-cta span>small{color:var(--ink-soft);font-size:13px}.planner-cta .chev{color:var(--ink-faint);margin-inline-start:auto;transition:transform .2s,color .2s;display:inline-flex}.planner-cta:hover .chev{color:var(--accent);transform:translate(4px)}.teacher-cta{text-align:start;border-radius:var(--radius-lg);cursor:pointer;background:linear-gradient(var(--surface-2), var(--surface-2)) padding-box, linear-gradient(135deg, #ff7e5f80, #ffc84d73) border-box;width:100%;box-shadow:var(--shadow-card);transition:border-color .2s, box-shadow .25s, transform .25s var(--ease-out);border:1px solid #0000;align-items:center;gap:16px;margin:28px 0 4px;padding:16px 18px;display:flex}.teacher-cta:hover{box-shadow:var(--shadow-pop);transform:translateY(-2px)}.teacher-cta-ico{background:var(--grad-accent);width:46px;height:46px;color:var(--accent-ink);box-shadow:var(--shadow-btn);border-radius:14px;flex:none;place-items:center;display:grid}.teacher-cta span>b{font-family:var(--font-display);font-size:16px;display:block}.teacher-cta span>small{color:var(--ink-soft);font-size:13px}.teacher-cta .chev{color:var(--ink-faint);margin-inline-start:auto;transition:transform .2s,color .2s;display:inline-flex}.teacher-cta:hover .chev{color:var(--accent);transform:translate(4px)}.planner-form{max-width:560px;animation:fade-up .5s var(--ease-out) both;flex-direction:column;gap:18px;display:flex}.weak-chips{flex-wrap:wrap;gap:8px;display:flex}.chip-toggle{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-soft);font:inherit;cursor:pointer;border-radius:999px;padding:7px 14px;font-size:14px;transition:background .2s,color .2s,border-color .2s,box-shadow .2s}.chip-toggle:hover{border-color:var(--accent);color:var(--accent-deep)}.chip-toggle.on{background:var(--grad-accent);color:var(--accent-ink);border-color:#0000;box-shadow:0 2px 8px #e85c3f4d}.plan-actions{flex-wrap:wrap;gap:8px;margin-inline-start:auto;display:flex}.task-read{cursor:default}.task-read small{color:var(--ink-faint);align-items:center;gap:4px;margin-inline-start:6px;font-size:12px;display:inline-flex}.plan-summary{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);animation:pop-in .5s var(--ease-out) both;flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:6px;padding:16px 20px;display:flex}.ring-wrap{flex:none;width:64px;height:64px;position:relative}.ring{transform:rotate(-90deg)}.ring-track{fill:none;stroke:var(--surface-2);stroke-width:6px}.ring-fill{fill:none;stroke:var(--accent);stroke-width:6px;stroke-linecap:round;transition:stroke-dashoffset .7s var(--ease-out)}.ring-label{font-family:var(--font-display);color:var(--accent-deep);place-items:center;font-size:14px;font-weight:700;display:grid;position:absolute;inset:0}.plan-stats{flex:1;min-width:200px}.plan-stats .page-sub{margin:0;font-size:15px}.plan-note{color:var(--accent-deep);align-items:center;gap:7px;margin:6px 0 0;font-size:14px;display:flex}.plan-note .ico{flex:none}.plan-day{margin-top:22px}.plan-day-head{align-items:center;gap:10px;margin:0 0 10px;font-size:15px;display:flex}.day-dot{background:var(--grad-accent);width:10px;height:10px;box-shadow:0 0 0 4px var(--accent-soft);border-radius:50%;flex:none}.phase-tag{font-family:var(--font-body);border-radius:999px;padding:2px 10px;font-size:11px;font-weight:700}.phase-tag.learning{background:var(--accent-soft);color:var(--accent-deep)}.phase-tag.revision{background:color-mix(in srgb, var(--sunny) 35%, #fff);color:#8a5a00}.plan-tasks{flex-direction:column;gap:8px;padding-inline-start:4px;display:flex}.plan-task{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:12px;padding:10px 12px;transition:border-color .2s,box-shadow .2s;display:flex}.plan-task:hover{border-color:var(--line-strong);box-shadow:var(--shadow-card)}.plan-task.done{background:var(--surface-2)}.plan-task.done .task-label{color:var(--ink-faint);text-decoration:line-through}.task-check{border:1.5px solid var(--line-strong);background:var(--surface-2);width:26px;height:26px;color:var(--accent-ink);border-radius:8px;flex:none;place-items:center;transition:background .2s,border-color .2s;display:grid}.plan-task.done .task-check{background:var(--grad-accent);border-color:#0000}.plan-task.done .task-check .ico{animation:check-pop .3s var(--ease-spring) both}.task-label{text-align:start;font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;flex:1}.task-label:hover{color:var(--accent-deep)}.answer-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);border:1px solid var(--line-strong);animation:pop-in .5s var(--ease-out) both;margin:16px 0 6px;padding:20px 22px 20px 26px;position:relative;overflow:hidden}.answer-card:before{content:"";background:var(--grad-accent);width:5px;position:absolute;inset-block:0;inset-inline-start:0}.answer-card.soft{box-shadow:var(--shadow-card);border-color:var(--line);background:var(--surface-2)}.answer-card.soft:before{background:var(--line-strong)}.answer-q{margin:0 0 12px;font-size:16px;font-weight:600}.answer-meta{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.answer-body p{color:var(--ink-soft);margin:0 0 8px;line-height:1.7}.answer-body p:last-child{margin-bottom:0}.answer-actions{gap:10px;margin-top:16px;display:flex}.mark-chip{background:var(--chip-bg);color:var(--chip-ink);white-space:nowrap;border-radius:999px;align-items:center;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.mark-chip.m1{color:#5a7a4a}.mark-chip.m2,.mark-chip.m3{color:#9a6b2f}.mark-chip.m5{color:var(--accent-deep)}.trust{border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.trust.verified{background:var(--ok-soft);color:var(--ok)}.trust.curated{background:var(--accent-soft);color:var(--accent-deep)}.trust.generated{background:var(--surface-2);color:var(--ink-soft)}.quota-chip{background:var(--surface-2);color:var(--ink-soft);border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.explain-badge{color:#8a5a00;background:color-mix(in srgb, var(--sunny) 35%, #fff);border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.btn-ghost{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);border-radius:999px;align-items:center;gap:7px;padding:8px 15px;font-size:13px;font-weight:600;transition:border-color .2s,background .2s,color .2s,box-shadow .2s;display:inline-flex}.btn-ghost:hover{border-color:var(--accent);color:var(--accent-deep)}.btn-ghost.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-deep)}.chapter-list{flex-direction:column;gap:12px;display:flex}.chapter-row{text-align:start;background:var(--surface);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-card);transition:transform .22s var(--ease-out), box-shadow .22s, border-color .22s;border:1px solid #0000;align-items:center;gap:16px;padding:16px 20px;display:flex}.chapter-row:hover{border-color:var(--accent);box-shadow:var(--shadow-pop);transform:translateY(-2px)}.chap-num{width:44px;height:44px;font-family:var(--font-display);background:var(--accent-soft);color:var(--accent-deep);border-radius:13px;flex:none;place-items:center;font-size:15px;font-weight:700;transition:background .22s,color .22s;display:grid}.chapter-row:hover .chap-num{background:var(--grad-accent);color:var(--accent-ink)}.chap-body{flex:1;min-width:0}.chap-title{font-family:var(--font-display);font-size:17px;font-weight:700}.chap-side{color:var(--ink-faint);white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:inline-flex}.chap-side .chev{color:var(--accent);transition:transform .2s;display:inline-flex}.chapter-row:hover .chap-side .chev{transform:translate(4px)}.mark-group{margin-top:24px}.mark-group:first-child{margin-top:0}.mark-group-head{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.08em;color:var(--accent-deep);align-items:center;gap:8px;margin:0 0 10px;font-size:13px;font-weight:700;display:flex}.mark-group-head:before{content:"";background:var(--grad-accent);border-radius:2px;width:18px;height:3px}.mark-group-count{font-family:var(--font-body);letter-spacing:0;color:var(--chip-ink);background:var(--chip-bg);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:700}.acc-list{flex-direction:column;gap:10px;display:flex}.acc{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border:1px solid #0000;transition:border-color .25s,box-shadow .25s;overflow:hidden}.acc:hover{border-color:var(--line-strong)}.acc.open{border-color:var(--line-strong);box-shadow:var(--shadow-pop)}.acc-head{align-items:flex-start;display:flex}.acc-toggle{text-align:start;background:0 0;border:0;flex:1;justify-content:space-between;align-items:flex-start;gap:14px;padding:18px 8px 18px 20px;display:flex}.acc-q{font-size:16px;font-weight:600;line-height:1.4}.acc-q .mark-chip{vertical-align:middle;margin-inline-start:8px}.acc-plus{color:var(--ink-faint);transition:transform .3s var(--ease-spring), color .2s;margin-top:2px;display:inline-flex}.acc.open .acc-plus{color:var(--accent);transform:rotate(45deg)}.acc-star-btn{background:0 0;border:0;padding:17px 16px 0 4px}.star{color:var(--ink-faint);transition:color .2s, transform .25s var(--ease-spring);display:inline-flex}.star.on{color:var(--accent);transform:scale(1.12)}.acc-star-btn:hover .star{color:var(--accent)}.acc-panel{transition:grid-template-rows .32s var(--ease-out);grid-template-rows:0fr;display:grid}.acc.open .acc-panel{grid-template-rows:1fr}.acc-inner{min-height:0;overflow:hidden}.acc-answer{border-top:1px solid var(--line);padding:14px 20px 4px}.acc-answer p{color:var(--ink-soft);margin:0 0 8px;line-height:1.7}.acc-actions{gap:10px;padding:6px 20px 20px;display:flex}mark{background:var(--accent-soft);color:var(--accent-deep);border-radius:3px;padding:0 2px}.empty-state{text-align:center;border:1.5px dashed var(--line-strong);border-radius:var(--radius-xl);animation:fade-up .5s var(--ease-out) both;flex-direction:column;align-items:center;gap:6px;margin-top:18px;padding:44px 20px;display:flex}.empty-art{background:var(--accent-soft);width:72px;height:72px;color:var(--accent-deep);border-radius:50%;place-items:center;margin-bottom:8px;animation:5s ease-in-out infinite float-y;display:grid}.empty-state p{color:var(--ink-soft);max-width:42ch;margin:0}.auth-check{color:var(--ink-soft);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;align-items:flex-start;gap:10px;padding:11px 13px;font-size:14px;display:flex}.auth-check input{accent-color:var(--accent);margin-top:4px}.auth-check small{color:var(--ink-faint)}.upload-card{cursor:pointer;border:1.5px dashed var(--line-strong);border-radius:var(--radius-lg);background:var(--surface);animation:pop-in .5s var(--ease-out) both;align-items:center;gap:16px;margin:22px 0 6px;padding:18px;transition:border-color .2s,box-shadow .25s;display:flex}.upload-card:hover{border-color:var(--accent);box-shadow:var(--shadow-card)}.upload-card.busy{cursor:progress;border-style:solid;border-color:var(--accent)}.upload-ico{background:var(--accent-soft);width:46px;height:46px;color:var(--accent-deep);border-radius:14px;flex:none;place-items:center;display:grid}.upload-body{flex-direction:column;display:flex}.upload-body b{font-family:var(--font-display);font-size:16px}.upload-body small{color:var(--ink-soft);font-size:13px}.upload-body .upload-err{color:var(--accent-deep);margin-top:4px;font-weight:600}.status-pill{vertical-align:middle;border-radius:999px;align-items:center;gap:5px;margin-inline-start:8px;padding:2px 10px;font-size:11px;font-weight:700;display:inline-flex}.status-pill.draft{background:color-mix(in srgb, var(--sunny) 35%, #fff);color:#8a5a00}.status-pill.ready{background:var(--ok-soft);color:var(--ok)}.status-pill.failed{background:var(--accent-soft);color:var(--accent-deep)}.status-pill.busy{background:var(--surface-2);color:var(--ink-soft)}.roster-add{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.roster-add .auth-input{flex:1;min-width:140px}.roster-add .roll{flex:0 0 90px;min-width:90px}.roster-list{flex-direction:column;gap:8px;display:flex}.roster-add .roster-scope{flex:none;min-width:110px}.roster-group{margin-bottom:14px}.roster-class{font-family:var(--font-display);color:var(--ink-soft);align-items:center;gap:6px;margin:6px 0 8px;font-size:14px;display:flex}.roster-row{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:8px;padding:8px 10px 8px 14px;transition:border-color .2s,box-shadow .2s;display:flex}.roster-row:hover{border-color:var(--line-strong);box-shadow:var(--shadow-card)}.roster-main{text-align:start;font:inherit;background:0 0;border:0;flex-wrap:wrap;flex:1;align-items:baseline;gap:10px;padding:0;display:flex}.roster-name{font-weight:600}.roster-roll{color:var(--ink-soft);font-size:13px}.roster-count{color:var(--ink-faint);margin-inline-start:auto;font-size:12px}.roster-report{border:1px solid var(--line-strong);background:var(--surface);border-radius:999px;align-items:center;gap:6px;padding:6px 11px;font-size:12px;font-weight:600;display:inline-flex}.roster-report:hover{border-color:var(--accent);color:var(--accent-deep)}.roster-del{width:30px;height:30px;color:var(--ink-faint);background:0 0;border:0;border-radius:9px;place-items:center;display:grid}.roster-del:hover{background:var(--accent-soft);color:var(--accent-deep)}.landing-pillars{grid-template-columns:1fr 1fr;gap:12px;margin:20px 0 6px;display:grid}.pillar{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;gap:6px;padding:16px 16px 18px;display:flex}.pillar-hero{border-color:var(--accent);box-shadow:var(--shadow-card)}.pillar-ico{background:var(--surface-2);width:42px;height:42px;color:var(--ink-soft);border-radius:13px;place-items:center;margin-bottom:2px;display:grid}.pillar-hero .pillar-ico{background:var(--accent-soft);color:var(--accent-deep)}.pillar b{font-family:var(--font-display);font-size:16px}.pillar small{color:var(--ink-soft);font-size:13px;line-height:1.55}@media (width<=480px){.landing-pillars{grid-template-columns:1fr}}.note-maker{margin-top:8px}.section-subtitle{font-family:var(--font-display);color:var(--ink-soft);align-items:center;gap:7px;margin:22px 0 10px;font-size:15px;display:flex}.note-ask{flex-direction:column;gap:10px;margin:6px 0 4px;display:flex}.note-q{resize:vertical;width:100%;min-height:52px;font:inherit}.note-ask-row{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.note-marks{color:var(--ink-soft);flex-direction:column;gap:4px;font-size:12px;font-weight:600;display:flex}.note-marks .auth-input{padding:8px 10px}.note-photo{cursor:pointer}.note-photo.busy{cursor:progress}.note-ask-row .btn-accent{margin-inline-start:auto}.note-extracted{margin-top:6px}.note-elist{flex-direction:column;gap:8px;display:flex}.note-erow{text-align:start;width:100%;font:inherit;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;align-items:center;gap:10px;padding:10px 12px;transition:border-color .2s,box-shadow .2s;display:flex}.note-erow:hover{border-color:var(--accent);box-shadow:var(--shadow-card)}.note-erow:disabled{opacity:.55;cursor:progress}.note-erow .chev{color:var(--ink-faint)}.note-result{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);margin:14px 0 6px;padding:16px 18px}.note-answer{white-space:pre-wrap;color:var(--ink);font-size:15px;line-height:1.75}.note-refusal{color:var(--ink-soft)}.note-actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.note-hint{margin:12px 0 0}.note-list{flex-direction:column;gap:8px;display:flex}.note-row{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:8px 10px 8px 14px;transition:border-color .2s,box-shadow .2s}.note-row:hover{border-color:var(--line-strong);box-shadow:var(--shadow-card)}.note-row-head{align-items:center;gap:8px;display:flex}.note-main{text-align:start;min-width:0;font:inherit;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:10px;padding:0;display:flex}.note-q-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.note-marks-badge{background:var(--accent-soft);color:var(--accent-deep);border-radius:999px;flex:none;padding:2px 9px;font-size:11px;font-weight:700}.note-row .note-answer{border-top:1px solid var(--line);margin-top:10px;padding-top:10px;font-size:14px}.exam-name-field{margin-top:4px}.exam-title-input{font-family:var(--font-display);padding:10px 14px;font-size:clamp(20px,3.5vw,26px);font-weight:700}.qview-list{flex-direction:column;gap:8px;display:flex}.qview-row{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);align-items:flex-start;gap:12px;padding:11px 14px;display:flex}.qview-no{background:var(--accent-soft);min-width:28px;height:28px;color:var(--accent-deep);border-radius:8px;flex:none;place-items:center;padding:0 6px;font-size:13px;font-weight:700;display:grid}.qview-text{overflow-wrap:break-word;flex:1;min-width:0;line-height:1.5}.qview-row .mark-chip{flex:none;margin-top:2px}.exam-cols{grid-template-columns:minmax(0,1fr) 264px;align-items:start;gap:8px 24px;margin-bottom:6px;display:grid}.exam-cols.nospec{grid-template-columns:1fr}.section-chip{vertical-align:middle;white-space:nowrap;border-radius:999px;margin-inline-start:8px;padding:1px 9px;font-size:11px;font-weight:700;display:inline-block}.sec-seen{background:var(--ok-soft);color:var(--ok)}.sec-unseen{background:color-mix(in srgb, var(--sunny) 32%, #fff);color:#8a5a00}.sec-grammar{background:var(--accent-soft);color:var(--accent-deep)}.sec-writing{background:color-mix(in srgb, var(--brand-ink) 12%, #fff);color:var(--brand-ink)}.sec-unmapped{background:var(--surface-2);color:var(--ink-faint)}.board-format{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);animation:pop-in .45s var(--ease-out) both;padding:16px;position:sticky;top:76px}.bf-title{font-family:var(--font-display);color:var(--accent-deep);align-items:center;gap:7px;margin:0;font-size:15px;display:flex}.bf-title .ico{color:var(--accent)}.bf-sub{color:var(--ink-soft);margin:4px 0 14px;font-size:12px;line-height:1.5}.bf-row{grid-template-columns:1fr auto;align-items:baseline;gap:5px 8px;margin-bottom:12px;display:grid}.bf-label{font-size:13px;font-weight:600}.bf-marks{font-family:var(--font-display);justify-self:end;font-size:13px;font-weight:700}.bf-marks small{color:var(--ink-faint);font-weight:400}.bf-bar{background:var(--surface-2);border-radius:999px;grid-column:1/-1;height:7px;overflow:hidden}.bf-fill{height:100%;transition:width .6s var(--ease-out);border-radius:999px;display:block}.bf-ok .bf-fill{background:var(--ok)}.bf-under .bf-fill{background:var(--grad-accent)}.bf-over .bf-fill{background:var(--sunny)}.bf-warn{color:var(--accent-deep);align-items:center;gap:6px;margin:4px 0 0;font-size:12px;display:flex}.edit-questions-btn{margin:4px 0 14px}.locked-note{align-items:center;gap:6px;margin:4px 0 14px;font-size:13px;display:inline-flex}.qedit-list{flex-direction:column;gap:10px;margin-top:18px;display:flex}.qedit-row{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:8px;padding:10px;display:flex}.qedit-main{grid-template-columns:64px 1fr 76px 34px;align-items:start;gap:8px;display:grid}.qedit-text{resize:vertical}.qedit-area{padding:8px 10px;font-size:13px}.qedit-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;display:flex}.qedit-spacer{flex:1}.subm-upload{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.subm-upload .auth-input{flex:1;min-width:180px}.file-btn{cursor:pointer}.file-btn.off{opacity:.5;cursor:not-allowed;box-shadow:none}.results-list{flex-direction:column;gap:8px;display:flex}.result-row{text-align:start;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:100%;font:inherit;align-items:center;gap:10px;padding:11px 14px;transition:border-color .2s,box-shadow .2s;display:flex}.result-row:not(:disabled):hover{border-color:var(--accent);box-shadow:var(--shadow-card)}.result-row:disabled{cursor:default}.result-row .roster-name{flex:1}.result-marks{font-family:var(--font-display);color:var(--accent-deep);font-weight:700}.result-row .chev{color:var(--accent);display:inline-flex}.review-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:8px 28px;margin-top:6px;display:grid}.review-total{color:var(--accent-deep);font-family:var(--font-display);font-size:19px}.page-imgs{flex-direction:column;gap:12px;display:flex}.page-img{border-radius:var(--radius-lg);border:1px solid var(--line-strong);width:100%;box-shadow:var(--shadow-card);display:block}.ocr-list{flex-direction:column;gap:10px;display:flex}.ocr-item{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);gap:12px;padding:12px 14px;display:flex}.ocr-qno{background:var(--chip-bg);width:30px;height:30px;color:var(--chip-ink);border-radius:9px;flex:none;place-items:center;font-size:13px;font-weight:700;display:grid}.ocr-text{flex:1;min-width:0}.ocr-text p{color:var(--ink-soft);overflow-wrap:break-word;margin:0 0 4px;line-height:1.65}.review-overall{background:color-mix(in srgb, var(--sunny) 22%, #fff);border:1px solid color-mix(in srgb, var(--sunny) 55%, #fff);color:#6b4a00;border-radius:var(--radius);margin:0 0 12px;padding:11px 14px;font-size:14px}.eval-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border-inline-start:4px solid var(--ok);animation:fade-up .45s var(--ease-out) both;margin-bottom:12px;padding:14px 16px}.eval-card.low{border-inline-start-color:var(--accent)}.eval-head{align-items:baseline;gap:10px;display:flex}.eval-qno{background:var(--accent-soft);min-width:28px;height:28px;color:var(--accent-deep);border-radius:9px;flex:none;align-self:flex-start;place-items:center;padding:0 6px;font-size:13px;font-weight:700;display:grid}.eval-q{flex:1;font-size:14px;font-weight:600;line-height:1.45}.eval-marks{font-family:var(--font-display);color:var(--ink);white-space:nowrap;font-size:20px;font-weight:700}.eval-marks small{color:var(--ink-faint);font-size:13px}.eval-analysis{color:var(--ink-soft);margin:10px 0 0;font-size:14px;line-height:1.7}.eval-foot{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.eval-foot .status-pill{margin-inline-start:0}.eval-override{padding:6px 12px;font-size:12px}.eval-edit{align-items:center;gap:6px;display:inline-flex}.eval-input{width:78px;padding:7px 10px}.eval-save{padding:8px 14px;font-size:13px}.progress-chart{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);animation:pop-in .5s var(--ease-out) both;padding:16px}.progress-chart svg{width:100%;height:auto;display:block}.chart-grid{stroke:var(--line);stroke-dasharray:3 5}.chart-tick{fill:var(--ink-faint);font-size:11px;font-family:var(--font-body)}.chart-bar{fill:var(--accent);opacity:.9}.chart-bar.low{fill:var(--accent-deep);opacity:.65}.chart-val{fill:var(--ink);font-size:13px;font-weight:700;font-family:var(--font-display)}.chart-label{fill:var(--ink-soft);font-size:12px;font-family:var(--font-body)}.chart-sub{fill:var(--ink-faint);font-size:11px;font-family:var(--font-body)}.weak-list{flex-wrap:wrap;gap:8px;display:flex}.weak-chip{background:var(--accent-soft);color:var(--accent-deep);border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);border-radius:999px;align-items:center;gap:6px;padding:7px 14px;font-size:14px;display:inline-flex}.strong-chip{background:var(--ok-soft);color:var(--ok);border:1px solid color-mix(in srgb, var(--ok) 30%, transparent);border-radius:999px;align-items:center;gap:6px;padding:7px 14px;font-size:14px;display:inline-flex}.area-cols{grid-template-columns:1fr 1fr;gap:8px 28px;display:grid}.topic-list{flex-direction:column;gap:8px;display:flex}.topic-row{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:minmax(110px,1fr) 2fr 52px auto;align-items:center;gap:12px;padding:10px 14px;display:grid}.topic-name{overflow-wrap:break-word;font-size:14px;font-weight:600}.topic-meter{background:var(--surface-2);border-radius:999px;height:9px;overflow:hidden;box-shadow:inset 0 1px 2px #56402812}.topic-fill{background:var(--ok);height:100%;transition:width .7s var(--ease-out);border-radius:999px;display:block}.topic-fill.band-strong{background:var(--ok)}.topic-fill.band-ok{background:var(--sunny)}.topic-fill.band-weak{background:var(--grad-accent)}.topic-pct{font-family:var(--font-display);color:var(--ok);font-size:14px;font-weight:700}.topic-pct.band-strong{color:var(--ok)}.topic-pct.band-ok{color:#8a5a00}.topic-pct.band-weak{color:var(--accent-deep)}.topic-n{color:var(--ink-faint);white-space:nowrap;font-size:12px}.qpaper{margin:14px 0 4px}.qpaper-toggle{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);width:100%;color:var(--ink);cursor:pointer;align-items:center;gap:9px;padding:11px 15px;font-size:14.5px;font-weight:600;transition:border-color .15s,background .15s;display:flex}.qpaper-toggle:hover{border-color:var(--accent)}.qpaper-toggle .ico{color:var(--accent);flex:none}.qpaper-label{text-align:left;flex:1}.qpaper-count{color:var(--ink-soft);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:2px 10px;font-size:13px;font-weight:500}.qpaper-caret{color:var(--ink-faint);display:inline-flex}.qpaper-strip{scroll-snap-type:x proximity;gap:12px;padding:14px 2px 4px;display:flex;overflow-x:auto}.qpaper-thumb{cursor:pointer;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-2);width:116px;height:152px;box-shadow:var(--shadow-card);scroll-snap-align:start;flex:none;padding:0;transition:transform .15s,box-shadow .15s,border-color .15s;position:relative;overflow:hidden}.qpaper-thumb:hover:not(:disabled){box-shadow:var(--shadow-pop);border-color:var(--accent);transform:translateY(-2px)}.qpaper-thumb:disabled{cursor:default}.qpaper-thumb img{object-fit:cover;width:100%;height:100%;display:block}.qpaper-ph{width:100%;height:100%;color:var(--ink-faint);place-items:center;display:grid}.qpaper-pageno{color:#fff;background:#332e28c7;border-radius:999px;place-items:center;min-width:20px;height:20px;padding:0 6px;font-size:12px;font-weight:700;display:grid;position:absolute;bottom:6px;right:6px}.lightbox{z-index:60;background:#1c1610eb;place-items:center;padding:24px;animation:.18s both lb-in;display:grid;position:fixed;inset:0}@keyframes lb-in{0%{opacity:0}to{opacity:1}}.lightbox-img{object-fit:contain;touch-action:pinch-zoom;border-radius:8px;max-width:calc(100vw - 96px);max-height:calc(100vh - 48px);box-shadow:0 20px 60px #00000080}.lightbox-close,.lightbox-nav{cursor:pointer;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff1f;border:1px solid #ffffff40;border-radius:999px;place-items:center;transition:background .15s;display:grid;position:absolute}.lightbox-close:hover,.lightbox-nav:hover{background:#ffffff42}.lightbox-close{width:44px;height:44px;top:18px;right:18px}.lightbox-nav{width:50px;height:50px;top:50%;transform:translateY(-50%)}.lightbox-nav.prev{left:16px}.lightbox-nav.next{right:16px}.lightbox-counter{color:#fff;letter-spacing:.04em;background:#0006;border-radius:999px;padding:5px 14px;font-size:14px;font-weight:600;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.empty-cta{color:var(--accent-deep);font-weight:600}.tour-replay{cursor:pointer;color:var(--ink-soft);background:0 0;border:none;align-items:center;gap:7px;margin:14px 0 0;padding:0;font-size:13px;font-weight:600;display:inline-flex}.tour-replay:hover{color:var(--accent-deep)}.tour-replay .ico{color:var(--accent)}.tour{z-index:70;animation:.18s both lb-in;position:fixed;inset:0}.tour-dim{background:#1c161099;position:absolute;inset:0}.tour-spot{border-radius:var(--radius);pointer-events:none;outline:2px solid var(--accent);outline-offset:2px;transition:all .25s;position:absolute;box-shadow:0 0 0 9999px #1c16109e}.tour-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);width:min(340px,100vw - 24px);box-shadow:var(--shadow-pop);padding:18px 18px 14px;animation:.2s both tour-pop;position:absolute}.tour-card.centered{top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes tour-pop{0%{opacity:0;transform:translateY(6px)scale(.98)}}.tour-card.centered{animation:none}.tour-skip{cursor:pointer;background:var(--surface-2);border:1px solid var(--line);width:28px;height:28px;color:var(--ink-soft);border-radius:999px;place-items:center;display:grid;position:absolute;top:10px;right:10px}.tour-skip:hover{color:var(--accent-deep);border-color:var(--accent)}.tour-title{font-family:var(--font-display);padding-right:28px;font-size:17px;display:block}.tour-body{color:var(--ink-soft);margin:8px 0 14px;font-size:14.5px;line-height:1.6}.tour-foot{align-items:center;gap:10px;display:flex}.tour-foot-sp{flex:1}.tour-dots{gap:6px;display:inline-flex}.tour-dot{background:var(--line-strong);border-radius:999px;width:7px;height:7px;transition:background .15s}.tour-dot.on{background:var(--accent)}.tour-skip-btn{padding:7px 10px}.auth-scope{color:var(--ink-faint);margin-top:6px;font-size:12.5px;display:block}.landing-supported{margin-top:18px;font-size:13px}.qedit-answer,.qedit-marking{resize:vertical;min-height:40px;font-size:14px}.qview-marking{background:var(--surface-2);border:1px solid var(--line);color:var(--ink-soft);overflow-wrap:anywhere;border-radius:9px;margin-top:6px;padding:7px 10px;font-size:13.5px;line-height:1.55;display:block}.qview-marking b{color:var(--ink)}.subject-mismatch{background:color-mix(in srgb, var(--sunny) 22%, #fff);border:1px solid color-mix(in srgb, var(--sunny) 55%, #fff);color:#6b4a00;border-radius:var(--radius);align-items:center;gap:9px;margin:0 0 16px;padding:11px 14px;font-size:14px;display:flex}.subject-mismatch .ico{color:#b4820a;flex:none}.admin-tag{letter-spacing:.12em;color:var(--accent-deep);background:var(--accent-soft);border-radius:999px;margin-left:10px;padding:4px 10px;font-size:11px;font-weight:800}.admin-search{gap:10px;margin:6px 0 16px;display:flex}.admin-search .auth-input{flex:1}.admin-users{flex-direction:column;gap:8px;display:flex}.admin-user-row{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:12px;padding:12px 14px;display:flex}.admin-user-main{flex-direction:column;flex:1;min-width:0;display:flex}.admin-user-main b{overflow-wrap:anywhere}.admin-user-main small{color:var(--ink-faint)}.admin-badges{flex:none;align-items:center;gap:6px;display:flex}.admin-viewas{flex:none}.marking-pending{color:var(--ink-soft);align-items:center;gap:8px;margin:0 0 12px;font-size:13px;display:flex}.photo-btns{flex-wrap:wrap;gap:8px;display:flex}.photo-btns .file-btn{cursor:pointer;align-items:center;gap:7px;display:inline-flex}.photo-btns .file-btn.off{opacity:.5;pointer-events:none}.upload-card .photo-btns{margin-inline-start:auto}.stage{margin:10px 0 4px}.stage-strip{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.stage-thumb{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;flex:none;width:66px;height:84px;position:relative;overflow:hidden}.stage-thumb img{object-fit:cover;width:100%;height:100%}.stage-n{color:#fff;background:#0009;border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 4px;font-size:11px;font-weight:700;display:grid;position:absolute;bottom:4px;left:4px}.stage-x{color:#fff;cursor:pointer;background:#0009;border:0;border-radius:999px;place-items:center;width:20px;height:20px;display:grid;position:absolute;top:3px;right:3px}.stage-actions{flex-wrap:wrap;gap:10px;display:flex}.asp-tag{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;color:var(--accent-deep);background:var(--accent-soft);border-radius:999px;margin-inline-start:6px;padding:2px 7px;font-size:11px;font-weight:700}.asp-form{gap:20px}.asp-step{gap:8px;display:grid}.asp-step-head{align-items:center;gap:9px;display:flex}.asp-step-head b{font-size:15px}.asp-step-num{background:var(--grad-accent);width:23px;height:23px;color:var(--accent-ink);font-family:var(--font-display);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:700;display:inline-grid}.asp-step-help{color:var(--ink-soft);margin:0;font-size:13px}.asp-submit-hint{text-align:center}.asp-or{color:var(--ink-faint);align-items:center;gap:10px;margin:2px 0;font-size:12px;display:flex}.asp-or:before,.asp-or:after{content:"";background:var(--line);flex:1;height:1px}.wallet-pill{border:1px solid var(--line);background:var(--accent-soft);color:var(--accent-deep);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:5px;padding:5px 11px;font-size:13px;font-weight:700;display:inline-flex}.asp-balance-line{flex-wrap:wrap;align-items:center;gap:8px;margin:-4px 0 4px;font-size:14px;display:flex}.asp-free-badge{background:var(--accent-soft);color:var(--accent-deep);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700}.asp-balance-line .link-btn{margin-inline-start:auto}.asp-wallet{gap:14px}.asp-wallet-bal{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.asp-presets{flex-wrap:wrap;gap:8px;display:flex}.asp-sample-tag{align-self:flex-start}.share-card{gap:10px;margin-top:24px}.share-url{gap:8px;display:flex}.share-url .auth-input{flex:1;font-size:13px}.share-note{margin:0;font-size:12px}.share-actions{gap:16px;display:flex}.link-btn.danger{color:var(--danger,#c0392b)}.shared-foot{text-align:center;margin-top:28px;font-size:12px}.legal{max-width:720px}.legal-updated{margin-top:-6px;font-size:13px}.legal h2{margin:22px 0 6px;font-size:16px}.legal p,.legal li{color:var(--ink-soft);font-size:14px;line-height:1.7}.legal ul{padding-inline-start:20px}.legal a{color:var(--accent-deep)}.legal-nav{border-top:1px solid var(--line);flex-wrap:wrap;gap:14px;margin-top:28px;padding-top:16px;display:flex}.app-footer{border-top:1px solid var(--line);text-align:center;margin-top:32px;padding-top:16px}.app-footer-links{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.app-footer-note{color:var(--ink-faint);margin:8px 0 0;font-size:12px}.app-footer-note a{color:var(--ink-faint)}.asp-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.asp-lang{border:1px solid var(--line);border-radius:999px;justify-self:start;display:inline-flex;overflow:hidden}.asp-lang-btn{font:inherit;cursor:pointer;color:var(--ink-soft);background:0 0;border:0;padding:7px 14px;font-size:13px}.asp-lang-btn.on{background:var(--grad-accent);color:var(--accent-ink);font-weight:700}.asp-row .photo-btns{margin-inline-start:auto}.asp-result{gap:16px}.asp-overall{align-items:center;gap:16px;display:flex}.asp-score{font-family:var(--font-display);color:var(--accent-deep);font-size:40px;font-weight:700;line-height:1}.asp-score small{color:var(--ink-faint);font-size:15px}.asp-overall-note{flex:1;margin:0;font-size:14px}.asp-dims{flex-direction:column;gap:12px;display:flex}.asp-dim-head{justify-content:space-between;margin-bottom:5px;font-size:14px;display:flex}.asp-dim-score{color:var(--ink-soft)}.asp-dim .stat-bar{height:7px}.asp-dim small{margin-top:4px;display:block}.asp-block-h{margin-bottom:4px;font-size:14px;display:block}.asp-good{color:var(--ok)}.asp-imp{color:var(--accent-deep)}.asp-block ul{margin:0;padding-inline-start:20px;font-size:14px;line-height:1.6}.asp-transcript{margin-top:10px;font-size:14px}.asp-disclaimer{margin:0;font-size:12px}.asp-hist{cursor:pointer}.asp-score-badge{background:var(--accent-soft);color:var(--accent-deep);border-radius:999px;flex:none;padding:2px 10px;font-size:12px;font-weight:700}.profile-btn{font:inherit;cursor:pointer;color:inherit;background:0 0;border:0;border-radius:999px;align-items:center;gap:8px;padding:4px 6px;display:inline-flex}.profile-btn:hover{background:var(--surface-2)}.profile-avatar{background:var(--grad-accent);width:46px;height:46px;color:var(--accent-ink);font-family:var(--font-display);border-radius:999px;flex:none;place-items:center;font-size:20px;font-weight:700;display:grid}.profile-avatar.sm{width:28px;height:28px;font-size:13px}.profile-main{max-width:560px}.profile-hero{align-items:center;gap:14px;margin-bottom:8px;display:flex}.profile-name{margin:0;font-size:clamp(20px,5vw,26px)}.profile-email{overflow-wrap:anywhere;margin:2px 0 0;font-size:14px}.profile-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;gap:10px;margin-top:14px;padding:16px;display:flex}.profile-card .section-title{margin:0;font-size:15px}.profile-save{align-self:flex-start}.profile-wide{justify-content:center}.profile-scope{margin:0;font-weight:600}.profile-usage{margin:0;font-size:13px}.profile-field{margin-bottom:8px}.profile-danger{border-color:color-mix(in srgb, var(--accent) 40%, var(--line))}.profile-danger-row{flex-wrap:wrap;gap:10px;display:flex}.profile-del{border:1px solid var(--accent);background:var(--surface);color:var(--accent-deep);border-radius:var(--radius);font:inherit;cursor:pointer;align-self:flex-start;align-items:center;gap:7px;padding:9px 14px;font-weight:600;display:inline-flex}.profile-del:hover{background:var(--accent-soft)}.stat-window{font-size:13px;font-weight:400}.stat-cards{grid-template-columns:1fr 1fr;gap:12px;display:grid}.stat-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);padding:16px}.stat-title{font-family:var(--font-display);font-size:15px}.stat-nums{gap:18px;margin:10px 0 12px;display:flex}.stat-num{flex-direction:column;display:flex}.stat-num b{font-size:26px;line-height:1}.stat-num small{color:var(--ink-soft);margin-top:3px;font-size:12px}.stat-cache b{color:var(--ok)}.stat-llm b{color:var(--accent-deep)}.stat-bar{background:var(--accent-soft);border-radius:999px;height:8px;overflow:hidden}.stat-fill{background:var(--ok);border-radius:999px;height:100%}@media (width<=520px){.stat-cards{grid-template-columns:1fr}}.admin-actions{flex-wrap:wrap;flex:none;gap:8px;display:flex}.admin-grantcount{font-size:12px}.admin-admin{flex-direction:column;gap:0;display:flex}.grant-editor{border:1px solid var(--line);border-radius:0 0 var(--radius) var(--radius);background:var(--surface-2);border-top:0;margin-top:-4px;padding:12px 14px}.grant-h{color:var(--ink-soft);margin:2px 0 8px;font-size:13px}.grant-list{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.grant-chip{background:var(--surface);border:1px solid var(--line);border-radius:999px;align-items:center;gap:6px;padding:4px 6px 4px 11px;font-size:13px;display:inline-flex}.grant-x{width:22px;height:22px;color:var(--ink-faint);background:0 0;border:0;border-radius:999px;place-items:center;display:grid}.grant-x:hover{background:var(--accent-soft);color:var(--accent-deep)}.grant-results{flex-direction:column;gap:6px;margin-top:8px;display:flex}.grant-results .admin-user-row{padding:8px 12px}.admin-noview{text-align:center;flex:none;width:88px}.admin-ingest-opt{color:var(--ink-soft);align-items:center;gap:8px;margin:4px 0 12px;font-size:14px;display:flex}.admin-ok{color:var(--ok);align-items:center;gap:8px;margin-top:12px;font-weight:600;display:flex}.admin-ok .ico{color:var(--ok)}.admin-fab{z-index:50;background:var(--ink);color:#fff;cursor:pointer;box-shadow:var(--shadow-pop);border:none;border-radius:999px;align-items:center;gap:7px;padding:9px 15px;font-size:13px;font-weight:700;display:inline-flex;position:fixed;bottom:16px;right:16px}.admin-fab:hover{background:#000}.imp-banner{z-index:80;background:var(--ink);color:#fff;align-items:center;gap:10px;padding:9px 16px;font-size:13.5px;display:flex;position:sticky;top:0}.imp-banner .ico{color:var(--sunny);flex:none}.imp-banner b{font-weight:700}.imp-exit{cursor:pointer;color:#fff;background:#ffffff29;border:1px solid #ffffff4d;border-radius:999px;align-items:center;gap:5px;margin-left:auto;padding:5px 12px;font-size:13px;font-weight:600;display:inline-flex}.imp-exit:hover{background:#ffffff47}@media (width<=860px){.review-grid,.area-cols,.exam-cols{grid-template-columns:1fr}.board-format{position:static}.qedit-main{grid-template-columns:52px 1fr 64px 30px}.topic-row{grid-template-columns:1fr 60px}.topic-meter{grid-column:1/-1}.topic-n{display:none}}.offline-banner{background:var(--accent-soft);color:var(--accent-deep);text-align:center;justify-content:center;align-items:center;gap:8px;padding:7px 14px;font-size:13px;font-weight:600;display:flex}@media (width<=760px){.topbar{flex-wrap:wrap;gap:8px}.search-pill{flex-basis:100%;order:3;max-width:none}.nav-label{display:none}.saved-btn{padding:9px 11px}.hero-art{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.anim-in{opacity:1}}
