:root{--bg: #f6f3ee;--panel: #ffffff;--ink: #1d1b18;--muted: #6f685e;--line: #e2dcd2;--accent: #1f3a5f;--accent-ink: #ffffff;--warn: #9b2c2c;--ok: #2f6b3a;--serif: "Iowan Old Style", "Palatino", Georgia, serif;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--page-max-width: 100%;--text-measure: 90ch;--field-max-width: 880px;--page-gutter: clamp(14px, 3vw, 28px);--settings-sidebar-width: 232px;--settings-content-width: 100%;--panel-gap: 16px;--section-gap: 22px;--card-padding: 14px 20px;--control-height: 34px;--radius: 8px}@media (pointer: coarse){:root{--control-height: 44px}}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #171614;--panel: #201e1b;--ink: #ece6dc;--muted: #a39a8c;--line: #34302a;--accent: #8fb0d8;--accent-ink: #10131a}}:root[data-theme=dark]{--bg: #171614;--panel: #201e1b;--ink: #ece6dc;--muted: #a39a8c;--line: #34302a;--accent: #8fb0d8;--accent-ink: #10131a;color-scheme:dark}:root[data-theme=light]{color-scheme:light}:root[data-motion=reduce] *{transition:none!important;animation:none!important;scroll-behavior:auto!important}:root[data-focus]{--dock-h: 0px !important}:root[data-focus] [data-chat-dock]{display:none!important}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans)}a{color:var(--accent);text-decoration:none}button{font:inherit;cursor:pointer}*{box-sizing:border-box}.page{width:100%;max-width:var(--page-max-width);margin:0;padding:18px var(--page-gutter) 60px}.page.reading p,.page .prose,.settings-content p{max-width:var(--text-measure)}.page.reading textarea,.page.reading input:not([type=checkbox]):not([type=radio]){max-width:var(--field-max-width)}.page>h1:first-child,.page .page-title{margin-top:4px}.page h1{font-family:var(--serif);font-weight:500;font-size:26px;margin:4px 0 10px}.surface{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:var(--card-padding);margin-bottom:var(--panel-gap)}.surface>h2:first-child{margin-top:2px}.page :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select){min-height:var(--control-height)}.empty-state{color:var(--muted);padding:10px 0}
