@import"https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;1,9..144,400;1,9..144,500&family=Inter:wght@400;450;500;550;600&family=JetBrains+Mono:wght@400;500&display=swap";:root{--paper: #f7f3ea;--paper-deep: #f0e9db;--paper-soft: #faf7f0;--card: #fffdf8;--ink: #241f1a;--ink-2: #5c554a;--ink-3: #8b8376;--ink-4: #a9a094;--line: #e5dccb;--line-strong: #d7cab4;--accent: #b4553a;--accent-deep: #97432c;--accent-soft: #f1e0d6;--accent-wash: #f8ede6;--gold: #c89943;--gold-soft: #f4e7ca;--sage: #6d7c62;--sage-soft: #e5e9de;--serif: "Fraunces", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--sidebar-w: 278px;--sources-w: 318px;--shadow-card: 0 18px 44px -28px rgba(61, 44, 26, .45)}*{box-sizing:border-box}html,body,#root{height:100%}html{color-scheme:light}body{margin:0;background:radial-gradient(1100px 700px at 82% -8%,rgba(200,153,67,.07),transparent 62%),radial-gradient(900px 620px at -8% 104%,rgba(180,85,58,.05),transparent 58%),var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow:hidden}::selection{background:#b4553a2e;color:var(--ink)}button,input,textarea{font:inherit;color:inherit}button{border:0;background:none;cursor:pointer;padding:0}button:disabled{cursor:not-allowed}a{color:var(--accent)}*{scrollbar-width:thin;scrollbar-color:#d3c6b0 transparent}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:#d7cbb7;border-radius:99px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:#c2b299;background-clip:content-box}.icon-button{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:9px;color:var(--ink-2);transition:background .16s ease,color .16s ease}.icon-button:hover{background:#2b27210f;color:var(--ink)}.boot-screen{height:100dvh;display:grid;place-content:center;justify-items:center;gap:18px;background:var(--paper)}.boot-mark{animation:bootPulse 1.8s ease-in-out infinite}.boot-screen p{margin:0;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}@keyframes bootPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(.96);opacity:.7}}.app-shell{display:flex;height:100dvh;overflow:hidden}.workspace{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;background:radial-gradient(760px 500px at 55% -12%,rgba(255,253,248,.9),transparent 70%)}.sidebar{width:var(--sidebar-w);flex:0 0 var(--sidebar-w);display:flex;flex-direction:column;padding:20px 14px 15px;background:linear-gradient(180deg,#f1eadc,#f5f0e5 48%,#f3ede1);border-right:1px solid var(--line);position:relative;z-index:20}.sidebar-scrim{display:none}.sidebar-head{display:flex;align-items:center;justify-content:space-between;padding:2px 6px 20px}.logo{display:flex;align-items:center;gap:10px}.logo-mark{display:block;border-radius:10px;box-shadow:0 2px 6px #2b272124}.logo-word{font-family:var(--serif);font-size:20px;font-weight:550;letter-spacing:-.025em;color:var(--ink)}.sidebar-close{display:none}.new-study{display:flex;align-items:center;gap:9px;width:100%;padding:10px 12px;border:1px solid var(--line-strong);border-radius:11px;background:linear-gradient(180deg,#fffdf8,#fbf7ee);box-shadow:0 1px #fffc inset,0 4px 12px -8px #3d2c1a66;color:var(--ink);font-size:13px;font-weight:550;transition:border-color .16s ease,transform .16s ease,background .16s ease}.new-study:hover{border-color:#c7b69b;background:#fffefb;transform:translateY(-1px)}.new-study svg{color:var(--accent)}.search-field{display:flex;align-items:center;gap:8px;margin:14px 2px 18px;padding:7px 10px;border-radius:9px;color:var(--ink-3);background:#fffdf88c;border:1px solid transparent;transition:border-color .16s ease,background .16s ease}.search-field:focus-within{border-color:var(--line-strong);background:var(--card)}.search-field input{width:100%;border:0;outline:0;background:none;font-size:12.5px;color:var(--ink)}.search-field input::placeholder{color:var(--ink-4)}.sidebar-label{display:flex;align-items:center;justify-content:space-between;padding:0 8px 8px;font-size:9.5px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-3)}.sidebar-label .count{font-size:10px;letter-spacing:0;color:var(--ink-4)}.session-list{flex:1;overflow-y:auto;overflow-x:hidden;padding:0 0 12px;margin:0 -2px}.sidebar-empty{padding:14px 10px;margin:0;font-size:12px;line-height:1.55;color:var(--ink-3)}.session-item{position:relative;display:flex;align-items:stretch;border-radius:10px;margin-bottom:2px;border:1px solid transparent;transition:background .15s ease,border-color .15s ease}.session-item:hover{background:#fffdf899}.session-item.is-active{background:var(--card);border-color:var(--line);box-shadow:0 3px 10px -8px #3d2c1a80}.session-main{flex:1;min-width:0;text-align:left;padding:9px 8px 9px 11px;display:flex;flex-direction:column;gap:3px}.session-item.is-active .session-main{box-shadow:inset 2px 0 0 var(--accent);border-radius:10px}.session-title{display:block;font-size:12.8px;font-weight:500;line-height:1.35;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-meta{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--ink-3);white-space:nowrap;overflow:hidden}.session-meta svg{color:var(--ink-4)}.dot-sep{margin:0 1px}.session-delete{display:grid;place-items:center;width:28px;border-radius:8px;margin:8px 5px 8px 0;color:var(--ink-4);opacity:0;transition:opacity .15s ease,color .15s ease,background .15s ease}.session-item:hover .session-delete{opacity:1}.session-delete:hover{color:#a33a2b;background:#a33a2b14}.sidebar-foot{padding:12px 2px 0;border-top:1px solid rgba(215,202,180,.7)}.foot-card{display:flex;gap:9px;padding:10px 10px 9px;border-radius:10px;background:#fffdf86b}.foot-dot{width:6px;height:6px;margin-top:5px;flex:0 0 auto;border-radius:50%;background:var(--sage);box-shadow:0 0 0 3px #6d7c6224}.foot-card strong{display:block;font-size:10.5px;font-weight:600;color:var(--ink-2)}.foot-card p{margin:3px 0 0;font-size:10px;line-height:1.45;color:var(--ink-3)}.foot-signature{margin:10px 0 0;text-align:center;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4)}.topbar{display:flex;align-items:center;gap:12px;height:68px;flex:0 0 68px;padding:0 26px;border-bottom:1px solid rgba(229,220,203,.85);background:#f7f3eab8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:relative;z-index:10}.menu-button{display:none}.study-heading{min-width:0;flex:1}.title-button{display:block;max-width:100%;font-family:var(--serif);font-size:19px;font-weight:550;letter-spacing:-.02em;line-height:1.2;color:var(--ink);text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:4px}.title-button:hover{color:var(--accent-deep)}.title-button.is-static{color:var(--ink-2);cursor:default}.title-input{width:min(460px,100%);font-family:var(--serif);font-size:19px;font-weight:550;letter-spacing:-.02em;color:var(--ink);background:var(--card);border:1px solid var(--line-strong);border-radius:7px;outline:0;padding:2px 8px;margin-left:-8px;box-shadow:0 0 0 3px #b4553a17}.study-meta{margin:3px 0 0;font-size:10.5px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-actions{display:flex;align-items:center;gap:7px;flex:0 0 auto}.sources-toggle{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 10px;border:1px solid transparent;border-radius:9px;font-size:11.5px;font-weight:500;color:var(--ink-2);transition:background .16s ease,border-color .16s ease,color .16s ease}.sources-toggle:hover{background:#fffdf8b3;border-color:var(--line)}.sources-toggle.is-on{background:var(--card);border-color:var(--line);color:var(--ink)}.source-count{display:inline-grid;place-items:center;min-width:17px;height:17px;padding:0 4px;border-radius:99px;background:var(--accent-soft);color:var(--accent-deep);font-size:9.5px;font-weight:600}.new-mini{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:9px;background:#fffdf8b3;color:var(--ink-2);transition:border-color .16s ease,color .16s ease}.new-mini:hover{border-color:var(--line-strong);color:var(--accent)}.conversation{flex:1;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scroll-behavior:smooth}.thread{max-width:820px;margin:0 auto;padding:26px 38px 40px}.thread-date{display:flex;align-items:center;gap:14px;margin:2px 0 30px;font-size:9.5px;font-weight:550;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-4)}.thread-date:before,.thread-date:after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--line),transparent)}.thread-date span{max-width:60%;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.study-loading{display:flex;justify-content:center;gap:6px;padding:90px 0}.study-loading-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:dotWave 1.2s ease-in-out infinite}.study-loading-dot:nth-child(2){animation-delay:.15s}.study-loading-dot:nth-child(3){animation-delay:.3s}@keyframes dotWave{0%,60%,to{transform:translateY(0);opacity:.35}30%{transform:translateY(-5px);opacity:1}}.message{animation:rise .32s cubic-bezier(.22,.72,.24,1) both}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.message-user{display:flex;flex-direction:column;align-items:flex-end;margin:0 0 34px}.user-bubble{max-width:78%;padding:11px 15px;border-radius:17px 17px 5px;background:linear-gradient(180deg,#f0e8d9,#ece3d2);border:1px solid #e0d4bf;box-shadow:0 6px 18px -16px #3d2c1ab3}.user-bubble p{margin:0;font-size:14.5px;line-height:1.58;color:#322b22;white-space:pre-wrap;overflow-wrap:anywhere}.user-mode{margin:6px 4px 0 0;font-size:9px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-4)}.message-assistant{margin:0 0 42px}.assistant-head{display:flex;align-items:center;gap:8px;margin-bottom:11px;color:var(--ink-2)}.assistant-head .logo-mark{box-shadow:none}.assistant-name{font-size:12px;font-weight:600;letter-spacing:-.01em;color:var(--ink)}.assistant-mode{padding:2.5px 7px;border-radius:99px;background:#efe7d8;border:1px solid #e3d8c4;font-size:9px;font-weight:550;letter-spacing:.07em;text-transform:uppercase;color:#7c6a53}.assistant-sources{display:inline-flex;align-items:center;gap:4px;margin-left:auto;font-size:10px;color:var(--ink-4);white-space:nowrap}.assistant-sources svg{opacity:.75}.thinking{display:flex;align-items:center;gap:5px;padding:6px 0 2px;color:var(--ink-3)}.thinking span{width:5px;height:5px;border-radius:50%;background:var(--accent);animation:dotWave 1.2s ease-in-out infinite}.thinking span:nth-child(2){animation-delay:.15s}.thinking span:nth-child(3){animation-delay:.3s}.thinking em{margin-left:5px;font-style:normal;font-size:11.5px;color:var(--ink-3)}.stream-caret{display:inline-block;width:7px;height:16px;margin:0 0 -3px 3px;border-radius:1.5px;background:var(--accent);animation:blink 1.05s steps(1) infinite}@keyframes blink{50%{opacity:0}}.message-actions{display:flex;align-items:center;gap:4px;margin-top:13px;opacity:0;transform:translateY(2px);transition:opacity .18s ease,transform .18s ease}.message-assistant:hover .message-actions,.message-assistant:focus-within .message-actions{opacity:1;transform:translateY(0)}.message-actions button{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:7px;font-size:10.5px;color:var(--ink-3);transition:background .15s ease,color .15s ease}.message-actions button:hover{background:#2b27210e;color:var(--ink)}.inline-error{display:flex;align-items:flex-start;gap:8px;margin-top:12px;padding:10px 12px;border:1px solid #e7c4b8;border-radius:9px;background:#fbefe9;color:#8f3a2a;font-size:12.5px;line-height:1.5}.inline-error svg{flex:0 0 auto;margin-top:2px}.inline-note{margin-top:10px;font-size:11px;color:var(--ink-3);font-style:italic}.thread-error{display:flex;align-items:center;gap:8px;max-width:520px;margin:0 auto 20px;padding:9px 12px;border-radius:9px;border:1px solid #e7c4b8;background:#fbefe9;color:#8f3a2a;font-size:12px}.thread-error button{margin-left:auto;display:grid;place-items:center;color:inherit;opacity:.7}.prose{font-size:15.6px;line-height:1.72;color:#342d25;overflow-wrap:break-word}.prose>:first-child{margin-top:0}.prose>:last-child{margin-bottom:0}.prose p{margin:0 0 14px}.prose h1,.prose h2,.prose h3,.prose h4{font-family:var(--serif);font-weight:600;color:var(--ink);text-wrap:balance}.prose h1{font-size:31px;line-height:1.12;letter-spacing:-.035em;margin:8px 0 14px}.prose h2{font-size:22.5px;line-height:1.2;letter-spacing:-.025em;margin:36px 0 12px;padding-top:4px}.prose h2:before{content:"";display:block;width:26px;height:2px;margin-bottom:13px;border-radius:2px;background:var(--accent);opacity:.55}.prose h3{font-size:17.5px;line-height:1.3;letter-spacing:-.012em;margin:24px 0 8px}.prose h4{font-size:14px;font-family:var(--sans);font-weight:650;letter-spacing:.01em;margin:20px 0 6px}.prose strong{font-weight:600;color:#211c16}.prose em{font-style:italic}.prose a{color:var(--accent-deep);text-decoration:underline;text-decoration-color:#b4553a59;text-underline-offset:2px}.prose ul,.prose ol{margin:0 0 15px;padding-left:22px}.prose li{margin:5px 0;padding-left:2px}.prose li::marker{color:var(--accent)}.prose li>ul,.prose li>ol{margin:5px 0 4px}.prose blockquote{margin:0 0 24px;padding:14px 18px;border-left:3px solid var(--accent);border-radius:0 10px 10px 0;background:linear-gradient(100deg,#f4ecdd,#faf6ec);color:#4c4438}.prose blockquote p{margin:0;font-family:var(--serif);font-size:17.5px;line-height:1.55;letter-spacing:-.012em}.prose blockquote p+p{margin-top:9px}.prose blockquote strong{color:#362f26}.prose blockquote code{font-size:.82em}.prose hr{border:0;border-top:1px dashed var(--line-strong);margin:28px 0}.prose code{padding:1.5px 5px;border-radius:4.5px;background:#efe7d8;color:#87402c;font-family:var(--mono);font-size:.845em}.prose pre{margin:16px 0 20px;padding:15px 17px;border-radius:11px;background:#2b2721;color:#f2ecdf;overflow-x:auto;font-size:12.5px;line-height:1.65}.prose pre code{background:none;color:inherit;padding:0;font-size:inherit}.table-scroll{margin:15px 0 22px;overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:#fffdf873}.table-scroll table{margin:0;border:0}.prose table{width:100%;margin:15px 0 22px;border-collapse:collapse;font-size:13.5px;line-height:1.5;white-space:normal}.prose thead{background:#f1eadc}.prose th{font-size:9.5px;font-weight:650;letter-spacing:.1em;text-transform:uppercase;color:#6f6453;text-align:left;white-space:nowrap}.prose th,.prose td{padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}.prose tbody tr:last-child td{border-bottom:0}.prose tbody tr:nth-child(2n){background:#fffdf88c}.prose td:first-child{color:var(--ink-3);font-size:12.5px}.prose details{margin:16px 0 20px;padding:12px 15px;border:1px solid var(--line);border-radius:10px;background:#fbf8f1}.prose details[open]{padding-bottom:4px}.prose summary{cursor:pointer;font-size:12.5px;font-weight:600;color:var(--ink-2);list-style:none}.prose summary::-webkit-details-marker{display:none}.prose summary:before{content:"+";display:inline-grid;place-items:center;width:17px;height:17px;margin-right:8px;border-radius:5px;background:var(--accent-soft);color:var(--accent-deep);font-size:12px;font-weight:500;vertical-align:-2px}.prose details[open] summary:before{content:"−"}.prose details>:not(summary){margin-top:12px}.prose details ul,.prose details ol{margin-bottom:10px}.prose img{max-width:100%;border-radius:8px}.welcome{min-height:100%;display:flex;align-items:center;justify-content:center;padding:30px 32px}.welcome-inner{width:100%;max-width:690px;margin:0 auto;text-align:center;animation:rise .5s cubic-bezier(.22,.72,.24,1) both}.welcome-ready .welcome-inner{max-width:700px}.hero-mark{position:relative;display:flex;width:max-content;margin:0 auto 22px}.hero-mark .logo-mark{box-shadow:0 14px 30px -16px #2b27218c}.hero-spark{position:absolute;top:-7px;right:-9px;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--gold);color:#fffdf8;border:2px solid var(--paper);box-shadow:0 4px 10px -4px #c89943b3}.eyebrow{display:inline-flex;align-items:center;gap:7px;margin:0 0 14px;font-size:10px;font-weight:600;letter-spacing:.19em;text-transform:uppercase;color:var(--accent)}.ready-dot{width:5px;height:5px;border-radius:50%;background:var(--sage);box-shadow:0 0 0 3px #6d7c6226}.welcome h1{margin:0 0 17px;font-family:var(--serif);font-size:clamp(42px,5.6vw,58px);font-weight:500;line-height:.99;letter-spacing:-.045em;color:var(--ink)}.welcome h1 em{font-style:italic;font-weight:450;color:var(--accent)}.welcome-ready h1{font-size:clamp(38px,4.6vw,50px)}.welcome .lede{max-width:510px;margin:0 auto 30px;font-size:14.8px;line-height:1.68;color:var(--ink-2);text-wrap:pretty}.dropzone{display:flex;align-items:center;gap:14px;width:100%;max-width:560px;margin:0 auto;padding:16px 17px;text-align:left;border:1.5px dashed #d2c3a9;border-radius:15px;background:#fffdf8d1;box-shadow:0 12px 30px -26px #3d2c1a8c;transition:border-color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease}.dropzone:hover{border-color:var(--accent);background:#fffdf9;transform:translateY(-1px);box-shadow:0 16px 36px -26px #3d2c1a99}.dropzone.is-busy{border-style:solid;border-color:var(--line-strong)}.dropzone-icon{display:grid;place-items:center;width:45px;height:45px;flex:0 0 45px;border-radius:12px;background:var(--accent-soft);color:var(--accent-deep)}.dropzone.is-busy .dropzone-icon{animation:bootPulse 1.6s ease-in-out infinite}.dropzone-text{flex:1;min-width:0}.dropzone-text strong{display:block;font-size:13.8px;font-weight:600;color:var(--ink)}.dropzone-text small{display:block;margin-top:2px;font-size:11.5px;color:var(--ink-3)}.dropzone-hint{flex:0 0 auto;padding:4px 7px;border:1px solid var(--line);border-radius:6px;font-size:8.5px;font-weight:550;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap}.hero-features{display:flex;flex-wrap:wrap;justify-content:center;gap:9px 20px;margin-top:24px}.hero-features span{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--ink-3)}.hero-features svg{color:var(--accent);opacity:.8}.starter-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:28px auto 20px;text-align:left}.starter-card{position:relative;display:flex;text-align:left;align-items:flex-start;gap:11px;padding:15px 15px 16px;border:1px solid var(--line);border-radius:13px;background:#fffdf8c7;box-shadow:0 10px 26px -26px #3d2c1a8c;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}.starter-card:hover{transform:translateY(-2px);border-color:#cbb99d;background:var(--card);box-shadow:0 18px 36px -26px #3d2c1aa6}.starter-icon{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border-radius:10px;background:var(--accent-soft);color:var(--accent-deep)}.starter-card:nth-child(2) .starter-icon{background:var(--sage-soft);color:#55644b}.starter-card:nth-child(3) .starter-icon{background:var(--gold-soft);color:#8d6a24}.starter-card:nth-child(4) .starter-icon{background:#ece6dc;color:#6c6152}.starter-body{display:flex;flex-direction:column;gap:3px;padding-right:4px}.starter-body strong{font-size:13px;font-weight:600;color:var(--ink);letter-spacing:-.01em}.starter-body small{font-size:11px;line-height:1.45;color:var(--ink-3)}.starter-tag{position:absolute;top:9px;right:9px;padding:2px 6px;border-radius:99px;background:var(--gold-soft);color:#86651f;font-size:8px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.starter-arrow{position:absolute;right:12px;bottom:11px;color:var(--ink-4);opacity:0;transform:translate(-3px,3px);transition:opacity .18s ease,transform .18s ease}.starter-card:hover .starter-arrow{opacity:1;transform:translate(0);color:var(--accent)}.starter-index{display:none}.doc-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin-top:4px}.doc-pill{display:inline-flex;align-items:center;gap:6px;max-width:240px;padding:5px 9px;border:1px solid var(--line);border-radius:7px;background:#fffdf899;font-size:10.5px;color:var(--ink-2);transition:border-color .15s ease,background .15s ease}.doc-pill:hover{border-color:var(--line-strong);background:var(--card)}.doc-pill svg{color:var(--accent);flex:0 0 auto}.doc-pill span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-pill small{flex:0 0 auto;font-size:9px;color:var(--ink-4)}.composer-dock{flex:0 0 auto;padding:6px 28px 14px;background:linear-gradient(180deg,#f7f3ea00,#f7f3eaf0 24%);position:relative;z-index:12}.composer-wrap{max-width:820px;margin:0 auto}.composer{position:relative;padding:12px 11px 10px 16px;border:1px solid #dcd0bb;border-radius:17px;background:var(--card);box-shadow:0 1px #fffffff2 inset,0 14px 34px -24px #3d2c1a99,0 2px 6px -4px #3d2c1a29;transition:border-color .18s ease,box-shadow .18s ease}.composer:focus-within{border-color:#c7a992;box-shadow:0 1px #fffffff2 inset,0 16px 38px -24px #3d2c1a9e,0 0 0 3.5px #b4553a13}.composer textarea{display:block;width:100%;min-height:25px;max-height:208px;padding:1px 4px 8px 0;border:0;outline:0;resize:none;background:transparent;font-size:14.8px;line-height:1.55;color:var(--ink);overflow-y:auto}.composer textarea::placeholder{color:var(--ink-4)}.composer-bar{display:flex;align-items:center;justify-content:space-between;gap:10px}.composer-left{display:flex;align-items:center;gap:6px;min-width:0}.mode-picker{position:relative}.mode-trigger{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 9px;border:1px solid #e3d9c8;border-radius:8px;background:#f8f3e9;font-size:11.5px;font-weight:500;color:var(--ink-2);transition:background .15s ease,border-color .15s ease,color .15s ease}.mode-trigger:hover,.mode-trigger.is-open{background:#f4ece0;border-color:#d5c7b0;color:var(--ink)}.mode-trigger svg:first-child{color:var(--accent)}.mode-trigger .chevron{color:var(--ink-4);margin-left:1px}.mode-menu{position:absolute;left:0;bottom:calc(100% + 8px);width:262px;padding:5px;border:1px solid var(--line-strong);border-radius:13px;background:var(--card);box-shadow:0 24px 60px -18px #32241466,0 2px 8px -4px #32241433;z-index:40;animation:menuIn .16s cubic-bezier(.22,.72,.24,1) both}@keyframes menuIn{0%{opacity:0;transform:translateY(4px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.mode-option{display:flex;align-items:center;gap:10px;width:100%;padding:7px 8px;border-radius:8px;text-align:left;transition:background .13s ease}.mode-option:hover{background:#f7f1e6}.mode-option.is-active{background:var(--accent-wash)}.mode-option-icon{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border-radius:7px;background:#f0e8d9;color:var(--ink-2)}.mode-option.is-active .mode-option-icon{background:var(--accent-soft);color:var(--accent-deep)}.mode-option strong{display:block;font-size:12px;font-weight:550;color:var(--ink)}.mode-option small{display:block;margin-top:1px;font-size:10px;color:var(--ink-3)}.attach-button{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 8px;border:1px solid transparent;border-radius:8px;font-size:11.5px;color:var(--ink-3);transition:background .15s ease,color .15s ease,border-color .15s ease}.attach-button:hover{background:#f7f1e6;border-color:#e6dccb;color:var(--ink)}.attach-label{display:inline}.send-button{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border-radius:9.5px;background:var(--accent);color:#fffaf3;box-shadow:0 6px 14px -8px #b4553ad9,0 1px #ffffff29 inset;transition:background .15s ease,transform .15s ease,opacity .15s ease}.send-button:hover:not(:disabled){background:var(--accent-deep);transform:translateY(-1px)}.send-button:active:not(:disabled){transform:translateY(0)}.send-button:disabled{opacity:.32;box-shadow:none}.send-button.stop{background:var(--ink);box-shadow:0 6px 14px -8px #241f1ab3}.composer-note{margin:8px 0 0;text-align:center;font-size:9.8px;color:var(--ink-4)}.sources{width:var(--sources-w);flex:0 0 var(--sources-w);display:flex;flex-direction:column;padding:20px 16px 15px;border-left:1px solid var(--line);background:linear-gradient(180deg,#f8f4eb,#faf7f0);overflow:hidden;transition:width .28s cubic-bezier(.4,0,.2,1),flex-basis .28s cubic-bezier(.4,0,.2,1),padding .24s ease,opacity .22s ease}.sources:not(.is-open){width:0;flex-basis:0;padding-left:0;padding-right:0;opacity:0;border-left:0;pointer-events:none}.sources-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:2px 2px 14px}.sources-head h2{margin:0;font-family:var(--serif);font-size:19px;font-weight:600;letter-spacing:-.02em}.sources-head p{margin:2px 0 0;font-size:10.5px;color:var(--ink-3)}.sources-close{display:none}.add-source{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;padding:8px;border:1px solid var(--line-strong);border-radius:9px;background:#fffdf8b3;font-size:11.5px;font-weight:500;color:var(--ink-2);transition:border-color .15s ease,background .15s ease,color .15s ease}.add-source:hover{border-color:#c7b69b;background:var(--card);color:var(--ink)}.add-source svg{color:var(--accent)}.source-list{flex:1;overflow-y:auto;margin:12px -3px;padding:0 3px}.sources-empty{padding:22px 14px;text-align:center;border:1px dashed var(--line-strong);border-radius:11px;margin-top:4px}.sources-empty-mark{display:grid;place-items:center;width:40px;height:40px;margin:0 auto 10px;border-radius:10px;background:var(--accent-soft);color:var(--accent-deep)}.sources-empty p{margin:0;font-size:11px;line-height:1.55;color:var(--ink-3)}.source-card{display:flex;gap:10px;padding:11px;margin-bottom:7px;border:1px solid var(--line);border-radius:11px;background:#fffdf8b8;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.source-card:hover{border-color:#d8c9b2;background:var(--card);box-shadow:0 8px 20px -20px #3d2c1a99}.source-icon{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:37px;height:44px;flex:0 0 37px;border-radius:8px;background:var(--accent-soft);border:1px solid #e7cdc0;color:var(--accent-deep)}.source-icon span{font-size:7px;font-weight:650;letter-spacing:.08em}.source-info{flex:1;min-width:0}.source-name{display:block;width:100%;text-align:left;font-size:12px;font-weight:550;line-height:1.35;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.source-name:hover{color:var(--accent-deep)}.source-info>p{margin:3px 0 0;font-size:9.5px;color:var(--ink-3)}.source-info>p span{margin:0 2px;color:var(--ink-4)}.source-actions{display:flex;gap:10px;margin-top:7px}.source-actions button{display:inline-flex;align-items:center;gap:3px;font-size:9.5px;color:var(--ink-3);transition:color .14s ease}.source-actions button:hover{color:var(--accent-deep)}.source-actions button.danger:hover{color:#a33a2b}.sources-foot{display:flex;align-items:flex-start;gap:8px;padding:12px 2px 0;border-top:1px solid rgba(215,202,180,.7);color:var(--ink-3)}.sources-foot svg{flex:0 0 auto;margin-top:1px;color:var(--gold)}.sources-foot p{margin:0;font-size:9.8px;line-height:1.5}.sources-foot code{font-family:var(--mono);font-size:9px;color:var(--ink-2);background:#efe7d8;padding:1px 3px;border-radius:3px}.drag-overlay{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:24px;background:#f7f3eac7;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);animation:fadeIn .15s ease both}.drag-overlay:before{content:"";position:absolute;inset:16px;border:2px dashed #c7a992;border-radius:22px;pointer-events:none}.drag-card{position:relative;max-width:360px;padding:32px 30px;text-align:center;border:1px solid var(--line-strong);border-radius:18px;background:var(--card);box-shadow:0 30px 70px -30px #3d2c1a80}.drag-icon{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 14px;border-radius:14px;background:var(--accent-soft);color:var(--accent-deep)}.drag-card h3{margin:0 0 6px;font-family:var(--serif);font-size:24px;font-weight:550;letter-spacing:-.03em}.drag-card p{margin:0;font-size:12.5px;line-height:1.55;color:var(--ink-3)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-backdrop{position:fixed;inset:0;z-index:150;display:grid;place-items:center;padding:26px;background:#241f1a70;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fadeIn .18s ease both}.pdf-modal{display:flex;flex-direction:column;width:min(1000px,100%);height:min(88vh,1000px);border-radius:17px;overflow:hidden;background:var(--paper-soft);box-shadow:0 40px 100px -30px #140e0899;animation:modalIn .25s cubic-bezier(.22,.72,.24,1) both}@keyframes modalIn{0%{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.pdf-modal-head{display:flex;align-items:center;gap:12px;padding:11px 14px;border-bottom:1px solid var(--line);background:var(--paper-soft)}.pdf-modal-title{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.pdf-modal-badge{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border-radius:8px;background:var(--accent-soft);color:var(--accent-deep)}.pdf-modal-title strong{display:block;font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdf-modal-title p{margin:2px 0 0;font-size:9.5px;color:var(--ink-3)}.pdf-modal-actions{display:flex;align-items:center;gap:2px}.pdf-modal-actions a,.pdf-modal-actions button{display:grid;place-items:center;width:30px;height:30px;border-radius:7px;color:var(--ink-2);transition:background .14s ease,color .14s ease}.pdf-modal-actions a:hover,.pdf-modal-actions button:hover{background:#2b27210f;color:var(--ink)}.pdf-frame{flex:1;width:100%;border:0;background:#525659}.toast{position:fixed;left:50%;bottom:26px;z-index:300;transform:translate(-50%);padding:9px 15px;border-radius:9px;background:#2b2721;color:#f8f3e9;font-size:11.5px;box-shadow:0 14px 34px -14px #140e0899;animation:toastIn .25s cubic-bezier(.22,.72,.24,1) both;max-width:calc(100vw - 32px)}.toast.is-error{background:#8f3a2a}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}@media(max-width:1180px){:root{--sources-w: 300px}.thread{padding-left:30px;padding-right:30px}}@media(max-width:1080px){.sources{position:fixed;top:0;right:0;bottom:0;z-index:70;width:min(340px,92vw);flex-basis:auto;padding:20px 16px 15px;border-left:1px solid var(--line);box-shadow:-20px 0 60px -30px #231c1466;transform:translate(102%);opacity:1;transition:transform .28s cubic-bezier(.4,0,.2,1);pointer-events:auto}.sources:not(.is-open){width:min(340px,92vw);padding:20px 16px 15px;opacity:1;border-left:1px solid var(--line);pointer-events:none}.sources.is-open{transform:translate(0)}.sources-close{display:inline-grid}}@media(max-width:900px){.sidebar{position:fixed;inset:0 auto 0 0;z-index:90;width:292px;flex-basis:292px;transform:translate(-103%);transition:transform .28s cubic-bezier(.4,0,.2,1);box-shadow:24px 0 70px -34px #231c1473}.sidebar.is-open{transform:translate(0)}.sidebar-scrim{display:block;position:fixed;inset:0;z-index:85;background:#241f1a57;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .24s ease}.sidebar-scrim.is-open{opacity:1;pointer-events:auto}.sidebar-close,.menu-button{display:inline-grid}.topbar{height:62px;flex-basis:62px;padding:0 16px;gap:9px}.title-button,.title-input{font-size:17.5px}.conversation{scroll-padding-bottom:20px}.thread{padding:22px 20px 30px}.composer-dock{padding:4px 14px 12px}.welcome{padding:24px 20px}}@media(max-width:680px){.sources-toggle span:not(.source-count){display:none}.sources-toggle{padding:0 8px}.sources-toggle.has-count{gap:5px}.study-meta{font-size:9.5px}.welcome{padding:20px 15px}.welcome h1{font-size:42px}.welcome-ready h1{font-size:38px}.welcome .lede{font-size:13.8px;margin-bottom:24px}.hero-mark{margin-bottom:16px}.dropzone{padding:13px;gap:11px}.dropzone-hint{display:none}.dropzone-icon{width:40px;height:40px;flex-basis:40px}.starter-grid{grid-template-columns:1fr;gap:8px;margin-top:22px}.starter-card{padding:12px 13px}.starter-body small{font-size:10.5px}.thread{padding:18px 14px 26px}.thread-date{margin-bottom:22px}.message-user{margin-bottom:26px}.user-bubble{max-width:90%}.message-assistant{margin-bottom:32px}.assistant-sources{display:none}.prose{font-size:15px;line-height:1.68}.prose h1{font-size:26px}.prose h2{font-size:20px;margin-top:30px}.prose h3{font-size:16.5px}.prose blockquote p{font-size:16px}.prose th,.prose td{padding:7px 9px}.prose table{font-size:12.5px}.message-actions{opacity:1;transform:none}.composer{padding:10px 9px 8px 13px;border-radius:15px}.composer textarea{font-size:14.2px}.attach-label{display:none}.composer-note{font-size:9px}.modal-backdrop{padding:10px}.pdf-modal{height:92vh;border-radius:13px}.pdf-modal-title p{display:none}.topbar-actions{gap:4px}}@media(max-width:420px){.welcome h1{font-size:37px}.welcome-ready h1{font-size:34px}.welcome .lede{font-size:13.2px}.hero-features{gap:7px 14px}.hero-features span{font-size:10px}}@media(hover:none){.message-actions{opacity:1;transform:none}.session-delete{opacity:.55}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
