@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-latin-600-normal-BFCDtZfi.woff2)format("woff2"),url(/assets/fraunces-latin-600-normal-DL5QCzvS.woff)format("woff")}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/outfit-latin-400-normal-BGsTXAXT.woff2)format("woff2"),url(/assets/outfit-latin-400-normal-DMwTpYkH.woff)format("woff")}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/outfit-latin-500-normal-DKnIMDSk.woff2)format("woff2"),url(/assets/outfit-latin-500-normal-ClnHRwRh.woff)format("woff")}:root{--paper:#f3eee6;--card:#fbf8f3;--ink:#1d1914;--muted:#5e564c;--line:#d9cbb8;--olive:#243f34;--olive-2:#315544;--clay:#9c4632;--sand:#efe4d4;--gold:#8a6a32;--danger:#8d2f2f;--ok:#1f6b45;--shadow:0 18px 40px #3826120f;color:var(--ink);background:var(--paper);font-family:Outfit,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-height:100vh;margin:0;font-size:16px}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--olive)}h1,h2,h3{letter-spacing:-.03em;margin:0;font-family:Fraunces,Georgia,serif;font-weight:600}p{line-height:1.5}.shell{grid-template-columns:1fr;min-height:100vh;display:grid}.nav{background:var(--olive);color:#f6f1e8;padding:max(10px, env(safe-area-inset-top)) 12px 10px;z-index:5;flex-direction:column;gap:8px;display:flex;position:sticky;top:0}.nav-bar{justify-content:space-between;align-items:center;gap:12px;display:flex}.menu-toggle{min-height:44px}.nav-panel{display:none}.nav-panel.open{gap:12px;display:grid}.brand{gap:4px;min-width:0;display:grid}.brand strong{font-family:Fraunces,Georgia,serif;font-size:22px;font-weight:600;line-height:1.1}.brand span{display:none}.brand span,.who{color:#d7c7b0;font-size:13px}.nav a{color:#f6f1e8;border-radius:8px;padding:12px 10px;text-decoration:none;display:block}.nav a[aria-current=page],.nav a:hover{background:#ffffff1a}.nav nav{gap:2px;display:grid}.who{gap:8px;display:grid}.main{min-width:0;padding:16px 14px calc(48px + env(safe-area-inset-bottom));max-width:1180px}.page-head{align-items:start;gap:12px;margin-bottom:18px;display:grid}h1{font-size:1.7rem}.lede{color:var(--muted);max-width:68ch}.grid{gap:14px;display:grid}.cards{grid-template-columns:1fr 1fr}.card,.panel{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px}.card{color:inherit;gap:6px;padding:16px;text-decoration:none;display:grid}.card:hover{border-color:#c4ad90}.card b{font-family:Fraunces,Georgia,serif;font-size:32px}.card span,.meta{color:var(--muted);font-size:13px}.panel{gap:12px;padding:18px;display:grid}.panel form{align-content:start;gap:16px;min-width:0;display:grid}.panel form>button{justify-self:start}.split{grid-template-columns:1fr;gap:16px;display:grid}.stack{gap:10px;display:grid}.panel,.matrix{max-width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 6px}th{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:500}.num{text-align:right;font-variant-numeric:tabular-nums}label{gap:6px;font-size:14px;display:grid}input,select,textarea{border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;max-width:100%;padding:12px;font-size:16px}textarea{resize:vertical;min-height:96px}.fields{grid-template-columns:1fr;gap:12px;display:grid}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}button,.button{background:var(--olive);color:#f8f4ee;cursor:pointer;border:0;border-radius:999px;min-height:44px;padding:10px 16px;text-decoration:none}button.secondary,a.secondary{color:var(--olive);border:1px solid var(--line);background:0 0}.nav button.secondary{color:#f6f1e8;border-color:#f6f1e873}.nav button.secondary:hover{background:#ffffff1a}button.danger{background:var(--clay)}button:disabled{opacity:.55;cursor:not-allowed}.banner{background:var(--sand);border-radius:12px;padding:12px 14px}.banner.error{color:var(--danger);background:#f8e4e0}.banner.ok{color:var(--ok);background:#e5f2ea}.pill{background:var(--sand);border-radius:999px;padding:2px 8px;font-size:12px;display:inline-flex}.pill.available{background:#fff;box-shadow:inset 0 0 0 1px #d9d9d9}.pill.tentative{background:#fff;box-shadow:inset 0 0 0 1px #1a1a1a}.pill.confirmed{color:#1a1a1a;background:#ff0}.pill.confirmed.y2027{color:#1a1a1a;background:#8ed973}.pill.blocked{color:#fff;background:red}.pill.unknown{color:#1a1a1a;background:#f2f2f2}.matrix{overflow:auto}.matrix td,.matrix th{min-width:72px;font-size:12px}.login{background:radial-gradient(circle at top left, #efe2cf, transparent 42%), var(--paper);place-items:center;min-height:100vh;padding:24px;display:grid}.login .panel{width:min(520px,100%)}.public{max-width:820px;margin:0 auto;padding:32px 16px 64px}.proposal-frame{border:1px solid var(--line);background:#fff;border-radius:12px;width:100%;min-height:640px}.dirty{color:var(--gold);font-size:13px}.inbox-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.inbox-item{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;gap:6px;padding:14px 16px;display:grid}.inbox-meta{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.inbox-item strong{font-size:16px;line-height:1.35}.legend{color:var(--muted);flex-wrap:wrap;gap:10px 14px;margin:14px 0;font-size:13px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.swatch{background:var(--sand);border-radius:4px;width:12px;height:12px;display:inline-block}.swatch.confirmed{background:#ff0;box-shadow:inset 0 0 0 1px #e6e600}.swatch.y2027{background:#8ed973}.swatch.tentative{background:#fff;box-shadow:inset 0 0 0 1px #1a1a1a}.swatch.available{background:#fff;box-shadow:inset 0 0 0 1px #d9d9d9}.swatch.blocked{background:red}.swatch.unknown{background:#f2f2f2;box-shadow:inset 0 0 0 1px #d9d9d9}.venue-cal-list{gap:14px;display:grid}.venue-cal{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;gap:10px;padding:14px;display:grid}.venue-cal h2{font-size:1.35rem}.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.cal-weekdays{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;text-align:center;font-size:11px}.cal-day{aspect-ratio:1;min-height:44px;color:var(--ink);background:#e7dfd2;border:0;border-radius:10px;align-content:center;justify-items:center;gap:0;padding:2px;font-size:13px;font-weight:600;line-height:1.1;display:grid}.cal-day small{font-size:9px;font-weight:500}.cal-day.confirmed{color:#1a1a1a;background:#ff0}.cal-day.confirmed.y2027{color:#1a1a1a;background:#8ed973}.cal-day.tentative{color:#1a1a1a;background:#fff;box-shadow:inset 0 0 0 2px #1a1a1a}.cal-day.available{color:#1a1a1a;background:#fff;box-shadow:inset 0 0 0 1px #e8e8e8}.cal-day.blocked{color:#fff;background:red}.cal-day.unknown{color:#666;background:#f2f2f2}.cal-day.selected{outline:2px solid var(--ink);outline-offset:1px}.cal-detail{gap:6px;padding-top:4px;display:grid}.cal-detail .pill{justify-self:start}.cal-detail ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.cal-detail li{gap:2px;display:grid}.inquiry-link{min-height:44px;color:inherit;box-shadow:inset 0 0 0 1px var(--line);background:#fff;border-radius:12px;gap:2px;padding:10px 12px;text-decoration:none;display:grid}.inquiry-link strong{font-size:16px}@media (width>=960px){.venue-cal-list{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}}@media (width<=420px){.cards{grid-template-columns:1fr}}@media (width>=700px){.fields{grid-template-columns:1fr 1fr}}@media (width>=960px){.shell{grid-template-columns:240px 1fr}.nav{gap:22px;min-height:100vh;padding:28px 18px}.menu-toggle{display:none}.nav-panel,.nav-panel.open{flex-direction:column;flex:1;gap:22px;display:flex}.brand strong{font-size:28px}.brand span{display:block}.nav a{padding:8px 10px}.who{margin-top:auto}.main{padding:32px clamp(16px,3vw,40px) 64px}.page-head{justify-content:space-between;align-items:end;display:flex}h1{font-size:2.1rem}.cards,.fields{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.split{grid-template-columns:1.2fr .8fr}}
