:root{color-scheme:light;--bg:#f6f5f1;--surface:#fff;--side:#eceee7;--ink:#242a23;--muted:#626c60;--line:#d9ded3;--accent:#285c3f;--on-accent:#fff;--danger:#a92a32;--warning:#78551a;--wash:#e9f0e8;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s6:24px;--s8:32px;--s12:48px;--r1:8px;--r2:12px;--small:14px;--body:16px;--label:12px;--heading:20px;--title:32px;--control:44px;--content:1440px;--sheet:840px;--rail:280px;--writing:18px}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#171916;--surface:#22251f;--side:#1d201b;--ink:#f0f2eb;--muted:#b1bbaa;--line:#424a3d;--accent:#a4d4b2;--on-accent:#163621;--danger:#ffb4b9;--warning:#e8c58a;--wash:#303c30}}
:root[data-theme=dark]{color-scheme:dark;--bg:#171916;--surface:#22251f;--side:#1d201b;--ink:#f0f2eb;--muted:#b1bbaa;--line:#424a3d;--accent:#a4d4b2;--on-accent:#163621;--danger:#ffb4b9;--warning:#e8c58a;--wash:#303c30}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:var(--body)/1.65 -apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo",sans-serif;word-break:keep-all;overflow-wrap:anywhere}
button,input,textarea,select{font:inherit;color:inherit}button,a,input,textarea,select{touch-action:manipulation}
button{min-height:var(--control);padding:var(--s2) var(--s4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r1);cursor:pointer;font-weight:600}
button:hover{background:var(--wash)}button:active{opacity:.72}button:disabled{opacity:.55;cursor:default}
.primary{background:var(--accent);color:var(--on-accent);border-color:transparent}.primary:hover{background:var(--accent);filter:brightness(.94)}
.danger,.error{color:var(--danger)}.warning{color:var(--warning)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
dialog{width:min(var(--sheet),calc(100vw - var(--s8)));max-height:calc(100dvh - var(--s8));padding:var(--s6);border:1px solid var(--line);border-radius:var(--r2);background:var(--surface);color:var(--ink);overflow:auto}dialog::backdrop{background:color-mix(in srgb,var(--ink) 45%,transparent)}#privacy-canvas{width:100%;height:auto;display:block;touch-action:none;border-radius:var(--r1)}#privacy-people button[aria-pressed=true]{background:var(--wash)}
a{color:var(--accent);text-underline-offset:var(--s1)}
h1,h2,h3,p{margin:0}h1{font-size:clamp(26px,3vw,var(--title));line-height:1.3;letter-spacing:-.035em;text-wrap:balance}
h2{font-size:var(--heading);line-height:1.45;letter-spacing:-.025em}h3{font-size:var(--writing);line-height:1.6}
small,.small{font-size:var(--small)}.muted{color:var(--muted)}.eyebrow{font-size:var(--label);letter-spacing:.035em;font-weight:600;color:var(--muted);margin-bottom:var(--s2)}
.app{min-height:100dvh}.app-header{display:flex;align-items:center;justify-content:space-between;gap:var(--s6);padding:var(--s4) var(--s8);background:var(--surface);border-bottom:1px solid var(--line)}
.brand{font-size:var(--heading);font-weight:750;letter-spacing:-.04em;white-space:nowrap}.brand span{margin-left:var(--s2);font-weight:400;letter-spacing:0}
.nav{display:flex;gap:var(--s2);flex-wrap:wrap}.nav button{background:transparent;border-color:transparent}.nav button[aria-current=page]{background:var(--wash)}
.theme-label{display:flex;align-items:center;gap:var(--s2);font-size:var(--small)}.theme-label select{width:auto}
main{max-width:var(--content);margin:auto;padding:var(--s8) var(--s12);min-width:0}
.page-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s6);margin-bottom:var(--s6)}
.stack,.screen{display:grid;gap:var(--s4);align-content:start}.screen{gap:var(--s6)}
.cluster{display:flex;gap:var(--s2);flex-wrap:wrap;align-items:center}
.section{margin-top:var(--s6)}.toolbar{gap:var(--s3)}.collection-picker{min-width:min(320px,100%);flex:1;max-width:480px}
.panel{background:var(--surface);border:1px solid var(--line);padding:var(--s6);border-radius:var(--r2);min-width:0}
label{display:grid;gap:var(--s2);font-size:var(--small);font-weight:600}
input,textarea,select{width:100%;border:1px solid var(--line);border-radius:var(--r1);background:var(--bg);padding:var(--s3);min-height:var(--control);min-width:0}
textarea{resize:vertical;line-height:1.8;font-weight:400}
.statusline{padding:var(--s3) var(--s4);border-radius:var(--r1);background:var(--wash);font-size:var(--small);min-height:var(--control)}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s2);max-width:var(--sheet);margin-inline:auto;width:100%}
.steps button{display:flex;align-items:center;justify-content:center;gap:var(--s3);background:transparent;border-color:transparent}
.steps button span{display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;width:var(--s8);height:var(--s8);font-variant-numeric:tabular-nums}
.steps button[aria-current=step]{background:var(--wash)}.steps button[aria-current=step] span{background:var(--ink);color:var(--surface);border-color:transparent}
.import-panel{display:flex;align-items:center;justify-content:space-between;gap:var(--s6);padding-block:var(--s8)}.import-panel p{margin-top:var(--s2);max-width:60ch}
.photos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:var(--s6)}
.photo{margin:0;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r2);padding:var(--s4);display:grid;gap:var(--s2)}
.photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r1);background:var(--side)}
.photo.excluded img{opacity:.4}.photo figcaption{overflow-wrap:anywhere}
.photo button{padding-inline:var(--s3);font-size:var(--small)}
.check{display:flex;align-items:center;gap:var(--s2);min-height:var(--control);font-size:var(--small);font-weight:400}
.check input{width:18px;height:18px;min-height:0;padding:0;accent-color:var(--accent)}
.photo-tray{display:flex;gap:var(--s3);overflow-x:auto;overflow-y:hidden;max-height:160px;padding-block:var(--s2);scrollbar-width:thin}
.tray-photo{margin:0;flex:0 0 108px}.tray-photo img{width:108px;height:76px;object-fit:cover;display:block;border-radius:var(--r1)}.tray-photo figcaption{margin-top:var(--s1)}
.writing-layout,.save-layout{display:grid;grid-template-columns:minmax(0,var(--sheet)) minmax(240px,var(--rail));gap:var(--s6);justify-content:center;align-items:start}
.writing-sheet{min-width:0;padding:var(--s8);background:var(--surface);border:1px solid var(--line);border-radius:var(--r2)}
.sheet-heading{justify-content:space-between}.sheet-heading .primary{margin-left:auto}
.writing-rail{min-width:0}.writing-rail .panel{padding:var(--s6)}
.optional-memo{margin:0;padding-block:0 var(--s4);border-block:0 1px solid var(--line)}
.block-editor{display:grid;gap:var(--s6)}.title-field input{font-size:26px;font-weight:650;line-height:1.4;background:var(--surface)}
.draft-block{min-width:0;display:grid;gap:var(--s2)}
.block-tools{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s2);font-size:var(--small)}
.block-tools button{font-size:var(--small);padding-inline:var(--s3);margin-left:auto}
.badge{display:inline-flex;background:var(--wash);padding:var(--s1) var(--s2);border-radius:var(--r1);font-size:var(--label);font-weight:600;white-space:nowrap}
.draft-block textarea{font-size:var(--writing);line-height:1.85;background:var(--surface);min-height:120px}
.kind-heading textarea{font-size:var(--heading);font-weight:650;min-height:88px}
.draft-block img{display:block;width:100%;height:auto;max-height:520px;object-fit:contain;border-radius:var(--r1);background:var(--bg)}
.manual-composer{border-top:1px solid var(--line);padding-top:var(--s6);margin-top:var(--s2)}
.manual-composer .cluster{justify-content:space-between}.manual-composer textarea{font-size:var(--writing)}
.finding{gap:var(--s2);border-top:1px solid var(--line);padding-top:var(--s3)}
.preview{font-size:var(--writing);line-height:1.85}.preview h2{font-size:26px;margin-bottom:var(--s6)}.preview h3{margin-block:var(--s6) var(--s3)}.preview p{white-space:pre-wrap;margin-bottom:var(--s4)}
.preview img{display:block;width:100%;height:auto;border-radius:var(--r1);margin-bottom:var(--s6)}
#proposal-content:has(.comparison-column){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s6)}
.status-list{display:grid;gap:var(--s3)}.status-row{display:flex;justify-content:space-between;gap:var(--s4);padding-bottom:var(--s3);border-bottom:1px solid var(--line)}.status-row span{font-size:var(--small);text-align:right;color:var(--muted)}
.empty{padding:var(--s8);color:var(--muted);display:grid;gap:var(--s4);justify-items:start}
.job{padding:var(--s6) 0;border-bottom:1px solid var(--line)}code{font-size:var(--label);overflow-wrap:anywhere}
details{border-top:1px solid var(--line);padding-top:var(--s3);margin-top:var(--s3)}
summary{cursor:pointer;min-height:var(--control);font-weight:600;padding-block:var(--s2)}
.group-row{display:flex;justify-content:space-between;align-items:center;gap:var(--s4);border-bottom:1px solid var(--line);padding:var(--s4) 0}.group-row button{text-align:left;flex:1}
.footer-note{font-size:var(--small);color:var(--muted);margin-top:var(--s8)}
.login{max-width:500px;margin:12vh auto;padding:var(--s8)}[hidden]{display:none!important}
.skip-link{position:absolute;left:var(--s4);top:var(--s4);padding:var(--s3);background:var(--surface);z-index:2;transform:translateY(-200%)}.skip-link:focus{transform:none}
@media(max-width:1100px){.brand span{display:none}.writing-layout,.save-layout{grid-template-columns:minmax(0,1fr)}.writing-rail{display:contents}.pipeline{grid-row:1}.writing-sheet{grid-row:2}.save-layout .writing-sheet{grid-row:auto}.writing-layout{max-width:var(--sheet);margin-inline:auto}.writing-rail>.panel:not(.pipeline){grid-row:3}}
@media(max-width:768px){:root{--body:17px;--small:15px;--writing:17px}.app-header{padding:var(--s4);gap:var(--s3);flex-wrap:wrap}.brand{flex:1}.theme-label{margin-left:auto}.nav{order:3;width:100%;justify-content:space-between;gap:var(--s1)}.nav button{padding-inline:var(--s3);font-size:var(--small)}
main{padding:var(--s6) var(--s4)}.page-head{gap:var(--s3);align-items:start}.page-head #save-status{max-width:35%;text-align:right}.panel,.writing-sheet{padding:var(--s4)}.steps{gap:var(--s1)}.steps button{gap:var(--s2);padding-inline:var(--s1);font-size:var(--small)}.steps button span{width:24px;height:24px}.import-panel{align-items:start;flex-direction:column}.collection-picker{max-width:none;min-width:100%}.photo-tray{max-height:132px}.block-tools{gap:var(--s2)}.block-tools button{margin-left:0}.block-tools .check{margin-left:auto}.title-field input{font-size:var(--heading)}.status-row{flex-direction:column;gap:var(--s1)}.status-row span{text-align:left}.group-row{align-items:stretch;flex-direction:column}.login{margin:var(--s8) var(--s4);padding:var(--s6)}#proposal-content:has(.comparison-column){grid-template-columns:1fr}.writing-sheet .sheet-heading{align-items:start}.sheet-heading h2{flex:1}.preview h2{font-size:24px}}
.statusline:empty{display:none}.profile-picker{min-width:180px;max-width:280px;flex:1}.profile-picker select{font-size:var(--small)}.toolbar .collection-picker{min-width:180px;flex:2}.compact-tray{margin:0;padding:0;border:0}.compact-tray summary{font-size:var(--small);color:var(--muted)}.source-field{display:grid;gap:var(--s3);padding:var(--s4);background:var(--bg);border-radius:var(--r1)}.source-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3)}
main:has(#tab-edit:not([hidden])) .page-head{margin-bottom:var(--s3)}main:has(#tab-edit:not([hidden])) .page-head h1{font-size:var(--heading)}main:has(#tab-edit:not([hidden])) .page-head .eyebrow{display:none}
@media(max-width:1100px){.writing-rail .pipeline{padding:var(--s3) var(--s4);gap:var(--s1)}.pipeline .eyebrow{display:none}.pipeline h2{font-size:var(--body)}.pipeline #pipeline-actions{display:flex;flex-wrap:wrap;gap:var(--s2)}.writing-layout{gap:var(--s4)}.page-head{margin-bottom:var(--s4)}}
@media(max-width:768px){.toolbar .profile-picker{min-width:60%;max-width:none}.toolbar .collection-picker{min-width:100%}.page-head .eyebrow{display:none}.steps{margin-top:0}.source-meta{grid-template-columns:1fr}.section{margin-top:var(--s4)}.screen{gap:var(--s4)}main{padding-top:var(--s4)}.toolbar label{gap:var(--s1)}.compact-tray summary{padding-block:var(--s1)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
@media(max-width:768px){.sheet-heading #reorder-photos{order:1;flex-basis:100%}}
@media(max-width:768px){.toolbar .profile-picker,.toolbar .collection-picker{min-width:0;max-width:none;flex:1 1 calc(50% - var(--s2))}.toolbar #purpose-badge{display:none}.toolbar label{font-size:var(--label)}.app-header{gap:var(--s2)}.app-header .brand{font-size:17px}.app-header #active-profile-chip{max-width:36%;overflow:hidden;text-overflow:ellipsis;display:block}.theme-label{font-size:0;gap:0}.theme-label select{font-size:var(--small);padding-inline:var(--s2);max-width:88px}.writing-sheet{gap:var(--s3)}.writing-sheet .optional-memo{padding-bottom:var(--s2)}.writing-sheet .sheet-heading{gap:var(--s2)}.sheet-heading #sample-label{display:none}.block-editor{gap:var(--s4)}}
