:root{--paper:#FFF4E0;--ink:#1B1B1F;--accent:#FF5D3A;--accent-ink:#fff;--soft:#fff;--line:#1B1B1F;--muted:#6d6657;--free:#35C27A;--r:18px}
html[data-kind=dinner]{--accent:#FF5D3A}
html[data-kind=movie]{--accent:#12295C;--paper:#E9EEF9}
html[data-kind=lunch]{--accent:#35C27A;--paper:#E6F8EC;--accent-ink:#0d2a1a}
html[data-kind=cowork]{--accent:#FFC93C;--accent-ink:#1B1B1F;--paper:#FFF7DA}
html[data-kind=drinks]{--accent:#7B3FE4;--paper:#F1E9FF}
html[data-kind=games]{--accent:#10A7A0;--paper:#E0F6F5}
html[data-kind=night]{--accent:#F0369A;--paper:#FFE6F3}
html[data-kind=menu]{--accent:#FFC93C;--accent-ink:#1B1B1F}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.45 Figtree,system-ui,sans-serif;min-height:100vh;transition:background .4s}
main{max-width:520px;margin:0 auto;padding:28px 16px 64px}
.hi{font:500 13px 'DM Mono',monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.big{font:400 clamp(52px,17vw,92px)/.95 'Dela Gothic One',sans-serif;margin:10px 0 6px;color:var(--accent);-webkit-text-stroke:2px var(--ink);paint-order:stroke fill;overflow-wrap:normal}
.big .w{display:inline-block;white-space:nowrap}
html[data-kind=cowork] .big,html[data-kind=menu] .big{color:var(--accent)}
.big .w>span{display:inline-block;animation:pop .5s cubic-bezier(.3,1.6,.5,1) both}
@keyframes pop{from{transform:translateY(24px) rotate(-8deg) scale(.6);opacity:0}to{transform:none;opacity:1}}
.art{width:120px;height:120px;float:right;margin:-6px 0 0 8px;animation:bob 3.2s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(-6px) rotate(3deg)}}
.what{font-weight:800;font-size:19px;margin:8px 0 2px}
.venue{background:var(--soft);border:2px solid var(--line);border-radius:var(--r);box-shadow:4px 4px 0 var(--line);padding:12px 14px;margin:14px 0}
.venue b{display:block}
.venue small{display:block;color:var(--muted)}
.venue a{color:inherit}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.chip,.btn,.tile{font:600 16px Figtree,sans-serif;color:var(--ink);background:var(--soft);border:2px solid var(--line);border-radius:999px;padding:9px 14px;cursor:pointer;box-shadow:3px 3px 0 var(--line);transition:transform .1s,box-shadow .1s}
.chip:active,.btn:active,.tile:active{transform:translate(3px,3px);box-shadow:0 0 0 var(--line)}
.chip[aria-pressed=true]{background:var(--ink);color:#fff}
.chip small{display:block;font:400 12px 'DM Mono',monospace;opacity:.75}
.chip.full{opacity:.5;cursor:not-allowed}
.yes{display:block;width:100%;font:400 30px 'Dela Gothic One',sans-serif;background:var(--accent);color:var(--accent-ink);border:3px solid var(--line);border-radius:var(--r);box-shadow:6px 6px 0 var(--line);padding:18px;margin:16px 0 12px;cursor:pointer}
.yes:active{transform:translate(6px,6px);box-shadow:none}
.yes:disabled{opacity:.45;box-shadow:none}
.quiet{background:none;border:0;font:600 15px Figtree,sans-serif;color:var(--muted);text-decoration:underline;cursor:pointer;padding:8px 4px}
.who{list-style:none;padding:0;margin:10px 0;display:flex;flex-wrap:wrap;gap:6px}
.who li{font:500 13px 'DM Mono',monospace;border:2px solid var(--line);border-radius:999px;padding:3px 10px;background:var(--soft)}
.who li.in{background:var(--accent);color:var(--accent-ink)}
.who li.out{opacity:.45;text-decoration:line-through}
.on{display:inline-block;background:var(--free);border:2px solid var(--line);border-radius:999px;padding:3px 12px;font:500 13px 'DM Mono',monospace;text-transform:uppercase;transform:rotate(-2deg)}
.days{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 10px}
.day{flex:0 0 auto;min-width:58px;text-align:center;font:600 14px Figtree;border:2px solid var(--line);border-radius:14px;background:var(--soft);padding:6px 4px;cursor:pointer}
.day small{display:block;font:400 11px 'DM Mono',monospace;color:var(--muted)}
.day[aria-pressed=true]{background:var(--ink);color:#fff}
.day[aria-pressed=true] small{color:#ddd}
.day.none{opacity:.4}
.slotbox{background:var(--soft);border:2px solid var(--line);border-radius:var(--r);padding:12px;margin:6px 0}
.slot-free{border-color:var(--free);background:#effaf3}
.slot-busy{opacity:.45;cursor:not-allowed;box-shadow:none;text-decoration:line-through}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}
.tile{border-radius:var(--r);text-align:left;padding:14px;font-weight:800;font-size:18px;line-height:1.15}
.tile small{display:block;font-weight:400;font-size:13px;margin-top:4px;color:var(--muted)}
h2{font:400 22px 'Dela Gothic One',sans-serif;margin:28px 0 8px}
textarea{width:100%;min-height:90px;font:inherit;border:2px solid var(--line);border-radius:14px;padding:10px;background:var(--soft)}
.cal{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}
.cal .btn{background:var(--ink);color:#fff}
.err{color:#b3261e;font-weight:600}
.loading{text-align:center;margin-top:30vh;font:500 14px 'DM Mono',monospace;color:var(--muted)}
.back{margin-top:8px}
@media (prefers-reduced-motion:reduce){.big .w>span,.art{animation:none}*{transition:none!important}}
