:root{--bg:#f3efe6;--bg-elevated:#fffdf8;--ink:#1c1915;--muted:#6b6458;--line:#d9d0c0;--accent:#0f5c4c;--accent-hover:#0a4338;--danger:#8b2e2e;--ok:#1f6b3a;--shadow:0 1px 0 #1c19150a, 0 12px 32px #1c19150f;--font-sans:"Source Sans 3", "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", "SFMono-Regular", ui-monospace, monospace;--radius:10px}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{font-family:var(--font-sans);color:var(--ink);background:radial-gradient(1200px 500px at 10% -10%, #e7f2ee 0%, transparent 55%), radial-gradient(900px 400px at 100% 0%, #f7e8d8 0%, transparent 50%), var(--bg);line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,textarea{font:inherit}.shell{width:min(1100px,100% - 2rem);margin:0 auto;padding:1.5rem 0 3rem}.topbar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.brand{letter-spacing:-.02em;color:var(--ink);font-size:1.125rem;font-weight:700;text-decoration:none}.brand:hover{text-decoration:none}.panel{background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.btn{appearance:none;background:var(--accent);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:8px;padding:.55rem .95rem;font-weight:600}.btn:hover{background:var(--accent-hover)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-secondary{color:var(--ink);border-color:var(--line);background:0 0}.btn-secondary:hover{background:#f0ebe1}.field{gap:.4rem;display:grid}.field label{color:var(--muted);font-size:.9rem;font-weight:600}.field input,.field textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:8px;padding:.65rem .75rem}.field input:focus,.field textarea:focus{outline:2px solid color-mix(in srgb, var(--accent) 35%, white);border-color:var(--accent)}.muted{color:var(--muted)}.error{color:var(--danger);font-size:.95rem}.status-ok{color:var(--ok)}.stack{gap:1rem;display:grid}.doc-reader{font-size:1rem;line-height:1.5}.doc-reader h1,.doc-reader h2,.doc-reader h3{letter-spacing:-.02em;line-height:1.25}.doc-reader pre{font-family:var(--font-mono);background:#efe8db;border-radius:6px;padding:.75rem;font-size:.85rem;overflow:auto}.doc-reader code{font-family:var(--font-mono);font-size:.9em}.doc-reader blockquote{border-left:3px solid var(--accent);background:color-mix(in srgb, var(--accent) 6%, #fffdf8);color:#3d3830;border-radius:0 6px 6px 0;margin:1rem 0;padding:.35rem 0 .35rem 1rem}.doc-reader blockquote>:first-child{margin-top:0}.doc-reader blockquote>:last-child{margin-bottom:0}.doc-reader blockquote p{margin:.4rem 0}.doc-reader .doc-prose+.doc-section,.doc-reader .doc-section+.doc-prose,.doc-reader .doc-section+.doc-section{margin-top:1.25rem}.doc-reader .doc-section{border-top:1px solid var(--line);grid-template-columns:minmax(120px,34%) 1fr;align-items:start;gap:1rem 1.25rem;padding:.85rem 0;display:grid}.doc-reader .doc-section:first-child{border-top:0;padding-top:0}.doc-reader .doc-section--text-only{grid-template-columns:1fr}.doc-reader .doc-section-images{gap:.65rem;display:grid}.doc-reader .doc-section-images img,.doc-reader .doc-prose img,.doc-reader .doc-section-body img{border:1px solid var(--line);background:#fff;border-radius:6px;width:100%;height:auto;display:block}.doc-reader .doc-section-body>:first-child,.doc-reader .doc-prose>:first-child{margin-top:0}.doc-reader .doc-section-body>:last-child,.doc-reader .doc-prose>:last-child{margin-bottom:0}@media (width<=800px){.doc-reader .doc-section{grid-template-columns:1fr}}.section-rail{background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--radius);width:min(200px,100%);max-height:min(70vh,640px);box-shadow:var(--shadow);align-self:start;padding:.75rem .8rem;position:sticky;top:1rem;overflow:auto}.section-rail[hidden],.reader-mobile-fabs[hidden],.section-fab[hidden],.section-sheet[hidden]{display:none!important}.section-rail-title{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 .5rem;font-size:.75rem;font-weight:700}.section-rail-list{gap:.2rem;margin:0;padding:0;list-style:none;display:grid}.section-rail-list button{appearance:none;width:100%;color:var(--ink);text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:.4rem .5rem;font-size:.88rem;line-height:1.3}.section-rail-list button:hover{background:#f0ebe1}.section-rail-list button.is-changed,.section-sheet-list button.is-changed{font-weight:700}.doc-diff-add{color:#14532d;font-weight:700}.reader-mobile-fabs{right:max(1rem, env(safe-area-inset-right));bottom:max(1rem, env(safe-area-inset-bottom));z-index:35;flex-direction:row-reverse;align-items:center;gap:.5rem;display:flex;position:fixed}.section-fab{right:max(1rem, env(safe-area-inset-right));bottom:max(1rem, env(safe-area-inset-bottom));z-index:35;background:var(--accent);color:#fff;letter-spacing:.02em;cursor:pointer;border:0;border-radius:999px;width:3.1rem;height:3.1rem;font-size:.72rem;font-weight:700;position:fixed;box-shadow:0 8px 24px #1c191538}.reader-mobile-fabs>.section-fab{z-index:auto;position:static;bottom:auto;right:auto}.comments-fab{background:var(--ink)}.section-fab:hover{background:var(--accent-hover)}.section-sheet{z-index:45;align-items:end;display:grid;position:fixed;inset:0}.section-sheet-backdrop{background:#1c191559;position:absolute;inset:0}.section-sheet-panel{max-height:min(70vh,520px);padding:1rem 1.1rem calc(1rem + env(safe-area-inset-bottom));background:var(--bg-elevated);border:1px solid var(--line);box-shadow:var(--shadow);border-bottom:0;border-radius:14px 14px 0 0;margin:0;position:relative;overflow:auto}.section-sheet-panel h2{letter-spacing:-.02em;margin:0 0 .75rem;font-size:1.05rem}.section-sheet-list{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.section-sheet-list button{appearance:none;border:1px solid var(--line);width:100%;color:var(--ink);text-align:left;font:inherit;cursor:pointer;background:#fff;border-radius:8px;padding:.7rem .85rem}.section-sheet-list button:hover{background:#f5f0e6}@media (width<=800px){.section-rail{display:none!important}}@media (width>=801px){.reader-mobile-fabs,.section-fab,.section-sheet{display:none!important}}
