: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:10px;--radius-md:16px;--radius-lg:22px;--radius-pill:999px;--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{height:100%;font-size:calc(var(--font-base) * var(--font-scale))}body,#root{min-height:100dvh}body{font-family:var(--font-readable);background:linear-gradient(180deg, #171d2b 0%, #131a28 10%, #10141f 25%, #0c1019 40%, #0a0d14 55%, var(--color-bg) 70%, #070a10 85%, #03050a 100%);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)}.accessibility-toggles{flex:280px;justify-content:flex-end;align-items:stretch;min-width:0}.accessibility-toggles .accessibility-big-font-btn{text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;justify-content:center;align-self:stretch;align-items:center;min-height:3.15rem;padding:.2rem .6rem;font-size:2.1rem;font-weight:800;line-height:1.15;display:inline-flex}[data-dyslexia-font=true] .accessibility-toggles .accessibility-big-font-btn{font-family:var(--font-readable)}[data-theme=light] body{background:linear-gradient(#fff 0%,#fafbfe 15%,#f0f2f7 32%,#e3e7f0 50%,#d4dae6 66%,#c3cbd8 83%,#b2bcc9 100%)}[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{justify-content:center;align-items:center;gap:var(--space-2);background:var(--color-primary);color:var(--color-primary-contrast);box-sizing:border-box;border:1px solid var(--color-primary);border-radius:var(--radius-pill);cursor:pointer;min-height:2.4rem;padding:.5rem 1.15rem;font-size:.9rem;font-weight:600;line-height:1.2;text-decoration:none;transition:background .12s,border-color .12s,box-shadow .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);background:0 0;border:1px solid #0000;min-height:2.1rem;padding:.35rem .9rem}.button.ghost:hover{background:var(--color-surface-alt)}.button:disabled{opacity:.55;cursor:not-allowed;transform:none}.button:focus-visible{border-radius:var(--radius-pill);outline-offset:3px}.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:0;align-items:center;gap:var(--space-2);font-size:1.1rem;font-weight:700;text-decoration:none;display:inline-flex}.app-header .brand-logo{object-fit:contain;width:34px;height:34px;box-shadow:0 0 0 1px var(--color-border);background:#fff;border-radius:8px;flex:none;display:block}[data-contrast=high] .app-header .brand-logo{box-shadow:0 0 0 2px var(--color-text)}.header-nav .header-nav-tab.header-nav-tab-active{background:var(--color-surface-alt);border-color:var(--color-border-strong);box-shadow:0 0 0 2px var(--color-primary)}[data-contrast=high] .header-nav .header-nav-tab.header-nav-tab-active{box-shadow:0 0 0 3px var(--color-text)}.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}.study-response{gap:var(--space-2);white-space:normal;flex-direction:column;display:flex}.study-response p,.study-response-heading,.study-response-list{margin:0}.study-response-heading{color:var(--color-text);padding-top:var(--space-1);font-size:1rem;font-weight:800;line-height:1.35}.study-response-heading:first-child{padding-top:0}.study-response-list{gap:var(--space-1);flex-direction:column;padding-left:1.35rem;display:flex}.study-response-list li{padding-left:var(--space-1)}.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);border-radius:var(--radius-pill);padding:var(--space-2) var(--space-4);font:inherit;cursor:pointer;font-size:.9rem;font-weight:600;transition:background .12s,border-color .12s}.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)}.theme-toggle{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-pill);gap:2px;padding:2px;display:inline-flex}.theme-toggle button{padding:6px var(--space-3);color:var(--color-text-muted);border-radius:var(--radius-pill);background:0 0;border:none;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] .app-header .brand-logo{border-radius:9px;width:38px;height:38px}[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] .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] .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}.app-header .brand-logo{width:32px;height:32px}[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{justify-content:center}}.profile-page,.profile-setup-page{max-width:720px;margin:0 auto}.profile-container,.profile-setup-container,.profile-form,.profile-setup-form{gap:var(--space-5);flex-direction:column;display:flex}.profile-header,.profile-setup-header,.profile-section{gap:var(--space-3);flex-direction:column;display:flex}.profile-setup-header{text-align:center}.profile-section h2{margin:0;font-size:1.25rem}.support-cards,.support-options,.checkbox-group{gap:var(--space-3);flex-direction:column;display:flex}.support-card{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-4) var(--space-5);border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);text-align:left;cursor:pointer;transition:border-color .12s,background .12s,box-shadow .12s;display:flex}.support-card:hover,.checkbox-item:hover{background:var(--color-surface-hover)}.support-card.selected{border-color:var(--color-primary);background:#8aa6ff14;box-shadow:0 0 0 3px #8aa6ff26}.support-card-content{gap:var(--space-2);flex-direction:column;display:flex}.support-card-content h3,.support-card-content p{margin:0}.support-card-content p,.checkbox-description{color:var(--color-text-muted)}.support-card .helpful-for{color:var(--color-primary);font-size:.85rem;font-style:italic}.support-card-check{border:2px solid var(--color-border);width:28px;height:28px;color:var(--color-primary-contrast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.support-card.selected .support-card-check{background:var(--color-primary);border-color:var(--color-primary)}.checkbox-item{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;transition:background .12s;display:flex}.checkbox-item input[type=checkbox]{flex-shrink:0;width:20px;height:20px;margin-top:2px}.checkbox-content{flex-direction:column;gap:2px;display:flex}.checkbox-label{font-weight:600}.checkbox-description{font-size:.9rem}.custom-notes-input{resize:vertical;min-height:120px}.profile-actions,.profile-setup-actions{justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border);display:flex}.button.primary{background:var(--color-primary);color:var(--color-primary-contrast);border-color:var(--color-primary)}.button.primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}@media (width<=600px){.profile-actions,.profile-setup-actions{flex-direction:column}.profile-actions .button,.profile-setup-actions .button{justify-content:center;width:100%}}
