:root,:root[data-theme=dark]{color-scheme:dark;--bg: #0a0b12;--bg-grad: radial-gradient(1200px 600px at 85% -10%, rgba(124, 92, 255, .14), transparent 60%), radial-gradient(900px 500px at -10% 110%, rgba(56, 120, 255, .08), transparent 60%);--surface: #12131d;--surface-2: #181a26;--glass: rgba(20, 21, 33, .72);--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .14);--text: #e9e9f2;--muted: #9a9cb3;--accent: #8b7bff;--accent-2: #6b8cff;--accent-ink: #ffffff;--accent-soft: rgba(139, 123, 255, .14);--accent-grad: linear-gradient(135deg, #8b7bff 0%, #6b6bff 55%, #5b8cff 100%);--ok: #3ccf91;--ok-soft: rgba(60, 207, 145, .12);--danger: #ff6b7a;--danger-soft: rgba(255, 107, 122, .12);--warn: #f2b84b;--warn-soft: rgba(242, 184, 75, .12);--mark: rgba(255, 214, 102, .38);--shadow: 0 10px 30px rgba(0, 0, 0, .35);--shadow-sm: 0 2px 10px rgba(0, 0, 0, .25)}:root[data-theme=light]{color-scheme:light;--bg: #f5f6fb;--bg-grad: radial-gradient(1200px 600px at 85% -10%, rgba(110, 86, 255, .1), transparent 60%), radial-gradient(900px 500px at -10% 110%, rgba(56, 120, 255, .06), transparent 60%);--surface: #ffffff;--surface-2: #f3f4f9;--glass: rgba(255, 255, 255, .78);--border: rgba(20, 24, 50, .09);--border-strong: rgba(20, 24, 50, .16);--text: #171a2b;--muted: #646a85;--accent: #5b47f5;--accent-2: #3d6cf0;--accent-soft: rgba(91, 71, 245, .09);--accent-grad: linear-gradient(135deg, #6a55ff 0%, #5547f0 55%, #3d6cf0 100%);--ok: #138a5a;--ok-soft: rgba(19, 138, 90, .09);--danger: #d23a4c;--danger-soft: rgba(210, 58, 76, .08);--warn: #9a6200;--warn-soft: rgba(242, 170, 40, .14);--mark: rgba(255, 200, 40, .45);--shadow: 0 10px 30px rgba(30, 30, 80, .1);--shadow-sm: 0 2px 10px rgba(30, 30, 80, .06)}:root{--radius: 14px;--radius-sm: 10px;--radius-lg: 20px;--font: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--ease: cubic-bezier(.2, .7, .2, 1);--side-w: 288px;--rail-w: 64px;font-family:var(--font);font-size:15px;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg) var(--bg-grad) fixed;color:var(--text)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}[hidden]{display:none!important}h1,h2,h3,h4{margin:0;letter-spacing:-.01em}p{margin:0}a{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}::selection{background:var(--accent-soft)}mark{background:var(--mark);color:inherit;border-radius:3px;padding:0 1px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip-link{position:absolute;left:12px;top:-40px;z-index:50;background:var(--surface);padding:8px 12px;border-radius:8px}.skip-link:focus{top:12px}.muted{color:var(--muted)}.small{font-size:.85rem}.xsmall{font-size:.75rem}.center{text-align:center}.pad{padding:12px 0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.row{display:flex;align-items:center;flex-wrap:wrap}.gap{gap:8px}.empty{color:var(--muted);text-align:center;padding:12px 6px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:var(--radius-sm);padding:9px 14px;font-weight:600;font-size:.9rem;border:1px solid transparent;transition:background .15s var(--ease),border-color .15s,transform .1s,box-shadow .15s;white-space:nowrap}.btn:active:not(:disabled){transform:translateY(1px)}.btn.primary{background:var(--accent-grad);color:var(--accent-ink);box-shadow:0 4px 14px #6e5aff47}.btn.primary:hover:not(:disabled){box-shadow:0 6px 20px #6e5aff61;filter:brightness(1.05)}.btn.ghost{background:transparent;border-color:var(--border-strong);color:var(--text)}.btn.ghost:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent)}.btn.danger-ghost{background:transparent;border-color:var(--danger);color:var(--danger)}.btn.danger-ghost:hover:not(:disabled){background:var(--danger-soft)}.btn.sm{padding:6px 10px;font-size:.82rem;font-weight:500}.btn.lg{padding:12px 20px;font-size:1rem}.btn.block{width:100%}.icon-btn{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--muted);transition:background .15s,color .15s,border-color .15s;flex:none}.icon-btn:hover:not(:disabled),.icon-btn.on{background:var(--accent-soft);color:var(--text)}.icon-btn.sm{width:28px;height:28px;border-radius:8px}.icon-btn.danger:hover:not(:disabled){color:var(--danger);background:var(--danger-soft)}.link{background:none;border:0;color:var(--accent);padding:0;font-weight:500}.link:hover{text-decoration:underline}.chip-btn{display:inline-flex;align-items:center;gap:5px;font-size:.78rem;padding:4px 9px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--muted);transition:.15s}.chip-btn:hover:not(:disabled),.chip-btn.on{color:var(--text);border-color:var(--accent);background:var(--accent-soft)}.retry{margin-top:10px;font-size:.8rem;border:1px solid currentColor;background:none;color:inherit;border-radius:8px;padding:4px 11px}.retry:hover:not(:disabled){background:var(--danger-soft)}.segmented{display:inline-flex;padding:3px;gap:2px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border)}.segmented button{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:var(--muted);padding:6px 12px;border-radius:9px;font-size:.86rem;font-weight:500;transition:background .15s,color .15s}.segmented button:hover:not(:disabled){color:var(--text)}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}:root[data-theme=dark] .segmented button[aria-pressed=true]{background:#8b7bff2e}.field{display:inline-flex;flex-direction:column;gap:4px;font-size:.78rem;color:var(--muted)}.field select,.voice-bar select{background:var(--surface-2);border:1px solid var(--border-strong);border-radius:9px;padding:7px 10px;color:var(--text);font-size:.88rem}.switch{display:flex;align-items:center;gap:10px;cursor:pointer;margin-top:12px}.switch input{width:18px;height:18px;accent-color:var(--accent)}.badge{font-size:.62rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 6px;border-radius:6px;background:var(--surface-2);color:var(--muted);flex:none}.badge.pdf{background:#ff6b7a24;color:#ff8592}.badge.docx{background:#5b8cff26;color:#7fa6ff}.badge.txt{background:#9a9cb329;color:var(--muted)}:root[data-theme=light] .badge.pdf{color:#c4283d}:root[data-theme=light] .badge.docx{color:#2b5bd7}.pill{font-size:.72rem;padding:2px 7px;border-radius:999px;background:var(--accent-soft);color:var(--accent);white-space:nowrap;font-weight:600}.pill.as-button{border:0;margin-left:6px;cursor:pointer;vertical-align:1px}.pill.as-button:hover{background:var(--accent);color:var(--accent-ink)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.notice{background:var(--warn-soft);color:var(--warn);border-radius:var(--radius-sm);padding:10px 14px;font-size:.9rem}.notice.small{font-size:.82rem;padding:8px 12px}.skeleton-group{display:flex;flex-direction:column;gap:10px}.skeleton{height:12px;border-radius:6px;background:linear-gradient(90deg,var(--surface-2) 0%,var(--border-strong) 50%,var(--surface-2) 100%);background-size:200% 100%;animation:shimmer 1.4s infinite linear}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.loading-block{padding:18px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);display:flex;flex-direction:column;gap:14px}.loading-label{display:flex;align-items:center;gap:8px}.spinner{display:inline-block;width:14px;height:14px;border-radius:50%;border:2px solid var(--border-strong);border-top-color:var(--accent);animation:spin .8s linear infinite;flex:none}@keyframes spin{to{transform:rotate(360deg)}}.error-state{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:var(--radius);background:var(--danger-soft);color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 35%,transparent)}.error-state svg{flex:none;margin-top:2px}.bar{height:5px;background:var(--surface-2);border-radius:4px;overflow:hidden;margin-top:6px}.bar>div{height:100%;background:var(--accent-grad);transition:width .2s}.bar.indeterminate>div{width:40%!important;animation:slide 1.1s infinite ease-in-out}@keyframes slide{0%{transform:translate(-100%)}to{transform:translate(250%)}}.progress-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.progress{flex:1;height:5px;border-radius:4px;background:var(--surface-2);overflow:hidden}.progress>div{height:100%;background:var(--accent-grad);transition:width .3s var(--ease)}.app{display:grid;grid-template-columns:var(--side-w) minmax(0,1fr);height:100vh;height:100dvh;transition:grid-template-columns .2s var(--ease)}.app.side-collapsed{grid-template-columns:var(--rail-w) minmax(0,1fr)}.main-col{display:flex;flex-direction:column;min-width:0;min-height:0}.workspace{flex:1;display:flex;min-height:0}.main-panel{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0}.fill{flex:1;display:flex;flex-direction:column;min-height:0}.fill.scroll{overflow-y:auto}.mobile-only{display:none!important}.sidebar{background:var(--glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-right:1px solid var(--border);display:flex;flex-direction:column;min-height:0;z-index:30}.side-head{display:flex;align-items:center;justify-content:space-between;padding:14px 12px 10px 18px;gap:8px}.sidebar.collapsed .side-head{flex-direction:column;padding:14px 0 6px}.brand{display:flex;align-items:center;gap:9px;font-weight:700;font-size:1.05rem}.logo{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--accent-grad);color:#fff;font-size:.8rem;box-shadow:0 4px 14px #6e5aff59}.sidebar.collapsed .brand-name{display:none}.rail{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 0}.side-scroll{flex:1;overflow-y:auto;padding:6px 14px 14px;display:flex;flex-direction:column;gap:18px}.side-section h3{font-size:.7rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:600;margin-bottom:8px}.side-foot{padding:10px 14px 14px;border-top:1px solid var(--border)}.dropzone{border:1.5px dashed var(--border-strong);border-radius:var(--radius);padding:16px 12px;text-align:center;display:flex;flex-direction:column;gap:3px;align-items:center;transition:.15s var(--ease);font-size:.88rem;cursor:pointer;background:var(--surface-2)}.dropzone:hover,.dropzone.drag,.dropzone:focus-visible{border-color:var(--accent);background:var(--accent-soft)}.dz-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--accent-soft);color:var(--accent);margin-bottom:4px}.job{margin-top:10px;font-size:.82rem}.job-row{display:flex;justify-content:space-between;gap:8px}.list-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.docs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.docs li{display:flex;align-items:center;gap:4px;padding:7px 6px 7px 9px;border-radius:11px;border:1px solid var(--border);background:var(--surface);transition:border-color .15s,background .15s}.docs li:hover{border-color:var(--border-strong)}.docs li.sel{border-color:color-mix(in srgb,var(--accent) 55%,transparent);background:var(--accent-soft)}.docs li.failed{border-color:color-mix(in srgb,var(--danger) 40%,transparent)}.docs label{display:flex;align-items:center;gap:8px;flex:1;min-width:0;cursor:pointer}.docs input[type=checkbox]{accent-color:var(--accent);width:15px;height:15px;flex:none}.doc-meta{display:flex;flex-direction:column;min-width:0}.doc-name{font-size:.87rem;font-weight:500}.doc-actions{display:flex;opacity:.75;transition:opacity .15s}.docs li:hover .doc-actions,.docs li:focus-within .doc-actions{opacity:1}.chat-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.chat-list li{display:flex;align-items:center;border-radius:9px}.chat-list li:hover,.chat-list li.active{background:var(--accent-soft)}.chat-link{flex:1;min-width:0;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;background:none;border:0;padding:7px 8px;text-align:left;color:var(--text);font-size:.86rem}.chat-link svg{color:var(--muted)}.chat-list li .icon-btn{opacity:0}.chat-list li:hover .icon-btn,.chat-list li:focus-within .icon-btn{opacity:1}.topbar{display:flex;align-items:center;gap:12px;padding:10px 18px;border-bottom:1px solid var(--border);background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);min-height:58px}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:8px}.chat{display:flex;flex-direction:column;flex:1;min-height:0}.messages{flex:1;overflow-y:auto;padding:28px clamp(16px,5vw,64px) 16px;display:flex;flex-direction:column;gap:14px}.hero{margin:auto;max-width:640px;width:100%;text-align:center;padding:6vh 0 3vh;display:flex;flex-direction:column;align-items:center;gap:12px}.hero h1{font-size:clamp(1.5rem,3vw,2rem);font-weight:700;background:linear-gradient(120deg,var(--text),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}.hero>p{max-width:520px;line-height:1.6}.hero-mark{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:var(--accent-grad);color:#fff;font-size:1.3rem;box-shadow:0 10px 30px #6e5aff59;margin-bottom:4px}.suggestions{width:100%;margin-top:18px;text-align:left}.eyebrow{display:flex;align-items:center;gap:6px;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:10px;font-weight:600}.suggest-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.suggest-grid .skeleton-group{padding:16px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface)}.suggest{display:flex;flex-direction:column;gap:6px;text-align:left;padding:13px 15px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.9rem;line-height:1.4;transition:border-color .15s,transform .15s var(--ease),box-shadow .15s}.suggest:hover:not(:disabled){border-color:var(--accent);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.bubble{max-width:min(760px,88%);padding:13px 16px;border-radius:16px;line-height:1.6;white-space:pre-wrap;word-wrap:break-word}.messages>.bubble:nth-last-child(2){animation:rise .22s var(--ease)}@keyframes rise{0%{opacity:0;transform:translateY(4px)}}.bubble.user{align-self:flex-end;background:var(--accent-grad);color:#fff;border-bottom-right-radius:5px}.bubble.bot{align-self:flex-start;background:var(--surface);border:1px solid var(--border);border-bottom-left-radius:5px;box-shadow:var(--shadow-sm)}.bubble.notfound{background:var(--warn-soft);color:var(--warn);border-color:transparent}.bubble.error{background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 35%,transparent);color:var(--danger)}.typing{display:flex;gap:5px;padding:15px 18px}.typing span{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:blink 1.2s infinite}.typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:1}}.msg-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;white-space:normal}.msg-actions .menu .btn.sm{padding:4px 9px;font-size:.78rem;border-radius:999px;border-color:var(--border);color:var(--muted);font-weight:400}.sources{margin-top:10px;white-space:normal;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.cite-chips{display:flex;flex-wrap:wrap;gap:6px}.cite-chips.compact{margin-top:8px}.cite-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;font-size:.78rem;padding:3px 4px 3px 10px;border-radius:999px;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);transition:.15s}.cite-chip:hover{border-color:var(--accent);background:var(--accent-soft)}.quote-list{margin:4px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:6px;width:100%}.src-btn{display:block;width:100%;text-align:left;background:none;border:1px solid transparent;border-radius:10px;padding:6px 8px;color:inherit}.src-btn:hover{border-color:var(--border-strong);background:var(--surface-2)}.src-head{display:flex;gap:8px;align-items:center;font-size:.84rem}.open-hint{margin-left:auto;font-size:.72rem;color:var(--accent)}blockquote{margin:5px 0 0;padding:7px 11px;border-left:3px solid var(--accent);background:var(--surface-2);border-radius:0 8px 8px 0;font-size:.86rem;color:var(--muted);white-space:normal}.composer-wrap{border-top:1px solid var(--border);background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding:10px clamp(16px,5vw,64px) 16px}.voice-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:.8rem;color:var(--muted);margin-bottom:8px}.voice-bar select{padding:4px 8px;font-size:.8rem}.voice-status{flex:1 1 220px;min-width:0}.voice-error{color:var(--danger)}.listening-text{color:var(--accent);font-weight:600;display:inline-flex;align-items:center;gap:6px}.rec-dot{width:8px;height:8px;border-radius:50%;background:var(--danger);animation:blink 1s infinite}.composer{display:flex;gap:8px;align-items:flex-end}.composer textarea{flex:1;resize:none;padding:12px 14px;border-radius:14px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);min-height:48px;max-height:160px;line-height:1.45;transition:border-color .15s,box-shadow .15s}.composer textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.composer textarea::placeholder{color:var(--muted)}.mic{flex:0 0 48px;height:48px;border-radius:14px;border:1px solid var(--border-strong);background:var(--surface);color:var(--accent);display:grid;place-items:center;transition:.15s}.mic:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.mic.listening{background:var(--accent-grad);color:#fff;border-color:transparent;animation:mic-pulse 1.4s infinite}@keyframes mic-pulse{0%{box-shadow:0 0 #8b7bff80}to{box-shadow:0 0 0 12px transparent}}.composer .btn{height:48px;border-radius:14px}.composer .send{padding:0 20px}.menu{position:relative}.menu-list{position:absolute;right:0;top:calc(100% + 6px);min-width:210px;background:var(--surface);border:1px solid var(--border-strong);border-radius:12px;box-shadow:var(--shadow);padding:5px;z-index:40;display:flex;flex-direction:column;animation:rise .15s var(--ease)}.menu-list button{text-align:left;background:none;border:0;padding:8px 10px;border-radius:8px;font-size:.86rem;color:var(--text);white-space:nowrap}.menu-list button:hover,.menu-list button:focus-visible{background:var(--accent-soft);outline:none}.toasts{position:fixed;bottom:18px;right:18px;display:flex;flex-direction:column;gap:8px;z-index:60}.toast{background:var(--surface);border:1px solid var(--border-strong);border-left:4px solid var(--danger);padding:11px 15px;border-radius:12px;max-width:380px;font-size:.88rem;box-shadow:var(--shadow);animation:rise .2s var(--ease)}.toast.ok{border-left-color:var(--ok)}.study,.compare,.panel-empty{padding:24px clamp(16px,4vw,48px) 40px;display:flex;flex-direction:column;gap:16px;max-width:1100px;width:100%;margin:0 auto}.panel-empty{text-align:center;padding-top:14vh;max-width:520px;gap:8px}.panel-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap}.panel-head h2{font-size:1.35rem;margin-bottom:4px}.study-body{display:flex;flex-direction:column;gap:14px}.study-controls{display:flex;align-items:flex-end;flex-wrap:wrap;gap:10px}.study-intro{display:flex;gap:16px;align-items:flex-start;padding:20px}.study-intro h3{font-size:1.02rem;margin-bottom:4px}.intro-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);flex:none}.summary{padding:20px 22px;line-height:1.65;display:flex;flex-direction:column;gap:8px}.summary h3{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-top:10px}.summary h3:first-child{margin-top:0}.takeaways{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}.terms{margin:0;display:grid;gap:10px}.terms dt{font-weight:600}.terms dd{margin:2px 0 0;color:var(--muted)}.quiz-list{list-style:none;counter-reset:q;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.quiz-q{padding:18px;counter-increment:q}.q-text{font-weight:600;margin-bottom:12px}.q-text:before{content:counter(q) ". ";color:var(--accent)}.options{display:grid;gap:8px}.option{display:flex;align-items:center;gap:10px;text-align:left;padding:10px 12px;border-radius:11px;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);transition:.15s}.option:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.option:disabled{cursor:default;opacity:1}.option.correct{border-color:var(--ok);background:var(--ok-soft)}.option.wrong{border-color:var(--danger);background:var(--danger-soft)}.option.dim{opacity:.55}.option svg{margin-left:auto;flex:none}.option.correct svg{color:var(--ok)}.option.wrong svg{color:var(--danger)}.opt-letter{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;font-size:.75rem;font-weight:700;background:var(--surface);border:1px solid var(--border);flex:none}.explain{margin-top:12px;padding:10px 12px;border-radius:10px;font-size:.9rem;line-height:1.55}.explain.ok{background:var(--ok-soft)}.explain.bad{background:var(--danger-soft)}.score-card{padding:22px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.score{font-size:2.6rem;font-weight:800;background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.score span{font-size:1.2rem}.flashcards{display:flex;flex-direction:column;gap:12px;max-width:680px}.flashcard{min-height:220px;padding:28px;display:flex;flex-direction:column;justify-content:center;gap:12px;text-align:center;transition:border-color .2s,background .2s}.flashcard.flipped{border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:linear-gradient(180deg,var(--accent-soft),var(--surface))}.fc-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.fc-front{font-size:1.2rem;font-weight:600}.fc-back{font-size:1rem;line-height:1.6;display:flex;flex-direction:column;align-items:center;gap:4px;animation:rise .2s var(--ease)}.fc-controls{display:flex;justify-content:space-between;gap:8px}.qa-list{display:flex;flex-direction:column;gap:10px}.qa-item{padding:0}.qa-item summary{cursor:pointer;padding:14px 16px;font-weight:600;list-style-position:inside}.qa-item>p,.qa-item>.cite-chips{padding:0 16px}.qa-item>p{line-height:1.6}.qa-item>:last-child{padding-bottom:14px}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.compare-table{border-collapse:collapse;width:100%;min-width:640px;font-size:.9rem}.compare-table th,.compare-table td{padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--border);line-height:1.5}.compare-table thead th{background:var(--surface-2);font-size:.8rem;font-weight:600;position:sticky;top:0}.compare-table tbody th{width:200px;font-weight:600}.compare-table tbody th>span:first-child{display:block}.compare-table tr:last-child>*{border-bottom:0}.kind{display:inline-block;margin-top:6px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 7px;border-radius:6px}.kind.common{background:var(--ok-soft);color:var(--ok)}.kind.difference{background:var(--accent-soft);color:var(--accent)}.kind.unique{background:var(--warn-soft);color:var(--warn)}.adjusted{display:block;font-weight:400;margin-top:4px}.unsupported{display:flex;gap:6px;align-items:flex-start;color:var(--warn);font-size:.84rem}.unsupported svg{flex:none;margin-top:3px}td.not_mentioned{background:color-mix(in srgb,var(--surface-2) 50%,transparent)}.source-pane{width:clamp(380px,44%,760px);flex:none;border-left:1px solid var(--border);background:var(--surface);display:flex;flex-direction:column;min-height:0;animation:rise .2s var(--ease)}.empty-pane{align-items:center;justify-content:center;text-align:center;gap:10px;padding:24px}.empty-illustration{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent)}.pane-head{display:flex;align-items:center;gap:10px;padding:10px 12px 10px 16px;border-bottom:1px solid var(--border)}.pane-title{flex:1;min-width:0;display:flex;flex-direction:column}.pane-title h2{font-size:.95rem}.pane-body{flex:1;overflow-y:auto;padding:16px;min-height:0}.pane-body.pdf{padding:0;display:flex;flex-direction:column;overflow:hidden}.pdf-view{flex:1;display:flex;flex-direction:column;min-height:0}.pdf-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:8px 10px;border-bottom:1px solid var(--border);background:var(--surface-2)}.tool-group{display:flex;align-items:center;gap:4px}.tool-group .icon-btn{width:32px;height:32px}.page-form{display:flex;align-items:center;gap:4px;font-size:.85rem}.page-form input{width:44px;text-align:center;padding:5px;border-radius:8px;border:1px solid var(--border-strong);background:var(--surface)}.zoom-label{font-size:.8rem;min-width:42px;text-align:center;color:var(--muted)}.tool-group.search{flex:1;min-width:180px;position:relative}.tool-group.search input{flex:1;min-width:0;padding:6px 10px 6px 30px;border-radius:9px;border:1px solid var(--border-strong);background:var(--surface)}.search-icon{position:absolute;left:9px;color:var(--muted);pointer-events:none}.hit-count{white-space:nowrap}.locate-note{font-size:.82rem;padding:7px 14px;border-bottom:1px solid var(--border)}.locate-note.ok{background:var(--ok-soft);color:var(--ok)}.locate-note.warn{background:var(--warn-soft);color:var(--warn)}.pdf-scroll{flex:1;overflow:auto;padding:12px;background:var(--surface-2);min-height:0}.pdf-page{position:relative;margin:0 auto;box-shadow:var(--shadow);background:#fff;border-radius:4px}.pdf-page canvas{display:block;border-radius:4px}.pdf-skeleton{height:70vh;max-width:600px;margin:0 auto;border-radius:8px}.hl{position:absolute;border-radius:3px;pointer-events:none;mix-blend-mode:multiply}.hl.cite{background:#ffc81e80;box-shadow:0 0 0 1px #e6a00080}.hl.search{background:#6e5aff59;box-shadow:0 0 0 1px #6e5aff99}.page-busy{position:absolute;top:10px;right:10px}.cited-strip{border-top:1px solid var(--border);padding:8px 14px;font-size:.86rem;max-height:30%;overflow:auto}.cited-strip summary{cursor:pointer;font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.cited-strip p{margin-top:6px;line-height:1.5}.source-text{display:flex;flex-direction:column;gap:16px}.source-text h4{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:6px}.source-text .context{white-space:pre-wrap;font-size:.9rem;line-height:1.6;background:var(--surface-2);border-radius:10px;padding:12px 14px}.viewer-message{padding:20px;color:var(--danger)}.drawer-backdrop{position:fixed;inset:0;background:#05060c80;backdrop-filter:blur(2px);display:flex;justify-content:flex-end;z-index:70;animation:fade .15s}@keyframes fade{0%{opacity:0}}.drawer{background:var(--surface);width:min(440px,100%);height:100%;display:flex;flex-direction:column;border-left:1px solid var(--border);box-shadow:var(--shadow);animation:slidein .2s var(--ease)}@keyframes slidein{0%{transform:translate(24px);opacity:0}}.drawer-head{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border)}.drawer-title{flex:1;min-width:0}.drawer-title h2{font-size:1.05rem}.drawer-actions{display:flex;align-items:center;gap:8px}.drawer-body{flex:1;overflow:auto;padding:18px}.settings{display:flex;flex-direction:column;gap:26px}.settings h4{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:10px}.settings .field{width:100%}.settings .btn{margin-top:10px}@media (max-width: 1099px){.source-pane{width:100%;border-left:0}}@media (max-width: 760px){:root{font-size:14.5px}.app,.app.side-collapsed{grid-template-columns:minmax(0,1fr)}.sidebar{position:fixed;inset:0 auto 0 0;width:min(320px,88vw);transform:translate(-102%);transition:transform .22s var(--ease);background:var(--surface);box-shadow:var(--shadow)}.app.nav-open .sidebar{transform:none}.nav-backdrop{position:fixed;inset:0;background:#05060c80;z-index:25}.mobile-only{display:inline-grid!important}.hide-sm{display:none}.topbar{padding:8px 10px;gap:8px;flex-wrap:wrap}.topbar-right{flex:1 1 100%;margin-left:0;flex-wrap:wrap;justify-content:flex-end;min-width:0}.topbar-right .segmented{margin-right:auto}.topbar .segmented button{padding:6px 9px}.suggest-grid{grid-template-columns:1fr}.bubble{max-width:94%}.composer-wrap{padding:8px 10px 12px}.composer .send{padding:0 14px}.voice-status{flex-basis:100%}.fc-controls .btn{padding:9px 10px}.toasts{left:12px;right:12px}.toast{max-width:none}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.mode-scroll{min-width:0;overflow-x:auto;scrollbar-width:none;flex:0 1 auto}.mode-scroll::-webkit-scrollbar{display:none}.mode-scroll .segmented{flex-wrap:nowrap}.study.wide{max-width:1280px}.kind.contradiction{background:var(--danger-soft);color:var(--danger)}.kind.missing{background:var(--warn-soft);color:var(--warn)}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:2px;background:var(--muted)}.dot.common{background:var(--ok)}.dot.difference{background:var(--accent)}.dot.contradiction{background:var(--danger)}.dot.missing,.dot.unique{background:var(--warn)}.kind-filter{margin-bottom:2px}td.possibly_covered{background:color-mix(in srgb,var(--warn-soft) 50%,transparent)}.compare-table tr.row-contradiction th{box-shadow:inset 3px 0 0 var(--danger)}.compare-table tr.row-missing th{box-shadow:inset 3px 0 0 var(--warn)}.exam-config{padding:20px;display:flex;flex-direction:column;gap:14px}.config-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.config-grid .field select{width:100%}.exam-config>.btn{align-self:flex-start}.exam-bar{display:flex;align-items:center;gap:12px;padding:10px 14px;position:sticky;top:0;z-index:5}.exam-bar .btn{margin-left:auto}.timer{font-variant-numeric:tabular-nums;font-weight:700;padding:4px 10px;border-radius:8px;background:var(--accent-soft);color:var(--accent)}.timer.low{background:var(--danger-soft);color:var(--danger)}.exam-layout{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:14px;align-items:start;margin-top:12px}.exam-q .q-text:before,.q-text.plain:before{content:none}.option.chosen{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.option.static{cursor:default}.exam-nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px}.exam-nav .btn:last-child{margin-left:auto}.btn.flagged{border-color:var(--warn);color:var(--warn);background:var(--warn-soft)}.q-grid{padding:12px;display:grid;grid-template-columns:repeat(5,1fr);gap:6px;position:sticky;top:64px}.q-grid button{aspect-ratio:1;border-radius:8px;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);font-size:.8rem;font-weight:600;position:relative}.q-grid button.answered{background:var(--accent-soft);border-color:var(--accent)}.q-grid button.flag:after{content:"";position:absolute;top:3px;right:3px;width:6px;height:6px;border-radius:50%;background:var(--warn)}.q-grid button.current{outline:2px solid var(--accent);outline-offset:1px}.q-grid .legend{grid-column:1 / -1;display:flex;align-items:center;gap:5px;margin-top:4px}.sw{display:inline-block;width:10px;height:10px;border-radius:3px}.sw.answered{background:var(--accent-soft);border:1px solid var(--accent)}.sw.flag{background:var(--warn)}.topic-bars{width:100%;max-width:520px;display:flex;flex-direction:column;gap:6px;text-align:left}.topic-bar{display:grid;grid-template-columns:160px 1fr auto;align-items:center;gap:10px;font-size:.86rem}.review-head{justify-content:space-between;margin-top:6px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.stat{padding:14px 16px;display:flex;flex-direction:column;gap:2px}.stat.warn .stat-num{color:var(--warn)}.stat-num{font-size:1.6rem;font-weight:800;letter-spacing:-.02em}.today{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;flex-wrap:wrap}.upcoming{padding:16px 18px}.bars{display:flex;align-items:flex-end;gap:8px;height:120px;margin-top:10px}.bars.scores{height:140px}.bars.mini{height:60px;margin:10px 0}.bar-col{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;min-width:0}.bar-v{width:100%;max-width:38px;border-radius:6px 6px 2px 2px;background:var(--accent-grad);min-height:2px}.bar-v.quiz{background:linear-gradient(180deg,#6fb7ff,#4f8cff)}.grade-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.grade.again{border-color:var(--danger);color:var(--danger)}.grade.easy{border-color:var(--ok);color:var(--ok)}.deck-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.deck-list li{display:flex;align-items:center;gap:12px;padding:12px 14px}.deck-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.deck-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right}.ok-notice{background:var(--ok-soft);color:var(--ok)}.fc-deck{justify-content:center}.mindmap-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px;align-items:start}.mindmap-wrap{padding:8px;overflow:hidden}.mindmap{width:100%;height:auto;max-height:72vh;display:block}.mindmap .edge{stroke:var(--border-strong);stroke-width:1.6}.mindmap .edge.on{stroke:var(--accent);stroke-width:2.2}.mindmap .link-edge line{stroke:var(--accent-2);stroke-dasharray:5 5;stroke-width:1.3;opacity:.7}.mindmap .link-edge text{fill:var(--muted);font-size:10px}.mindmap .node rect{fill:var(--surface-2);stroke:var(--border-strong);stroke-width:1.2;transition:fill .15s,stroke .15s}.mindmap .node text{fill:var(--text);font-size:12.5px;font-weight:500;pointer-events:none}.mindmap .node.d1 rect{fill:var(--accent-soft);stroke:color-mix(in srgb,var(--accent) 50%,transparent)}.mindmap .node.root rect{fill:var(--accent);stroke:none}.mindmap .node.root text{fill:#fff;font-weight:700;font-size:14px}.mindmap .node[role=button]{cursor:pointer;outline:none}.mindmap .node[role=button]:hover rect,.mindmap .node[role=button]:focus-visible rect{stroke:var(--accent);stroke-width:2}.mindmap .node.sel rect{stroke:var(--accent);stroke-width:2.6;fill:var(--accent-soft)}.mindmap .node.faded{opacity:.45}.node-detail{padding:18px;display:flex;flex-direction:column;gap:10px;position:sticky;top:12px;line-height:1.6}.node-detail .eyebrow{margin:6px 0 0}.notes{display:flex;flex-direction:column;gap:12px}.notes-toc{padding:12px 16px;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.88rem}.notes-toc a{color:var(--accent);text-decoration:none}.notes-toc a:hover{text-decoration:underline}.note-section{padding:18px 20px;display:flex;flex-direction:column;gap:8px;line-height:1.6;scroll-margin-top:12px}.note-section h3{font-size:1.08rem}.note-section h4{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-top:8px}.formulas{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px}.formulas code,.note-section code{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;background:var(--surface-2);border:1px solid var(--border);padding:2px 7px;border-radius:6px;font-size:.9em}.derivation{padding:10px 12px;border-radius:10px;background:var(--surface-2)}.derivation ol{margin:6px 0 0;padding-left:20px}.verify{margin-top:10px;padding:12px 14px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border);white-space:normal;display:flex;flex-direction:column;gap:8px}.claims{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:10px}.claims li{display:flex;flex-direction:column;gap:4px}.claims .kind{align-self:flex-start;margin:0}.claim{font-size:.9rem}.dash-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dash-card{padding:16px 18px;display:flex;flex-direction:column;gap:8px;min-width:0}.dash-card.span2{grid-column:1 / -1}.dash-card h3{font-size:.95rem}.dash-card .btn{align-self:flex-start}.dash-empty{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:8px 0}.dash-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.dash-list li{display:flex;align-items:center;gap:10px;font-size:.88rem;min-width:0}.dash-list li .truncate{flex:1}.dash-list.topics li{display:grid;grid-template-columns:minmax(0,1fr) 120px auto}.dash-list.activity .kind{margin:0;flex:none}.progress .weak{background:linear-gradient(90deg,var(--danger),var(--warn))}.progress.stacked{display:flex;height:8px;flex:none}.progress.stacked .m{background:var(--ok)}.progress.stacked .l{background:var(--accent)}@media (max-width: 900px){.exam-layout,.mindmap-layout{grid-template-columns:1fr}.q-grid{position:static;grid-template-columns:repeat(8,1fr)}.node-detail{position:static}.dash-grid{grid-template-columns:1fr}}@media (max-width: 760px){.grade-row{grid-template-columns:repeat(2,1fr)}.topic-bar{grid-template-columns:100px 1fr auto}.q-grid{grid-template-columns:repeat(6,1fr)}.topbar .mode-scroll{flex:1 1 0}}.field input,.field textarea{background:var(--surface-2);border:1px solid var(--border-strong);border-radius:9px;padding:8px 10px;color:var(--text);font-size:.9rem;width:100%}.field input:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field.grow{flex:1 1 260px}.field.block{display:flex;width:100%}.field.inline{flex-direction:row;align-items:center;gap:6px}.field textarea{resize:vertical;min-height:70px;line-height:1.5}.ws-switch{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ws-switch select{flex:1;min-width:0;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:9px;padding:7px 10px;color:var(--text);font-size:.86rem}.ws-switch .voice-error{flex-basis:100%}.ws-tabs{gap:6px}.ws-form{display:flex;flex-direction:column;gap:14px}.ws-docs{border:1px solid var(--border);border-radius:10px;padding:8px 10px 10px;margin:0;display:flex;flex-direction:column;gap:4px;max-height:300px;overflow:auto}.ws-docs legend{font-size:.78rem;color:var(--muted);padding:0 4px}.ws-doc{display:flex;align-items:center;gap:8px;font-size:.88rem;padding:4px 2px;cursor:pointer;min-width:0}.ws-doc input{accent-color:var(--accent)}.tutor-problem,.tutor-explain{padding:18px 20px;display:flex;flex-direction:column;gap:12px;line-height:1.6}.hints{margin:0;display:flex;flex-direction:column;gap:6px;background:var(--warn-soft);border-radius:10px;padding:10px 12px 10px 30px}.tutor-solution{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--border);padding-top:12px}.tutor-solution h4{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.steps{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:6px}.explain-steps li{animation:rise .2s var(--ease)}.overlap{background:var(--accent-soft);border-radius:10px;padding:8px 12px}.assess{align-items:center}.tutor-check{border-top:1px solid var(--border);padding-top:10px;display:flex;flex-direction:column;gap:6px;align-items:flex-start}.audio-player{padding:14px 16px;display:flex;flex-direction:column;gap:10px;position:sticky;top:0;z-index:4}.audio-player .row{align-items:center}.btn.play{min-width:110px}.script-title{font-size:1.05rem}.script{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.script .line{display:grid;grid-template-columns:64px 1fr;gap:10px;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:var(--surface);line-height:1.55;transition:border-color .15s,background .15s}.script .line.guest{background:var(--surface-2)}.script .line.current{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.line-play{align-self:start;border:0;border-radius:8px;padding:4px 6px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:var(--accent-soft);color:var(--accent)}.line.guest .line-play{background:#5b8cff24;color:var(--accent-2)}.line-play:hover,.line-play:focus-visible{background:var(--accent);color:#fff}.search-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;position:relative}.search-bar input{flex:1 1 260px;min-width:0;padding:11px 12px 11px 38px;border-radius:12px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font-size:.95rem}.search-bar input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search-bar .search-icon{position:absolute;left:12px;top:14px;color:var(--muted);pointer-events:none}.search-group{padding:14px 16px;display:flex;flex-direction:column;gap:6px}.search-group h3{font-size:.92rem;display:flex;align-items:center;gap:8px}.search-results{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.snippet{display:block;font-size:.88rem;line-height:1.55;color:var(--text);margin-top:4px;white-space:normal}.mastery-table{min-width:720px}.mastery-table td,.mastery-table th{font-size:.86rem}.sub-h{margin-top:12px}.error-state.boundary{margin:24px}@media (max-width: 760px){.script .line{grid-template-columns:1fr}.audio-player{position:static}}kbd{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.72rem;padding:1px 6px;border-radius:6px;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--muted)}.offline-badge{font-size:.76rem;font-weight:600;padding:4px 10px;border-radius:999px;background:var(--warn-soft);color:var(--warn);white-space:nowrap}.palette-btn kbd{margin-left:2px}.palette-backdrop{align-items:flex-start;justify-content:center;padding-top:12vh}.palette{width:min(640px,calc(100% - 24px));background:var(--surface);border:1px solid var(--border-strong);border-radius:16px;box-shadow:var(--shadow);overflow:hidden;animation:rise .15s var(--ease)}.palette-input{width:100%;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);padding:16px 18px;font-size:1rem}.palette-input:focus{outline:none}.palette-list{list-style:none;margin:0;padding:6px;max-height:50vh;overflow:auto}.palette-group{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:10px 10px 4px;font-weight:600}.palette-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:9px;cursor:pointer;font-size:.9rem}.palette-item.on{background:var(--accent-soft);color:var(--text);box-shadow:inset 2px 0 0 var(--accent)}.palette-item kbd{margin-left:auto}.hl.note{background:#ffd66673;mix-blend-mode:multiply}.hl.note.green{background:#50c87866}.hl.note.blue{background:#5a96ff61}.hl.note.pink{background:#ff78b461}.annot{border-top:1px solid var(--border);padding:8px 14px 12px;font-size:.86rem;max-height:40%;overflow:auto}.pane-body:not(.pdf) .annot{border:1px solid var(--border);border-radius:12px;margin-top:16px;max-height:none}.annot summary{cursor:pointer;font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:4px 0}.annot-actions{margin:8px 0}.annot-form{display:flex;flex-direction:column;gap:8px;margin:6px 0 10px}.annot-list{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:2px}.swatch{width:22px;height:22px;border-radius:50%;border:2px solid transparent;background:#ffd666;padding:0}.swatch.green{background:#50c878}.swatch.blue{background:#5a96ff}.swatch.pink{background:#ff78b4}.swatch.on{border-color:var(--text);box-shadow:0 0 0 2px var(--surface)}.swatch.sm{width:10px;height:10px;display:inline-block;border:0}.lib-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.lib-item{padding:14px 16px;display:flex;flex-direction:column;gap:8px;line-height:1.55}.lib-item.highlight.green{box-shadow:inset 3px 0 #50c878}.lib-item.highlight.yellow{box-shadow:inset 3px 0 #ffd666}.lib-item.highlight.blue{box-shadow:inset 3px 0 #5a96ff}.lib-item.highlight.pink{box-shadow:inset 3px 0 #ff78b4}.lib-head{display:flex;align-items:center;gap:10px;min-width:0}.lib-head strong{flex:1}.lib-head .kind{margin:0}.lib-text{white-space:pre-wrap}.lib-note{background:var(--surface-2);border-radius:8px;padding:6px 10px;font-size:.88rem}.lib-new{padding:16px;display:flex;flex-direction:column;gap:10px}.lib-doc-filter{background:var(--surface-2);border:1px solid var(--border-strong);border-radius:12px;padding:10px;color:var(--text);max-width:220px}.game{display:flex;flex-direction:column;gap:12px}.word-bank{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.blank-q .q-text{line-height:2;font-weight:500}.blank{border:0;border-bottom:2px solid var(--accent);background:var(--accent-soft);color:var(--text);padding:2px 6px;border-radius:4px 4px 0 0;font:inherit;margin:0 4px}.blank:focus{outline:none;box-shadow:0 0 0 2px var(--accent)}.blank.ok{border-color:var(--ok);background:var(--ok-soft)}.blank.bad{border-color:var(--danger);background:var(--danger-soft)}.option.tf{flex:1;justify-content:center;font-weight:600}.match-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.match-grid ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.match-grid .option{width:100%}.match-sources{display:grid;gap:6px;text-align:left;width:100%}.formula-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.formula-list>li{padding:14px 16px;display:flex;flex-direction:column;gap:8px}code.formula{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:1.05rem;padding:4px 10px;border-radius:8px;background:var(--accent-soft);color:var(--text)}.formula-explain .card.inner{padding:12px 14px;background:var(--surface-2);box-shadow:none;display:flex;flex-direction:column;gap:8px}.terms.vars dt code{font-size:.95rem}.translation{margin-top:8px;padding:10px 12px;border-radius:10px;background:var(--surface-2);border:1px dashed var(--border-strong);white-space:normal;display:flex;flex-direction:column;gap:6px;flex-basis:100%}.translation .eyebrow{margin:0}.msg-actions .translation{order:10}.eval-form{padding:16px;display:flex;flex-direction:column;gap:12px}.eval-result{padding:18px 20px;display:flex;flex-direction:column;gap:10px;line-height:1.6}.eval-score{align-items:center}.eval-points{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:12px}.eval-points .kind{margin:0 0 4px}mark.bad{background:var(--danger-soft);color:var(--danger)}@media (max-width: 760px){.match-grid{grid-template-columns:1fr}.palette-backdrop{padding-top:6vh}}
