:root{--ink:#10283f;--text:#26384a;--muted:#718294;--line:#e1e8ec;--paper:#f5f7f8;--white:#fff;--teal:#16a69a;--teal-dark:#0c847d;--mint:#e4f4f0;--amber:#e7a35a;--shadow:0 12px 36px rgba(24,48,66,.06)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--text);font-family:'DM Sans',Arial,sans-serif;font-size:14px;line-height:1.5}button,input,textarea,select{font:inherit}button,a,label{touch-action:manipulation}.app-shell{min-height:100vh}.topbar{height:78px;background:var(--ink);display:flex;align-items:center;justify-content:space-between;padding:0 max(calc((100vw - 1320px)/2),30px);color:white}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.brand-mark{width:37px;height:37px;border-radius:12px;background:#19425a;color:#fff;display:grid;place-items:center;font:800 20px Manrope,sans-serif}.brand-mark span{color:#5de0cd}.brand strong{display:block;font:700 15px Manrope,sans-serif;letter-spacing:-.02em}.brand small{display:block;color:#a8bac6;font-size:10px;margin-top:1px;letter-spacing:.02em}.account-status{display:flex;align-items:center;gap:8px;color:#d2dfe6;font-size:12px}.account-status i{width:8px;height:8px;border-radius:50%;background:#e8b35e}.account-status.connected i{background:#59d1b8;box-shadow:0 0 0 3px #59d1b824}.account-status.error i{background:#ee7c70}.hero{max-width:1320px;margin:0 auto;padding:55px 30px 33px;display:flex;justify-content:space-between;align-items:flex-end;gap:36px}.eyebrow{font:700 10px Manrope,sans-serif;letter-spacing:.17em;color:var(--teal);margin:0 0 14px}.hero h1{font:800 clamp(34px,4vw,52px)/1.08 Manrope,sans-serif;letter-spacing:-.055em;color:var(--ink);margin:0}.hero h1 em{font-style:normal;color:#5b7283}.hero-copy>p:last-child{max-width:655px;color:#647789;margin:20px 0 0;font-size:15px}.hero-note{background:white;border:1px solid #e7ecee;border-radius:14px;padding:16px 18px;display:flex;gap:12px;max-width:310px;box-shadow:0 8px 24px #20384a08}.note-icon{background:var(--mint);color:var(--teal-dark);border-radius:10px;min-width:33px;height:33px;display:grid;place-items:center;font-size:18px}.hero-note strong,.hero-note span{display:block}.hero-note strong{font-size:12px;color:var(--ink);margin:1px 0 4px}.hero-note div span{font-size:11px;color:var(--muted);line-height:1.45}.workflow{max-width:1320px;margin:0 auto;padding:0 30px 25px;display:flex;align-items:center}.step{display:flex;align-items:center;gap:10px;min-width:160px;color:#8b9aa6}.step>span{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;border:1px solid #cfd9de;font:700 10px Manrope,sans-serif}.step.active{color:var(--ink)}.step.active>span{color:white;background:var(--ink);border-color:var(--ink)}.step.done>span{background:var(--teal);color:#fff;border-color:var(--teal)}.step b,.step small{display:block}.step b{font-size:11px}.step small{font-size:10px;color:#91a0ab;margin-top:1px}.step-line{height:1px;background:#dbe3e7;width:70px;margin:0 14px}.workspace-grid{max-width:1320px;margin:0 auto;padding:0 30px 70px;display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:23px;align-items:start}.main-column{display:grid;gap:16px}.card{background:var(--white);border:1px solid #e8edef;border-radius:15px;box-shadow:var(--shadow)}.project-card,.sources-card{padding:25px 27px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.section-heading>div{display:flex;align-items:center;gap:11px}.section-heading h2{font:700 16px Manrope,sans-serif;color:var(--ink);letter-spacing:-.025em;margin:0}.section-index{width:29px;height:29px;border-radius:9px;display:grid;place-items:center;background:var(--mint);color:var(--teal-dark);font:700 10px Manrope,sans-serif}.quiet-label,.source-count{font-size:9px;letter-spacing:.1em;color:#93a1ab}.source-count{font-size:11px;letter-spacing:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}.form-grid label{display:flex;flex-direction:column;gap:6px;color:#394c5c;font-size:11px;font-weight:600}.form-grid input,.form-grid textarea,.form-grid select{width:100%;border:1px solid #dce4e8;border-radius:9px;padding:11px 12px;background:#fff;color:var(--ink);outline:none;transition:border .16s,box-shadow .16s}.form-grid input::placeholder,.form-grid textarea::placeholder{color:#9aabb5;font-weight:400}.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus,.source-item textarea:focus,.source-title:focus{border-color:var(--teal);box-shadow:0 0 0 3px #16a69a22}.form-grid textarea{resize:vertical;min-height:70px}.span-two{grid-column:span 2}.optional{color:#9ca9b2;font-weight:400}.section-intro{font-size:12px;color:#718393;margin:-11px 0 16px}.source-list{display:grid;gap:12px}.source-item{border:1px solid #e1e8ec;background:#fbfcfc;border-radius:11px;padding:13px}.source-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.source-title{border:0;border-bottom:1px solid transparent;background:transparent;padding:3px 0;color:var(--ink);font-weight:700;font-size:12px;outline:none}.source-item textarea{width:100%;border:1px solid #e0e7ea;border-radius:8px;resize:vertical;min-height:100px;padding:10px 12px;color:var(--text);background:#fff;outline:none}.remove-source{background:transparent;border:0;color:#8797a3;border-radius:6px;padding:6px 8px;cursor:pointer}.remove-source:hover{background:#fbecea;color:#ba4f43}.source-actions{display:flex;gap:10px;margin-top:14px}.button{min-height:42px;padding:0 16px;border-radius:9px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:12px;font-weight:700;cursor:pointer;text-decoration:none;transition:transform .15s,background .15s,box-shadow .15s}.button:hover{transform:translateY(-1px)}.button:focus-visible{outline:3px solid #16a69a55;outline-offset:2px}.button:disabled{opacity:.58;cursor:wait;transform:none}.button-secondary{border-color:#dce5e8;color:var(--ink);background:#fff}.button-secondary:hover{background:#f7faf9;border-color:#bbd3d0}.button-primary{color:#fff;background:var(--teal-dark);box-shadow:0 5px 12px #0c847d24}.button-primary:hover{background:#086d69}.upload-button{cursor:pointer}.helper{font-size:10px;color:#91a0aa;margin:11px 0 0}.side-column{display:grid;gap:14px}.side-card{padding:21px}.side-heading{display:flex;gap:10px;align-items:center}.side-heading h3{font:700 13px/1.35 Manrope,sans-serif;color:var(--ink);margin:0}.side-icon{width:27px;height:27px;border-radius:8px;background:#eef4f7;color:#57778d;display:grid;place-items:center;font-size:16px}.outline-list{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:17px}.outline-list li{display:flex;gap:11px;align-items:flex-start}.outline-list li>span{color:var(--teal-dark);font:700 10px Manrope,sans-serif;padding-top:1px}.outline-list b,.outline-list small{display:block}.outline-list b{font-size:11px;color:#334859}.outline-list small{font-size:10px;color:#8a9aa6;margin-top:2px}.accent-card{background:#edf8f5;border-color:#d9eee8;box-shadow:none}.tag{display:inline-block;background:#d9f0eb;color:#0f8278;font:700 9px Manrope,sans-serif;letter-spacing:.11em;padding:6px 8px;border-radius:5px}.accent-card h3{font:750 18px/1.25 Manrope,sans-serif;color:var(--ink);letter-spacing:-.035em;margin:14px 0 8px}.accent-card p,.codex-card p{font-size:11px;line-height:1.55;color:#6e8190;margin:0}.codex-card{padding:14px 5px;display:flex;gap:11px}.codex-icon{min-width:32px;height:32px;display:grid;place-items:center;background:#e7eef2;border-radius:9px;color:var(--ink);font-weight:700}.codex-card b{display:block;font-size:11px;color:var(--ink);margin:1px 0 5px}.codex-card a{display:inline-block;color:var(--teal-dark);font-size:10px;font-weight:700;margin-top:8px;text-decoration:none}.codex-card a:hover{text-decoration:underline}.generate-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 2px}.privacy-note{display:flex;align-items:center;gap:9px;max-width:460px;color:#70828f;font-size:10px;line-height:1.4}.privacy-note>span:first-child{color:var(--teal);font-size:18px}.generate-row .button{min-width:190px;height:47px}.hidden{display:none!important}.review-view{max-width:1320px;margin:0 auto;padding:0 30px 70px}.review-top{display:flex;align-items:center;justify-content:space-between;margin:5px 0 19px}.review-top h2{font:800 30px/1.1 Manrope,sans-serif;letter-spacing:-.05em;color:var(--ink);margin:0}.review-subtitle{margin:7px 0 0;color:#718393;font-size:13px}.fact-banner{display:flex;gap:11px;align-items:flex-start;padding:14px 17px;border-radius:11px;background:#f0f6f8;border:1px solid #dfe9ed;margin-bottom:18px}.fact-banner>span{width:21px;height:21px;flex:0 0 21px;border-radius:50%;display:grid;place-items:center;background:#dbeef0;color:#197e82;font:bold 12px Georgia}.fact-banner p{margin:0;color:#5e7382;font-size:11px}.fact-banner b{color:#244559}.review-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:18px;align-items:start}.editor-sections{display:grid;gap:13px}.editor-card{padding:19px 21px}.editor-card h3{font:700 14px Manrope,sans-serif;letter-spacing:-.02em;color:var(--ink);margin:0 0 11px}.editor-card textarea{width:100%;border:1px solid #e0e7ea;border-radius:8px;min-height:65px;padding:10px 12px;font-size:12px;line-height:1.55;color:#344959;resize:vertical;outline:none}.editor-card textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #16a69a22}.editor-card .microcopy{font-size:10px;color:#8b9ba5;margin:7px 0 0}.export-panel{position:sticky;top:18px;padding:21px}.export-panel h3{font:800 21px/1.15 Manrope,sans-serif;letter-spacing:-.045em;color:var(--ink);margin:15px 0 9px}.export-panel>p{font-size:11px;color:#70818f;margin:0 0 18px}.full{width:100%;margin:0 0 9px;min-height:45px}.file-icon{width:21px;height:21px;border-radius:5px;background:#ffffff2c;display:grid;place-items:center;font:800 10px Manrope,sans-serif}.file-icon.word{background:#e3effa;color:#3170a7}.export-meta{display:grid;gap:4px;border-top:1px solid var(--line);padding:12px 1px 5px;margin-top:7px;font-size:10px;color:#81909a}.export-tip{display:flex;gap:8px;background:#f4f7f8;border-radius:8px;padding:11px;margin-top:12px;font-size:10px;line-height:1.4;color:#6c7e8d}.export-tip span:first-child{color:#d59746}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%,15px);padding:12px 17px;border-radius:9px;background:var(--ink);color:white;box-shadow:0 8px 26px #10283f33;font-size:12px;opacity:0;pointer-events:none;transition:all .2s;max-width:min(90vw,600px);z-index:5}.toast.show{opacity:1;transform:translate(-50%,0)}.toast.error{background:#9e3833}footer{border-top:1px solid #e3e9ec;max-width:1260px;margin:0 auto;padding:20px 30px 30px;display:flex;justify-content:space-between;color:#8d9aa4;font-size:10px}
@media(max-width:900px){.hero{align-items:flex-start;flex-direction:column;padding-top:42px}.hero-note{max-width:520px}.workspace-grid{grid-template-columns:1fr}.side-column{grid-template-columns:1fr 1fr}.codex-card{grid-column:span 2}.review-layout{grid-template-columns:1fr 260px}}
@media(max-width:650px){.topbar{height:68px;padding:0 17px}.brand small{font-size:9px}.account-status{max-width:145px;font-size:10px;line-height:1.25}.hero{padding:35px 18px 25px;gap:20px}.hero h1{font-size:34px}.hero-copy>p:last-child{font-size:13px}.workflow{padding:0 18px 21px}.step{min-width:0;gap:7px;flex:1}.step>span{width:27px;height:27px;flex-shrink:0}.step b{font-size:10px}.step small{font-size:9px}.step-line{width:auto;flex:0 1 24px;margin:0 7px}.workspace-grid,.review-view{padding:0 14px 45px}.project-card,.sources-card{padding:19px 16px}.form-grid{grid-template-columns:1fr}.span-two{grid-column:auto}.section-heading h2{font-size:14px}.quiet-label{font-size:8px}.side-column{grid-template-columns:1fr}.codex-card{grid-column:auto}.generate-row{align-items:stretch;flex-direction:column}.generate-row .button{width:100%}.privacy-note{max-width:none}.review-top{align-items:flex-start;gap:12px}.review-top h2{font-size:25px}.review-top>.button{font-size:10px;padding:0 10px;white-space:nowrap}.review-layout{grid-template-columns:1fr}.export-panel{position:static;order:-1}.editor-card{padding:17px}.fact-banner{padding:12px}.fact-banner p{font-size:10px}footer{padding:16px 18px 24px;gap:12px;flex-direction:column}.source-actions{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
.file-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.file-chip{display:flex;align-items:center;gap:7px;background:#f0f5f6;border:1px solid #dce8e8;border-radius:7px;padding:6px 8px;font-size:10px;color:#40596a}.file-chip>span:first-child{color:var(--teal-dark)}.file-chip button{border:0;background:transparent;color:#82939e;cursor:pointer;font-size:15px;line-height:1;padding:0 1px}.file-chip button:hover{color:#a5443f}.spinner{width:13px;height:13px;border:2px solid #ffffff6c;border-top-color:white;border-radius:50%;animation:spin .7s linear infinite}.spinner.dark{border-color:#16a69a45;border-top-color:#0c847d}@keyframes spin{to{transform:rotate(360deg)}}
.review-actions{display:flex;align-items:center;gap:11px}.autosave-pill{border:1px solid #d5e9e1;background:#f0f8f4;border-radius:999px;padding:7px 10px;color:#397865;font-size:10px}.editor-card{padding:20px 22px}.field-heading{display:flex;align-items:center;gap:10px;margin-bottom:14px}.field-heading h3{margin:0}.field-label{display:block;font-size:10px;font-weight:700;color:#526779;margin:8px 0 6px}.note-label{margin-top:14px}.editor-card textarea[data-proposal-field],.editor-card textarea.field-note{min-height:100px}.editor-card textarea.field-note{min-height:64px;background:#fbfcfc}.field-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:11px}.field-status{font-size:10px;color:#718393;min-height:18px}.regenerate-field{min-height:36px;padding:0 12px;font-size:10px;white-space:nowrap}.satisfied-check{display:flex;align-items:flex-start;gap:9px;font-size:11px;line-height:1.4;color:#425a6b;margin:16px 0}.satisfied-check input{width:16px;height:16px;margin:0;accent-color:var(--teal-dark);flex:0 0 auto}.download-links{display:grid;gap:8px;margin:12px 0}.download-link{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid #dfe8ea;border-radius:9px;text-decoration:none;color:var(--ink);background:#fbfdfd}.download-link:hover{border-color:#9cc9c1;background:#f3faf8}.download-link>span:nth-child(2){display:grid;gap:2px;flex:1}.download-link b{font-size:10px}.download-link small{font-size:9px;color:#83939e;overflow-wrap:anywhere}.download-link>span:last-child{color:var(--teal-dark);font-size:16px}.export-panel .button:disabled{box-shadow:none}.review-top{gap:16px}
@media(max-width:650px){.review-actions{align-items:flex-end;flex-direction:column;gap:7px}.autosave-pill{font-size:9px}.field-footer{align-items:stretch;flex-direction:column}.regenerate-field{width:100%}.editor-card{padding:16px}.editor-card textarea[data-proposal-field]{min-height:115px}}
.google-connect{display:grid;gap:12px;padding:16px;margin:16px 0;border:1px solid #d9e2e9;border-radius:14px;background:#f7fafb}.google-connect p{margin:0;color:#526477}.google-connect small{color:#8192a0;line-height:1.5}.google-connect .button{width:100%;justify-content:center}.google-connect .file-button{display:flex;align-items:center;cursor:pointer}.google-connect.hidden{display:none}
.generation-pill{border:1px solid #cae4dd;background:#f0f8f5;border-radius:999px;padding:7px 10px;color:#28776c;font-size:10px;white-space:nowrap}.generation-pill.hidden{display:none}
.login-gate{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:24px;background:rgba(12,31,48,.68);backdrop-filter:blur(8px)}
.login-gate.hidden{display:none}
.login-card{width:min(100%,460px);padding:40px;background:#fff;border:1px solid #dfe8ed;border-radius:26px;box-shadow:0 28px 90px rgba(12,31,48,.22)}
.login-card h1{margin:18px 0 8px;color:#10283f;font-size:34px;letter-spacing:-.04em}
.login-card p{margin:0 0 24px;color:#687b8b;line-height:1.55}
.login-card label{display:block;margin-bottom:8px;color:#334a5b;font-weight:700}
.login-card input{width:100%;padding:15px 16px;border:1px solid #d9e3e9;border-radius:12px;font:inherit;margin-bottom:16px}
#loginError{display:block;min-height:24px;margin-top:12px;color:#a33b32}
.pdf-download-note{margin:4px 2px;padding:9px 11px;border-left:3px solid #e1a454;background:#fff8ec;color:#70542e;font-size:11px;line-height:1.45}
