:root{--bg:#f6f6fb;--surface:#fff;--surface-2:#eeeef7;--ink:#23263b;--muted:#5b6076;--line:#e2e3ef;--accent:#3444c7;--accent-ink:#fff;--accent-soft:#eceefc;--primary:#3d4fd8;--primary-ink:#fff;--primary-soft:#f0f2fe;--highlight:#ffcd1f;--mark-bg:#ffe9a3;--mark-ink:#2b2118;--good:#0d6b4f;--good-bg:#e3f5ed;--bad:#c2182b;--bad-bg:#fdeaec;--warn:#8a5a00;--warn-bg:#fdf0d2;--warn-ink:#2b2118;--warn-line:#d9a93e;--danger:#c0392b;--danger-ink:#fff;--focus:#1f2aa8;--radius:14px;--radius-sm:10px;--shadow-card:0 1px 2px #23263b0d, 0 1px 3px #23263b0f;--shadow-pop:0 12px 28px #23263b29;--font:"Inter", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;accent-color:var(--primary)}:root[data-theme=dark]{--bg:#0b1220;--surface:#131d31;--surface-2:#1b2740;--ink:#e8eefb;--muted:#9aadc9;--line:#27364f;--accent:#83b2ff;--accent-ink:#081426;--accent-soft:#1f3356;--primary:#4c8dff;--primary-ink:#081426;--primary-soft:#16263f;--highlight:#ffcd1f;--mark-bg:#6b5410;--mark-ink:#fdf3d6;--good:#3ddc97;--good-bg:#0f3328;--bad:#ff8b9a;--bad-bg:#3d1622;--warn:#f5c451;--warn-bg:#3a2c0b;--warn-ink:#f7dfa8;--warn-line:#8a6a24;--danger:#ff8b9a;--danger-ink:#2a0a10;--focus:#a8ccff;--shadow-card:0 1px 0 #ffffff0a inset, 0 2px 8px #0000003d;--shadow-pop:0 14px 34px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}select,input,textarea,button{max-width:100%}html,body{background:var(--bg);color:var(--ink);font-family:var(--font);margin:0;font-size:16px;line-height:1.5}h1,h2{margin:0;line-height:1.2}button,.mode{font:inherit;cursor:pointer;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--radius-sm);padding:.42rem .85rem;font-weight:650;text-decoration:none;transition:background .15s,border-color .15s,transform 80ms}button:hover:not(:disabled){background:var(--surface-2);border-color:color-mix(in srgb, var(--ink) 18%, var(--line))}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.6;cursor:not-allowed;background:var(--surface-2);color:var(--muted);border-color:var(--line)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:var(--radius-sm)}.primary,button.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-ink);box-shadow:var(--shadow-card)}button.primary:hover:not(:disabled){background:color-mix(in srgb, var(--primary) 88%, var(--ink));border-color:color-mix(in srgb, var(--primary) 88%, var(--ink))}button.primary:disabled{background:color-mix(in srgb, var(--primary) 26%, var(--surface));border-color:color-mix(in srgb, var(--primary) 30%, var(--line));color:var(--muted);box-shadow:none}.big{padding:.6rem 1.2rem;font-size:1rem}.muted{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin:0 0 .35rem;font-size:.78rem;font-weight:750}.link-quiet{color:var(--muted);font-weight:600;text-decoration:none}.link-quiet:hover,.link-quiet:focus-visible{color:var(--accent);text-decoration:underline}.badge{background:var(--surface-2);color:var(--muted);border-radius:999px;padding:.22rem .65rem;font-size:.8rem;font-weight:700}.course{grid-template-columns:minmax(0,1fr);align-content:start;gap:.85rem;width:100%;max-width:900px;margin:0 auto;padding:1.4rem 28px 2.5rem;display:grid}.course-head{gap:.25rem;padding-bottom:.1rem;display:grid}.course-head h1{letter-spacing:-.02em;font-size:1.6rem}.course-head>.muted{max-width:68ch}.course-head .eyebrow,.course-head p{margin:0}.course-head .row{margin-top:.35rem}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:1rem 1.15rem}.panel h2{letter-spacing:-.01em;margin-bottom:.35rem;font-size:1.05rem}.panel p{margin:.25rem 0}.panel-split{border-top:1px solid var(--line);margin-top:.9rem;padding-top:.9rem}.concept{gap:1rem;display:grid}.concept h2{font-size:1.5rem}.modes{flex-wrap:wrap;gap:.5rem;display:flex}.mode.off{opacity:.5;cursor:not-allowed}.docs{margin:0;padding-left:1.1rem}.player{grid-template-columns:minmax(0,1fr) 300px;grid-template-areas:"head head""stage log";gap:1rem 1.25rem;max-width:1180px;margin:0 auto;padding:1rem 16px 3rem;display:grid}@media (max-width:900px){.player{grid-template-columns:minmax(0,1fr);grid-template-areas:"head""stage""log"}}.player-head{flex-wrap:wrap;grid-area:head;align-items:center;gap:1rem;display:flex}.player-title{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.player-title h1{font-size:1.35rem}.stage-wrap{grid-area:stage;gap:.75rem;min-width:0;display:grid}.stage{border-radius:var(--radius);border:2px solid var(--ink);aspect-ratio:16/9;background:#fdf1dc;position:relative;overflow:hidden}.scene-svg{width:100%;height:100%;display:block}.svg-text{font-family:var(--font)}.mono{font-family:ui-monospace,Cascadia Mono,Consolas,monospace}.scene-chip{z-index:1;color:#2b2118;background:#fffaf0eb;border:1.5px solid #2b2118;border-radius:999px;align-items:center;gap:.5rem;padding:.2rem .75rem;font-size:.8rem;font-weight:700;display:flex;position:absolute;top:10px;left:10px}.scene-chip .chip-supp{color:#2b2118;background:#fbe3b5;border-radius:999px;padding:0 .5rem;font-weight:750}.caption{text-align:center;text-wrap:balance;min-height:3.2em;margin:0;padding:0 .5rem;font-size:1.3rem;font-weight:650}.beat-dots{justify-content:center;gap:6px;display:flex}.beat-dots span{background:var(--line);border-radius:50%;width:8px;height:8px}.beat-dots span.on{background:var(--accent)}.beat-dots span.now{background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 30%, transparent)}.caption.hidden{visibility:hidden}.controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;display:flex}.controls .wide{min-width:7.5rem}.controls.secondary{font-size:.88rem}.controls.secondary button{padding:.35rem .8rem}.speed{align-items:center;gap:.4rem;font-weight:650;display:inline-flex}.speed select{font:inherit;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:.3rem .6rem}.voice-label{text-align:center;color:var(--muted);flex-basis:100%;font-size:.8rem}.small{font-size:.9rem}.start-gate{z-index:2;text-align:center;color:#fffaf0;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#2b2118c7;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:16px;display:flex;position:absolute;inset:0}.start-gate p{margin:0;font-weight:650}.start-gate .muted{color:#e9dccb}.start-button{background:var(--accent);color:var(--accent-ink);border-width:2px;border-color:#2b2118;padding:.9rem 1.8rem;font-size:1.35rem;box-shadow:0 4px #2b2118}button.start-button:hover:not(:disabled){background:var(--accent);filter:brightness(1.07)}.paused-badge{z-index:1;color:#fffaf0;background:#2b2118d9;border-color:#0000;place-items:center;width:34px;height:34px;padding:0;font-size:.8rem;display:grid;position:absolute;top:8px;right:8px}.stage.settled :is(.pop-in,.rise-in,.drop-in,.fade-in,.grow-up,.grow-right,.swing-in,.stamp){animation:none!important}button.paused-badge:hover:not(:disabled){background:#2b2118f2}.checkpoint{background:var(--surface);color:var(--ink);flex-direction:column;gap:1rem;padding:clamp(1rem,4vw,2.25rem);display:flex;position:absolute;inset:0;overflow:auto}.checkpoint h2{max-width:44ch;font-size:clamp(1.1rem,2.4vw,1.5rem)}.options{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;max-width:560px;display:grid}.option{text-align:left;border-radius:12px;align-items:center;gap:.7rem;padding:.7rem .9rem;font-size:1.15rem;display:flex}.option-key{background:var(--surface-2);border-radius:50%;place-items:center;width:1.8rem;height:1.8rem;font-size:.85rem;display:inline-grid}.option.picked{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent) inset}.option.right,.option.wrong{box-shadow:none}.option.right{border-color:var(--good);background:var(--good-bg);opacity:1}.option.wrong{border-color:var(--bad);background:var(--bad-bg);opacity:1}.checkpoint>.primary{align-self:flex-start}.feedback{border-radius:12px;max-width:640px;padding:.85rem 1rem}.feedback.ok{background:var(--good-bg);border:1.5px solid var(--good)}.feedback.miss{background:var(--bad-bg);border:1.5px solid var(--bad)}.rationale{margin:.4rem 0 0;font-weight:650}.feedback-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.75rem;display:flex}.save-state{color:var(--muted);font-size:.85rem}.done-card{background:var(--good-bg);border:1.5px solid var(--good);border-radius:var(--radius);padding:1rem 1.25rem}.done-card p{margin:.25rem 0 0}.sources{flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.85rem;display:flex}.sources-label{color:var(--muted);font-weight:650}.source-chip{padding:.25rem .7rem;font-size:.8rem}.source-chip.active{border-color:var(--accent)}.source-quote{background:var(--surface);border-left:4px solid var(--accent);border-radius:8px;flex-basis:100%;margin:.25rem 0 0;padding:.75rem 1rem}.source-quote p{margin:0}.source-quote footer{color:var(--muted);margin-top:.35rem;font-size:.8rem}.attempt-log{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius);grid-area:log;align-self:start;padding:1rem}.attempt-log h2{margin-bottom:.5rem;font-size:1rem}.attempt-log ol{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.attempt-log li{gap:.5rem;font-size:.88rem;display:flex}.attempt-log small{color:var(--muted);font-size:.75rem;display:block}.attempt-log .mark{font-weight:900}.attempt-log .ok .mark{color:var(--good)}.attempt-log .miss .mark{color:var(--bad)}.row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.button-link{border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);background:var(--surface);padding:.42rem .85rem;font-weight:650;text-decoration:none;transition:background .15s,border-color .15s;display:inline-block}.button-link:hover{background:var(--surface-2);border-color:color-mix(in srgb, var(--ink) 18%, var(--line))}.button-link.primary{color:var(--primary-ink);background:var(--primary);border-color:var(--primary);box-shadow:var(--shadow-card)}.button-link.primary:hover{background:color-mix(in srgb, var(--primary) 88%, var(--ink));border-color:color-mix(in srgb, var(--primary) 88%, var(--ink))}.button-link.on{background:var(--accent-soft);color:var(--ink);border-color:color-mix(in srgb, var(--accent) 45%, transparent)}.button-link.on:hover{background:color-mix(in srgb, var(--accent-soft) 85%, var(--accent))}.empty-state{border:1.5px dashed color-mix(in srgb, var(--line) 80%, var(--muted));border-radius:var(--radius);background:color-mix(in srgb, var(--surface) 55%, transparent);box-shadow:none;justify-items:start;gap:.45rem;padding:1.15rem;display:grid}.empty-state h2,.empty-state h3{margin:0;font-size:1.05rem}.empty-state p{color:var(--muted);max-width:56ch;margin:0}.empty-state .row{margin-top:.25rem}.notice{border-radius:var(--radius-sm);background:var(--warn-bg);color:var(--warn-ink);border:1px solid var(--warn-line);margin:0;padding:.75rem 1rem}.dropzone{border:2px dashed var(--line);cursor:pointer;text-align:center;border-radius:14px;place-items:center;gap:.25rem;min-height:150px;padding:1rem;display:grid;position:relative}.dropzone.dragging,.dropzone:hover{border-color:var(--accent)}.dropzone input{opacity:0;cursor:pointer;position:absolute;inset:0}.drop-title{font-weight:700}.upload-actions{flex-wrap:wrap;gap:.5rem;margin-top:.9rem;display:flex}.workspace,.review{max-width:960px}.page-strip{flex-wrap:wrap;gap:.4rem;margin:.5rem 0;display:flex}.page-chip{text-align:left;border-radius:10px;padding:.35rem .7rem;font-size:.85rem;display:grid}.page-chip span{color:var(--muted);font-size:.72rem;font-weight:600}.page-chip.low{border-color:var(--bad)}.page-chip.active{border-color:var(--accent)}.page-text{white-space:pre-wrap;background:var(--surface-2);border-radius:10px;max-height:320px;margin:0;padding:.8rem 1rem;font-family:inherit;font-size:.88rem;overflow:auto}.concept-list{gap:.75rem;margin:.75rem 0;display:grid}.concept-card{border:1.5px solid var(--line);background:var(--bg);border-radius:12px;gap:.5rem;padding:.9rem 1rem;display:grid}.concept-card header{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.concept-card h3{margin:0;font-size:1.1rem}.concept-card p{margin:0}.concept-edit label,.regenerate label{gap:.25rem;font-size:.9rem;font-weight:650;display:grid}.concept-edit input,.concept-edit textarea,.regenerate input{font:inherit;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:.4rem .55rem;font-weight:500}.source-list,.review-sources{flex-wrap:wrap;gap:.35rem;display:flex}.review-sources{display:grid}.quote-chip{text-align:left;background:var(--surface-2);border:1px solid var(--line);color:var(--ink);border-radius:8px;padding:.25rem .55rem;font-size:.78rem;font-weight:600}.quote-chip.unverified{border-color:var(--bad);color:var(--bad)}mark{background:var(--mark-bg);color:var(--mark-ink);border-radius:3px}.generate-row{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;padding-top:.6rem;display:flex}.mode-toggle{border:1.5px solid var(--line);border-radius:999px;display:inline-flex;overflow:hidden}.mode-toggle button{border:none;border-radius:0;font-size:.85rem}.mode-toggle button.on{background:var(--accent-soft);color:var(--ink);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 45%, transparent)}.step-fold>summary{cursor:pointer;align-items:baseline;gap:.75rem;list-style:none;display:flex}.step-fold>summary::-webkit-details-marker{display:none}.step-fold>summary:before{content:"";border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);flex:none;width:.5rem;height:.5rem;transition:transform .15s;transform:rotate(-45deg)}.step-fold[open]>summary:before{transform:rotate(45deg)}.step-fold>summary h2{display:inline}.step-fold>summary>.muted{margin-left:auto}.ready-earlier{border-left:2px solid var(--line);flex-basis:100%;margin-top:.35rem;padding-left:.75rem}.ready-earlier>summary{cursor:pointer}.ready-earlier ul{margin:.35rem 0 0;padding:0;list-style:none}.ready-earlier li{flex-wrap:wrap;align-items:baseline;gap:.4rem;padding:.15rem 0;display:flex}.level-fit{border-left:2px solid var(--line);margin-top:.5rem;padding-left:.6rem}.status-means{margin-top:.15rem;display:block}.library-course+.library-course{margin-top:.9rem}.library-course-name{margin:0 0 .3rem;font-weight:650}.ready-lessons .ready-list{gap:.4rem;margin:.6rem 0 0;padding:0;list-style:none;display:grid}.ready-lessons .ready-list li{border:1px solid var(--line);background:var(--surface);border-radius:10px;align-items:center;gap:.7rem;padding:.45rem .6rem;display:flex}.ready-play{flex:none;padding:.3rem .75rem;font-size:.85rem}.ready-title{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-weight:600;overflow:hidden}.ready-deeper,.ready-review{flex:none}@media (max-width:560px){.ready-lessons .ready-list li{flex-wrap:wrap}.ready-title{white-space:normal;flex:1 0 100%;order:-1}}.lesson-links,.lesson-list{gap:.35rem;margin:0;padding:0;font-size:.88rem;list-style:none;display:grid}.lesson-list li{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem 0;display:flex}.status{background:var(--surface-2);border-radius:999px;padding:.15rem .6rem;font-size:.78rem;font-weight:750}.status-draft{background:color-mix(in srgb, var(--primary) 18%, var(--surface))}.status-accepted{background:var(--good-bg);color:var(--good)}.status-invalid,.status-failed{background:var(--bad-bg);color:var(--bad)}.progress-line{align-items:center;gap:.6rem;font-weight:650;display:flex}.spinner{border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.verdict p{margin:0}.issues,.warnings{gap:.25rem;margin:.5rem 0 0;padding-left:1.1rem;font-size:.88rem;display:grid}.warnings{color:var(--warn);padding:0;list-style:none}.actions{gap:.75rem;display:grid}.regenerate{flex-wrap:wrap;align-items:flex-end;gap:.5rem;display:flex}.regenerate label{flex:280px}.outline{gap:.75rem;display:grid}.node-card{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius);gap:.6rem;padding:.9rem 1rem;display:grid}.node-card header{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.node-card h3{margin:0;font-size:1.05rem}.node-card p{margin:0}.node-index{background:var(--accent);width:1.7rem;height:1.7rem;color:var(--accent-ink);border-radius:50%;place-items:center;font-size:.8rem;font-weight:800;display:inline-grid}.chip-branch{background:var(--bad-bg);color:var(--bad)}.chip-supp{background:var(--warn-bg);color:var(--warn-ink)}.node-body{grid-template-columns:minmax(0,320px) minmax(0,1fr);align-items:start;gap:.9rem;display:grid}@media (max-width:700px){.node-body{grid-template-columns:minmax(0,1fr)}}.thumb{border:1.5px solid var(--ink);aspect-ratio:16/9;border-radius:10px;overflow:hidden}.thumb *{animation:none!important}.beat-list{gap:.2rem;margin:0;padding-left:1.2rem;font-size:.9rem;display:grid}.question-card{border-color:color-mix(in srgb, var(--accent) 45%, var(--line))}.q-prompt{font-weight:700}.q-options{gap:.3rem;margin:0;padding-left:1.1rem;font-size:.9rem;display:grid}.q-options li.right strong{color:var(--good)}.draft-banner{background:var(--warn-bg);color:var(--warn-ink);border-radius:999px;padding:.2rem .7rem;font-size:.78rem;font-weight:800}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.tabs{border:1.5px solid var(--line);border-radius:999px;margin-bottom:.9rem;display:inline-flex;overflow:hidden}.tabs button{border:none;border-radius:0}.tabs button.on{background:var(--accent-soft);color:var(--ink);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 45%, transparent)}.file-list,.outcomes{gap:.4rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.file-list li{border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;align-items:center;gap:.6rem;padding:.45rem .6rem;display:flex}.file-name{word-break:break-all;font-weight:700}.kind-select select,.paste-form input,.paste-form select,.paste-form textarea,.concept-edit select{font:inherit;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:.35rem .5rem}.paste-form{gap:.7rem;display:grid}.paste-form label{gap:.25rem;font-size:.9rem;font-weight:650;display:grid}.paste-form textarea{resize:vertical;min-height:180px;font-weight:450}.source-list-cards{gap:.75rem;margin:.5rem 0;display:grid}.source-card{border:1.5px solid var(--line);background:var(--bg);border-radius:12px;gap:.45rem;padding:.8rem 1rem;display:grid}.source-card header{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.source-card p{margin:0}.source-tag{background:var(--accent);min-width:2rem;height:1.6rem;color:var(--accent-ink);border-radius:6px;place-items:center;padding:0 .4rem;font-size:.8rem;font-weight:800;display:inline-grid}.gap-link{color:var(--warn)}.gap-table{border-collapse:collapse;font-size:.85rem}.gap-table th{text-align:left;vertical-align:top;white-space:nowrap;padding:.25rem .8rem .25rem 0}.gap-table td{padding:.25rem 0}.gap-kind{background:var(--surface-2);border-radius:999px;padding:.05rem .45rem;font-size:.72rem;font-weight:750}.gap-scanned_page{background:var(--bad-bg);color:var(--bad)}.passage-list{gap:.5rem;max-height:420px;display:grid;overflow:auto}.passage-list .page-text{margin-top:.25rem}.detect-row{flex-wrap:wrap;align-items:center;gap:.75rem;margin:.25rem 0 .5rem;display:flex}.original-questions{gap:.7rem;margin:0;padding-left:1.2rem;display:grid}.original-questions pre{white-space:pre-wrap;margin:.3rem 0 0;font-family:inherit}.original-questions p{margin:.2rem 0 0}.location-pick{border:1.5px solid var(--line);border-radius:8px;flex-wrap:wrap;gap:.3rem .9rem;max-height:160px;padding:.4rem .7rem;font-size:.85rem;display:flex;overflow:auto}.location-pick legend{font-size:.9rem;font-weight:650}.location-pick label{align-items:center;gap:.3rem;display:inline-flex}.concept-edit label:has(select){gap:.25rem;font-size:.9rem;font-weight:650;display:grid}.studio{max-width:980px}.ok{color:var(--good)}.miss{color:var(--bad)}.checklist{gap:.3rem;margin:0;padding-left:1.1rem;display:grid}code{background:var(--surface-2);border-radius:6px;padding:.05rem .35rem;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.9em}.voice-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem;margin:.75rem 0;display:grid}.voice-card{border:1.5px solid var(--line);background:var(--bg);border-radius:12px;align-content:start;gap:.5rem;padding:.8rem;display:grid}.voice-card.approved{border-color:var(--good);box-shadow:0 0 0 2px var(--good) inset}.voice-card header{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.voice-card audio{width:100%;height:32px;margin-top:.25rem}.voice-card p{margin:0}.chip{background:var(--surface-2);border-radius:999px;padding:.15rem .6rem;font-size:.78rem;font-weight:750}.ok-chip{background:var(--good-bg);color:var(--good)}.preview-player{gap:.4rem;display:grid}.preview-player>button{justify-self:start}.preview-lines{gap:.15rem;margin:0;padding-left:1.2rem;font-size:.88rem;display:grid}.preview-lines li.speaking{color:var(--accent);font-weight:750}.manual-voice{gap:.5rem;margin-top:.5rem;display:grid}.manual-voice input{font:inherit;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;min-width:min(100%,280px);padding:.35rem .5rem}.link-button{color:var(--accent);background:0 0;border:none;padding:0;text-decoration:underline}.estimate{border-collapse:collapse;margin:.5rem 0;font-size:.92rem}.estimate th{text-align:left;color:var(--muted);padding:.25rem 1rem .25rem 0;font-weight:650}.consent{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.75rem;display:flex}.job .bar{background:var(--surface-2);border-radius:999px;height:10px;margin-top:.5rem;overflow:hidden}.job .bar span{background:var(--accent);height:100%;transition:width .3s;display:block}.pop-in,.grow-up,.drop-in,.rise-in,.wave,.pulse{transform-box:fill-box}.pop-in{transform-origin:50%;animation:.5s cubic-bezier(.3,1.6,.5,1) both pop}.fade-in{animation:.5s both fade}.rise-in{animation:.45s ease-out both rise}.drop-in{animation:.55s cubic-bezier(.3,1.4,.5,1) both drop}.grow-up{transform-origin:bottom;animation:.7s cubic-bezier(.3,1.2,.5,1) both grow}.char-bob{animation:2.6s ease-in-out infinite bob}.wave{transform-box:view-box;animation:1.4s ease-in-out infinite wave}.blink{transform-box:fill-box;transform-origin:50%;animation:4s infinite blink}.flicker{transform-box:fill-box;transform-origin:bottom;animation:.9s ease-in-out infinite alternate flicker}.pulse{transform-origin:50%;animation:1.2s ease-in-out infinite pulse}.drip{animation:1.6s ease-in infinite drip}@keyframes pop{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(24px)}}@keyframes drop{0%{opacity:0;transform:translateY(-60px)}}@keyframes grow{0%{transform:scaleY(0)}}@keyframes bob{50%{transform:translateY(-4px)}}@keyframes wave{0%,to{transform:rotate(0)}50%{transform:rotate(-14deg)}}@keyframes blink{0%,46%,50%,to{transform:scaleY(1)}48%{transform:scaleY(.1)}}@keyframes flicker{to{transform:scaleY(1.12)scaleX(.95)}}@keyframes pulse{50%{opacity:.35;transform:scale(1.06)}}@keyframes drip{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(14px)}}.talk{transform-box:fill-box;transform-origin:50%;animation:.26s ease-in-out infinite alternate talk}.swing-in{transform-box:fill-box;transform-origin:top;animation:.9s cubic-bezier(.3,1.5,.5,1) both swing}.stamp{transform-box:fill-box;transform-origin:50%;animation:.45s cubic-bezier(.2,1.6,.5,1) both stamp}.snip{animation:.5s ease-in-out 3 alternate snip}.pulse-soft{animation:1.4s ease-in-out infinite pulse-soft}.grow-right{transform-box:fill-box;transform-origin:0;animation:.6s ease-out both grow-right}.strike{text-decoration:line-through}.stage.paused,.stage.paused *{animation-play-state:paused!important}@keyframes talk{0%{transform:scaleY(.25)}to{transform:scaleY(1.1)}}@keyframes swing{0%{opacity:0;transform:rotate(-40deg)}60%{opacity:1;transform:rotate(10deg)}to{transform:rotate(0)}}@keyframes stamp{0%{opacity:0;transform:scale(2.2)}}@keyframes snip{to{transform:translate(-12px)}}@keyframes pulse-soft{50%{opacity:.45}}@keyframes grow-right{0%{transform:scaleX(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}.quote-chip-supp{background:0 0!important;border-style:dashed!important}.thumb:has(.still-box){aspect-ratio:auto}.thumb .studio-stage.still{aspect-ratio:16/9;box-shadow:none;pointer-events:none;border-radius:0}.thumb .studio-stage.still .layer{transition:none}.prototype-page .prototype-links{font-weight:700}.lab-list{gap:.8rem;margin:1rem 0;padding:0;list-style:none;display:grid}.lab-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);gap:.4rem;padding:.9rem 1rem;display:grid}.lab-card.chosen{border-color:var(--good);box-shadow:inset 0 0 0 1px var(--good)}.lab-head{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.lab-card audio{width:100%}.lab-passage p{line-height:1.5}.lab-next{border-top:1px solid var(--line);padding-top:1rem}.host-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-top:1rem;display:grid}.host-grid figure{margin:0}.host-grid figcaption{margin-top:6px;font-weight:700}.evidence{gap:.75rem;display:grid}.evidence h2{margin:0;font-size:1.05rem}.evidence .warn{color:var(--warn);margin:0}.finding{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);border-left-width:4px;gap:.5rem;padding:.7rem .85rem;display:grid}.finding-unsupported,.finding-contradicted{border-left-color:var(--bad);background:var(--bad-bg)}.finding-unclear{border-left-color:var(--warn-line)}.finding>header{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.finding dl{gap:.15rem;margin:0;display:grid}.finding dt{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-top:.3rem;font-size:.72rem;font-weight:700}.finding dd{margin:0;font-size:.9rem}.finding-claim{font-weight:600}.finding-quote{font-style:italic;overflow-x:auto}.finding details summary{cursor:pointer;color:var(--muted);font-size:.82rem}.finding-actions{justify-items:start;gap:.4rem;display:grid}.candidates{gap:.35rem;width:100%;margin:0;padding:0;list-style:none;display:grid}.candidates button{text-align:left;width:100%;font-size:.82rem}.support-badge{text-transform:uppercase;letter-spacing:.03em;margin-left:.35rem;font-size:.7rem;font-weight:700}.support-unsupported,.support-contradicted{color:var(--bad)}.support-unclear{color:var(--warn)}.quote-chip-unsupported,.quote-chip-contradicted{border-color:var(--bad)}.quote-chip-unclear{border-color:var(--warn-line)}.status-tocorrect{background:var(--warn-bg);color:var(--warn-ink);border:1px solid var(--warn-line)}.section-head{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:.5rem 0 -.35rem;font-size:.78rem;font-weight:750}.practice-head{flex-wrap:wrap;align-items:baseline;gap:.5rem;margin-bottom:.6rem;display:flex}.practice-card .q-prompt{font-size:1.05rem;font-weight:600}.practice-card .q-options{gap:.45rem;margin:.6rem 0;padding:0;list-style:none;display:grid}.practice-card .q-options button{text-align:left;width:100%;font-size:.95rem}.practice-card .q-options li.picked button{border-color:var(--focus)}.practice-card .q-options li.right button{border-color:var(--good);background:var(--good-bg)}.practice-card .q-options li.wrong button{border-color:var(--bad);background:var(--bad-bg)}.practice-result{border-top:1px solid var(--line);justify-items:start;gap:.4rem;margin-top:.5rem;padding-top:.7rem;display:grid}.practice-offer{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.8rem;display:flex}.stage-practice{opacity:.85;font-size:.85rem}.queue-list{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.queue-list li{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.queue-list li.cleared{opacity:.75}.prof-list{gap:.9rem;margin:.6rem 0 0;padding:0;list-style:none;display:grid}.prof-text{white-space:pre-wrap;margin:0}.prof-answer{background:var(--surface-2);white-space:pre-wrap;border-radius:8px;margin:.3rem 0 0;padding:.5rem .7rem}.professor-questions{border-left:4px solid var(--accent)}.deck-head{justify-content:space-between;align-items:baseline;gap:.6rem;display:flex}.deck-head h2{margin:0}.flashcard{text-align:center;border:1.5px solid var(--line);border-radius:var(--radius);background:var(--surface-2);cursor:pointer;align-content:center;justify-items:center;gap:.5rem;width:100%;min-height:190px;margin:.8rem 0;padding:1.4rem;display:grid}.flashcard.flipped{background:var(--good-bg);border-color:var(--good)}.flashcard-side{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.7rem;font-weight:700}.flashcard-body{white-space:pre-wrap;max-width:60ch;font-size:1.15rem;font-weight:600;line-height:1.45}.deck-controls{align-items:center}.practice-review-item{border:1px solid var(--line);border-radius:var(--radius);justify-items:start;gap:.5rem;margin:.7rem 0;padding:.8rem .95rem;display:grid}.practice-review-item>header{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.practice-review-item.hidden-item{opacity:.6;border-style:dashed}.card-preview{gap:.15rem;margin:0;display:grid}.card-preview dt{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-top:.3rem;font-size:.7rem;font-weight:700}.card-preview dd{margin:0}.card-back{white-space:pre-wrap}.course input[type=text],.course input[type=email],.course input[type=password],.course input[type=date],.course input[type=number],.course input[type=search],.course input:not([type]),.course textarea,.course select,.rail input[type=text],.rail input:not([type]),.practice-review select{font:inherit;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:.5rem .65rem;font-size:.95rem}.course select,.practice-review select{padding:.45rem .6rem;font-size:.9rem}.course input::placeholder,.course textarea::placeholder{color:color-mix(in srgb, var(--muted) 75%, transparent)}.course input:hover:not(:disabled),.course textarea:hover:not(:disabled),.course select:hover:not(:disabled){border-color:color-mix(in srgb, var(--ink) 18%, var(--line))}.course label>select,.practice-review label>select{margin-left:.4rem}.coverage summary{cursor:pointer;color:var(--muted);font-size:.85rem}.coverage-table{border-collapse:collapse;width:100%;margin:.5rem 0;font-size:.85rem}.coverage-table th,.coverage-table td{text-align:left;border-bottom:1px solid var(--line);padding:.3rem .6rem .3rem 0}.coverage-table tr.needs-pack td:first-child{color:var(--warn);font-weight:700}.study-head{gap:.5rem}.study-progress{background:var(--surface-2);border:1px solid var(--line);border-radius:999px;width:min(100%,520px);height:8px;margin-top:.2rem;overflow:hidden}.study-progress span{background:var(--good);height:100%;transition:width .25s;display:block}.study-card{justify-items:center;gap:.6rem;display:grid}.study-card .flashcard{min-height:clamp(140px,22vh,220px);margin:.2rem 0 .4rem;padding:1.1rem 1.3rem}.flashcard-body.flashcard-lines{text-align:left;justify-self:start;font-size:1.05rem}.study-grade{justify-content:center;gap:.8rem}.study-grade button{min-width:11rem;padding:.6rem 1.1rem}.grade-again{border-color:var(--bad);color:var(--bad)}.grade-again:hover:not(:disabled){background:var(--bad-bg)}.key-hint{opacity:.65;border:1px solid;border-radius:5px;margin-left:.45rem;padding:0 .34rem;font-size:.72rem;display:inline-block}.study-meta{margin:0}.study-preview{gap:.3rem;margin:.5rem 0 .8rem;padding:0;list-style:none;display:grid}.study-preview li{align-items:baseline;gap:.5rem;display:flex}.box-dot{border:1.5px solid var(--line);background:var(--surface-2);border-radius:50%;flex:none;width:9px;height:9px}.box-dot.box-1{background:color-mix(in srgb, var(--good) 30%, var(--surface-2))}.box-dot.box-2{background:color-mix(in srgb, var(--good) 55%, var(--surface-2))}.box-dot.box-3{background:color-mix(in srgb, var(--good) 78%, var(--surface-2))}.box-dot.box-4{background:var(--good);border-color:var(--good)}.study-missed{gap:.25rem;margin:.4rem 0 .8rem;padding-left:1.1rem;display:grid}.study-callout{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;display:flex}.study-callout>div{flex:22rem;gap:.15rem;min-width:0;display:grid}.study-callout p{margin:0}.study-callout .row{flex:none}.sheet-page{max-width:1000px}.bulk-approve{align-items:center;margin:0 0 .7rem}.sheet{columns:2;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);column-gap:1.6rem;padding:1.1rem 1.3rem;font-size:.82rem;line-height:1.38}.sheet-section{margin:0 0 .75rem}.sheet-section h2{color:var(--accent);break-after:avoid;break-inside:avoid;margin:0 0 .15rem;font-size:.87rem}.sheet-flag{color:var(--bad)}.sheet-gist{color:var(--muted);margin:0 0 .2rem;font-style:italic}.sheet-terms{color:var(--muted);margin:0 0 .2rem;font-size:.75rem;font-weight:650}.sheet ul{margin:0;padding-left:.95rem}.sheet li{margin-bottom:.15rem}.sheet-where{color:var(--muted);white-space:nowrap;font-size:.72rem}.sheet-omitted{margin-top:1rem}@media print{.no-print,.sheet-omitted{display:none!important}html,body{color:#000;background:#fff}.sheet-page,.course{gap:0;width:auto;max-width:none;margin:0;padding:0}.sheet{border:0;column-gap:10mm;padding:0;font-size:8.4pt;line-height:1.28}.sheet-section h2{color:#000;font-size:8.8pt}.sheet-where,.sheet-gist,.sheet-terms{color:#444}@page{margin:10mm}}body{grid-template-columns:auto minmax(0,1fr);min-height:100vh;display:grid}body>:not(.rail){grid-area:1/2}body>main{z-index:1}body>:not(.rail):not(main){place-self:start}.rail{background:var(--surface-2);border-right:1px solid var(--line);flex-direction:column;grid-area:1/1;align-self:start;gap:.8rem;width:236px;height:100vh;padding:1rem .7rem .9rem;display:flex;position:sticky;top:0}.rail-mark{color:var(--ink);padding:0 .35rem;font-size:1.05rem;font-weight:800;text-decoration:none}.rail-mark span{color:var(--accent)}.rail-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 .3rem .35rem;font-size:.68rem;font-weight:750}.rail-course{position:relative}.course-pick{text-align:left;border-radius:var(--radius-sm);background:var(--surface);width:100%;box-shadow:var(--shadow-card);justify-content:space-between;align-items:center;gap:.5rem;padding:.55rem .7rem;font-size:.92rem;font-weight:700;line-height:1.25;display:flex}.course-pick .chev{color:var(--muted);flex:none}.course-menu{z-index:30;background:var(--surface);border:1px solid var(--line);max-height:60vh;box-shadow:var(--shadow-pop);border-radius:12px;gap:.15rem;padding:.3rem;display:grid;position:absolute;top:calc(100% + .3rem);left:0;right:-.4rem;overflow-y:auto}.course-menu a{color:inherit;border-radius:8px;gap:.05rem;padding:.4rem .55rem;text-decoration:none;display:grid}.course-menu a:hover{background:var(--surface-2)}.course-menu a.on{background:var(--accent-soft);box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--accent) 40%, transparent)}.rail-empty{margin:.3rem .55rem}.rail-tools{flex:1;align-content:start;gap:.12rem;margin:0;padding:0;list-style:none;display:grid}.rail-tools a{border-radius:var(--radius-sm);color:var(--muted);align-items:center;gap:.6rem;padding:.42rem .6rem;font-size:.93rem;font-weight:650;text-decoration:none;transition:background .15s,color .15s;display:flex}.rail-tools a:hover{background:color-mix(in srgb, var(--surface) 60%, transparent);color:var(--ink)}.rail-tools a.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-card)}.rail-icon{color:color-mix(in srgb, var(--accent) 70%, var(--muted));text-align:center;width:1rem;font-size:.85rem}.rail-tools a.on .rail-icon{color:var(--accent)}.rail-foot{border-top:1px solid var(--line);gap:.4rem;padding-top:.7rem;display:grid}.rail-add-source{color:var(--accent);padding:.2rem .6rem;font-size:.88rem;font-weight:650;text-decoration:none}.new-course-btn{width:100%;padding:.45rem .6rem;font-size:.88rem}.new-course{gap:.4rem;display:grid}.new-course input{width:100%;font:inherit;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);border-radius:9px;padding:.4rem .55rem;font-size:.9rem}@media (max-width:760px){body{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}body>:not(.rail){grid-area:2/1}.rail{border-right:0;border-bottom:1px solid var(--line);flex-flow:wrap;grid-row:1;align-items:center;width:auto;height:auto;position:static}.rail-tools{flex:100%;grid-auto-flow:column;overflow-x:auto}.rail-foot{border-top:0;grid-auto-flow:column;padding-top:0}}@media print{body{display:block}}.next-action{border-color:color-mix(in srgb, var(--primary) 30%, var(--line));border-left:4px solid var(--primary);background:linear-gradient(180deg, var(--primary-soft), var(--surface) 70%);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.next-action h2{margin:0 0 .1rem;font-size:1.15rem}.next-action p{max-width:54ch;margin:0}.stat-row{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;display:grid}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);color:inherit;align-content:start;gap:.1rem;padding:.8rem .95rem;text-decoration:none;transition:border-color .15s,transform 80ms;display:grid}a.stat:hover{border-color:color-mix(in srgb, var(--accent) 55%, var(--line))}a.stat:active{transform:translateY(1px)}.stat-n{letter-spacing:-.025em;font-size:1.7rem;font-weight:800;line-height:1.1}.stat-of{color:var(--muted);font-size:1.05rem;font-weight:700}.stat-label{font-size:.9rem;font-weight:650}.weak-list,.coverage-list{gap:.45rem;margin:.6rem 0 0;padding:0;list-style:none;display:grid}.weak-list li{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;padding:.6rem .75rem;display:flex}.button-link.small,.weak-list .row .small{padding:.3rem .7rem;font-size:.85rem}.coverage-list li{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.8rem;padding:.35rem .1rem;display:flex}.coverage-list li:last-child{border-bottom:0}.coverage-list li.bare .cov-title{color:var(--muted)}.cov-title{flex:18rem;font-weight:600}.cov-marks{flex-wrap:wrap;gap:.3rem;display:flex}.cov-chip{border:1px solid var(--line);color:var(--muted);background:var(--surface-2);border-radius:999px;padding:.12rem .5rem;font-size:.72rem;font-weight:700}.cov-chip.on{color:var(--good);border-color:color-mix(in srgb, var(--good) 45%, var(--line));background:var(--good-bg)}.cram-tick{align-items:center;display:inline-flex}.cram-tick input{width:1.15rem;height:1.15rem;accent-color:var(--primary)}.cram-list li.cram-done .cram-body strong{color:var(--muted);text-decoration:line-through}.cram-list li.cram-done{opacity:.72}.cram-foot{margin-top:.6rem}.rail-search{padding:0 .9rem .6rem}.rail-search input{font:inherit;border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);border-radius:8px;padding:.4rem .6rem;font-size:.85rem}.rail-search input:focus-visible{outline:2px solid var(--focus);outline-offset:1px;border-color:var(--accent)}.search-form{gap:.5rem;max-width:34rem;margin:.6rem 0;display:flex}.search-input{font:inherit;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;flex:auto;padding:.55rem .7rem}.search-input:focus-visible{outline:2px solid var(--focus);outline-offset:1px;border-color:var(--accent)}.search-hits{gap:1rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.search-hits>li{border-bottom:1px solid var(--line);padding-bottom:.9rem}.hit-head{flex-wrap:wrap;align-items:baseline;gap:.5rem;margin:0 0 .25rem;display:flex}.hit-kind{letter-spacing:.02em;text-transform:uppercase;border:1px solid var(--line);color:var(--muted);background:var(--surface-2);white-space:nowrap;border-radius:999px;padding:.1rem .45rem;font-size:.68rem;font-weight:700}.hit-title{font-weight:650}.hit-snippet{color:var(--ink);margin:.1rem 0}.hit-snippet mark,.hit-title mark{background:var(--accent-soft);color:inherit;border-radius:3px;padding:0 .1em}.due-week{flex-wrap:wrap;gap:.4rem;margin:.6rem 0 0;display:flex}.due-day{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;justify-items:center;gap:.1rem;min-width:3.2rem;padding:.35rem .4rem;display:grid}.due-day.today{border-color:var(--accent);background:var(--accent-soft)}.due-day.empty .due-count{color:var(--muted)}.due-count{color:var(--ink);font-size:1.05rem;font-weight:700}.due-label{color:var(--muted);font-size:.7rem}.card-leech{background:var(--warn-bg);color:var(--warn);border:1px solid color-mix(in srgb, var(--warn) 45%, var(--line));border-radius:8px;margin:.6rem 0 0;padding:.5rem .7rem}.flashcard.is-typing{cursor:default}.typed-answer{gap:.6rem;margin-top:.9rem;display:grid}.typed-input{font:inherit;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;width:100%;padding:.7rem .8rem;font-size:1.05rem}.typed-input:focus-visible{outline:2px solid var(--focus);outline-offset:1px;border-color:var(--accent)}.typed-input:disabled{background:var(--surface-2);color:var(--muted)}.typed-verdict{border:1px solid var(--line);background:var(--surface-2);color:var(--ink);border-radius:8px;margin:0;padding:.55rem .75rem}.typed-verdict.verdict-right{color:var(--good);border-color:color-mix(in srgb, var(--good) 45%, var(--line));background:var(--good-bg)}.typed-verdict.verdict-close{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 45%, var(--line));background:var(--warn-bg)}.typed-verdict.verdict-wrong{color:var(--bad);border-color:color-mix(in srgb, var(--bad) 45%, var(--line));background:var(--bad-bg)}.typed-expected{border:1px dashed var(--line);background:var(--surface-2);color:var(--ink);border-radius:8px;gap:.2rem;margin:0;padding:.55rem .75rem;display:grid}.study-mode{margin-bottom:.4rem}.dir-select{align-items:center;gap:.4rem;min-width:0;max-width:100%;display:inline-flex}.dir-select select{text-overflow:ellipsis;flex:0 auto;min-width:0}.level-chip{letter-spacing:.01em;border:1px solid var(--line);color:var(--muted);background:var(--surface-2);white-space:nowrap;border-radius:999px;padding:.1rem .45rem;font-size:.68rem;font-weight:700}.level-chip.level-shaky,.level-chip.level-attempted{color:var(--bad);border-color:color-mix(in srgb, var(--bad) 45%, var(--line));background:var(--bad-bg)}.level-chip.level-recognises,.level-chip.level-unstudied{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 45%, var(--line));background:var(--warn-bg)}.level-chip.level-produces,.level-chip.level-solid{color:var(--good);border-color:color-mix(in srgb, var(--good) 45%, var(--line));background:var(--good-bg)}.mastery-line{color:var(--ink);margin:.35rem 0 0;font-weight:600}.panel h2 a{color:inherit;text-decoration:none}.panel h2 a:hover{text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.deck-grid{grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:.75rem;display:grid}.deck-tile{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius);align-content:start;gap:.4rem;padding:.85rem .95rem;display:grid}.deck-tile h3{margin:0;font-size:.98rem;line-height:1.25}.deck-tile p{margin:0}.deck-bar{background:var(--surface-2);border:1px solid var(--line);border-radius:999px;height:6px;display:flex;overflow:hidden}.deck-bar span{height:100%;display:block}.seg-known{background:var(--good)}.seg-learning{background:var(--bad)}.seg-unseen{background:0 0}button.small{padding:.32rem .75rem;font-size:.86rem}.course.study{max-width:1000px}.q-hint-button{color:var(--muted);border-style:dashed}.q-hint{background:var(--accent-soft);border:1.5px solid color-mix(in srgb, var(--accent) 28%, transparent);border-radius:12px;gap:.35rem;margin:0 0 .7rem;padding:.75rem .9rem;display:grid}.q-hint p{margin:0}.q-hint-head{font-size:.92rem;font-weight:750}.q-hint-givens{margin:0;padding-left:1.1rem;font-weight:650}.q-hint-foot{color:var(--muted);font-size:.78rem}.q-hint-formula{background:var(--surface);border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);border-radius:8px;justify-self:start;padding:.3rem .55rem;font-size:1rem;font-weight:750}.bulk-row{border:1.5px solid color-mix(in srgb, var(--accent) 30%, var(--line));background:var(--accent-soft);border-radius:12px;flex-wrap:wrap;align-items:center;gap:.7rem;margin:.7rem 0 .2rem;padding:.7rem .85rem;display:flex}.bulk-row .muted{flex:18rem}button.danger{border-color:var(--bad);color:var(--bad);font-weight:700}button.danger:hover:not(:disabled){background:var(--bad);color:var(--danger-ink)}.danger-zone{border-color:color-mix(in srgb, var(--bad) 35%, var(--line));justify-items:start;gap:.5rem;display:grid}.danger-zone h2{color:var(--bad)}.danger-zone input{font:inherit;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);border-radius:9px;min-width:16rem;margin-top:.3rem;padding:.4rem .6rem;display:block}.remove-link{color:var(--muted)}.remove-confirm{background:var(--bad-bg);border:1px solid color-mix(in srgb, var(--bad) 30%, transparent);border-radius:10px;padding:.5rem .7rem}.exam-date{flex-wrap:wrap;align-items:center;gap:.5rem;margin:0;display:flex}.exam-date input{font:inherit;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:.3rem .5rem;font-size:.9rem}.exam-chip{background:var(--accent-soft);color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);border-radius:999px;padding:.2rem .65rem;font-size:.85rem;font-weight:750}.exam-chip.soon{background:var(--bad-bg);color:var(--bad);border-color:color-mix(in srgb, var(--bad) 35%, transparent)}.cram-list{counter-reset:cram;gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.cram-list li{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius);align-items:center;gap:.8rem;padding:.7rem .9rem;display:flex}.cram-min{min-width:2.6rem;color:var(--accent);flex:none;font-size:1.05rem;font-weight:800}.cram-body{flex:1;gap:.1rem;display:grid}.ask-box{gap:.6rem;display:grid}.ask-field{gap:.25rem;display:grid}.ask-field textarea{font:inherit;border:1.5px solid var(--line);background:var(--surface);width:100%;color:var(--ink);resize:vertical;border-radius:12px;padding:.6rem .75rem}.ask-answer{gap:.6rem;display:grid}.ask-text{white-space:pre-wrap;font-size:1.02rem;line-height:1.5}.ask-more{align-items:center}.course-settings{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.level-pick select{font:inherit;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:.25rem .45rem;font-size:.9rem}.band-chip{text-transform:uppercase;letter-spacing:.05em;background:var(--accent-soft);color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);border-radius:999px;padding:.12rem .5rem;font-size:.68rem;font-weight:750}.narration-bill{border-collapse:collapse;margin:.6rem 0}.narration-bill th{text-align:left;white-space:nowrap;padding:.18rem 1.1rem .18rem 0;font-weight:650}.narration-bill td{padding:.18rem 0}.narration-origins{margin:.35rem 0 .6rem;padding-left:1.1rem}.narration-caveat{border-left:3px solid var(--accent-soft);max-width:62ch;padding-left:.7rem}.narration-lines{max-height:22rem;margin-top:.6rem;padding-left:1.4rem;overflow-y:auto}.narration-lines li{margin-bottom:.3rem}.narration-job{border-top:1px solid var(--line,color-mix(in srgb, currentColor 12%, transparent));margin-top:.7rem;padding-top:.6rem}.course-pick-row{align-items:stretch;gap:.3rem;display:flex}.course-pick-row .course-pick{flex:auto;min-width:0}.course-delete{border:1.5px solid color-mix(in srgb, var(--danger) 40%, transparent);max-width:4.6rem;color:var(--danger);cursor:pointer;background:0 0;border-radius:8px;flex:none;padding:.25rem .4rem;font-size:.7rem;font-weight:700;line-height:1.05}.course-delete:hover{background:color-mix(in srgb, var(--danger) 10%, transparent)}.modal-backdrop{z-index:60;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a092d73;place-self:stretch stretch;place-items:center;width:100vw;height:100dvh;padding:1rem;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border:1.5px solid var(--line);border-radius:14px;width:min(32rem,100%);max-height:88vh;padding:1.1rem 1.2rem;overflow-y:auto;box-shadow:0 24px 60px -24px #0a101e99}.modal h2{margin:0 0 .5rem;font-size:1.15rem}.modal.danger{border-color:color-mix(in srgb, var(--danger) 45%, var(--line))}.delete-list{gap:.15rem;margin:.6rem 0;padding-left:1.1rem;font-size:.92rem;display:grid}.modal-actions{justify-content:flex-end;gap:.5rem;margin-top:.9rem;display:flex}.danger-button{background:var(--danger);border-color:var(--danger);color:var(--danger-ink);font-weight:700}.danger-button:disabled{opacity:.5}.rail-settings{color:var(--ink);border-radius:8px;align-items:center;gap:.5rem;margin-bottom:.4rem;padding:.4rem .5rem;font-size:.92rem;text-decoration:none;display:flex}.rail-settings:hover,.rail-settings.on{background:var(--accent-soft);color:var(--accent)}.level-link{color:var(--muted);text-decoration:none}.level-link:hover{color:var(--accent)}.settings-grid{gap:1rem;display:grid}.settings-panel h2{margin-top:0}.settings-panel h3{margin:1rem 0 .3rem;font-size:.98rem}.level-choices{border:0;gap:.4rem;margin:.6rem 0 0;padding:0;display:grid}.level-choice{border:1.5px solid var(--line);cursor:pointer;border-radius:10px;align-items:flex-start;gap:.6rem;padding:.55rem .7rem;display:flex}.level-choice.on{border-color:var(--accent);background:var(--accent-soft)}.level-choice>span{gap:.1rem;display:grid}.level-choice input{margin-top:.2rem}.chip-default{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-left:.4rem;font-size:.68rem;font-weight:750}.settings-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.55rem 0;display:flex}.settings-row>span{gap:.1rem;display:grid}.settings-state{color:var(--muted);margin:.6rem 0 0;font-size:.82rem}.holdings{gap:.4rem;margin:.6rem 0;padding:0;list-style:none;display:grid}.holdings li{border:1.5px solid var(--line);border-radius:10px;justify-content:space-between;align-items:center;gap:.8rem;padding:.5rem .65rem;display:flex}.holdings li>span{gap:.1rem;min-width:0;display:grid}.settings-later{opacity:.94}.settings-badge{background:var(--accent-soft);color:var(--accent);border-radius:999px;margin:0 0 .4rem;padding:.2rem .6rem;font-size:.76rem;font-weight:700;display:inline-block}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.chip-instructor{background:var(--accent-soft);color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 35%, transparent)}.chip-lesson{background:var(--good-bg);color:var(--good)}.chip-generated{background:var(--surface-2);color:var(--muted);border:1px dashed var(--line)}.origin-note{margin:0 0 .5rem}.practice-scope{color:var(--muted);margin:0;font-size:.9rem}.idea-list,.source-kinds{gap:.35rem;margin:.5rem 0 0;padding:0;list-style:none;display:grid}.idea-list li,.source-kinds li{flex-wrap:wrap;align-items:baseline;gap:.4rem;display:flex}.idea-list li.on button{color:var(--accent);cursor:default}.prof-choices{gap:.2rem;margin:.4rem 0 .3rem;padding:0;list-style:none;display:grid}.prof-choices li{white-space:pre-wrap;border-radius:6px;gap:.45rem;padding:.1rem .35rem;display:flex}.prof-choice-label{color:var(--muted);font-weight:700}.prof-choices li.keyed{background:var(--good-bg)}.prof-choices li.keyed .prof-choice-label{color:var(--good)}.prof-list li.related{border-left:3px solid var(--accent);padding-left:.6rem}.prof-unclear{background:var(--warn-bg);color:var(--warn-ink);border-radius:8px;margin:.35rem 0 0;padding:.5rem .7rem}.paper-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.8rem;display:flex}.paper-head h2{margin:.1rem 0 0}.paper-list{counter-reset:none;gap:1.4rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.paper-list>li{border-top:1px solid var(--line);padding-top:.9rem;padding-left:.2rem}.paper-list>li:first-child{border-top:0;padding-top:0}.paper-q{white-space:pre-wrap;margin:0 0 .3rem}.paper-choices{gap:.35rem;margin:.4rem 0 .5rem;display:grid}.paper-choice{border:1.5px solid var(--line);background:var(--surface);cursor:pointer;white-space:pre-wrap;border-radius:8px;align-items:baseline;gap:.5rem;padding:.5rem .65rem;display:flex}.paper-choice:hover{border-color:var(--accent)}.paper-choice.picked{border-color:var(--accent);background:var(--accent-soft)}.paper-choice input{margin:0}.paper-write{font:inherit;border:1.5px solid var(--line);background:var(--surface);width:100%;color:var(--ink);resize:vertical;border-radius:8px;padding:.6rem .7rem}.paper-write:focus-visible{outline:2px solid var(--focus);outline-offset:1px;border-color:var(--accent)}.paper-list.marked>li.right{border-left:3px solid var(--good);padding-left:.6rem}.paper-list.marked>li.wrong{border-left:3px solid var(--bad);padding-left:.6rem}.paper-list.marked>li.unmarked{border-left:3px dashed var(--line);padding-left:.6rem}.paper-mark{margin:.3rem 0;font-weight:600}.paper-yours,.paper-expected{white-space:pre-wrap;gap:.15rem;margin:.25rem 0;display:grid}.paper-expected{border:1px dashed var(--line);background:var(--surface-2);border-radius:8px;padding:.5rem .7rem}.prof-choices li.chose{outline:1.5px solid var(--accent)}.paper-selfmark{align-items:center;gap:.5rem;margin:.35rem 0}.ask-head{margin:0;font-size:1rem}.chip-course{background:var(--good-bg);color:var(--good);border:1px solid color-mix(in srgb, var(--good) 35%, transparent)}.chip-web{background:var(--surface-2);color:var(--muted);border:1px dashed var(--line)}.ask-web{border-style:dashed;gap:.6rem;display:grid}.ask-needed ul{gap:.2rem;margin:.4rem 0 0;padding-left:1.1rem;display:grid}.alert-note{background:var(--warn-bg);color:var(--warn-ink);border-radius:8px;margin:0;padding:.5rem .7rem}.web-sources{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.web-sources li{grid-template-columns:1.6rem 1fr;align-items:start;gap:.4rem;display:grid}.web-sources li>span:last-child{gap:.1rem;min-width:0;display:grid}.web-n{text-align:center;background:var(--surface-2);color:var(--muted);border-radius:999px;padding:.1rem 0;font-size:.75rem;font-weight:750}.web-sources li.used .web-n{background:var(--accent-soft);color:var(--accent)}.web-snippet{font-style:italic}main.course>p{margin:0}@media (max-height:740px){.course{gap:.75rem;padding-top:.9rem;padding-bottom:1.8rem}.course-head h1{font-size:1.55rem}.course-head p{font-size:.94rem}.panel{padding:.95rem 1.15rem}.section-head{margin:.35rem 0 -.4rem}}.auth-split{grid-template-columns:minmax(0,1.25fr) minmax(19rem,.75fr);align-items:start;gap:2.5rem;display:grid}@media (max-width:860px){.auth-split{grid-template-columns:minmax(0,1fr);gap:1.75rem}}.auth-pitch h1{letter-spacing:-.02em;max-width:min(19ch,100%);margin:.2rem 0 .7rem;font-size:clamp(1.9rem,4.2vw,2.7rem)}.auth-lede{color:var(--muted);max-width:min(48ch,100%);margin:0 0 1.5rem;font-size:1.08rem;line-height:1.55}.auth-steps{gap:.9rem;max-width:min(44ch,100%);margin:0 0 1.5rem;padding:0;list-style:none;display:grid}.auth-steps li{grid-template-columns:1.7rem minmax(0,1fr);align-items:start;gap:.75rem;display:grid}.auth-step-n{background:var(--accent-soft,var(--line));width:1.7rem;height:1.7rem;color:var(--accent,var(--ink));border-radius:999px;place-items:center;font-size:.8rem;font-weight:700;display:grid}.auth-steps strong{margin-bottom:.1rem;display:block}.auth-steps .muted{line-height:1.45;display:block}.auth-proof{border-left:3px solid var(--accent,var(--line));max-width:min(46ch,100%);color:var(--ink);margin:0;padding:.1rem 0 .1rem .85rem;font-size:.92rem;line-height:1.5}.auth-forms{gap:1.25rem;display:grid}.auth-privacy{margin:0;line-height:1.45}.auth-page{max-width:68rem;margin-inline:auto;padding-block:clamp(1.5rem,5vw,3.5rem);padding-inline:clamp(1.1rem,4vw,2rem)}.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);position:sticky;top:1.5rem;overflow:hidden}.auth-tabs{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.auth-tabs a{color:var(--muted);text-align:center;border-bottom:2px solid #0000;padding:.85rem .5rem;font-weight:600;text-decoration:none}.auth-tabs a:hover{color:var(--ink)}.auth-tabs a.on{color:var(--ink);border-bottom-color:var(--accent);background:var(--accent-soft)}.auth-card .auth-form{padding:1.15rem 1.2rem 1.35rem}.auth-card .auth-form>h2{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.auth-features{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.85rem 1.5rem;max-width:min(46rem,100%);margin:0 0 1.25rem;padding:0;list-style:none;display:grid}.auth-features li{border-left:2px solid var(--accent-soft);gap:.15rem;padding-left:.7rem;display:grid}.auth-features strong{font-size:.94rem;line-height:1.3}.auth-features .muted{line-height:1.45}.auth-chips{flex-wrap:wrap;gap:.4rem;margin:0 0 1.35rem;padding:0;list-style:none;display:flex}.auth-chips li{border:1px solid var(--line);color:var(--muted);background:var(--surface);border-radius:999px;padding:.2rem .6rem;font-size:.78rem}@media (max-width:860px){.auth-card{position:static}}.auth-grid{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1.5rem;display:grid}.auth-form{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;flex-direction:column;gap:.35rem;padding:1.25rem;display:flex}.auth-form h2{margin:0 0 .5rem;font-size:1.05rem}.auth-form label{font-size:.85rem;font-weight:600}.auth-form input{border:1px solid var(--line);font:inherit;background:var(--bg);color:var(--ink);border-radius:6px;padding:.5rem .6rem}.auth-form button{margin-top:.75rem}.auth-error{color:var(--bad);margin:.5rem 0 0;font-size:.875rem}.rail-account{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.6rem;padding:.4rem 0 .6rem;display:flex}.rail-account-name{text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:600;overflow:hidden}.rail-signout{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0;font-size:.8rem;text-decoration:underline}.auth-grid-one{max-width:28rem}.auth-notice{background:var(--accent-soft);color:var(--ink);border-radius:6px;margin:.5rem 0 0;padding:.5rem .65rem;font-size:.875rem}.auth-foot{margin-top:1.25rem}.onboarding-steps{gap:.4rem;margin:0 0 1rem;padding-left:1.25rem;display:grid}.onboarding-steps strong{color:var(--ink)}.start-course{max-width:26rem;margin-top:.75rem}.start-course .new-course label{gap:.3rem;font-size:.9rem;font-weight:600;display:grid}.start-course .new-course input{padding:.55rem .7rem;font-size:1rem}.start-course .new-course .row{align-items:center;gap:.5rem;display:flex}.test-start{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.empty-state.test-start{align-items:start}.test-start-main{flex:22rem}.test-start-go{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.test-size{color:var(--muted);align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;display:flex}.test-concept{cursor:pointer;align-items:baseline;gap:.4rem;display:flex}.test-paper{gap:.9rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.test-question .q-prompt{font-size:1.05rem;font-weight:600}.test-question .q-options{gap:.45rem;margin:.6rem 0 0;padding:0;list-style:none;display:grid}.test-question .q-options button{text-align:left;width:100%;font-size:.95rem}.test-question .q-options li.picked button{border-color:var(--focus);background:var(--accent-soft)}.test-question .option-static{border:1.5px solid var(--line);border-radius:999px;padding:.5rem .95rem;font-size:.95rem;display:block}.test-question .q-options li.right .option-static{border-color:var(--good);background:var(--good-bg);color:var(--good);font-weight:650}.test-question .q-options li.wrong .option-static{border-color:var(--bad);background:var(--bad-bg);color:var(--bad)}.test-number{letter-spacing:.04em;color:var(--muted);font-size:.78rem;font-weight:800}.test-paper li.test-done .test-question{border-left:4px solid var(--accent)}.test-right{border-left:4px solid var(--good)}.test-wrong{border-left:4px solid var(--bad)}.test-submit{justify-items:start;gap:.5rem;margin-top:.9rem;display:grid}.test-history,.flag-list,.accepted-cards{gap:.4rem;margin:.5rem 0 0;padding:0;font-size:.9rem;list-style:none;display:grid}.flag-list li{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.flag-note{margin-top:.6rem}.flag-form{border-top:1px solid var(--line);gap:.5rem;max-width:32rem;margin-top:.6rem;padding-top:.6rem;display:grid}.flag-form label{gap:.25rem;font-size:.85rem;font-weight:600;display:grid}.flag-form input,.flag-form select{font:inherit;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:.4rem .55rem;font-size:.9rem}.style-lines{gap:.25rem;margin:.5rem 0;padding-left:1.1rem;font-size:.9rem;display:grid}.draft-head{margin:1rem 0 .3rem;font-size:.95rem}.draft-list,.draft-cards{gap:.7rem;margin:0;padding:0;list-style:none;display:grid}.draft-list>li,.draft-card{border:1.5px solid var(--line);border-radius:var(--radius);justify-items:start;gap:.35rem;padding:.8rem .9rem;display:grid}.draft-bad{border-color:var(--warn-line);background:var(--warn-bg);color:var(--warn-ink)}.draft-issues{margin:0}.draft-issues ul{margin:.2rem 0;padding-left:1.1rem}.draft-options{gap:.15rem;margin:.2rem 0;padding-left:1.3rem;font-size:.9rem;display:grid}.draft-options li.keyed{color:var(--good);font-weight:650}.shuffle-toggle{color:var(--muted);align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;display:flex}.card-browser{margin-top:.9rem}.card-rows{gap:.5rem;margin:.6rem 0 0;padding:0;list-style:none;display:grid}.card-row{border:1.5px solid var(--line);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:start;gap:.6rem;padding:.7rem .85rem;display:flex}.card-row.editing{border-color:var(--focus);display:block}.card-row-text{flex:24rem;gap:.15rem;display:grid}.card-row-actions{flex-wrap:wrap;align-items:center;gap:.35rem;max-width:22rem;display:flex}.card-front{margin:0;font-weight:650}.card-row .card-back,.draft-card .card-back{color:var(--muted);margin:0}.card-locked{max-width:20rem}.card-fields{gap:.6rem;max-width:36rem;display:grid}.card-fields label{gap:.25rem;font-size:.85rem;font-weight:600;display:grid}.card-fields input,.card-fields textarea{font:inherit;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);resize:vertical;border-radius:10px;padding:.5rem .6rem;font-size:.95rem}.card-fields .over{color:var(--bad);font-weight:700}.card-concept{color:var(--muted);align-items:center;gap:.4rem;margin:.5rem 0;font-size:.85rem;font-weight:600;display:flex}.ai-cards{margin-top:.9rem}.community-form{flex-wrap:wrap;align-items:end;gap:.7rem;margin:.7rem 0 .4rem;display:flex}.community-form label{flex:14rem;gap:.25rem;font-size:.85rem;font-weight:600;display:grid}.community-form input{font:inherit;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;padding:.5rem .6rem;font-size:.95rem}.community-empty{margin-top:.9rem}.community-promises{gap:.4rem;margin:.5rem 0 0;padding-left:1.2rem;font-size:.92rem;display:grid}.dashboard{max-width:1280px}.tool-cards{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:.75rem;display:grid}.tool-card{align-content:start;gap:.15rem;display:grid}.tool-card h3{margin:0 0 .35rem;font-size:1.05rem}.tool-figure{letter-spacing:-.03em;margin:0;font-size:1.85rem;font-weight:800;line-height:1.05}.tool-figure-of{color:var(--muted);letter-spacing:0;font-size:1rem;font-weight:700}.tool-figure-none{color:var(--muted)}.tool-figure-label{color:var(--muted);margin:0 0 .3rem;font-size:.88rem;font-weight:650}.tool-card{grid-template-rows:auto auto auto 1fr auto}.tool-card .muted.small{margin:0}.tool-actions{align-self:end;margin-top:.7rem}.dash-split{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;gap:.75rem;display:grid}.coverage-fold>summary{cursor:pointer;border-radius:var(--radius-sm);padding:.1rem 0 .1rem .2rem;list-style-position:outside}.coverage-fold>summary::marker{color:var(--muted)}.coverage-fold[open]>summary{margin-bottom:.6rem}.dashboard .next-action h2{letter-spacing:-.02em;font-size:1.2rem}.admin-figures{flex-wrap:wrap;gap:1.6rem;margin:.5rem 0 .8rem;display:flex}.admin-figure{gap:.1rem;margin:0;display:grid}.admin-number{font-size:1.9rem;font-weight:700;line-height:1}.admin-scroll{margin-top:.8rem;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.9rem}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:.45rem .6rem}.admin-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.72rem}.admin-table .num{text-align:right;font-variant-numeric:tabular-nums}.admin-table tr.admin-never td{background:var(--warn-bg)}.admin-state{border:1px solid var(--line);color:var(--muted);background:var(--surface-2);white-space:nowrap;border-radius:999px;padding:.1rem .45rem;font-size:.72rem;font-weight:700}.admin-state.state-active{color:var(--good);border-color:color-mix(in srgb, var(--good) 45%, var(--line));background:var(--good-bg)}.admin-state.state-never-signed-in{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 45%, var(--line));background:var(--warn-bg)}.admin-list{gap:.3rem;margin:.4rem 0 0;padding-left:1.1rem;display:grid}.admin-cap{margin:.2rem 0;font-size:1.05rem}.admin-bar{background:var(--surface-2);border:1px solid var(--line);border-radius:999px;max-width:34rem;height:10px;margin:.3rem 0 .6rem;overflow:hidden}.admin-bar span{background:var(--primary);height:100%;display:block}.trend{letter-spacing:.02em;color:var(--accent);font-family:ui-monospace,SF Mono,Cascadia Mono,Menlo,Consolas,monospace}@media (max-width:599px){.course{padding-left:16px;padding-right:16px}.rail{gap:.5rem;padding:.6rem 0 .5rem}.rail-mark{align-items:center;min-height:44px;padding:0 .9rem;display:flex}.rail-search{flex:100%;padding:0 .9rem}.rail-search input{min-height:44px;font-size:16px}.rail-tools{scrollbar-width:none;gap:.25rem;padding:0 .6rem}.rail-tools::-webkit-scrollbar{display:none}.rail-tools a{white-space:nowrap;align-items:center;min-height:44px;display:flex}.rail-foot{scrollbar-width:none;flex-flow:row;align-items:center;gap:.9rem;padding:0 .9rem;display:flex;overflow-x:auto}.rail-foot::-webkit-scrollbar{display:none}.rail-account{border-bottom:0;flex:none;justify-content:flex-start;align-items:center;gap:.5rem;margin:0;padding:0;display:flex}.rail-account-name{text-overflow:ellipsis;white-space:nowrap;max-width:8rem;overflow:hidden}.rail-foot a,.rail-foot button{white-space:nowrap;align-items:center;min-height:44px;display:flex}.rail-label,.level-chip,.hit-kind,.due-label,.sheet-where,.flashcard-side,.chip-default{font-size:12px}.button-link,button.primary,.q-option,.paper-choice,.grade-again,.grade-got{min-height:44px}.study-grade button{flex:auto}.due-day{min-width:2.6rem;padding:.3rem .25rem}.search-form{flex-wrap:wrap}.search-input{flex:100%;font-size:16px}.typed-input,.paper-write{font-size:16px}.studio-player,.player{padding-bottom:max(.5rem, env(safe-area-inset-bottom))}.course-pick{min-height:44px}input[type=checkbox],input[type=radio]{width:22px;height:22px}.study-mode{flex-wrap:wrap}.study-mode .dir-select{flex:100%}.panel>.row>button,.course-head>.row>button,.study-grade button,.q-options button,.q-options li,.prof-choices li{min-height:44px}select{min-height:44px;font-size:16px}button.small,.button-link.small,button.danger{min-height:44px}.cram-tick,.shuffle-toggle{min-width:44px;min-height:44px}input[type=checkbox],input[type=radio]{min-width:22px;min-height:22px}.cov-chip,.course-delete,.board-eyebrow{font-size:12px}.course-delete{min-height:44px}}.allowance-line{border-left:3px solid var(--line);margin:.4rem 0 .8rem;padding-left:.6rem}.allowance-line.allowance-spent{border-left-color:var(--warn-line);color:var(--ink)}.step-heading{margin:1.6rem 0 .4rem;font-size:1.15rem}.scope-picker{border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);margin:.5rem 0;padding:.6rem .8rem}.scope-picker summary{cursor:pointer;font-weight:650}.scope-list{gap:.25rem;margin:.4rem 0 0;padding:0;list-style:none;display:grid}.plan-summary{border-left:3px solid var(--primary);gap:.3rem;margin:.8rem 0;padding-left:.7rem;display:grid}.plan-summary p{margin:0}.plan-lessons{counter-reset:none;gap:.6rem;margin:.8rem 0;padding:0;list-style:none;display:grid}.plan-lesson{border:1.5px solid var(--line);background:var(--bg);border-radius:12px;gap:.4rem;padding:.75rem .9rem;display:grid}.plan-lesson-off{opacity:.6;border-style:dashed}.plan-lesson-head{cursor:pointer;display:block}.plan-why{margin:0}.plan-objectives{gap:.45rem;margin:0;padding-left:1.1rem;font-size:.95rem;display:grid}.plan-objectives>li{gap:.15rem;display:grid}.plan-actions{margin-top:.8rem}.mode-picker{border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);gap:.25rem;margin:.6rem 0;padding:.55rem .8rem;display:grid}.mode-picker legend{padding:0 .3rem;font-weight:650}.plan-preflight{border-left:3px solid var(--line);gap:.25rem;margin:.6rem 0;padding-left:.7rem;display:grid}.plan-preflight p{margin:0}.plan-costs{grid-template-columns:minmax(8rem,auto) 1fr;gap:.3rem .8rem;margin:.6rem 0;font-size:.95rem;display:grid}.plan-costs dt{color:var(--muted);font-weight:650}.plan-costs dd{margin:0}.mode-conflicts ul{gap:.35rem;margin:.4rem 0;padding-left:1.1rem;display:grid}.mode-conflicts button{padding:.2rem .5rem;font-size:.9rem}.plan-unfinished{gap:.4rem;display:grid}.plan-summary-partial{border-left-color:var(--warn-line)}.bulk-facts{gap:.3rem;margin:.3rem 0 0;display:grid}.bulk-facts p{margin:0}.bulk-assumptions{gap:.15rem;margin:.2rem 0 0;padding-left:1.1rem;display:grid}.detect-targeted{border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius-sm);background:var(--surface-2);flex-direction:column;align-items:flex-start;gap:.4rem;margin-top:.6rem;padding:.7rem .85rem;display:flex}.detect-targeted p{margin:0}.page-picker{margin:.2rem 0 .4rem 1.6rem}.page-picker ul{flex-wrap:wrap;gap:.15rem .9rem;margin:.25rem 0 0;padding:0;list-style:none;display:flex}.status-superseded{background:var(--surface-2);color:var(--muted);border:1px dashed var(--line)}.lesson-link-accepted{border-left:3px solid var(--good);padding-left:.6rem}.lesson-identity{flex-wrap:wrap;align-items:center;gap:.5rem;margin:.2rem 0 .4rem;display:flex}.fold summary,.source-fold summary,.evidence-fold summary{cursor:pointer;padding:.2rem 0;list-style:none}.fold summary::-webkit-details-marker{display:none}.source-fold summary::-webkit-details-marker{display:none}.evidence-fold summary::-webkit-details-marker{display:none}.fold summary:before,.source-fold summary:before,.evidence-fold summary:before{content:"▸ ";color:var(--muted)}.fold[open] summary:before,.source-fold[open] summary:before,.evidence-fold[open] summary:before{content:"▾ "}.evidence-method{border-top:1px solid var(--line);margin-top:.8rem;padding-top:.6rem}.note{margin:.3rem 0 .6rem}.note summary{color:var(--muted)}.note-body{border-left:2px solid var(--line);gap:.5rem;margin-top:.3rem;padding:.4rem 0 .2rem 1rem;display:grid}.figures{--viz-dollars:#2a78d6;--viz-dollars-track:#cde2fb;--viz-credits:#eb6834;--viz-credits-track:#fbdfd3;--viz-grid:#e1e0d9;--viz-axis:#c3c2b7;--viz-muted:#898781}:root[data-theme=dark] .figures{--viz-dollars:#3987e5;--viz-dollars-track:#184f95;--viz-credits:#d95926;--viz-credits-track:#7a2f11;--viz-grid:#2c2c2a;--viz-axis:#383835;--viz-muted:#898781}.tile-row{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.8rem;margin:.4rem 0 1rem;display:grid}.tile{border:1px solid var(--line);background:var(--surface);border-radius:14px;align-content:start;gap:.15rem;padding:.85rem 1rem .95rem;display:grid}.tile-label{color:var(--muted);margin:0;font-size:.8rem;font-weight:650}.tile-value{letter-spacing:-.02em;color:var(--ink);margin:0;font-size:1.9rem;font-weight:650;line-height:1.1}.tile-none .tile-value{color:var(--muted)}.tile-sub{color:var(--muted);font-variant-numeric:tabular-nums;margin:.1rem 0 0;font-size:.78rem}.tile-note{color:var(--muted);margin:.35rem 0 0;font-size:.75rem;line-height:1.35}.meter{background:var(--viz-credits-track);border-radius:999px;height:8px;margin-top:.45rem;overflow:hidden}.meter-fill{background:var(--viz-credits);border-radius:999px;height:100%;display:block}.chart-pair{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.2rem;display:grid}.chart{min-width:0;margin:0}.chart-title{color:var(--muted);margin-bottom:.5rem;font-size:.8rem;font-weight:650}.chart-rows{border-collapse:collapse;table-layout:fixed;width:100%}.chart-rows th:first-child{width:32%}.chart-rows td:last-child{width:7ch}.chart-rows th,.chart-rows td{vertical-align:middle;border:0;padding:.22rem 0}.chart-row-label{text-align:left;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-weight:450;overflow:hidden;padding-right:.6rem!important}.chart-row-track{border-left:1px solid var(--viz-axis);width:100%;padding-left:2px!important}.bar{background:var(--viz-dollars);border-radius:0 4px 4px 0;height:14px;display:block}.chart-credits .bar{background:var(--viz-credits)}.bar-muted{background:var(--viz-muted)}.chart-row-value{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.78rem;padding-left:.6rem!important}.chart-cols{border-bottom:1px solid var(--viz-axis);align-items:flex-end;gap:2px;height:120px;margin-bottom:1.5rem;display:flex}.col-slot{flex-direction:column;flex:1 1 0;justify-content:flex-end;align-items:center;min-width:0;height:100%;display:flex;position:relative}.col{background:var(--viz-dollars);border-radius:4px 4px 0 0;width:100%;max-width:24px;display:block}.chart-credits .col{background:var(--viz-credits)}.col-value{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;margin-bottom:2px;font-size:.68rem}.col-label{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.75rem;position:absolute;bottom:-1.15rem}.chart-controls{align-items:center;gap:.5rem;margin:0 0 .75rem;display:flex}.chart-controls label{color:var(--muted);font-size:.8rem;font-weight:650}.chart-controls select{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:.3rem .5rem;font-size:.82rem}.chart-footnote{color:var(--muted);margin:.4rem 0 0;font-size:.72rem}
