:root{--paper:#f5f0e6;--paper-2:#ebe4d4;--ink:#1a1612;--ink-soft:#6b5f52;--bordeaux:#6b1a26;--rule:#c8bead;--font-display:"Cormorant Garamond",serif;--font-body:"EB Garamond",serif;--font-mono:"IBM Plex Mono",monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--radius:3px}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body)}h1,h2,h3,h4{font-family:var(--font-display)}.app{min-height:100vh}.container{max-width:1120px;margin:0 auto;padding:var(--space-5)}.container-narrow{max-width:760px}.site-header,.site-footer{display:flex;gap:var(--space-4);justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--rule)}.site-footer{border-top:1px solid var(--rule);border-bottom:0;align-items:flex-start}.nav-link{margin-right:var(--space-3);text-decoration:none;color:var(--ink)}.nav-link.active{color:var(--bordeaux)}.btn{border:1px solid var(--ink);padding:8px 12px;background:transparent;cursor:pointer;font-family:var(--font-body)}.btn-primary{background:var(--bordeaux);border-color:var(--bordeaux);color:var(--paper)}.btn-secondary{background:var(--paper-2)}.btn-ghost{border-color:var(--rule)}.card{background:var(--paper-2);border:1px solid var(--rule);padding:var(--space-4);border-radius:var(--radius);display:block}.badge{display:inline-block;padding:2px 8px;border:1px solid var(--rule);font-size:.85rem}.badge-success{color:#285c2b}.badge-warning{color:#7a5a00}.field{display:grid;gap:var(--space-2);margin-bottom:var(--space-3)}.input,.textarea{width:100%;padding:8px;border:1px solid var(--rule);background:#fff}.page{padding:var(--space-4) 0}.section{margin:var(--space-6) 0}.display{font-size:3rem}.scaps{font-variant:small-caps;letter-spacing:.08em}.meta{font-family:var(--font-mono);font-size:.85rem;color:var(--ink-soft)}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-2)}.agenda-list{display:none}.split{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.muted{opacity:.55}@media (max-width:900px){.site-header{flex-direction:column;align-items:flex-start}.grid,.split{grid-template-columns:1fr}.calendar-grid{display:none}.agenda-list{display:grid;gap:var(--space-3}} )}}
