:root{--radius: 14px;--tab-h: 64px;--safe-b: env(safe-area-inset-bottom, 0px);--safe-t: env(safe-area-inset-top, 0px)}:root,:root[data-theme=dark],.theme-dark,.feed,.event-hero,.org-cover{--bg: #0b0c0f;--surface: #15171c;--surface-2: #1c1f26;--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .14);--text: #f4f5f7;--muted: #9aa1ad;--accent: #4f8cff;--accent-press: #3b74e0;--like: #ff4d6a;--page-outer: #050506;--bar-bg: rgba(11, 12, 15, .86);--bar-bg-strong: rgba(11, 12, 15, .93);--banner-bg: rgba(21, 23, 28, .94);--chip-bg: rgba(255, 255, 255, .08);--chip-text: #d5d9e0;--body-text: #d9dde4;--tab-idle: #7d8491;--placeholder: #5d6472;--placeholder-strong: #4b5160;--hover: rgba(255, 255, 255, .05);--shadow: rgba(0, 0, 0, .45);--avatar-a: #3a3f4b;--avatar-b: #262a33;--avatar-c: #4a5160;--avatar-d: #353a45;--avatar-text: #dfe3ea;--accent-soft: rgba(79, 140, 255, .1);--accent-soft-strong: rgba(79, 140, 255, .18);--accent-soft-border: rgba(79, 140, 255, .3);--accent-soft-text: #a9c6ff;--error: #ff8a9b;--error-border: rgba(255, 138, 155, .35);--draft-bg: rgba(255, 196, 0, .15);--draft-text: #ffcf4d;--ok: #4cd38a;--scheme: dark}:root[data-theme=light]{--bg: #f4f5f7;--surface: #ffffff;--surface-2: #eceef2;--border: rgba(16, 20, 28, .09);--border-strong: rgba(16, 20, 28, .16);--text: #12141a;--muted: #646b78;--accent: #2f6fe8;--accent-press: #1f58c7;--like: #e8344f;--page-outer: #e4e6eb;--bar-bg: rgba(244, 245, 247, .86);--bar-bg-strong: rgba(244, 245, 247, .94);--banner-bg: rgba(255, 255, 255, .96);--chip-bg: #ffffff;--chip-text: #2b2f38;--body-text: #2b2f38;--tab-idle: #8a909b;--placeholder: #9aa1ad;--placeholder-strong: #b3b8c1;--hover: rgba(16, 20, 28, .04);--shadow: rgba(16, 20, 28, .14);--avatar-a: #dfe3ea;--avatar-b: #c9ced8;--avatar-c: #cfd4dd;--avatar-d: #b8bec9;--avatar-text: #3a3f4b;--accent-soft: rgba(47, 111, 232, .08);--accent-soft-strong: rgba(47, 111, 232, .12);--accent-soft-border: rgba(47, 111, 232, .25);--accent-soft-text: #1f58c7;--error: #d42c46;--error-border: rgba(212, 44, 70, .35);--draft-bg: rgba(255, 170, 0, .16);--draft-text: #8a5a00;--ok: #1a8a50;--scheme: light}:root{color-scheme:var(--scheme)}.theme-dark,.feed,.event-hero,.org-cover{color:var(--text);color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--page-outer);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overflow:hidden}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;text-align:left}a{color:inherit;text-decoration:none}input,select,textarea{font:inherit;color:inherit}.app-shell{height:100dvh;display:flex;justify-content:center}.app{position:relative;width:100%;max-width:480px;height:100%;background:var(--bg);overflow:hidden}@media(min-width:520px){.app{border-left:1px solid var(--border);border-right:1px solid var(--border)}}.muted{color:var(--muted)}.small{font-size:.82rem;line-height:1.4}.small svg{vertical-align:-2px}.top-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(12px + var(--safe-t)) 16px 12px;position:sticky;top:0;z-index:20;background:var(--bar-bg);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--border)}.top-bar.overlay{position:absolute;left:0;right:0;background:transparent;border:none;backdrop-filter:none;-webkit-backdrop-filter:none}.brand{font-size:1.35rem;font-weight:800;letter-spacing:-.04em;text-shadow:0 1px 12px rgba(0,0,0,.35)}.page-heading{font-size:1.25rem;font-weight:700;letter-spacing:-.02em}.top-actions{display:flex;align-items:center;gap:8px}.icon-btn{width:38px;height:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;transition:background .15s ease,transform .1s ease,opacity .15s;flex-shrink:0}.icon-btn:active{transform:scale(.94)}.icon-btn:disabled{opacity:.3;cursor:default}.icon-btn.glass{background:#00000061;border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.icon-btn.glass.active{background:var(--text);color:var(--bg)}.icon-btn.subtle:hover{background:var(--surface-2)}.city-picker{position:relative;display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 12px;border-radius:999px;background:#00000061;border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);font-size:.85rem;font-weight:600}.city-picker select{appearance:none;-webkit-appearance:none;background:transparent;border:none;outline:none;font-weight:600;cursor:pointer;padding-right:2px}.city-picker option{color:#111}.chip-row{display:flex;gap:8px;overflow-x:auto;padding:0 16px;scrollbar-width:none}.chip-row::-webkit-scrollbar{display:none}.chip-row.wrap{flex-wrap:wrap;padding:0}.chip{flex-shrink:0;padding:7px 14px;border-radius:999px;font-size:.85rem;font-weight:600;white-space:nowrap;background:var(--chip-bg);border:1px solid var(--border);color:var(--chip-text);transition:background .15s,color .15s}.chip.active{background:var(--text);color:var(--bg);border-color:var(--text)}.chip.static{cursor:default}.pill{display:inline-block;padding:4px 10px;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:#ffffff29;border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.org-avatar,.person-avatar{border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:800;letter-spacing:-.02em;color:#fff;flex-shrink:0;box-shadow:inset 0 0 0 1px #ffffff2e}.org-avatar{border-radius:28%}.person-avatar{background:linear-gradient(135deg,var(--avatar-a),var(--avatar-b));color:var(--avatar-text)}.date-badge{width:48px;flex-shrink:0;border-radius:10px;overflow:hidden;text-align:center;background:var(--surface-2);border:1px solid var(--border)}.date-badge-month{display:block;font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--accent);padding:2px 0}.date-badge-day{display:block;font-size:1.15rem;font-weight:800;padding:3px 0 4px}.date-badge.large{width:64px;background:#fffffff2;color:#111;border:none;box-shadow:0 10px 30px #00000040}.date-badge.large .date-badge-month{font-size:.72rem;padding:4px 0}.date-badge.large .date-badge-day{font-size:1.6rem;padding:4px 0 6px}.feed{position:absolute;inset:0}.feed-filters{position:absolute;top:calc(62px + var(--safe-t));left:0;right:0;z-index:15}.feed-filters .chip{background:#00000052;border-color:#ffffff24;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#fff}.feed-filters .chip.active{background:#fff;color:#111}.feed-stage{position:absolute;inset:0;bottom:calc(var(--tab-h) + var(--safe-b))}.feed-empty{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center}.feed-card{--org: #333;position:absolute;inset:0;overflow:hidden;overflow:clip;cursor:pointer;animation:cardIn .35s cubic-bezier(.2,.8,.2,1)}@keyframes cardIn{0%{opacity:0;transform:translateY(24px) scale(.985)}to{opacity:1;transform:none}}.feed-card-art,.event-hero,.org-cover{background:radial-gradient(120% 80% at 85% 10%,color-mix(in srgb,var(--org) 55%,#ffffff 0%) 0%,transparent 60%),linear-gradient(160deg,color-mix(in srgb,var(--org) 100%,#fff 12%) 0%,var(--org) 40%,color-mix(in srgb,var(--org) 45%,#000) 100%)}.feed-card-art{position:absolute;inset:0}.art-glow{position:absolute;width:140%;aspect-ratio:1;left:-20%;top:-45%;background:radial-gradient(circle,rgba(255,255,255,.22) 0%,transparent 60%);pointer-events:none}.art-grid{position:absolute;inset:0;pointer-events:none;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.35) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.35) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(180deg,transparent 0%,#000 30%,#000 55%,transparent 90%);-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 30%,#000 55%,transparent 90%)}.art-date{position:absolute;right:22px;top:22%;display:flex;flex-direction:column;align-items:flex-end;line-height:.85;color:#ffffffeb;text-shadow:0 10px 40px rgba(0,0,0,.25)}.art-date span{font-size:1.4rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;opacity:.85;margin-bottom:8px}.art-date strong{font-size:8.5rem;font-weight:800;letter-spacing:-.06em}.feed-card-shade{position:absolute;inset:0;background:linear-gradient(to top,#000000d9,#00000059 45%,#0000 70%);pointer-events:none}.feed-progress{position:absolute;top:calc(112px + var(--safe-t));left:16px;font-size:.75rem;font-weight:600;color:#ffffffbf}.feed-card-info{position:absolute;left:0;right:76px;bottom:20px;padding:0 16px}.org-chip{display:inline-flex;align-items:center;gap:8px;margin-bottom:14px;padding:4px 12px 4px 4px;border-radius:999px;background:#00000059;border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);font-size:.85rem;font-weight:600}.following-check{color:#ffffffb8}.feed-card-info .pill{display:table;margin-bottom:10px}.feed-title{font-size:1.9rem;font-weight:800;line-height:1.08;letter-spacing:-.035em;margin-bottom:12px;text-wrap:balance}.feed-meta{display:flex;flex-direction:column;gap:6px;font-size:.92rem;color:#ffffffe6}.feed-meta span{display:inline-flex;align-items:center;gap:8px}.feed-meta svg{opacity:.75;flex-shrink:0}.friends-going{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:4px 10px 4px 4px;border-radius:999px;background:#00000052;font:inherit;font-size:.82rem;font-weight:600;color:#ffffffeb;cursor:pointer}.friends-going svg{opacity:.7}.avatar-stack{display:flex}.avatar-stack .person-avatar{border:2px solid rgba(0,0,0,.6);margin-left:-6px}.avatar-stack .person-avatar:first-child{margin-left:0}.side-actions{position:absolute;right:10px;bottom:24px;display:flex;flex-direction:column;gap:18px}.side-btn{display:flex;flex-direction:column;align-items:center;gap:5px;width:56px}.side-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#00000059;border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:transform .12s ease,background .15s}.side-btn:active .side-icon{transform:scale(.9)}.side-label{font-size:.7rem;font-weight:600;text-shadow:0 1px 4px rgba(0,0,0,.6)}.side-btn.on.like .side-icon{background:var(--like);border-color:var(--like)}.side-btn.on.like svg{fill:#fff}.side-btn.on.save .side-icon{background:#fff;color:#111;border-color:#fff}.side-btn.on.save svg{fill:#111}.feed-nav{position:absolute;right:14px;top:50%;transform:translateY(-50%);display:none;flex-direction:column;gap:10px}@media(hover:hover)and (pointer:fine){.feed-nav{display:flex}}.tab-bar{position:absolute;left:0;right:0;bottom:0;z-index:30;height:calc(var(--tab-h) + var(--safe-b));padding-bottom:var(--safe-b);display:flex;justify-content:space-around;align-items:center;background:var(--bar-bg-strong);border-top:1px solid var(--border);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--tab-idle);padding:6px 0;transition:color .15s}.tab.active{color:var(--text)}.tab-icon{position:relative;display:inline-flex}.tab-label{font-size:.68rem;font-weight:600}.dot{position:absolute;top:-1px;right:-3px;width:8px;height:8px;border-radius:50%;background:var(--like);border:2px solid var(--bg)}.page{position:absolute;inset:0;overflow-y:auto;overscroll-behavior:contain;animation:pageIn .25s ease}.page.with-tabs{padding-bottom:calc(var(--tab-h) + var(--safe-b) + 12px)}@keyframes pageIn{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:none}}.page-body{padding:16px 16px 32px}.page-title{font-size:1.7rem;font-weight:800;letter-spacing:-.03em;line-height:1.12;margin-bottom:16px;text-wrap:balance}.section-title{display:flex;align-items:center;gap:8px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:28px 0 12px}.body-text{font-size:1rem;line-height:1.6;color:var(--body-text)}.stack{display:flex;flex-direction:column;gap:10px}.sticky-filters{position:sticky;top:calc(63px + var(--safe-t));z-index:19;padding:10px 0;background:var(--bar-bg-strong);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--border)}.sticky-filters .chip,.page .city-picker{background:var(--surface-2);border-color:var(--border);-webkit-backdrop-filter:none;backdrop-filter:none}.sticky-filters .chip.active{background:var(--text);color:var(--bg)}.page .sticky-filters+.page-body .section-title:first-child{margin-top:8px}.event-hero{--org: #333;position:relative;height:300px;overflow:hidden;overflow:clip}.event-hero-content{position:absolute;left:16px;bottom:18px;display:flex;align-items:flex-end;gap:12px}.org-row{width:100%;display:flex;align-items:center;gap:12px;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:background .15s}.org-row:hover{background:var(--surface-2)}.org-row-text{flex:1;min-width:0}.org-row-name{font-weight:700;font-size:.97rem}.info-list{margin-top:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.info-item{display:flex;gap:14px;padding:14px;align-items:flex-start}.info-item+.info-item{border-top:1px solid var(--border)}.info-item>svg{color:var(--muted);margin-top:2px;flex-shrink:0}.info-item.link:hover{background:var(--surface-2);border-radius:0 0 var(--radius) var(--radius)}.info-primary{font-weight:600;margin-bottom:2px}.button-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;padding:0 14px;border-radius:12px;font-weight:700;font-size:.88rem;white-space:nowrap;transition:background .15s,transform .1s}.btn:active{transform:scale(.98)}.btn.small{height:36px;padding:0 18px;font-size:.85rem;border-radius:999px}.btn.primary{background:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-press)}.btn.primary.done{background:var(--surface-2);color:var(--text);border:1px solid var(--border-strong)}.btn.secondary{background:var(--surface);border:1px solid var(--border-strong)}.btn.secondary:hover{background:var(--surface-2)}.btn.block{width:100%;height:52px;font-size:1rem}.friend-chips{display:flex;flex-wrap:wrap;gap:8px}.friend-chip{font:inherit;color:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:8px;padding:4px 12px 4px 4px;border-radius:999px;background:var(--surface);border:1px solid var(--border);font-size:.88rem;font-weight:600}.source-note{display:inline-flex;align-items:center;gap:6px;margin-top:28px;font-size:.78rem;color:var(--muted)}.source-note:hover{color:var(--text)}.text-link{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-size:.88rem;font-weight:600;color:var(--accent)}.action-bar{position:sticky;bottom:0;z-index:10;padding:12px 16px calc(12px + var(--safe-b));background:var(--bar-bg-strong);border-top:1px solid var(--border);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.org-cover{--org: #333;position:relative;height:150px;overflow:hidden;overflow:clip}.org-header{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-end;margin-top:-54px;margin-bottom:12px}.org-header-avatar{padding:4px;background:var(--bg);border-radius:30%;display:inline-flex}.org-sub{margin:-10px 0 12px}.event-row{width:100%;display:flex;gap:14px;align-items:center;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:background .15s}.event-row:hover{background:var(--surface-2)}.event-row-body{flex:1;min-width:0}.event-row-title{font-weight:700;font-size:.97rem;margin-bottom:3px;line-height:1.3}.profile-card{display:flex;align-items:center;gap:16px}.profile-name{font-size:1.35rem;font-weight:800;letter-spacing:-.02em;margin-bottom:4px}.stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.stats>div{display:flex;flex-direction:column;align-items:center;padding:14px 0}.stats>div+div{border-left:1px solid var(--border)}.stats strong{font-size:1.3rem;font-weight:800}.stats span{font-size:.75rem;color:var(--muted);font-weight:600}.message{padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.message-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.message .event-row{background:var(--surface-2)}.search-bar{gap:8px;padding-left:8px}.search-field{flex:1;display:flex;align-items:center;gap:10px;height:42px;padding:0 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;color:var(--muted)}.search-field input{flex:1;min-width:0;background:none;border:none;outline:none;color:var(--text);font-size:.97rem}.search-field input::placeholder{color:var(--muted)}.search-field .clear{color:var(--muted);display:inline-flex}.empty{text-align:center;padding:72px 24px;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:10px}.empty-title{color:var(--text);font-weight:700;font-size:1.1rem}.sheet-backdrop{position:absolute;inset:0;z-index:50;background:#0000008c;display:flex;align-items:flex-end;animation:fade .2s ease}@keyframes fade{0%{opacity:0}to{opacity:1}}.sheet{width:100%;max-height:80%;overflow-y:auto;background:var(--surface);border-top:1px solid var(--border-strong);border-radius:20px 20px 0 0;padding:8px 16px calc(20px + var(--safe-b));animation:sheetUp .28s cubic-bezier(.2,.8,.2,1)}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:none}}.sheet-handle{width:40px;height:4px;border-radius:2px;background:var(--border-strong);margin:4px auto 12px}.sheet-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.sheet-header h3{font-size:1.1rem;font-weight:700}.sheet-event{display:flex;gap:12px;align-items:center;padding:12px;background:var(--surface-2);border-radius:var(--radius);margin-bottom:8px}.sheet-event-title{font-weight:700;margin-bottom:2px}.sheet-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:16px 0 4px}.list-row{width:100%;display:flex;align-items:center;gap:12px;padding:10px 4px;border-radius:10px}.list-row:hover{background:var(--surface-2)}.list-row-icon{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--surface-2);border:1px solid var(--border)}.list-row-text{flex:1;font-weight:600}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.auth-form{display:flex;flex-direction:column;gap:12px}.auth-form .search-field{height:48px}.error-text{color:var(--error);font-size:.85rem}.btn:disabled{opacity:.6;cursor:default}.toast{position:absolute;left:50%;bottom:calc(var(--tab-h) + var(--safe-b) + 16px);transform:translate(-50%);z-index:60;padding:10px 16px;font-size:.85rem;font-weight:600;background:var(--text);color:var(--bg);box-shadow:0 10px 30px #00000059;width:max-content;max-width:calc(100% - 32px);text-align:center;border-radius:16px;animation:fade .2s ease}.spinner{width:28px;height:28px;border-radius:50%;border:3px solid var(--border-strong);border-top-color:var(--text);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.code-input{height:56px;width:100%;text-align:center;font-size:1.6rem;font-weight:700;letter-spacing:.4em;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:12px;outline:none;color:var(--text)}.code-input:focus{border-color:var(--accent)}.code-input::placeholder{color:var(--placeholder-strong)}.btn.google{background:#fff;color:#1f1f1f;border:1px solid var(--border-strong);gap:10px}.btn.google:hover{background:#f2f2f2}.auth-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.8rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.legal{text-align:center;margin:0}.legal a{color:inherit;text-decoration:underline}.auth-links{display:flex;justify-content:space-between}.auth-links button{font-size:.85rem;font-weight:600;color:var(--accent);padding:4px 0}.auth-links button:disabled{opacity:.5}.form{display:flex;flex-direction:column;gap:14px}.field{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.field-label{font-size:.78rem;font-weight:700;color:var(--muted);letter-spacing:.02em}.field-hint{font-size:.75rem;color:var(--muted)}.field-row{display:flex;gap:10px}.field input,.field select,.field textarea{width:100%;min-height:44px;padding:10px 12px;border-radius:10px;background:var(--surface);border:1px solid var(--border-strong);color:var(--text);font-size:.95rem;outline:none;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent)}.field input::placeholder,.field textarea::placeholder{color:var(--placeholder)}.field input[type=date]{color-scheme:var(--scheme)}.field select option{color:#111}.toggle-row{display:flex;align-items:center;gap:12px;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer}.toggle-row>span{display:flex;flex-direction:column}.toggle-row input{width:20px;height:20px;accent-color:var(--accent);flex-shrink:0}.btn.danger{background:transparent;color:var(--error);border:1px solid var(--error-border)}.btn.danger:hover{background:#ff4d6a1a}.button-row.single{grid-template-columns:1fr}.draft-badge{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:6px;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:var(--draft-bg);color:var(--draft-text);vertical-align:2px}.count-badge{min-width:24px;height:24px;padding:0 7px;border-radius:12px;background:var(--accent);color:#fff;font-size:.78rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.notice{display:flex;gap:12px;padding:14px;border-radius:var(--radius);background:var(--accent-soft);border:1px solid var(--accent-soft-border)}.notice>svg{color:var(--accent);flex-shrink:0;margin-top:2px}.small-body{font-size:.92rem}.swatches{display:flex;gap:10px;flex-wrap:wrap}.swatch{width:32px;height:32px;border-radius:50%;box-shadow:inset 0 0 0 1px #fff3}.swatch.on{outline:2px solid var(--text);outline-offset:2px}.request-card{padding:14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;gap:4px}.request-card .form,.request-card .field{margin-top:10px}.request-card .button-row{margin-top:14px}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;margin-top:14px;background:var(--surface-2);border-radius:10px}.segmented button{padding:8px;border-radius:8px;font-size:.85rem;font-weight:600;text-align:center;color:var(--muted)}.segmented button.on{background:var(--bg);color:var(--text)}.media-picker{position:relative;aspect-ratio:4 / 5;max-height:360px;width:100%;border-radius:var(--radius);overflow:hidden;background:var(--surface);border:1px dashed var(--border-strong)}.media-picker.filled{border-style:solid;background:#000}.media-picker img,.media-picker video{width:100%;height:100%;object-fit:cover;display:block}.media-empty{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--muted);text-align:center;padding:16px}.media-empty svg{color:var(--accent)}.media-status{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#0009;color:#fff;font-size:.88rem;font-weight:600}.media-actions{display:flex;gap:16px}.media-actions button{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;font-weight:600;color:var(--accent)}.feed-media,.hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.feed-card.has-media .feed-card-shade{background:linear-gradient(to top,#000000e0,#0006 40%,#0000 65%),linear-gradient(to bottom,#00000073,#0000 22%)}.event-hero.has-media:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,#0000008c,#0000 50%),linear-gradient(to bottom,#00000059,#0000 30%);pointer-events:none}.event-hero.has-media .event-hero-content,.event-hero.has-media .top-bar{z-index:2}.event-hero.has-media{height:420px}.thumb{width:48px;height:56px;border-radius:10px;object-fit:cover;flex-shrink:0;background:var(--surface-2)}.mute-btn{position:absolute;top:calc(112px + var(--safe-t));right:16px}.section-head{display:flex;align-items:center;justify-content:space-between}.section-head .section-title{margin-bottom:0}.text-btn{display:inline-flex;align-items:center;gap:4px;color:var(--accent);font-weight:600;font-size:.88rem;padding:6px 0}.location-summary{display:flex;align-items:center;gap:6px;margin-top:-4px}.chip-row.locations{margin-bottom:12px;padding:0}.install-row img{border-radius:10px;flex-shrink:0}.install-banner{position:absolute;left:12px;right:12px;bottom:calc(var(--tab-h) + var(--safe-b) + 12px);z-index:30;display:flex;align-items:center;gap:10px;padding:10px 10px 10px 12px;background:var(--banner-bg);border:1px solid var(--border-strong);border-radius:16px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 12px 32px var(--shadow);animation:banner-in .3s ease-out}.install-banner img{border-radius:9px;flex-shrink:0}.install-banner-text{flex:1;min-width:0;display:flex;flex-direction:column;font-size:.85rem;line-height:1.3}.install-banner-text span{color:var(--muted);font-size:.8rem}@keyframes banner-in{0%{transform:translateY(12px);opacity:0}to{transform:none;opacity:1}}.install-steps{list-style:none;display:flex;flex-direction:column;gap:12px;margin:4px 0 12px}.install-steps li{display:flex;align-items:center;gap:12px;font-size:.95rem}.step-icon{width:36px;height:36px;border-radius:10px;background:var(--surface-2);display:grid;place-items:center;color:var(--accent);flex-shrink:0}.onboard{position:absolute;inset:0;z-index:60;background:var(--bg);display:flex;flex-direction:column;padding-top:var(--safe-t);animation:fade .2s ease}.onboard-top{display:flex;align-items:center;justify-content:space-between;padding:10px 12px}.onboard-dots{display:flex;gap:6px}.onboard-dots span{width:22px;height:4px;border-radius:2px;background:var(--border-strong);transition:background .2s}.onboard-dots span.on{background:var(--accent)}.onboard-body{flex:1;overflow-y:auto;padding:12px 20px 20px}.onboard-title{font-size:1.6rem;font-weight:800;letter-spacing:-.02em;margin-bottom:6px}.onboard-content{margin-top:24px}.onboard-center{display:flex;flex-direction:column;align-items:center;gap:20px}.onboard-foot{padding:12px 20px calc(16px + var(--safe-b));border-top:1px solid var(--border)}.muted-btn{color:var(--muted);padding:8px 6px}.chip svg{margin-right:2px;vertical-align:-2px}.org-row.static{cursor:default}.org-row.static:hover{background:var(--surface)}.photo-picker{position:relative;border-radius:50%}.photo-picker-badge{position:absolute;right:0;bottom:0;width:32px;height:32px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;border:3px solid var(--bg)}.photo-picker-badge .spinner{width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:spin .8s linear infinite}.settings-list{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:4px 8px}.list-row.static{cursor:default}.list-row.static:hover{background:none}.settings-value{display:block;font-weight:400;margin-top:2px}.danger-row{margin-top:28px;color:var(--like)}.danger-row .list-row-icon{color:var(--like)}.btn.danger{background:var(--like);color:#fff}a.list-row{color:inherit;text-decoration:none}.feed-tabs{display:flex;gap:16px;align-items:center}.feed-tab{font-size:1.05rem;font-weight:700;color:#fff9;padding:6px 0;position:relative;text-shadow:0 1px 10px rgba(0,0,0,.45)}.feed-tab.active{color:#fff}.feed-tab.active:after{content:"";position:absolute;left:25%;right:25%;bottom:0;height:3px;border-radius:2px;background:#fff}.feed-tabs{gap:14px;flex-shrink:0}.feed-tab{white-space:nowrap;font-size:1rem}.top-bar.overlay .city-picker{min-width:0}.top-bar.overlay .city-picker select{max-width:100px;text-overflow:ellipsis}.toggle-line{cursor:pointer}.switch{appearance:none;-webkit-appearance:none;width:46px;height:28px;border-radius:999px;background:var(--border-strong);position:relative;flex-shrink:0;cursor:pointer;transition:background .2s}.switch:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .2s}.switch:checked{background:var(--accent)}.switch:checked:after{transform:translate(18px)}.comments-sheet{display:flex;flex-direction:column;height:72%;max-height:72%;overflow:hidden}.comment-list{flex:1;overflow-y:auto;margin:0 -16px;padding:4px 16px 12px}.comment-empty{text-align:center;padding:40px 0;display:flex;flex-direction:column;gap:4px}.comment{display:flex;gap:10px;align-items:flex-start;padding:10px 0}.comment-main{flex:1;min-width:0}.comment-meta{display:flex;gap:8px;align-items:baseline}.comment-author{font-weight:700;font-size:.85rem}.comment-body{font-size:.95rem;line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:2px}.comment-menu-wrap{position:relative}.comment-more{width:32px;height:32px;color:var(--muted)}.comment-menu{position:absolute;right:0;top:34px;z-index:5;min-width:140px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:12px;padding:4px;box-shadow:0 12px 28px var(--shadow)}.comment-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;border-radius:8px;font-size:.9rem;font-weight:600;text-align:left}.comment-menu button:hover{background:var(--surface)}.danger-text{color:var(--like)}.comment-compose{display:flex;align-items:center;gap:10px;padding-top:10px;border-top:1px solid var(--border)}.comment-compose input{flex:1;min-width:0;height:42px;border-radius:999px;padding:0 16px;background:var(--surface-2);border:1px solid var(--border);color:var(--text);font-size:16px;outline:none}.comment-compose input:focus{border-color:var(--accent)}.comment-send{background:var(--accent);color:#fff}.comment-send:disabled{background:var(--surface-2);color:var(--muted);opacity:1}.comments-link{width:100%;display:flex;align-items:center;gap:10px;padding:14px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);font-weight:600}.comments-link .muted{margin-left:auto;font-weight:400}.stack.tight{gap:2px}.convo-row{width:100%;display:flex;align-items:center;gap:12px;padding:10px 6px;border-radius:12px;text-align:left}.convo-row:hover{background:var(--surface)}.convo-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.convo-top{display:flex;justify-content:space-between;gap:8px}.convo-preview{color:var(--muted);font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.convo-row.unread .convo-preview{color:var(--text);font-weight:600}.unread-dot{width:10px;height:10px;border-radius:50%;background:var(--accent);flex-shrink:0}.chat-page{display:flex;flex-direction:column;overflow:hidden}.chat-body{flex:1;overflow-y:auto;padding:16px 12px;display:flex;flex-direction:column;gap:10px}.chat-hint{text-align:center;margin-top:24px}.bubble-row{display:flex}.bubble-row.mine{justify-content:flex-end}.bubble-stack{max-width:78%;display:flex;flex-direction:column;gap:4px;align-items:flex-start}.bubble-row.mine .bubble-stack{align-items:flex-end}.bubble{padding:9px 14px;border-radius:18px;background:var(--surface-2);line-height:1.35;white-space:pre-wrap;overflow-wrap:anywhere}.bubble-row.mine .bubble{background:var(--accent);color:#fff}.bubble-time{font-size:.7rem;padding:0 6px}.chat-event{display:flex;gap:10px;align-items:center;padding:8px;border-radius:16px;background:var(--surface);border:1px solid var(--border-strong);text-align:left;width:260px;max-width:100%}.chat-event-media{width:56px;height:68px;border-radius:10px;object-fit:cover;flex-shrink:0;background:var(--surface-2)}.chat-event-text{display:flex;flex-direction:column;gap:2px;min-width:0}.chat-compose{padding:10px 12px calc(10px + var(--safe-b));background:var(--bg)}.chat-blocked{text-align:center;padding:14px 16px calc(14px + var(--safe-b));margin:0;background:var(--bg);border-top:1px solid var(--border)}.picker-search{margin-bottom:6px}.test-push .settings-value{display:block;margin-top:4px;line-height:1.4}.test-push .test-ok{color:var(--ok)}.test-push .test-fail{color:var(--error)}.chip-divider{flex-shrink:0;width:1px;align-self:stretch;margin:4px 2px;background:var(--border-strong)}.feed .chip-divider{background:#ffffff38}.pill-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.feed-card-info .pill-row .pill{display:inline-block;margin-bottom:0}.pill.new{background:var(--accent);border-color:var(--accent);color:#fff}.pill.price{text-transform:none;letter-spacing:0}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0 6px}.stat{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border)}.stat svg{color:var(--muted)}.stat strong{font-size:1.35rem;font-weight:800;letter-spacing:-.02em}.stat span{font-size:.78rem;color:var(--muted)}.stat-note{margin-bottom:12px}.row-stats{display:flex;gap:12px;margin-top:4px;font-size:.78rem;color:var(--muted)}.row-stats span{display:inline-flex;align-items:center;gap:4px}.stat-grid.four{grid-template-columns:repeat(4,1fr)}.stat-grid.four .stat{padding:10px}.city-picker{color:inherit;cursor:pointer;max-width:46vw}.city-picker-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feed-meta .feed-place{display:inline-flex;align-items:center;gap:8px;color:inherit;text-decoration:underline;text-decoration-color:#ffffff59;text-underline-offset:3px}.feed-meta .feed-distance{display:inline;gap:0;opacity:.8}.info-item .info-grow{flex:1;min-width:0}.info-item.link{color:inherit;text-decoration:none;align-items:center}.maps-cta{flex-shrink:0;display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border-radius:999px;font-size:.8rem;font-weight:700;color:var(--accent);background:var(--accent-soft-strong)}.place-search,.place-input{position:relative}.place-input input{width:100%;padding-right:36px}.place-verified{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#2e9e5b;color:#fff}.place-results{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 4px);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:12px;overflow:hidden;box-shadow:0 12px 30px var(--shadow)}.place-result{width:100%;display:flex;gap:10px;align-items:flex-start;padding:10px 12px;text-align:left;color:var(--text)}.place-result+.place-result{border-top:1px solid var(--border)}.place-result:hover{background:var(--hover)}.place-result svg{color:var(--muted);margin-top:2px;flex-shrink:0}.place-result>span{display:flex;flex-direction:column;gap:2px}.place-label{font-weight:600}.place-empty{padding:12px}.area-sheet .place-search input{width:100%;height:44px;padding:0 14px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border);color:var(--text);font-size:1rem}.area-options{margin-top:12px}.area-options .list-row{text-align:left;color:var(--text)}.area-options .list-row.selected .list-row-icon{background:var(--accent);border-color:var(--accent);color:#fff}.area-radius{margin-top:14px;display:flex;flex-direction:column;gap:8px}.chip-select{position:relative;display:inline-flex;align-items:center;gap:6px;padding-right:10px;cursor:pointer}.chip-select select{appearance:none;-webkit-appearance:none;background:transparent;border:none;color:inherit;font:inherit;font-weight:600;outline:none;cursor:pointer;padding:0}.chip-select option{color:#111}.feed-card.caught-up{display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 35%,#1d2a3f,var(--bg) 70%)}.feed-card.caught-up .empty{padding:24px;max-width:340px}.feed-card.caught-up .button-row{width:100%;margin-top:16px}.row-meta{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.row-tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:.72rem;font-weight:600;color:var(--muted);background:var(--surface-2);border:1px solid var(--border)}.row-tag.new{background:var(--accent);border-color:var(--accent);color:#fff}.event-row.past{opacity:.6}.add-city{margin-top:2px;font-size:.85rem;padding:0;background:none;border:none;cursor:pointer}.empty-inline{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.signin-hero{text-align:center;padding:28px 12px 18px;display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--muted)}.benefit-list{display:flex;flex-direction:column;gap:14px;margin:8px 0 20px}.benefit{display:flex;align-items:center;gap:12px}.benefit .list-row-icon{flex-shrink:0;color:var(--accent)}.date-range-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:4px 0 18px}.date-range-fields label{display:flex;flex-direction:column;gap:6px;min-width:0}.date-range-fields input{width:100%;min-width:0;height:44px;padding:0 10px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border);color:var(--text);font:inherit;color-scheme:var(--scheme)}.dates-sheet .button-row{display:flex;gap:10px}.dates-sheet .button-row .btn{flex:1}.series-box{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:14px;background:var(--surface-2);border:1px solid var(--border);margin-bottom:16px}.series-box .org-row-name{display:flex;align-items:center;gap:6px}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:12px;background:var(--bg);border:1px solid var(--border)}.segmented button{padding:9px 8px;border-radius:9px;border:none;background:transparent;color:var(--muted);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer}.segmented button.on{background:var(--accent);color:#fff}.series-dates summary{cursor:pointer}.series-dates .chip-row,.series-chips{margin-top:8px}.series-chips .chip{padding:5px 10px;font-size:.8rem}.events-tabs{display:flex;gap:6px;padding:8px 16px 4px}.events-tabs button{flex:1;padding:9px 6px;border-radius:999px;font-size:.86rem;font-weight:700;color:var(--muted);background:var(--surface);border:1px solid var(--border)}.events-tabs button.on{background:var(--text);color:var(--bg);border-color:var(--text)}.friend-strip{display:flex;gap:14px;overflow-x:auto;padding:6px 0 14px;scrollbar-width:none}.friend-strip::-webkit-scrollbar{display:none}.friend-strip-item{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:.78rem;font-weight:600;color:var(--text);flex:0 0 auto;width:60px}.friend-strip-item>span:last-child{max-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friend-strip-add{position:relative;width:52px;height:52px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:1px dashed var(--border-strong);color:var(--accent)}.friend-strip-add .count-badge{position:absolute;top:-4px;right:-4px}.empty.compact{padding:32px 16px}.row-friends{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-size:.8rem;font-weight:600;color:var(--accent);cursor:pointer;border-radius:6px}.row-friends>svg{opacity:.7}.row-friends .avatar-stack{display:inline-flex}.row-friends .avatar-stack>*+*{margin-left:-6px}.stats.four{grid-template-columns:repeat(4,1fr)}.stats>button{display:flex;flex-direction:column;align-items:center;padding:14px 0;color:inherit}.stats>button+div{border-left:1px solid var(--border)}.friends-row{margin-top:14px}.person-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border)}.person-row-text{flex:1;min-width:0}.person-row-text .org-row-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-row-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.friend-tag{display:inline-flex;align-items:center;gap:4px}.search-field.standalone{margin-bottom:4px}.icon-btn{position:relative}.icon-btn .dot{position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:50%;background:var(--like)}.carousel{position:absolute;inset:0}.carousel-track{position:absolute;inset:0;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}.carousel-track::-webkit-scrollbar{display:none}.carousel-track img{flex:0 0 100%;width:100%;height:100%;object-fit:cover;scroll-snap-align:center;scroll-snap-stop:always;-webkit-user-select:none;user-select:none}.carousel-dots{position:absolute;left:0;right:0;top:calc(116px + var(--safe-t));display:flex;justify-content:center;gap:5px;pointer-events:none;z-index:3}.carousel-dots span{width:6px;height:6px;border-radius:50%;background:#ffffff73;transition:background .2s,transform .2s}.carousel-dots span.on{background:#fff;transform:scale(1.15)}.carousel-count{position:absolute;right:12px;top:calc(110px + var(--safe-t));padding:3px 9px;border-radius:999px;font-size:.75rem;font-weight:700;background:#00000080;z-index:3;pointer-events:none}.event-hero .carousel-dots{top:auto;bottom:10px}.event-hero .carousel-count{top:auto;bottom:18px}.photo-strip{display:flex;gap:8px;overflow-x:auto;padding:2px 0 4px}.photo-tile{position:relative;flex:0 0 88px;height:110px;border-radius:12px;overflow:hidden;background:var(--surface-2);border:1px solid var(--border)}.photo-tile img{width:100%;height:100%;object-fit:cover;display:block}.photo-tile .cover-tag{position:absolute;left:6px;bottom:6px;padding:2px 7px;border-radius:999px;font-size:.68rem;font-weight:700;background:var(--accent);color:#fff}.photo-tile .tile-btn{position:absolute;top:4px;width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#0009;color:#fff}.photo-tile .tile-btn.remove{right:4px}.photo-tile .tile-btn.left{left:4px}.photo-add{flex:0 0 88px;height:110px;border-radius:12px;border:1px dashed var(--border-strong);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--accent);font-size:.78rem;font-weight:600}.friends-going-sheet .sheet-sub{margin:-6px 0 14px}.friends-going-sheet .stack{max-height:55vh;overflow-y:auto}.settings-profile{width:100%;display:flex;align-items:center;gap:14px;padding:14px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);text-align:left;font:inherit;color:inherit;cursor:pointer}.settings-profile .list-row-text{font-size:1.05rem}.sign-out-row{margin-top:28px}.settings-note{margin-top:10px}.group-avatar{position:relative;display:inline-block;flex-shrink:0}.group-avatar-back{position:absolute;top:0;right:0}.group-avatar-back .person-avatar{background:linear-gradient(135deg,var(--avatar-c),var(--avatar-d))}.group-avatar-front{position:absolute;bottom:0;left:0}.group-avatar-front .person-avatar{box-shadow:0 0 0 2px var(--bg)}.sheet .group-avatar-front .person-avatar{box-shadow:0 0 0 2px var(--surface)}.convo-title{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-heading{min-width:0;flex:1}.chat-heading-btn{display:flex;align-items:center;gap:8px;min-width:0;flex:1;text-align:left;border-radius:10px;padding:2px 6px 2px 0}.chat-heading-btn:hover{background:var(--surface)}.chat-heading-text{min-width:0;display:flex;flex-direction:column}.bubble-row.with-face{align-items:flex-end;gap:8px}.bubble-row.with-face>.person-avatar{margin-bottom:20px}.bubble-face-gap{width:28px;flex-shrink:0}.bubble-sender{font-size:.72rem;font-weight:600;padding:0 10px}.to-field{flex-wrap:wrap;row-gap:6px;min-height:44px;height:auto;padding-top:7px;padding-bottom:7px;cursor:text}.to-field input{min-width:80px}.to-label{font-size:.9rem}.to-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 8px 4px 10px;border-radius:999px;background:var(--accent-soft-strong);color:var(--accent-soft-text);font-size:.85rem;font-weight:600}.group-name-field{margin:4px 0 8px}.group-name-field .field-row input{flex:1;min-width:0}.group-name-field .field-row .btn{height:44px}.pick-row{text-align:left}.pick-on{color:var(--accent)}.new-message-sheet{display:flex;flex-direction:column;padding-bottom:0}.picker-list{flex:1}.sheet-footer{position:sticky;bottom:0;background:var(--surface);padding:12px 0 calc(16px + var(--safe-b));margin-top:8px}.sheet-footer-hint{text-align:center;margin-top:8px}.btn.danger.block{display:inline-flex;align-items:center;justify-content:center;gap:8px}:root[data-theme=light] .sheet-backdrop{background:#10141c61}:root[data-theme=light] .toast{box-shadow:0 10px 30px #10141c38}:root[data-theme=light] .event-row,:root[data-theme=light] .org-row,:root[data-theme=light] .settings-list,:root[data-theme=light] .settings-profile,:root[data-theme=light] .info-list,:root[data-theme=light] .stats,:root[data-theme=light] .person-row,:root[data-theme=light] .stat{box-shadow:0 1px 2px #10141c0a}:root[data-theme=light] .sticky-filters .chip:not(.active),:root[data-theme=light] .page .city-picker{background:var(--surface)}:root[data-theme=light] .bubble-row:not(.mine) .bubble{background:var(--surface);box-shadow:inset 0 0 0 1px var(--border)}:root[data-theme=light] .btn.google{border-color:var(--border-strong)}.appearance-row .list-row-icon{color:var(--muted)}.appearance-row.on .list-row-icon{background:var(--accent);border-color:var(--accent);color:#fff}.appearance-check{color:var(--accent);flex-shrink:0}.view-toggle{display:inline-flex;padding:2px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);flex-shrink:0}.view-toggle button{width:32px;height:30px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted)}.view-toggle button.on{background:var(--text);color:var(--bg)}.page.with-tabs.map-mode{padding-bottom:calc(var(--tab-h) + var(--safe-b))}.map-mode .page-body{padding-bottom:0}.events-map-wrap{position:relative;min-height:300px;background:var(--surface-2);overflow:hidden;isolation:isolate}.page-body .events-map-wrap{border-radius:16px;border:1px solid var(--border)}.events-map,.events-map.leaflet-container{position:absolute;inset:0;background:var(--surface-2);font:inherit}.events-map.leaflet-container .leaflet-control-attribution{font-size:.62rem;background:var(--bar-bg);color:var(--muted);border-top-left-radius:6px}.events-map.leaflet-container .leaflet-control-attribution a{color:var(--muted)}.map-pin-wrap{background:none;border:none}.map-pin{position:absolute;left:0;top:0;transform:translate(-50%,calc(-100% - 6px));display:flex;flex-direction:column;align-items:center;cursor:pointer;filter:drop-shadow(0 3px 6px rgba(0,0,0,.35));transition:transform .12s ease}.map-pin:after{content:"";position:absolute;left:50%;bottom:-6px;transform:translate(-50%);border:6px solid transparent;border-bottom:0;border-top-color:var(--pin-bg, var(--surface))}.map-pin-date{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 6px;border-radius:12px;background:var(--surface);color:var(--text);border:1px solid var(--border-strong);font-size:.6rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;line-height:1}.map-pin-date b{font-size:1rem;letter-spacing:-.02em;margin-bottom:2px}.map-pin.selected{--pin-bg: var(--accent);transform:translate(-50%,calc(-100% - 6px)) scale(1.12);z-index:2}.map-pin.selected .map-pin-date{background:var(--accent);color:#fff;border-color:var(--accent)}.map-pin.friend{--pin-bg: var(--accent)}.map-pin-face{position:relative;width:44px;height:44px;border-radius:50%;border:3px solid var(--accent);overflow:hidden;background:linear-gradient(135deg,var(--avatar-a),var(--avatar-b));color:var(--avatar-text);display:flex;align-items:center;justify-content:center}.map-pin-face img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.map-pin-initials{font-size:.9rem;font-weight:700}.map-pin.friend.selected .map-pin-face{border-color:var(--text)}.map-pin.friend.selected{--pin-bg: var(--text)}.map-pin-more,.map-pin-count{position:absolute;top:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;font-size:.68rem;font-weight:800;display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--bg)}.map-pin-more{right:-10px;background:var(--accent);color:#fff}.map-pin-count{left:-10px;background:var(--text);color:var(--bg)}.map-note{position:absolute;z-index:500;left:50%;bottom:28px;transform:translate(-50%);white-space:nowrap;padding:8px 14px;border-radius:999px;font-size:.8rem;font-weight:600;background:var(--bar-bg-strong);color:var(--text);border:1px solid var(--border);box-shadow:0 4px 14px var(--shadow);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.map-preview{position:absolute;z-index:500;left:10px;right:10px;bottom:26px;max-height:55%;overflow-y:auto;padding:6px;border-radius:18px;background:var(--surface);border:1px solid var(--border-strong);box-shadow:0 8px 28px var(--shadow)}.map-preview-head{padding:6px 8px 4px;font-size:.78rem;font-weight:700;color:var(--muted)}.map-preview-list{display:flex;flex-direction:column;gap:4px}.map-preview .event-row{background:transparent;border:none}:root:not([data-theme=light]) .events-map.osm-tiles .leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) brightness(.95) contrast(.9) saturate(.6)}.verified-badge{display:inline-flex;align-items:center;vertical-align:-.12em;margin-left:3px;color:var(--accent);flex-shrink:0}.org-chip .verified-badge{margin-left:-3px;color:#6ea6ff}.org-title .verified-badge{margin-left:4px;vertical-align:-.08em}.verified-inline{display:inline-flex;align-items:center;gap:3px;color:var(--accent);font-weight:600;vertical-align:-.15em}.claim-row{display:flex;align-items:center;gap:10px;width:100%;margin-top:16px;padding:12px 14px;border:1px dashed var(--border-strong);border-radius:var(--radius);background:transparent;color:var(--body-text);font:inherit;font-size:.88rem;line-height:1.35;text-align:left;cursor:pointer}.claim-row>svg:first-child{color:var(--accent);flex-shrink:0}.claim-row>svg:last-child{color:var(--muted);flex-shrink:0;margin-left:auto}.claim-row strong{color:var(--text)}.claim-row:hover{background:var(--hover)}.claim-methods{display:grid;grid-template-columns:1fr 1fr;gap:8px}.claim-method{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer;min-width:0}.claim-method svg{color:var(--muted);margin-bottom:4px}.claim-method .org-row-name{font-size:.9rem;overflow-wrap:anywhere}.claim-method.on{border-color:var(--accent);background:var(--accent-soft)}.claim-method.on svg{color:var(--accent)}.claim-code{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border:1px dashed var(--accent-soft-border);border-radius:12px;background:var(--accent-soft)}.claim-code span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.2rem;font-weight:700;letter-spacing:.06em;-webkit-user-select:all;user-select:all}.claim-code-input{font-size:1.4rem!important;letter-spacing:.3em;text-align:center;font-variant-numeric:tabular-nums}.claim-steps{margin:4px 0 0;padding-left:20px;color:var(--body-text);font-size:.9rem;line-height:1.5}.claim-steps li+li{margin-top:6px}.claim-gap{margin-top:12px}.text-link.inline{margin-top:0;display:inline}.text-link.inline svg{vertical-align:-1px}.claim-card-head{display:flex;align-items:center;gap:10px}.claim-method-tag{display:inline-flex;align-items:center;gap:6px;width:fit-content;margin:10px 0 2px;padding:3px 9px;border-radius:999px;background:var(--accent-soft);color:var(--accent-soft-text);font-size:.76rem;font-weight:700}.claim-evidence{margin-top:8px;padding:10px 12px;border-radius:10px;background:var(--surface-2);font-size:.88rem;line-height:1.5}.claim-evidence .ok{color:var(--ok);vertical-align:-2px;margin-right:4px}.claim-evidence .error-text,.claim-evidence .text-btn{margin-top:4px}.ok{color:var(--ok)}.nowrap{white-space:nowrap}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em}.verify-row{align-items:center;margin-top:12px}.verify-row .btn{flex-shrink:0}.notice.muted-notice{background:var(--surface);border-color:var(--border)}.notice.muted-notice>svg{color:var(--muted)}.notice.warn>svg{color:var(--error)}.check-row{display:flex;align-items:flex-start;gap:10px;margin-top:12px;font-size:.88rem;line-height:1.4;cursor:pointer}.check-row input{margin-top:3px;accent-color:var(--accent)}
