:root{--bg: oklch(.963 .009 96);--bg-raised: oklch(.944 .01 96);--bg-hover: oklch(.918 .012 96);--bg-active: oklch(.905 .024 132);--paper-fiber: oklch(.36 .016 96 / .04);--paper-fiber-soft:oklch(.44 .012 96 / .016);--ink: oklch(.12 .004 250);--ink-secondary:oklch(.42 .003 250);--ink-tertiary: oklch(.56 .002 250);--accent: oklch(.39 .072 145);--accent-hover: oklch(.34 .078 145);--accent-subtle:oklch(.925 .025 145);--accent-text: oklch(.985 .005 96);--focus: var(--accent);--success: oklch(.5 .135 150);--success-bg: oklch(.93 .03 150);--warning: oklch(.56 .16 70);--warning-bg: oklch(.94 .045 70);--error: oklch(.45 .185 25);--error-bg: oklch(.935 .025 25);--info: oklch(.5 .125 240);--info-bg: oklch(.93 .025 240);--overlay: color-mix(in oklch,var(--graphite) 28%,transparent);--border: oklch(.835 .01 96);--border-hover: oklch(.72 .014 96);--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--r-sm:4px;--r-md:6px;--r-lg:8px;--r-xl:12px;--r-full:9999px;--shadow-sm: 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 2px 8px rgba(0,0,0,.06);--font: -apple-system, BlinkMacSystemFont, "Segoe UI Variable", "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-2xs:.75rem;--text-xs:.8125rem;--text-sm:.875rem;--text-md:.9375rem;--text-lg:1.0625rem;--text-xl:1.25rem;--text-2xl:1.5rem;--leading:1.58;--leading-tight:1.32;--fw:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--ease: cubic-bezier(.25,1,.5,1);--ease-spring: cubic-bezier(.16,1,.3,1);--dur-fast:.12s;--dur:.18s;--dur-slow:.24s;--sidebar-w:240px;--sidebar-collapsed:48px}.dark{--bg:oklch(.13 .003 250);--bg-raised:oklch(.16 .004 250);--bg-hover:oklch(.185 .005 250);--bg-active:oklch(.19 .025 113);--ink:oklch(.94 .002 250);--ink-secondary:oklch(.7 .003 250);--ink-tertiary:oklch(.61 .003 250);--accent:oklch(.68 .12 113);--accent-hover:oklch(.73 .105 113);--accent-subtle:oklch(.2 .03 113);--accent-text:oklch(.12 .004 250);--success:oklch(.62 .11 150);--success-bg:oklch(.19 .03 150);--warning:oklch(.66 .13 70);--warning-bg:oklch(.2 .04 70);--error:oklch(.66 .145 25);--error-bg:oklch(.2 .03 25);--info:oklch(.6 .1 235);--info-bg:oklch(.19 .025 235);--overlay:color-mix(in oklch,var(--graphite) 55%,transparent);--border:oklch(.22 .003 250);--border-hover:oklch(.3 .004 250);--paper-fiber:oklch(.75 .008 250 / .022);--paper-fiber-soft:oklch(.68 .006 250 / .012);--shadow-sm:0 1px 2px rgba(0,0,0,.18);--shadow-md:0 2px 8px rgba(0,0,0,.28)}.dark ::selection{background:#2e3107;color:var(--ink)}@media(prefers-reduced-motion:reduce){:root{--dur-fast:0ms;--dur:0ms;--dur-slow:0ms}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}[hidden]{display:none!important}html{height:100%;-webkit-font-smoothing:antialiased}body{height:100%;font-family:var(--font);font-size:var(--text-sm);line-height:var(--leading);color:var(--ink);background-color:var(--bg);background-image:radial-gradient(circle,var(--paper-fiber) 0 .55px,transparent .78px),repeating-linear-gradient(0deg,transparent 0 5px,var(--paper-fiber-soft) 6px,transparent 7px);background-size:9px 13px,100% 7px;overflow:hidden;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}body:after{content:"";position:fixed;inset:0;z-index:1000;pointer-events:none;opacity:.28;mix-blend-mode:multiply;background-image:radial-gradient(ellipse at center,var(--paper-fiber-soft) 0 .7px,transparent 1px);background-size:31px 23px}.dark body:after{opacity:.18;mix-blend-mode:screen}::selection{background:var(--accent-subtle);color:var(--ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--ink-tertiary);border-radius:var(--r-full)}::-webkit-scrollbar-thumb:hover{background:var(--ink-secondary)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100%;left:var(--sp-3);z-index:999;background:var(--accent);color:var(--accent-text);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);font-size:var(--text-xs);font-weight:var(--fw-medium);text-decoration:none}.skip-link:focus{top:var(--sp-3)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flex{display:flex}.flex-col{flex-direction:column}.flex-center{align-items:center}.flex-between{justify-content:space-between}.flex-fill{flex:1;min-width:0}.shrink-0{flex-shrink:0}.w-full{width:100%}.gap-1{gap:var(--sp-1)}.gap-2{gap:var(--sp-2)}.gap-3{gap:var(--sp-3)}.gap-4{gap:var(--sp-4)}.text-sm{font-size:var(--text-sm)}.text-xs{font-size:var(--text-xs)}.text-2xs{font-size:var(--text-2xs)}.fw-medium{font-weight:var(--fw-medium)}.fw-semibold{font-weight:var(--fw-semibold)}.ink-secondary{color:var(--ink-secondary)}.ink-tertiary{color:var(--ink-tertiary)}.nowrap{white-space:nowrap}.p-0{padding:0;margin:0}.m-0{margin:0}.overflow-hidden{overflow:hidden}.td-icon{width:16px;height:16px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;color:inherit}.td-icon--sm{width:14px;height:14px}.td-icon--lg{width:20px;height:20px}.td-icon--xl{width:28px;height:28px}.td-icon--2xl{width:40px;height:40px}.td-icon--15{width:15px;height:15px}.td-icon--16{width:16px;height:16px}.td-icon--17{width:17px;height:17px}.td-icon--18{width:18px;height:18px}.td-icon--20{width:20px;height:20px}.td-icon--accent{color:var(--accent)}.td-icon--inverse{color:var(--bg)}.td-icon--error{color:var(--error)}.td-icon--info{color:var(--info)}.td-icon--ink{color:var(--ink)}.td-icon--secondary{color:var(--ink-secondary)}.td-icon--tertiary{color:var(--ink-tertiary)}.td-icon--success{color:var(--success)}.td-icon--warning{color:var(--warning)}.min-w-0{min-width:0}.nav-item--create{color:var(--ink-tertiary);margin-top:var(--sp-2)}.skeleton-title{display:block;width:180px;height:28px}.skeleton-panel{display:block;width:100%;height:180px;margin-top:32px}.modal-confirm-input{margin-top:var(--sp-3)}.material-copy{flex:1;min-width:0}.material-name{font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:2px}.material-meta{font-size:var(--text-2xs);color:var(--ink-tertiary)}.empty-list-row{padding:var(--sp-4);text-align:center;color:var(--ink-tertiary);font-size:var(--text-sm)}.list-row-copy{flex:1}.score-value{font-weight:var(--fw-semibold)}.score-value--good{color:var(--success)}.score-value--warning{color:var(--warning)}.score-value--bad{color:var(--error)}.stat-value--due{color:var(--accent)}.quiz-answer-value--correct{color:var(--success)}.quiz-answer-value--wrong{color:var(--error)}.native-progress{appearance:none;width:100%;height:100%;display:block;border:0;background:transparent}.native-progress::-webkit-progress-bar{background:transparent}.native-progress::-webkit-progress-value{background:var(--accent);border-radius:var(--r-full)}.native-progress::-moz-progress-bar{background:var(--accent);border-radius:var(--r-full)}.flashcard-session{flex:1;display:flex;flex-direction:column;height:100%;overflow-y:auto}.flashcard-progress-wrap{padding:0 var(--sp-5);flex-shrink:0}.flashcard-progress{margin:var(--sp-1) 0}.flashcard-question{font-size:var(--text-lg);font-weight:var(--fw-semibold);line-height:var(--leading)}.flashcard-rating{padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--border);flex-shrink:0;display:flex;justify-content:center;gap:var(--sp-2)}.btn-rate{min-width:80px}.chat-title{margin:0 var(--sp-3)}.chat-messages{padding:var(--sp-8) var(--sp-6) var(--sp-4)}.chat-composer{padding:0 var(--sp-5) var(--sp-5);flex-shrink:0;position:relative}.slash-palette{display:none;position:absolute;bottom:calc(100% - var(--sp-3));left:var(--sp-5);right:var(--sp-5);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-md);z-index:50;max-height:200px;overflow-y:auto}.chat-command-options{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:0 var(--sp-1) var(--sp-2);color:var(--ink-secondary);font-size:var(--text-xs)}.chat-command-options[hidden]{display:none}.chat-command-options .settings-segment{width:180px}.chat-input-wrap{display:flex;align-items:flex-end;gap:var(--sp-2);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--r-xl);padding:var(--sp-2) var(--sp-2) var(--sp-2) var(--sp-3);transition:border-color var(--dur-fast) var(--ease)}.input-editor{flex:1;background:transparent;border:none;outline:none;font-family:inherit;font-size:var(--text-sm);color:var(--ink);line-height:var(--leading);padding:var(--sp-1) 0;max-height:120px;overflow-y:auto;word-break:break-word}.chat-message-main{flex:1;min-width:0}.task-status{color:var(--ink-tertiary);font-size:var(--text-sm)}.task-status--error{color:var(--error)}.chat-loading-content{display:flex;align-items:center;gap:var(--sp-2)}.chat-sources--pending{margin-top:var(--sp-2)}.quiz-result-card--generated{width:100%}.quiz-result-summary{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.quiz-result-copy{display:flex;align-items:center;gap:var(--sp-2);min-width:0}.quiz-result-title{font-weight:var(--fw-semibold);font-size:var(--text-sm);white-space:nowrap}.quiz-result-meta{font-size:var(--text-xs);color:var(--ink-secondary);margin:0}.settings-panel{width:520px;max-width:90vw;max-height:80vh;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-md);display:flex;flex-direction:column;overflow:hidden;transform:scale(.96);transition:transform var(--dur) var(--ease)}.settings-header,.settings-footer{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;padding:var(--sp-4) var(--sp-5)}.settings-header{border-bottom:1px solid var(--border)}.settings-footer{padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--border)}.settings-title-wrap{display:flex;align-items:center;gap:var(--sp-2)}.settings-title{font-size:var(--text-md);font-weight:var(--fw-semibold)}.settings-tabs{display:flex;border-bottom:1px solid var(--border);flex-shrink:0;padding:0 var(--sp-5)}.settings-body{flex:1;overflow-y:auto;padding:var(--sp-5)}.settings-field-label{display:block;font-size:var(--text-xs);font-weight:var(--fw-medium);margin-bottom:var(--sp-1);color:var(--ink-secondary)}.settings-shortcuts{display:flex;flex-direction:column;gap:var(--sp-2)}.settings-shortcut{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-2) var(--sp-3);border:1px solid var(--border);border-radius:var(--r-lg)}.settings-shortcut.is-listening{border-color:var(--accent);background:var(--accent-subtle)}.settings-shortcut-name{font-size:var(--text-sm);font-weight:var(--fw-medium)}.settings-shortcut-custom{font-size:var(--text-2xs);color:var(--accent);margin-left:var(--sp-1)}.settings-shortcut-controls{display:flex;align-items:center;gap:var(--sp-2)}.settings-shortcut-key{font-family:var(--font-mono);font-size:var(--text-xs);background:var(--bg-hover);padding:2px var(--sp-2);border-radius:var(--r-sm);border:1px solid var(--border)}.settings-shortcut-key.is-listening{color:var(--accent);border-color:var(--accent)}.shortcut-rebind{min-height:28px;height:28px}.admin-mini-progress progress{width:100%;height:100%;display:block;appearance:none;border:0;background:transparent}.admin-mini-progress progress::-webkit-progress-bar{background:transparent}.admin-mini-progress progress::-webkit-progress-value{background:var(--accent)}.admin-mini-progress progress::-moz-progress-bar{background:var(--accent)}.app-shell{display:flex;height:100%;width:100%}.main-content{flex:1;height:100%;overflow:hidden;display:flex;flex-direction:column;background:color-mix(in oklch,var(--bg) 58%,transparent)}.main-content.is-view-entering{animation:view-enter .19s var(--ease) both}@keyframes view-enter{0%{opacity:.72;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.mobile-topbar,.sidebar-backdrop{display:none}.view-placeholder{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-4);color:var(--ink-secondary)}.view-placeholder-text{font-size:var(--text-md)}body.auth-mode .sidebar,body.auth-mode .mobile-topbar,body.auth-mode .sidebar-backdrop,body.admin-mode .sidebar,body.admin-mode .mobile-topbar,body.admin-mode .sidebar-backdrop{display:none!important}body.auth-mode .main-content,body.admin-mode .main-content{width:100%;padding-top:0!important;background:transparent}.auth-page{width:100%;min-height:100%;display:grid;place-items:center;overflow-y:auto;padding:var(--sp-7)}.auth-page-frame{width:min(100%,1040px);display:flex;flex-direction:column;gap:var(--sp-3)}.auth-layout{width:100%;min-height:min(680px,calc(100dvh - 132px));display:grid;grid-template-columns:minmax(320px,440px) minmax(360px,1fr);overflow:hidden;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-raised);box-shadow:var(--shadow-md)}.auth-sheet{display:flex;flex-direction:column;justify-content:center;padding:clamp(40px,6vw,72px)}.auth-brand{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:auto;padding-bottom:var(--sp-8);font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--ink)}.auth-brand-mark{display:inline-grid;place-items:center;width:32px;height:32px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg);color:var(--accent)}.auth-heading{margin-bottom:var(--sp-6)}.auth-kicker{display:block;margin-bottom:var(--sp-2);font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--accent)}.auth-heading h1{font-size:var(--text-2xl);line-height:var(--leading-tight)}.auth-heading p{margin-top:var(--sp-2);font-size:var(--text-sm);color:var(--ink-secondary)}.auth-form{display:flex;flex-direction:column;gap:var(--sp-2)}.auth-form>label:not(.auth-retention){margin-top:var(--sp-2);font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--ink-secondary)}.auth-form .input{min-height:40px}.auth-retention{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:var(--sp-2);margin-top:var(--sp-4);font-size:var(--text-xs);line-height:var(--leading);color:var(--ink-secondary);cursor:pointer}.auth-retention input{width:16px;height:16px;margin-top:2px;accent-color:var(--accent)}.auth-error{min-height:20px;margin-top:var(--sp-1);font-size:var(--text-xs);color:var(--error)}.auth-submit{width:100%;min-height:40px;margin-top:var(--sp-2)}.auth-visual{position:relative;min-height:100%;border-left:1px solid var(--border);background:var(--bg)}.auth-folio{position:absolute;inset:clamp(36px,6vw,72px);overflow:hidden;border:1px solid var(--border);border-radius:var(--r-md);background-color:var(--bg-raised);background-image:repeating-linear-gradient(0deg,transparent 0 31px,var(--paper-fiber-soft) 32px,transparent 33px);box-shadow:var(--shadow-sm)}.auth-folio-binding{position:absolute;inset:0 auto 0 42px;width:1px;background:var(--error);opacity:.28}.auth-folio-page{position:absolute;right:var(--sp-4);bottom:var(--sp-3);font-variant-numeric:tabular-nums;font-size:var(--text-2xs);color:var(--ink-tertiary)}.auth-map{position:absolute;inset:12% 10% 12% 16%;animation:auth-map-enter .52s var(--ease-out) both}.auth-map-node{position:absolute;width:14px;height:14px;border:2px solid var(--accent);border-radius:50%;background:var(--bg-raised);box-shadow:0 0 0 5px var(--accent-subtle)}.auth-map-node.node-a{left:10%;top:18%}.auth-map-node.node-b{left:46%;top:8%}.auth-map-node.node-c{left:72%;top:32%}.auth-map-node.node-d{left:34%;top:49%}.auth-map-node.node-e{left:66%;top:72%}.auth-map-node.node-f{left:8%;top:76%}.auth-map-link{position:absolute;height:1px;background:var(--ink-tertiary);opacity:.42;transform-origin:left center}.auth-map-link.link-a{left:12%;top:20%;width:37%;transform:rotate(-13deg)}.auth-map-link.link-b{left:48%;top:11%;width:34%;transform:rotate(36deg)}.auth-map-link.link-c{left:36%;top:51%;width:40%;transform:rotate(-28deg)}.auth-map-link.link-d{left:36%;top:53%;width:45%;transform:rotate(33deg)}.auth-map-link.link-e{left:10%;top:78%;width:62%;transform:rotate(-8deg)}@keyframes auth-map-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.auth-denied{width:min(100%,440px);padding:var(--sp-7);border-block:1px solid var(--border);text-align:left}.auth-denied h1{margin-top:var(--sp-5);font-size:var(--text-xl)}.auth-denied p{margin-top:var(--sp-2);color:var(--ink-secondary)}.auth-denied>div{display:flex;gap:var(--sp-2);margin-top:var(--sp-6)}.site-registration{min-height:20px;text-align:center;font-size:var(--text-2xs);line-height:20px;color:var(--ink-tertiary)}.site-registration a{color:inherit;text-decoration:none;text-underline-offset:3px}.site-registration a:hover{text-decoration:underline;color:var(--ink-secondary)}@media(max-width:768px){.auth-page{place-items:start center;padding:calc(var(--sp-5) + env(safe-area-inset-top)) var(--sp-4) calc(var(--sp-5) + env(safe-area-inset-bottom))}.auth-page-frame{min-height:calc(100dvh - var(--sp-10) - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.auth-layout{min-height:0;flex:1;grid-template-columns:1fr;border:0;background:transparent;box-shadow:none}.auth-sheet{justify-content:flex-start;padding:var(--sp-5) 0}.auth-brand{margin-bottom:var(--sp-8);padding-bottom:0}.auth-visual{display:none}.auth-form .input,.auth-submit{min-height:44px}.site-registration{padding-top:var(--sp-2)}}@media(prefers-reduced-motion:reduce){.auth-map{animation:none}}.admin-page{width:100%;height:100%;overflow:auto;padding:var(--sp-8) max(var(--sp-6),calc((100vw - 1240px)/2)) var(--sp-10)}.admin-header{padding-inline:0}.admin-header-actions{display:flex;gap:var(--sp-2);flex-wrap:wrap}.admin-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0 0 var(--sp-7);border-block:1px solid var(--border)}.admin-summary>div{min-width:0;padding:var(--sp-4) var(--sp-3)}.admin-summary>div+div{border-left:1px solid var(--border)}.admin-summary dt{font-size:var(--text-xs);color:var(--ink-tertiary)}.admin-summary dd{margin-top:var(--sp-1);font-size:var(--text-xl);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.admin-inline-warning{margin:calc(var(--sp-5)*-1) 0 var(--sp-5);font-size:var(--text-xs);color:var(--warning)}.admin-section{padding:var(--sp-6) 0;border-top:1px solid var(--border)}.admin-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-4);margin-bottom:var(--sp-4)}.admin-section-heading h2{font-size:var(--text-md)}.admin-section-heading span{font-size:var(--text-xs);color:var(--ink-tertiary)}.admin-operations-grid{display:grid;grid-template-columns:minmax(320px,1fr) minmax(420px,1.35fr);gap:var(--sp-8)}.admin-health-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--sp-5)}.admin-health-item{display:grid;grid-template-columns:10px minmax(0,1fr);align-items:center;gap:var(--sp-2);min-height:46px;border-bottom:1px solid var(--border)}.admin-health-item>div{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-2)}.admin-health-item strong{font-size:var(--text-sm)}.admin-health-item span{font-size:var(--text-xs);color:var(--ink-tertiary)}.admin-health-dot{width:8px;height:8px;border-radius:50%;background:var(--ink-tertiary)}.admin-health-dot.is-ready{background:var(--success);box-shadow:0 0 0 3px var(--success-bg)}.admin-health-dot.is-down{background:var(--error);box-shadow:0 0 0 3px var(--error-bg)}.admin-request-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));height:100%;border-block:1px solid var(--border)}.admin-request-summary>div{display:flex;flex-direction:column;justify-content:center;gap:var(--sp-1);padding:var(--sp-3)}.admin-request-summary>div+div{border-left:1px solid var(--border)}.admin-request-summary span{font-size:var(--text-xs);color:var(--ink-tertiary)}.admin-request-summary strong{font-size:var(--text-md);font-variant-numeric:tabular-nums}.admin-user-create{padding:var(--sp-4) 0 var(--sp-6)}.admin-form-grid,.admin-provider-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-4)}.admin-form-grid label,.admin-provider-form label{display:flex;flex-direction:column;gap:var(--sp-1);font-size:var(--text-xs);color:var(--ink-secondary)}.admin-provider-options{grid-column:1/-1;display:grid;gap:var(--sp-2);padding:var(--sp-3) 0 0;border:0;border-top:1px solid var(--border)}.admin-provider-options legend{padding:0;font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--ink-secondary)}.admin-check-row{display:flex!important;flex-direction:row!important;align-items:center;gap:var(--sp-2);color:var(--ink)!important;font-size:var(--text-sm)!important}.admin-check-row input{width:16px;height:16px;accent-color:var(--accent)}.admin-check-row input:disabled+span{color:var(--ink-tertiary)}.admin-field-note{margin:0;color:var(--ink-tertiary);font-size:var(--text-xs)}.admin-form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:var(--sp-2)}.admin-table-wrap{overflow-x:auto;overscroll-behavior-inline:contain}.admin-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.admin-table th,.admin-table td{padding:var(--sp-3);border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;white-space:nowrap}.admin-table th{font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--ink-tertiary)}.admin-table td:first-child{display:flex;flex-direction:column}.admin-table td:first-child span{font-size:var(--text-xs);color:var(--ink-tertiary)}.admin-user-table{min-width:1100px}.admin-user-table td:nth-child(2)>span{display:block}.admin-user-table td:nth-child(2)>span+span{margin-top:var(--sp-1);font-size:var(--text-2xs);color:var(--ink-tertiary)}.admin-failure-table{min-width:820px}.admin-failure-table code,.admin-trace-table code{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-secondary)}.admin-trace-controls{display:flex;align-items:flex-end;gap:var(--sp-3);margin-bottom:var(--sp-3)}.admin-trace-controls label{display:flex;flex-direction:column;gap:var(--sp-1);font-size:var(--text-xs);color:var(--ink-secondary)}.admin-trace-controls .input{min-width:150px}.admin-trace-controls>span{margin-left:auto;padding-bottom:var(--sp-2);font-size:var(--text-xs);color:var(--ink-tertiary)}.admin-trace-table{min-width:1320px;font-variant-numeric:tabular-nums}.admin-trace-table td:nth-child(2),.admin-trace-table td:nth-child(3),.admin-trace-table td:nth-child(4){white-space:normal}.admin-trace-table td:nth-child(2)>span,.admin-trace-table td:nth-child(3)>span,.admin-trace-table td:nth-child(4)>span{display:block;margin-top:2px;font-size:var(--text-2xs);color:var(--ink-tertiary)}.admin-state{font-size:var(--text-xs);color:var(--ink-tertiary)}.admin-state.is-active{color:var(--success)}.admin-state.is-processing{color:var(--info)}.admin-state.is-attention{color:var(--error)}.admin-state.is-disabled{color:var(--ink-tertiary)}.admin-mini-progress{width:100px;height:3px;margin-top:var(--sp-1);overflow:hidden;background:var(--bg-hover)}.admin-mini-progress span{display:block;height:100%;background:var(--accent)}.admin-limit-input{min-width:150px}.admin-row-actions{display:flex;justify-content:flex-end;gap:var(--sp-1)}.admin-row-actions .btn{white-space:nowrap}.admin-danger{color:var(--error)}.admin-empty{padding:var(--sp-4) 0;color:var(--ink-tertiary);font-size:var(--text-sm)}.admin-loading,.admin-error{padding-block:var(--sp-8);color:var(--ink-secondary)}.admin-error{color:var(--error)}@media(max-width:900px){.admin-operations-grid{grid-template-columns:1fr;gap:var(--sp-5)}.admin-summary{grid-template-columns:repeat(3,1fr)}.admin-summary>div:nth-child(4){border-left:0}.admin-summary>div:nth-child(n+4){border-top:1px solid var(--border)}}@media(max-width:600px){.admin-page{padding:var(--sp-5) var(--sp-4)}.admin-header,.admin-header>div{align-items:flex-start}.admin-header-actions{width:100%}.admin-header-actions .btn{flex:1;min-height:44px}.admin-summary{grid-template-columns:repeat(2,1fr)}.admin-summary>div:nth-child(3),.admin-summary>div:nth-child(5){border-left:0}.admin-summary>div:nth-child(n+3){border-top:1px solid var(--border)}.admin-summary>div:nth-child(4){border-left:1px solid var(--border)}.admin-summary>div:last-child{grid-column:1/-1}.admin-health-list{grid-template-columns:1fr}.admin-request-summary{grid-template-columns:repeat(2,1fr)}.admin-request-summary>div:nth-child(3),.admin-request-summary>div:nth-child(5){border-left:0}.admin-request-summary>div:nth-child(n+3){border-top:1px solid var(--border)}.admin-trace-controls{align-items:stretch;flex-direction:column}.admin-trace-controls .input{width:100%;min-height:44px}.admin-trace-controls>span{margin-left:0;padding-bottom:0}.admin-form-grid,.admin-provider-form{grid-template-columns:1fr}.admin-form-actions .btn{min-height:44px}}.space-setup-page{flex:1;overflow-y:auto;width:100%;padding:clamp(32px,8vh,76px) var(--sp-8) var(--sp-10)}.space-setup-page--empty{display:flex;align-items:center}.space-setup-shell{width:min(100%,620px);margin:0 auto}.space-setup-page--empty .space-setup-shell{text-align:left}.space-setup-symbol{width:40px;height:40px;display:flex;align-items:center;justify-content:center;color:var(--ink-secondary);margin-bottom:var(--sp-4)}.space-setup-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-5);margin-bottom:var(--sp-6)}.space-setup-kicker{display:block;color:var(--accent);font-size:var(--text-xs);font-weight:var(--fw-medium);margin-bottom:var(--sp-1)}.space-setup-header h1,.space-setup-page--empty h1{font-size:var(--text-2xl);line-height:var(--leading-tight);margin:0 0 var(--sp-2)}.space-setup-header p,.space-setup-page--empty p{color:var(--ink-secondary);max-width:52ch}.space-setup-page--empty .btn{margin-top:var(--sp-5)}.space-setup-steps{display:flex;gap:var(--sp-6);padding:var(--sp-3) 0;margin-bottom:var(--sp-8);border-block:1px solid var(--border);color:var(--ink-tertiary);font-size:var(--text-xs)}.space-setup-steps span{display:inline-flex;align-items:center;gap:var(--sp-2)}.space-setup-steps b{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:50%;font-size:var(--text-2xs)}.space-setup-steps .is-current{color:var(--ink);font-weight:var(--fw-medium)}.space-setup-steps .is-current b{border-color:var(--accent);color:var(--accent)}.space-setup-steps .is-complete{color:var(--accent)}.space-setup-steps .is-complete b{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.space-form{display:grid;grid-template-columns:128px minmax(0,1fr);gap:var(--sp-4) var(--sp-5);align-items:center}.field-label{font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--ink-secondary)}.space-icon-field{display:contents;border:0}.space-icon-options{display:flex;gap:var(--sp-2);flex-wrap:wrap}.space-icon-option{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg);color:var(--ink-secondary);cursor:pointer;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.space-icon-option:hover{border-color:var(--border-hover);color:var(--ink)}.space-icon-option.is-selected{border-color:var(--accent);background:var(--accent-subtle);color:var(--accent)}.space-form-actions{grid-column:2;display:flex;justify-content:flex-end;gap:var(--sp-2);margin-top:var(--sp-4)}.space-form-actions--split{grid-column:auto;justify-content:space-between}.form-error{grid-column:2;color:var(--error);font-size:var(--text-xs)}.space-upload-flow{display:flex;flex-direction:column;gap:var(--sp-5)}.space-dropzone{min-height:148px;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-2);border:1px dashed var(--border-hover);border-radius:var(--r-lg);background:color-mix(in oklch,var(--bg-raised) 42%,transparent);color:var(--ink);font:inherit;cursor:pointer;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.space-dropzone:hover,.space-dropzone.is-dragging{border-color:var(--accent);background:var(--accent-subtle)}.space-dropzone.has-file{border-style:solid}.space-dropzone:disabled{cursor:default;opacity:.72}.space-dropzone-icon{color:var(--accent);margin-bottom:var(--sp-1)}.space-dropzone span:last-child{font-size:var(--text-xs);color:var(--ink-tertiary)}.space-file-queue{max-height:240px;overflow:auto;border-block:1px solid var(--border)}.space-file-item{display:grid;grid-template-columns:48px minmax(0,1fr) auto 32px;align-items:center;gap:var(--sp-2);min-height:44px;border-bottom:1px solid var(--border);font-size:var(--text-sm)}.space-file-item:last-child{border-bottom:0}.space-file-type{font-size:var(--text-2xs);font-weight:var(--fw-semibold);color:var(--accent)}.space-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.space-file-size{font-size:var(--text-2xs);color:var(--ink-tertiary);white-space:nowrap}.space-file-item .btn{width:32px;height:32px;min-width:32px;min-height:32px}.ingestion-readiness{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);min-height:36px;padding-block:var(--sp-2);border-block:1px solid var(--border)}.ingestion-readiness:empty{display:none}.ingestion-readiness-state{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--text-xs);color:var(--ink-secondary)}.ingestion-readiness-state.is-error{color:var(--error)}.upload-transfer{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:var(--sp-3);min-height:44px;padding:var(--sp-2) 0;border-block:1px solid var(--border);color:var(--ink-secondary)}.upload-transfer[hidden]{display:none}.upload-transfer-icon{display:inline-flex;color:var(--accent)}.upload-transfer[data-phase=uploading] .upload-transfer-icon .td-icon,.upload-transfer[data-phase=deleting] .upload-transfer-icon .td-icon{animation:ingestionSpin .9s linear infinite}.upload-transfer[data-phase=error],.upload-transfer[data-phase=error] .upload-transfer-icon{color:var(--error)}.upload-transfer-copy{display:flex;flex-direction:column;gap:var(--sp-2);min-width:0}.upload-transfer-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs);font-weight:var(--fw-medium)}.upload-transfer-track{height:3px;overflow:hidden;background:var(--border)}.upload-transfer-track span{display:block;width:0;height:100%;background:var(--accent);transition:width var(--dur-fast) var(--ease-out)}.upload-transfer-value{min-width:36px;text-align:right;font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--ink-tertiary)}.space-pipeline{border-block:1px solid var(--border)}.ingestion-status{margin-bottom:var(--sp-8);padding:var(--sp-4) 0;border-block:1px solid var(--border)}.ingestion-status-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-4);margin-bottom:var(--sp-3)}.ingestion-status-heading h2{font-size:var(--text-sm);font-weight:var(--fw-semibold);margin:0}.ingestion-status-heading p,.ingestion-status-heading>span{font-size:var(--text-xs);color:var(--ink-tertiary);margin-top:2px}.ingestion-status-heading p{max-width:64ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ingestion-progress{height:3px;background:var(--border);overflow:hidden;margin-bottom:var(--sp-3)}.ingestion-progress>span{display:block;width:0;height:100%;background:var(--accent);transition:width var(--dur-normal) var(--ease-out)}.ingestion-file-results{max-height:260px;overflow:auto;border-block:1px solid var(--border)}.ingestion-consistency-results{padding:var(--sp-3) 0;border-bottom:1px solid var(--border)}.ingestion-consistency-results>p{margin:0 0 var(--sp-2);font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--error)}.ingestion-consistency-result{display:grid;grid-template-columns:minmax(120px,.4fr) minmax(0,1fr);gap:var(--sp-3);padding:var(--sp-1) 0;font-size:var(--text-xs)}.ingestion-consistency-result strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}.ingestion-consistency-result span{color:var(--ink-secondary)}.ingestion-file-result{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:var(--sp-2);min-height:42px;border-bottom:1px solid var(--border);font-size:var(--text-sm)}.ingestion-file-result:last-child{border-bottom:0}.ingestion-file-result-icon{display:inline-flex;color:var(--ink-tertiary)}.ingestion-file-result-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ingestion-file-result-state{display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-2);font-size:var(--text-xs);color:var(--ink-tertiary);white-space:nowrap}.ingestion-file-action{min-height:32px;padding-inline:var(--sp-2);color:var(--ink-secondary)}.ingestion-file-action .td-icon{width:14px;height:14px}.ingestion-file-result.is-completed .ingestion-file-result-icon,.ingestion-file-result.is-completed .ingestion-file-result-state{color:var(--success)}.ingestion-file-result.is-failed .ingestion-file-result-icon,.ingestion-file-result.is-failed .ingestion-file-result-state{color:var(--error)}.ingestion-file-result.is-cancelling .ingestion-file-result-icon,.ingestion-file-result.is-cancelling .ingestion-file-result-state{color:var(--ink-tertiary)}.ingestion-file-result.is-cancelling .ingestion-file-result-icon .td-icon,.ingestion-file-result.is-cancelling .ingestion-file-action .td-icon{animation:ingestionSpin .9s linear infinite}.ingestion-file-result.is-running .ingestion-file-result-icon{color:var(--accent)}.ingestion-file-result.is-running .ingestion-file-result-icon .td-icon{animation:ingestionSpin .9s linear infinite}@keyframes ingestionSpin{to{transform:rotate(360deg)}}.ingestion-status-note{min-height:0;margin-top:var(--sp-2);font-size:var(--text-xs);color:var(--ink-secondary)}.ingestion-status-note:empty{display:none}.ingestion-status-note.is-error{color:var(--error)}.ingestion-status-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);margin-top:var(--sp-2)}.ingestion-status-footer .ingestion-status-note{margin-top:0}.ingestion-status-actions{flex:0 0 auto}.ingestion-status-actions:empty{display:none}@media(max-width:768px){.ingestion-file-result{grid-template-columns:22px minmax(0,1fr);padding-block:var(--sp-1)}.ingestion-file-result-state{grid-column:2;justify-content:space-between;white-space:normal}.ingestion-file-action{min-height:44px}.ingestion-status-footer{align-items:stretch;flex-direction:column}.ingestion-status-actions .btn{width:100%;min-height:44px}.ingestion-consistency-result{grid-template-columns:1fr;gap:2px}.ingestion-consistency-result strong{white-space:normal;overflow-wrap:anywhere}}.memory-settings{display:flex;flex-direction:column}.memory-settings-section{padding:0 0 var(--sp-5);margin-bottom:var(--sp-5);border-bottom:1px solid var(--border)}.memory-settings-section:last-child{margin-bottom:0;border-bottom:0}.memory-settings-section h4{margin-bottom:var(--sp-3);font-size:var(--text-sm);font-weight:var(--fw-semibold)}.memory-plan-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-3)}.memory-plan-heading h4{margin-bottom:0}.settings-switch{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:var(--sp-2)!important;cursor:pointer;color:var(--ink-secondary)!important}.settings-switch input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}.settings-switch span{position:relative;width:34px;height:20px;border:1px solid var(--border-hover);border-radius:10px;background:var(--bg-active);transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.settings-switch span:after{content:"";position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:var(--ink-tertiary);transition:transform var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease)}.settings-switch input:checked+span{border-color:var(--accent);background:var(--accent-subtle)}.settings-switch input:checked+span:after{transform:translate(14px);background:var(--accent)}.settings-switch input:focus-visible+span{outline:2px solid var(--focus);outline-offset:2px}.settings-switch b{font-size:var(--text-xs);font-weight:var(--fw-medium);white-space:nowrap}.memory-plan-fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3);margin-bottom:var(--sp-3)}.memory-settings-section label{display:flex;flex-direction:column;gap:var(--sp-1);font-size:var(--text-xs);color:var(--ink-secondary)}.settings-field-hint{font-size:var(--text-2xs);color:var(--ink-tertiary)}.memory-settings-section input[aria-invalid=true]{border-color:var(--error);box-shadow:0 0 0 2px var(--error-bg)}.memory-setting-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--sp-2);min-height:42px;border-bottom:1px solid var(--border)}.memory-setting-row:last-child{border-bottom:0}.memory-setting-row:has(select){grid-template-columns:minmax(0,1fr) 112px auto}.memory-setting-row>.input{height:34px;min-height:34px}.memory-setting-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs);color:var(--ink-secondary)}.memory-settings-empty,.settings-loading{font-size:var(--text-xs);color:var(--ink-tertiary)}.settings-unsaved{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;padding:var(--sp-4);background:var(--overlay)}.settings-unsaved-dialog{width:min(360px,100%);padding:var(--sp-5);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-raised);box-shadow:var(--shadow-md)}.settings-unsaved-dialog h3{font-size:var(--text-md);font-weight:var(--fw-semibold)}.settings-unsaved-actions{display:flex;justify-content:flex-end;gap:var(--sp-2);margin-top:var(--sp-5)}.space-danger-zone{margin-top:var(--sp-6);padding-top:var(--sp-5);border-top-color:color-mix(in oklch,var(--error) 36%,var(--border))}.space-danger-zone h4{color:var(--error)}.pipeline-stage{min-height:42px;display:flex;align-items:center;gap:var(--sp-3);border-bottom:1px solid var(--border);font-size:var(--text-sm);color:var(--ink-tertiary)}.pipeline-stage:last-child{border-bottom:0}.pipeline-status{width:20px;display:inline-flex;color:var(--ink-tertiary)}.pipeline-stage.is-active{color:var(--ink);font-weight:var(--fw-medium)}.pipeline-stage.is-active .pipeline-status{color:var(--accent)}.pipeline-stage.is-complete{color:var(--ink-secondary)}.pipeline-stage.is-complete .pipeline-status{color:var(--success)}.pipeline-stage.is-error,.pipeline-stage.is-error .pipeline-status{color:var(--error)}.sidebar{width:var(--sidebar-w);height:100%;display:flex;flex-direction:column;background:color-mix(in oklch,var(--bg-raised) 90%,transparent);border-right:1px solid var(--border);flex-shrink:0;overflow:hidden;z-index:40;padding-top:env(safe-area-inset-top)}.sidebar.collapsed{width:var(--sidebar-collapsed)}.sidebar-brand{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-4) var(--sp-4) var(--sp-3);flex-shrink:0;overflow:hidden}.sidebar-brand .td-icon{color:var(--ink);flex-shrink:0}.sidebar-brand-text{font-size:var(--text-md);font-weight:var(--fw-semibold);white-space:nowrap}.sidebar-brand-spacer{flex:1}.sidebar-nav{flex:1;overflow-y:auto;padding:var(--sp-2) var(--sp-2);display:flex;flex-direction:column;gap:1px}.sidebar-footer{flex-shrink:0;padding:var(--sp-2);border-top:1px solid var(--border)}.sidebar.collapsed .sidebar-footer{border-top:none}.sidebar.collapsed .sidebar-footer .nav-item{justify-content:center;padding:var(--sp-1) var(--sp-1)}.sidebar.collapsed .sidebar-brand{flex-direction:column;padding:var(--sp-2) var(--sp-1);gap:var(--sp-2);overflow:visible}@media(min-width:769px){.sidebar.collapsed .sidebar-brand>.td-icon:first-child{display:none}}.sidebar.collapsed .sidebar-brand-text,.sidebar.collapsed .sidebar-brand>span[style*=flex]{display:none}.sidebar.collapsed .nav-item{justify-content:center;padding:var(--sp-1) var(--sp-1)}.sidebar.collapsed .nav-item-label,.sidebar.collapsed .nav-item-badge{display:none}.nav-item{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-2);border-radius:var(--r-md);font-size:var(--text-sm);color:var(--ink-secondary);cursor:pointer;border:none;background:transparent;font-family:inherit;width:100%;text-align:left;min-height:36px;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.nav-item:hover{background:var(--bg-hover);color:var(--ink)}.nav-item--active,.nav-item--active:hover{background:var(--bg-active);color:var(--accent)}.nav-item-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm)}.nav-item-badge{font-size:var(--text-2xs);background:var(--accent-subtle);color:var(--accent);padding:0 var(--sp-1);border-radius:var(--r-full);min-width:16px;text-align:center;line-height:16px;font-weight:var(--fw-medium)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-1);padding:var(--sp-1) var(--sp-3);border:1px solid transparent;border-radius:var(--r-md);font-family:inherit;font-size:var(--text-sm);font-weight:var(--fw-medium);cursor:pointer;white-space:nowrap;min-height:36px;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease);position:relative}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn--primary{background:var(--accent);color:var(--accent-text)}.btn--primary:hover:not(:disabled){background:var(--accent-hover)}.btn--secondary{background:transparent;color:var(--ink);border-color:var(--border)}.btn--secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-hover)}@media(hover:hover){.btn--primary:hover:not(:disabled),.btn--secondary:hover:not(:disabled){transform:translateY(-1px)}}.btn--ghost{background:transparent;color:var(--ink-secondary);border-color:transparent}.btn--ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--ink)}.btn--danger{background:transparent;color:var(--error);border-color:var(--error)}.btn--danger:hover:not(:disabled){background:var(--error-bg)}.btn--icon{width:32px;height:32px;padding:0;border-radius:var(--r-md);min-height:44px;min-width:44px}.btn--icon-sm{width:28px;height:28px;min-height:44px;min-width:44px}.btn--sm{padding:2px var(--sp-2);font-size:var(--text-xs);min-height:28px}.input{width:100%;padding:var(--sp-1) var(--sp-2);border:1px solid var(--border);border-radius:var(--r-md);font-family:inherit;font-size:var(--text-sm);color:var(--ink);background:var(--bg);outline:none;transition:border-color var(--dur-fast) var(--ease);min-height:36px}.input::placeholder{color:var(--ink-tertiary)}.input:hover{border-color:var(--border-hover)}.input:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.chip{display:inline-flex;align-items:center;gap:var(--sp-1);padding:2px var(--sp-2);border-radius:var(--r-full);font-size:var(--text-xs);background:var(--bg-hover);color:var(--ink-secondary);border:1px solid var(--border);cursor:pointer;min-height:28px;transition:all var(--dur-fast) var(--ease)}.chip:hover{background:var(--bg-active);color:var(--ink)}.chip--active{background:var(--accent-subtle);color:var(--accent);border-color:var(--accent)}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;border-radius:var(--r-full);font-size:var(--text-2xs);font-weight:var(--fw-semibold);padding:0 5px}.badge--accent{background:var(--accent-subtle);color:var(--accent)}.badge--success{background:var(--success-bg);color:var(--success)}.badge--warning{background:var(--warning-bg);color:var(--warning)}.badge--error{background:var(--error-bg);color:var(--error)}.progress-bar{height:3px;border-radius:var(--r-full);background:var(--bg-hover);overflow:hidden}.progress-fill{width:100%;height:100%;border-radius:var(--r-full);background:var(--accent);transform:scaleX(var(--progress,0));transform-origin:left center;transition:transform .3s var(--ease)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--bg-hover) 25%,var(--bg-raised) 50%,var(--bg-hover) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--r-md)}.skeleton--text{height:12px;width:60%;margin-bottom:var(--sp-2)}.skeleton--title{height:16px;width:35%;margin-bottom:var(--sp-2)}.skeleton--row{height:52px;width:100%;border-radius:var(--r-lg)}.toast-container{position:fixed;bottom:var(--sp-6);left:50%;transform:translate(-50%);z-index:200;display:flex;flex-direction:column;gap:var(--sp-2);pointer-events:none;padding-bottom:env(safe-area-inset-bottom)}.toast{background:var(--ink);color:var(--bg);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-lg);box-shadow:var(--shadow-md);font-size:var(--text-sm);display:flex;align-items:center;gap:var(--sp-2);pointer-events:auto;animation:toast-in var(--dur) var(--ease) forwards}@keyframes toast-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.toast--success .td-icon{color:var(--success)}.toast--error .td-icon{color:var(--error)}.toast--warning .td-icon{color:var(--warning)}.toast--info .td-icon{color:var(--info)}.modal-overlay{position:fixed;inset:0;z-index:100;background:#0000004d;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity var(--dur) var(--ease)}.modal-overlay.open{opacity:1;pointer-events:auto}.modal{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-md);max-width:400px;width:90%;padding:var(--sp-5);transform:scale(.96);transition:transform var(--dur) var(--ease-spring)}.modal-overlay.open .modal{transform:scale(1)}.modal-title{font-size:var(--text-md);font-weight:var(--fw-semibold);margin-bottom:var(--sp-2)}.modal-body{font-size:var(--text-sm);color:var(--ink-secondary);margin-bottom:var(--sp-5);line-height:var(--leading)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--sp-2)}.command-palette-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:flex-start;justify-content:center;padding:15vh var(--sp-4) var(--sp-4);background:#0506074d}.command-palette-panel{width:min(480px,100%);overflow:hidden;border:1px solid var(--border);border-radius:var(--r-lg);background:color-mix(in oklch,var(--bg-raised) 96%,transparent);box-shadow:var(--shadow-md);animation:commandPaletteIn var(--dur) var(--ease)}.command-palette-search{display:flex;align-items:center;gap:var(--sp-2);min-height:48px;padding:0 var(--sp-4);border-bottom:1px solid var(--border)}.command-palette-search input{width:100%;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:var(--text-md)}.command-palette-search input::placeholder{color:var(--ink-tertiary)}.command-palette-list{max-height:320px;overflow-y:auto;padding:var(--sp-2)}.command-palette-item{display:flex;align-items:center;gap:var(--sp-3);width:100%;min-height:44px;padding:var(--sp-2) var(--sp-3);border:0;border-radius:var(--r-md);background:transparent;color:var(--ink-secondary);font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer}.command-palette-item:hover,.command-palette-item--active{background:var(--bg-hover);color:var(--ink)}.command-palette-empty{padding:var(--sp-6) var(--sp-3);color:var(--ink-tertiary);font-size:var(--text-sm);text-align:center}@keyframes commandPaletteIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.markdown h1{font-size:var(--text-lg);font-weight:var(--fw-bold);margin:.5em 0 .25em}.markdown h2{font-size:var(--text-md);font-weight:var(--fw-semibold);margin:.4em 0 .2em}.markdown h3{font-size:var(--text-sm);font-weight:var(--fw-semibold);margin:.3em 0 .15em}.markdown p{margin:.3em 0;line-height:var(--leading);max-width:72ch}.markdown ul,.markdown ol{padding-left:1.4em;margin:.3em 0}.markdown li{margin:.1em 0}.markdown code{background:var(--bg-hover);padding:1px 4px;border-radius:var(--r-sm);font-family:var(--font-mono);font-size:.9em;border:1px solid var(--border)}.markdown pre{background:var(--bg-raised);padding:var(--sp-3);border-radius:var(--r-lg);overflow-x:auto;margin:.4em 0;font-size:var(--text-xs);border:1px solid var(--border)}.markdown pre code{background:none;padding:0;border:none}.markdown-image-fallback{display:inline-flex;max-width:100%;align-items:center;padding:2px 6px;border:1px solid var(--border);border-radius:var(--r-sm);color:var(--ink-secondary);font-size:var(--text-xs);overflow-wrap:anywhere}.markdown blockquote{border-top:1px solid var(--border);padding-top:var(--sp-2);color:var(--ink-secondary);margin:var(--sp-3) 0 0}.doc-ref{display:inline-flex;align-items:center;padding:0 2px;border:0;background:transparent;color:var(--ink-tertiary);font:inherit;font-size:.72em;font-weight:var(--fw-semibold);line-height:1;cursor:pointer;text-decoration:none;vertical-align:super}.doc-ref:hover{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.doc-ref:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.md-details{margin:var(--sp-3) 0;padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-raised)}.md-details summary{cursor:pointer;font-weight:var(--fw-medium);font-size:var(--text-sm);color:var(--accent);user-select:none;padding:var(--sp-1) 0}.md-details summary:hover{color:var(--accent-hover)}.md-details[open] summary{margin-bottom:var(--sp-2)}.mini-flip-card .mini-flip-inner{min-height:100px}.mini-flip-card.flipped .mini-flip-inner{transform:rotateY(180deg)}.mini-flip-front,.mini-flip-back{-webkit-backface-visibility:hidden;backface-visibility:hidden}.section{padding:var(--sp-6) 0}.section-title{font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--ink-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--sp-3)}.stat-row{display:flex;gap:var(--sp-6);flex-wrap:wrap}.stat-item{display:flex;flex-direction:column;gap:2px;min-width:80px}.stat-value{font-size:var(--text-xl);font-weight:var(--fw-semibold);color:var(--ink)}.stat-label{font-size:var(--text-2xs);color:var(--ink-tertiary)}.overview-page{flex:1;overflow-y:auto;overscroll-behavior:contain;width:100%;padding:var(--sp-8) var(--sp-10) var(--sp-12)}.overview-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-6);margin-bottom:var(--sp-8)}.overview-heading{min-width:0}.overview-title-line{display:flex;align-items:center;gap:var(--sp-2)}.overview-delete{min-height:32px;padding-inline:var(--sp-2);color:var(--ink-tertiary);font-size:var(--text-xs);transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.overview-delete:hover{color:var(--error)}.overview-eyebrow{display:block;margin-bottom:var(--sp-1);font-size:var(--text-2xs);font-weight:var(--fw-medium);color:var(--accent)}.overview-heading h1{font-size:var(--text-2xl);font-weight:var(--fw-bold);line-height:var(--leading-tight);margin:0}.overview-actions{display:flex;gap:var(--sp-2);flex-wrap:wrap;justify-content:flex-end}.overview-stats{gap:0;margin-bottom:var(--sp-10);border-block:1px solid var(--border)}.overview-stats .stat-item{flex:1;min-width:112px;padding:var(--sp-4) var(--sp-5)}.overview-stats .stat-item:first-child{padding-left:0}.overview-stats .stat-item+.stat-item{border-left:1px solid var(--border)}.overview-section{margin-bottom:var(--sp-10)}.overview-section h2{font-size:var(--text-md);font-weight:var(--fw-semibold);line-height:var(--leading-tight)}.section-heading-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);margin-bottom:var(--sp-3)}.motion-controls{display:flex;align-items:center;gap:var(--sp-1)}.motion-control{color:var(--ink-tertiary);font-size:var(--text-xs)}.motion-control:hover{color:var(--ink)}.graph-frame{overflow:hidden;border:1px solid var(--border);border-radius:var(--r-lg);background:color-mix(in oklch,var(--bg) 96%,transparent)}.graph-container{height:clamp(480px,62vh,640px);touch-action:none;position:relative;contain:layout paint;isolation:isolate;background-image:radial-gradient(circle at 1px 1px,var(--paper-fiber) .75px,transparent .9px);background-size:24px 24px}.graph-container svg{display:block;cursor:grab;position:relative;z-index:1}.graph-container svg.is-panning{cursor:grabbing}.graph-toolbar{position:absolute;z-index:4;inset:0 0 auto;min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);padding:var(--sp-3);border-bottom:1px solid var(--border);background:color-mix(in oklch,var(--bg) 99%,transparent);pointer-events:none}.graph-toolbar-main{display:flex;align-items:center;gap:var(--sp-2);min-width:0;pointer-events:auto}.graph-view-switch{height:34px;display:inline-flex;align-items:center;padding:2px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-raised);box-shadow:var(--shadow-sm);flex-shrink:0}.graph-view-switch button{height:28px;padding:0 var(--sp-2);border:0;border-radius:var(--r-sm);background:transparent;color:var(--ink-tertiary);font:inherit;font-size:var(--text-xs);cursor:pointer}.graph-view-switch button:hover{color:var(--ink)}.graph-view-switch button.is-active{background:var(--bg-active);color:var(--accent);font-weight:var(--fw-medium)}.graph-search{height:34px;width:min(210px,48%);display:flex;align-items:center;gap:var(--sp-1);padding:0 var(--sp-2);border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-raised);box-shadow:var(--shadow-sm);pointer-events:auto}.graph-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:var(--text-xs)}.graph-search input::placeholder{color:var(--ink-tertiary)}.graph-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-subtle)}.graph-signal-control{position:relative;display:block;flex-shrink:0}.graph-signal-control>.td-icon{display:none}.graph-signal-filter{height:34px;max-width:132px;padding:0 28px 0 var(--sp-2);border:1px solid var(--border);border-radius:var(--r-md);background-color:var(--bg-raised);color:var(--ink-secondary);font:inherit;font-size:var(--text-xs);box-shadow:var(--shadow-sm);cursor:pointer}.graph-signal-filter:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.graph-zoom-controls{display:flex;border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;background:var(--bg-raised);box-shadow:var(--shadow-sm);pointer-events:auto}.graph-tool-button{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:0;border-right:1px solid var(--border);background:transparent;color:var(--ink-secondary);cursor:pointer}.graph-tool-button:last-child{border-right:0}.graph-tool-glyph{font-size:19px;line-height:1;font-weight:var(--fw-medium)}.graph-tool-button:hover{background:var(--bg-hover);color:var(--ink)}.graph-tool-button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.graph-regions{pointer-events:none}.graph-regions path{fill-opacity:.026;stroke-opacity:.14;stroke-width:1;transition:opacity var(--dur) var(--ease)}.graph-regions path.is-muted{opacity:.18!important}.graph-regions path.is-filtered-out{opacity:0!important;visibility:hidden}.graph-categories{pointer-events:none}.graph-categories text{font-family:var(--font);font-size:13px;font-weight:var(--fw-semibold);fill:var(--ink-secondary);letter-spacing:0;paint-order:stroke;stroke:var(--bg);stroke-width:5px;stroke-linejoin:round}.graph-categories .graph-category-count{font-size:11px;font-weight:var(--fw);fill:var(--ink-tertiary)}.graph-categories g{transition:opacity var(--dur) var(--ease)}.graph-categories g.is-muted{opacity:0!important;visibility:hidden}.graph-categories g.is-filtered-out{opacity:0!important;visibility:hidden}.graph-links{pointer-events:none}.graph-links path{fill:none;stroke:var(--border-hover);stroke-linecap:round;transition:opacity var(--dur) var(--ease),stroke var(--dur) var(--ease)}.graph-links path.is-secondary{opacity:0}.graph-links path.is-bridge{stroke:color-mix(in oklch,var(--border-hover) 76%,var(--accent))}.graph-links path.is-inter-category{opacity:.16}.graph-links path.is-core-route:not(.is-inter-category):not(.is-muted):not(.is-signal-muted){stroke:color-mix(in oklch,var(--border-hover) 70%,var(--accent));opacity:.62!important}.graph-links path.is-muted{opacity:.055!important}.graph-links path.is-signal-muted{opacity:.055!important}.graph-links path.is-filtered-out{opacity:0!important;visibility:hidden}.graph-links path.is-active{stroke:var(--accent);opacity:.9!important;stroke-dasharray:.09 .065;animation:graph-flow .9s linear infinite}.graph-links path.is-signal-related{stroke:color-mix(in oklch,var(--accent) 62%,var(--border-hover));opacity:.72!important}.graph-edge-labels{pointer-events:none}.graph-edge-labels text{opacity:0;font-family:var(--font);font-size:10px;font-weight:var(--fw-medium);fill:var(--ink-secondary);paint-order:stroke;stroke:var(--bg);stroke-width:6px;stroke-linejoin:round;transition:opacity var(--dur-fast) var(--ease)}.graph-edge-labels text.is-active{opacity:1}@keyframes graph-flow{to{stroke-dashoffset:-.155}}.graph-node{pointer-events:none;transition:opacity var(--dur) var(--ease)}.graph-node.is-muted{opacity:.09!important}.graph-node.is-signal-muted{opacity:.11!important}.graph-node.is-filtered-out{opacity:0!important;visibility:hidden}.graph-node:focus-within{outline:none}.graph-node-hit{fill:transparent;stroke:none;cursor:pointer;pointer-events:all;outline:none;-webkit-tap-highlight-color:transparent}.graph-node-hit:focus,.graph-node-hit:focus-visible{outline:none}.graph-node-halo{opacity:0;stroke-width:1;transition:opacity var(--dur) var(--ease),stroke-width var(--dur) var(--ease)}.graph-node-surface{fill:var(--bg);stroke-width:1.5;transition:stroke-width var(--dur) var(--ease),filter var(--dur) var(--ease)}.graph-node-center{pointer-events:none}.graph-node-nebula{opacity:0;stroke-width:1;stroke-dasharray:2 5;transform-box:fill-box;transform-origin:center;pointer-events:none}.graph-node-signal{fill:none;stroke:var(--accent);stroke-width:1.7;stroke-linecap:round;transform:rotate(-90deg);transform-box:fill-box;transform-origin:center;transition:stroke var(--dur-fast) var(--ease)}.graph-node.is-learned .graph-node-nebula{opacity:.82;filter:drop-shadow(0 0 3px color-mix(in oklch,var(--accent) 72%,transparent));animation:graph-nebula 4.8s linear infinite}.graph-node.is-learned .graph-node-surface{filter:drop-shadow(0 0 5px color-mix(in oklch,var(--accent) 38%,transparent))}.graph-node.is-review-due .graph-node-signal,.graph-node.is-review-due .graph-node-nebula{stroke:var(--error)}.graph-node.is-review-due .graph-node-nebula{opacity:.65;stroke-dasharray:1 4;filter:drop-shadow(0 0 3px color-mix(in oklch,var(--error) 54%,transparent))}.graph-node.is-review-due .graph-node-surface{stroke:var(--error);filter:drop-shadow(0 0 4px color-mix(in oklch,var(--error) 32%,transparent))}@keyframes graph-nebula{to{transform:rotate(360deg)}}.graph-node:hover .graph-node-halo,.graph-node:focus-within .graph-node-halo,.graph-node.is-selected .graph-node-halo,.graph-node.is-search-match .graph-node-halo{opacity:.58}.graph-node.is-selected .graph-node-halo{opacity:.72;stroke-width:1.5}.graph-node.is-signal-selected .graph-node-halo{opacity:.78;stroke-width:2}.graph-node.is-signal-selected .graph-node-surface{stroke-width:2.2}.graph-node.is-selected .graph-node-surface{stroke-width:2;filter:drop-shadow(0 2px 5px color-mix(in oklch,var(--accent) 20%,transparent))}.graph-node-label{font-family:var(--font);font-size:12px;font-weight:var(--fw-medium);fill:var(--ink-secondary);paint-order:stroke;stroke:var(--bg);stroke-width:4px;stroke-linejoin:round;pointer-events:none;transition:opacity var(--dur-fast) var(--ease)}.graph-node--core .graph-node-label{font-size:13px;font-weight:var(--fw-semibold);fill:var(--ink)}.graph-toolbar.is-inspecting>.graph-toolbar-main,.graph-toolbar.is-inspecting>.graph-zoom-controls{visibility:hidden;pointer-events:none}.graph-inspector{position:absolute;inset:var(--sp-2) var(--sp-3) auto;display:flex;align-items:center;gap:var(--sp-3);width:auto;min-width:0;min-height:40px;padding:var(--sp-1) var(--sp-2);border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-raised);box-shadow:var(--shadow-sm);pointer-events:auto}.graph-inspector[hidden]{display:none}.graph-inspector-copy{display:grid;grid-template-columns:minmax(0,1fr);align-items:baseline;gap:2px;min-width:0;flex:1}.graph-inspector strong{display:block;max-width:min(42ch,48vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm);font-weight:var(--fw-semibold)}.graph-inspector-meta{font-size:var(--text-2xs);color:var(--ink-tertiary)}.graph-inspector-relations{grid-column:1/-1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs);color:var(--ink-secondary)}.graph-inspector-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-1);flex-wrap:wrap;flex-shrink:0}.graph-action{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-1);padding:0 var(--sp-2);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg);color:var(--ink-secondary);font:inherit;font-size:var(--text-xs);cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.graph-action:hover{background:var(--bg-hover);color:var(--ink)}.graph-action:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.graph-action--close{width:34px;padding:0;flex:none}.graph-empty{height:100%;display:flex;align-items:center;justify-content:center;color:var(--ink-tertiary);font-size:var(--text-sm)}.graph-filter-empty{position:absolute;z-index:2;inset:58px 0 0;display:flex;align-items:center;justify-content:center;color:var(--ink-tertiary);font-size:var(--text-sm);pointer-events:none}.graph-filter-empty[hidden]{display:none}.graph-structure{height:100%;overflow:auto;padding:64px var(--sp-4) 112px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;column-gap:var(--sp-8)}.graph-structure-group{min-width:0;border-top:1px solid var(--border);padding:var(--sp-3) 0 var(--sp-5)}.graph-structure-heading{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-1)}.graph-structure-heading h3{font-size:var(--text-sm);font-weight:var(--fw-semibold)}.graph-structure-heading span{font-size:var(--text-2xs);color:var(--ink-tertiary);white-space:nowrap}.graph-structure-node{width:100%;min-height:42px;display:grid;grid-template-columns:minmax(96px,.8fr) minmax(0,1.2fr);align-items:center;gap:var(--sp-3);padding:var(--sp-2);border:0;border-radius:var(--r-sm);background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:background var(--dur-fast) var(--ease),opacity var(--dur-fast) var(--ease)}.graph-structure-node:hover{background:var(--bg-hover)}.graph-structure-node.is-selected{background:var(--accent-subtle)}.graph-structure-node.is-signal-selected{background:color-mix(in oklch,var(--accent-subtle) 72%,transparent)}.graph-structure-node.is-muted{opacity:.24}.graph-structure-node strong{font-size:var(--text-xs);font-weight:var(--fw-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.graph-structure-node span{font-size:var(--text-2xs);color:var(--ink-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.graph-learning-path{height:100%;overflow:auto;padding:72px var(--sp-5) 116px;display:flex;flex-direction:column;align-items:stretch;max-width:760px;margin-inline:auto}.graph-path-step{position:relative;width:100%;min-height:58px;display:grid;grid-template-columns:34px minmax(0,1fr) 20px;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.graph-path-step:before{content:"";position:absolute;left:29px;top:-15px;width:1px;height:22px;background:var(--border-hover)}.graph-path-step:first-child:before{display:none}.graph-path-step:hover,.graph-path-step.is-selected{background:var(--bg-hover)}.graph-path-step.is-current{background:var(--accent-subtle)}.graph-path-step.is-current:hover,.graph-path-step.is-current.is-selected{background:color-mix(in oklch,var(--accent-subtle) 78%,var(--bg-hover))}.graph-path-step.is-current .graph-path-index{border-color:var(--accent);color:var(--accent);font-weight:var(--fw-semibold)}.graph-path-index{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-hover);border-radius:50%;background:var(--bg);color:var(--ink-secondary);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.graph-path-step.is-learned .graph-path-index{border-color:var(--accent);color:var(--accent);box-shadow:0 0 8px color-mix(in oklch,var(--accent) 20%,transparent)}.graph-path-step.is-review-due .graph-path-index{border-color:var(--error);color:var(--error);box-shadow:0 0 7px color-mix(in oklch,var(--error) 18%,transparent)}.graph-path-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.graph-path-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm);font-weight:var(--fw-semibold)}.graph-path-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs);color:var(--ink-tertiary)}.graph-legend{display:flex;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);flex-wrap:wrap;border-top:1px solid var(--border);background:color-mix(in oklch,var(--bg-raised) 94%,transparent)}.graph-legend [hidden]{display:none!important}.graph-legend-item{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;white-space:nowrap;font-size:var(--text-2xs);color:var(--ink-tertiary)}.graph-legend-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.overview-recents{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--sp-10)}.overview-section-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.overview-section-heading h2{font-size:var(--text-md);font-weight:var(--fw-semibold)}.overview-list-row{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;border-radius:var(--r-md)}.overview-list-open{min-height:44px;padding:var(--sp-2) var(--sp-3)}.overview-list-delete{opacity:0;color:var(--ink-tertiary)}.overview-list-row:hover .overview-list-delete,.overview-list-delete:focus-visible{opacity:1}.graph-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.graph-loading .skeleton{width:88px;height:3px}.chat-workspace{position:relative;display:grid;grid-template-columns:240px minmax(0,1fr);flex:1;width:100%;height:100%;min-width:0;overflow:hidden}.chat-workspace.is-history-collapsed{grid-template-columns:minmax(0,1fr)}.chat-main{position:relative;display:flex;flex-direction:column;width:100%;height:100%;max-width:780px;min-width:0;margin:0 auto;overflow:hidden}.chat-header{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:var(--sp-2) var(--sp-4);border-bottom:1px solid var(--border);flex-shrink:0}.chat-header-actions{display:flex;align-items:center;gap:2px}.chat-history{min-width:0;overflow:hidden;border-right:1px solid var(--border);background:var(--bg);z-index:3}.chat-history-header{height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--sp-3);border-bottom:1px solid var(--border)}.chat-history-actions{display:flex;align-items:center}.chat-history-header strong{font-size:var(--text-sm);font-weight:var(--fw-semibold)}.chat-history-list{height:calc(100% - 52px);overflow-y:auto;padding:var(--sp-2)}.chat-history-row{display:grid;grid-template-columns:minmax(0,1fr) 36px;align-items:center}.chat-history-item{display:block;width:100%;min-height:40px;padding:var(--sp-2);border:0;border-radius:var(--r-sm);background:transparent;color:var(--ink-secondary);font:inherit;font-size:var(--text-xs);text-align:left;cursor:pointer}.chat-history-item span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-history-item:hover{background:var(--bg-hover);color:var(--ink)}.chat-history-item.is-active{background:var(--bg-active);color:var(--ink);font-weight:var(--fw-medium)}.chat-history-item:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.chat-history-rename{width:36px;height:36px;min-width:36px;min-height:36px;opacity:0}.chat-history-row:hover .chat-history-rename,.chat-history-rename:focus-visible{opacity:1}.chat-history-row.is-editing{grid-template-columns:minmax(0,1fr) 36px 36px;gap:2px}.chat-history-rename-input{min-width:0;height:36px;padding-inline:var(--sp-2);font-size:var(--text-xs)}.chat-history-empty{padding:var(--sp-4) var(--sp-2);color:var(--ink-tertiary);font-size:var(--text-xs)}.chat-history-toggle{display:inline-flex}.chat-history-backdrop{display:none}.chat-history-toggle-icon{display:inline-flex;align-items:center;justify-content:center}.chat-history-toggle-icon--open{display:none}.chat-workspace.is-history-collapsed .chat-history-toggle-icon--open{display:inline-flex}.chat-workspace.is-history-collapsed .chat-history-toggle-icon--close{display:none}.chat-header-action{width:36px;height:36px;min-width:36px;min-height:36px;color:var(--ink-tertiary)}.chat-send-button{width:36px;height:36px;min-width:36px;min-height:36px;border-radius:var(--r-lg);flex-shrink:0}.overview-list{margin-top:var(--sp-3);border-block:1px solid var(--border)}.overview-list>.nav-item{border-radius:0}.overview-list>.nav-item+.nav-item{border-top:1px solid var(--border)}.overview-list-empty{min-height:72px;display:flex;align-items:center;color:var(--ink-tertiary);font-size:var(--text-sm);padding:var(--sp-3) 0}.conversation-manager-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 132px;gap:var(--sp-3);margin-bottom:var(--sp-8)}.conversation-manager-search{position:relative;display:block}.conversation-manager-search .td-icon{position:absolute;left:var(--sp-3);top:50%;transform:translateY(-50%);pointer-events:none}.conversation-manager-search .input{width:100%;padding-left:36px}.conversation-manager-sort{width:100%}.conversation-manager-list{border-block:1px solid var(--border)}.conversation-manager-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-height:64px;border-bottom:1px solid var(--border);transition:opacity var(--dur-fast) var(--ease)}.conversation-manager-row:last-child{border-bottom:0}.conversation-manager-row[aria-busy=true]{opacity:.5;pointer-events:none}.conversation-manager-open{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;min-width:0;min-height:64px;padding:var(--sp-3) var(--sp-2);border:0;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.conversation-manager-open:hover .conversation-manager-title{color:var(--accent)}.conversation-manager-open:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.conversation-manager-title{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm);font-weight:var(--fw-medium)}.conversation-manager-meta{font-size:var(--text-xs);color:var(--ink-tertiary);font-variant-numeric:tabular-nums}.conversation-manager-actions{display:flex;align-items:center;gap:2px;padding-right:var(--sp-1)}.conversation-manager-actions .btn{opacity:0}.conversation-manager-row:hover .conversation-manager-actions .btn,.conversation-manager-actions .btn:focus-visible{opacity:1}.conversation-manager-skeleton{height:64px;border-bottom:1px solid var(--border);border-radius:0}.modal-field{display:flex;flex-direction:column;gap:var(--sp-2);font-size:var(--text-xs);color:var(--ink-secondary)}@media(max-width:768px){.conversation-manager-toolbar{grid-template-columns:1fr;margin-bottom:var(--sp-5)}.conversation-manager-row{grid-template-columns:minmax(0,1fr) 88px}.conversation-manager-actions .btn{opacity:1;width:44px;height:44px;min-width:44px;min-height:44px}.conversation-manager-open{min-height:72px;padding-inline:0}}@media(min-width:769px){.chat-workspace.is-history-collapsed .chat-history{display:none}}.task-page{flex:1;overflow-y:auto;overscroll-behavior:contain;width:100%}.task-shell{width:100%;max-width:960px;margin:0 auto;padding:var(--sp-8) var(--sp-8) var(--sp-12)}.task-shell--narrow{max-width:760px}.task-header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-6);padding-bottom:var(--sp-6);margin-bottom:var(--sp-8);border-bottom:1px solid var(--border)}.task-header-main{display:flex;align-items:center;gap:var(--sp-2);min-width:0}.task-back{width:36px;height:36px;min-width:36px;min-height:36px;margin-left:calc(-1 * var(--sp-2));color:var(--ink-tertiary)}.task-heading{min-width:0}.task-heading h1{font-size:var(--text-xl);font-weight:var(--fw-bold);line-height:var(--leading-tight);margin:0}.task-heading p{font-size:var(--text-sm);color:var(--ink-secondary);max-width:60ch;margin-top:var(--sp-1)}.task-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-2);flex-wrap:wrap}.task-section{margin-bottom:var(--sp-10)}.task-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-3)}.task-section-heading h2{font-size:var(--text-md);font-weight:var(--fw-semibold)}.task-section-heading span{font-size:var(--text-xs);color:var(--ink-tertiary)}.record-list{border-block:1px solid var(--border)}.record-list-row{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center}.record-list-row+.record-list-row{border-top:1px solid var(--border)}.record-list-delete{width:44px;height:44px;min-width:44px;min-height:44px;opacity:0;color:var(--ink-tertiary)}.record-list-row:hover .record-list-delete,.record-list-delete:focus-visible{opacity:1}.materials-list{border-block:1px solid var(--border)}.material-row-shell{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;border-bottom:1px solid var(--border)}.material-row-shell:last-child{border-bottom:0}.material-delete{width:44px;height:44px;min-width:44px;min-height:44px;opacity:0}.material-row-shell:hover .material-delete,.material-delete:focus-visible{opacity:1}.material-row-shell[aria-busy=true]{opacity:.48;pointer-events:none}.material-skeleton{height:72px;width:100%;border-radius:0;border-bottom:1px solid var(--border)}.material-skeleton:last-child{border-bottom:0}.mat-row{display:flex;align-items:center;gap:var(--sp-4);width:100%;min-height:72px;padding:var(--sp-3) var(--sp-2);border:0;background:transparent;color:var(--ink);font-family:inherit;text-align:left;cursor:pointer;transition:background var(--dur-fast) var(--ease)}.mat-row:last-child{border-bottom:0}.mat-row:hover:not(:disabled){background:var(--bg-hover)}.mat-row:disabled{cursor:default;opacity:1}.mat-icon{width:40px;height:40px;border-radius:var(--r-md);background:var(--bg-hover);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.mat-row:hover .mat-icon,.mat-row:focus-visible .mat-icon{background:var(--accent-subtle);color:var(--accent)}.mat-num{font-size:var(--text-xs);color:var(--ink-tertiary);font-weight:var(--fw-semibold);min-width:48px;text-align:right;flex-shrink:0;white-space:nowrap}.session-header{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-3) var(--sp-5);border-bottom:1px solid var(--border);flex-shrink:0}.session-title{display:flex;align-items:center;gap:var(--sp-2);min-width:0}.session-title h1{font-size:var(--text-md);font-weight:var(--fw-semibold)}.overview-page--intro .overview-heading,.overview-page--intro .overview-actions,.overview-page--intro .overview-stats,.overview-page--intro .graph-stage{opacity:0;transform:translateY(8px)}.overview-page--intro.is-visible .overview-heading,.overview-page--intro.is-visible .overview-actions,.overview-page--intro.is-visible .overview-stats,.overview-page--intro.is-visible .graph-stage{opacity:1;transform:translateY(0);transition:opacity .52s var(--ease-spring),transform .52s var(--ease-spring)}.overview-page--intro.is-visible .overview-actions{transition-delay:60ms}.overview-page--intro.is-visible .overview-stats{transition-delay:.1s}.overview-page--intro.is-visible .graph-stage{transition-delay:.15s}.chat-messages{flex:1;overflow-y:auto;padding:var(--sp-5) var(--sp-6);overflow-anchor:none;overscroll-behavior:contain}.chat-jump-latest{position:absolute;z-index:4;right:var(--sp-6);bottom:82px;width:36px;height:36px;border-color:var(--border-hover);background:var(--bg-raised);box-shadow:var(--shadow-md)}.chat-jump-latest[hidden]{display:none}.chat-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:var(--sp-10) var(--sp-4);gap:var(--sp-4)}.chat-empty-mark{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--r-full);background:color-mix(in oklch,var(--bg-raised) 72%,transparent)}.chat-empty-copy{display:flex;flex-direction:column;align-items:center;gap:var(--sp-1)}.chat-empty-copy h2{font-size:var(--text-xl);font-weight:var(--fw-semibold);line-height:var(--leading-tight)}.chat-empty-copy p{font-size:var(--text-sm);color:var(--ink-secondary);max-width:46ch}.chat-suggestions{display:grid;width:min(520px,100%);border-top:1px solid var(--border);margin-top:var(--sp-1)}.chat-suggestion{min-height:42px;padding:var(--sp-2) var(--sp-1);border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--ink-secondary);font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer;transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),padding var(--dur-fast) var(--ease)}.chat-suggestion:hover,.chat-suggestion:focus-visible{color:var(--ink);background:color-mix(in oklch,var(--bg-raised) 52%,transparent);padding-left:var(--sp-2)}.chat-suggestions .skeleton{display:block;margin:var(--sp-3) 0;width:72%}.chat-bubble{display:flex;gap:var(--sp-3);max-width:100%;min-width:0;padding:var(--sp-1) 0}.chat-bubble--user{justify-content:flex-end}.chat-bubble--user .chat-bubble-content{background:var(--ink);color:var(--bg);border-radius:var(--r-lg);padding:var(--sp-2) var(--sp-3);font-size:var(--text-sm);max-width:70%;line-height:var(--leading);white-space:pre-wrap}.chat-bubble--ai .chat-bubble-content{width:min(72ch,100%);max-width:100%;min-width:0;background:var(--bg-raised);color:var(--ink);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-2) var(--sp-3);font-size:var(--text-sm);line-height:var(--leading);word-break:break-word;overflow-wrap:anywhere}.chat-answer-incomplete{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);width:min(72ch,100%);margin-top:var(--sp-2);color:var(--ink-secondary);font-size:var(--text-xs);line-height:var(--leading)}.chat-answer-incomplete .btn{flex-shrink:0}.chat-bubble--ai .markdown{width:100%;max-width:100%;min-width:0;overflow:hidden}.chat-bubble--ai .markdown>*{max-width:100%;min-width:0}.chat-bubble--ai .markdown a{overflow-wrap:anywhere;word-break:break-word}.chat-bubble--ai .markdown img,.chat-bubble--ai .markdown svg,.chat-bubble--ai .markdown video{display:block;max-width:100%;height:auto}.chat-bubble--ai .markdown pre,.chat-bubble--ai .markdown table{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}.chat-bubble--ai .markdown table{display:block;width:100%}.chat-bubble--ai .markdown th,.chat-bubble--ai .markdown td{max-width:min(36ch,70vw);overflow-wrap:anywhere;word-break:break-word}.chat-sources{max-width:72ch;margin-top:var(--sp-2)}.markdown .katex-display{max-width:100%;overflow-x:auto;overflow-y:hidden;padding-block:2px}.markdown .katex{font-size:1em}.chat-sources:empty{display:none}.chat-sources-disclosure{border-top:1px solid var(--border)}.chat-sources-heading{display:flex;align-items:center;gap:var(--sp-1);min-height:34px;margin:0;color:var(--ink-tertiary);font-size:var(--text-2xs);font-weight:var(--fw-medium);cursor:pointer;list-style:none}.chat-sources-heading::-webkit-details-marker{display:none}.chat-sources-heading .td-icon{width:13px;height:13px}.chat-sources-heading .td-icon:last-child{margin-left:auto;transition:transform var(--dur-fast) var(--ease)}.chat-sources-disclosure[open] .chat-sources-heading .td-icon:last-child{transform:rotate(180deg)}.chat-sources-count{min-width:18px;padding:0 5px;border-radius:var(--r-full);background:var(--bg-hover);font-variant-numeric:tabular-nums;text-align:center}.chat-source-list{border-top:1px solid var(--border)}.chat-source-group{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(0,1.2fr);align-items:start;gap:var(--sp-3);padding:var(--sp-2) 0;border-bottom:1px solid var(--border)}.chat-source-document{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-secondary);font-size:var(--text-xs);font-weight:var(--fw-medium)}.chat-source-locators{display:flex;flex-wrap:wrap;gap:var(--sp-1)}.chat-source-link{display:inline-flex;align-items:center;gap:3px;min-height:26px;padding:1px var(--sp-2);border:1px solid var(--border);border-radius:var(--r-sm);background:transparent;color:var(--ink-secondary);font:inherit;font-size:var(--text-xs);cursor:pointer;transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.chat-source-number{color:var(--ink-tertiary);font-variant-numeric:tabular-nums}.chat-source-link:hover:not(:disabled){border-color:var(--border-hover);background:var(--bg-hover);color:var(--ink)}.chat-source-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chat-source-link:disabled{cursor:default;opacity:.62}.chat-user-message{display:flex;flex-direction:column;align-items:flex-end;max-width:70%}.chat-user-message>.chat-bubble-content{max-width:100%}.chat-bubble--user .msg-toolbar{padding:0 var(--sp-1) 0 0}.chat-rewrite-confirmation{align-self:flex-end;display:flex;align-items:stretch;flex-direction:column;gap:6px;width:min(440px,100%);margin-top:var(--sp-2);padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-raised);color:var(--ink-secondary);font-size:var(--text-xs);line-height:var(--leading)}.chat-rewrite-confirmation p{margin:0;min-width:0}.chat-rewrite-error{color:var(--error)}.chat-rewrite-actions{display:flex;justify-content:flex-end;align-items:center;gap:var(--sp-1);padding-top:var(--sp-1)}.chat-rewrite-actions .btn{min-height:30px;white-space:nowrap}.chat-card-stack{position:relative;width:min(420px,100%);padding:0 0 var(--sp-1)}.chat-card-collage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:104px;gap:3px;overflow:hidden;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--border)}.chat-card-collage[data-visible="2"]{grid-auto-rows:168px}.chat-card-collage[data-visible="3"] .chat-card-preview:first-child{grid-row:span 2}.chat-card-preview{position:relative;display:flex;align-items:flex-start;justify-content:flex-start;min-width:0;padding:var(--sp-3);border:0;background:var(--bg-raised);color:var(--ink);font:inherit;font-size:var(--text-xs);font-weight:var(--fw-medium);line-height:var(--leading);text-align:left;cursor:pointer;overflow:hidden;transition:background var(--dur-fast) var(--ease),opacity var(--dur-fast) var(--ease)}.chat-card-preview span{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow-wrap:anywhere}.chat-card-preview:hover,.chat-card-preview:focus-visible,.chat-card-preview.is-active{background:var(--accent-subtle)}.chat-card-preview:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.chat-card-preview strong{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:color-mix(in oklch,var(--ink) 62%,transparent);color:var(--bg);font-size:var(--text-lg);font-weight:var(--fw-semibold)}.chat-card-viewer[hidden],.chat-card-stack.is-expanded .chat-card-collage{display:none}.chat-card-viewer-head{display:flex;align-items:center;justify-content:space-between;min-height:32px;margin-bottom:var(--sp-1);color:var(--ink-tertiary);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.chat-card-stack.is-collapsed .chat-card-nav,.chat-card-stack.is-collapsed .chat-card-current-action{display:none}.chat-card-active{position:relative;z-index:2;width:100%;height:200px;margin:0}.chat-card-front{width:100%;font-size:var(--text-sm);font-weight:var(--fw-medium);line-height:var(--leading);user-select:text}.chat-card-back{align-items:flex-start;justify-content:flex-start;overflow:auto;padding:var(--sp-5);text-align:left;user-select:text}.chat-card-back .markdown{width:100%}.chat-card-nav{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;gap:var(--sp-2);margin-top:var(--sp-3);color:var(--ink-tertiary);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.chat-card-actions{position:relative;z-index:3;display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-2)}.doc-viewer{--viewer-width:min(820px,58vw);position:fixed;inset:0;z-index:90;display:flex;background:color-mix(in oklch,var(--ink) 18%,transparent)}.viewer-backdrop{flex:1;min-width:0;border:0;background:transparent;cursor:default}.viewer-resize-handle{width:7px;flex:0 0 7px;cursor:col-resize;background:transparent;transition:background var(--dur-fast) var(--ease)}.viewer-resize-handle:hover,.viewer-resize-handle:active{background:var(--accent-subtle)}.viewer-panel{width:var(--viewer-width);height:100%;display:flex;flex-direction:column;background:var(--bg);border-left:1px solid var(--border);box-shadow:var(--shadow-md);min-width:0}.doc-viewer--fullscreen{background:var(--bg)}.doc-viewer--fullscreen .viewer-backdrop,.doc-viewer--fullscreen .viewer-resize-handle{display:none}.doc-viewer--fullscreen .viewer-panel{width:100%;border-left:0;box-shadow:none}.viewer-header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);min-height:48px;padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border);flex-shrink:0;background:var(--bg-raised)}.viewer-title-wrap{display:flex;align-items:center;gap:var(--sp-2);min-width:0;flex:1}.viewer-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm);font-weight:var(--fw-medium)}.viewer-actions{display:flex;align-items:center;gap:var(--sp-1);flex-shrink:0}.viewer-page-indicator{flex-shrink:0;color:var(--ink-tertiary);font-size:var(--text-xs)}.viewer-locator{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border);background:var(--bg-raised);font-size:var(--text-xs);line-height:var(--leading)}.viewer-locator strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:var(--fw-semibold);color:var(--ink)}.viewer-locator span{display:-webkit-box;overflow:hidden;color:var(--ink-secondary);-webkit-box-orient:vertical;-webkit-line-clamp:2}.viewer-presentation-toolbar{display:flex;align-items:center;gap:var(--sp-2);min-height:44px;padding:var(--sp-1) var(--sp-3);border-bottom:1px solid var(--border);background:var(--bg-raised);flex-shrink:0}.viewer-document-toolbar{display:flex;align-items:center;justify-content:flex-end;min-height:40px;padding:var(--sp-1) var(--sp-3);border-bottom:1px solid var(--border);background:var(--bg-raised);flex-shrink:0}.viewer-tool-button{display:inline-flex;align-items:center;gap:var(--sp-1);min-height:32px;padding-inline:var(--sp-2);font-size:var(--text-xs)}.viewer-tool-button.is-active{background:var(--accent-subtle);color:var(--accent)}.viewer-search-wrap{display:flex;align-items:center;gap:2px;min-width:180px;max-width:360px;flex:1}.viewer-search{display:flex;align-items:center;gap:var(--sp-1);height:32px;min-width:0;flex:1;padding:0 var(--sp-2);border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg)}.viewer-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-subtle)}.viewer-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:var(--text-xs)}.viewer-search input::placeholder{color:var(--ink-tertiary)}.viewer-search-count{min-width:40px;color:var(--ink-tertiary);font-size:var(--text-2xs);text-align:center;white-space:nowrap}.viewer-search-nav{width:30px;height:30px;min-width:30px;min-height:30px}.viewer-zoom{display:flex;align-items:center;flex-shrink:0}.viewer-zoom .btn--icon{width:30px;height:30px;min-width:30px;min-height:30px;font-size:var(--text-md)}.viewer-zoom-value{min-width:50px;height:30px;padding-inline:var(--sp-1);font-size:var(--text-2xs);font-variant-numeric:tabular-nums}.viewer-render-status{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--warning);font-size:var(--text-2xs)}.viewer-content{position:relative;flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;background:var(--bg-hover);transition:opacity var(--dur-fast) var(--ease)}.viewer-content--changing{opacity:.72;pointer-events:none}.viewer-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:var(--sp-3);color:var(--ink-tertiary);font-size:var(--text-sm);background:var(--bg-hover)}.viewer-loading .skeleton{width:24px;height:24px;border-radius:var(--r-full)}.viewer-pdf{display:block;width:100%;height:100%;border:0;background:var(--bg)}.viewer-presentation-shell{position:relative;display:flex;width:100%;height:100%;min-height:0;overflow:hidden}.viewer-pptx-sidebar{width:140px;flex:0 0 140px;min-height:0;border-right:1px solid var(--border);background:var(--bg-raised)}.viewer-pptx-thumbnails{height:100%;overflow-y:auto;overscroll-behavior:contain;padding:var(--sp-2)}.viewer-pptx-thumbnail{display:flex;flex-direction:column;align-items:center;gap:var(--sp-1);width:100%;margin:0 0 var(--sp-2);padding:var(--sp-1);border:1px solid transparent;border-radius:var(--r-md);background:transparent;color:var(--ink-tertiary);font:inherit;font-size:var(--text-2xs);cursor:pointer}.viewer-pptx-thumbnail:hover{border-color:var(--border);background:var(--bg-hover);color:var(--ink)}.viewer-pptx-thumbnail.is-active{border-color:var(--accent);background:var(--accent-subtle);color:var(--accent)}.viewer-pptx-thumbnail:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.viewer-pptx-thumbnail-canvas{display:flex;align-items:center;justify-content:center;width:100%;min-height:64px;overflow:hidden;border:1px solid var(--border);background:var(--bg)}.viewer-pptx-thumbnail-image{display:block;width:100%;height:auto;border:1px solid var(--border);background:var(--bg)}.viewer-pptx{height:100%;min-width:0;min-height:0;flex:1;padding:var(--sp-4);display:flex;align-items:center;justify-content:center;overflow:auto;overscroll-behavior:contain;background:var(--bg-hover)}.viewer-office-stage{align-items:flex-start;justify-content:flex-start}.viewer-office-canvas{position:relative;flex:0 0 auto;margin:auto;background:var(--bg);box-shadow:0 2px 8px color-mix(in oklch,var(--ink) 13%,transparent)}.viewer-office-slide{display:block;width:100%;height:100%;object-fit:fill;user-select:none;-webkit-user-drag:none}.viewer-office-highlights{position:absolute;inset:0;pointer-events:none}.viewer-office-highlight{position:absolute;display:block;min-width:4px;min-height:4px;padding:0;border:1px solid color-mix(in oklch,var(--warning) 72%,var(--ink));border-radius:2px;background:color-mix(in oklch,var(--warning-bg) 74%,transparent);box-shadow:0 0 0 1px color-mix(in oklch,var(--bg) 70%,transparent)}.viewer-word-stage{display:flex;align-items:flex-start;justify-content:flex-start;min-width:100%;min-height:100%;padding:var(--sp-5);outline:0}.viewer-word-stage:focus-visible{box-shadow:inset 0 0 0 2px var(--focus)}.viewer-word-canvas{flex:0 0 auto;margin-inline:auto;background:var(--bg);box-shadow:0 2px 8px color-mix(in oklch,var(--ink) 13%,transparent)}.viewer-word-page{display:block;width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}.viewer-docx{display:flex;flex-direction:column;align-items:center;width:100%;max-width:none;padding:var(--sp-5);background:var(--bg-hover);box-shadow:none}.viewer-docx .docx-wrapper{display:flex;flex-direction:column;align-items:center;width:100%;max-width:100%;margin-inline:auto!important;padding:0!important;background:transparent!important}.viewer-docx .docx-wrapper>section.docx{width:min(816px,100%)!important;max-width:100%!important;box-sizing:border-box;margin:0 auto var(--sp-5)!important;padding:clamp(36px,8%,72px) clamp(30px,8%,72px)!important;box-shadow:0 1px 2px color-mix(in oklch,var(--ink) 7%,transparent)!important;overflow-wrap:anywhere}.viewer-document,.viewer-plain-text{width:min(76ch,calc(100% - 48px));min-height:100%;margin:0 auto;padding:var(--sp-8) var(--sp-7);background:var(--bg);color:var(--ink);box-shadow:0 1px 2px color-mix(in oklch,var(--ink) 7%,transparent)}.viewer-document{font-size:var(--text-sm);line-height:1.72;overflow-wrap:anywhere}.viewer-document img,.viewer-document video{max-width:100%;height:auto}.viewer-document img{display:block;margin:var(--sp-4) auto;border-radius:var(--r-sm)}.viewer-document h1,.viewer-document h2,.viewer-document h3,.viewer-document h4,.viewer-document h5,.viewer-document h6{margin-block:1.7em .65em;line-height:var(--leading-tight);font-weight:var(--fw-semibold)}.viewer-document h1{font-size:var(--text-xl)}.viewer-document h2{font-size:var(--text-lg)}.viewer-document h3{font-size:var(--text-md)}.viewer-document h1:first-child,.viewer-document h2:first-child,.viewer-document h3:first-child{margin-top:0}.viewer-document p,.viewer-document ul,.viewer-document ol,.viewer-document pre,.viewer-document blockquote{margin-block:0 1.15em}.viewer-document ul,.viewer-document ol{padding-left:1.5em}.viewer-document li+li{margin-top:.35em}.viewer-document .task-list-item{list-style:none;margin-left:-1.5em}.viewer-document .task-list-item input{width:15px;height:15px;margin:0 var(--sp-2) 0 0;accent-color:var(--accent);vertical-align:-2px}.viewer-document details{margin-block:var(--sp-3);padding:var(--sp-3) var(--sp-4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-raised)}.viewer-document summary{cursor:pointer;font-weight:var(--fw-medium)}.viewer-document a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:3px}.viewer-document blockquote{padding:var(--sp-3) var(--sp-4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-raised);color:var(--ink-secondary)}.viewer-document pre{max-width:100%;overflow:auto;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);background:var(--bg-raised);font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.65}.viewer-document :not(pre)>code{padding:1px 4px;border-radius:var(--r-sm);background:var(--bg-raised);font-family:var(--font-mono);font-size:.92em}.viewer-table-scroll{max-width:100%;margin-block:var(--sp-4);overflow-x:auto;overscroll-behavior-inline:contain}.viewer-table-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.viewer-document table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.viewer-document th,.viewer-document td{padding:var(--sp-2) var(--sp-3);border:1px solid var(--border);text-align:left;vertical-align:top}.viewer-document th{background:var(--bg-raised);font-weight:var(--fw-semibold)}.viewer-plain-text{white-space:pre-wrap;word-break:break-word;font-family:var(--font);font-size:var(--text-sm);line-height:1.78;tab-size:4}.viewer-source-target{border-radius:var(--r-sm);background:var(--accent-subtle);color:inherit;box-shadow:0 0 0 3px var(--accent-subtle);transition:background var(--dur) var(--ease)}.viewer-error{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-2);padding:var(--sp-6);text-align:center;color:var(--ink-secondary)}.settings-segment{display:grid;grid-template-columns:1fr 1fr;padding:2px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-hover)}.settings-segment--three{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-segment--five{grid-template-columns:repeat(5,minmax(0,1fr))}.learning-density-field{margin:0;padding:0;border:0}.learning-density-field>legend{margin-bottom:var(--sp-2);font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--ink-secondary)}.settings-segment button{min-height:32px;border:0;border-radius:calc(var(--r-md) - 2px);background:transparent;color:var(--ink-secondary);font-size:var(--text-xs);font-weight:var(--fw-medium);cursor:pointer}.settings-segment button:hover{color:var(--ink);background:var(--bg-raised)}.settings-segment button.is-active{background:var(--bg);color:var(--ink);box-shadow:0 1px 2px color-mix(in oklch,var(--ink) 8%,transparent)}.settings-segment button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.viewer-error strong{font-size:var(--text-md);color:var(--ink)}.viewer-error .btn{margin-top:var(--sp-2)}.slash-chip{display:inline-flex;align-items:center;gap:2px;background:color-mix(in oklch,var(--bg) 16%,transparent);color:var(--bg);padding:1px var(--sp-2);border-radius:var(--r-sm);font-size:var(--text-xs);font-weight:var(--fw-semibold);margin-right:4px;vertical-align:middle}.slash-chip .td-icon{width:12px;height:12px}.slash-chip-input{display:inline-flex;align-items:center;gap:2px;background:var(--accent-subtle);color:var(--accent);padding:1px var(--sp-2);border-radius:var(--r-sm);font-size:var(--text-xs);font-weight:var(--fw-semibold);margin-right:2px;vertical-align:middle;user-select:none;cursor:default}.slash-chip-input .td-icon{width:12px;height:12px}.slash-option{display:flex;align-items:center;gap:var(--sp-3);width:100%;min-height:52px;padding:var(--sp-2) var(--sp-3);border:0;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.slash-option:hover,.slash-option--active{background:var(--bg-hover)}.slash-option-icon{width:28px;height:28px;border-radius:var(--r-md);background:var(--accent-subtle);display:flex;align-items:center;justify-content:center;flex-shrink:0}.slash-option-copy{display:flex;flex-direction:column;gap:1px;min-width:0}.slash-option-copy strong{font-size:var(--text-sm);font-weight:var(--fw-medium)}.slash-option-copy small{font-size:var(--text-xs);color:var(--ink-tertiary);white-space:normal}.input-editor{min-height:22px;display:block;white-space:pre-wrap;line-height:1.58}.input-editor:empty:before{content:attr(data-placeholder);color:var(--ink-tertiary);pointer-events:none;line-height:1.5}.input-editor:focus{outline:none}.loading-dots{display:inline-flex;gap:4px;align-items:center;padding:2px 0}.loading-dots span{width:5px;height:5px;border-radius:50%;background:var(--ink-tertiary);animation:dotPulse 1.4s infinite}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes dotPulse{0%,80%,to{opacity:.2;transform:scale(.7)}40%{opacity:1;transform:scale(1)}}.quiz-result-card{padding:var(--sp-4);background:var(--success-bg);border:1px solid var(--success);border-radius:var(--r-lg);min-width:0;width:100%}.quiz-result-card .btn{margin-left:var(--sp-4);flex-shrink:0}.chat-bubble--ai .chat-bubble-content:has(.quiz-result-card){max-width:none}.learning-mode{display:flex;align-items:center;gap:var(--sp-1);min-height:20px;margin:0 0 var(--sp-1);font-size:var(--text-2xs);font-weight:var(--fw-medium);color:var(--ink-tertiary)}.learning-mode .td-icon{width:13px;height:13px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--sp-16) var(--sp-4);text-align:center}.empty-state-icon{width:56px;height:56px;border-radius:50%;background:var(--bg-hover);display:inline-flex;align-items:center;justify-content:center;margin-bottom:var(--sp-5)}.empty-state-title{font-size:var(--text-lg);font-weight:var(--fw-semibold);margin-bottom:var(--sp-2)}.empty-state-desc{font-size:var(--text-sm);color:var(--ink-secondary);max-width:48ch}.empty-state-actions{display:flex;align-items:center;justify-content:center;gap:var(--sp-2);flex-wrap:wrap;margin-top:var(--sp-5)}.empty-state--compact{align-items:flex-start;min-height:152px;padding:var(--sp-6) 0;text-align:left}.empty-state--compact .empty-state-icon{width:36px;height:36px;margin-bottom:var(--sp-3)}.empty-state--compact .empty-state-title{font-size:var(--text-md);margin-bottom:var(--sp-1)}.empty-state--compact .empty-state-desc{font-size:var(--text-sm)}.empty-state--compact .empty-state-actions{justify-content:flex-start;margin-top:var(--sp-4)}.msg-toolbar{display:flex;align-items:center;gap:2px;margin-top:var(--sp-1);padding-left:var(--sp-1);opacity:0;transition:opacity var(--dur-fast) var(--ease)}.chat-bubble:hover .msg-toolbar{opacity:1}.msg-toolbar-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:var(--r-sm);background:transparent;color:var(--ink-tertiary);cursor:pointer;transition:all var(--dur-fast) var(--ease);padding:0}.msg-toolbar-btn:hover{background:var(--bg-hover);color:var(--ink-secondary)}.msg-toolbar-btn:active{transform:scale(.85)}.msg-toolbar-btn--done{color:var(--success)}@media(max-width:768px){.mobile-topbar{position:fixed;inset:0 0 auto;z-index:50;height:calc(52px + env(safe-area-inset-top));padding:env(safe-area-inset-top) var(--sp-2) 0;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;background:color-mix(in oklch,var(--bg-raised) 90%,transparent);border-bottom:1px solid var(--border)}.mobile-topbar .btn--icon{width:44px;height:44px;min-width:44px;min-height:44px}.mobile-brand{display:flex;align-items:center;justify-content:center;gap:var(--sp-2);min-width:0;font-size:var(--text-sm);font-weight:var(--fw-semibold)}.mobile-brand .td-icon{flex-shrink:0}.sidebar{position:fixed;inset:0 auto 0 0;z-index:60;width:min(84vw,300px)!important;height:100%;transform:translate(-100%);transition:transform var(--dur-slow) var(--ease-spring);box-shadow:0 10px 36px #00000029}body.mobile-nav-open .sidebar{transform:translate(0)}.sidebar.collapsed .sidebar-brand{flex-direction:row;padding:var(--sp-4) var(--sp-4) var(--sp-3);gap:var(--sp-2);overflow:hidden}.sidebar.collapsed .sidebar-brand-text,.sidebar.collapsed .sidebar-brand-spacer{display:block}.sidebar.collapsed .sidebar-brand-spacer{flex:1}.sidebar.collapsed .nav-item{justify-content:flex-start;padding:var(--sp-1) var(--sp-2)}.sidebar.collapsed .nav-item-label,.sidebar.collapsed .nav-item-badge{display:block}.sidebar.collapsed .nav-item-label{flex:1}.sidebar-backdrop{display:block;position:fixed;inset:0;z-index:55;border:0;background:#12121052;opacity:0;pointer-events:none;transition:opacity var(--dur) var(--ease)}body.mobile-nav-open .sidebar-backdrop{opacity:1;pointer-events:auto}.main-content{width:100%;height:100%;padding-top:calc(52px + env(safe-area-inset-top))}.overview-page{padding:var(--sp-5) var(--sp-4) calc(var(--sp-10) + env(safe-area-inset-bottom))}.overview-header{display:block;margin-bottom:var(--sp-5)}.overview-heading h1{font-size:var(--text-xl)}.overview-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:var(--sp-5);gap:var(--sp-2)}.overview-actions .btn{min-height:44px;width:100%}.overview-actions .btn--primary{grid-column:1/-1}.overview-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:var(--sp-8)}.overview-stats .stat-item{min-width:0;padding:var(--sp-3)}.overview-stats .stat-item:first-child{padding-left:0;border-left:0}.overview-section{margin-bottom:var(--sp-8)}.section-heading-row{align-items:center}.motion-control{width:44px;height:44px;min-width:44px;min-height:44px;padding:0}.motion-control span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.graph-container{height:min(68svh,520px);min-height:420px}.graph-toolbar{inset:0 0 auto;min-height:52px;padding:var(--sp-1)}.graph-toolbar-main{flex:1;gap:var(--sp-1);max-width:calc(100% - 52px);flex-wrap:nowrap;align-items:center}.graph-toolbar--structure .graph-toolbar-main,.graph-toolbar--path .graph-toolbar-main{max-width:100%}.graph-view-switch{height:44px;padding:0}.graph-view-switch button{height:44px;padding:0 7px}.graph-search{height:44px;width:44px;flex:0 0 auto;justify-content:center;padding:0;overflow:hidden}.graph-search input{position:absolute;width:1px;opacity:0;pointer-events:none}.graph-search:focus-within{width:clamp(88px,28vw,120px);justify-content:flex-start;padding:0 var(--sp-2)}.graph-search:focus-within input{position:static;width:100%;opacity:1;pointer-events:auto}.graph-signal-control{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-raised);box-shadow:var(--shadow-sm);color:var(--ink-secondary)}.graph-signal-control>.td-icon{display:block}.graph-signal-control.is-active{border-color:var(--accent);color:var(--accent);background:var(--accent-subtle)}.graph-signal-control:focus-within{outline:2px solid var(--focus);outline-offset:2px}.graph-signal-filter{position:absolute;inset:0;width:100%;height:100%;max-width:none;padding:0;border:0;opacity:0;cursor:pointer}.graph-signal-filter:focus-visible{outline:0}.graph-zoom-controls .graph-tool-button:not([data-action=reset]){display:none}.graph-tool-button{width:44px;height:44px}.graph-structure{grid-template-columns:1fr;padding:60px var(--sp-3) var(--sp-4)}.graph-structure-node{min-height:48px;grid-template-columns:minmax(88px,.8fr) minmax(0,1.2fr)}.graph-learning-path{padding:60px var(--sp-2) 152px}.graph-inspector{inset:var(--sp-1);gap:var(--sp-1);min-height:44px;padding:0 var(--sp-1)}.graph-inspector-copy{display:block}.graph-inspector-meta,.graph-inspector-relations{display:none}.graph-inspector strong{max-width:calc(100vw - 218px);font-size:var(--text-xs)}.graph-inspector-actions{gap:2px;flex-wrap:nowrap}.graph-action{width:44px;height:44px;min-width:44px;min-height:44px;padding:0}.graph-action span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.memory-plan-fields{grid-template-columns:1fr}.graph-legend{gap:var(--sp-1) var(--sp-2)}.graph-legend{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scrollbar-width:none}.graph-legend::-webkit-scrollbar{display:none}.overview-recents{grid-template-columns:1fr;gap:0}.overview-list .btn--icon{opacity:1!important;width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important}.overview-list-delete{width:44px;height:44px;min-width:44px;min-height:44px;opacity:1}.record-list-delete{opacity:1}.chat-workspace,.chat-workspace.is-history-collapsed{display:block}.chat-main{max-width:none}.chat-header{min-height:52px;padding:var(--sp-1) var(--sp-2)}.chat-history{position:absolute;inset:0 auto 0 0;width:min(82vw,300px);transform:translate(-102%);box-shadow:var(--shadow-md);transition:transform .2s var(--ease)}.chat-workspace.is-history-open .chat-history{transform:translate(0)}.chat-history-backdrop{position:absolute;inset:0;z-index:2;width:100%;height:100%;border:0;background:color-mix(in oklch,var(--ink) 22%,transparent)}.chat-workspace.is-history-open .chat-history-backdrop{display:block}.chat-history-toggle-icon--open{display:inline-flex}.chat-history-toggle-icon--close,.chat-workspace.is-history-open .chat-history-toggle-icon--open{display:none}.chat-workspace.is-history-open .chat-history-toggle-icon--close{display:inline-flex}.chat-history-item{min-height:44px}.chat-history-rename,.material-delete{width:44px;height:44px;min-width:44px;min-height:44px;opacity:1}.chat-header-action,.chat-send-button{width:44px;height:44px;min-width:44px;min-height:44px}.overview-delete{width:44px;height:44px;min-width:44px;min-height:44px;opacity:1}.task-shell{padding:var(--sp-5) var(--sp-4) calc(var(--sp-10) + env(safe-area-inset-bottom))}.task-header{display:block;margin-bottom:var(--sp-6);padding-bottom:var(--sp-5)}.task-header-main{align-items:center}.task-back{width:44px;height:44px;min-width:44px;min-height:44px;margin-top:0}.task-heading h1{font-size:var(--text-xl)}.task-actions{display:grid;grid-template-columns:1fr 1fr;margin-top:var(--sp-5)}.task-actions .btn{width:100%;min-height:44px}.task-actions .btn:only-child{grid-column:1/-1}.session-header{padding:var(--sp-2) var(--sp-3)}.session-header .btn--icon{width:44px;height:44px;min-width:44px;min-height:44px}.empty-state--compact{min-height:136px;padding:var(--sp-5) 0}.chat-bubble--user .chat-bubble-content{max-width:100%;overflow-wrap:anywhere}.chat-user-message{max-width:94%}.chat-rewrite-confirmation{align-items:flex-start;flex-direction:column;width:100%;gap:var(--sp-2)}.chat-rewrite-actions{width:100%}.chat-rewrite-actions .btn{flex:1;min-height:44px}.chat-messages{padding:var(--sp-4) var(--sp-3)}.chat-bubble--ai .chat-bubble-content{width:100%;max-width:100%}.chat-answer-incomplete{align-items:flex-start;flex-direction:column;gap:var(--sp-2);width:100%}.chat-answer-incomplete .btn{min-height:44px}.chat-empty{justify-content:flex-start;padding:16vh var(--sp-2) var(--sp-6);gap:var(--sp-3)}.chat-empty-mark{width:38px;height:38px}.chat-empty-copy h2{font-size:var(--text-lg)}.chat-suggestions{margin-top:0}.chat-suggestion{min-height:46px;padding:var(--sp-3) var(--sp-1)}.chat-source-link{min-height:44px;grid-template-columns:1fr;gap:0;padding:var(--sp-2) 0}.chat-source-link span{white-space:normal;overflow-wrap:anywhere}.chat-card-actions .btn{min-height:44px;flex:1}.viewer-locator{grid-template-columns:1fr;gap:2px;padding:var(--sp-2) var(--sp-3)}.doc-viewer{background:var(--bg)}.viewer-backdrop,.viewer-resize-handle{display:none}.viewer-panel{width:100%;border-left:0;box-shadow:none}.viewer-header{padding-left:var(--sp-3);padding-right:var(--sp-2)}.viewer-header .btn--icon{width:44px;height:44px;min-width:44px;min-height:44px}.viewer-title-wrap>.td-icon{display:none}.viewer-page-indicator{font-size:var(--text-2xs)}.viewer-presentation-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--sp-1) var(--sp-2);padding:var(--sp-1) var(--sp-2)}.viewer-document-toolbar{padding-inline:var(--sp-2)}.viewer-tool-button{width:44px;height:44px;min-width:44px;min-height:44px;justify-content:center}.viewer-tool-button span{display:none}.viewer-search-wrap{grid-column:1/-1;grid-row:2;max-width:none;min-width:0}.viewer-search{height:44px}.viewer-search-nav{width:44px;height:44px;min-width:44px;min-height:44px}.viewer-zoom{grid-column:3;grid-row:1}.viewer-zoom .btn--icon{width:44px;height:44px;min-width:44px;min-height:44px}.viewer-zoom-value{height:44px}.viewer-render-status{grid-column:1/-1;grid-row:3}.viewer-pptx-sidebar{position:absolute;inset:0 auto 0 0;z-index:2;width:min(42vw,150px);box-shadow:var(--shadow-md)}.viewer-pptx,.viewer-word-stage{padding:var(--sp-2)}.viewer-docx{padding:0;background:var(--bg)}.viewer-docx .docx-wrapper>section.docx{max-width:100%!important;margin:0!important;box-shadow:none!important;transform-origin:top left}.viewer-document,.viewer-plain-text{width:100%;padding:var(--sp-6) var(--sp-4);box-shadow:none}}.quiz-session{flex:1;display:flex;flex-direction:column;height:100%;overflow-y:auto;overscroll-behavior:contain}.quiz-session-meta{display:flex;align-items:center;gap:var(--sp-4);font-size:var(--text-sm);color:var(--ink-tertiary)}.quiz-progress{padding:0 var(--sp-5);flex-shrink:0}.quiz-progress .progress-bar{margin:var(--sp-1) 0}.quiz-question-stage{flex:1;width:100%;max-width:620px;margin:0 auto;padding:var(--sp-8) var(--sp-5);display:flex;flex-direction:column;justify-content:center}.quiz-question-stage h2{font-size:var(--text-lg);font-weight:var(--fw-medium);line-height:var(--leading);margin:0 0 var(--sp-6)}.quiz-question-meta{font-size:var(--text-2xs);font-weight:var(--fw-medium);color:var(--ink-tertiary);margin-bottom:var(--sp-3)}.quiz-options{display:flex;flex-direction:column;gap:var(--sp-2)}.quiz-option{display:flex;align-items:center;text-align:left;justify-content:flex-start;min-height:48px;padding:var(--sp-2) var(--sp-3);width:100%;font-family:inherit;font-size:var(--text-sm);line-height:var(--leading);color:var(--ink);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg);cursor:pointer;transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.quiz-option:hover:not(:disabled){border-color:var(--border-hover);background:var(--bg-hover)}.quiz-option--selected{border-color:var(--accent);background:var(--accent-subtle)}.quiz-option:disabled{cursor:default;opacity:1}.quiz-option-marker{width:24px;height:24px;border:1px solid var(--border-hover);border-radius:var(--r-full);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;margin-right:var(--sp-3);font-size:var(--text-2xs);font-weight:var(--fw-semibold);color:var(--ink-secondary)}.quiz-option-marker--multiple{border-radius:var(--r-sm)}.quiz-option--selected .quiz-option-marker{border-color:var(--accent);background:var(--accent);color:var(--accent-text)}.quiz-short-answer{width:100%;min-height:132px;resize:vertical;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg);color:var(--ink);padding:var(--sp-3);font:inherit;font-size:var(--text-sm);line-height:var(--leading);outline:none}.quiz-short-answer:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.quiz-feedback{margin-top:var(--sp-4);padding:var(--sp-3) 0 0;border-top:1px solid var(--border);font-size:var(--text-sm);line-height:var(--leading)}.quiz-feedback-title{display:flex;align-items:center;gap:var(--sp-2);font-weight:var(--fw-semibold);margin-bottom:var(--sp-1)}.quiz-feedback--correct .quiz-feedback-title{color:var(--success)}.quiz-feedback--incorrect .quiz-feedback-title{color:var(--error)}.quiz-feedback p{color:var(--ink-secondary);margin-top:var(--sp-1)}.quiz-footer{padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--border);flex-shrink:0;display:flex;justify-content:space-between;gap:var(--sp-3)}.quiz-footer-secondary{display:flex;gap:var(--sp-1);margin-right:auto}.flashcard-review-stage{flex:1;display:grid;grid-template-columns:44px minmax(0,560px) 44px;align-items:center;justify-content:center;gap:var(--sp-3);padding:var(--sp-6);perspective:1000px}.flashcard-review-stack{position:relative;width:100%}.flashcard-review-stack>.flashcard{position:relative;z-index:3}.flashcard-back--reading{align-items:flex-start;justify-content:flex-start;overflow:auto;padding:clamp(var(--sp-5),5vw,var(--sp-8));text-align:left}.flashcard-back--reading .markdown{width:100%;margin:auto 0}.task-shell--flashcard-waiting{display:flex;min-height:100%;flex-direction:column}.flashcard-waiting{display:flex;min-height:360px;flex:1;flex-direction:column;align-items:center;justify-content:center;padding:var(--sp-8) 0;text-align:center}.flashcard-waiting-heading{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-8);text-align:left}.flashcard-waiting-icon{display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-raised);color:var(--ink-secondary)}.flashcard-waiting-heading h2{font-size:var(--text-md);font-weight:var(--fw-semibold);line-height:var(--leading-tight)}.flashcard-waiting-heading p{margin-top:var(--sp-1);font-size:var(--text-sm);color:var(--ink-secondary)}.book-countdown{position:relative;width:min(100%,600px);perspective:1100px}.book-countdown-pages{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:248px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-raised);box-shadow:0 12px 28px color-mix(in oklch,var(--ink) 10%,transparent)}.book-countdown-pages:before{content:"";position:absolute;inset:0 50% 0 auto;width:1px;background:var(--border);box-shadow:-5px 0 12px color-mix(in oklch,var(--ink) 7%,transparent),5px 0 12px color-mix(in oklch,var(--ink) 5%,transparent);z-index:2}.book-countdown-page{position:relative;display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-3);overflow:hidden;background-image:radial-gradient(circle,var(--paper-fiber) 0 .5px,transparent .72px);background-size:9px 13px}.book-countdown-page--hours{border-radius:var(--r-lg) 0 0 var(--r-lg);transform-origin:right center}.book-countdown-page--minutes{border-radius:0 var(--r-lg) var(--r-lg) 0;transform-origin:left center}.book-countdown-value{font-variant-numeric:tabular-nums;font-size:64px;font-weight:var(--fw-semibold);line-height:1;color:var(--ink);transform-origin:inherit}.book-countdown-label{font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--ink-tertiary)}.quiz-history-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--sp-2);width:100%;min-height:48px;padding:var(--sp-2) var(--sp-3);border:0;background:transparent;color:var(--ink);font-family:inherit;text-align:left;cursor:pointer}.quiz-results{flex:1;overflow-y:auto;padding:var(--sp-8) var(--sp-5)}.quiz-results-inner{max-width:620px;margin:0 auto}.quiz-score{text-align:center;margin-bottom:var(--sp-6)}.quiz-score strong{display:block;font-size:var(--text-3xl);line-height:1.1;color:var(--accent);margin-bottom:var(--sp-3)}.quiz-score h2{font-size:var(--text-xl);font-weight:var(--fw-bold)}.quiz-score p{font-size:var(--text-sm);color:var(--ink-secondary);margin-top:var(--sp-1)}.quiz-result-actions{display:flex;gap:var(--sp-2);justify-content:center;flex-wrap:wrap;margin-bottom:var(--sp-8)}.quiz-review-title{font-size:var(--text-md);font-weight:var(--fw-semibold);margin-bottom:var(--sp-3)}.quiz-review-list{border-block:1px solid var(--border)}.quiz-review-item{display:grid;grid-template-columns:24px minmax(0,1fr);gap:var(--sp-2);padding:var(--sp-4) 0;border-bottom:1px solid var(--border)}.quiz-review-item:last-child{border-bottom:0}.quiz-review-icon{padding-top:2px}.quiz-review-question{font-size:var(--text-sm);font-weight:var(--fw-medium);line-height:var(--leading)}.quiz-answer-line,.quiz-explanation{font-size:var(--text-xs);color:var(--ink-tertiary);line-height:var(--leading);margin-top:var(--sp-1)}.quiz-answer-line--correct{color:var(--success)}.quiz-explanation{color:var(--ink-secondary);margin-top:var(--sp-2)}@media(max-width:768px){.space-setup-page{padding:var(--sp-6) var(--sp-4) calc(var(--sp-8) + env(safe-area-inset-bottom))}.space-setup-header h1,.space-setup-page--empty h1{font-size:var(--text-xl)}.space-setup-steps{margin-bottom:var(--sp-6);gap:var(--sp-4)}.space-form{grid-template-columns:1fr;gap:var(--sp-2)}.space-form .input{margin-bottom:var(--sp-3);min-height:44px}.space-icon-field{display:block;margin:0 0 var(--sp-3)}.space-icon-field .field-label{display:block;margin-bottom:var(--sp-2)}.space-icon-option{width:44px;height:44px}.space-form-actions,.form-error{grid-column:1}.space-form-actions .btn,.space-form-actions--split .btn{min-height:44px}.space-form-actions--split{display:grid;grid-template-columns:1fr 1fr}.space-form-actions--split.is-single{grid-template-columns:1fr}.space-dropzone{min-height:156px}.space-file-item{grid-template-columns:42px minmax(0,1fr) 44px}.space-file-size{display:none}.space-file-item .btn{width:44px;height:44px;min-width:44px;min-height:44px}.quiz-session-meta{gap:var(--sp-2)}.quiz-progress{padding:0 var(--sp-3)}.quiz-question-stage{justify-content:flex-start;padding:var(--sp-6) var(--sp-4)}.quiz-question-stage h2{font-size:var(--text-md);margin-bottom:var(--sp-5)}.quiz-option{min-height:52px}.quiz-footer{padding:var(--sp-3) var(--sp-4) calc(var(--sp-3) + env(safe-area-inset-bottom))}.quiz-footer .btn{min-height:44px}.quiz-footer{flex-wrap:wrap}.quiz-footer-secondary{order:2;width:100%;display:grid;grid-template-columns:1fr 1fr}.flashcard-review-stage{grid-template-columns:44px minmax(0,1fr) 44px;gap:var(--sp-1);padding:var(--sp-4) var(--sp-2)}.flashcard-browse{width:44px;height:44px;min-width:44px;min-height:44px}.task-shell--flashcard-waiting{min-height:calc(100dvh - 52px - env(safe-area-inset-top))}.flashcard-waiting{min-height:320px;padding:var(--sp-6) 0}.flashcard-waiting-heading{width:100%;margin-bottom:var(--sp-6)}.book-countdown{width:min(100%,320px)}.book-countdown-pages{min-height:132px}.book-countdown-value{font-size:var(--text-2xl)}.quiz-results{padding:var(--sp-6) var(--sp-4) calc(var(--sp-8) + env(safe-area-inset-bottom))}.quiz-result-actions{display:grid;grid-template-columns:1fr 1fr}.quiz-result-actions .btn{width:100%;min-height:44px}.quiz-result-actions .btn:first-child:last-child{grid-column:1/-1}}.flashcard{width:100%;max-width:440px;height:240px;cursor:pointer;transition:transform var(--dur-slow) var(--ease);transform-style:preserve-3d;position:relative}.flashcard--flipped{transform:rotateY(180deg)}.flashcard-front,.flashcard-back{position:absolute;inset:0;backface-visibility:hidden;border-radius:var(--r-xl);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--sp-6);text-align:center}.flashcard-front{background:var(--bg);border:1px solid var(--border)}.flashcard-back{background:var(--bg-raised);border:1px solid var(--accent-subtle);transform:rotateY(180deg);text-align:left;align-items:flex-start;overflow-y:auto}.flashcard-side-label{display:inline-flex;align-items:center;gap:var(--sp-1);margin-top:var(--sp-4);font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--ink-tertiary)}.flashcard--mini{max-width:100%}.flashcard--mini .flashcard-front,.flashcard--mini .flashcard-back{padding:var(--sp-4);overflow-y:auto}.settings-tab{display:inline-flex;align-items:center;gap:var(--sp-1);padding:var(--sp-2) var(--sp-3);font-family:inherit;font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--ink-tertiary);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all var(--dur-fast) var(--ease);white-space:nowrap}.settings-tab:hover{color:var(--ink-secondary)}.settings-tab--active{color:var(--accent);border-bottom-color:var(--accent)}.settings-account-head{display:flex;align-items:center;gap:var(--sp-3);padding-bottom:var(--sp-5);border-bottom:1px solid var(--border)}.settings-account-avatar{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border-radius:50%;background:var(--accent-subtle);color:var(--accent);font-size:var(--text-md);font-weight:var(--fw-semibold)}.settings-account-head>div{min-width:0;display:flex;flex-direction:column;gap:2px}.settings-account-head strong,.settings-account-head span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-account-head strong{font-size:var(--text-sm);color:var(--ink)}.settings-account-head>div>span{font-size:var(--text-xs);color:var(--ink-tertiary)}.settings-quota{padding:var(--sp-5) 0;border-bottom:1px solid var(--border)}.settings-quota-heading,.settings-quota-values{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.settings-quota-heading strong{font-size:var(--text-sm);font-weight:var(--fw-semibold)}.settings-quota-heading span{font-variant-numeric:tabular-nums;font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--ink-secondary)}.settings-quota-track{height:8px;margin:var(--sp-3) 0 var(--sp-2);overflow:hidden;border-radius:var(--r-full);background:var(--bg-hover)}.settings-quota-track>span{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width var(--dur-normal) var(--ease-out)}.settings-quota-values{font-variant-numeric:tabular-nums;font-size:var(--text-xs);color:var(--ink-tertiary)}.settings-quota.is-exhausted .settings-quota-heading span,.settings-quota.is-exhausted .settings-quota-values{color:var(--error)}.settings-quota.is-exhausted .settings-quota-track>span{background:var(--error)}.settings-quota-warning{margin-top:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);background:var(--error-bg);color:var(--error);font-size:var(--text-xs)}.settings-field-group{padding-top:var(--sp-5)}.settings-runtime{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-3) 0 var(--sp-4);margin-bottom:var(--sp-4);border-bottom:1px solid var(--border)}.settings-runtime-copy{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--sp-1) var(--sp-3)}.settings-runtime-copy h4{font-size:var(--text-sm);font-weight:var(--fw-semibold);line-height:var(--leading-tight)}.settings-runtime-copy p{grid-column:1/-1;min-width:0;font-size:var(--text-xs);line-height:var(--leading);color:var(--ink-tertiary);overflow-wrap:anywhere}.settings-runtime-state{font-size:var(--text-2xs);font-weight:var(--fw-medium);line-height:1.5;color:var(--warning);background:var(--warning-bg);border-radius:var(--r-sm);padding:1px var(--sp-2);white-space:nowrap}.settings-runtime-state.is-ready{color:var(--success);background:var(--success-bg)}.settings-runtime>.btn{flex:0 0 auto}@media(max-width:768px){.settings-panel{max-width:calc(100vw - var(--sp-4))!important;max-height:calc(100dvh - var(--sp-4))!important}.settings-runtime{align-items:stretch;flex-direction:column;gap:var(--sp-3)}.settings-runtime>.btn{width:100%;min-height:44px}.settings-tab{min-height:44px;justify-content:center;flex:1;padding-inline:var(--sp-2)}.settings-quota-values{align-items:flex-start;flex-direction:column;gap:2px}}.markdown table{border-collapse:collapse;width:100%;margin:var(--sp-3) 0;font-size:var(--text-sm)}.markdown th,.markdown td{border:1px solid var(--border);padding:var(--sp-2) var(--sp-3);text-align:left;vertical-align:top}.markdown th{background:var(--bg-hover);font-weight:var(--fw-semibold);color:var(--ink);white-space:nowrap}.markdown tr:nth-child(2n) td{background:var(--bg-hover)}.verify-result{width:100%;max-width:640px}.verify-result-heading{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3)}.verify-result-heading strong{font-size:var(--text-sm);font-weight:var(--fw-semibold)}.verify-result-heading>span{margin-left:auto;color:var(--ink-tertiary);font-size:var(--text-xs)}.verify-list{border-block:1px solid var(--border)}.verify-item{padding:var(--sp-4) 0;border-bottom:1px solid var(--border)}.verify-item:last-child{border-bottom:0}.verify-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3)}.verify-item h3{font-size:var(--text-sm);font-weight:var(--fw-semibold);line-height:var(--leading)}.verify-item>p{font-size:var(--text-sm);color:var(--ink-secondary);margin-top:var(--sp-2)}.verify-item ul{margin:var(--sp-2) 0 0 var(--sp-5);color:var(--ink-secondary);font-size:var(--text-xs)}.verify-verdict{flex-shrink:0;padding:2px var(--sp-2);border-radius:var(--r-sm);font-size:var(--text-2xs);font-weight:var(--fw-medium)}.verify-verdict--supported{background:var(--success-bg);color:var(--success)}.verify-verdict--contradicted{background:var(--error-bg);color:var(--error)}.verify-verdict--mixed{background:var(--warning-bg);color:var(--warning)}.verify-verdict--insufficient{background:var(--bg-hover);color:var(--ink-secondary)}.verify-correction{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--sp-2);margin-top:var(--sp-3);padding:var(--sp-2) var(--sp-3);background:var(--bg-hover);border-radius:var(--r-md);font-size:var(--text-xs)}.verify-correction strong{color:var(--ink)}.verify-correction span{color:var(--ink-secondary)}.verify-confidence{display:block;margin-top:var(--sp-2);color:var(--ink-tertiary);font-size:var(--text-2xs)}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}.graph-links path.is-active{animation:none!important}.graph-node.is-learned .graph-node-nebula{animation:none!important}.skeleton{animation:none!important;background:var(--bg-hover)}.ingestion-file-result.is-running .ingestion-file-result-icon .td-icon,.ingestion-file-result.is-cancelling .ingestion-file-result-icon .td-icon,.ingestion-file-result.is-cancelling .ingestion-file-action .td-icon,.upload-transfer .upload-transfer-icon .td-icon{animation:none!important}.overview-page--intro .overview-heading,.overview-page--intro .overview-actions,.overview-page--intro .overview-stats,.overview-page--intro .graph-stage{opacity:1;transform:none}}@media(max-width:768px){.chat-source-group{grid-template-columns:minmax(0,1fr);gap:var(--sp-1)}}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2) format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff) format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff) format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff) format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2) format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff) format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2) format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff) format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2) format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff) format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2) format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff) format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2) format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff) format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2) format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff) format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff) format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff) format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff) format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2) format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff) format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2) format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff) format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2) format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff) format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC) format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff) format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2) format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff) format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2) format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff) format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;position:relative;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.17.0"}.katex .katex-mathml{border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{display:inline;line-height:0}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}
