:root{--ink:#17221f;--ink-soft:#46534e;--muted:#7b8580;--paper:#f3f4ee;--white:#fffefa;--line:#e2e6dc;--lime:#d3f36b;--sage:#e9eee2;--amber:#e59e52;--rose:#aa4a40;--mono:"DM Mono",monospace;--sans:"DM Sans",sans-serif;--display:"Manrope",sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}
button,input,textarea{font:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
.app-shell{max-width:1520px;margin:0 auto;padding:0 54px}
.topbar{height:78px;border-bottom:1px solid rgba(23,34,31,.11);display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:10px;min-width:205px}
.brand-mark{width:36px;height:36px;display:grid;place-items:center;color:var(--ink)}
.brand-mark svg{width:36px;height:36px}
.brand-name{font-family:var(--display);font-size:16px;line-height:1;font-weight:800;letter-spacing:-.7px}
.brand-name span{font-weight:500;color:#727c77;margin-left:4px}
.topnav{display:flex;align-items:center;gap:34px;height:100%}
.topnav a{height:100%;display:flex;align-items:center;color:#7b8580;font-size:13px;font-weight:600;position:relative}
.topnav a.active,.topnav a:hover{color:var(--ink)}
.topnav a.active:after{content:"";height:2px;position:absolute;bottom:-1px;left:0;right:0;background:var(--ink)}
.local-status{min-width:205px;display:flex;justify-content:flex-end;align-items:center;gap:8px;color:#6d7973;font-size:11px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.3px}
.status-dot{width:7px;height:7px;border-radius:50%;background:#80ae43;box-shadow:0 0 0 3px rgba(128,174,67,.14)}
.status-dot.offline{background:#cf745d;box-shadow:0 0 0 3px rgba(207,116,93,.14)}
.hero{min-height:236px;display:flex;justify-content:space-between;align-items:center;padding:38px 0 34px;gap:40px}
.hero-copy{max-width:650px}
.eyebrow{margin:0 0 14px;color:#65716a;font-family:var(--mono);font-size:10px;letter-spacing:1px;font-weight:500}
.eyebrow-line{display:inline-block;width:19px;height:1px;background:#7f8e78;vertical-align:middle;margin-right:7px}
.hero h1{margin:0;font-family:var(--display);font-size:46px;line-height:1.03;letter-spacing:-2.5px;font-weight:700}
.hero h1 em,.empty-work h2 em{font-style:normal;color:#68786a}
.hero-description{max-width:475px;margin:13px 0 0;color:#68756e;font-size:14px;line-height:1.65}
.hero-note{min-width:282px;margin-right:36px;display:flex;align-items:flex-start;gap:14px;padding:17px 0 17px 20px;border-left:1px solid #cdd4c8}
.note-icon{width:30px;height:30px;border-radius:50%;background:var(--lime);display:grid;place-items:center;font-size:17px}
.hero-note strong{font-family:var(--display);font-size:13px}
.hero-note p{margin:6px 0 0;font-size:12px;line-height:1.6;color:#79837c}
.workspace{display:grid;grid-template-columns:318px minmax(0,1fr);gap:24px;align-items:start}
.library,.question-card,.result-card{background:var(--white);border:1px solid #e7e9e1;border-radius:12px;box-shadow:0 2px 5px rgba(31,46,37,.025)}
.library{padding:21px 19px 18px;min-height:570px}
.panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}
.panel-heading h2{font-family:var(--display);font-size:18px;letter-spacing:-.5px;margin:0}
.eyebrow.small{font-size:9px;letter-spacing:.9px;margin-bottom:6px}
.count-badge{display:inline-grid;place-items:center;vertical-align:2px;background:#edf1e7;color:#667368;min-width:21px;height:20px;border-radius:10px;font:10px var(--mono);margin-left:4px}
.lock-badge{font:9px var(--mono);letter-spacing:.4px;color:#73836d;border:1px solid #dce5d4;border-radius:30px;padding:5px 8px}
.dropzone{min-height:147px;border:1px dashed #c9d0c4;border-radius:9px;background:#fafbf6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center;cursor:pointer;transition:.2s ease}
.dropzone:hover,.dropzone.dragover{border-color:#8da765;background:#f5f8ec}
.upload-icon{width:30px;height:30px;border-radius:9px;background:var(--sage);display:grid;place-items:center;color:#5d6c60;margin-bottom:3px}
.upload-icon svg{width:17px;height:17px}
.dropzone strong{font-family:var(--display);font-size:12px}
.dropzone span:not(.upload-icon){font-size:11px;color:#7b8580}
.dropzone u{color:#45564a;text-underline-offset:2px}
.dropzone small{font-size:9px;color:#969e96;margin-top:4px}
.dropzone input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.demo-button{width:100%;margin-top:10px;padding:10px;border:1px solid #dfe5d8;border-radius:8px;background:#f5f8eb;color:#41513e;font-family:var(--display);font-size:11px;font-weight:700;transition:.18s ease}
.demo-button:hover{background:var(--lime);border-color:var(--lime)}
.demo-button span{margin-right:5px}
.microcopy{margin:8px 0 0;color:#89938c;font-size:10px;line-height:1.5;text-align:center}
.section-divider{height:1px;background:#edf0e9;margin:18px 0 15px}
.subheading-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.subheading-row h3{margin:0;font:700 11px var(--display)}
.subheading-row>span{font:9px var(--mono);color:#929a93}
.document-list,.plan-history{display:flex;flex-direction:column;gap:7px}
.quiet-empty{font-size:11px;color:#909991;text-align:center;padding:14px 8px;border:1px solid #eff1eb;border-radius:7px}
.document-row{display:grid;grid-template-columns:30px minmax(0,1fr) 24px;align-items:center;gap:8px;border:1px solid #edf0e9;border-radius:8px;padding:8px 7px}
.file-icon{width:29px;height:31px;background:#f0f3eb;border-radius:6px;display:grid;place-items:center;color:#687668;font:8px var(--mono);text-transform:uppercase}
.file-meta{min-width:0}
.file-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:700;color:#34413a}
.file-detail{display:flex;gap:6px;align-items:center;color:#929b94;font-size:9px;margin-top:4px}
.demo-tag{font:8px var(--mono);color:#687c3e;background:#f0f6df;border-radius:10px;padding:2px 5px}
.remove-doc{border:0;background:transparent;color:#a0a8a0;border-radius:5px;padding:4px}
.remove-doc:hover{background:#f7e9e5;color:#a94f41}
.history-section{margin-top:2px}
.history-item{display:block;width:100%;text-align:left;border:1px solid #edf0e9;border-radius:7px;padding:9px;background:#fffefa}
.history-item:hover{border-color:#bcc7b3;background:#fbfcf7}
.history-item strong{display:block;font:600 10px var(--display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.history-item span{display:block;margin-top:5px;color:#929a93;font-size:9px}
.workbench{min-width:0}
.question-card{padding:22px 25px 18px}
.question-topline{display:flex;align-items:center;gap:12px;margin-bottom:15px}
.step-number{display:grid;place-items:center;width:29px;height:29px;background:var(--lime);border-radius:50%;font:10px var(--mono);color:#39472f}
.question-topline .eyebrow{margin:0 0 4px}
.question-topline h2{font:700 17px var(--display);letter-spacing:-.4px;margin:0}
textarea{display:block;resize:vertical;width:100%;min-height:72px;border:1px solid #e4e8df;border-radius:8px;background:#fcfdf9;padding:13px 14px;color:var(--ink);font-size:13px;line-height:1.5;outline:none;transition:.18s}
textarea:focus{border-color:#95aa78;box-shadow:0 0 0 3px rgba(157,183,115,.13)}
textarea::placeholder{color:#a0a9a1}
.question-footer{display:flex;justify-content:space-between;align-items:center;margin-top:13px;gap:14px}
.question-footer p{margin:0;color:#828c84;font-size:10px}
.sparkle{color:#90a75f;margin-right:4px}
.primary-button{display:flex;align-items:center;gap:18px;padding:10px 11px 10px 15px;background:var(--ink);border:0;border-radius:7px;color:white;font:600 11px var(--display);transition:.18s ease}
.primary-button:hover{background:#34453c;transform:translateY(-1px)}
.primary-button:disabled{opacity:.55;cursor:wait;transform:none}
.button-arrow{width:22px;height:22px;border-radius:5px;background:var(--lime);color:var(--ink);display:grid;place-items:center;font-size:14px}
.quick-prompts{display:flex;gap:7px;flex-wrap:wrap;border-top:1px solid #eef0e9;margin-top:15px;padding-top:13px}
.quick-prompts button{border:1px solid #e7ebe2;background:#fffefa;border-radius:20px;color:#69766d;font-size:9px;padding:7px 10px;transition:.15s}
.quick-prompts button:hover{border-color:#b9c8a7;color:#37483b;background:#f5f8ee}
.quick-prompts button span{color:#a2ad99;margin-left:3px}
.notice{margin:12px 0 0;border-radius:8px;padding:11px 13px;font-size:11px;line-height:1.5}
.notice.error{background:#fbefea;color:#8c4137;border:1px solid #f1d6cf}
.notice.success{background:#f0f6df;color:#52683a;border:1px solid #e0ebc5}
.result-card{min-height:284px;margin-top:14px;padding:22px 25px}
.empty-work{text-align:center;max-width:520px;margin:4px auto 0}
.empty-illustration{height:89px;width:126px;margin:0 auto 13px;position:relative}
.empty-paper{position:absolute;width:54px;height:69px;border:1px solid #dce2d5;border-radius:7px;background:#fbfcf8;box-shadow:0 7px 18px rgba(30,45,36,.07)}
.paper-back{top:9px;left:29px;transform:rotate(-9deg);background:#eef2e7}
.paper-front{top:5px;left:47px;transform:rotate(8deg);padding:15px 8px}
.paper-front span{display:block;height:3px;background:#d5ddcf;margin-bottom:7px;border-radius:3px}
.paper-front span:nth-child(2){width:26px}.paper-front span:nth-child(3){width:20px}
.paper-front b{position:absolute;right:-11px;bottom:5px;width:24px;height:24px;border-radius:50%;background:var(--lime);border:2px solid #fff;display:grid;place-items:center;font-size:12px}
.empty-spark{position:absolute;top:3px;right:8px;color:#9bb565;font-size:16px}
.empty-work h2{font:700 21px/1.18 var(--display);letter-spacing:-.8px;margin:0}
.empty-work>p:not(.eyebrow){max-width:410px;margin:9px auto 18px;color:#7e8981;font-size:11px;line-height:1.6}
.empty-footer{display:flex;align-items:center;justify-content:center;gap:11px;border-top:1px solid #eff1eb;padding-top:13px;color:#9aa299;font:9px var(--mono)}
.empty-footer i{font-style:normal;color:#59665d;font:500 10px var(--sans);margin-left:3px}
.empty-footer>b{font:12px var(--sans);color:#bdc5b8}
.result-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.result-head h2{font:700 18px/1.25 var(--display);letter-spacing:-.4px;margin:0}
.result-question{color:#849087;font-size:10px;margin:7px 0 0;line-height:1.5}
.result-badge{white-space:nowrap;border-radius:20px;padding:6px 9px;font:9px var(--mono);background:#eef5da;color:#5e7438}
.result-badge.conflict{background:#fff2dc;color:#8b602b}
.result-badge.insufficient{background:#f1f1ed;color:#727a73}
.answer-box{margin-top:17px;padding:13px 15px;background:#f7f8f2;border-left:2px solid #b4ce6c;border-radius:0 7px 7px 0}
.answer-label{font:9px var(--mono);letter-spacing:.6px;color:#7f8c78;text-transform:uppercase}
.answer-text{font-size:12px;line-height:1.65;color:#394740;white-space:pre-wrap;margin-top:6px}
.citation-list{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.citation-card{border:1px solid #e9ede4;border-radius:8px;padding:10px 12px;background:#fff}
.citation-head{display:flex;justify-content:space-between;gap:10px;align-items:center}
.citation-head strong{font-size:10px;color:#455247}
.citation-head span{font:9px var(--mono);color:#89958a}
.citation-card blockquote{margin:7px 0 0;padding:0;color:#6c786e;font-size:10px;line-height:1.55}
.steps-title{display:flex;justify-content:space-between;align-items:center;margin:18px 0 9px}
.steps-title h3{font:700 11px var(--display);margin:0}
.steps-title span{font:9px var(--mono);color:#879188}
.step-row{display:grid;grid-template-columns:19px minmax(0,1fr);gap:9px;padding:11px 0;border-top:1px solid #eff1ec}
.step-row input{accent-color:#607a3f;width:15px;height:15px;margin:1px 0 0}
.step-text{font-size:11px;line-height:1.55;color:#344139}
.step-text.approved{text-decoration:line-through;text-decoration-color:#a4b18f;color:#778178}
.step-cites{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}
.cite-chip{font:8px var(--mono);background:#f0f3eb;color:#6b7868;border-radius:4px;padding:3px 5px}
.note-card{margin-top:9px;background:#fff8ed;border:1px solid #f4e5ca;border-radius:7px;padding:11px;color:#785832;font-size:10px;line-height:1.55}
.note-card strong{display:block;font:9px var(--mono);text-transform:uppercase;letter-spacing:.4px;margin-bottom:4px}
.result-actions{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #edf0e9;padding-top:14px;margin-top:16px;gap:10px}
.review-note{font-size:9px;line-height:1.45;color:#828d84;margin:0}
.export-button{background:var(--ink);color:#fff;border:0;border-radius:7px;padding:9px 12px;font:600 10px var(--display)}
.export-button:disabled{opacity:.42;cursor:not-allowed}
.privacy-line{display:flex;gap:7px;align-items:flex-start;margin:12px 3px;color:#89938c;font-size:9px;line-height:1.5}
.privacy-icon{color:#78896d;font-size:12px}
.footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(23,34,31,.11);margin-top:27px;padding:18px 0 22px;color:#8a948d;font-size:9px}
.footer-brand{min-width:0;gap:7px}
.brand-mark.mini{width:19px;height:19px;background:var(--ink);border-radius:5px;color:var(--lime);font-size:12px}
.footer-brand .brand-name{font-size:12px}
.footer-right{font-family:var(--mono);font-size:8px}
.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}
@media(max-width:1050px){.app-shell{padding:0 28px}.workspace{grid-template-columns:285px minmax(0,1fr);gap:16px}.hero-note{margin-right:0}.hero h1{font-size:42px}.question-card,.result-card{padding-left:19px;padding-right:19px}}
@media(max-width:760px){.app-shell{padding:0 16px}.topbar{height:66px}.topnav{display:none}.brand,.local-status{min-width:0}.hero{min-height:0;display:block;padding:34px 0 25px}.hero h1{font-size:39px}.hero-note{margin-top:19px;padding:10px 0 10px 13px}.workspace{display:flex;flex-direction:column}.library,.workbench{width:100%}.library{min-height:0}.workbench{order:-1}.quick-prompts{gap:6px}.quick-prompts button{font-size:9px}.question-card{padding:18px 16px}.result-card{padding:18px 16px}.question-footer{align-items:flex-end}.question-footer p{max-width:150px;line-height:1.5}.empty-footer{gap:6px;font-size:8px}.empty-footer i{font-size:9px}.footer{flex-wrap:wrap;gap:10px}.footer>span:nth-child(2){order:3;width:100%}.footer-right{margin-left:auto}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
