:root{--paper:#f4ead5;--paper-2:#efe1c4;--ink:#1a1714;--muted:#6b5e4e;--lake:#1c3d32;--lake-2:#16352c;--gold:#e4b54c;--rust:#c45c32;--line:#1a17141f;--safe-bottom:env(safe-area-inset-bottom,0px);--tab-h:calc(68px + env(safe-area-inset-bottom,0px));--sans:ui-rounded, "Trebuchet MS", "Segoe UI", system-ui, sans-serif;--serif:"Iowan Old Style", Palatino, Georgia, serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{font-family:var(--sans);color:var(--ink);background:#0f241f}#root{background:radial-gradient(circle at 20% 10%, #e4b54c1f, transparent 36%), var(--paper);width:min(100%,460px);min-height:100svh;margin:0 auto}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit}.screen{padding:20px 18px calc(var(--tab-h) + 16px)}.screen.stack{padding-bottom:32px}.topbar{align-items:center;gap:10px;margin-bottom:18px;display:flex}.topbar h1{font-family:var(--serif);letter-spacing:-.03em;margin:0;font-size:28px;line-height:1.1}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--rust);margin:0 0 6px;font-size:11px;font-weight:700}.muted{color:var(--muted);margin:0}.lead{color:var(--muted);margin:0 0 18px;font-size:16px;line-height:1.45}.icon-btn,.back{border:1px solid var(--line);width:42px;height:42px;color:var(--ink);background:#fff6;border-radius:14px;flex:none;place-items:center;text-decoration:none;display:grid}.btn{width:100%;color:var(--paper);background:var(--lake);border:0;border-radius:16px;justify-content:center;align-items:center;gap:8px;padding:14px 16px;font-weight:700;text-decoration:none;display:inline-flex}.btn.gold{background:var(--gold);color:var(--lake-2)}.btn.ghost{color:var(--ink);border:1px solid var(--line);background:0 0}.btn.danger{background:var(--rust)}.btn:disabled{opacity:.5}.row-actions{gap:10px;margin-top:16px;display:grid}.row-actions.two{grid-template-columns:1fr 1fr}.card{border:1px solid var(--line);background:#ffffff73;border-radius:20px;padding:14px 16px}.card+.card{margin-top:10px}.card-link{color:inherit;text-decoration:none;display:block}.list{gap:10px;display:grid}.stat-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.stat{background:var(--lake);color:var(--paper);border-radius:18px;padding:14px}.stat b{font-family:var(--serif);margin-bottom:6px;font-size:28px;line-height:1;display:block}.stat span{color:#d9cbb0;font-size:13px}.field{gap:6px;margin-bottom:14px;display:grid}.field span{font-size:13px;font-weight:700}.field input,.field textarea,.field select{border:1px solid var(--line);background:#ffffffb3;border-radius:14px;width:100%;padding:12px 14px}.field textarea{resize:vertical;min-height:90px}.chips{flex-wrap:wrap;gap:8px;display:flex}.gear-details{border:1px solid var(--line);background:#ffffff59;border-radius:14px;margin:0 0 16px;padding:12px 14px}.gear-details summary{cursor:pointer;font-weight:700;list-style:none}.gear-details summary::-webkit-details-marker{display:none}.gear-details[open] summary{margin-bottom:12px}.chip{border:1px solid var(--line);background:#ffffff80;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:700}.chip.on{background:var(--lake);color:var(--paper);border-color:var(--lake)}.comedy{background:var(--lake-2);color:var(--paper);border-radius:22px;margin:12px 0 18px;padding:18px}.comedy .kicker{color:var(--gold);text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:700}.comedy h2{font-family:var(--serif);margin:8px 0;font-size:26px;line-height:1.15}.comedy p{color:#d9cbb0;margin:0}.empty{text-align:center;padding:28px 12px}.empty h2{font-family:var(--serif);margin:8px 0}.tabs{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);width:min(100%,460px);padding:8px 8px var(--safe-bottom);z-index:20;background:#f4ead5eb;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tab{color:var(--muted);justify-items:center;gap:2px;padding:6px 0 4px;font-size:11px;font-weight:700;text-decoration:none;display:grid}.tab.active{color:var(--lake)}.pulse{background:#7dcf8a;border-radius:50%;width:10px;height:10px;animation:1.6s infinite pulse;display:inline-block;box-shadow:0 0 #7dcf8ab3}@keyframes pulse{70%{box-shadow:0 0 0 10px #0000}}.map-wrap{height:calc(100svh - var(--tab-h));position:relative}.map-notice{z-index:5;color:var(--ink-muted);background:#142822eb;border-radius:12px;margin:0;padding:10px 12px;font-size:.92rem;position:absolute;top:12px;left:12px;right:12px}.map-popup .btn{width:100%}.map-wrap .maplibre-map,.maplibregl-map{width:100%;height:100%}.map-fab{z-index:5;width:auto;position:absolute;bottom:16px;right:16px}.invite{font-family:var(--serif);letter-spacing:.18em;text-align:center;padding:18px;font-size:34px}.photo{object-fit:cover;background:var(--paper-2);border-radius:16px;width:100%;height:180px}.check{align-items:center;gap:10px;padding:10px 0;display:flex}.splash{text-align:center;place-items:center;min-height:100svh;padding:24px;display:grid}.splash h1{font-family:var(--serif);margin:0 0 8px;font-size:42px}.title-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.title-row small{color:var(--gold);font-weight:700}.hero-actions .btn{margin-bottom:10px}.confirm-block{margin-top:24px}.confirm-block .muted{margin-bottom:10px}.offline-banner{background:var(--lake);color:var(--paper);text-align:center;padding:8px 14px;font-size:13px;line-height:1.35}.install-sheet-backdrop{z-index:200;background:#1a17146b;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}.install-sheet{background:var(--paper);width:min(100%,460px);padding:20px 18px calc(16px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;animation:.24s ease-out install-sheet-up;box-shadow:0 -10px 40px #1a17142e}.install-sheet-title{font-family:var(--serif);letter-spacing:-.03em;margin:0 0 12px;font-size:26px;line-height:1.1}.install-sheet-lead{margin:0 0 16px;font-size:16px;line-height:1.45}.install-sheet .row-actions{margin-top:18px}.install-sheet-foot{text-align:center;margin:14px 0 0;font-size:13px}.install-sheet-foot a{color:var(--lake);font-weight:700}@keyframes install-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}
