:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#0a0d14;--color-bg-elevated:#11151f;--color-surface:#161b27;--color-surface-alt:#1e2433;--color-surface-hover:#232a3c;--color-text:#f4f6fb;--color-text-muted:#9aa3b6;--color-border:#2a3142;--color-border-strong:#3a4358;--color-primary:#8aa6ff;--color-primary-hover:#a8bcff;--color-primary-contrast:#0a0d14;--color-accent:#b598ff;--color-success:#57d391;--color-warning:#f6b06b;--color-danger:#ff7a7a;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--font-base:17px;--font-scale:1;--line-height:1.6;--letter-spacing:0;--paragraph-gap:1em;--max-line-width:36rem;--font-readable:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-dyslexia:"OpenDyslexic", "Atkinson Hyperlegible", "Comic Sans MS", "Trebuchet MS", Verdana, sans-serif;--focus-ring:3px solid var(--color-primary);--shadow-card:0 1px 0 #ffffff08 inset, 0 18px 40px -28px #0000008c}@font-face{font-family:OpenDyslexic;font-style:normal;font-display:swap;font-weight:400;size-adjust:86%;ascent-override:104%;descent-override:28%;line-gap-override:0%;src:url(https://cdn.jsdelivr.net/fontsource/fonts/opendyslexic@latest/latin-400-normal.woff2)format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/opendyslexic@latest/latin-400-normal.woff)format("woff")}@font-face{font-family:OpenDyslexic;font-style:normal;font-display:swap;font-weight:700;size-adjust:86%;ascent-override:104%;descent-override:28%;line-gap-override:0%;src:url(https://cdn.jsdelivr.net/fontsource/fonts/opendyslexic@latest/latin-700-normal.woff2)format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/opendyslexic@latest/latin-700-normal.woff)format("woff")}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f5f7fb;--color-bg-elevated:#fff;--color-surface:#fff;--color-surface-alt:#eef1f7;--color-surface-hover:#e6eaf3;--color-text:#111623;--color-text-muted:#5a6373;--color-border:#d8dde6;--color-border-strong:#b9c1cf;--color-primary:#2f4dff;--color-primary-hover:#1f3bd6;--color-primary-contrast:#fff;--color-accent:#6c4dff;--color-success:#1f9d55;--color-warning:#c66c00;--color-danger:#c0392b;--shadow-card:0 1px 0 #ffffff80 inset, 0 12px 28px -22px #0f172a59}[data-contrast=high],[data-user-contrast=high]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#000;--color-bg-elevated:#000;--color-surface:#000;--color-surface-alt:#0a0a0a;--color-surface-hover:#1a1a1a;--color-text:#fff;--color-text-muted:#f4f4f4;--color-border:#fff;--color-border-strong:#fff;--color-primary:#ffe600;--color-primary-hover:#fff066;--color-primary-contrast:#000;--focus-ring:4px solid #ffe600;--shadow-card:none}[data-spacing=extra]{--line-height:1.95;--letter-spacing:.04em;--paragraph-gap:1.6em;--max-line-width:28rem}[data-line-width=narrow]{--max-line-width:24rem}*{box-sizing:border-box}html,body,#root{height:100%}html{font-size:calc(var(--font-base) * var(--font-scale))}body{font-family:var(--font-readable);background:radial-gradient(900px 450px at 100% 0%, #8aa6ff14, transparent 70%), radial-gradient(700px 400px at 0% 100%, #b598ff12, transparent 70%), var(--color-bg);color:var(--color-text);line-height:var(--line-height);letter-spacing:var(--letter-spacing);-webkit-font-smoothing:antialiased;margin:0}[data-dyslexia-font=true] body,[data-dyslexia-font=true] button,[data-dyslexia-font=true] input,[data-dyslexia-font=true] select,[data-dyslexia-font=true] textarea,.dyslexia-font-toggle{font-family:var(--font-dyslexia)}[data-theme=light] body{background:radial-gradient(900px 450px at 100% 0%, #2f4dff0f, transparent 70%), radial-gradient(700px 400px at 0% 100%, #6c4dff0d, transparent 70%), var(--color-bg)}[data-contrast=high] body{background:var(--color-bg)}[data-reduced-motion=true] *,[data-reduced-motion=true] :before,[data-reduced-motion=true] :after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}a{color:var(--color-primary);text-underline-offset:3px;text-decoration:underline}a:hover{color:var(--color-primary-hover)}:focus-visible{outline:var(--focus-ring);outline-offset:2px;border-radius:6px}button{font:inherit;cursor:pointer}h1,h2,h3,h4{margin:0 0 var(--space-3);letter-spacing:-.01em;line-height:1.25}p{margin:0 0 var(--paragraph-gap);max-width:var(--max-line-width)}input,select,textarea{font:inherit;color:var(--color-text);background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);width:100%;transition:border-color .12s,background .12s}input:hover,select:hover,textarea:hover{border-color:var(--color-border-strong)}textarea{resize:vertical;min-height:110px}label{margin-bottom:var(--space-2);color:var(--color-text);font-weight:600;display:block}fieldset{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5)}legend{padding:0 var(--space-2);letter-spacing:.02em;text-transform:uppercase;color:var(--color-text-muted);font-size:.78rem;font-weight:700}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.button{align-items:center;gap:var(--space-2);background:var(--color-primary);color:var(--color-primary-contrast);padding:var(--space-3) var(--space-5);border:1px solid var(--color-primary);border-radius:var(--radius-sm);font-weight:600;text-decoration:none;transition:background .12s,border-color .12s,transform 80ms;display:inline-flex}.button:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.button:active{transform:translateY(1px)}.button.secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border-strong)}.button.secondary:hover{background:var(--color-surface-hover)}.button.ghost{color:var(--color-text);padding:var(--space-2) var(--space-3);background:0 0;border:1px solid #0000}.button.ghost:hover{background:var(--color-surface-alt)}.button:disabled{opacity:.55;cursor:not-allowed;transform:none}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5);box-shadow:var(--shadow-card)}.stack{gap:var(--space-4);flex-direction:column;display:flex}.row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.muted{color:var(--color-text-muted)}.badge{align-items:center;gap:var(--space-1);padding:3px var(--space-3);letter-spacing:.02em;border:1px solid var(--color-border);background:var(--color-surface-alt);color:var(--color-text);border-radius:999px;font-size:.78rem;font-weight:600;display:inline-flex}.badge.status-uploaded{color:#f6b06b;background:#f6b06b26;border-color:#f6b06b66}.badge.status-processing{color:#aebfff;background:#8aa6ff29;border-color:#8aa6ff73}.badge.status-ready{color:#6fe0a6;background:#57d39129;border-color:#57d39173}.badge.status-failed{color:#ff9a9a;background:#ff7a7a29;border-color:#ff7a7a73}[data-theme=light] .badge.status-uploaded{color:#6f4f00;background:#fff5d6;border-color:#f5d97a}[data-theme=light] .badge.status-processing{color:#1c2f8a;background:#d8e4ff;border-color:#a4baff}[data-theme=light] .badge.status-ready{color:#1f7a45;background:#d6f5e3;border-color:#79d4a2}[data-theme=light] .badge.status-failed{color:#8a1f17;background:#ffd9d4;border-color:#f29283}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-header{padding:var(--space-4) var(--space-5);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--color-border);z-index:10;background:#0b0e16c7;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}[data-theme=light] .app-header{background:#ffffffd9}[data-contrast=high] .app-header{background:var(--color-bg);-webkit-backdrop-filter:none;backdrop-filter:none}.app-header .brand{color:var(--color-text);letter-spacing:-.01em;align-items:center;gap:var(--space-2);font-size:1.1rem;font-weight:700;text-decoration:none;display:inline-flex}.app-header .brand .brand-dot{background:linear-gradient(135deg, var(--color-primary), var(--color-accent));border-radius:50%;width:10px;height:10px}.app-main{width:100%;max-width:1100px;padding:var(--space-7) var(--space-5);flex:1;margin:0 auto}.workspace{max-width:1300px}.grid-2{gap:var(--space-5);grid-template-columns:1fr 1fr;display:grid}.grid-3{gap:var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}@media (width<=900px){.grid-2,.grid-3{grid-template-columns:1fr}}.checkbox-list{gap:var(--space-2) var(--space-4);grid-template-columns:1fr 1fr;margin:0;padding:0;list-style:none;display:grid}.checkbox-list label{align-items:center;gap:var(--space-2);margin:0;font-weight:500;display:flex}.checkbox-list input{width:auto}.message{gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);flex-direction:column;max-width:85%;display:flex}.message-content{line-height:var(--line-height);max-width:var(--max-line-width);overflow-wrap:anywhere;white-space:pre-wrap}.message.user{background:var(--color-primary);color:var(--color-primary-contrast);border-color:var(--color-primary);align-self:flex-end}.message.user .muted{color:var(--color-primary-contrast);opacity:.75}.message.assistant{background:var(--color-surface);align-self:flex-start;max-width:95%}[data-spacing=extra] .message{gap:var(--space-4)}[data-line-width=narrow] .message{max-width:min(95%, calc(var(--max-line-width) + 2rem))}[data-line-width=narrow] .message.assistant{max-width:min(95%, calc(var(--max-line-width) + 3rem))}[data-line-focus=true] .chat-thread .message,[data-line-focus=true] [aria-label=Study\ chat] .message{opacity:.55}[data-line-focus=true] .chat-thread .message:last-of-type,[data-line-focus=true] .chat-thread .message:hover,[data-line-focus=true] .chat-thread .message:focus-within,[data-line-focus=true] [aria-label=Study\ chat] .message:last-of-type,[data-line-focus=true] [aria-label=Study\ chat] .message:hover,[data-line-focus=true] [aria-label=Study\ chat] .message:focus-within{opacity:1}.chat-shell{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);min-height:min(70vh,640px);box-shadow:var(--shadow-card);flex-direction:column;display:flex;overflow:hidden}.card .chat-shell{box-shadow:none;background:0 0;border:none;border-radius:0;min-height:min(65vh,560px)}.chat-thread{padding:var(--space-4);gap:var(--space-3);background:var(--color-bg-elevated);border-bottom:1px solid var(--color-border);flex-direction:column;flex:1;display:flex;overflow-y:auto}.chat-thread .empty{justify-content:center;align-items:center;gap:var(--space-3);text-align:center;height:100%;color:var(--color-text-muted);flex-direction:column;display:flex}.chat-thread .empty .prompt-suggestions{justify-content:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.chat-thread .empty .prompt-suggestions button{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);padding:var(--space-2) var(--space-4);border-radius:999px}.chat-thread .empty .prompt-suggestions button:hover{background:var(--color-surface-hover)}.chat-composer{gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);display:flex}.chat-composer textarea{background:var(--color-surface-alt);flex:1;min-height:56px}.chunk{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border)}.chunk[data-line-focus=true]+.chunk{opacity:.45}.chunk[data-active=true]{background:var(--color-surface-alt)}.error-banner{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);color:#ff9a9a;background:#ff7a7a1f;border:1px solid #ff7a7a66}[data-theme=light] .error-banner{color:#8a1f17;background:#fde2dd;border-color:#f4a896}.info-banner{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);color:#aebfff;background:#8aa6ff1f;border:1px solid #8aa6ff66}[data-theme=light] .info-banner{color:#1c2f8a;background:#e6edff;border-color:#a4baff}.hero{gap:var(--space-4);padding:var(--space-7) var(--space-6);border-radius:var(--radius-lg);background:radial-gradient(600px 300px at 100% 0%, #8aa6ff2e, transparent 70%), radial-gradient(400px 250px at 0% 100%, #b598ff2e, transparent 70%), var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-card);display:grid}[data-theme=light] .hero{background:radial-gradient(600px 300px at 100% 0%, #2f4dff1a, transparent 70%), radial-gradient(400px 250px at 0% 100%, #6c4dff1a, transparent 70%), var(--color-surface)}[data-contrast=high] .hero{background:var(--color-surface)}.hero h1{letter-spacing:-.02em;margin:0;font-size:clamp(2rem,4.5vw,2.8rem)}.hero .lead{color:var(--color-text-muted);max-width:30rem;font-size:1.05rem}.feature-list{gap:var(--space-2);color:var(--color-text-muted);padding:0;list-style:none;display:grid}.feature-list li:before{content:"•";color:var(--color-primary);margin-right:var(--space-2)}.big-font-toggle{border:3px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface-alt);color:var(--color-text);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;padding:6px 16px;font-size:2.8rem;font-weight:900;line-height:1;transition:background .12s,border-color .12s,box-shadow .12s}.big-font-toggle:hover{background:var(--color-surface-hover);border-color:var(--color-primary)}.big-font-toggle.active,.big-font-toggle[aria-pressed=true]{color:#fff;background:#7c3aed;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed66}.big-font-toggle.active:hover,.big-font-toggle[aria-pressed=true]:hover{background:#6d28d9;border-color:#6d28d9}[data-contrast=high] .big-font-toggle[aria-pressed=true]{color:#000;background:#ffe600;border-color:#ffe600;box-shadow:0 0 0 3px #ffe60080}.theme-toggle{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:999px;gap:2px;padding:2px;display:inline-flex}.theme-toggle button{padding:6px var(--space-3);color:var(--color-text-muted);background:0 0;border:none;border-radius:999px;font-size:.85rem;font-weight:600}.theme-toggle button[aria-pressed=true]{background:var(--color-surface);color:var(--color-text);box-shadow:0 0 0 1px var(--color-border-strong)}[data-large-print=true] .app-header{padding:var(--space-3) var(--space-4);flex-wrap:wrap;align-items:flex-start}[data-large-print=true] .app-header .brand{flex:none;min-height:42px;font-size:.78rem}[data-large-print=true] .header-nav{align-items:stretch;gap:var(--space-2);flex:520px}[data-large-print=true] .app-header .button,[data-large-print=true] .app-header .badge,[data-large-print=true] .app-header .muted,[data-large-print=true] .big-font-toggle,[data-large-print=true] .theme-toggle button{font-size:.62rem;line-height:1.2}[data-large-print=true] .app-header .button,[data-large-print=true] .app-header .badge,[data-large-print=true] .big-font-toggle,[data-large-print=true] .theme-toggle button{min-height:42px;padding:var(--space-2) var(--space-3)}[data-large-print=true] .theme-toggle{border-radius:var(--radius-sm);align-items:stretch;gap:var(--space-1);padding:var(--space-1)}[data-large-print=true] .theme-toggle button{border-radius:calc(var(--radius-sm) - 2px);white-space:nowrap}[data-large-print=true] .app-header .muted{text-overflow:ellipsis;white-space:nowrap;align-self:center;max-width:9rem;overflow:hidden}@media (width<=760px){[data-large-print=true] .app-header,[data-large-print=true] .header-nav,.chat-composer{flex-direction:column;align-items:stretch}[data-large-print=true] .app-header .brand{min-height:auto}[data-large-print=true] .theme-toggle{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}[data-large-print=true] .app-header .button,[data-large-print=true] .app-header .badge,[data-large-print=true] .big-font-toggle{justify-content:center}}
