@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/outfit-latin-ext-wght-normal.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/outfit-latin-wght-normal.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit Fallback;src:local("Arial");size-adjust:99.82%;ascent-override:100.18%;descent-override:26.05%;line-gap-override:0%}html,body,#root{width:100%;min-height:100%;margin:0}:root{color-scheme:dark;font-family:Outfit,Outfit Fallback,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;background:#000;color:#f8fafc;--radius-sm: 13px;--radius-md: 18px;--radius-lg: 22px;--radius-pill: 999px;--primary: #3b82f6;--primary-hover: #2563eb;--primary-glow: rgba(59, 130, 246, .35);--primary-soft: rgba(59, 130, 246, .16);--primary-border: rgba(59, 130, 246, .45);--primary-grad: linear-gradient(135deg, #3b82f6, #2563eb);--primary-grad-hover: linear-gradient(135deg, #2f76ef, #1d4ed8);--danger-grad: linear-gradient(135deg, #ef4444, #dc2626);--danger-grad-hover: linear-gradient(135deg, #dc2626, #b91c1c);--bg-gradient: linear-gradient(135deg, #020617 0%, #111827 100%);--header-bg: rgba(2, 6, 23, .94);--glass-bg: rgba(15, 23, 42, .72);--glass-border: rgba(148, 163, 184, .16);--glass-shadow: 0 10px 30px rgba(0, 0, 0, .25);--card-radius: var(--radius-lg);--card-bg: #111d36;--bg-panel: var(--card-bg);--modal-bg: rgba(13, 22, 41, .94);--text-primary: #f8fafc;--text-muted: rgba(203, 213, 225, .72);--text-faint: rgba(148, 163, 184, .55);--success: #10b981;--warning: #f59e0b;--error: #ef4444;--accent-color: var(--primary);--primary-color: var(--primary);--text-color: var(--text-primary);--danger-color: var(--error);--border-color: var(--glass-border);--success-color: var(--success);--warning-color: var(--warning)}html.light{color-scheme:light;color:#0f172a;background:#fff;--primary: #2563eb;--primary-hover: #1d4ed8;--primary-glow: rgba(37, 99, 235, .18);--bg-gradient: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);--header-bg: rgba(255, 255, 255, .95);--glass-bg: rgba(255, 255, 255, .82);--glass-border: rgba(15, 23, 42, .1);--glass-shadow: 0 10px 30px rgba(15, 23, 42, .12);--card-bg: #ffffff;--modal-bg: rgba(255, 255, 255, .96);--text-primary: #0f172a;--text-muted: rgba(51, 65, 85, .78);--text-faint: rgba(71, 85, 105, .6)}.tone-you{--tone-a: #3b82f6;--tone-b: #60a5fa}.tone-1{--tone-a: #ec4899;--tone-b: #f472b6}.tone-2{--tone-a: #10b981;--tone-b: #34d399}.tone-3{--tone-a: #f59e0b;--tone-b: #fbbf24}.tone-4{--tone-a: #8b5cf6;--tone-b: #a78bfa}.tone-5{--tone-a: #06b6d4;--tone-b: #22d3ee}.avatar-tone{background:linear-gradient(135deg,var(--tone-a, #3b82f6),var(--tone-b, #60a5fa))}*{box-sizing:border-box}html,body{margin:0;min-height:100vh;max-width:100%;overflow-x:hidden;background:var(--bg-gradient);background-attachment:fixed}button,input,textarea,select{font:inherit}.app-shell{max-width:1400px;width:100%;margin:0 auto;padding:0 24px 24px;box-sizing:border-box;overflow-x:hidden}.app-header{margin-top:18px}.hero-header{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;padding:28px 24px;background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:24px;box-shadow:var(--glass-shadow)}.hero-topbar{display:flex;width:100%;align-items:center;justify-content:space-between;gap:14px}.hero-accountbar{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px;margin-left:auto}.compact-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 6px}.hero-subtitle{max-width:760px;margin:0;color:#94a3b8}.hero-logo{font-size:2.3rem}.hero-header .hero-topbar{transition:opacity .16s ease,transform .16s ease}.hero-header .topbar-activity-selector{transition:opacity .16s ease,transform .16s ease,border-color .18s ease}.hero-header.is-map-moving .hero-topbar,.hero-header.is-map-moving .topbar-activity-selector{opacity:0;transform:translateY(-10px);pointer-events:none}@media (prefers-reduced-motion: reduce){.hero-header .hero-topbar,.hero-header .topbar-activity-selector{transition:none}.hero-header.is-map-moving .hero-topbar,.hero-header.is-map-moving .topbar-activity-selector{opacity:1;transform:none;pointer-events:auto}}.layout-grid{display:grid;grid-template-columns:minmax(280px,320px) 1fr;gap:24px;margin-top:24px}.auth-required-layout{display:flex;justify-content:center;margin-top:48px}.auth-required-card{width:min(520px,100%);text-align:center}.auth-required-actions{display:flex;justify-content:center;gap:12px;margin-top:20px}.panel-controls,.panel-map{display:flex;flex-direction:column;gap:20px}.card{padding:20px;background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:var(--card-radius);box-shadow:var(--glass-shadow)}.card h2,.modal-section h3{margin:0 0 12px;color:inherit;font-weight:700;letter-spacing:-.01em}.card h2{font-size:1.2rem}.modal-section h3{font-size:1.02rem}.map-view{width:100%;min-height:58vh;height:58vh;height:58dvh;border-radius:var(--card-radius);overflow:hidden;border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.map-stage.vis-frame .map-view{border-width:4px;border-style:solid;transition:border-color .25s ease,box-shadow .25s ease}.map-stage.vis-all .map-view{border-color:#e53e3e;box-shadow:0 0 0 1px #e53e3e66,0 0 20px #e53e3e59}.map-stage.vis-friends .map-view{border-color:#dd6b20;box-shadow:0 0 0 1px #dd6b2066,0 0 20px #dd6b2059}.map-stage.vis-none .map-view{border-color:#38a169;box-shadow:0 0 0 1px #38a16966,0 0 20px #38a16959}.map-stage{position:relative;width:100%;height:100%}.map-filter-floating,.map-search-floating-btn{position:absolute;z-index:1000;width:46px;height:46px;border-radius:50%;background:#0f172ad9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 15px #0000004d;transition:all .3s cubic-bezier(.4,0,.2,1)}.map-filter-floating{top:80px;left:20px}.map-chat-floating{position:absolute;z-index:1000;top:140px;left:20px;width:46px;height:46px;border-radius:50%;background:var(--card-bg, #1e293b);border:1px solid var(--glass-border);display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:0 4px 15px #0000004d;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);animation:fadeIn .2s ease-out}.map-chat-floating:hover{transform:scale(1.05);background:#ffffff1a}body.chat-open,body.profile-open{overflow:hidden}.map-locate-floating{position:absolute;z-index:1000;top:20px;right:20px;width:46px;height:46px;border-radius:50%;background:#0f172ad9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 15px #0000004d;transition:all .3s cubic-bezier(.4,0,.2,1)}.map-locate-floating:hover{transform:scale(1.05);background:#ffffff1a;border-color:var(--primary)}.map-locate-floating.is-tracking{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 4px 18px var(--primary-glow)}.map-locate-floating.is-tracking:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.chat-open .map-filter-floating,.chat-open .map-search-floating,.chat-open .map-chat-floating,.chat-open .map-locate-floating,.chat-open .leaflet-control-attribution,.chat-open .maptiler-logo{opacity:0;pointer-events:none;transform:scale(.85)}html.light .map-filter-floating,html.light .map-search-floating-btn,html.light .map-locate-floating:not(.is-tracking),html.light .map-chat-floating{background:#ffffffe0;color:#0f172a;box-shadow:0 4px 15px #0f172a2e}html.light .map-filter-floating:hover,html.light .map-search-floating-btn:hover,html.light .map-locate-floating:not(.is-tracking):hover,html.light .map-chat-floating:hover{background:#fffffffa}.map-chat-floating-badge{position:absolute;top:-4px;right:-4px;background:#ef4444;color:#fff;font-size:.6rem;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid var(--card-bg, #1e293b);line-height:1}.map-filter-floating:hover,.map-search-floating-btn:hover{transform:scale(1.05);background:#ffffff1a;border-color:var(--primary)}.map-filter-floating-badge{position:absolute;top:-4px;right:-4px;background:var(--primary);color:#fff;font-size:.7rem;font-weight:700;min-width:18px;height:18px;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid var(--card-bg)}.map-search-floating{position:absolute;top:20px;left:20px;z-index:1000;display:flex;align-items:center;gap:10px}.map-search-floating-input{width:0;opacity:0;padding:0;background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:999px;color:#fff;height:46px;transition:all .4s cubic-bezier(.4,0,.2,1);overflow:hidden;outline:none}.map-search-floating.is-open .map-search-floating-input{width:220px;opacity:1;padding:0 20px;box-shadow:0 4px 15px #0000004d}.map-search-floating-btn{position:relative;top:auto;left:auto}.info-card{position:sticky;top:88px}.sidebar-filter-grid{max-height:340px;overflow-y:auto;padding-right:4px}.location-hint{margin-top:14px}.status-line{margin:0;color:#94a3b8;line-height:1.5}.action-item{display:flex;flex-direction:column;align-items:center;gap:8px}.action-item-inline{justify-content:center}.action-label{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint)}.hero-toolbar{display:flex;gap:20px;align-items:flex-start;justify-content:center;width:100%}.toolbar-group{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.toolbar-group-map{padding-right:0;border-right:none}html.light .status-line,html.light .button-ghost{color:#475569}.input-text{width:100%;background:#0f172a73;border:1px solid var(--glass-border);border-radius:var(--radius-sm);padding:12px 14px;color:inherit;outline:none;transition:border-color .18s ease,box-shadow .18s ease}.input-text:focus{border-color:var(--primary);box-shadow:0 0 0 2px #3b82f62e}.button-primary,.button-danger,.button-ghost{border-radius:var(--radius-sm);padding:11px 18px;font-weight:600;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease,color .18s ease}.button-primary:disabled,.button-danger:disabled,.button-ghost:disabled{opacity:.55;cursor:default}.button-primary,.button-danger{border:none;color:#fff}.button-primary{background:var(--primary-grad);box-shadow:0 6px 18px var(--primary-glow)}.button-primary:hover:not(:disabled){background:var(--primary-grad-hover);transform:translateY(-1px);box-shadow:0 9px 24px var(--primary-glow)}.button-danger{background:var(--danger-grad);box-shadow:0 6px 18px #dc262638}.button-danger:hover:not(:disabled){background:var(--danger-grad-hover);transform:translateY(-1px)}.button-ghost{background:transparent;border:1px solid var(--glass-border);color:#cbd5e1}.button-ghost:hover:not(:disabled){background:var(--primary-soft);border-color:var(--primary-border)}.app-shell--auth{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;padding-bottom:0}.app-shell--auth:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(circle min(620px,60vw) at 16% 18%,rgba(59,130,246,.16) 0%,rgba(59,130,246,.1) 30%,rgba(59,130,246,.045) 55%,rgba(59,130,246,.014) 75%,transparent 92%),radial-gradient(circle min(640px,62vw) at 84% 82%,rgba(167,139,250,.13) 0%,rgba(167,139,250,.08) 30%,rgba(167,139,250,.038) 55%,rgba(167,139,250,.012) 75%,transparent 92%)}html.light .app-shell--auth:before{opacity:.45}.auth-page{position:relative;flex:1;display:flex;align-items:center;justify-content:center;padding:16px 16px 28px}@media (min-width: 768px){.auth-page{padding:20px 32px 32px}}.auth-card{position:relative;z-index:1;width:100%;max-width:460px;margin:0 auto;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:22px;box-shadow:var(--glass-shadow);padding:30px 28px}.auth-card--wide{max-width:520px}.auth-card--split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);max-width:880px;padding:0;overflow:hidden}.auth-form-side{padding:34px 32px}.auth-brand{position:relative;display:flex;flex-direction:column;justify-content:center;gap:14px;padding:38px 34px;background:radial-gradient(ellipse at 20% 15%,rgba(59,130,246,.32),transparent 55%),radial-gradient(ellipse at 85% 90%,rgba(139,92,246,.26),transparent 55%),linear-gradient(150deg,#050d1f,#0c1730);color:#f1f5f9;overflow:hidden}.auth-brand-logo{font-size:1.6rem;font-weight:700;letter-spacing:-.02em;line-height:1;margin-bottom:6px}.auth-logo-maply{color:#90cdf4}.auth-logo-x{color:#ef4444}.auth-brand h3{margin:0;font-size:1.35rem;font-weight:700;letter-spacing:-.02em;line-height:1.25}.auth-brand>p{margin:0;font-size:.92rem;line-height:1.6;color:#cbd5e1d9}.auth-brand-list{display:flex;flex-direction:column;gap:11px;margin:10px 0 0;padding:0;list-style:none;font-size:.88rem;font-weight:500}.auth-brand-list li{display:flex;align-items:center;gap:10px}.auth-brand-dot{width:9px;height:9px;border-radius:50%;background:#34d399;box-shadow:0 0 #34d39999;animation:auth-live-pulse 2.4s ease-out infinite;flex-shrink:0}.auth-brand-dot--blue{background:#60a5fa;box-shadow:0 0 #60a5fa99;animation-delay:.5s}.auth-brand-dot--violet{background:#a78bfa;box-shadow:0 0 #a78bfa99;animation-delay:1s}@keyframes auth-live-pulse{0%{box-shadow:0 0 #34d39973}70%{box-shadow:0 0 0 8px #34d39900}to{box-shadow:0 0 #34d39900}}@media (max-width: 859px){.auth-card--split{grid-template-columns:1fr;max-width:460px}.auth-brand{display:none}.auth-form-side{padding:28px 24px}}.auth-stack{display:flex;flex-direction:column;gap:20px}.auth-form-stack{display:flex;flex-direction:column;gap:16px}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-heading{margin:0;font-size:1.45rem;font-weight:700;letter-spacing:-.02em;color:#fffffff2}.auth-sub{margin:-12px 0 0;font-size:.9rem;line-height:1.5;color:#cbd5e1a6}.auth-label{font-size:.9rem;color:#ffffffeb}.auth-feedback{margin:0;font-size:.9rem;color:#fffc}.auth-error{margin:0;font-size:.82rem;line-height:1.4;color:#f87171}.auth-notice{margin:0;padding:10px 12px;font-size:.9rem;border-radius:8px;border:1px solid rgba(74,222,128,.45);background:#4ade801f;color:#ffffffeb}.auth-btn{width:100%}.auth-resend{display:flex;flex-direction:column;gap:4px;margin:-4px 0 0}.auth-resend-hint{font-size:.8rem;color:#cbd5e1a6}.auth-resend-btn{align-self:flex-start;background:none;border:none;padding:0;font-size:.85rem;font-weight:600;color:var(--accent-color, #6366f1);cursor:pointer;text-decoration:underline}.auth-resend-btn:disabled{color:#94a3b8b3;cursor:default;text-decoration:none}html.light .auth-resend-hint{color:#64748b}.auth-form-stack .button-primary,.auth-form-stack .button-ghost{padding:12px 18px}@media (prefers-reduced-motion: reduce){.auth-brand-dot{animation:none}}.auth-checkboxes{display:flex;flex-direction:column;gap:8px;margin-top:4px}.auth-checkbox{display:flex;align-items:flex-start;gap:8px;font-size:.85rem;cursor:pointer}.auth-checkbox input{margin-top:2px;flex-shrink:0}.auth-link{color:var(--accent-color, #6366f1)}.auth-oauth{display:flex;flex-direction:column;gap:12px}.auth-btn--google{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 18px;border-radius:10px;background:#fff;color:#1f1f1f;font-weight:600;font-size:.95rem;border:1px solid rgba(100,116,139,.45);cursor:pointer}.auth-btn--google:hover:not(:disabled){background:#f1f5f9}.auth-btn--google:disabled{opacity:.55;cursor:default}.auth-oauth-hint{margin:-4px 0 0;font-size:.78rem;line-height:1.4;color:#cbd5e1a6}html.light .auth-oauth-hint{color:#64748b}.auth-oauth-separator{display:flex;align-items:center;gap:10px;font-size:.78rem;color:#94a3b8cc;text-transform:lowercase}.auth-oauth-separator:before,.auth-oauth-separator:after{content:"";flex:1;height:1px;background:#94a3b84d}.first-steps-card{max-width:560px;margin:12px auto 0;padding:14px 16px}.first-steps-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.first-steps-title{margin:0;font-size:1rem;font-weight:700}.first-steps-dismiss{background:none;border:none;cursor:pointer;font-size:.95rem;color:inherit;opacity:.55;padding:2px 6px;border-radius:6px}.first-steps-dismiss:hover{opacity:1}.first-steps-progress-row{display:flex;align-items:center;gap:10px;margin:8px 0 10px}.first-steps-progress-text{font-size:.78rem;opacity:.7;white-space:nowrap}.first-steps-progress-track{flex:1;height:8px;border-radius:999px;overflow:hidden;background:var(--glass-border, rgba(148, 163, 184, .25))}.first-steps-progress-fill{height:100%;border-radius:999px;background:linear-gradient(135deg,#3b82f6,#2563eb);transition:width .3s ease}.first-steps-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.first-steps-step{display:flex;align-items:center;gap:10px;width:100%;font-size:.88rem;padding:6px 8px;border-radius:8px;text-align:left}.first-steps-step--done{opacity:.55}.first-steps-step--todo{background:none;border:none;cursor:pointer;color:inherit;font:inherit}.first-steps-step--todo:hover{background:#94a3b81f}.first-steps-check{color:#4ade80;font-weight:700;width:14px;flex-shrink:0}.first-steps-dot{width:8px;height:8px;border-radius:999px;flex-shrink:0;margin:0 3px;border:2px solid rgba(148,163,184,.7)}.first-steps-arrow{margin-left:auto;opacity:.5;font-size:1rem}html.light .first-steps-check{color:#16a34a}html.light .first-steps-step--todo:hover{background:#64748b1a}.list-tabs{display:inline-flex;gap:4px;padding:3px;border-radius:10px;background:#94a3b81f}.list-tab{border:none;background:none;cursor:pointer;color:inherit;font:inherit;font-size:.9rem;font-weight:600;padding:6px 14px;border-radius:8px;opacity:.65}.list-tab--active{opacity:1;background:#3b82f62e;box-shadow:inset 0 0 0 1px #3b82f659}.event-summary-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.event-summary-item{display:flex;align-items:center;gap:12px;width:100%;background:none;border:1px solid var(--glass-border, rgba(148, 163, 184, .25));border-radius:10px;padding:10px 12px;cursor:pointer;color:inherit;font:inherit;text-align:left}.event-summary-item:hover{background:#94a3b81a}.event-summary-emoji{font-size:1.4rem;flex-shrink:0}.event-summary-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.event-summary-name{font-weight:600;font-size:.92rem}.event-summary-desc{font-size:.8rem;opacity:.65;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-summary-time{font-size:.8rem;color:var(--accent-color, #6366f1);font-weight:600}.nearby-events-suggestion{display:block;margin:10px auto 0;padding:8px 14px;background:none;border:1px dashed rgba(59,130,246,.5);border-radius:999px;cursor:pointer;color:inherit;font:inherit;font-size:.85rem;font-weight:600}.nearby-events-suggestion:hover{background:#3b82f61a}html.light .list-tabs{background:#64748b1f}.invite-qr-card{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:10px;padding:14px;background:#fff;border:1px solid rgba(100,116,139,.35);border-radius:12px;max-width:240px}.invite-qr-svg{width:180px;height:180px;display:block;background:#fff}.invite-qr-loading{color:#334155;font-size:.85rem;padding:70px 0}.invite-qr-hint{margin:0;font-size:.72rem;line-height:1.4;color:#475569;text-align:center}html.light .auth-heading,html.light .auth-label{color:#1a202c}html.light .auth-sub{color:#64748b}html.light .auth-feedback{color:#334155}html.light .auth-error{color:#dc2626}html.light .auth-notice{color:#14532d;border-color:#22c55e73;background:#22c55e1a}.suspended-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;background:var(--bg-gradient)}.suspended-card{width:100%;max-width:420px;text-align:center;background:var(--glass-bg);border:1px solid rgba(239,68,68,.35);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);padding:40px 32px}.suspended-icon{font-size:3rem;margin-bottom:16px}.suspended-title{margin:0 0 12px;font-size:1.4rem;font-weight:700;letter-spacing:-.01em;color:var(--error)}.suspended-text{margin:0 0 16px;font-size:.95rem;color:var(--text-muted);line-height:1.6}.suspended-reason{background:#ef44441a;border:1px solid rgba(239,68,68,.25);border-radius:10px;padding:12px 16px;margin-bottom:16px;font-size:.9rem;text-align:left}.suspended-appeal{margin:0 0 32px;font-size:.82rem;color:var(--text-faint);line-height:1.6;text-align:left}.suspended-appeal a{color:var(--primary)}.suspended-logout{width:100%;padding:12px}.consent-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;padding:24px;background:var(--bg-gradient)}.consent-card{width:100%;max-width:420px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);padding:32px 26px}.consent-icon{font-size:2.5rem;text-align:center;margin-bottom:16px}.consent-title{margin:0 0 12px;font-size:1.2rem;font-weight:700;text-align:center;letter-spacing:-.01em}.consent-text{margin:0 0 8px;font-size:.9rem;color:var(--text-muted);line-height:1.6}.consent-note{margin:0 0 24px;font-size:.85rem;color:var(--text-faint);line-height:1.5}.consent-note a{color:var(--primary)}.consent-actions{display:flex;flex-direction:column;gap:12px}.switch{position:relative;display:inline-block;width:56px;height:32px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;border:1px solid var(--glass-border);background:#ffffff14;cursor:pointer;transition:.3s ease}.slider:before{position:absolute;content:"";left:3px;bottom:3px;width:24px;height:24px;border-radius:50%;background:#e2e8f0;transition:.3s ease}.switch input:checked+.slider{background:#10b981;border-color:#10b981}.switch input:checked+.slider:before{transform:translate(24px)}.interests-grid{display:flex;flex-wrap:wrap;gap:8px}.interest-chip{position:relative;cursor:pointer}.interest-chip input{position:absolute;opacity:0}.interest-chip span,.readonly-interest-chip{display:inline-flex;align-items:center;border-radius:var(--radius-pill);border:1px solid var(--glass-border);padding:8px 13px;background:#94a3b812;color:var(--text-muted);font-size:.88rem;font-weight:600;transition:background .18s ease,border-color .18s ease,color .18s ease}html.light .interest-chip span,html.light .readonly-interest-chip{background:#0f172a0a}.interest-chip:hover input:not(:checked)+span{border-color:var(--primary-border);color:inherit}.interest-chip input:checked+span{background:linear-gradient(135deg,#3b82f652,#2563eb38);border-color:#3b82f68c;color:var(--text-primary);box-shadow:0 0 16px #3b82f638}.users-on-map-card{gap:16px}.users-on-map-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.search-box{min-width:220px}.map-filter-grid{max-height:110px;overflow-y:auto;padding-right:4px}.summary-list{list-style:none;margin:0;padding:0}.summary-list.horizontal-list{display:flex;gap:12px;overflow-x:auto;padding-top:6px;padding-bottom:8px}.summary-list.horizontal-list li{flex:0 0 auto}.summary-user-item{display:flex;flex-direction:column;align-items:center;gap:7px;min-width:108px;padding:12px 10px;border-radius:var(--radius-md);background:#94a3b812;border:1px solid var(--glass-border);cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}html.light .summary-user-item{background:#0f172a0a}.summary-user-item:hover{transform:translateY(-2px);border-color:var(--primary-border);background:var(--primary-soft)}.summary-current .summary-user-item{border-color:#3b82f666}.summary-avatar-ring{display:inline-flex;padding:2.5px;border-radius:50%;flex-shrink:0}.summary-avatar{width:46px;height:46px;border-radius:50%;object-fit:cover;border:2px solid var(--card-bg);display:block}.summary-name{max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-weight:600;text-align:center}.summary-activity{max-width:104px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;color:var(--text-muted);text-align:center}.summary-empty{margin:0;padding:6px 2px;font-size:.9rem;color:var(--text-faint)}.empty-state{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 10px;text-align:center}.empty-state-icon{font-size:1.6rem;line-height:1}.empty-state-title{margin:0;font-size:.95rem;font-weight:600}.empty-state-hint{margin:0;font-size:.82rem;color:var(--text-muted);max-width:420px}.empty-state-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:6px}.empty-state-btn{font-size:.82rem;padding:7px 14px}.push-priming{position:fixed;left:50%;bottom:18px;transform:translate(-50%);z-index:960;display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center;max-width:min(480px,calc(100vw - 24px));padding:12px 16px;border-radius:14px;border:1px solid var(--glass-border);background:var(--card-bg, #0f172a);box-shadow:0 8px 30px #00000059}.push-priming-text{font-size:.86rem;line-height:1.4}body.chat-open .push-priming{display:none}.user-distance-tag{display:inline-flex;align-items:center;justify-content:center;min-height:22px;padding:3px 10px;border-radius:var(--radius-pill);background:var(--primary-soft);border:1px solid rgba(59,130,246,.24);font-size:.72rem;font-weight:700;color:#93c5fd}html.light .user-distance-tag{color:#1d4ed8}.user-profile-button{border:1px solid rgba(59,130,246,.3);background:#3b82f61f;color:#dbeafe;cursor:pointer;font-size:.74rem;font-weight:600;padding:6px 10px;border-radius:999px;line-height:1}.user-profile-button:hover{background:#3b82f633;border-color:#3b82f673}.header-avatar{width:40px;height:40px;object-fit:cover;border-radius:50%}.header-action-btn{--neon: #3b82f6;--neon-ic: #9cc2ff;--neon-glow: rgba(59, 130, 246, .45);--neon-soft: rgba(59, 130, 246, .14);position:relative;width:64px;height:64px;border-radius:20px;border:1.5px solid var(--neon);background:linear-gradient(158deg,#0c1524,#060c16 55%,#04070e);box-shadow:0 0 0 1px var(--neon-soft),0 0 16px var(--neon-glow),inset 0 0 14px var(--neon-soft),inset 0 1px #ffffff0f,0 8px 16px #00000073;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.header-action-btn:before,.header-action-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;z-index:0}.header-action-btn:before{background:repeating-linear-gradient(0deg,var(--neon-soft) 0 1px,transparent 1px 14px),repeating-linear-gradient(90deg,var(--neon-soft) 0 1px,transparent 1px 14px);opacity:.55}.header-action-btn:after{background:radial-gradient(circle at 50% 44%,var(--neon-glow),transparent 62%);opacity:.5}.header-action-btn svg,.header-action-btn .header-avatar{position:relative;z-index:1}.header-action-btn .topbar-chat-badge{z-index:2}.header-action-btn svg{color:var(--neon-ic);filter:drop-shadow(0 0 5px var(--neon-glow))}.header-action-btn .header-avatar{box-shadow:0 0 0 2px var(--neon),0 0 9px var(--neon-glow)}.header-action-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 0 0 1px var(--neon-soft),0 0 24px var(--neon-glow),inset 0 0 18px var(--neon-soft),inset 0 1px #ffffff14,0 10px 20px #00000080}.header-action-btn:disabled{opacity:.85}.header-action-btn.vis-all{--neon: #f0494b;--neon-ic: #ff9698;--neon-glow: rgba(240, 73, 75, .45);--neon-soft: rgba(240, 73, 75, .15)}.header-action-btn.vis-friends{--neon: #f59e0b;--neon-ic: #ffca6b;--neon-glow: rgba(245, 158, 11, .45);--neon-soft: rgba(245, 158, 11, .15)}.header-action-btn.vis-none{--neon: #34c77b;--neon-ic: #74f1ad;--neon-glow: rgba(52, 199, 123, .45);--neon-soft: rgba(52, 199, 123, .15)}.topbar-btn{cursor:pointer;font:inherit;color:inherit;transition:color .2s ease}.topbar-btn:hover:not(:disabled){color:var(--topbar-hover, inherit)}.topbar-btn:disabled{cursor:default}.topbar-bare{background:transparent;border:none;padding:0}.topbar-logo-link{text-decoration:none;cursor:pointer;transition:opacity .2s ease}.topbar-logo-link:hover{opacity:.82}.topbar-icon-btn{display:inline-flex;align-items:center;justify-content:center}.topbar-text-btn{font-size:.875rem;font-weight:500;padding:4px 8px}.topbar-chat-badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#ef4444;color:#fff;font-size:11px;line-height:18px;text-align:center;font-weight:700}.topbar-activity-selector{display:flex;align-items:center;gap:10px;margin-top:12px;padding:6px 16px;border-radius:var(--radius-pill);background:#94a3b812;border:1px solid var(--glass-border);transition:border-color .18s ease}.topbar-activity-selector:hover,.topbar-activity-selector:focus-within{border-color:var(--primary-border)}html.light .topbar-activity-selector{background:#0f172a0f}.topbar-activity-label{font-size:.75rem;font-weight:600;color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.topbar-activity-select{background:transparent;color:#ffffffeb;border:none;font-size:.85rem;font-weight:700;outline:none;cursor:pointer}html.light .topbar-activity-select{color:#1f2937}.topbar-activity-select option{background:var(--card-bg);color:var(--text-primary)}@supports (appearance: base-select){select:not([multiple]):not([size]),select:not([multiple]):not([size])::picker(select){-webkit-appearance:base-select;-moz-appearance:base-select;appearance:base-select}select:not([multiple]):not([size])::picker(select){background:var(--card-bg);color:var(--text-primary);border:1px solid var(--glass-border);border-radius:12px;box-shadow:0 18px 50px #00000073;padding:5px;margin-top:5px}select:not([multiple]):not([size]) option{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:9px;font-size:.9rem;cursor:pointer;transition:background .15s ease}select:not([multiple]):not([size]) option:hover,select:not([multiple]):not([size]) option:focus{background:var(--primary-soft)}select:not([multiple]):not([size]) option:checked{background:linear-gradient(135deg,#3b82f652,#2563eb38);font-weight:600}select:not([multiple]):not([size]) option::checkmark{color:#93c5fd}}.filter-row{display:flex;align-items:center;cursor:pointer;border-radius:10px;padding:10px 14px;transition:background .15s ease}.filter-row:hover{background:#94a3b814}html.light .filter-row:hover{background:#0f172a0d}.filter-row--active,.filter-row--active:hover{background:var(--primary-soft)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;min-height:100vh;min-height:100dvh;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;background:#020617b8;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.modal-content{position:relative;width:min(520px,100%);max-height:90vh;overflow-y:auto;overflow-x:hidden}.minh-100dvh{min-height:100vh;min-height:100dvh}.maxh-85dvh{max-height:85vh;max-height:85dvh}.modal-overlay>.modal-content{background:var(--modal-bg);backdrop-filter:none;-webkit-backdrop-filter:none;border-radius:var(--radius-lg);box-shadow:0 24px 70px #00000073;animation:modal-shell-in .15s ease-out}.modal-header h2{margin:0;font-size:1.18rem;font-weight:700;letter-spacing:-.01em}.modal-shell{position:relative;width:100%;padding:22px;background:var(--modal-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:0 24px 70px #00000073;animation:modal-shell-in .15s ease-out}.modal-shell-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.modal-shell-title{margin:0;font-size:1.15rem;font-weight:700;letter-spacing:-.01em}.modal-shell-close{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;border:1px solid var(--glass-border);background:transparent;color:inherit;font-size:.95rem;line-height:1;cursor:pointer;transition:background .18s ease,border-color .18s ease}.modal-shell-close:hover{background:var(--primary-soft);border-color:var(--primary-border)}@keyframes modal-shell-in{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.modal-shell,.modal-overlay>.modal-content,.calendar-modal,.event-editor,.event-viewer,.friend-picker,.proposal-editor,.confirm-dialog{animation:none}}.modal-header,.modal-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-header{margin-bottom:20px}.profile-header{display:flex;gap:18px;align-items:flex-start}.avatar-wrapper{position:relative;flex-shrink:0;width:84px;height:84px;border-radius:50%;overflow:hidden;border:2px solid var(--primary)}.avatar-wrapper img{width:100%;height:100%;object-fit:cover}.avatar-edit-icon{position:absolute;right:0;bottom:0;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--primary);color:#fff;font-size:1.2rem;cursor:pointer}.modal-profile-info,.profile-edit-grid{display:flex;flex-direction:column;gap:12px}.profile-edit-grid+.modal-section{margin-top:16px}.modal-section{display:flex;flex-direction:column;gap:16px;padding:18px;background:#94a3b80f;border:1px solid var(--glass-border);border-radius:var(--radius-md);margin-bottom:20px}html.light .modal-section{background:#0f172a08}.modal-profile-info{flex:1}.profile-name-line{font-size:1.25rem;color:inherit}.profile-subline{font-size:.78rem}.profile-inline-grid,.edit-actions-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.profile-bio-input{min-height:92px;resize:vertical}.profile-email-field,.profile-readonly-field{display:flex;flex-direction:column;gap:4px}.profile-email-label,.profile-readonly-label{font-size:.75rem;font-weight:600;opacity:.55;text-transform:uppercase;letter-spacing:.04em}.profile-meta{margin:18px 0;display:flex;flex-direction:column;gap:8px}.profile-bio{margin:0;color:#e2e8f0;line-height:1.6}.distance-pill{display:inline-flex;width:fit-content;margin:0;padding:6px 10px;border-radius:999px;background:#3b82f629;color:#bfdbfe}.profile-activity-banner{display:flex;align-items:center;gap:8px;margin-top:10px;padding:8px 14px;border-radius:12px;background:#ecc94b1f;border:1px solid rgba(236,201,75,.35)}.profile-activity-banner-label{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;opacity:.65}.profile-activity-banner-value{font-size:.95rem;font-weight:700;color:#f6d860}.modal-actions{margin:20px 0}.readonly-interest-list{display:flex;flex-wrap:wrap;gap:8px}.guest-actions{margin:20px 0}.guest-actions .button-ghost{box-shadow:0 6px 18px var(--primary-glow)}.guest-actions .button-danger{box-shadow:0 6px 18px #dc262659}.location-refresh-btn{width:100%}.hidden{display:none!important}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);width:max-content;max-width:min(520px,calc(100vw - 32px));box-sizing:border-box;padding:13px 18px;border-radius:18px;border:1px solid var(--glass-border);background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:var(--glass-shadow);color:inherit;font-size:.95rem;line-height:1.45;text-align:left;overflow-wrap:anywhere;transition:opacity .18s ease,transform .18s ease;z-index:16050}.toast.hidden{opacity:0;transform:translate(-50%) translateY(10px);pointer-events:none;display:block!important}.toast.success{background:#16a34ae6;color:#fff}.toast.error{background:#dc2626eb;color:#fff}.toast.warning{background:#d97706eb;color:#fff}.toast--with-action{display:flex;align-items:center;gap:14px}.toast-action{flex-shrink:0;padding:4px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.55);background:#ffffff2e;color:inherit;font-weight:700;font-size:.85rem;cursor:pointer;transition:background .15s ease}.toast-action:hover{background:#ffffff4d}html.light .toast-action{border-color:#0f172a47;background:#0f172a0f}html.light .toast-action:hover{background:#0f172a1f}@media (prefers-reduced-motion: reduce){.toast{transition:none}.toast.hidden{transform:translate(-50%)}}@media (max-width: 640px){.toast{max-width:calc(100vw - 24px);padding:12px 14px;font-size:.9rem;border-radius:16px}.toast--with-action{flex-wrap:wrap;justify-content:flex-end;gap:8px 12px}.toast-action{padding:6px 14px;font-size:.9rem}}.avatar-marker{width:40px;height:40px;border-radius:50%;border:2px solid #fff;background:#fff;box-shadow:0 4px 12px #00000059;position:relative}.avatar-marker img{width:100%;height:100%;object-fit:cover;border-radius:50%}.avatar-marker.current{border-color:var(--primary);box-shadow:0 0 18px var(--primary-glow)}.marker-pin{position:absolute;left:50%;bottom:-10px;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:10px solid #fff}.avatar-marker.current .marker-pin{border-top-color:var(--primary)}.avatar-marker.stale{opacity:.55;border-style:dashed;filter:grayscale(.6)}.avatar-marker.approx{border-style:dashed;box-shadow:0 0 0 3px #94a3b859,0 4px 12px #00000059}.user-distance-tag--approx{font-style:italic;opacity:.85}.lp-safety-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:26px}.lp-safety-card{border:1px solid rgba(128,128,128,.2);border-radius:14px;padding:16px 18px;background:#8080800f}.lp-safety-card-title{font-weight:700;font-size:.98rem;margin:0 0 6px}.lp-safety-card-detail{font-size:.86rem;line-height:1.5;opacity:.82;margin:0}.custom-div-icon{background:none;border:none}.chat-toggle-btn{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:50%;background:var(--primary);color:#fff;border:none;box-shadow:0 6px 20px #0000004d;cursor:pointer;z-index:850;display:flex;align-items:center;justify-content:center;font-size:22px;transition:transform .2s ease,background .2s ease}.chat-toggle-btn:hover{transform:scale(1.05);background:var(--primary-hover)}.chat-toggle-btn.has-unread{animation:pulse-unread 2s infinite}@keyframes pulse-unread{0%{box-shadow:0 0 #ef444466}70%{box-shadow:0 0 0 10px #ef444400}to{box-shadow:0 0 #ef444400}}.chat-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;z-index:900}.chat-overlay.visible{opacity:1;visibility:visible}.chat-panel{position:fixed;top:0;right:0;width:380px;max-width:100%;height:100%;height:100dvh;transform:translate(100%);transition:transform .3s ease;background:#0f172a;border-left:1px solid var(--glass-border);z-index:950;display:flex;flex-direction:column;overscroll-behavior:none}.chat-panel.open{transform:translate(0)}.chat-panel-header{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--glass-border);flex-shrink:0}.chat-panel-header h3{margin:0;flex:1}.chat-nav-btn{width:36px;height:36px;border-radius:10px;border:1px solid var(--glass-border);background:#ffffff0d;color:#cbd5e1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease}.chat-nav-btn:hover{background:var(--primary-soft);border-color:var(--primary-border);color:inherit}html.light .chat-nav-btn{background:#0f172a0a;color:#334155}.chat-back-btn{width:auto;padding:0 12px;gap:6px;font-size:.88rem;font-weight:600;letter-spacing:.01em}.chat-header-info{flex:1;min-width:0}.chat-list-view,.chat-conversation-view{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.chat-conv-list,.chat-messages{display:flex;flex-direction:column}.chat-conv-list{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}.chat-messages{flex:1;gap:6px;overflow-y:auto;overscroll-behavior:contain;padding:16px 20px}.conv-item{display:flex;align-items:center;gap:12px;padding:14px 20px;cursor:pointer;transition:background .18s ease}.conv-item:hover,.conv-item.has-unread{background:#94a3b814}html.light .conv-item:hover,html.light .conv-item.has-unread{background:#0f172a0d}.conv-avatar-ring{display:inline-flex;padding:2px;border-radius:50%;flex-shrink:0}.conv-avatar-ring .conv-avatar{display:block;border:2px solid var(--card-bg)}.conv-delete-btn{flex-shrink:0;margin-left:auto;background:none;border:none;color:#ffffff59;font-size:1.1rem;line-height:1;cursor:pointer;padding:2px 6px;border-radius:4px;transition:color .15s}.conv-delete-btn:hover{color:#f87171}.conv-delete-confirm{flex-shrink:0;display:flex;align-items:center;gap:6px;margin-left:auto;font-size:.75rem;color:#ffffffb3}.conv-delete-confirm-yes{padding:2px 8px;background:#ef4444;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.75rem}.conv-delete-confirm-no{padding:2px 8px;background:#ffffff1a;color:inherit;border:none;border-radius:4px;cursor:pointer;font-size:.75rem}.conv-avatar,.chat-header-avatar{border-radius:50%;object-fit:cover}.conv-avatar{width:44px;height:44px}.chat-header-avatar{width:32px;height:32px}.conv-info{flex:1;min-width:0}.conv-name,.chat-header-name{color:#f8fafc;font-weight:500}.conv-preview,.conv-time,.chat-empty,.chat-loading,.msg-time{color:#94a3b8}.msg-time{font-size:.7rem;display:flex;align-items:center;gap:4px}.conv-unread,.chat-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#ef4444;color:#fff;font-size:.72rem;font-weight:700}.chat-badge{position:absolute;top:-2px;right:-2px;background:#ef4444;color:#fff;min-width:20px;height:20px;padding:0 6px;border-radius:10px;font-size:.7rem;font-weight:800;display:none;align-items:center;justify-content:center;border:2px solid #0f172a}.chat-badge.visible{display:flex}.chat-empty,.chat-loading{padding:40px 20px;text-align:center}.chat-empty-icon{display:block;margin-bottom:12px;font-size:2rem}.msg{max-width:80%;display:flex;flex-direction:column}.msg-mine{align-self:flex-end;align-items:flex-end}.msg-other{align-self:flex-start;align-items:flex-start}.msg-bubble{padding:10px 14px;border-radius:var(--radius-md);line-height:1.45;white-space:pre-wrap}.msg-mine .msg-bubble{background:var(--primary-grad);color:#fff;border-bottom-right-radius:6px}.msg-other .msg-bubble{background:#94a3b81f;color:#f8fafc;border-bottom-left-radius:6px}.msg .msg-bubble-special{width:100%;background:linear-gradient(135deg,#3b82f629,#2563eb12);border:1px solid rgba(59,130,246,.35);color:inherit;border-radius:var(--radius-md)}.chat-day-separator{align-self:center;margin:10px 0 4px;padding:3px 12px;font-size:.72rem;color:#94a3b8;background:#94a3b81f;border-radius:var(--radius-pill)}html.light .chat-day-separator{background:#0f172a0f}.msg-read-receipt{font-size:.72rem;line-height:1;color:#94a3b8}.msg-read-receipt--read{color:var(--primary)}.msg-report-btn{background:none;border:none;padding:4px;margin:-4px;font-size:.72rem;line-height:1;color:#94a3b8;opacity:.5;cursor:pointer}.msg-report-btn:hover,.msg-report-btn:focus-visible{opacity:1;color:var(--error, #ef4444)}.msg-in{animation:slideUp .22s ease-out}.msg-status-pending{margin-left:6px;opacity:.55;font-size:.85em;letter-spacing:1px}.msg-status-error{margin-left:6px;cursor:help}.chat-input-bar{display:flex;gap:10px;padding:14px 20px;border-top:1px solid var(--glass-border);flex-shrink:0}.chat-input{flex:1;border-radius:var(--radius-pill);border:1px solid var(--glass-border);background:#94a3b812;color:inherit;padding:10px 16px;outline:none;transition:border-color .18s ease,box-shadow .18s ease}.chat-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px #3b82f62e}.chat-send-btn{width:42px;height:42px;border:none;border-radius:50%;background:var(--primary-grad);color:#fff;cursor:pointer;box-shadow:0 4px 14px var(--primary-glow);transition:transform .18s ease,box-shadow .18s ease}.chat-send-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px var(--primary-glow)}.chat-send-btn:active:not(:disabled){transform:translateY(0) scale(.95)}.chat-send-btn:disabled{opacity:.35;cursor:default}.chat-send-limit-hint{margin:0;padding:4px 16px 0;font-size:.75rem;color:#fbbf24;text-align:center;flex-shrink:0}.popup-chat-btn{margin-top:6px;border:none;border-radius:999px;background:var(--primary);color:#fff;padding:6px 12px;cursor:pointer}.input-with-counter{position:relative;display:flex;flex-direction:column}.input-with-counter input,.input-with-counter textarea{width:100%}.char-counter{align-self:flex-end;font-size:.72rem;color:#ffffff59;margin-top:2px;line-height:1;pointer-events:none;transition:color .2s}.char-counter.char-counter-warn{color:#fbbf24}@media (max-width: 980px){.layout-grid{grid-template-columns:1fr}.info-card{position:static}.app-shell{padding:0 12px 12px}.hero-header{padding:22px 14px}.hero-topbar{justify-content:space-between}.hero-accountbar{width:auto;justify-content:flex-end;margin-left:auto}.auth-required-actions{flex-direction:column}.hero-toolbar{flex-direction:row;justify-content:center;gap:12px;width:100%}.toolbar-group-map{padding-right:0;border-right:none}.users-on-map-header{flex-direction:column}.search-box{width:100%;min-width:0}.map-view{min-height:48vh;height:48vh;height:48dvh}.chat-panel{width:100%}}.create-group-btn{display:flex;align-items:center;gap:8px;width:calc(100% - 24px);margin:8px 12px 4px;padding:8px 12px;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:10px;color:#93c5fd;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s}.create-group-btn:hover{background:#3b82f633}.create-group-btn-icon{font-size:1rem}.conv-avatar-group{position:relative;width:40px;height:40px;flex-shrink:0;border-radius:50%;overflow:visible}.conv-avatar-group-img{width:26px;height:26px;border-radius:50%;border:2px solid var(--bg-panel);object-fit:cover;position:absolute}.conv-avatar-group-img-0{top:0;left:0;z-index:2}.conv-avatar-group-img-1{bottom:0;right:0;z-index:1}.conv-avatar-group-icon{font-size:1.4rem;line-height:40px}.conv-avatar-group-more{position:absolute;bottom:-2px;right:-2px;z-index:3;min-width:16px;height:16px;padding:0 3px;border-radius:8px;background:#3b82f6;color:#fff;border:2px solid var(--bg-panel);font-size:.55rem;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center}.conv-group-badge{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;background:#3b82f6;color:#fff;border-radius:3px;font-size:.55rem;font-weight:700;margin-right:4px;vertical-align:middle}.group-members-bar{padding:0 12px 6px;border-bottom:1px solid rgba(255,255,255,.06)}.group-members-bar-row{display:flex;align-items:center;gap:6px}.group-add-member-btn{flex-shrink:0;background:#3b82f626;border:1px solid rgba(59,130,246,.35);color:#93c5fd;font-size:.7rem;padding:2px 8px;border-radius:12px;cursor:pointer;white-space:nowrap;transition:background .15s}.group-add-member-btn:hover{background:#3b82f647}.group-members-toggle{display:flex;align-items:center;gap:4px;background:none;border:none;color:#fff6;font-size:.72rem;cursor:pointer;padding:2px 0;width:100%;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.group-members-toggle-icon{margin-left:auto;flex-shrink:0;opacity:.6}.group-members-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.group-member-chip{display:flex;align-items:center;gap:5px;padding:3px 8px 3px 3px;background:#ffffff12;border:none;border-radius:20px;color:inherit;font-size:.75rem;cursor:pointer;transition:background .15s}.group-member-chip:hover{background:#ffffff21}.group-member-chip-avatar{width:20px;height:20px;border-radius:50%;object-fit:cover}.msg-sender-row{display:flex;align-items:center;gap:5px;margin-bottom:2px;padding-left:2px}.msg-sender-avatar{width:18px;height:18px;border-radius:50%;object-fit:cover}.msg-sender-name{font-size:.7rem;font-weight:600;color:#ffffff80}.chat-header-group-icon{width:34px;height:34px;border-radius:50%;background:#3b82f633;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}.create-group-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:#0009;display:flex;align-items:flex-end;justify-content:center}.create-group-modal{background:var(--bg-panel);border:1px solid var(--glass-border);border-bottom:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:420px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.create-group-header{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 12px;border-bottom:1px solid rgba(255,255,255,.08)}.create-group-header h3{margin:0;font-size:1rem}.create-group-body{flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:10px}.create-group-name-input{width:100%;padding:10px 12px;background:#ffffff12;border:1px solid rgba(255,255,255,.12);border-radius:10px;color:inherit;font-size:.9rem;box-sizing:border-box}.create-group-name-input:focus{outline:none;border-color:#3b82f680}.create-group-label{font-size:.78rem;color:#ffffff80;margin:0}.create-group-empty{font-size:.85rem;color:#fff6;text-align:center;padding:16px 0}.create-group-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.create-group-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;cursor:pointer;transition:background .15s}.create-group-item:hover{background:#ffffff0f}.create-group-item.selected{background:#3b82f626}.create-group-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;flex-shrink:0}.create-group-name{flex:1;font-size:.88rem}.create-group-check{width:20px;height:20px;border-radius:50%;border:2px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:.75rem;color:#22c55e;font-weight:700;flex-shrink:0}.create-group-item.selected .create-group-check{border-color:#22c55e;background:#22c55e26}.create-group-footer{padding:12px 16px;border-top:1px solid rgba(255,255,255,.08)}.create-group-footer .button-primary{width:100%;padding:12px}.confirm-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:16000;display:flex;align-items:center;justify-content:center;padding:20px;background:#020617a6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:fade-in .18s ease}.confirm-dialog{width:min(380px,100%);padding:28px 24px 24px;background:var(--modal-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:0 20px 60px #00000073;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;animation:dialog-pop .22s cubic-bezier(.34,1.56,.64,1)}.confirm-dialog-icon{font-size:2.2rem;line-height:1}.confirm-dialog-title{margin:0;font-size:1.1rem;font-weight:700;color:inherit}.confirm-dialog-message{margin:0;color:#94a3b8;font-size:.9rem;line-height:1.55}.confirm-dialog-message strong{color:#e2e8f0;font-weight:600}.confirm-dialog-message .confirm-warning{display:block;margin-top:10px;padding:8px 10px;border-left:3px solid #f59e0b;border-radius:6px;background:#f59e0b1a;color:#fbbf24;font-weight:600}.confirm-dialog-actions{display:flex;gap:10px;margin-top:8px;width:100%}.confirm-dialog-actions .button-ghost,.confirm-dialog-actions .button-primary,.confirm-dialog-actions .button-danger{flex:1;padding:10px 16px;font-size:.9rem}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-pop{0%{opacity:0;transform:scale(.88) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.friend-list-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:#ffffff0a;border:1px solid var(--glass-border);cursor:pointer;transition:background .18s ease,transform .18s ease,border-color .18s ease;list-style:none}.friend-list-item:hover{background:#3b82f61a;border-color:#3b82f64d;transform:translateY(-1px)}.friend-list-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid var(--glass-border)}.friend-list-info{flex:1;min-width:0}.friend-list-name{margin:0;font-weight:600;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friend-list-bio{margin:2px 0 0;font-size:.78rem;color:#94a3b8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friend-remove-btn{padding:5px 12px!important;font-size:.78rem!important;flex-shrink:0}.profile-user-list{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.profile-user-list--scroll{max-height:21rem;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-right:4px}.friend-search-input{width:100%;margin:12px 0 0;padding:9px 12px;border-radius:10px;border:1px solid var(--glass-border);background:#ffffff0a;color:inherit;font-size:.88rem;outline:none}.friend-search-input:focus{border-color:#3b82f680;background:#3b82f614}.friend-code-block{margin:12px 0 4px;display:flex;flex-direction:column;gap:10px}.my-friend-code{padding:10px 12px;border-radius:12px;background:#ffffff0a;border:1px solid var(--glass-border)}.my-friend-code-label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;margin-bottom:6px}.my-friend-code-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.my-friend-code-value{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1rem;font-weight:700;letter-spacing:.06em;flex:1;min-width:120px;-webkit-user-select:all;user-select:all}.my-friend-code-hint{margin:8px 0 0;font-size:.76rem;color:#94a3b8}.add-friend-toggle-btn{width:100%;padding:10px 14px;border-radius:12px;border:1px dashed rgba(59,130,246,.5);background:#3b82f614;color:inherit;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .18s ease,border-color .18s ease}.add-friend-toggle-btn:hover{background:#3b82f629;border-color:#3b82f6b3}.add-friend-form-wrap{display:flex;flex-direction:column;gap:8px}.add-friend-form{display:flex;align-items:center;gap:8px}.add-friend-code-input{flex:1;min-width:0;padding:9px 12px;border-radius:10px;border:1px solid var(--glass-border);background:#ffffff0a;color:inherit;font-size:.88rem;outline:none}.add-friend-code-input:focus{border-color:#3b82f680;background:#3b82f614}.friend-code-mini-btn{flex-shrink:0;padding:8px 14px!important;font-size:.82rem!important;white-space:nowrap}.add-friend-result{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:#ffffff0a;border:1px solid var(--glass-border)}.add-friend-status{font-size:.85rem;margin:0}.friend-profile-panel{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--card-radius);background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);display:flex;flex-direction:column;transform:translate(110%);transition:transform .28s cubic-bezier(.4,0,.2,1);z-index:10;overflow-y:auto}.friend-profile-panel--open{transform:translate(0)}.friend-panel-header{display:flex;align-items:center;gap:12px;padding:18px 20px 14px;border-bottom:1px solid var(--glass-border);flex-shrink:0}.friend-panel-title{font-weight:700;font-size:1rem}.friend-panel-body{display:flex;flex-direction:column;align-items:center;gap:12px;padding:28px 24px 32px;text-align:center}.friend-panel-avatar-wrap{width:88px;height:88px;border-radius:50%;overflow:hidden;border:3px solid var(--primary);box-shadow:0 0 20px var(--primary-glow);flex-shrink:0}.friend-panel-avatar{width:100%;height:100%;object-fit:cover}.friend-panel-avatar-btn{padding:0;background:none;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.friend-panel-avatar-btn:hover,.friend-panel-avatar-btn:focus-visible{transform:scale(1.05);box-shadow:0 0 28px var(--primary-glow);outline:none}.friend-panel-name{margin:0;font-size:1.2rem;font-weight:700}.friend-panel-bio{margin:0;font-size:.9rem;color:#94a3b8;line-height:1.55;max-width:280px}.profile-gallery-section{margin-top:10px;padding:18px;background:#94a3b80f;border:1px solid var(--glass-border);border-radius:var(--radius-md);margin-bottom:24px}html.light .profile-gallery-section{background:#0f172a08}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}.gallery-item{position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden;background:#ffffff0d;border:1px solid var(--glass-border);cursor:pointer;transition:transform .2s,box-shadow .2s}.gallery-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.gallery-photo{width:100%;height:100%;object-fit:cover}.gallery-photo--broken{object-fit:contain;display:flex;align-items:center;justify-content:center;padding:8px;font-size:.72rem;text-align:center;color:#ffffff73}.gallery-slot-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#fff6;border:2px dashed rgba(255,255,255,.1);background:transparent}.gallery-slot-empty span{font-size:1.5rem;font-weight:300}.gallery-item-delete{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:50%;background:#ef4444e6;color:#fff;border:none;font-size:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:background .2s}.profile-planning-btn{width:100%;padding:16px;background:#ffffff08;border:1.5px solid var(--primary);color:var(--primary);border-radius:14px;cursor:pointer;font-size:.9rem;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s ease}.profile-planning-btn:hover{background:#3b82f61a;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f633}.gallery-item-delete:hover{background:#dc2626}@media (max-width: 480px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}.calendar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172ad9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:12000;display:flex;align-items:center;justify-content:center;padding:16px;animation:fadeIn .25s ease-out}.calendar-modal{width:100%;max-width:480px;max-height:92vh;background:var(--card-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);display:flex;flex-direction:column;box-shadow:0 24px 70px #00000073;overflow:hidden;animation:modal-shell-in .15s ease-out}.calendar-header{padding:16px 24px;display:flex;flex-direction:column;gap:10px;border-bottom:1px solid var(--glass-border);background:#ffffff05}.calendar-header-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.calendar-month-nav{display:flex;align-items:center;gap:8px}.calendar-back-btn{font-size:.85rem;padding:6px 12px;white-space:nowrap;flex-shrink:0}.calendar-body{flex:1;overflow-y:auto;padding:12px 16px 16px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-top:8px}.calendar-day-label{text-align:center;font-size:.65rem;font-weight:700;color:#fff6;text-transform:uppercase;letter-spacing:.03em;padding-bottom:6px}.calendar-cell{aspect-ratio:1;background:#94a3b80f;border-radius:10px;padding:4px;display:flex;flex-direction:column;gap:2px;cursor:pointer;transition:background .18s ease,border-color .18s ease;border:1px solid transparent;min-height:44px;overflow:hidden}html.light .calendar-cell{background:#0f172a0a}.calendar-cell:hover{background:var(--primary-soft);border-color:var(--primary-border)}.calendar-cell--today{border-color:#3b82f699;background:var(--primary-soft);box-shadow:0 0 12px #3b82f62e}.calendar-cell--empty{opacity:.3;cursor:default}.calendar-cell--past{opacity:.45}.calendar-cell--past .calendar-date-num{text-decoration:line-through}.calendar-cell--empty:hover{background:#ffffff08;border-color:transparent}.calendar-date-num{font-size:.72rem;font-weight:600;line-height:1.1}.calendar-cell-events{display:flex;flex-wrap:wrap;align-content:flex-start;gap:2px}.calendar-event-dot{width:5px;height:5px;border-radius:50%;background:var(--primary);flex-shrink:0}.calendar-event-dot--private{background:#fff6}.calendar-event-more{font-size:.58rem;font-weight:700;line-height:1;opacity:.6;white-space:nowrap}.day-planner{display:flex;flex-direction:column;gap:12px;animation:slideUp .3s ease-out}.day-planner-header{display:flex;align-items:center;gap:12px;margin-bottom:10px}.time-grid{display:flex;flex-direction:column;gap:2px;max-height:500px;overflow-y:auto;padding-right:8px}.time-slot{display:grid;grid-template-columns:60px 1fr;align-items:center;min-height:48px;border-bottom:1px solid rgba(255,255,255,.03)}.time-label{font-size:.75rem;color:#fff6;font-weight:500}.time-content{padding:4px 8px;min-height:40px;display:flex;align-items:center;cursor:pointer;border-radius:8px;transition:background .2s}.time-content:hover{background:#94a3b814}html.light .time-content:hover{background:#0f172a0d}.time-slot-hint{opacity:0;transition:opacity .15s ease}.time-content:hover .time-slot-hint{opacity:.55}@media (hover: none),(pointer: coarse){.time-content--empty{border:1px dashed rgba(148,163,184,.22)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.day-planner,.calendar-overlay,.map-chat-floating,.msg-in{animation:none}.chat-send-btn:active:not(:disabled){transform:none}}.planned-event{width:100%;padding:7px 12px;border-radius:10px;background:linear-gradient(135deg,#3b82f63d,#2563eb1f);border:1px solid rgba(59,130,246,.45);font-size:.85rem;font-weight:600;display:flex;justify-content:space-between;align-items:center}.planned-event--private{background:#ffffff0d;border-color:#ffffff1a;color:#fff6}.event-comment{font-size:.75rem;opacity:.7;font-style:italic}.event-editor-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:13000;background:#0006;display:flex;align-items:center;justify-content:center;padding:16px}.event-editor,.event-viewer,.friend-picker,.proposal-editor{background:var(--card-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);width:100%;max-width:400px;padding:24px;box-shadow:0 24px 70px #00000073;max-height:calc(100vh - 48px);overflow-y:auto;animation:modal-shell-in .15s ease-out}@media (max-width: 640px){.calendar-grid{gap:4px}.calendar-cell{padding:4px;min-height:50px}.calendar-date-num{font-size:.7rem}.hero-logo{font-size:1.6rem}.hero-subtitle,.action-label{display:none}.action-item{gap:0}.toolbar-group{gap:8px}.header-action-btn{width:54px;height:54px;border-radius:16px}.topbar-activity-chip{padding:4px 8px}.topbar-activity-chip .topbar-activity-label{display:none}.topbar-activity-chip .topbar-activity-select{font-size:.85rem;max-width:56vw}}.avatar-crop-circle{display:inline-block;border-radius:50%;overflow:hidden;border:3px solid var(--primary);box-shadow:0 0 0 4px #6366f133;margin:0 auto}.avatar-crop-canvas{display:block;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.avatar-crop-canvas:active{cursor:grabbing}.avatar-crop-slider-row{display:flex;align-items:center;gap:10px;margin:18px 0 20px}.avatar-crop-zoom-icon{font-size:18px;font-weight:700;opacity:.6;min-width:18px;text-align:center}.photo-pending-badge{position:absolute;bottom:4px;right:4px;background:#000000b3;border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:13px;pointer-events:none}.photo-rejected-info{font-size:.75rem;color:var(--error, #ef4444);text-align:center;margin-top:4px;display:flex;align-items:center;justify-content:center;gap:8px}.photo-pending-info{font-size:.75rem;color:var(--warning, #f59e0b);text-align:center;margin-top:4px}.photo-rejected-dismiss{background:none;border:none;cursor:pointer;color:inherit;text-decoration:underline;font-size:inherit;padding:0}.gallery-item--pending{opacity:.72}.admin-moderation-item{display:flex;gap:12px;padding:12px 16px;border-bottom:1px solid var(--glass-border);align-items:flex-start}.admin-moderation-photo{width:72px;height:72px;object-fit:cover;border-radius:8px;cursor:pointer;flex-shrink:0;transition:opacity .15s}.admin-moderation-photo:hover{opacity:.85}.admin-moderation-info{flex:1;min-width:0}.admin-moderation-user{font-weight:600;font-size:.9rem;margin:0 0 2px}.admin-moderation-email{font-size:.78rem;opacity:.55;margin:0 0 2px}.admin-moderation-meta{font-size:.75rem;opacity:.6;margin:0 0 8px}.admin-moderation-actions{display:flex;gap:8px;flex-wrap:wrap}.event-marker{width:40px;height:40px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:flex;align-items:center;justify-content:center;font-size:18px;box-shadow:0 3px 10px #00000059;border:2px solid #fff;background:#6366f1}.event-marker--own{background:#2563eb}.event-marker--invited{background:#7c3aed}.event-marker--public{background:#059669}.event-marker--photo{width:44px;height:44px;border-radius:50%;border:3px solid;overflow:hidden;background:#1e293b;box-shadow:0 2px 8px #00000073;display:flex;align-items:center;justify-content:center;padding:0}.event-marker-photo-img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}.event-marker--temp{background:#f59e0b;opacity:.85}.location-picking-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:900;display:flex;align-items:flex-end;justify-content:center;padding-bottom:24px}.location-picking-banner{pointer-events:all;background:var(--card-bg, #1e293b);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:14px 20px;text-align:center;box-shadow:0 8px 24px #0006;max-width:320px;width:90%}.skeleton{background:linear-gradient(90deg,#ffffff0a 25%,#ffffff1a,#ffffff0a 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite}html.light .skeleton{background:linear-gradient(90deg,#e2e8f0 25%,#cbd5e1,#e2e8f0 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){.skeleton{animation:none;background:#ffffff0f}html.light .skeleton{background:#e2e8f0}}.sw-update-banner{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:99999;display:flex;align-items:center;gap:12px;background:var(--card-bg, #1e293b);color:var(--text-primary, #f1f5f9);border:1px solid rgba(59,130,246,.4);border-radius:14px;padding:12px 20px;box-shadow:0 8px 32px #00000059;font-size:.9rem;white-space:nowrap}.sw-update-banner button{padding:6px 16px;border-radius:8px;border:none;background:#3b82f6;color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s}.sw-update-banner button:hover{background:#2563eb}.push-toggle-btn{width:48px;height:26px;border-radius:13px;background:#ffffff26;border:none;cursor:pointer;padding:3px;flex-shrink:0;transition:background .2s;position:relative}.push-toggle-btn--on{background:#3b82f6}.push-toggle-knob{display:block;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0000004d;transition:transform .2s}.push-toggle-btn--on .push-toggle-knob{transform:translate(22px)}html.light .map-search-floating-input{color:#0f172a}html.light .profile-bio{color:#475569}html.light .conv-delete-btn{color:#0f172a59}html.light .conv-delete-confirm{color:#0f172aa6}html.light .conv-name,html.light .chat-header-name{color:#0f172a}html.light .msg-other .msg-bubble{background:#0f172a12;color:#0f172a}html.light .msg .msg-bubble.msg-bubble-special,html.light .chat-panel,html.light .chat-panel .conv-name,html.light .chat-panel .chat-header-name{color:#f8fafc}html.light .chat-panel .msg-other .msg-bubble:not(.msg-bubble-special){background:#94a3b81f;color:#f8fafc}html.light .chat-panel .msg-sender-name,html.light .chat-panel .group-members-toggle{color:#f8fafc99}html.light .chat-panel .char-counter,html.light .chat-panel .conv-delete-btn{color:#f8fafc66}html.light .chat-panel .conv-delete-confirm{color:#f8fafcbf}html.light .chat-panel .chat-nav-btn{background:#ffffff0f;color:#e2e8f0}html.light .char-counter{color:#0f172a59}html.light .char-counter-warn{color:#dc2626}html.light .group-members-toggle,html.light .msg-sender-name,html.light .create-group-label{color:#0f172a80}html.light .create-group-empty{color:#0f172a73}html.light .create-group-name-input{background:#0f172a0d;border-color:#0f172a26;color:#0f172a}html.light .group-member-chip{background:#0f172a12}html.light .group-member-chip:hover{background:#0f172a21}html.light .confirm-dialog-message strong{color:#0f172a}html.light .confirm-dialog-message .confirm-warning{color:#92400e}html.light .gallery-slot-empty{color:#0f172a66;border-color:#0f172a33}html.light .calendar-day-label{color:#0f172a73}html.light .time-label{color:#0f172a80}html.light .time-row{border-bottom-color:#0f172a0d}html.light .planned-event--private{background:#0f172a0a;border-color:#0f172a1f;color:#0f172a80}html.light .calendar-event-dot--private{background:#0f172a59}html.light .input-text{background:#0f172a0d;color:#0f172a}html.light .input-text::placeholder{color:#0f172a66}html.light .chat-input{background:#0f172a0d}html.light .conv-delete-confirm-no{background:#0f172a14;color:#0f172a}.lang-flag{display:inline-block;overflow:hidden;border-radius:4px;border:1px solid rgba(110,110,110,.6);box-shadow:0 1px 2px #0000001f;line-height:0;vertical-align:middle}.lang-flag-svg{display:block;width:100%;height:100%}.legal-gate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99000;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg-gradient);overflow-y:auto}.legal-gate-card{background:var(--header-bg);border:1px solid var(--glass-border);border-radius:16px;padding:28px 24px;max-width:640px;width:100%;max-height:90vh;overflow-y:auto;color:var(--text-color);line-height:1.6}.legal-gate-card h1{font-size:1.35rem;font-weight:700;margin:0 0 12px;padding-right:36px}.legal-gate-close{float:right;margin:-6px -4px 0 8px;background:none;border:none;color:var(--text-color);opacity:.65;font-size:1.5rem;line-height:1;padding:4px 8px;cursor:pointer}.legal-gate-close:hover{opacity:1}.legal-gate-deadline{background:#d977061f;border-left:4px solid #d97706;border-radius:8px;padding:10px 14px;font-size:.9rem;margin:16px 0}.legal-gate-docs{list-style:none;padding:0;margin:20px 0}.legal-gate-doc{border:1px solid var(--glass-border);border-radius:12px;padding:14px 16px;margin-bottom:12px}.legal-gate-doc label{display:flex;gap:10px;align-items:flex-start;font-weight:600;cursor:pointer}.legal-gate-summary{font-size:.85rem;opacity:.85;margin:10px 0 8px}.legal-gate-links{display:flex;flex-wrap:wrap;gap:16px;font-size:.85rem}.legal-gate-links a{color:var(--accent-color, #6366f1)}.legal-gate-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:20px 0}.legal-gate-confirm{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:.9rem}.legal-gate-rights{border-top:1px solid var(--glass-border);padding-top:16px;font-size:.85rem}.legal-gate-rights ul{padding-left:20px;margin:8px 0 0}.legal-gate-rights li{margin-bottom:6px}.legal-gate-rights a,.legal-gate-rights .link-button{color:var(--accent-color, #6366f1)}.legal-gate-note{font-size:.85rem;opacity:.8}.legal-grace-banner{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:center;padding:10px 16px;background:#d9770624;border-bottom:1px solid #d97706;font-size:.85rem;line-height:1.4}.legal-grace-banner--unknown{background:#64748b29;border-bottom:1px solid #64748b}
