@import "https://fonts.googleapis.com/css2?family=Pirata+One&family=Oswald:wght@400;500;600;700&family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap";
:root{--bg:#09090b;--bg-raised:#101013;--bg-elevated:#141417;--bg-elevated-2:#1b1b20;--bg-sunken:#050506;--border:#232327;--border-strong:#6a6a74;--hairline:#f1ede30f;--text:#f1ede3;--text-dim:#a29e96;--text-faint:#8e8a82;--accent:#ff1f55;--accent-hot:#ff0a8c;--accent-ink:#12000a;--accent-cold:#c9c2b2;--accent-grad:linear-gradient(135deg, var(--accent) 0%, var(--accent-hot) 100%);--state-accepted:#7fa35b;--state-maybe:#d69a2e;--state-declined:#a8483e;--state-locked:#6f8ca6;--shadow-sm:0 1px 2px #0000008c;--shadow-md:0 8px 24px -12px #000000e6;--shadow-lg:0 24px 60px -24px #000000f2;--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");--font-brand:"Pirata One", "Oswald", serif;--font-display:"Oswald", "Arial Narrow", sans-serif;--font-body:"IBM Plex Sans", -apple-system, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--step--2:.7rem;--step--1:.8125rem;--step-0:.9375rem;--step-1:1.1875rem;--step-2:1.5rem;--step-3:2rem;--step-4:clamp(2.1rem, 1.4rem + 2.4vw, 3rem);--tracking-eyebrow:.16em;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-8:3rem;--radius:4px;--radius-lg:8px;--ease:cubic-bezier(.2, .7, .3, 1);--control-min:40px;--control-min-touch:44px;--focus-ring:2px solid var(--accent);--focus-offset:2px;--focus-glow:0 0 0 3px color-mix(in srgb, var(--accent) 40%, transparent);--nav-height-mobile:62px;--header-height:56px;--sidebar-width:232px;--vv-height:100dvh;--vv-offset-top:0px;--kb-inset:0px;--sheet-max:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--step-0);-webkit-font-smoothing:antialiased;margin:0;line-height:1.55;position:relative}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(90rem 40rem at 50% -18rem,#ff1f5521,#0000 62%),radial-gradient(60rem 40rem at -10% 110%,#f1ede309,#0000 60%);position:fixed;inset:0}body:after{content:"";pointer-events:none;z-index:1;background-image:var(--grain);opacity:.045;mix-blend-mode:overlay;position:fixed;inset:0}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 var(--space-3);font-weight:600;line-height:1.04}h1{font-size:var(--step-3);font-weight:700}h2{font-size:var(--step-2)}h3{font-size:var(--step-1)}p{margin:0 0 var(--space-3);max-width:64ch;color:var(--text-dim)}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}button:disabled,.btn:disabled,.icon-btn:disabled,.pin-icon-btn:disabled,.pick-row:disabled{cursor:not-allowed;opacity:.48;filter:grayscale(.2);color:var(--text-dim)}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset);box-shadow:var(--focus-glow)}.eyebrow{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-faint);align-items:center;gap:var(--space-2);display:flex}.eyebrow.accent{color:var(--accent)}html,body{overflow-x:hidden}.app{min-height:100dvh;min-height:var(--vv-height,100dvh);z-index:2;flex-direction:column;display:flex;position:relative;overflow-x:hidden}.topbar{height:var(--header-height);justify-content:space-between;align-items:center;gap:var(--space-3);padding:0 var(--space-4);border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(14px)saturate(1.2);backdrop-filter:blur(14px)saturate(1.2);z-index:30;display:flex;position:sticky;top:0}.wordmark{font-family:var(--font-display);font-weight:700;font-size:var(--step-1);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:var(--space-2);text-shadow:1.5px 1px #ff1f556b;display:flex}.sigil{background:var(--accent-grad);width:24px;height:24px;color:var(--accent-ink);border-radius:3px;place-items:center;font-size:13px;font-weight:700;display:grid;box-shadow:0 0 18px -4px #ff1f55bf}.layout{flex:1;width:100%;display:flex}.sidebar{width:var(--sidebar-width);border-right:1px solid var(--border);padding:var(--space-4) var(--space-3);flex-shrink:0;display:none}.sidebar-link{align-items:center;gap:var(--space-3);padding:var(--space-3);min-height:var(--control-min);border-radius:var(--radius);color:var(--text-dim);font-size:var(--step--1);margin-bottom:2px;font-weight:500;text-decoration:none;display:flex}.sidebar-link:hover{color:var(--text);background:var(--bg-raised)}.sidebar-link.active{color:var(--text);background:linear-gradient(90deg,#ff1f5521,#0000 75%);font-weight:600}main{min-width:0;padding:var(--space-5) var(--space-4);padding-bottom:calc(var(--nav-height-mobile) + var(--space-8));flex:1}.container{max-width:880px;margin:0 auto}.tabbar{height:var(--nav-height-mobile);background:color-mix(in srgb, var(--bg-raised) 88%, transparent);-webkit-backdrop-filter:blur(16px)saturate(1.2);backdrop-filter:blur(16px)saturate(1.2);border-top:1px solid var(--border);z-index:40;padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar-item{color:var(--text-faint);letter-spacing:.04em;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-size:.66rem;text-decoration:none;display:flex;position:relative}.tabbar-item svg{width:20px;height:20px}.tabbar-item.active{color:var(--accent)}.tabbar-item.active:before{content:"";background:var(--accent);width:26px;height:2px;position:absolute;top:0;left:50%;transform:translate(-50%);box-shadow:0 0 14px 2px #ff1f55cc}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-min);padding:var(--space-2) var(--space-5);border-radius:var(--radius);border:1px solid var(--border-strong);background:linear-gradient(180deg, var(--bg-elevated-2), var(--bg-elevated));color:var(--text);font-weight:500;font-size:var(--step--1);white-space:nowrap;cursor:pointer;text-decoration:none;display:inline-flex}.btn-primary{background:var(--accent-grad);color:var(--accent-ink);border-color:#0000;font-weight:600}.btn-sm{padding:6px var(--space-3);min-height:var(--control-min);font-size:var(--step--1)}.btn-block{width:100%}.btn-ghost{color:var(--accent);text-underline-offset:3px;background:0 0;border-color:#0000;text-decoration:underline;text-decoration-thickness:1px}.btn-ghost:hover{color:var(--accent-hot)}.btn-danger{border:1px solid color-mix(in srgb, var(--state-declined) 70%, var(--border-strong));color:var(--state-declined);background:0 0}.card{background:linear-gradient(180deg, var(--bg-elevated-2) 0%, var(--bg-elevated) 100%);border:1px solid var(--border);border-left:3px solid var(--border-strong);border-radius:var(--radius);padding:var(--space-4);margin-bottom:var(--space-3)}.card-accent{border-left-color:var(--accent)}.text-link{color:var(--accent);text-underline-offset:3px;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;min-height:24px;padding:0;text-decoration:underline;text-decoration-thickness:1px;display:inline-flex}.text-link:hover{color:var(--accent-hot)}p a:not(.btn):not(.card-link),.prose a:not(.btn),li a:not(.btn):not(.card-link):not(.list-row):not(.loc-row):not(.sidebar-link):not(.more-link):not(.room-item):not(.tag){color:var(--accent);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}a[target=_blank]:not(.icon-btn):not(.btn):not(.no-ext-icon):after{content:" ↗";font-size:.85em;text-decoration:none}.card-link{color:inherit;cursor:pointer;transition:border-color .16s var(--ease), transform .16s var(--ease), box-shadow .16s var(--ease);padding-right:2rem;text-decoration:none;display:block;position:relative}a.card.card-link,button.card.card-link{display:block}.card-link:after{content:"";right:var(--space-4);border-right:2px solid var(--accent);border-top:2px solid var(--accent);pointer-events:none;width:.45rem;height:.45rem;position:absolute;top:50%;transform:translateY(-50%)rotate(45deg)}.card-link-title{margin:0}.card-link:hover{border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 45%, transparent)}@media (prefers-reduced-motion:no-preference){.card-link:hover{transform:translateY(-2px)}}.list-row.card-link,.loc-row.card-link,.admin-user-row.card-link{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg, var(--bg-elevated-2) 0%, var(--bg-elevated) 100%);margin-bottom:var(--space-2);padding:var(--space-3);border-bottom:1px solid var(--border)}.room-item.card-link{padding-right:1.75rem;position:relative}.room-item.card-link:after{right:var(--space-3)}main button,main [role=button]{min-width:24px;min-height:24px}main a[href]:not(.btn):not(.card-link):not(.list-row):not(.loc-row):not(.room-item):not(.icon-btn):not(.tag):not(.sidebar-link):not(.more-link){align-items:center;min-width:24px;min-height:24px;display:inline-flex}.page-head{margin-bottom:var(--space-5)}.page-head h1:after{content:"";width:52px;height:5px;margin-top:var(--space-3);background:var(--accent-grad);clip-path:polygon(0 0,100% 12%,98% 100%,62% 74%,34% 100%,6% 68%);display:block}.tag{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.06em;text-transform:uppercase;color:var(--text);background:var(--bg-raised);border:1px solid var(--border-strong);padding:3px var(--space-3);min-height:24px;margin:0 var(--space-1) var(--space-1) 0;border-radius:999px;align-items:center;display:inline-flex}.tag-accent{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 40%, transparent);background:#ff1f551a}.tag-declined{color:var(--state-declined);border-color:color-mix(in srgb, var(--state-declined) 40%, transparent);background:#a8483e1f}.rsvp-chip{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--step--1);border:1px solid #0000;border-radius:999px;font-weight:600;display:inline-flex}.rsvp-chip .dot{border-radius:50%;width:8px;height:8px}.rsvp-chip.accepted{background:color-mix(in srgb, var(--state-accepted) 16%, transparent);color:var(--state-accepted)}.rsvp-chip.accepted .dot{background:var(--state-accepted)}.rsvp-chip.maybe{background:color-mix(in srgb, var(--state-maybe) 16%, transparent);color:var(--state-maybe)}.rsvp-chip.declined{background:color-mix(in srgb, var(--state-declined) 16%, transparent);color:var(--state-declined)}.rsvp-chip.sm{padding:2px var(--space-2);font-size:var(--step--2)}.cover{aspect-ratio:1;border-radius:var(--radius);border:1px solid var(--border-strong);background:linear-gradient(150deg, var(--cover-a,#2e2e34), var(--cover-b,#0f0f13));flex-shrink:0;place-items:center;width:56px;display:grid}.cover span{font-family:var(--font-display);font-weight:700;font-size:var(--step-2);color:#ffffffe6}.hero{border:1px solid var(--border);border-top:2px solid var(--accent);border-radius:var(--radius-lg);margin-bottom:var(--space-5);background:radial-gradient(52px at 84% 56%,#ff1f55 0 52px,#0000 52px),linear-gradient(160deg,#1c1d22 0%,#08090c 78%);overflow:hidden}.hero-inner{padding:var(--space-5) var(--space-4);min-height:160px}.hero h1{font-family:var(--font-brand);font-weight:400;font-size:calc(var(--step-4) * 1.1);text-shadow:2px 1.5px #ff1f5580}.lineup-slot{align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--border);display:flex}.lineup-slot:last-child{border-bottom:none}.slot-no{font-family:var(--font-mono);font-size:var(--step--2);color:var(--text-faint);text-align:center;width:1.5rem}.slot-empty{border:1px dashed var(--border-strong);border-radius:var(--radius);padding:var(--space-3);color:var(--text);text-align:center;cursor:pointer;min-height:var(--control-min);background:var(--bg-raised);flex:1}.slot-empty:hover{border-color:var(--accent);color:var(--accent)}:where(input:not([type=checkbox],[type=radio],[type=file],[type=range],[type=color],[type=hidden]),select,textarea){box-sizing:border-box;max-width:100%;padding:var(--space-3);border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-sunken);color:var(--text);font:inherit;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-size:1rem}:where(input,select,textarea):focus-visible{border-color:var(--accent);box-shadow:var(--focus-glow);outline:none}:where(input,textarea)::placeholder{color:var(--text-faint);opacity:1}:where(input[type=checkbox],input[type=radio]){accent-color:var(--accent);width:18px;height:18px}.field{margin-bottom:var(--space-4)}.field label{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);margin-bottom:var(--space-2);display:block}.field input,.field select,.field textarea{width:100%;padding:var(--space-3);border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-sunken);color:var(--text);font:inherit}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);outline:none}.empty-state{text-align:center;padding:var(--space-8) var(--space-4);color:var(--text-dim)}.map-wrap{height:calc(100vh - var(--header-height) - var(--nav-height-mobile) - var(--space-8));border:1px solid var(--border);border-radius:var(--radius-lg);min-height:320px;overflow:hidden}.layer-toggles{gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.layer-toggle{font-family:var(--font-mono);font-size:var(--step--2);text-transform:uppercase;letter-spacing:.08em;padding:var(--space-2) var(--space-3);border:1px solid var(--border);background:var(--bg-raised);color:var(--text-dim);border-radius:999px}.layer-toggle.active{border-color:var(--accent);color:var(--accent);background:#ff1f551a}.list-row{align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--border);color:inherit;text-decoration:none;display:flex}.list-row:hover{color:var(--accent)}.list-row.card-link{color:inherit}.chat-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-sunken);flex-direction:column;min-height:60vh;display:flex;overflow:hidden}.chat-panel.is-compact{height:420px;min-height:0}.chat-messages{padding:var(--space-3);flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.chat-empty{color:var(--text-faint);text-align:center;margin:auto}.chat-msg{max-width:82%;margin-top:var(--space-2);align-self:flex-start}.chat-msg.is-grouped{margin-top:0}.chat-msg.is-own{text-align:right;align-self:flex-end}.chat-meta{gap:var(--space-2);font-size:var(--step--2);color:var(--text-faint);align-items:baseline;margin-bottom:2px;display:flex}.chat-msg.is-own .chat-meta{justify-content:flex-end}.chat-meta strong{color:var(--text-dim);font-weight:600}.chat-bubble{text-align:left;padding:var(--space-2) var(--space-3);background:var(--bg-elevated);border:1px solid var(--border);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:14px;display:inline-block}.chat-msg.is-own .chat-bubble{border-color:color-mix(in srgb, var(--accent) 35%, transparent);background:#ff1f5524}.chat-composer{gap:var(--space-2);padding:var(--space-2);border-top:1px solid var(--border);background:var(--bg-raised);display:flex}.chat-composer input{flex:1;min-width:0}.chat-readonly{padding:var(--space-3);color:var(--text-faint);font-size:var(--step--1);margin:0}.chat-error{margin:var(--space-2)}.chat-status{margin:var(--space-2);color:var(--text-dim);font-size:var(--step--1)}.chat-sys{max-width:92%;margin:var(--space-2) 0;font-size:var(--step--2);color:var(--text-faint);text-align:center;flex-wrap:wrap;justify-content:center;align-self:center;align-items:center;gap:.35rem .5rem;line-height:1.35;display:flex}.chat-sys time{opacity:.75;white-space:nowrap}.chat-sys-icon{opacity:.85;flex-shrink:0;width:.95em;height:.95em}.chat-page{max-width:820px}.chat-title{font-size:var(--step-2);margin:0 0 var(--space-3)}.entity-chat{gap:var(--space-3);display:grid}.entity-chat h3{margin:0}.entity-chat-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.entity-chat-head-actions{align-items:center;gap:.35rem;display:flex}.entity-chat-cta{gap:var(--space-4);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.entity-chat-cta p{min-width:220px;color:var(--text-dim);flex:1;margin:0}.entity-chat-cta-composer{flex-basis:100%;min-width:0}.chat-workspace{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-sunken);gap:0;min-height:60vh;display:flex;overflow:hidden}.chat-workspace-main{flex-direction:column;flex:1;min-width:0;display:flex}.chat-workspace-head{padding:var(--space-3);border-bottom:1px solid var(--border)}.chat-workspace-head .chat-title{margin-bottom:var(--space-1)}.chat-entity-link{font-size:var(--step--1)}.chat-workspace-list{background:var(--bg-raised);flex-direction:column;width:100%;min-width:0;display:flex}.room-list-connect{padding:var(--space-3);gap:var(--space-2);border-bottom:1px solid var(--border);display:grid}.room-list-connect p{color:var(--text-dim);margin:0}.room-list{background:var(--bg-raised);border-right:0;flex-direction:column;width:100%;min-width:0;display:flex}.room-list-toolbar{gap:var(--space-2);padding:var(--space-2);border-bottom:1px solid var(--border);display:flex}.room-list-toolbar input{flex:1;min-width:0}.room-list-empty{padding:var(--space-3)}.room-group-toggle{width:100%;min-height:var(--control-min);padding:var(--space-2) var(--space-3);color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;justify-content:space-between;align-items:center;display:flex}.room-group-items{margin:0;padding:0;list-style:none}.room-item{gap:var(--space-2);padding:var(--space-2) var(--space-3);color:inherit;cursor:pointer;min-height:var(--control-min);align-items:center;text-decoration:none;display:flex}.room-item.is-active{background:color-mix(in srgb, var(--accent) 12%, transparent)}.room-item-avatar{background:var(--bg-sunken);width:32px;height:32px;font-size:var(--step--2);border-radius:999px;flex-shrink:0;place-items:center;display:grid}.room-item-body{flex:1;gap:2px;min-width:0;display:grid}.room-item-top{justify-content:space-between;gap:var(--space-2);display:flex}.room-item-preview{font-size:var(--step--2);color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (min-width:1024px){.chat-workspace-list{border-right:1px solid var(--border);flex-shrink:0;width:300px}}@media (max-width:1023px){.chat-workspace.has-room .chat-workspace-list,.chat-workspace:not(.has-room) .chat-workspace-main{display:none}}.visually-hidden{clip:rect(0,0,0,0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.toggle-row{padding:var(--space-3) 0;border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}@media (min-width:768px){main{padding:var(--space-6);padding-bottom:var(--space-8)}.tabbar{display:none}.sidebar{display:flex}.map-wrap{height:520px}}.wordmark{white-space:nowrap;min-width:0}.wordmark a{text-decoration:none}.wordmark a.text-link,.wordmark .topbar-back{color:var(--accent);text-decoration:underline}.topbar-back{padding:0 var(--space-1);font:inherit;min-height:var(--control-min-touch);cursor:pointer;background:0 0;border:0;align-items:center;display:inline-flex}@media (max-width:479px){.wordmark{font-size:var(--step-0)}.wordmark small{display:none}}.topbar-actions{gap:var(--space-2);align-items:center;display:flex}@media (max-width:479px){.topbar-actions{gap:var(--space-1)}}.icon-btn{width:var(--control-min);height:var(--control-min);min-width:var(--control-min);min-height:var(--control-min);border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--bg-raised);color:var(--text);cursor:pointer;place-items:center;padding:0;text-decoration:none;display:inline-grid}.icon-btn svg{width:18px;height:18px}.icon-btn:hover,.icon-btn:focus-visible{color:var(--accent);border-color:var(--accent)}.icon-btn.icon-btn-labeled,.pin-icon-btn.icon-btn-labeled{width:auto;min-width:var(--control-min);padding:0 var(--space-3);gap:var(--space-2);justify-content:center;align-items:center;display:inline-flex}.icon-btn-label{font-size:var(--step--1);font-weight:500;line-height:1}button.tabbar-item{font:inherit;background:0 0;border:0;font-size:.66rem}.more-backdrop{z-index:45;padding-bottom:calc(var(--nav-height-mobile) + env(safe-area-inset-bottom));background:#03030499;align-items:flex-end;display:flex;position:fixed;inset:0}.more-sheet{background:var(--bg-elevated);border-top:2px solid var(--accent);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;padding:var(--space-2) 0}.more-link{padding:var(--space-3) var(--space-5);color:var(--text);border-bottom:1px solid var(--border);flex-direction:column;gap:2px;text-decoration:none;display:flex}.more-link:last-child{border-bottom:0}.more-link span{font-size:var(--step--1);color:var(--text-faint)}.more-link.active strong{color:var(--accent)}.more-foot{padding:var(--space-2) var(--space-5) 0;border-top:1px solid var(--border);justify-content:flex-end;display:flex}.sidebar{flex-direction:column}.sidebar-sep{background:var(--border);height:1px;margin:var(--space-2) var(--space-3)}.more-sep{background:var(--border);height:1px;margin:var(--space-1) 0}.sidebar-foot{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border)}.sidebar-account{padding:var(--space-2) var(--space-3);margin-bottom:var(--space-2);border-radius:var(--radius);color:inherit;min-width:0;text-decoration:none;display:block}.sidebar-account:hover{background:var(--bg-raised)}.sidebar-account-label{font-size:var(--step--2);color:var(--text-faint);letter-spacing:.04em;text-transform:uppercase;display:block}.sidebar-account-name,.sidebar-account-user{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.sidebar-account-name{font-weight:600;font-size:var(--step--1)}.sidebar-account-user{font-size:var(--step--2);color:var(--text-faint)}.account-display-name{font-size:var(--step-2);color:var(--text);margin:0;font-weight:650}.account-tags{gap:var(--space-1);flex-wrap:wrap;display:flex}.account-tags .tag{text-decoration:none}.sidebar-logout{cursor:pointer;text-align:left;background:0 0;border:0;width:100%;font-family:inherit}.sidebar-logout:hover{color:var(--state-declined)}.account-card{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.account-card p{margin:0 0 var(--space-1)}.account-card+.account-card{margin-top:var(--space-3)}.passkey-offer{right:var(--space-4);bottom:var(--space-4);z-index:30;width:min(22rem, calc(100vw - 2 * var(--space-4)));max-width:calc(100vw - 2 * var(--space-3));position:fixed;box-shadow:0 12px 32px #00000073}.passkey-offer p{margin:0 0 var(--space-2)}.passkey-offer-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}@media (max-width:720px){.passkey-offer{left:max(var(--space-3), env(safe-area-inset-left,0px));right:max(var(--space-3), env(safe-area-inset-right,0px));width:auto;max-width:none;bottom:calc(var(--nav-height-mobile) + env(safe-area-inset-bottom,0px) + var(--space-3))}}.logged-out{min-height:100vh;padding:var(--space-5);place-items:center;display:grid}.logged-out-card{gap:var(--space-3);justify-items:start;max-width:420px;display:grid}.logged-out-card h1{margin:0}.logged-out-card p{color:var(--text-dim);margin:0 0 var(--space-2)}.text-faint,.loading{color:var(--text-faint)}.form-error{color:#ff8fa8;border-radius:var(--radius);padding:var(--space-2) var(--space-3);font-size:var(--step--1);background:#ff1f5514;border:1px solid #ff1f5559;max-width:none}.prose{white-space:pre-line;color:var(--text)}.container-narrow{max-width:680px}.page-head-row{justify-content:space-between;align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.page-actions,.chip-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.chip{align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--step--2);text-transform:uppercase;letter-spacing:.08em;padding:6px var(--space-3);border:1px solid var(--border-strong);background:var(--bg-raised);min-height:32px;color:var(--text);cursor:pointer;border-radius:999px;display:inline-flex}.chip.active{border-color:color-mix(in srgb, var(--accent) 70%, transparent);color:var(--text);background:#ff1f551f}.chip-count{color:var(--text-faint)}.chip-dot{opacity:.4;background:currentColor;border-radius:50%;width:8px;height:8px}.chip.active .chip-dot{opacity:1}.chip.layer-locations.active .chip-dot{background:#ff1f55}.chip.layer-bands.active .chip-dot{background:#c9c2b2}.chip.layer-events.active .chip-dot{background:#6f8ca6}.search-field{align-items:center;display:flex;position:relative}.search-field svg{left:var(--space-3);fill:none;width:18px;height:18px;stroke:var(--text-faint);stroke-width:2px;pointer-events:none;position:absolute}.search-field input{width:100%;padding:var(--space-3) var(--space-8) var(--space-3) calc(var(--space-3) + 26px);border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--bg-sunken);color:var(--text);font:inherit;font-size:1rem}.search-field input:focus,.search-field input:focus-visible{border-color:var(--accent);box-shadow:var(--focus-glow);outline:none}.search-spinner{right:var(--space-3);border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin;position:absolute}@keyframes spin{to{transform:rotate(360deg)}}.field input,.field select,.field textarea{font-size:1rem}.field-label{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);margin-bottom:var(--space-2);display:block}.field-row{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.field-row-plz{grid-template-columns:7rem 1fr}.prefill-chip{margin-left:var(--space-2);border:1px solid var(--border);color:var(--accent-cold);letter-spacing:.04em;text-transform:none;border-radius:999px;padding:1px 6px;font-size:.6rem}.map-marker{border:2px solid var(--text);cursor:pointer;border-radius:50%;min-width:24px;min-height:24px;padding:0}div.map-marker{cursor:default}.map-pin{width:24px;height:24px;position:relative}.map-pin .map-marker{display:block}.map-pin-label{white-space:nowrap;pointer-events:none;letter-spacing:.01em;color:var(--text);text-shadow:0 0 3px #09090b,0 0 3px #09090b,0 1px 2px #09090b;font-size:12px;font-weight:600;position:absolute;top:50%;left:20px;transform:translateY(-50%)}.map-pin-label.is-hidden{visibility:hidden}.map-card-popup .maplibregl-popup-content{background:var(--bg-elevated);color:var(--text);border:1px solid var(--border-strong);border-top:2px solid var(--accent);border-radius:var(--radius-lg);padding:var(--space-3);box-shadow:0 12px 32px #0000008c}.map-card-popup.maplibregl-popup-anchor-bottom .maplibregl-popup-tip,.map-card-popup.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip,.map-card-popup.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{border-top-color:var(--bg-elevated)}.map-card-popup.maplibregl-popup-anchor-top .maplibregl-popup-tip,.map-card-popup.maplibregl-popup-anchor-top-left .maplibregl-popup-tip,.map-card-popup.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{border-bottom-color:var(--accent)}.map-card-popup.maplibregl-popup-anchor-left .maplibregl-popup-tip{border-right-color:var(--bg-elevated)}.map-card-popup.maplibregl-popup-anchor-right .maplibregl-popup-tip{border-left-color:var(--bg-elevated)}.map-card-popup .maplibregl-popup-close-button{color:var(--text-dim);padding:2px 8px;font-size:18px}.map-card-popup .maplibregl-popup-close-button:hover{color:var(--text);background:0 0}.map-card{gap:var(--space-2);min-width:210px;font-size:var(--step--1);display:grid}.map-card-head{gap:var(--space-3);padding-right:var(--space-4);align-items:center;display:flex}.map-card-title{min-width:0}.map-card-title strong{font-size:var(--step-0);line-height:1.2;display:block}.map-card-eyebrow{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.map-card-line{color:var(--text-dim);margin:0}.map-card-faint{color:var(--text-faint)}.map-card-next{color:var(--text)}.map-card .btn{margin-top:var(--space-1)}.map-marker-pick{cursor:grab;border-width:3px}.maplibregl-ctrl-attrib{color:var(--text-faint);font-size:10px;background:#09090bbf!important}.maplibregl-ctrl-attrib a{color:var(--text-dim)!important}.maplibregl-ctrl-attrib-button{filter:invert()}.maplibregl-ctrl-group{border:1px solid var(--border);background:var(--bg-elevated)!important}.maplibregl-ctrl-group button+button{border-top:1px solid var(--border)!important}.maplibregl-ctrl-group button .maplibregl-ctrl-icon{filter:invert()brightness(.85)}.map-page{height:calc(100dvh - var(--header-height) - var(--nav-height-mobile) - env(safe-area-inset-bottom));position:relative}.map-page .map-full{position:absolute;inset:0}.map-toolbar{z-index:5;top:var(--space-3);left:var(--space-3);right:var(--space-3);justify-content:space-between;align-items:flex-start;gap:var(--space-2);pointer-events:none;display:flex;position:absolute}.map-toolbar>*{pointer-events:auto}.map-toolbar .chip{background:color-mix(in srgb, var(--bg-raised) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.map-error{z-index:5;left:var(--space-3);right:var(--space-3);bottom:var(--space-3);position:absolute}.loc-create{height:calc(100dvh - var(--header-height) - var(--nav-height-mobile) - env(safe-area-inset-bottom));position:relative;overflow:hidden}.loc-create .loc-create-map{position:absolute;inset:0}.loc-create-panel{z-index:5;top:var(--space-3);left:var(--space-3);right:var(--space-3);max-height:calc(100% - var(--space-6));background:color-mix(in srgb, var(--bg-elevated) 94%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--border-strong);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-lg);position:absolute;overflow-y:auto}.loc-create-panel.is-sheet{border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-bottom:0;border-top:2px solid var(--accent);max-height:72%;inset:auto 0 0}.loc-create-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.loc-create-question{font-family:var(--font-display);font-size:var(--step-2);margin-top:var(--space-1);font-weight:600;line-height:1.1;display:block}.loc-create-hint{font-size:var(--step--1);color:var(--text-faint);margin:var(--space-3) 0 0;gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.loc-create-pin p{color:var(--text);margin:var(--space-2) 0 var(--space-3)}.result-groups{margin-top:var(--space-3);gap:var(--space-4);display:grid}.result-groups>*,.result-row{min-width:0}.result-group .eyebrow{margin-bottom:var(--space-2)}.result-row{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3);border-radius:var(--radius);color:var(--text);font:inherit;text-align:left;background:0 0;border:1px solid #0000;text-decoration:none;display:flex}.result-row:hover,.result-row:focus-visible{background:var(--bg-raised);border-color:var(--border)}.result-icon{background:var(--bg-sunken);width:28px;height:28px;color:var(--accent);border-radius:50%;flex-shrink:0;place-items:center;font-size:12px;display:grid}.result-row.is-own .result-icon{color:var(--state-accepted);background:#7fa35b2e}.result-text{flex-direction:column;flex:1;min-width:0;display:flex}.result-text strong{font-weight:600}.result-text small{color:var(--text-faint);font-size:var(--step--1);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.result-meta{font-family:var(--font-mono);font-size:var(--step--2);text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);flex-shrink:0}.result-empty{color:var(--text-dim);margin:0}.result-fallback{gap:var(--space-2);flex-wrap:wrap;display:flex}.loc-confirm .field{margin-bottom:var(--space-3)}.loc-more{margin:var(--space-3) 0}.loc-more summary{cursor:pointer;color:var(--text-dim);font-size:var(--step--1);padding:var(--space-2) 0}.loc-more[open] summary{margin-bottom:var(--space-2)}.dup-box{border:1px solid color-mix(in srgb, var(--state-maybe) 55%, transparent);border-radius:var(--radius);padding:var(--space-3);margin-bottom:var(--space-3);background:#d69a2e14}.dup-box p{margin:var(--space-1) 0 var(--space-2);font-size:var(--step--1)}@media (min-width:768px){.map-page,.loc-create{height:calc(100dvh - var(--header-height))}.loc-create-panel,.loc-create-panel.is-sheet{top:var(--space-4);right:var(--space-4);bottom:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--border-strong);border-top:2px solid var(--accent);width:400px;max-height:none;left:auto}}.list-toolbar{gap:var(--space-3);margin-bottom:var(--space-4);display:grid}.loc-list{margin:0;padding:0;list-style:none}.loc-row{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-2);border-bottom:1px solid var(--border);color:inherit;text-decoration:none;display:flex}.loc-row:hover{background:var(--bg-raised)}.loc-row.card-link{color:inherit}.cover-sm{width:42px}.cover-sm span{font-size:var(--step--1)}.loc-row-main{flex-direction:column;flex:1;min-width:0;display:flex}.loc-row-address{color:var(--text-faint);font-size:var(--step--1);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.loc-row-meta{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:2px;display:flex}.loc-row-meta .tag{margin:0}.loc-row-cap{font-family:var(--font-mono);font-size:var(--step--2);color:var(--text-faint)}.list-count{font-family:var(--font-mono);font-size:var(--step--2);text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);margin-top:var(--space-3)}.notice{justify-content:space-between;align-items:center;gap:var(--space-3);border:1px solid color-mix(in srgb, var(--state-accepted) 50%, transparent);border-radius:var(--radius);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);background:#7fa35b1a;display:flex}.notice p{font-size:var(--step--1);margin:2px 0 0}.hero.has-image{background-position:50%;background-size:cover;position:relative}.hero.has-image:before{content:"";background:linear-gradient(#0000 20%,#09090beb 100%);position:absolute;inset:0}.hero.has-image .hero-inner{align-items:flex-end;min-height:220px;display:flex;position:relative}.hero-inner{gap:var(--space-4);align-items:center;display:flex}.hero.hero-entity:not(.has-image){background:linear-gradient(160deg,#1c1d22 0%,#08090c 78%)}@media (max-width:479px){.hero:not(.has-image):not(.hero-entity){background:radial-gradient(30px at 90% 24%,#ff1f55 0 30px,#0000 30px),linear-gradient(160deg,#1c1d22 0%,#08090c 78%)}}.detail-actions{margin:calc(var(--space-5) * -.5) 0 var(--space-4)}.btn-icon svg{flex-shrink:0;width:16px;height:16px}.logo-tile{aspect-ratio:1;border-radius:var(--radius);border:1px solid var(--border-strong);background:linear-gradient(150deg, var(--cover-a,#2e2e34), var(--cover-b,#0f0f13));color:inherit;font:inherit;flex-shrink:0;place-items:center;padding:0;display:grid;position:relative;overflow:hidden}.logo-tile-lg{width:88px}.logo-tile-md{width:64px}.logo-tile span:not(.logo-tile-overlay){font-family:var(--font-display);font-weight:700;font-size:var(--step-2);color:#ffffffe6}.logo-tile.has-logo{background:#f4f1ea}.logo-tile img{object-fit:contain;width:100%;height:100%;padding:8%}.logo-tile.editable{cursor:pointer}.logo-tile.editable:not(.has-logo){border-style:dashed}.logo-tile-overlay{color:var(--text);font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.08em;text-transform:uppercase;opacity:0;background:#09090bb8;flex-direction:column;justify-content:center;align-items:center;gap:2px;transition:opacity .15s;display:flex;position:absolute;inset:0}.logo-tile-overlay svg{width:22px;height:22px}.logo-tile.editable:hover .logo-tile-overlay,.logo-tile.editable:focus-visible .logo-tile-overlay,.logo-tile.dragging .logo-tile-overlay,.logo-tile.busy .logo-tile-overlay{opacity:1}.logo-tile.editable:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.logo-tile.dragging{border:2px solid var(--accent);box-shadow:0 0 0 4px #ff1f5540}@media (hover:none){.logo-tile.editable:not(.busy) .logo-tile-overlay{opacity:1;border-radius:50%;gap:0;width:26px;height:26px;font-size:0;inset:auto 4px 4px auto}.logo-tile.editable:not(.busy) .logo-tile-overlay svg{width:14px;height:14px}}.logo-msg{margin:calc(var(--space-5) * -.5) 0 var(--space-4)}.logo-msg-ok{color:var(--state-accepted);font-size:var(--step--1)}.logo-card-body{gap:var(--space-4);flex-wrap:wrap;align-items:flex-start;display:flex}.logo-card-actions{gap:var(--space-3);flex:1;min-width:220px;display:grid}.logo-card-actions p{margin:0}kbd{font-family:var(--font-mono);border:1px solid var(--border-strong);background:var(--bg-raised);border-radius:4px;padding:0 5px;font-size:.85em}.danger-card{border-color:color-mix(in srgb, var(--state-declined) 35%, var(--border))}.danger-card .loc-create-hint{margin-bottom:var(--space-3)}.danger-confirm{gap:var(--space-3);display:grid}.danger-confirm .field{margin:0}.notice-archived{border-color:color-mix(in srgb, var(--state-maybe) 50%, transparent);background:color-mix(in srgb, var(--state-maybe) 10%, transparent)}.cover-logo{background:#f4f1ea;overflow:hidden}.cover-logo img{object-fit:contain;width:100%;height:100%;padding:10%}.detail-grid{gap:var(--space-3);margin-bottom:var(--space-3);display:grid}.fact-list dl{gap:var(--space-3);margin:0;display:grid}.fact-list dt{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint)}.fact-list dd{gap:var(--space-1) var(--space-3);flex-wrap:wrap;align-items:baseline;margin:2px 0 0;display:flex}.fact-list a,.link-list a,.band-link-list a{color:var(--accent);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.fact-link{font-size:var(--step--1);color:var(--accent)!important}.link-list{flex-direction:column;align-items:flex-start!important}.detail-map{border:1px solid var(--border);border-radius:var(--radius);height:220px;overflow:hidden}.gallery{gap:var(--space-2);margin-bottom:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid}.gallery-item{aspect-ratio:4/3;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-sunken);display:block;position:relative;overflow:hidden}.gallery-item img{object-fit:cover;width:100%;height:100%;display:block}.gallery-remove{width:var(--control-min);height:var(--control-min);border-radius:var(--radius);border:1px solid var(--border-strong);color:var(--text);cursor:pointer;background:#09090bcc;position:absolute;top:6px;right:6px}.gallery-remove:hover{border-color:var(--accent);color:var(--accent)}@media (min-width:768px){.detail-grid{grid-template-columns:1.2fr 1fr;align-items:stretch}.detail-map{height:auto;min-height:220px}}.edit-form fieldset{margin:0 0 var(--space-3);min-width:0}.edit-form legend{font-family:var(--font-display);font-weight:600;font-size:var(--step-1);margin-bottom:var(--space-3);float:left;width:100%;padding:0}.edit-form legend+*{clear:both}.edit-map{border:1px solid var(--border);border-radius:var(--radius);height:260px;margin-top:var(--space-2);overflow:hidden}.row-actions{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.row-actions .loc-create-hint{margin:0}.link-edit-row{gap:var(--space-2);margin-bottom:var(--space-2);grid-template-columns:1fr 1.6fr auto;display:grid}.link-edit-row input{width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-sunken);color:var(--text);font:inherit;font-size:1rem}.form-footer{bottom:calc(var(--nav-height-mobile) + env(safe-area-inset-bottom));justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) 0;background:linear-gradient(180deg, transparent, var(--bg) 35%);margin-bottom:var(--space-4);z-index:3;display:flex;position:sticky}.upload-button{cursor:pointer;margin-top:var(--space-2)}.upload-list{margin:var(--space-3) 0 0;font-size:var(--step--1);color:var(--text-dim);padding:0;list-style:none}.upload-list li.ok{color:var(--state-accepted)}.upload-list li.err{color:#ff8fa8}@media (min-width:768px){.form-footer{bottom:0}}@media (prefers-reduced-motion:reduce){.search-spinner{animation-duration:2s}}.genre-chips{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.genre-chip{border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border));color:var(--text);font-size:var(--step--2);white-space:nowrap;background:#ff1f5512;border-radius:999px;align-items:center;gap:4px;padding:2px 9px;font-weight:500;line-height:1.6;display:inline-flex}.genre-chip-more{border-color:var(--border);color:var(--text-faint);background:0 0}button.genre-chip{cursor:pointer;font-family:inherit}button.genre-chip span{color:var(--text-faint);font-size:1.1em}button.genre-chip:hover span{color:var(--accent)}.genre-picker{gap:var(--space-3);display:grid}.genre-picker h3,.genre-picker>p{margin:0}.genre-picker-head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.genre-field{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-sunken);cursor:text;flex-wrap:wrap;align-items:center;gap:6px;min-height:44px;padding:6px 8px;display:flex}.genre-field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #ff1f5526}.genre-field-chips,.genre-field-chips li{margin:0;padding:0;list-style:none;display:contents}.genre-chip.is-in-field{min-height:36px;font-size:var(--step--1);padding:0 2px 0 12px}.genre-chip-remove{min-width:var(--control-min);min-height:var(--control-min);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-raised);color:var(--text);font:inherit;cursor:pointer;justify-content:center;align-items:center;margin:0;padding:0;font-size:1rem;display:inline-flex}.genre-chip-remove:hover,.genre-chip-remove:focus-visible{color:var(--accent)}.genre-chip.is-leaving{opacity:0;pointer-events:none;transform:scale(.65)}@media (prefers-reduced-motion:no-preference){.genre-chip.is-leaving{transition:opacity .18s,transform .18s}}.genre-field-input{min-width:12ch;min-height:36px;color:var(--text);font:inherit;background:0 0;border:0;flex:12ch;padding:4px 6px;font-size:1rem}.genre-field-input:focus{outline:none}.genre-field-input:disabled{opacity:.6}.genre-cloud{box-sizing:border-box;overscroll-behavior:contain;width:100%;max-height:min(40vh,16rem);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-raised);flex-wrap:wrap;gap:6px;display:flex;overflow-y:auto}.genre-cloud-chip{border:1px solid var(--border);background:var(--bg-sunken);min-height:36px;color:var(--text);font-size:var(--step--1);white-space:nowrap;cursor:pointer;border-radius:999px;align-items:center;padding:6px 12px;font-weight:500;display:inline-flex}.genre-cloud-chip.is-active,.genre-cloud-chip[aria-selected=true]{border-color:var(--accent);background:#ff1f551f;box-shadow:0 0 0 2px #ff1f5538}.genre-cloud{position:relative}.genre-cloud-ghosts{pointer-events:none;width:0;height:0;position:absolute;top:0;left:0}.genre-cloud-chip.is-ghost{pointer-events:none;margin:0;position:absolute}@media (prefers-reduced-motion:no-preference){.genre-cloud-chip.is-ghost{animation:.16s forwards nf-genre-out}.genre-cloud-chip.is-entering{animation:.16s nf-genre-in}}@keyframes nf-genre-out{to{opacity:0;transform:scale(.8)}}@keyframes nf-genre-in{0%{opacity:0;transform:scale(.85)}}.genre-cloud-empty{width:100%;color:var(--text-faint);font-size:var(--step--1);margin:0}.detail-genres{margin:calc(var(--space-5) * -.5) 0 var(--space-4)}@media (prefers-reduced-motion:reduce){.genre-chip.is-leaving{transition:none;transform:none}::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-group(root){animation:none}.event-location{margin:calc(var(--space-5) * -.5) 0 var(--space-4);font-weight:600}.home-picked{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius);display:flex}.home-hits{margin-top:var(--space-2)}.radius-custom{width:7.5rem!important;padding:6px var(--space-3)!important;border-radius:999px!important}.edit-form+.card,.genre-picker+.edit-form{margin-top:var(--space-3)}.seg{border:1px solid var(--border-strong);background:color-mix(in srgb, var(--bg-raised) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:999px;display:inline-flex;overflow:hidden}.seg button{color:var(--text-dim);font:inherit;font-size:var(--step--1);padding:6px var(--space-4);cursor:pointer;background:0 0;border:0;font-weight:600}.seg button.active{background:var(--accent-grad);color:var(--accent-ink)}.ov-controls,.ov-map-toolbar{gap:var(--space-2);display:grid}.ov-map-toolbar{justify-content:stretch}.ov-controls-row{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.ov-controls{margin-bottom:var(--space-4)}.ov-filters{gap:var(--space-3);padding:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;max-width:720px;display:grid}.ov-filters .field{margin:0}.ov-filter-hint{grid-column:1/-1;margin:0}.map-toolbar .ov-filters{background:color-mix(in srgb, var(--bg-elevated) 94%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.ov-section{margin-bottom:var(--space-5)}.ov-heading{font-size:var(--step-1);margin:0 0 var(--space-2)}.ov-table-wrap{border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}.ov-table{border-collapse:collapse;width:100%;font-size:var(--step--1);table-layout:fixed;min-width:720px}.ov-table th:first-child{width:110px}.ov-table th:nth-child(2){width:26%}.ov-table th:last-child{width:30%}.ov-table td{overflow-wrap:anywhere}.ov-table th{text-align:left;font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);background:var(--bg-elevated);font-weight:500}.ov-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);vertical-align:middle}.ov-table tr:last-child td{border-bottom:0}.ov-name a{color:var(--accent);text-underline-offset:3px;font-weight:600;text-decoration:underline}.ov-name a:hover{color:var(--accent-hot)}.ov-detail{color:var(--text-dim)}.ov-detail a{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.ov-kind{white-space:nowrap;color:var(--text-faint);font-family:var(--font-mono);font-size:var(--step--2);text-transform:uppercase;letter-spacing:.06em}.ov-dot{vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.ov-band .ov-dot{background:#c9c2b2}.ov-location .ov-dot{background:#ff1f55}.ov-event .ov-dot{background:#6f8ca6}.ov-genres{min-width:160px}@media (max-width:639px){.ov-table{table-layout:auto;min-width:0}.ov-table thead{display:none}.ov-table,.ov-table tbody,.ov-table tr,.ov-table td{display:block}.ov-table tr{padding:var(--space-3);border-bottom:1px solid var(--border);gap:2px var(--space-2);grid-template-columns:auto 1fr;display:grid}.ov-table tr:last-child{border-bottom:0}.ov-table td{border:0;padding:0}.ov-kind,.ov-name{grid-row:1}.ov-city,.ov-detail,.ov-genres{grid-column:1/-1;min-width:0}.ov-city{color:var(--text-faint)}}.detail-actions+.detail-genres{margin-top:0}.create-card{margin-bottom:var(--space-5)}.create-card h3{margin-top:0}.create-card .field{margin-bottom:var(--space-3)}.create-row{gap:var(--space-3);flex-wrap:wrap;align-items:flex-end;display:flex}.create-row .field{flex:1;min-width:200px;margin-bottom:0}.field-row-3{grid-template-columns:1.4fr 1fr 1fr}@media (max-width:479px){.field-row-3{grid-template-columns:1fr 1fr}.field-row-3 .field:first-child{grid-column:1/-1}}.offline-hint{text-align:center;border-radius:0;margin:0}.topbar-invite{white-space:nowrap}@media (max-width:520px){.topbar-invite{width:var(--control-min-touch);min-width:var(--control-min-touch);min-height:var(--control-min-touch);font-size:var(--step-1);place-items:center;padding:0;display:inline-grid}.topbar-invite-label{display:none}}.topbar-back{z-index:2;flex-shrink:0;position:relative}.invite-form .seg{background:var(--bg-sunken)}.invite-kind button{flex:1}.invite-kind{width:100%;max-width:360px;display:flex}.invite-form .loc-create-hint{margin:var(--space-2) 0 0}.invite-form-context .field{margin:var(--space-4) 0 0}.join-summary{font-size:var(--step--1);color:var(--text-dim);margin:0 0 var(--space-3);line-height:1.5}.band-members-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.band-members-head h3{margin:0}.invite-context-line{font-size:var(--step-1);margin:0}.invite-form .page-actions{margin-top:var(--space-4)}.invite-roles{margin:0 0 var(--space-3);border:0;min-width:0;padding:0}.invite-roles legend{margin-bottom:var(--space-2);padding:0;font-weight:600}.invite-role-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.invite-role-option{gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;align-items:flex-start;display:flex}.invite-role-option:has(input:checked){border-color:var(--accent)}.invite-role-option:focus-within,.invite-roles input[type=radio]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.invite-role-text{gap:2px;display:grid}.invite-role-name{font-weight:600}.invite-role-desc{font-size:var(--step--1);color:var(--text-dim)}.invite-result{gap:var(--space-3);margin-top:var(--space-4);justify-items:start;display:grid}.invite-result p{margin:0}.invite-qr{border-radius:var(--radius);background:#fff;max-width:100%;height:auto}.invite-url{font-family:var(--font-mono);font-size:var(--step--1);word-break:break-all;color:var(--text)}.invite-list{margin-top:var(--space-6)}.invite-list ul{margin:0;padding:0;list-style:none}.invite-row{gap:var(--space-2) var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.invite-row-main{gap:2px;min-width:0;display:grid}.invite-row-main span{font-size:var(--step--1)}.invite-row:not(.is-open) strong{color:var(--text-dim)}.invite-row-detail{flex-basis:100%}.invite-row-detail .invite-result{margin-top:0}.band-members-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.band-members-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.band-members-actions{flex-wrap:wrap;justify-content:flex-end;gap:.25rem;display:flex}.form-ok{color:var(--text);background:color-mix(in srgb, var(--accent) 10%, transparent);border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);border-radius:var(--radius);padding:var(--space-2) var(--space-3);font-size:var(--step--1);margin:var(--space-3) 0 0}.confirm-dialog-backdrop{z-index:80;padding:var(--space-4);background:#0000009e;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-dialog{background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius);width:min(28rem,100%);padding:var(--space-4)}.confirm-dialog h4{margin:0 0 var(--space-3)}.confirm-dialog p{margin:0 0 var(--space-4)}.confirm-dialog-actions{gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.chat-section{margin-top:1.25rem}.chat-section-title{font-size:var(--step-0);margin:0 0 .5rem}.chat-dm-hint{margin:0 0 .75rem}.admin-users-layout{gap:1rem;display:grid}@media (min-width:900px){.admin-users-layout{grid-template-columns:1fr minmax(280px,360px);align-items:start}}.admin-user-row{cursor:pointer;text-align:left;width:100%;color:inherit;font:inherit;background:0 0;border:0}.admin-role-chips{flex-wrap:wrap;gap:.25rem;margin-top:.35rem;display:flex}.admin-role-toggles{flex-direction:column;gap:.35rem;margin-bottom:.75rem;display:flex}.admin-role-toggle{align-items:center;gap:.5rem;display:flex}.admin-audit-list{font-size:var(--step--1);gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.admin-user-detail .page-actions{margin-bottom:var(--space-5)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pin-share-actions,.pin-btn-wrap,.share-btn-wrap{align-items:center;gap:.25rem;display:inline-flex;position:relative}.pin-icon-btn{width:var(--control-min);height:var(--control-min);min-width:var(--control-min);min-height:var(--control-min);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-raised);color:var(--text);cursor:pointer;justify-content:center;align-items:center;padding:0;display:inline-flex}.pin-icon-btn svg{width:20px;height:20px}.pin-icon-btn:hover,.pin-icon-btn:focus-visible,.pin-icon-btn.is-pinned{color:var(--accent);border-color:var(--accent)}.pin-feedback{z-index:2;font-size:var(--step--1);color:var(--text-dim);white-space:nowrap;margin-top:.15rem;position:absolute;top:100%;left:0}.nav-badge{background:var(--accent);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:1.25rem;height:1.25rem;margin-left:.35rem;padding:0 .35rem;font-size:.7rem;font-weight:700;line-height:1;display:inline-flex}.tabbar-icon-wrap{display:inline-flex;position:relative}.nav-badge-dot{min-width:1rem;height:1rem;margin:0;font-size:.62rem;position:absolute;top:-.35rem;right:-.55rem}.share-popover{z-index:20;min-width:16rem;padding:var(--space-3);position:absolute;top:calc(100% + .35rem);right:0}@media (min-width:721px){.detail-actions .share-popover{left:0;right:auto}}@media (max-width:720px){.share-popover{width:100%;max-width:100%;max-height:min(80dvh, var(--sheet-max));z-index:50;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding-bottom:max(var(--space-3), env(safe-area-inset-bottom,0px));padding-left:max(var(--space-3), env(safe-area-inset-left,0px));padding-right:max(var(--space-3), env(safe-area-inset-right,0px));position:fixed;inset:auto 0 0;overflow:auto;transform:none}}.share-dialog-backdrop{z-index:40;padding:var(--space-4);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.share-dialog{width:min(28rem,100%);max-height:90vh;padding:var(--space-4);overflow:auto}.share-hits{flex-wrap:wrap;gap:.35rem;margin:0 0 .75rem;padding:0;list-style:none;display:flex}.share-chips{flex-wrap:wrap;gap:.35rem;margin-bottom:.75rem;display:flex}.band-members-actions{align-items:center;gap:.35rem;display:inline-flex}.map-card-actions{flex-direction:column;gap:.5rem;margin-top:.75rem;display:flex}.map-card-pin{align-self:flex-start}.chat-pin-actions{margin-top:.25rem}@media (hover:hover) and (pointer:fine){.chat-msg .chat-pin-actions{opacity:0}.chat-msg:hover .chat-pin-actions,.chat-msg:focus-within .chat-pin-actions{opacity:1}}.pin-unseen{font-size:var(--step--1);color:var(--accent);font-weight:600}.ov-pin{text-align:right;width:2.5rem}.dialog-backdrop{z-index:40;padding:var(--space-4);background:#0000008c;place-items:center;display:grid;position:fixed;inset:0}.dialog{gap:var(--space-3);width:min(480px,100%);max-height:90vh;display:grid;overflow:auto}.dialog-actions{justify-content:flex-end;gap:var(--space-2);display:flex}.participant-chips{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.participant-chip{border:1px solid var(--border);background:var(--bg-sunken);color:var(--text);font:inherit;font-size:var(--step--1);cursor:pointer;border-radius:999px;padding:.2rem .7rem}.dialog-stack{gap:var(--space-3);display:grid}.dialog-stack>label{margin-bottom:calc(-1 * var(--space-2))}.pick-list{gap:2px;display:grid}.pick-list .eyebrow{margin-bottom:var(--space-1)}.pick-row{justify-content:space-between;align-items:baseline;gap:var(--space-3);width:100%;min-height:var(--control-min);border-radius:var(--radius);color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:.6rem .75rem;display:flex}.pick-row strong{color:var(--text)}.pick-row .text-faint{font-size:var(--step--1)}.pick-row:hover:not(:disabled),.pick-row:focus-visible{background:var(--bg-raised)}.pick-row:hover:not(:disabled) strong{color:var(--accent)}.pick-row:disabled{cursor:not-allowed;opacity:.55}.chat-entity-chip{border:1px solid var(--border);border-radius:8px;padding:0 .4em;text-decoration:none;display:inline-block}.chat-mention{font-weight:600}.chat-link-picker{padding:var(--space-2);border-top:1px solid var(--border);gap:var(--space-2);display:grid}.entity-link-wrap{display:inline-block;position:relative}.entity-link-btn{color:var(--accent);font:inherit;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;min-height:24px;padding:0;text-decoration:underline}.entity-link-menu{z-index:5;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-1);min-width:12rem;margin-top:4px;position:absolute}.entity-link-menu button{text-align:left;width:100%;padding:var(--space-2);cursor:pointer;color:inherit;background:0 0;border:0;display:block}.modal{color:inherit;width:min(520px, calc(100vw - 2 * var(--space-4)));max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 2 * var(--space-4));background:0 0;border:0;padding:0;overflow:visible}.modal::backdrop{background:#0009}.modal-body{max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 2 * var(--space-4));flex-direction:column;margin:0;display:flex;overflow:hidden}.modal-head{justify-content:space-between;align-items:center;gap:var(--space-3);z-index:1;background:var(--bg-raised);margin:0 0 var(--space-3);padding-bottom:var(--space-1);flex-shrink:0;display:flex;position:sticky;top:0}.modal-head h2{margin:0}.modal-content{-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow:auto}.modal-content>.page-actions:last-child,.modal-content>.modal-actions:last-child,.modal-content>.dialog-actions:last-child,.modal-content>form>.page-actions:last-child,.modal-content>.dialog-stack>.page-actions:last-child,.modal-content>.dialog-stack>.dialog-actions:last-child{z-index:1;background:var(--bg-raised);padding-top:var(--space-3);padding-bottom:env(safe-area-inset-bottom,0px);position:sticky;bottom:0}.modal-close{min-width:var(--control-min);min-height:var(--control-min);text-decoration:none}.modal-actions{gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;justify-content:flex-end;display:flex}.rehearsal-link{white-space:nowrap;align-items:center;display:inline-flex}.rehearsal-link.is-active{border-color:var(--accent)}.rehearsal-wrap{position:relative}.rehearsal-menu{z-index:30;min-width:16rem;padding:var(--space-2);gap:2px;display:grid;position:absolute;top:calc(100% + .4rem);right:0}.rehearsal-menu .pick-row{text-decoration:none}#band-chat{scroll-margin-top:calc(var(--header-height) + var(--space-3))}.rehearsal-label-short{display:none}@media (max-width:520px){.rehearsal-link{min-width:var(--control-min-touch);min-height:var(--control-min-touch);padding:0 var(--space-2);justify-content:center}.rehearsal-label-full{display:none}.rehearsal-label-short{display:inline}}@media (max-width:420px){.wordmark-text,.wordmark small{display:none}}.admin-mode{align-items:center;gap:var(--space-2);display:inline-flex}.admin-mode.is-active{position:relative}.admin-mode-chip{min-width:44px;min-height:44px;padding:0 var(--space-3);border:1px solid var(--accent);border-radius:var(--radius);color:var(--text);font:inherit;font-size:var(--step--1);white-space:nowrap;cursor:pointer;background:#ff1f551f;align-items:center;gap:6px;font-weight:700;display:inline-flex}.admin-mode-chip svg{width:18px;height:18px;color:var(--accent);flex:none}.admin-mode-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.admin-mode-remaining{font-variant-numeric:tabular-nums}.admin-mode-menu{z-index:60;width:min(16rem, calc(100vw - 2 * var(--space-4)));padding:var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-raised);gap:var(--space-3);display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 32px #00000073}.admin-mode-menu-head{font-size:var(--step--1);white-space:normal;margin:0}.admin-mode-menu-head span{color:var(--text-dim)}.admin-mode-start svg{width:18px;height:18px}@media (max-width:360px){.admin-mode-remaining{display:none}}.chat-title-row{align-items:center;gap:var(--space-2);display:flex}.chat-bell svg,.inbox-btn svg{width:18px;height:18px}.chat-bell.is-on{color:var(--accent)}.chat-bell.is-forced{opacity:1;cursor:help}.inbox-wrap,.inbox-btn{position:relative}.inbox-btn .nav-badge-dot{position:absolute;top:-.2rem;right:-.3rem}.inbox-backdrop{display:none}.inbox-menu{z-index:30;width:min(22rem, calc(100vw - 2 * var(--space-4)));max-width:calc(100vw - 2 * var(--space-3));padding:var(--space-2);gap:2px;display:grid;position:absolute;top:calc(100% + .4rem);right:0}.inbox-item{align-items:center;text-decoration:none}.inbox-item-main{min-width:0;display:grid}.inbox-preview{font-size:var(--step--1);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.inbox-item-meta{font-size:var(--step--1);justify-items:end;gap:2px;display:grid}.inbox-empty{margin:var(--space-2)}.inbox-all{color:var(--accent);text-underline-offset:3px;justify-content:center;text-decoration:underline}.install-steps{margin:var(--space-3) 0 0;gap:var(--space-2);padding-left:1.25rem;display:grid}.install-steps li{line-height:1.5}.install-inline-icon{vertical-align:-.2em;width:1.1em;height:1.1em;color:var(--accent);margin-left:.15em}.sidebar-install{color:var(--text-dim)}.more-foot{gap:var(--space-2);flex-wrap:wrap;display:flex}.inbox-cta{padding:var(--space-2)}.chat-cmd-menu{border-top:1px solid var(--border);background:var(--bg-elevated);max-height:240px;overflow-y:auto}.chat-cmd-row{min-height:36px}.chat-cmd-row.is-active,.chat-cmd-row[aria-selected=true]{background:var(--bg-raised)}.lineup-suggestion-card{border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-3);margin:var(--space-2) 0;background:var(--bg-raised)}.lineup-suggestion-actions,.lineup-rsvp-actions,.lineup-slot-tools{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.lineup-slot{flex-wrap:wrap}.lineup-slot-conflict{box-shadow:inset 3px 0 0 var(--state-declined)}.event-card-mine{box-shadow:inset 3px 0 0 var(--state-accepted)}.lineup-band-search{gap:var(--space-2);display:grid}.event-map-link{color:var(--accent);text-underline-offset:3px;margin-left:.25em;text-decoration:underline}.lineup-suggestions{margin-top:var(--space-4)}.lineup-suggestions h3{font-size:var(--step-1);margin-bottom:var(--space-2)}.container-detail{min-width:0;max-width:1320px;overflow-x:clip;container:detail-page/inline-size}.detail-layout{gap:var(--space-4);flex-direction:column;display:flex}.detail-layout-main{gap:var(--space-3);min-width:0;display:grid}.detail-layout-aside{min-width:0}.detail-layout-aside .entity-chat{min-height:420px}.mod-list{margin:0 0 var(--space-3);gap:var(--space-2);padding:0;list-style:none;display:grid}.mod-list li{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--border);display:flex}.orga-list{margin:var(--space-3) 0 0;gap:var(--space-3);padding:0;list-style:none;display:grid}.orga-row{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.orga-meta{align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.orga-contact-name{margin:0}.contact-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.contact-fact{align-items:flex-start;gap:var(--space-2);flex-direction:column;display:flex}@container detail-page (min-width:1100px){.detail-layout.has-aside{align-items:start;gap:var(--space-5);grid-template-columns:minmax(0,1fr) minmax(380px,420px);display:grid}.detail-layout-aside{top:calc(var(--header-height) + var(--space-3));height:calc(100dvh - var(--header-height) - var(--space-4));max-height:calc(100dvh - var(--header-height) - var(--space-4));position:sticky}.detail-layout-aside .entity-chat{flex-direction:column;height:100%;min-height:0;display:flex}.detail-layout-aside .chat-panel.is-compact,.detail-layout-aside .entity-chat-cta{flex:1;height:auto;min-height:0}}@media (max-width:767px){.detail-layout-aside{scroll-margin-bottom:calc(var(--nav-height-mobile) + var(--space-3))}}.chat-e2ee-hint{align-items:center;gap:.35rem;margin:0 0 .75rem;display:flex}.chat-e2ee-lock{font-size:.95em}.chat-e2ee-banner{border:1px solid var(--border);border-radius:6px;margin:0 0 .75rem;padding:.5rem .75rem}.chat-undecryptable{margin:var(--space-3) 0;border:1px dashed var(--border);border-radius:6px;padding:.75rem}.chat-unencrypted-warn{color:var(--muted,#888);margin:0 0 .25rem;font-size:.8em}.chat-quote{text-align:left;border:0;border-left:2px solid var(--accent);width:100%;color:var(--text-faint);font:inherit;font-size:var(--step--2);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;margin:0 0 2px;padding:.15rem .5rem;display:block;overflow:hidden}.chat-msg.is-own .chat-quote{border-left-color:color-mix(in srgb, var(--accent) 70%, white)}.chat-msg.is-highlight .chat-bubble{outline:2px solid var(--accent);outline-offset:2px}.chat-edited{font-size:var(--step--2);color:var(--text-faint);margin-left:.4em;display:inline-block}.chat-deleted{color:var(--text-faint);margin:0;font-style:italic}.chat-msg-actions{flex-wrap:wrap;gap:.15rem;margin-top:.15rem;display:flex;position:relative}@media (hover:hover) and (pointer:fine){.chat-msg .chat-msg-actions{opacity:0}.chat-msg:hover .chat-msg-actions,.chat-msg:focus-within .chat-msg-actions{opacity:1}}.chat-quick-react,.chat-msg-menu{z-index:5;flex-wrap:wrap;gap:.2rem;padding:.35rem;display:flex;position:absolute;bottom:100%;left:0}.chat-msg.is-own .chat-quick-react,.chat-msg.is-own .chat-msg-menu{left:auto;right:0}.chat-msg-menu{flex-direction:column;min-width:10rem}.chat-quick-emoji{border:1px solid var(--border);background:var(--bg-elevated);cursor:pointer;border-radius:8px;padding:.1rem .3rem;font-size:1.1rem;line-height:1.4}.chat-react-row{flex-wrap:wrap;gap:.25rem;margin-top:.25rem;display:flex}.chat-react-chip{border:1px solid var(--border);background:var(--bg-elevated);font:inherit;font-size:var(--step--2);cursor:pointer;border-radius:999px;align-items:center;gap:.2rem;padding:.05rem .45rem;display:inline-flex}.chat-react-chip.is-own{border-color:var(--accent);background:#ff1f5524}.chat-reply-bar{padding:.35rem var(--space-2);border-top:1px solid var(--border);background:var(--bg-raised);font-size:var(--step--1);justify-content:space-between;align-items:center;gap:.5rem;display:flex}.chat-file-chips{padding:.25rem var(--space-2);flex-wrap:wrap;gap:.35rem;margin:0;list-style:none;display:flex}.chat-file-chips li{border:1px solid var(--border);font-size:var(--step--2);border-radius:8px;align-items:center;gap:.25rem;padding:.1rem .35rem;display:inline-flex}.chat-attach input{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.chat-img-wrap{background:var(--bg-sunken);cursor:pointer;border:0;border-radius:8px;width:min(280px,70vw);padding:0;display:block;position:relative;overflow:hidden}.chat-img-sizer{display:block}.chat-img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.chat-img-ph{color:var(--text-faint);font-size:var(--step--2);place-items:center;display:grid;position:absolute;inset:0}.chat-file{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.chat-file-name{font-weight:600}.chat-emoji-picker{margin:0 var(--space-2) var(--space-2);padding:var(--space-2);gap:var(--space-2);display:grid}.chat-emoji-head{justify-content:space-between;align-items:center;display:flex}.chat-emoji-grid{grid-template-columns:repeat(8,1fr);gap:.15rem;max-height:12rem;display:grid;overflow:auto}.chat-emoji-cell{cursor:pointer;min-width:var(--control-min);min-height:var(--control-min);background:0 0;border:0;border-radius:6px;font-size:1.25rem;line-height:1.6}.chat-emoji-cell:hover,.chat-emoji-cell:focus{background:var(--bg-sunken)}.chat-lightbox{z-index:80;padding:var(--space-4);background:#000000d1;place-items:center;display:grid;position:fixed;inset:0}.chat-lightbox-inner{gap:var(--space-2);max-width:min(960px,100%);max-height:100%;display:grid}.chat-lightbox img{max-width:100%;max-height:calc(var(--vv-height,100dvh) - 6rem);object-fit:contain}.chat-lightbox-bar{gap:var(--space-2);flex-wrap:wrap;justify-content:center;display:flex}.recovery-key{white-space:pre-wrap;word-break:break-all;padding:var(--space-3);background:var(--bg-muted,#111);border-radius:6px}.sas-list{grid-template-columns:repeat(auto-fill,minmax(7rem,1fr));gap:.5rem;padding:0;list-style:none;display:grid}.sas-list li{text-align:center}.crypto-incoming{margin:var(--space-3);background:var(--bg,#1a1a1a);border:1px solid var(--border);z-index:20;border-radius:8px;padding:.75rem 1rem;position:sticky;bottom:3.5rem}.passkey-list{margin:var(--space-2) 0 var(--space-3);padding:0;list-style:none}.passkey-list li{justify-content:space-between;gap:var(--space-2);padding:var(--space-2) 0;border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.passkey-list li:first-child{border-top:0}.admin-mode-toast{top:calc(var(--header-height,56px) + var(--space-2));right:var(--space-3);z-index:60;align-items:center;gap:var(--space-2);max-width:min(26rem,100vw - 2rem);padding:var(--space-2) var(--space-3);border:1px solid var(--accent);border-radius:var(--radius);background:var(--bg-raised);color:var(--text);font-size:var(--step--1);display:flex;position:fixed}.toast-host{z-index:70;top:calc(var(--header-height) + var(--space-2));right:var(--space-3);gap:var(--space-2);pointer-events:none;flex-direction:column;width:min(24rem,100vw - 2rem);display:flex;position:fixed}.toast{pointer-events:auto;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-raised);color:var(--text);font-size:var(--step--1);box-shadow:var(--shadow-md);display:flex}.toast-error{border-color:var(--accent)}.toast-text{min-width:0;color:var(--text);flex:1;margin:0}.toast-undo{flex-shrink:0}.toast-close{padding:var(--space-1) var(--space-2);min-width:var(--control-min);min-height:var(--control-min);flex-shrink:0;text-decoration:none}@media (prefers-reduced-motion:no-preference){.toast{animation:toast-in .18s var(--ease)}}@keyframes toast-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@media (max-width:1023px){.toast-host{top:auto;bottom:calc(var(--nav-height-mobile) + env(safe-area-inset-bottom,0px) + var(--space-2));left:max(var(--space-3), env(safe-area-inset-left,0px));right:max(var(--space-3), env(safe-area-inset-right,0px));width:auto}@media (prefers-reduced-motion:no-preference){.toast{animation-name:toast-in-up}}@keyframes toast-in-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}}.empty-state-title{font-size:var(--step-1);margin:0 0 var(--space-2)}.empty-state-icon{margin-bottom:var(--space-3);color:var(--text-faint);font-size:var(--step-2)}.empty-state .btn{margin-top:var(--space-3)}.skeleton-hold[data-variant=list]{min-height:20rem}.skeleton-hold[data-variant=cards]{min-height:18rem}.skeleton-hold[data-variant=detail]{min-height:22rem}.skeleton-list,.skeleton-cards{display:grid}.skeleton-row{align-items:center;gap:var(--space-3);min-height:4rem;padding:var(--space-3) 0;border-bottom:1px solid var(--border);display:flex}.skeleton-row-main{flex:1;gap:8px;display:grid}.skeleton-card{gap:var(--space-2);min-height:5.5rem;padding:var(--space-4);margin-bottom:var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);display:grid}.skeleton-hero{align-items:center;gap:var(--space-4);min-height:160px;padding:var(--space-5) var(--space-4);margin-bottom:var(--space-4);display:flex}.skeleton-block{background:var(--bg-elevated-2);border-radius:var(--radius);display:block}@media (prefers-reduced-motion:no-preference){.skeleton-block{animation:1.2s ease-in-out infinite skeleton-pulse}}@keyframes skeleton-pulse{0%,to{opacity:.55}50%{opacity:1}}.chat-day{text-align:center;width:100%;margin:var(--space-3) 0 var(--space-2);font-size:var(--step--2);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);align-self:center}.chat-day time{color:inherit}.map-empty{z-index:4;width:min(28rem,100% - 2rem);position:absolute;top:30%;left:50%;transform:translate(-50%)}.map-page{position:relative}.global-search{align-items:center;display:flex}.global-search-desktop.is-hidden{visibility:hidden}.global-search-desktop{width:min(16rem,28vw)}.global-search-desktop input{cursor:pointer;padding-top:.45rem;padding-bottom:.45rem;font-size:.95rem}.global-search-mobile{display:none}@media (max-width:767px){.global-search-desktop{display:none}.global-search-mobile{display:grid}}.global-search-dialog{max-width:none;max-height:none;width:min(36rem, calc(100vw - 2 * var(--space-4)));background:0 0;border:0;margin:12vh auto auto;padding:0}.global-search-dialog::backdrop{background:#0303048c}@media (max-width:767px){.global-search-dialog{width:100vw;max-width:100vw;height:100dvh;height:var(--vv-height,100dvh);margin:0}.global-search-panel{min-height:100%;max-height:100%;padding-top:max(var(--space-3), env(safe-area-inset-top,0px));padding-bottom:max(var(--space-3), env(safe-area-inset-bottom,0px));border-radius:0}}.global-search-panel{padding:var(--space-3);gap:var(--space-3);display:grid}.global-search-input-wrap{align-items:center}.global-search-input-wrap input{padding-right:2.75rem}.global-search-input-wrap .modal-close{right:var(--space-2);position:absolute}.global-search-results{gap:2px;max-height:min(60vh,28rem);display:grid;overflow:auto}@media (max-width:767px){.global-search-results{max-height:calc(var(--vv-height,100dvh) - 8rem)}}.global-search-heading{margin:var(--space-3) var(--space-2) var(--space-1);font-size:var(--step--1);text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint)}.global-search-option{text-align:left;background:0 0;border:0;width:100%}.global-search-option.is-active,.global-search-option[aria-selected=true]{background:var(--bg-sunken)}.global-search-more{padding:var(--space-2);font-size:var(--step--1);color:var(--accent);text-underline-offset:3px;min-height:var(--control-min);text-decoration:underline;display:block}.global-search-hint{margin:var(--space-3) var(--space-2)}.inbox-heading{margin:var(--space-2) var(--space-2) var(--space-1);font-size:var(--step--1);text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint)}.inbox-section,.inbox-task{gap:2px;display:grid}.inbox-actions{gap:var(--space-1);padding:0 var(--space-2) var(--space-2);flex-wrap:wrap;display:flex}.band-music-list{gap:var(--space-3);display:grid}.band-music-card{gap:var(--space-2);display:grid}.band-music-teaser{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;display:flex}.band-music-frame{border-radius:var(--radius);border:0;width:100%;min-height:352px}.band-link-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.member-card-edit{margin-top:var(--space-2);gap:var(--space-2);display:grid}@media (max-width:767px){.icon-btn:not(.icon-btn-labeled),.pin-icon-btn:not(.icon-btn-labeled){width:var(--control-min-touch);height:var(--control-min-touch);min-width:var(--control-min-touch);min-height:var(--control-min-touch)}.icon-btn.icon-btn-labeled,.pin-icon-btn.icon-btn-labeled{min-height:var(--control-min-touch)}}.pin-more{margin-top:1rem}@media (max-width:767px){.inbox-menu.card,.rehearsal-menu.card,.share-popover.card,.chat-emoji-picker.card{margin:0}.inbox-backdrop{z-index:45;background:#0303048c;display:block;position:fixed;inset:0}.inbox-menu{width:100%;max-width:none;max-height:min(75dvh, var(--sheet-max));z-index:46;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--space-3);padding-bottom:calc(env(safe-area-inset-bottom,0px) + var(--space-3));padding-left:max(var(--space-3), env(safe-area-inset-left,0px));padding-right:max(var(--space-3), env(safe-area-inset-right,0px));border-width:1px 0 0;margin:0;position:fixed;inset:auto 0 0;overflow:auto}.rehearsal-menu{width:100%;min-width:0;max-height:min(60dvh, var(--sheet-max));z-index:46;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding-bottom:calc(var(--nav-height-mobile) + env(safe-area-inset-bottom,0px) + var(--space-3));position:fixed;inset:auto 0 0;overflow:auto}.modal{width:100vw;max-width:100vw;max-height:calc(100dvh - env(safe-area-inset-top,0px));margin:auto 0 0}.modal-body{max-height:calc(100dvh - env(safe-area-inset-top,0px));border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding-bottom:env(safe-area-inset-bottom,0px)}.chat-emoji-picker{z-index:50;max-height:min(50dvh, var(--sheet-max));border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding-bottom:max(var(--space-3), env(safe-area-inset-bottom,0px));margin:0;position:fixed;bottom:0;left:0;right:0;overflow:auto}.chat-emoji-grid{grid-template-columns:repeat(6,1fr)}.chat-quick-react,.chat-msg-menu{left:var(--space-3);right:var(--space-3);bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0px));z-index:48;max-width:none;position:fixed}.chat-msg.is-own .chat-quick-react,.chat-msg.is-own .chat-msg-menu{left:var(--space-3);right:var(--space-3)}.chat-composer{flex-wrap:wrap;align-items:stretch}.chat-composer input{min-height:var(--control-min-touch);flex:100%;order:-1}}.app.is-chat-room .tabbar,.app.is-chat-room .more-backdrop{display:none}.app.is-chat-room main{padding:0}.app.is-chat-room .chat-workspace{min-height:0;height:calc(var(--vv-height,100dvh) - var(--header-height));border:0;border-radius:0}.app.is-chat-room .chat-workspace-main,.app.is-chat-room .chat-workspace.has-room .chat-workspace-main{height:100%;min-height:0}.app.is-chat-room .chat-panel{border:0;border-radius:0;flex:1;height:auto;min-height:0}.app.is-chat-room .chat-composer,.app.is-chat-room .chat-reply-bar{z-index:4;padding-bottom:calc(var(--space-2) + env(safe-area-inset-bottom,0px) + var(--kb-inset,0px));position:sticky;bottom:0}.app.is-chat-room .toast-host{bottom:calc(env(safe-area-inset-bottom,0px) + var(--space-2))}@media (min-width:768px){.app.is-chat-room .chat-workspace{height:calc(var(--vv-height,100dvh) - var(--header-height))}}.app.is-chat-room .inbox-menu{padding-bottom:calc(env(safe-area-inset-bottom,0px) + var(--space-3))}@media (max-width:479px){.topbar-back-label{display:none}}.version-banner{z-index:80;top:calc(var(--header-height) + var(--space-2));right:var(--space-3);align-items:center;gap:var(--space-2);width:min(28rem,100vw - 2rem);padding:var(--space-3);flex-wrap:wrap;display:flex;position:fixed;left:auto}.version-banner p{flex:12rem;margin:0}.empty-state-actions{justify-content:center;gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.empty-state-actions .btn{margin-top:0}@media (max-width:1023px){.version-banner{top:auto;bottom:calc(var(--nav-height-mobile) + env(safe-area-inset-bottom,0px) + var(--space-2));left:max(var(--space-3), env(safe-area-inset-left,0px));right:max(var(--space-3), env(safe-area-inset-right,0px));width:auto}}.login-card{width:min(100%,26rem)}.login-card form{gap:var(--space-3);width:100%;display:grid}.login-card .page-actions{margin-top:var(--space-2)}.login-card fieldset.field{margin:0 0 var(--space-4);border:0;padding:0}.login-card .field-label{gap:var(--space-2);align-items:center;font-weight:400;display:flex}.field label.login-choice,.login-choice{align-items:center;gap:var(--space-3);min-height:var(--control-min-touch,44px);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:var(--space-2);font-family:inherit;font-size:var(--step-0);letter-spacing:normal;text-transform:none;color:var(--text);cursor:pointer;display:flex}.field label.login-choice:has(input:checked){border-color:var(--accent);background:#ff1f5514}.login-choice:has(input:checked){border-color:var(--accent);background:#ff1f5514}.field label.login-choice input,.login-choice input{flex:none;margin:0}.login-card fieldset.field>legend{margin-bottom:var(--space-2)}.login-footer{margin-top:var(--space-4);border-top:1px solid var(--border);padding-top:var(--space-3)}.login-methods{gap:var(--space-3);display:grid}.login-methods-question{margin:0;font-weight:600}.login-methods .text-faint{margin:0}.btn.login-method-alt{padding:var(--space-2) var(--space-3);color:var(--accent);font-size:var(--step--1);min-height:var(--control-min-touch,44px);background:0 0;border:0;justify-self:center;text-decoration:underline}.btn.login-method-alt:hover{color:var(--text)}
