:root{color-scheme:light;--ink:#1e2429;--muted:#6b737a;--line:#d8d7d2;--paper:#fff;--wash:#f1f0ec;--panel:#faf9f6;--accent:#6b2945;--danger:#a22231;--shadow:0 16px 44px rgba(30,36,41,.1);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:#e8e7e2;color:var(--ink)}
:root[data-theme="dark"]{color-scheme:dark;--ink:#f3f0e9;--muted:#b9b6af;--line:#4d4a45;--paper:#1c1d1d;--wash:#141515;--panel:#242525;--accent:#c57a9a;--danger:#ff7b86;--shadow:0 16px 44px rgba(0,0,0,.35);background:#101111}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:linear-gradient(145deg,var(--wash),transparent 44%)}
button,.button,input,select,textarea{font:inherit}
button,.button{border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);padding:.6rem .82rem;font-weight:750;cursor:pointer;text-decoration:none}
button:hover,.button:hover{border-color:var(--accent)}
button:disabled{opacity:.45;cursor:not-allowed}
.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger),transparent 50%)}
.site-header{display:flex;align-items:center;gap:1rem;min-height:82px;padding:.85rem clamp(1rem,3vw,2.4rem);background:var(--paper);border-bottom:1px solid var(--line)}
.brand{display:grid;place-items:center;width:54px;height:54px;border-radius:14px;background:var(--ink);color:var(--paper);font-size:.68rem;font-weight:900;text-align:center;text-decoration:none}
.title-group{margin-right:auto}.title-group h1,.title-group p{margin:0}
.header-actions{display:flex;gap:.45rem;flex-wrap:wrap;justify-content:flex-end}
.eyebrow{margin:0 0 .2rem;color:var(--accent);font-size:.7rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
main{width:min(1900px,100%);margin:auto;padding:1rem}
.status,.gate{padding:1rem 1.1rem;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:var(--shadow)}
.status:empty{display:none}.gate{max-width:650px;margin:10vh auto;text-align:center}
.workspace{display:grid;grid-template-columns:minmax(220px,270px) minmax(420px,1fr) minmax(360px,.85fr);gap:1rem;align-items:start}
.library-panel,.editor,.preview-panel,.empty-document{min-width:0;border:1px solid var(--line);border-radius:14px;background:var(--paper);box-shadow:var(--shadow)}
.library-panel,.preview-panel{position:sticky;top:1rem;max-height:calc(100vh - 2rem);overflow:auto;padding:1rem}
.empty-document{grid-column:2/4;padding:clamp(3rem,8vw,8rem);text-align:center}
.empty-document p:not(.eyebrow){max-width:650px;margin:1rem auto 1.5rem;color:var(--muted)}
.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.panel-heading h2,.panel-heading h3{margin:.1rem 0}
.field{display:grid;gap:.35rem;font-size:.78rem;font-weight:800}.field input,.field select,.field textarea,.search-field input{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);padding:.62rem}
textarea{resize:vertical}.search-field{display:block;margin:.75rem 0}.search-field input{background:var(--wash)}
.document-list{display:grid;gap:.45rem}.document-card{display:grid;width:100%;gap:.18rem;text-align:left}.document-card[aria-current="true"]{border-color:var(--accent);box-shadow:inset 3px 0 var(--accent)}
.document-card small,.muted{color:var(--muted)}.campaign-link{display:block;margin-top:1rem;color:var(--accent);font-size:.78rem;font-weight:750}
.editor{overflow:hidden}.editor-tabs{display:flex;gap:.15rem;padding:.65rem;border-bottom:1px solid var(--line);background:var(--panel);overflow:auto}.editor-tabs button{border-color:transparent;background:transparent}.editor-tabs button[aria-current="true"]{background:var(--paper);border-color:var(--line);color:var(--accent)}
.tab-panel{padding:1rem}.metadata-grid,.access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.span-2{grid-column:1/-1}.check-field{display:flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:750}.check-field input{width:auto}
.block-toolbar{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin:1.2rem 0 .65rem;padding-top:1rem;border-top:1px solid var(--line)}.block-toolbar h3{margin:.1rem 0}.add-block{display:flex;gap:.4rem}.add-block select{max-width:180px}
.note-filter{flex:1;max-width:260px}.note-filter input{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);padding:.55rem}
.block-list{display:grid;gap:.65rem}.block-card{border:1px solid var(--line);border-radius:11px;background:var(--panel);overflow:hidden}.block-card[draggable="true"]{cursor:grab}.block-head{display:grid;grid-template-columns:auto minmax(130px,1fr) auto;align-items:center;gap:.55rem;padding:.58rem .7rem;background:var(--wash)}.drag-handle{color:var(--muted);font-size:1.2rem}.block-head select{width:100%;border:1px solid var(--line);border-radius:7px;background:var(--paper);color:var(--ink);padding:.42rem}.block-actions{display:flex;gap:.25rem}.block-actions button{padding:.35rem .5rem}
.block-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;padding:.7rem}.block-fields .wide{grid-column:1/-1}.binding-box{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 1fr;gap:.55rem;padding:.65rem;border:1px dashed var(--line);border-radius:8px;background:var(--paper)}.binding-box summary{grid-column:1/-1;color:var(--accent);font-size:.75rem;font-weight:850;cursor:pointer}.binding-box[open] summary{margin-bottom:.15rem}.binding-box .binding-fallback{grid-column:1/-1}
.assignment-list,.comment-list,.revision-list{display:grid;gap:.55rem;margin:1rem 0}.assignment,.comment,.revision{padding:.75rem;border:1px solid var(--line);border-radius:9px;background:var(--panel)}.assignment{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.assignment p,.comment p,.revision p{margin:.2rem 0;white-space:pre-wrap}.assignment small,.comment small,.revision small{color:var(--muted)}
.inline-form{display:grid;grid-template-columns:1fr 130px auto;gap:.45rem}.inline-form select{min-width:0}.comment-form{display:grid;gap:.7rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}.comment-head,.revision-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.comment-resolved{opacity:.62}.history-intro{padding:.75rem;border-radius:9px;background:var(--wash);color:var(--muted)}
.danger-zone{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.2rem;padding:1rem;border:1px solid color-mix(in srgb,var(--danger),transparent 55%);border-radius:10px}.danger-zone p{margin:.25rem 0 0;color:var(--muted);font-size:.78rem}
.notice,.preflight-summary{display:flex;align-items:center;gap:.6rem;margin:.7rem 0;padding:.7rem;border:1px solid var(--line);border-radius:9px;background:color-mix(in srgb,var(--accent),transparent 92%);font-size:.8rem}.notice span{flex:1}.preflight-summary{display:block}.preflight-summary.error{border-color:var(--danger);background:color-mix(in srgb,var(--danger),transparent 92%)}.preflight-summary ul{margin:.35rem 0 0;padding-left:1.2rem}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.comparison pre{max-height:45vh;overflow:auto;padding:.7rem;background:var(--surface);border:1px solid var(--line);white-space:pre-wrap;font-size:.7rem}.preflight-probe{position:fixed;left:-200vw;top:0;visibility:hidden;pointer-events:none}
.preview-panel{background:#d9d6cf}.save-state{padding:.25rem .5rem;border-radius:999px;background:var(--paper);color:var(--muted);font-size:.72rem;font-weight:800}.save-state.dirty{color:#8a4d12}.save-state.conflict{color:var(--danger)}.binding-warning{margin:.7rem 0;padding:.65rem;border-radius:8px;background:#fff3cd;color:#674d06;font-size:.75rem}
.preview-pages{display:grid;gap:1rem;margin-top:1rem}.document-page{--doc-accent:var(--accent);position:relative;container-type:size;width:100%;min-height:760px;padding:8%;overflow:hidden;background:#fff;color:#1d1b19;box-shadow:0 8px 28px rgba(0,0,0,.2);font-family:Georgia,"Times New Roman",serif}.document-page[data-page="half-letter"],.document-page[data-page="half-letter-large"]{aspect-ratio:5.5/8.5;min-height:0}.document-page[data-page="letter"]{aspect-ratio:8.5/11;min-height:0}.document-page[data-density="compact"]{font-size:.78rem}.document-page[data-density="comfortable"]{font-size:.9rem}.document-page[data-density="large"],.document-page[data-page="half-letter-large"]{font-size:1rem}
.page-content{display:grid;gap:.7em;padding-bottom:2em}.page-footer{position:absolute;left:8%;right:8%;bottom:3%;display:flex;justify-content:space-between;color:#777;font-family:Inter,system-ui,sans-serif;font-size:.58em;text-transform:uppercase;letter-spacing:.06em}.doc-block h2,.doc-block h3{margin:0 0 .28em;line-height:1.12}.doc-block h2{font-size:1.65em}.doc-block h3{font-size:1.22em}.doc-block p{margin:.25em 0;line-height:1.42;white-space:pre-wrap}.block-label{display:block;margin-bottom:.28em;color:var(--doc-accent);font-family:Inter,system-ui,sans-serif;font-size:.68em;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.doc-cover{display:grid;place-content:center;min-height:82%;padding:8%;border:1px solid #b8b2aa;background:var(--doc-accent);color:#fff;text-align:center}.doc-cover .block-label{color:#fff}.doc-cover h2{font-size:2.2em;text-transform:uppercase}.doc-cover ul{display:flex;justify-content:center;gap:.6em;flex-wrap:wrap;padding:0;list-style:none;font-family:Inter,system-ui,sans-serif;font-size:.7em;font-weight:800;text-transform:uppercase}.doc-callout,.doc-director-note,.doc-rumor{padding:.72em;border-left:.28em solid var(--doc-accent);background:#f1f4ed}.doc-director-note{background:#f4ece7}.doc-rumor{background:#edf3f1}.doc-block ul{margin:.35em 0;padding-left:1.2em}.doc-block li{margin:.15em 0;line-height:1.32}.facts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #ccc;border-left:1px solid #ccc}.fact{padding:.52em;border-right:1px solid #ccc;border-bottom:1px solid #ccc}.fact strong{display:block;color:var(--doc-accent);font-family:Inter,system-ui,sans-serif;font-size:.72em}.doc-table{width:100%;border-collapse:collapse}.doc-table th,.doc-table td{padding:.42em;border:1px solid #bbb;text-align:left;vertical-align:top}.doc-table th{background:color-mix(in srgb,var(--doc-accent),white 85%);font-family:Inter,system-ui,sans-serif}.note-meta{display:flex;gap:.5em;flex-wrap:wrap;color:#777;font-family:Inter,system-ui,sans-serif;font-size:.72em}.note-tag{padding:.16em .4em;border-radius:999px;background:#eee}.bound-badge{float:right;color:var(--doc-accent);font-family:Inter,system-ui,sans-serif;font-size:.62em}
.document-page:has(.doc-cover:only-child) .page-content{height:100cqh;padding-bottom:2em}.document-page:has(.doc-cover:only-child) .doc-cover{height:100%;min-height:0}
.template-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:1rem 0}.template-card{display:grid;gap:.25rem;padding:.8rem;border:1px solid var(--line);border-radius:10px;cursor:pointer}.template-card:has(input:checked){border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}.template-card input{position:absolute;opacity:0}.template-card small{color:var(--muted)}
dialog{width:min(760px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);overflow:auto;border:1px solid var(--line);border-radius:16px;background:var(--paper);color:var(--ink);box-shadow:var(--shadow)}dialog::backdrop{background:rgba(8,8,8,.68)}.new-dialog form{display:grid;gap:.8rem}.dialog-actions{display:flex;justify-content:flex-end;gap:.45rem}
.print-root{display:none}
