:root{--accent: #3b63e0;--accent-rgb: 59 99 224;--accent-text: #fff;--accent-soft: rgb(var(--accent-rgb) / .12);--accent-softer: rgb(var(--accent-rgb) / .06);--font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", system-ui, sans-serif;--text-scale: 1;--quiz-scale: 1.1;--line: 1.5;--bg: #f5f6f8;--surface: #ffffff;--surface-2: #f0f2f5;--surface-3: #e7eaef;--text: #15181d;--muted: #5f6672;--border: #e1e4e9;--good: #1a7f37;--good-soft: #e3f4e8;--warn: #9a6700;--warn-soft: #fff3d1;--bad: #c0362c;--bad-soft: #fde8e6;--shadow: 0 1px 2px rgb(16 24 40 / .05), 0 4px 16px rgb(16 24 40 / .06);--radius: 14px;--radius-sm: 10px;--gap: 16px;--pad: 20px;--tap: 44px;--content: 1100px;color-scheme:light}:root[data-theme=dark]{--bg: #111317;--surface: #1a1d23;--surface-2: #22262e;--surface-3: #2b3039;--text: #e9ebef;--muted: #9ba2ad;--border: #2c313a;--good: #4ac26b;--good-soft: #15291c;--warn: #e3b341;--warn-soft: #2b2414;--bad: #f97066;--bad-soft: #3a1714;--accent-soft: rgb(var(--accent-rgb) / .22);--accent-softer: rgb(var(--accent-rgb) / .1);--shadow: 0 1px 2px rgb(0 0 0 / .3), 0 6px 20px rgb(0 0 0 / .25);color-scheme:dark}:root[data-theme=black]{--bg: #000;--surface: #0c0d10;--surface-2: #16181c;--surface-3: #1f2227;--text: #f2f3f5;--muted: #9ba2ad;--border: #23262c;--good: #4ac26b;--good-soft: #0f2116;--warn: #e3b341;--warn-soft: #241d0e;--bad: #f97066;--bad-soft: #2f120f;--accent-soft: rgb(var(--accent-rgb) / .24);--accent-softer: rgb(var(--accent-rgb) / .12);--shadow: none;color-scheme:dark}:root[data-theme=sepia]{--bg: #f4ecd8;--surface: #fbf6e9;--surface-2: #efe5cc;--surface-3: #e6d9b8;--text: #3b2f20;--muted: #7a6a52;--border: #e0d3b2;--shadow: 0 1px 2px rgb(80 60 20 / .08), 0 4px 16px rgb(80 60 20 / .08)}:root[data-contrast=high]{--muted: var(--text);--border: color-mix(in srgb, var(--text) 45%, transparent)}:root[data-contrast=high][data-theme=light]{--text: #000}:root[data-radius=square]{--radius: 4px;--radius-sm: 3px}:root[data-radius=round]{--radius: 22px;--radius-sm: 16px}:root[data-density=compact]{--gap: 10px;--pad: 14px;--tap: 38px}:root[data-density=spacious]{--gap: 22px;--pad: 26px;--tap: 50px}:root[data-width=narrow]{--content: 760px}:root[data-width=wide]{--content: 1400px}:root[data-motion=reduced] *,:root[data-motion=reduced] *:before,:root[data-motion=reduced] *:after{transition:none!important;animation:none!important}*{box-sizing:border-box}html{font-size:calc(16px * var(--text-scale))}html,body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);line-height:var(--line);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}a{color:var(--accent)}h1,h2,h3{line-height:1.25;margin:0 0 12px;letter-spacing:-.01em}h1{font-size:1.65rem;font-weight:750}h2{font-size:1.12rem;margin-top:24px;display:flex;align-items:center;gap:8px}h3{font-size:1rem}.icon-svg{flex:none}.shell{display:grid;grid-template-columns:236px 1fr;min-height:100vh}:root[data-sidebar=compact] .shell{grid-template-columns:76px 1fr}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:4px;padding:18px 12px;border-right:1px solid var(--border);background:var(--surface)}.brand{display:flex;align-items:center;gap:10px;font-weight:750;font-size:1.05rem;padding:2px 10px 18px}.sidebar a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius-sm);color:var(--muted);text-decoration:none;font-weight:550;transition:background .15s,color .15s}.sidebar a:hover{background:var(--surface-2);color:var(--text)}.sidebar a[aria-current=page]{background:var(--accent-soft);color:var(--accent)}:root[data-sidebar=compact] .nav-label,:root[data-sidebar=compact] .brand-name,:root[data-sidebar=compact] .pill-label{display:none}:root[data-sidebar=compact] .sidebar a,:root[data-sidebar=compact] .brand{justify-content:center}.sidebar-foot{margin-top:auto}.content{min-width:0;padding:28px 36px 72px}.page-wrap{max-width:var(--content)}.mobile-top,.tabbar,.only-mobile{display:none}.shell.focus{grid-template-columns:1fr!important}.shell.focus .sidebar{display:none}.shell.focus .page-wrap{margin:0 auto}@media(max-width:820px){.shell,:root[data-sidebar=compact] .shell{grid-template-columns:1fr}.sidebar{display:none}.content{padding:calc(10px + env(safe-area-inset-top)) 16px calc(92px + env(safe-area-inset-bottom))}.mobile-top{display:flex;justify-content:flex-end;margin-bottom:6px;min-height:4px}.only-mobile{display:inline-flex}.tabbar{display:flex;position:fixed;inset:auto 0 0 0;padding:4px 4px env(safe-area-inset-bottom);background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:saturate(1.6) blur(16px);-webkit-backdrop-filter:saturate(1.6) blur(16px);border-top:1px solid var(--border);z-index:10}.tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 0 4px;color:var(--muted);text-decoration:none;font-size:.68rem;font-weight:600;min-height:54px;border-radius:var(--radius-sm)}.tabbar a[aria-current=page]{color:var(--accent)}:root[data-tablabels=false] .tab-label{display:none}.shell.focus .tabbar{display:none}h1{font-size:1.45rem}}.sync-pill{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:600;padding:5px 11px;border-radius:999px;background:var(--good-soft);color:var(--good);text-decoration:none}.sync-warn{background:var(--warn-soft);color:var(--warn)}.sync-bad{background:var(--bad-soft);color:var(--bad)}.sync-pill.spinning .icon-svg{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.banner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 16px;border-radius:var(--radius);margin-bottom:16px}.banner.bad{background:var(--bad-soft);color:var(--bad)}.page-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:18px}.page-head h1{margin:0;flex:1;min-width:0}.back{font-size:1.9rem;line-height:1;text-decoration:none;padding:0 6px}.actions,.row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.spacer{flex:1}.card{background:var(--surface);border-radius:var(--radius);padding:var(--pad);margin-bottom:var(--gap)}:root[data-cards=outlined] .card,:root[data-cards=outlined] .stat,:root[data-cards=outlined] .question-card,:root[data-cards=outlined] .questions,:root[data-cards=outlined] .sessions,:root[data-cards=outlined] .review-item,:root[data-cards=outlined] .folder-stat{border:1px solid var(--border)}:root[data-cards=elevated] .card,:root[data-cards=elevated] .stat,:root[data-cards=elevated] .question-card,:root[data-cards=elevated] .questions,:root[data-cards=elevated] .sessions,:root[data-cards=elevated] .review-item,:root[data-cards=elevated] .folder-stat{box-shadow:var(--shadow);border:1px solid color-mix(in srgb,var(--border) 60%,transparent)}:root[data-cards=flat] .card,:root[data-cards=flat] .stat,:root[data-cards=flat] .question-card,:root[data-cards=flat] .questions,:root[data-cards=flat] .sessions,:root[data-cards=flat] .review-item,:root[data-cards=flat] .folder-stat{background:var(--surface-2)}.card h2{margin-top:0}.center-screen{min-height:100vh;display:grid;place-items:center;padding:16px;background:radial-gradient(circle at 20% 10%,var(--accent-soft),transparent 50%),var(--bg)}.narrow{width:min(420px,100%);text-align:center;box-shadow:var(--shadow)}.narrow form{text-align:left}.big-code{font:700 2.4rem/1.2 ui-monospace,SF Mono,Menlo,monospace;letter-spacing:.1em;margin:16px 0}.empty{padding:36px 16px;text-align:center;color:var(--muted);border:1.5px dashed var(--border);border-radius:var(--radius)}.notice{background:var(--warn-soft);border-radius:var(--radius-sm);padding:12px 16px;margin-bottom:16px}.muted{color:var(--muted)}.small{font-size:.85rem}.mono{font-family:ui-monospace,SF Mono,Menlo,monospace}.pad{padding:24px}.error{color:var(--bad)}.field-title{font-weight:600;margin:10px 0 8px}.badge{display:inline-block;font-size:.72rem;font-weight:650;padding:2px 9px;border-radius:999px;background:var(--surface-2);color:var(--muted);white-space:nowrap}.badge-good,.badge-correct{background:var(--good-soft);color:var(--good)}.badge-bad,.badge-wrong,.badge-unanswered{background:var(--bad-soft);color:var(--bad)}.badge-warn,.badge-partial,.badge-pending_review{background:var(--warn-soft);color:var(--warn)}.badge-new{background:var(--accent-soft);color:var(--accent)}button,.button{font:inherit;font-weight:600;min-height:var(--tap);padding:8px 15px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:background .15s,border-color .15s,transform .08s,box-shadow .15s}button:hover:not(:disabled),.button:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}button:active:not(:disabled){transform:scale(.98)}button:disabled{opacity:.5;cursor:default}:focus-visible{outline:3px solid rgb(var(--accent-rgb) / .45);outline-offset:2px}.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);box-shadow:0 2px 8px rgb(var(--accent-rgb) / .28)}.primary:hover:not(:disabled){filter:brightness(1.05)}.ghost{background:transparent}.danger{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 60%,transparent);background:transparent}button.link{border:none;background:none;color:var(--accent);min-height:0;padding:2px 6px}button.link.danger{color:var(--bad)}.wide{width:100%}.big{min-height:58px;font-size:1.05rem;padding:12px 22px}.icon,.icon-button{min-width:var(--tap);padding:0}button.good{border-color:var(--good);color:var(--good)}button.warn{border-color:var(--warn);color:var(--warn)}button.bad{border-color:var(--bad);color:var(--bad)}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;min-height:var(--tap);width:100%;min-width:0;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgb(var(--accent-rgb) / .18)}input[type=checkbox],input[type=radio]{width:22px;height:22px;min-height:0;accent-color:var(--accent);flex:none;box-shadow:none}input[type=range]{padding:0;min-height:32px;accent-color:var(--accent);border:none;background:none;box-shadow:none}input[type=color]{padding:0;border-radius:50%;width:36px;height:36px;min-height:0;cursor:pointer}textarea{resize:vertical}.narrow-input{width:96px}input.switch{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:50px;height:30px;border-radius:999px;background:var(--surface-3);position:relative;border:none;cursor:pointer;transition:background .2s}input.switch:after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0000004d;transition:transform .2s}input.switch:checked{background:var(--good)}input.switch:checked:after{transform:translate(20px)}label{display:grid;gap:6px;margin-bottom:14px;font-weight:550}label.inline{display:inline-flex;align-items:center;gap:8px;margin:0 16px 8px 0;font-weight:400}label.block{display:flex}fieldset{border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px 6px;margin:0 0 16px;min-width:0}legend{font-weight:650;padding:0 6px}.form{max-width:780px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}@media(max-width:600px){.grid2{grid-template-columns:1fr}}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.chip{min-height:38px;border-radius:999px;padding:6px 14px;font-weight:550}.chip.on{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.chip.sub{font-size:.9rem}.radio-card{display:flex;align-items:flex-start;gap:10px;font-weight:400;margin-bottom:10px}.segmented{display:inline-flex;background:var(--surface-2);border-radius:var(--radius-sm);padding:3px;gap:2px;margin:12px 0}.segmented.wrap{flex-wrap:wrap;margin:0}.segmented button{border:none;background:transparent;min-height:calc(var(--tap) - 8px);font-weight:550;color:var(--muted)}.segmented button.on{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #0000001f}.settings{display:grid;grid-template-columns:220px 1fr;gap:24px;align-items:start}.settings-nav{display:grid;gap:2px;position:sticky;top:16px}.settings-nav a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--radius-sm);color:var(--muted);text-decoration:none;font-weight:550}.settings-nav a[aria-current=page]{background:var(--accent-soft);color:var(--accent)}.settings-body{min-width:0;max-width:760px}@media(max-width:820px){.settings{grid-template-columns:1fr}.settings-nav{position:static;display:flex;overflow-x:auto;gap:6px;padding-bottom:4px;scrollbar-width:none}.settings-nav a{white-space:nowrap;background:var(--surface-2)}}.setting-group h2{margin-bottom:14px}.setting{padding:12px 0;border-top:1px solid var(--border)}.setting:first-of-type{border-top:none}.setting-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px}.setting-label{font-weight:550}.setting-value{color:var(--accent);font-weight:650;font-variant-numeric:tabular-nums}.setting-help{margin:6px 0 0}.switch-row{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0;font-weight:550}.accents{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.accent-swatch{width:36px;height:36px;min-height:0;padding:0;border-radius:50%;border:3px solid var(--surface);box-shadow:0 0 0 1px var(--border)}.accent-swatch.on{box-shadow:0 0 0 3px var(--text)}.accent-custom{margin:0}.preview-card .preview{display:grid;gap:10px;max-width:460px}.preview-q{font-size:calc(1.05rem * var(--quiz-scale));font-weight:600;margin:4px 0}.preview .option{cursor:default}.preview button{justify-self:start}.danger-card{border:1px solid color-mix(in srgb,var(--bad) 35%,transparent)!important}.archive{display:grid;grid-template-columns:270px 1fr;gap:24px}.tree{min-width:0}.folders{list-style:none;margin:0 0 12px;padding:0}.folders li{display:flex;align-items:center;gap:4px;border-radius:var(--radius-sm)}.folders li a{flex:1;padding:8px 10px;color:var(--text);text-decoration:none;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folders li:hover{background:var(--surface-2)}.folders li.active{background:var(--accent-soft)}.folders li.active a{color:var(--accent);font-weight:650}.folders li.trashed{padding:6px 10px;color:var(--muted);flex-wrap:wrap}.folder-menu{width:auto;min-height:32px;padding:2px 6px;border:none;background:transparent;color:var(--muted);box-shadow:none!important}.tree-actions{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.move-panel{background:var(--surface);border:1px solid var(--accent);border-radius:var(--radius);padding:12px;margin-bottom:12px}.move-panel select{margin-bottom:8px}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.filters>*{flex:1 1 150px}.filters input[type=search]{flex:3 1 240px}.bulk{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;background:var(--accent-soft);border-radius:var(--radius);margin-bottom:12px}.bulk select{width:auto}.questions{list-style:none;margin:0;padding:0;background:var(--surface);border-radius:var(--radius);overflow:hidden}.questions li{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);transition:background .12s}.questions li:hover{background:var(--accent-softer)}.questions li:last-child{border-bottom:none}.questions li.checked{background:var(--accent-soft)}.questions a{flex:1;min-width:0;display:grid;gap:3px;color:var(--text);text-decoration:none}.q-title{font-weight:550;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.q-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:.8rem;color:var(--muted)}@media(max-width:820px){.archive{grid-template-columns:1fr}.tree{display:none}.tree.open{display:block;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:8px}}.type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.type-card{flex-direction:column;align-items:flex-start;text-align:left;padding:16px;min-height:96px;font-weight:400}.type-card b{font-weight:650}.option-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-bottom:12px}.media-grid figure{margin:0;display:grid;gap:6px}.media-grid img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--radius-sm);background:var(--surface-2)}.file-button{display:inline-flex;margin-bottom:8px}.danger-zone{border-top:1px solid var(--border);padding-top:16px;margin-top:8px}.img-loading,.img-missing{min-height:80px;border-radius:var(--radius-sm);background:var(--surface-2);display:grid;place-items:center;color:var(--muted);font-size:.85rem;padding:8px}.quiz{max-width:840px;margin:0 auto}.quiz-head{display:flex;align-items:center;gap:12px;margin-bottom:16px;position:sticky;top:0;background:var(--bg);padding:calc(4px + env(safe-area-inset-top)) 0 8px;z-index:5}.quiz-counter{display:inline-flex;align-items:center;gap:10px;color:var(--muted);font-weight:600;font-variant-numeric:tabular-nums}.timer{display:inline-flex;align-items:center;gap:4px}.timer.urgent{color:var(--bad)}.progress{flex:1;height:8px;border-radius:999px;background:var(--surface-3);overflow:hidden}.progress span{display:block;height:100%;background:var(--accent);border-radius:999px;transition:width .35s ease}.question-card{background:var(--surface);border-radius:var(--radius);padding:calc(var(--pad) + 4px)}.q-title-big{margin-top:0}.prompt{font-size:calc(1.12rem * var(--quiz-scale));font-weight:550;white-space:pre-wrap;margin-top:0}.prompt-image img,.overlay-body img,.feedback img,.review-image{max-width:100%;border-radius:var(--radius-sm);display:block}figure{margin:0 0 12px}figcaption{color:var(--muted);font-size:.85rem;margin-top:4px}.tools{display:flex;gap:8px;margin:8px 0}.hint{display:flex;gap:8px;align-items:flex-start;background:var(--warn-soft);padding:10px 14px;border-radius:var(--radius-sm)}.answer{border:none;padding:0;margin:14px 0}.options{display:grid;gap:10px}.options.two{grid-template-columns:1fr 1fr}.option{display:flex;align-items:center;gap:12px;margin:0;padding:14px 16px;border:1.5px solid var(--border);border-radius:var(--radius);font-weight:450;font-size:calc(1rem * var(--quiz-scale));cursor:pointer;min-height:58px;background:var(--surface);transition:border-color .15s,background .15s}.option:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--border))}.option.on{border-color:var(--accent);background:var(--accent-soft)}.option.center{justify-content:center}:root[data-bigbuttons=true] .option{min-height:76px;font-size:calc(1.1rem * var(--quiz-scale))}.option .letter{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:.85rem;background:var(--surface-2);color:var(--muted)}.option.on .letter{background:var(--accent);color:var(--accent-text)}.option:has(.letter) input{position:absolute;opacity:0;pointer-events:none}.cloze{font-size:calc(1.12rem * var(--quiz-scale));line-height:2.5}.blank{display:inline-block;width:auto;min-width:140px;max-width:100%;margin:0 4px;padding:4px 10px;min-height:38px}.quiz-actions{display:flex;justify-content:space-between;gap:12px;margin-top:8px}.quiz-actions .primary{flex:1;max-width:320px}.feedback{border-top:1px solid var(--border);margin-top:16px;padding-top:16px;animation:rise .25s ease}@keyframes rise{0%{opacity:0;transform:translateY(6px)}}.verdict{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-weight:750;font-size:1.12rem}.similarity{font-weight:550;color:var(--muted)}.feedback-correct .verdict{color:var(--good)}.feedback-wrong .verdict,.feedback-unanswered .verdict{color:var(--bad)}.feedback-partial .verdict{color:var(--warn)}.model{background:var(--surface-2);border-radius:var(--radius-sm);padding:10px 14px;margin-bottom:12px}.model p{margin:4px 0 0;white-space:pre-wrap}.self-grade{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}.self-grade.subtle{font-size:.9rem;color:var(--muted)}.self-grade.subtle button{min-height:34px;padding:4px 10px}.blank-verdict{display:inline-block;padding:0 8px;margin-right:6px;border-radius:6px}.blank-verdict.correct{background:var(--good-soft)}.blank-verdict.typo{background:var(--warn-soft)}.blank-verdict.wrong,.blank-verdict.empty{background:var(--bad-soft)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:16px;z-index:50}.overlay-body{background:var(--surface);border-radius:var(--radius);padding:16px;max-width:900px;width:100%;max-height:90vh;overflow:auto}.drawing{display:grid;gap:8px;margin-bottom:10px}.drawing-tools{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.drawing-tools button{min-height:38px;padding:4px 10px}.drawing-tools button.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.drawing-tools select{width:auto;min-height:38px}.swatch{width:32px;min-width:32px;min-height:32px!important;border-radius:50%!important;padding:0!important}.swatch.on{outline:3px solid var(--accent);outline-offset:2px}.drawing-canvas{width:100%;height:auto;border:1px solid var(--border);border-radius:var(--radius);background:#fff;touch-action:none;cursor:crosshair;box-shadow:inset 0 0 0 1px #00000005}.drawing-view{margin:0 0 12px}.drawing-view svg{width:100%;height:auto;border-radius:var(--radius);border:1px solid var(--border);display:block}.legend{display:flex;gap:16px;flex-wrap:wrap}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:18px;height:4px;border-radius:2px;display:inline-block}.legend span:first-child i{background:var(--accent)!important}.drawing-preview{max-width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:12px;margin-bottom:18px}.stat{background:var(--surface);border-radius:var(--radius);padding:14px 16px;display:grid;gap:2px}.stat-label{color:var(--muted);font-size:.8rem;font-weight:550}.stat-value{font-size:1.55rem;font-weight:750;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.stat-hint{color:var(--muted);font-size:.8rem}.stat-good .stat-value{color:var(--good)}.stat-bad .stat-value{color:var(--bad)}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:22px}.goal{display:grid;gap:6px;margin-bottom:18px}.breakdown{margin-bottom:12px}.breakdown-row{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--border)}.review{list-style:none;padding:0;margin:0;display:grid;gap:8px}.review-item{background:var(--surface);border-left:4px solid var(--border)!important;border-radius:var(--radius)}.review-item.outcome-correct{border-left-color:var(--good)!important}.review-item.outcome-wrong,.review-item.outcome-unanswered{border-left-color:var(--bad)!important}.review-item.outcome-partial,.review-item.outcome-pending_review{border-left-color:var(--warn)!important}.review-head{width:100%;justify-content:space-between;border:none;background:none;text-align:left;padding:12px 14px;font-weight:550}.review-body{padding:0 14px 12px}.sessions{list-style:none;padding:0;margin:0;background:var(--surface);border-radius:var(--radius);overflow:hidden}.sessions li a{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;padding:13px 16px;border-bottom:1px solid var(--border);color:var(--text);text-decoration:none}.sessions li a:hover{background:var(--accent-softer)}.sessions li:last-child a{border-bottom:none}.session-meta{display:flex;gap:10px;align-items:center}.bar{height:8px;border-radius:999px;background:var(--surface-3);overflow:hidden}.bar-fill{display:block;height:100%;background:var(--accent);border-radius:999px}.bar-good{background:var(--good)}.folder-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.folder-stat{flex-direction:column;align-items:stretch;text-align:left;gap:8px;padding:14px;background:var(--surface);border-radius:var(--radius);font-weight:400}.folder-stat-head{display:flex;justify-content:space-between;gap:8px}.chart{display:flex;align-items:flex-end;gap:6px;height:170px;padding:8px 0 24px;margin-bottom:8px}.chart-col{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;position:relative}.chart-bar{width:100%;max-width:28px;background:var(--bad-soft);border-radius:7px 7px 3px 3px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;min-height:3px}.chart-ok{background:var(--good);width:100%}.chart-label{position:absolute;bottom:-20px;font-size:.7rem;color:var(--muted)}.conflict{border-top:1px solid var(--border);padding:12px 0}.conflict pre{background:var(--surface-2);padding:8px;border-radius:var(--radius-sm);overflow:auto;font-size:.8rem;max-height:240px}.list-item-edit,.list-entry{border:1px solid var(--border);border-radius:var(--radius);padding:12px;margin-bottom:10px;background:var(--surface)}.list-num{flex:none;min-width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:.85rem;background:var(--accent-soft);color:var(--accent)}.list-field{margin:8px 0 0;font-weight:500;font-size:.9rem;color:var(--muted)}.list-field input,.list-field textarea{color:var(--text)}.list-item-edit .list-field{margin-left:36px}.list-answer{display:grid;gap:0}.list-entry-head{display:flex;align-items:center;gap:8px}.list-entry-head input{font-weight:600;font-size:calc(1rem * var(--quiz-scale))}.list-answer .list-field{margin-left:36px}.list-add{border-style:dashed;border-width:1.5px;color:var(--accent);min-height:54px;margin-bottom:8px}.list-review .list-entry.review{padding:10px 12px}.list-entry.extra{border-color:color-mix(in srgb,var(--bad) 45%,var(--border))}.list-entry.missing{border-style:dashed;background:var(--surface-2)}.list-missing{margin-top:12px}.list-missing>b{display:block;margin-bottom:8px}.list-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px}.list-line.sub{margin:4px 0 0 26px;font-size:.92rem}.mark{flex:none;width:20px;font-weight:800;text-align:center}.mark.correct{color:var(--good)}.mark.partial{color:var(--warn)}.mark.wrong,.mark.empty{color:var(--bad)}.solution{color:var(--good);font-weight:600}@media(max-width:600px){.list-answer .list-field,.list-item-edit .list-field{margin-left:0}}.list-answer .list-entry{position:relative}.list-answer .list-entry-head{padding-right:52px}.list-remove{position:absolute;top:12px;right:12px}.subject-search{margin-bottom:18px}.subjects{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--gap)}.subject{position:relative;display:grid;gap:10px;align-content:start;padding:18px var(--pad) 16px;border-radius:var(--radius);background:var(--surface);border:1px solid transparent;box-shadow:var(--shadow);overflow:hidden;transition:border-color .15s,transform .15s}.subject:before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:var(--c)}.subject:hover{border-color:var(--c)}:root[data-cards=flat] .subject{box-shadow:none;background:var(--surface-2)}:root[data-cards=outlined] .subject{box-shadow:none;border-color:var(--border)}.subject-link{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;border-radius:inherit}.subject button,.subject .subject-editor{position:relative;z-index:1}.subject-top{display:flex;align-items:center;gap:12px}.subject-top h2{margin:0;flex:1;min-width:0;font-size:1.1rem;overflow-wrap:anywhere}.subject-icon{flex:none;width:44px;height:44px;border-radius:calc(var(--radius-sm) + 2px);display:grid;place-items:center;font-size:1.4rem;font-weight:750;color:var(--c);background:color-mix(in srgb,var(--c) 16%,transparent)}.subject-menu{min-height:34px;min-width:34px;font-weight:800;color:var(--muted);border:none}.subject-meta{color:var(--muted);font-size:.85rem}.subject-badges{display:flex;flex-wrap:wrap;gap:6px;min-height:22px}.subject-foot{display:flex;justify-content:space-between;align-items:center;gap:8px}.subject-play{font-weight:700;pointer-events:auto}.subject-add{place-content:center;justify-items:center;min-height:190px;box-shadow:none;background:transparent;border:1.5px dashed var(--border);color:var(--accent);font-weight:650}.subject-add:before{display:none}.subject-extra{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.subject-editor{border-top:1px solid var(--border);padding-top:12px;margin-top:4px}.subject-editor label{margin-bottom:8px}.icon-picks{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px;align-items:center}.icon-pick{min-height:38px;min-width:38px;padding:0;font-size:1.15rem}.icon-pick.on{border-color:var(--accent);background:var(--accent-soft)}.icon-input{width:72px;min-height:38px;padding:6px 8px}.subject-editor .accents{margin-bottom:12px}.crumbs{margin:0 0 10px;color:var(--muted)}.crumbs a{text-decoration:none}.sub-chips{display:none}@media(max-width:820px){.subjects{grid-template-columns:1fr 1fr;gap:10px}.subject{padding:14px 12px 12px;gap:8px}.subject-icon{width:36px;height:36px;font-size:1.15rem}.subject-top h2{font-size:.98rem}.subject-add{min-height:140px}.subject-foot{flex-wrap:wrap}.sub-chips{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px;margin-bottom:8px;scrollbar-width:none}.sub-chips .chip{flex:none;display:inline-flex;align-items:center;text-decoration:none;color:var(--text);border:1px solid var(--border);background:var(--surface)}.sub-chips .chip.on{color:var(--accent-text);background:var(--accent);border-color:var(--accent)}}@media(max-width:340px){.subjects{grid-template-columns:1fr}}.bookmark{flex:none;border:none;color:var(--muted)}.bookmark.icon-button{min-width:38px;min-height:38px}.bookmark.on{color:var(--warn)}.bookmark.on svg{fill:currentColor}.card-corner{float:right;margin:-6px -6px 0 8px}.personal-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px 14px;margin:8px 0 14px}.personal-row .note-box{flex:1 1 260px}.note-add{display:inline-flex;margin:4px 0 12px}.personal-row .note-add{margin:8px 0 0}.note-box{margin:4px 0 12px;font-weight:500}.note-box span{display:inline-flex;align-items:center;gap:5px;color:var(--muted)}.q-note{display:inline-flex;align-items:center;gap:4px;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-style:italic}.flashcard{min-height:340px}.flashcard-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.flashcard-face{animation:rise .22s ease}.flashcard-face>.big{margin-top:22px}.flashcard.flipped{border-top:4px solid var(--accent)}.card-blank{display:inline-block;width:90px;height:.9em;margin:0 4px;border-bottom:2px solid var(--muted)}.flashcard mark,.reveal mark{background:var(--good-soft);color:var(--good);font-weight:700;border-radius:5px;padding:0 5px}.card-options{list-style:none;padding:0;margin:0 0 14px;display:grid;gap:6px}.card-options li{display:flex;align-items:center;gap:8px}.card-options .right{font-weight:650;color:var(--good)}.card-bullet{width:16px;flex:none}.card-answer{font-size:calc(1.12rem * var(--quiz-scale));font-weight:650;margin:6px 0 14px}.card-answer.pre{white-space:pre-wrap}.flashcard-ask{font-weight:700;margin:18px 0 8px;text-align:center}.flashcard-verdicts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.flashcard-verdicts button{min-height:56px}.only-desktop{text-align:center;margin:10px 0 0}@media(max-width:820px),(pointer:coarse){.only-desktop{display:none}}.subject-actions{display:inline-flex;gap:12px}.import-help{background:var(--surface-2);border-radius:var(--radius-sm);padding:10px 14px;margin-bottom:10px}.import-help p{margin:0 0 4px}.import-help ul{margin:0;padding-left:20px}.import-help code,.form code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.85em;overflow-wrap:anywhere}.form textarea[spellcheck=false]{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.88rem}.import-preview h2{flex-wrap:wrap}.import-row{display:grid;gap:3px;min-width:0}.questions li.import-bad{background:var(--bad-soft)}.cal{margin-bottom:8px}.cal-scroll{overflow-x:auto;scrollbar-width:thin}.cal-grid{display:grid;gap:3px;min-width:560px}.cal-month{font-size:.7rem;color:var(--muted);white-space:nowrap;height:1.3em;overflow:visible}.cal-week{display:grid;gap:3px}.cal-cell{display:block;width:100%;aspect-ratio:1;min-height:0;padding:0;border:none;border-radius:3px;background:var(--surface-3)}.cal-cell.empty{background:none}.cal-cell.l1{background:color-mix(in srgb,var(--accent) 30%,var(--surface-3))}.cal-cell.l2{background:color-mix(in srgb,var(--accent) 55%,var(--surface-3))}.cal-cell.l3{background:color-mix(in srgb,var(--accent) 78%,var(--surface-3))}.cal-cell.l4{background:var(--accent)}.cal-cell.today{box-shadow:0 0 0 1.5px var(--text)}.cal-cell.picked{outline:2px solid var(--text);outline-offset:1px}.cal-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 16px;margin-top:8px}.cal-legend{display:inline-flex;align-items:center;gap:3px}.cal-legend .cal-cell{width:12px}.trend.up{color:var(--good)}.trend.down{color:var(--bad)}.trend.flat{color:var(--muted)}.missed-title{flex:1 1 200px;min-width:0;overflow:hidden;text-overflow:ellipsis}.cal-scroll .cal-grid{max-width:820px}.subject-foot{flex-wrap:wrap}.subject{grid-template-columns:minmax(0,1fr)}.subject-actions{flex-wrap:wrap}@media(max-width:820px){.subjects{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:340px){.subjects{grid-template-columns:minmax(0,1fr)}}.subject-top h2{overflow-wrap:break-word}@media(max-width:820px){.subject-top{flex-wrap:wrap;justify-content:space-between}.subject-top h2{order:3;flex:1 0 100%}}.concepts{margin:8px 0 12px}.concepts>p{margin:0 0 6px}.concept-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}.concept{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px}.concept.missing>span:nth-child(2),.concept.negated>span:nth-child(2){color:var(--muted)}.open-trial{margin-top:12px;padding:12px;border:1px dashed var(--border);border-radius:var(--radius-sm)}.open-trial .verdict{margin:4px 0}
