:root{--bg:#120b24;--bg-2:#1b1233;--card:#23193f;--card-2:#2d2150;--line:#3b2d66;--text:#f4efff;--muted:#a99bd0;--accent:#ff4fd8;--accent-2:#7c5cff;--danger:#ff4d5e;--ok:#4ade80;--warn:#ffb347;--stage-l:64%;--radius:14px;--tabbar:64px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:ui-rounded,SF Pro Rounded,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}:root[data-theme=light]{--bg:#f5f2ff;--bg-2:#fff;--card:#fff;--card-2:#efeaff;--line:#d8d0f2;--text:#1b1233;--muted:#62577f;--accent:#c01c9e;--accent-2:#5a3de0;--danger:#d12b3d;--ok:#168a4a;--warn:#9a5b00;--stage-l:38%;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0}body{-webkit-tap-highlight-color:transparent;min-height:100dvh}h1,h2,h3,p{margin:0}h1{font-size:1.5rem}h2{font-size:1.05rem}a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.muted{color:var(--muted)}.small{font-size:.82rem}.error{color:var(--danger)}.stack{gap:14px;display:grid}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.sim-banner{background:var(--warn);color:#2a1a00;text-align:center;padding:4px;font-size:.8rem;font-weight:600}.page{gap:18px;max-width:560px;margin:0 auto;padding:24px 16px 48px;display:grid}.hero{gap:6px;padding-top:12px;display:grid}.hero h1{font-size:2rem}.gradient-text{background:linear-gradient(90deg, var(--accent), var(--accent-2));color:#0000;-webkit-background-clip:text;background-clip:text}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);gap:12px;padding:16px;display:grid}.group-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.group-list li{align-items:stretch;gap:8px;display:flex}.group-list a{background:var(--card-2);border-radius:10px;flex:1;justify-content:space-between;align-items:center;min-width:0;padding:12px 14px;display:flex}.group-list .copy-invite{white-space:nowrap;flex:none;align-self:center}.field{gap:6px;display:grid}.field>span{color:var(--muted);font-size:.82rem}input,select,textarea{background:var(--bg-2);border:1px solid var(--line);border-radius:10px;width:100%;min-height:44px;padding:12px}.code-input{letter-spacing:.25em;text-transform:uppercase;text-align:center;flex:1;font-weight:700}.code{background:var(--bg-2);letter-spacing:.2em;border-radius:8px;padding:2px 8px;font-weight:700}.btn{background:var(--card-2);border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:10px 14px;font-weight:600;display:inline-flex}.btn.primary{background:linear-gradient(90deg, var(--accent), var(--accent-2));color:#fff}.btn.ghost{border-color:var(--line);background:0 0}.btn.ghost.on{border-color:var(--accent);color:var(--accent)}.btn.big{width:100%;min-height:54px;font-size:1.05rem}.btn.danger{background:var(--danger);color:#fff}.btn.small{min-height:36px;padding:6px 12px;font-size:.85rem}.btn.link{color:var(--muted);background:0 0}.danger-text{color:var(--danger)!important}.shell{max-width:640px;min-height:100dvh;padding-bottom:calc(var(--tabbar) + env(safe-area-inset-bottom) + 12px);flex-direction:column;margin:0 auto;display:flex}.topbar{z-index:12;background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);align-items:center;gap:10px;min-height:68px;padding:12px 16px;display:flex;position:sticky;top:0}.topbar h1{font-size:1.15rem}.back{color:var(--muted);padding:0 8px 4px 0;font-size:2rem;line-height:1}.content{flex:1;grid-template-columns:minmax(0,1fr);align-content:start;gap:12px;padding:14px 16px;display:grid}.content.fill{grid-template-rows:minmax(0,1fr)}.content>div{gap:12px;min-width:0;display:grid}.tabbar{z-index:10;max-width:640px;height:calc(var(--tabbar) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--bg-2);border-top:1px solid var(--line);grid-template-columns:repeat(6,1fr);margin:0 auto;display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar button{color:var(--muted);background:0 0;border:0;align-content:center;place-items:center;gap:2px;font-size:.75rem;display:grid;position:relative}.tabbar button span{font-size:1.3rem}.tabbar button{font-size:.7rem}.tabbar button[aria-current=page]{color:var(--accent)}.toast{left:16px;right:16px;bottom:calc(var(--tabbar) + env(safe-area-inset-bottom) + 12px);z-index:20;background:var(--danger);color:#fff;border-radius:12px;max-width:608px;margin:0 auto;padding:12px 14px;font-weight:600;position:fixed}.chips{gap:8px;padding-bottom:2px;display:flex}.chips:not(.scroll){flex-wrap:wrap}.chips.scroll{scrollbar-width:none;margin:0 -16px;padding:0 16px 2px;overflow-x:auto}.chip{background:var(--card);border:1px solid var(--line);border-radius:999px;flex:none;align-items:center;gap:6px;min-height:40px;padding:8px 14px;display:inline-flex}.chip.on{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 16%, var(--card))}.chip.stage{opacity:.55;min-height:34px;padding:6px 12px;font-size:.85rem}.chip.stage.on{opacity:1;border-color:var(--stage);background:color-mix(in srgb, var(--stage) 14%, var(--card))}.chip i,.set-stage i{background:var(--stage);border-radius:50%;width:9px;height:9px;display:inline-block}.segmented{background:var(--card);border:1px solid var(--line);border-radius:12px;grid-template-columns:repeat(3,1fr);gap:3px;padding:3px;display:grid}.segmented button{min-height:40px;color:var(--muted);background:0 0;border:0;border-radius:9px;padding:8px 4px;font-weight:600}.segmented button[aria-pressed=true]{background:var(--card-2);color:var(--text)}.place-grid{flex-wrap:wrap;gap:8px;display:flex}.slot{gap:6px;margin-top:4px;display:grid}.slot-time{color:var(--muted);z-index:2;background:var(--bg);padding:4px 0;font-size:.85rem;position:sticky;top:64px}.show-ended{justify-self:center}.empty{text-align:center;color:var(--muted);padding:32px 8px}.set{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--stage);border-radius:var(--radius);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 10px;display:grid}.set.live{background:color-mix(in srgb, var(--stage) 12%, var(--card));box-shadow:0 0 0 1px var(--stage) inset}.set.picked{border-color:var(--stage)}.set.ended{opacity:.6}.set-title{flex-wrap:wrap;align-items:center;gap:2px 8px;display:flex}.set h3{overflow-wrap:anywhere;margin:0;font-size:1rem;line-height:1.2}.set-meta{flex-wrap:wrap;align-items:center;gap:2px 8px;margin-top:2px;display:flex}.set-stage{color:var(--stage);letter-spacing:.02em;align-items:center;gap:6px;font-size:.78rem;font-weight:700;display:flex}.set-time{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:.8rem;display:flex}.set-people{flex-wrap:wrap;gap:12px;margin-top:4px;font-size:.8rem;display:flex}.set-people>span{align-items:center;gap:6px;display:inline-flex}.set-actions{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.set-actions .btn{white-space:nowrap;padding:6px 9px;font-size:.8rem}.btn.pick.on{background:var(--accent);color:#fff}.badge{background:var(--card-2);color:var(--muted);letter-spacing:.03em;border-radius:999px;padding:2px 7px;font-size:.68rem;font-weight:800}.badge.live{background:var(--danger);color:#fff;animation:1.8s ease-in-out infinite pulse}.badge.warn{background:color-mix(in srgb, var(--warn) 25%, transparent);color:var(--warn)}@keyframes pulse{50%{opacity:.65}}@media (prefers-reduced-motion:reduce){.badge.live{animation:none}}.avatar{color:#1a1030;border:2px solid var(--card);border-radius:50%;flex:none;place-items:center;font-weight:800;display:inline-grid}.avatar-stack{display:inline-flex}.avatar-stack .avatar+.avatar{margin-left:-8px}.avatar.more{background:var(--card-2);width:24px;height:24px;color:var(--text);margin-left:-8px;font-size:.65rem}.friends{gap:10px;margin:0;padding:0;list-style:none;display:grid}.friend{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);align-items:flex-start;gap:12px;padding:12px;display:flex}.friend.urgent{border-color:var(--danger);background:color-mix(in srgb, var(--danger) 14%, var(--card))}.friend-body{flex:1;gap:3px;min-width:0;display:grid}.friend-name{align-items:center;gap:8px;font-weight:700;display:flex}.status{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.status.danger{color:var(--danger);font-weight:700}.status.stale{color:var(--muted)}.note{color:var(--muted);font-style:italic}.ago{white-space:nowrap}.alert{background:var(--danger);color:#fff;border-radius:var(--radius);align-items:center;gap:12px;padding:12px 14px;display:flex}.alert-icon{font-size:1.8rem}.current{font-size:1.15rem;font-weight:700}.quick-sets{gap:8px;margin:0;padding:0;list-style:none;display:grid}.quick-sets .btn{text-align:left;flex-direction:column;align-items:flex-start;gap:0;width:100%}.unread{background:var(--danger);color:#fff;border-radius:9px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.7rem;display:grid;position:absolute;top:6px;left:54%}.content>.chat-root{flex-direction:column;gap:0;display:flex}.content>.chat-with-people{flex-direction:column;gap:0;min-height:0;display:flex}.chat-with-people>.chat-main{flex-direction:column;flex:1;gap:0;min-width:0;min-height:0;display:flex}.chat-main>.chat-root{flex-direction:column;flex:1;gap:0;min-width:0;display:flex}.chat{flex:1;align-content:end;gap:4px;display:grid}.chat-day{color:var(--muted);justify-self:center;margin:10px 0 4px;font-size:.75rem}.msg{align-items:flex-end;gap:8px;max-width:86%;margin-top:6px;display:flex}.msg.cont{margin-top:0}.msg.mine{flex-direction:row-reverse;align-self:flex-end}.msg .avatar-slot{flex:none;width:28px}.bubble{background:var(--card-2);overflow-wrap:anywhere;white-space:pre-wrap;border-radius:16px 16px 16px 4px;padding:8px 12px}.msg.mine .bubble{background:linear-gradient(90deg, var(--accent), var(--accent-2));color:#fff;border-radius:16px 16px 4px}.msg-meta{color:var(--muted);margin:6px 0 2px 36px;font-size:.72rem}.msg time{color:var(--muted);white-space:nowrap;align-self:flex-end;padding-bottom:2px;font-size:.68rem}.composer{bottom:calc(var(--tabbar) + var(--footer) + env(safe-area-inset-bottom) + 8px);background:linear-gradient(transparent, var(--bg) 30%);gap:8px;padding-top:8px;display:flex;position:sticky}.composer input{border-radius:22px;flex:1;padding:10px 16px}.composer .btn{border-radius:22px}.map-wrap{position:relative}.map{border-radius:var(--radius);border:1px solid var(--line);isolation:isolate;height:52vh;min-height:300px}.map.dropping{cursor:crosshair}.leaflet-container{color:#1a1030;font:inherit}.drop-banner{z-index:1000;background:var(--accent);color:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-weight:600;display:flex;position:absolute;top:12px;left:12px;right:12px;box-shadow:0 4px 14px #0006}.drop-banner .btn{color:#fff;background:#00000040;min-height:32px;padding:4px 10px}.map-pin-wrap{background:0 0;border:0}.map-pin{color:#1a1030;border:3px solid #fff;border-radius:50%;place-items:center;width:36px;height:36px;font-size:.8rem;font-weight:800;display:grid;box-shadow:0 2px 8px #00000073}.map-pin.mine{border-color:var(--accent);box-shadow:0 0 0 4px #ff4fd866,0 2px 8px #00000073}.map-pin.dropped{border-style:dashed}.map-pin.stale{opacity:.55}.map-pin.urgent{color:#fff;font-size:1.15rem;animation:1.8s ease-in-out infinite pulse;background:var(--danger)!important}.share-state{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.located{gap:6px;margin:0;padding:0;list-style:none;display:grid}.located button{background:var(--card-2);text-align:left;border:0;border-radius:12px;align-items:center;gap:10px;width:100%;padding:8px 12px;display:flex}.located .who{flex:1;min-width:0;display:grid}.stamp{white-space:nowrap;font-variant-numeric:tabular-nums}.stamp.stale,.warn-text{color:var(--warn)}.notices{z-index:6;position:sticky;top:68px}.sync-banner{background:color-mix(in srgb, var(--warn) 22%, var(--bg));color:var(--warn);border-bottom:1px solid var(--warn);padding:8px 16px;font-size:.82rem;font-weight:600}.topbar-title{flex:1;min-width:0}.switcher{position:relative}.switcher-h1{font-size:inherit;margin:0}.switcher-trigger{text-align:left;max-width:100%;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:6px;margin:-4px -6px;padding:4px 6px;display:flex}.switcher-trigger:hover,.switcher-trigger:focus-visible,.switcher-trigger[aria-expanded=true]{background:var(--card)}.switcher-trigger .topbar-name{min-width:0}.switcher-caret{color:var(--muted);flex:none;font-size:.8rem}.switcher-menu{z-index:30;background:var(--card);border:1px solid var(--line);border-radius:14px;gap:4px;width:min(340px,100vw - 32px);max-height:min(60vh,420px);padding:6px;display:grid;position:absolute;top:calc(100% + 10px);left:-6px;overflow-y:auto;box-shadow:0 12px 32px #0006}.switcher-menu ul{gap:2px;margin:0;padding:0;list-style:none;display:grid}.switcher-item{color:inherit;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.switcher-item:hover,.switcher-item:focus-visible{background:var(--card-2)}.switcher-item.current{background:color-mix(in srgb, var(--accent) 16%, transparent)}.switcher-meta{gap:1px;min-width:0;display:grid}.switcher-meta strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.switcher-check{color:var(--accent);font-weight:800}.switcher-all{border-top:1px solid var(--line);color:var(--muted);border-radius:0 0 10px 10px;padding:10px 12px;font-size:.85rem;display:block}.switcher-all:hover,.switcher-all:focus-visible{color:var(--text);background:var(--card-2)}.bell{background:var(--card);border:1px solid var(--line);border-radius:50%;flex:none;width:44px;height:44px;font-size:1.2rem;position:relative}.bell.on{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 18%, var(--card))}.bell .unread{top:-4px;left:auto;right:-4px}.reminder-alert{background:var(--accent-2);color:#fff;border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:10px 16px;display:flex}.reminder-alert-icon{font-size:1.5rem}.reminder-alert-body{flex:1;min-width:0;display:grid}.reminder-alert .btn{color:#fff;background:#00000047}.segmented.two{flex:1;grid-template-columns:repeat(2,1fr);min-width:190px}.lead-select{flex:1;width:auto;min-width:120px}.time-input{flex:1;width:auto;min-width:110px}.reminders{gap:8px;margin:0;padding:0;list-style:none;display:grid}.reminder{background:var(--card-2);border-radius:12px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.reminder.past{opacity:.6}.reminder-icon{font-size:1.3rem}.reminder-body{flex:1;gap:1px;min-width:0;display:grid}.set-reminders{border-top:1px solid var(--line);grid-column:1/-1;gap:10px;padding-top:10px;display:grid}.set-reminder-list{gap:4px;margin:0;padding:0;font-size:.85rem;list-style:none;display:grid}.set-reminder-list li{justify-content:space-between;align-items:center;gap:8px;display:flex}.days{scrollbar-width:none;grid-auto-columns:minmax(84px,1fr);grid-auto-flow:column;gap:8px;display:grid;overflow-x:auto}.days .chip{border-radius:14px;flex-direction:column;justify-content:center;gap:0;min-height:48px;padding:6px 8px;line-height:1.25}.days .chip span{font-size:.78rem}.stage-pick{border-left:4px solid var(--stage)}.stage-pick.on{background:color-mix(in srgb, var(--stage) 16%, transparent);border-color:var(--stage);color:var(--text)}.stage-name{align-items:center;gap:6px;display:flex}.stage-name i{background:var(--stage);border-radius:50%;width:9px;height:9px;display:inline-block}.segmented.two{grid-template-columns:repeat(2,1fr)}.tl-scroll{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--muted) transparent;overflow:auto hidden}.tl-inner{position:relative}.tl-row{border-top:1px solid var(--line);display:flex}.tl-row.tl-head{border-top:0}.tl-label{z-index:3;width:var(--label-w,124px);background:var(--card);border-right:1px solid var(--line);flex:none;align-content:center;gap:4px;padding:8px;display:grid;position:sticky;left:0}.tl-stage{color:var(--stage);align-items:center;gap:6px;font-size:.78rem;font-weight:700;line-height:1.2;display:flex}.tl-stage-name{overflow-wrap:anywhere;min-width:0}.tl-stage i{background:var(--stage);border-radius:50%;flex:none;width:8px;height:8px}.tl-track{flex:none;height:64px;position:relative}.tl-hours{height:30px}.tl-hours span{color:var(--muted);white-space:nowrap;padding-left:5px;font-size:.72rem;position:absolute;top:7px}.tl-block{text-align:left;border:1px solid color-mix(in srgb, var(--stage) 60%, transparent);border-left:4px solid var(--stage);background:color-mix(in srgb, var(--stage) 20%, var(--card-2));border-radius:10px;align-content:center;gap:1px;padding:4px 8px;display:grid;position:absolute;top:6px;bottom:6px;overflow:hidden}.tl-block strong{white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;line-height:1.15;overflow:hidden}.tl-block span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.68rem;overflow:hidden}.tl-block.live{box-shadow:0 0 0 1px var(--stage) inset;background:color-mix(in srgb, var(--stage) 34%, var(--card-2))}.tl-block.picked{border-color:var(--stage);background:color-mix(in srgb, var(--stage) 30%, var(--card-2))}.tl-block.ended{opacity:.5}.tl-block.selected{outline:2px solid var(--text);outline-offset:1px;z-index:1}.tl-wrap{min-width:0;max-width:100%;margin-bottom:14px;display:block}.tl-jump{margin:0 0 8px auto;display:flex}.tl-now{background:var(--danger);width:3px;box-shadow:0 0 0 1px color-mix(in srgb, var(--danger) 35%, transparent), 0 0 14px color-mix(in srgb, var(--danger) 70%, transparent);z-index:2;pointer-events:none;margin-left:-1px;position:absolute;top:0;bottom:0}.tl-now span{white-space:nowrap;color:#fff;background:var(--danger);border-radius:8px;padding:2px 8px;font-size:.68rem;font-weight:800;position:absolute;top:4px;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #00000059}.tl-now:after{content:"";background:var(--danger);width:9px;height:9px;position:absolute;top:24px;left:50%;transform:translate(-50%)rotate(45deg)}.action-hint{flex-basis:100%;grid-column:1/-1}.btn.pick:disabled:not(.on){opacity:.45}.tl-hint{text-align:center}.btn.link.inline{min-height:0;color:var(--accent);padding:0;text-decoration:underline;display:inline}.earlier{margin-top:4px}.earlier-block{opacity:.8}.settings-head{align-items:center;gap:8px;display:flex}.settings-head .back{background:0 0;border:0;padding:0 8px 4px 0}.gear{background:var(--card);border:1px solid var(--line);border-radius:50%;place-items:center;width:44px;height:44px;font-size:1.3rem;display:grid;position:absolute;top:16px;right:16px}.page.narrow{position:relative}.map.map-dark{background:#1d1b24}.map.map-dark .leaflet-tile-pane,.map.map-dark .leaflet-image-layer{filter:invert()hue-rotate(180deg)brightness(.92)contrast(.88)saturate(.7)}.map.map-dark .leaflet-popup-content-wrapper,.map.map-dark .leaflet-popup-tip{color:#f4efff;background:#2d2150}.map.map-dark .leaflet-bar a{color:#f4efff;background:#2d2150;border-bottom-color:#3b2d66}.map.map-dark .leaflet-control-attribution{color:#a99bd0;background:#120b24c7}.map.map-dark .leaflet-control-attribution a{color:#9db8ff}.map-caption{text-align:center}.real-name{font-weight:400}.nick-btn{opacity:.7;background:0 0;border:0;margin-left:auto;padding:4px 6px;font-size:.95rem}.nick-btn:hover{opacity:1}.nick-btn+.nick-btn{margin-left:0}.convos{flex-direction:column;gap:6px;padding-bottom:8px;display:flex}.convo-chips{scrollbar-width:none;gap:6px;padding:2px 0;display:flex;overflow-x:auto}.convo-chips::-webkit-scrollbar{display:none}.convo-chip{border:1px solid var(--line);background:var(--card);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;flex:none;align-items:center;gap:6px;padding:6px 12px;font-size:.88rem;display:inline-flex}.convo-chip.on{background:var(--accent);border-color:var(--accent);color:#fff}.convo-chip.new{color:var(--muted);border-style:dashed}.convo-chip.new.on{color:#fff}.convo-chip .unread{position:static}.convo-people{border:1px solid var(--line);background:var(--card);border-radius:12px;gap:2px;max-height:220px;margin:0;padding:6px;list-style:none;display:grid;overflow-y:auto}.convo-people button{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:8px;display:flex}.convo-people button:hover{background:var(--bg)}.convo-note{margin:0}.nick-form{gap:8px;margin:4px 0;display:grid}.composer{flex-wrap:wrap}.composer .cam{border-radius:22px;flex:none;min-width:44px;padding:0 12px}.photo-preview{flex:1 0 100%;width:100%;position:relative}.photo-preview img,.photo-preview video{border:1px solid var(--line);border-radius:12px;max-width:100%;max-height:140px;display:block}.photo-preview button{color:#fff;background:#000000a6;border:0;border-radius:50%;width:28px;height:28px;position:absolute;top:6px;left:6px}.bubble.has-image{padding:4px}.bubble .caption{padding:6px 8px 4px}.chat-photo{background:var(--card);width:min(260px,62vw);color:var(--muted);border:0;border-radius:12px;padding:0;font-size:.8rem;display:block;overflow:hidden}.chat-photo.pending{text-align:center;border:1px dashed var(--line);place-items:center;padding:8px;display:grid}.chat-photo img{object-fit:cover;width:100%;height:100%;display:block}.lightbox{z-index:50;background:#000000e6;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.lightbox img,.lightbox video{border-radius:8px;max-width:100%;max-height:100%}.lightbox-close{color:#fff;background:#ffffff2e;border:0;border-radius:50%;width:44px;height:44px;font-size:1.1rem;position:absolute;top:14px;right:14px}.celebrate{border-radius:var(--radius);color:#fff;background:linear-gradient(120deg, var(--accent), var(--accent-2));gap:8px;margin:12px 16px 0;padding:14px 44px 14px 14px;display:grid;position:relative}.celebrate-title{font-size:1.05rem;line-height:1.25}.celebrate .btn{color:#1b1233;background:#fffffff2}.celebrate-close{color:#fff;background:#00000040;border:0;border-radius:50%;width:32px;height:32px;position:absolute;top:8px;right:8px}.celebrate-card{background:linear-gradient(120deg, color-mix(in srgb, var(--accent) 22%, var(--card)), color-mix(in srgb, var(--accent-2) 22%, var(--card)))}.album-head{align-items:center;gap:8px;display:flex}.album-head .back{background:0 0;border:0;padding:0 8px 4px 0}.album-progress{width:100%;accent-color:var(--accent);margin-top:6px;display:block}.photo-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.thumb{aspect-ratio:1;background:var(--card);border-radius:10px;position:relative;overflow:hidden}.thumb.selected{outline:3px solid var(--accent);outline-offset:-3px}.thumb-main{background:0 0;border:0;place-items:center;width:100%;height:100%;padding:0;display:grid;position:absolute;inset:0}.thumb-video{font-size:2rem}.thumb-main img{object-fit:cover;width:100%;height:100%;display:block}.thumb.selected .thumb-main img{opacity:.8}.tick{color:#fff;background:#00000059;border:2px solid #fff;border-radius:50%;place-items:center;width:24px;height:24px;font-size:.85rem;font-weight:800;display:grid;position:absolute;top:6px;left:6px}.thumb.selected .tick{background:var(--accent)}.thumb-zoom{color:#fff;background:#0000008c;border:0;border-radius:50%;width:28px;height:28px;position:absolute;bottom:6px;right:6px}.chat-end{scroll-margin-bottom:calc(var(--tabbar) + var(--footer) + env(safe-area-inset-bottom) + 96px)}.medic-alert{background:var(--danger);color:#fff;border-bottom:2px solid #00000040;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 16px;animation:1.6s ease-in-out 3 medic-flash;display:flex}.medic-icon{font-size:1.8rem}.medic-body{flex:1;min-width:160px;display:grid}.medic-actions{gap:8px;display:flex}.medic-alert .btn{color:#7a0d1a;background:#fffffff2}@keyframes medic-flash{50%{filter:brightness(1.35)}}@media (prefers-reduced-motion:reduce){.medic-alert{animation:none}}.medic-sent{color:var(--danger);font-size:.9rem;font-weight:600}.modal-backdrop{z-index:60;background:#0009;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--card);width:min(420px,100%);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);gap:12px;padding:18px;display:grid;box-shadow:0 12px 40px #00000080}.modal-actions{gap:8px;display:grid}.map-pin.parking{background:#2563eb;border-color:#fff;border-radius:10px;font-size:1.1rem}.audience{border:1px solid var(--line);border-radius:12px;gap:6px;margin:0;padding:8px 10px;display:grid}.audience legend{color:var(--muted);padding:0 6px;font-size:.82rem}.audience-option,.person-option{border-radius:10px;align-items:center;gap:10px;min-height:40px;padding:4px 8px;display:flex}.audience-option.on{background:color-mix(in srgb, var(--accent) 14%, transparent)}.audience-option input,.person-option input{width:20px;height:20px;min-height:0;accent-color:var(--accent);flex:none}.people-picker{border:1px solid var(--line);border-radius:12px;gap:2px;max-height:220px;padding:4px;display:grid;overflow-y:auto}.parked-row{background:var(--card-2);border-radius:12px;align-items:center;gap:8px;padding:8px 12px;display:flex}.parked-row .who{flex:1;min-width:0;display:grid}a.btn{text-decoration:none}.inline-link{color:var(--accent);text-decoration:underline}.chat{overflow-anchor:none}.chat-photo{position:relative}.chat-photo:before{content:"";padding-top:var(--ratio,75%);display:block}.chat-photo img{position:absolute;inset:0}.chat-photo.pending{padding:0;display:block}.chat-photo video{object-fit:contain;background:#000;width:100%;height:100%;position:absolute;inset:0}.chat-photo.video{background:#000}.chat-photo.video-idle{color:#fff;cursor:pointer;background:#111;border:0}.play-glyph{background:#fff3;border-radius:50%;place-items:center;width:48px;height:48px;margin:0 auto 6px;font-size:1.2rem;display:grid}.chat-photo-label{text-align:center;place-items:center;padding:8px;display:grid;position:absolute;inset:0}.trip-buttons{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.trip-btn{text-align:center;flex-direction:column;gap:2px;min-height:64px;padding:10px 6px;font-size:.85rem}.trip-btn.on{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--text)}.trip-emoji{font-size:1.4rem}.switch-row{align-items:flex-start;gap:12px;padding:6px 2px;display:flex}.switch-row input{width:22px;height:22px;min-height:0;accent-color:var(--accent);flex:none;margin-top:2px}.switch-row>span{gap:2px;display:grid}.trip-alert{background:var(--accent-2);color:#fff;border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:10px 16px;display:flex}.trip-icon{font-size:1.5rem}.trip-body{flex:1;min-width:0;display:grid}.trip-alert .btn{color:#1b1233;background:#fffffff2}.blend-row{gap:4px;display:grid}.blend-row input{min-height:0;accent-color:var(--accent);padding:0}.group-meta{gap:2px;min-width:0;display:grid}.group-festival{color:var(--accent);font-weight:600}.legal{gap:10px;line-height:1.55}.legal h2{margin-top:10px;font-size:1.1rem}.legal ul{gap:6px;margin:0;padding-left:1.2rem;display:grid}.legal a{color:var(--accent,inherit)}.app-prompt{border-color:var(--accent,var(--line));background:color-mix(in srgb, var(--accent,#7b3fe4) 12%, var(--card));position:relative}.app-prompt h2{padding-right:28px}.app-prompt-close{opacity:.7;background:0 0;border:0;padding:6px 8px;font-size:1rem;position:absolute;top:8px;right:8px}.app-prompt-close:hover{opacity:1}.app-prompt-steps{gap:4px;margin:0;padding-left:1.2rem;display:grid}.deletion-notice{border-radius:var(--radius);border:1px solid var(--danger);background:color-mix(in srgb, var(--danger) 14%, var(--card));align-items:flex-start;gap:10px;padding:12px;display:flex}.deletion-icon{font-size:1.4rem}.deletion-body{gap:6px;min-width:0;display:grid}.danger-zone{border-color:color-mix(in srgb, var(--danger) 55%, var(--line))}.home-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.home-head h1{flex:auto;min-width:0;font-size:clamp(1.35rem,6.6vw,2rem);line-height:1.15}.top-actions{flex:none;align-items:center;gap:10px;display:flex}.top-actions .gear{position:static}.top-actions .cl-userButtonAvatarBox{width:44px;height:44px}.top-actions .cl-avatarBox{border:1px solid var(--line);width:44px;height:44px;box-shadow:none}.auth-page{text-align:center;justify-items:center}.auth-page .hero{justify-items:center}.msg.mine.pending .bubble{background:var(--danger);color:#fff;box-shadow:0 0 0 1px color-mix(in srgb, var(--danger) 55%, transparent)}.msg.mine.pending .caption{color:#fff}.msg.pending.failed .bubble{outline:2px solid var(--danger);outline-offset:2px}.msg.pending .pending-status{color:var(--danger);font-weight:600}.msg.pending{flex-wrap:wrap;justify-content:flex-end}.pending-status{color:var(--muted);text-align:right;flex:1 0 100%;order:2;margin:2px 4px 6px;display:block}.pending-photo{border-radius:10px;max-width:220px;max-height:220px;display:block}.offline-banner{z-index:50;text-align:center;background:color-mix(in srgb, var(--accent-2) 30%, var(--card));border-bottom:1px solid var(--line);padding:8px 14px;font-size:.85rem;position:sticky;top:0}.account-initial{background:var(--card);border:1px solid var(--line);border-radius:50%;place-items:center;width:44px;height:44px;font-weight:700;display:grid}.topbar-title.as-button{text-align:left;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;margin:-4px -6px;padding:4px 6px}.topbar-title.as-button:hover,.topbar-title.as-button:focus-visible{background:var(--card)}.topbar-title .chevron{opacity:.7}.topbar-members{text-align:left;max-width:100%;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;margin:0 -6px;padding:2px 6px;font-size:.82rem;display:block}.topbar-members:hover,.topbar-members:focus-visible{background:var(--card)}.sheet-backdrop{z-index:60;background:#0804148c;align-items:end;animation:.18s both sheet-fade;display:grid;position:fixed;inset:0}.sheet{width:min(560px,100%);max-height:min(80vh,640px);padding:16px 16px calc(16px + env(safe-area-inset-bottom));background:var(--card);border:1px solid var(--line);border-radius:18px 18px 0 0;gap:12px;margin:0 auto;animation:.22s both sheet-up;display:grid;overflow-y:auto}.sheet-head{justify-content:space-between;align-items:start;gap:12px;display:flex}.sheet-members{gap:10px;margin:0;padding:0;list-style:none;display:grid}.sheet-member{align-items:center;gap:12px;display:flex}.sheet-member-name{flex:1;min-width:0}.sheet-member-name .row{gap:6px;margin-top:2px}@keyframes sheet-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes sheet-fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.sheet,.sheet-backdrop{animation:none}}.mention{color:var(--accent);background:color-mix(in srgb, var(--accent) 16%, transparent);border-radius:6px;padding:0 3px;font-weight:700}.mine .mention{color:#fff;background:#ffffff38}.mention.me{box-shadow:0 0 0 1px var(--accent) inset}.bubble.mentions-me{outline:2px solid var(--accent);outline-offset:1px}.mention-list{z-index:20;background:var(--card);border:1px solid var(--line);border-radius:12px;gap:2px;max-height:220px;margin:0;padding:4px;list-style:none;display:grid;position:absolute;bottom:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #00000059}.mention-list button{text-align:left;width:100%;color:inherit;font:inherit;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.mention-list button[aria-selected=true],.mention-list button:hover{background:color-mix(in srgb, var(--accent) 18%, transparent)}.topbar-name{text-overflow:ellipsis;white-space:nowrap;font-size:1.15rem;font-weight:800;line-height:1.2;display:block;overflow:hidden}.topbar-sub{display:block}.passphrase-form .field input{width:100%}.check{align-items:flex-start;gap:10px;display:flex}.check input{flex:none;margin-top:3px}@media (width>=700px){.sheet-backdrop{align-items:center;padding:24px}.sheet{border-radius:18px}}@media (width>=900px) and (height>=520px){:root{--tabbar:0px}.page{max-width:720px;padding-top:36px}.page.home{max-width:1080px}.home-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.home-col{gap:18px;min-width:0;display:grid}.home .hero h1,.home-head h1{font-size:2.4rem}.shell{grid-template:"top top""nav notices""nav main"1fr/224px minmax(0,1fr);column-gap:28px;max-width:1320px;padding:0 24px 32px;display:grid}.topbar{grid-area:top;margin:0 -24px;padding:14px 24px}.notices{grid-area:notices;align-content:start;gap:10px;padding-top:14px;display:grid}.notices:empty{display:none}.content{grid-area:main;padding:16px 0 0}.tabbar{background:var(--card);border:1px solid var(--line);border-radius:16px;grid-area:nav;grid-template-columns:1fr;align-self:start;gap:4px;max-width:none;height:auto;margin:16px 0 0;padding:8px;display:grid;position:sticky;inset:98px auto auto}.tabbar button{text-align:left;border-radius:12px;grid-auto-flow:column;place-content:center start;gap:12px;padding:12px 14px;font-size:.95rem}.tabbar button span{font-size:1.2rem}.tabbar button:hover{background:var(--card-2);color:var(--text)}.tabbar button[aria-current=page]{background:var(--card-2)}.tabbar .unread{margin-left:auto;position:static}.toast{width:min(560px,100vw - 48px);bottom:24px;left:50%;right:auto;transform:translate(-50%)}.chat-with-people{grid-template-columns:minmax(0,1fr) 300px;align-items:stretch;gap:20px;min-height:100%;display:grid!important}.chat-with-people>.chat-main{flex-direction:column;gap:0;min-width:0;display:flex}.chat-main>.chat-root{flex-direction:column;flex:1;gap:0;min-width:0;display:flex}.members-panel{max-height:calc(100dvh - 130px - var(--footer));align-self:start;position:sticky;top:98px;overflow-y:auto}.chat,.composer{width:100%;max-width:760px;margin:0 auto}.slot{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.slot>.slot-time{grid-column:1/-1;top:74px}.friends{grid-template-columns:repeat(auto-fill,minmax(380px,1fr))}.map{height:68vh;min-height:480px}.me-view{column-count:2;column-gap:20px;display:block}.me-view>*{break-inside:avoid;margin-bottom:16px}}@media (width>=1300px){.page.home{max-width:1180px}.slot{grid-template-columns:repeat(auto-fill,minmax(380px,1fr))}}.checkin-locked{border-style:dashed}:root{--footer:0px}#root{min-height:100dvh}.app-frame{flex-direction:column;min-height:100dvh;display:flex}.app-body{flex-direction:column;flex:1;min-width:0;display:flex}.app-body>*{width:100%}.legal-footer{text-align:center;color:var(--muted);border-top:1px solid var(--line);padding:18px 16px;font-size:.82rem;display:none}.legal-footer.home{display:block}.legal-footer nav{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.legal-footer a:hover{color:var(--text);text-decoration:underline}@media (width>=900px) and (height>=520px){:root{--footer:44px}.legal-footer,.legal-footer.home{z-index:8;height:var(--footer);background:var(--bg);place-items:center;padding:0 16px;display:grid;position:fixed;bottom:0;left:0;right:0}.app-frame{padding-bottom:var(--footer)}.shell{min-height:calc(100dvh - var(--footer))}.toast{bottom:calc(var(--footer) + 16px)}}@media (width>=700px) and (width<=899px),(width>=900px) and (height<=519px){.shell,.tabbar{max-width:780px}.toast{max-width:748px}.page.home{max-width:780px}.home-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.home-col{gap:16px;min-width:0;display:grid}}@media (orientation:landscape) and (height<=520px){:root{--tabbar:48px}.offline-banner{padding:3px 12px;font-size:.75rem}.topbar{gap:8px;min-height:48px;padding:6px 16px}.topbar h1,.topbar-name{font-size:1rem}.topbar-title:not(.as-button) .muted{display:none}.topbar-members{font-size:.72rem}.back{padding-bottom:2px;font-size:1.6rem}.bell{width:38px;height:38px;font-size:1.05rem}.tabbar button{grid-auto-flow:column;gap:8px;font-size:.78rem}.tabbar button span{font-size:1.1rem}.content{padding-top:8px;padding-bottom:8px}.map{height:calc(100dvh - 150px);min-height:200px}.modal,.sheet{max-height:calc(100dvh - 24px);overflow-y:auto}.modal-backdrop{padding:8px}.page{padding-top:12px}.hero{padding-top:0}.loading-screen{gap:8px}.slot-time{top:48px}}.promo{border:1px solid var(--line);isolation:isolate;background:var(--card-2);border-radius:18px;position:relative;overflow:hidden}.promo img{aspect-ratio:16/9;object-fit:cover;object-position:50% 28%;width:100%;height:auto;display:block}.promo:after{content:"";pointer-events:none;background:linear-gradient(#120b2400 28%,#120b248c 60%,#120b24e6 100%);position:absolute;inset:0}.promo-copy{z-index:1;color:#fff;gap:8px;padding:16px 18px 18px;display:grid;position:absolute;bottom:0;left:0;right:0}.promo-copy h2{text-shadow:0 2px 14px #00000080;font-size:clamp(1.3rem,5vw,2.1rem);font-weight:800;line-height:1.1}.promo-copy p{color:#ffffffe6;text-shadow:0 1px 8px #00000080;max-width:48ch;font-size:clamp(.88rem,2.6vw,1rem)}.promo-compact .promo-copy h2{font-size:clamp(1.15rem,4.4vw,1.6rem)}.promo-compact .promo-copy p{font-size:.85rem}.auth-page .promo{text-align:left;width:100%}@media (width<=599px){.promo img{aspect-ratio:4/3;object-position:45% 22%}.promo:after{display:none}.promo-copy{color:var(--text);background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 20%, var(--card)), color-mix(in srgb, var(--accent-2) 20%, var(--card)));position:static}.promo-copy h2,.promo-copy p{text-shadow:none}.promo-copy p{color:var(--muted)}}@media (width>=900px) and (height>=520px){.promo:not(.promo-compact) img{aspect-ratio:2;object-position:50% 40%}.promo:not(.promo-compact) .promo-copy{max-width:min(44%,520px);right:auto}}@media (orientation:landscape) and (height<=520px){.promo img{aspect-ratio:21/9;max-height:62dvh}}@media (prefers-reduced-motion:no-preference){.promo img{animation:.7s both promo-in}}@keyframes promo-in{0%{opacity:0;transform:scale(1.03)}to{opacity:1;transform:none}}textarea{font:inherit;color:inherit;resize:vertical}.travel{gap:14px;display:grid}.travel-section{gap:8px;display:grid}.travel-heading{color:var(--muted);font-size:.9rem}.travel-grid{gap:10px;display:grid}.travel-card{gap:8px;padding:12px 14px}.travel-card.flight{border-left:4px solid var(--accent)}.travel-card.stay{border-left:4px solid var(--ok,#7ee081)}.travel-who{align-items:center;gap:8px;display:flex}.travel-body{gap:2px;display:grid}.travel-body h3{overflow-wrap:anywhere;margin:0;font-size:1.05rem}.travel-body p{margin:0}.travel-route{font-weight:700}.travel-notes{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted)}.travel-actions{gap:6px}.travel-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.travel-fields .field.wide{grid-column:1/-1}@media (width<=420px){.travel-fields{grid-template-columns:minmax(0,1fr)}}@media (width>=900px) and (height>=520px){.travel-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}}.leaflet-container{isolation:isolate}.account-who{gap:1px;min-width:0;display:grid}.account-who strong,.account-who .muted{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-row{flex-wrap:nowrap;gap:12px}.page.explore{max-width:720px}.explore-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.explore-brand{color:var(--text);align-items:center;gap:6px;font-size:1.25rem;font-weight:800;text-decoration:none;display:inline-flex}.explore-intro h1,.explore-title h1{margin:0 0 4px;font-size:1.7rem}.explore-intro p,.explore-title p{margin:0}.explore-title{gap:8px;display:grid}.explore-back{color:var(--muted);justify-self:start;text-decoration:none}.explore-search{width:100%}.explore-month{gap:6px;display:grid}.explore-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.explore-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;text-decoration:none;display:flex}.explore-card:hover{border-color:var(--accent)}.explore-card h3{overflow-wrap:anywhere;margin:0 0 2px;font-size:1rem}.explore-card .badge{flex:none}.badge.ok{background:color-mix(in srgb, var(--ok) 22%, transparent);color:var(--ok)}
