:root{--bg-page:#ede6de;--bg-app:#fbf8f4;--bg-surface:#fffdfb;--bg-surface-alt:#f7f3ed;--bg-inset:#f2ebe3;--ink-primary:#232120;--ink-body:#6e655c;--ink-muted:#8b8178;--ink-faint:#a19890;--ink-fainter:#b0a69c;--ink-inverse:#fbf8f4;--line:#ede4da;--line-strong:#e7dfd6;--line-input:#e2d8cd;--line-dashed:#d5c9bb;--clay:#9c6b54;--clay-hover:#7e5341;--sand:#c99578;--ok-bg:#edf0ea;--ok-ink:#5c6b52;--warn-bg:#f2ebe3;--warn-ink:#8a6b52;--bad-bg:#f5e8e4;--bad-ink:#8e5a4a;--bad-border:#c58b76;--placeholder:repeating-linear-gradient(135deg, #efe7de 0 8px, #e8dfd4 8px 16px);--placeholder-lg:repeating-linear-gradient(135deg, #efe7de 0 10px, #e8dfd4 10px 20px);--placeholder-hero:repeating-linear-gradient(135deg, #e6dcd1 0 10px, #dfd4c7 10px 20px);--font-display:"Cormorant Garamond", Georgia, serif;--font-ui:"DM Sans", system-ui, -apple-system, sans-serif;--font-mono:"DM Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--gx:20px;--measure-wide:1180px;--radius-pill:999px;--radius-panel:18px;--radius-card:16px;--radius-input:14px}@media (min-width:768px){:root{--gx:30px}}@media (min-width:1180px){:root{--gx:40px}}*,:before,:after{box-sizing:border-box}html{background:var(--bg-app)}body{background:var(--bg-app);color:var(--ink-primary);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;margin:0}a{color:var(--clay);text-decoration:none}a:hover{color:var(--clay-hover)}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}:focus-visible{outline:2px solid var(--clay);outline-offset:2px;border-radius:4px}.rail{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:12px;display:flex;overflow-x:auto}.rail::-webkit-scrollbar{width:0;height:0}.skip-link{z-index:100;border-radius:var(--radius-pill);background:var(--ink-primary);color:var(--ink-inverse);padding:12px 18px;font-size:13px;transition:top .15s;position:absolute;top:-60px;left:12px}.skip-link:focus{color:var(--ink-inverse);top:12px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:no-preference){@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes riseIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}}
