:root{--ink:#23211e;--paper:#f6f0e5;--muted:#777066;--line:#d8cabb;--accent:#2f6d83;--accent-2:#b14f33;--panel:#fffaf2}*{box-sizing:border-box}body{margin:0;background:linear-gradient(90deg,rgba(47,109,131,.09) 1px,transparent 1px),var(--paper);background-size:72px 72px;color:var(--ink);font-family:Avenir Next,Segoe UI,sans-serif}.page{margin:0 auto;max-width:1240px;min-height:100vh;padding:52px clamp(18px,5vw,70px)}.header{align-items:end;display:grid;grid-gap:24px;gap:24px;grid-template-columns:1fr 360px;margin-bottom:32px}.kicker{color:var(--accent-2);font-family:Courier New,monospace;grid-column:1/-1;letter-spacing:0;margin:0;text-transform:uppercase}h1,h2{font-family:Georgia,serif;font-weight:500}h1{font-size:clamp(2.8rem,6vw,5.8rem);line-height:.95;margin:0}.header p:last-child{color:var(--muted);line-height:1.7;margin:0}.calendar{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(7,minmax(0,1fr))}.day{background:rgba(255,250,242,.72);border:1px solid var(--line);border-radius:8px;min-height:150px;padding:14px}.day time{color:var(--accent);font-family:Courier New,monospace}.day h2{color:var(--accent-2);font-size:1.05rem;line-height:1.2;margin:16px 0 8px}.day p{color:var(--muted);font-size:.92rem;line-height:1.45;margin:0}.has-entry{background:var(--panel);border-color:var(--accent-2)}.empty{margin-top:44px}@media (max-width:900px){.calendar,.header{grid-template-columns:1fr}.day{min-height:auto}.empty{margin-top:12px}}