:root{color-scheme:light dark;--bg: #0f172a;--fg: #f8fafc;--muted: #94a3b8;--accent: #38bdf8;--bar-bg: rgba(15, 23, 42, .92);--card-bg: rgba(30, 41, 59, .85);--border: rgba(148, 163, 184, .25);--z-status: 950;--z-target: 951;--z-panel: 960;--z-modal: 1000;--z-critical: 1100;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,sans-serif}.dialog-card,.share-dialog-card,.ttl-modal-card,.rename-modal-card,.profile-sheet-card,.peer-card,.error-dialog-card,.join-modal-card{padding-bottom:env(safe-area-inset-bottom,0)}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;padding:0;height:100%;overflow:hidden;overscroll-behavior:none;background:var(--bg);color:var(--fg)}#app{display:flex;flex-direction:column;height:100dvh;min-height:100dvh;overflow:hidden}.status-bar{display:flex;align-items:center;justify-content:space-between;gap:.45rem;padding:.55rem .75rem;background:var(--bar-bg);border:1px solid var(--border);border-radius:28px;position:fixed;bottom:calc(12px + env(safe-area-inset-bottom,0px));left:12px;right:12px;z-index:var(--z-status);backdrop-filter:blur(20px);box-shadow:0 4px 32px #0000008c,0 1px #ffffff0d inset}@media (min-width: 600px){.status-bar{max-width:520px;left:50%;right:auto;transform:translate(-50%)}}.status-bar__identity{display:flex;align-items:center;min-width:0;flex:1}.status-bar__profile-btn{appearance:none;border:none;background:transparent;color:var(--fg);cursor:pointer;display:flex;align-items:center;gap:.6rem;padding:.3rem .5rem .3rem 0;border-radius:14px;min-width:0;max-width:100%;min-height:44px;transition:background .15s}.status-bar__profile-btn:hover,.status-bar__profile-btn:focus-visible{background:#ffffff0f;outline:none}.status-bar__profile-emoji{font-size:1.5rem;line-height:1;flex-shrink:0}.status-bar__profile-info{display:flex;flex-direction:column;align-items:flex-start;min-width:0;gap:.05rem}.status-bar__profile-name{font-size:.95rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:9rem;line-height:1.2}@media (max-width: 400px){.status-bar__profile-name{max-width:6rem}}.status-bar__profile-brand{font-size:.65rem;font-weight:500;color:var(--muted);letter-spacing:.07em;white-space:nowrap;line-height:1}.status-bar__profile-brand--host{color:#eab308e6;font-weight:600;letter-spacing:.04em}.status-bar__profile-brand--guest{color:var(--accent, #38bdf8);opacity:.75}.status-bar__profile-chevron{font-size:1rem;color:var(--muted);flex-shrink:0;line-height:1;margin-left:.1rem}.status-bar__action{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.status-bar__share-btn{appearance:none;border:none;background:var(--accent);color:#0f172a;border-radius:999px;padding:.4rem 1rem;font-size:.875rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:opacity .15s}.status-bar__share-btn:hover,.status-bar__share-btn:focus-visible{opacity:.85;outline:none}.status-bar__starting{color:var(--muted);font-size:.875rem}.status-bar__sharing-group{display:flex;align-items:center;gap:.35rem}.status-bar__dot{color:#4ade80;font-size:.75rem;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.status-bar__sharing-label{font-size:.875rem;font-weight:600;color:#4ade80}.status-bar__link-btn{appearance:none;border:1px solid var(--border);background:transparent;color:var(--fg);border-radius:999px;padding:.25rem .6rem;font-size:.85rem;cursor:pointer}.status-bar__link-btn:hover,.status-bar__link-btn:focus-visible{border-color:var(--accent);outline:none}.status-bar__stop-btn{appearance:none;border:1px solid var(--border);background:transparent;color:var(--muted);border-radius:999px;padding:.25rem .6rem;font-size:.8rem;cursor:pointer}.status-bar__stop-btn:hover,.status-bar__stop-btn:focus-visible{border-color:#f87171;color:#f87171;outline:none}.status-bar__join-btn{appearance:none;border:1px solid var(--border);background:transparent;color:var(--fg);border-radius:999px;padding:.25rem .7rem;font-size:.8rem;font-weight:500;cursor:pointer;white-space:nowrap;min-height:44px;transition:background .15s,border-color .15s}.status-bar__join-btn:hover,.status-bar__join-btn:focus-visible{background:#ffffff12;border-color:var(--accent);outline:none}.status-bar__denied{font-size:.8rem;color:#f87171;white-space:nowrap}#map{flex:1;display:flex;align-items:center;justify-content:center;isolation:isolate;padding:1.5rem;background:radial-gradient(circle at 30% 20%,rgba(56,189,248,.15),transparent 50%),radial-gradient(circle at 70% 80%,rgba(167,139,250,.15),transparent 55%),var(--bg);-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}#map .leaflet-container,#map .leaflet-container *,#map .here-iam-ctrl-btn,#map .here-iam-ctrl-group,#map .leaflet-marker-icon,#map .here-iam-location-pin{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}#map .leaflet-top{padding-top:calc(8px + env(safe-area-inset-top,0px))}#map .leaflet-bottom{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}#map .leaflet-bar{border:none;box-shadow:0 4px 20px #00000073,0 1px #ffffff0f inset;border-radius:16px;overflow:hidden;background:transparent}#map .leaflet-bar a,#map .leaflet-bar a:hover{width:40px;height:40px;line-height:40px;font-size:18px;font-weight:400;background:var(--bar-bg);color:var(--fg);border:none;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:center;transition:background .15s;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);text-decoration:none}#map .leaflet-bar a:last-child{border-bottom:none}#map .leaflet-bar a:hover{background:#38bdf81f;color:var(--accent)}#map .leaflet-bar a.leaflet-disabled{opacity:.35;cursor:default}#map .leaflet-bar a.leaflet-disabled:hover{background:var(--bar-bg);color:var(--muted)}#map .leaflet-control-attribution{display:none!important}.map-placeholder__card{max-width:28rem;padding:1.5rem;background:var(--card-bg);border:1px solid var(--border);border-radius:24px;text-align:center}.map-placeholder__title{margin:0 0 .5rem;font-size:1.1rem}.map-placeholder__body{margin:0;color:var(--muted);font-size:.95rem;line-height:1.4}#map{width:100%;height:100%}.here-iam-ctrl-group,.here-iam-ctrl-secondary{display:flex;flex-direction:column;align-items:center;gap:8px}.here-iam-ctrl-btn{width:40px;height:40px;background:var(--bar-bg);color:var(--fg);cursor:pointer;border:none;border-radius:16px;display:flex;align-items:center;justify-content:center;padding:0;box-shadow:0 4px 20px #00000073,0 1px #ffffff0f inset;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);transition:background .15s,color .15s,box-shadow .15s}.here-iam-ctrl-btn:hover{background:#38bdf81f;color:var(--accent)}.here-iam-ctrl-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #38bdf859,0 4px 20px #00000073}.here-iam-toggle-btn{opacity:.65;transition:background .15s,color .15s,opacity .15s}.here-iam-toggle-btn:hover{opacity:1}@keyframes here-iam-refresh-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.here-iam-refresh-btn--spinning svg{animation:here-iam-refresh-spin .6s linear}.here-iam-marker{display:flex;flex-direction:column;align-items:center;pointer-events:auto}.here-iam-marker__emoji{font-size:32px;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.6))}.here-iam-marker__name{margin-top:3px;padding:2px 9px;font-size:12px;font-weight:700;color:#fff;background:#000000c7;border-radius:999px;white-space:nowrap;box-shadow:0 1px 4px #00000059;letter-spacing:.01em}.here-iam-marker--owner .here-iam-marker__name{background:#ca8a04f2;color:#fff}.here-iam-marker--owner .here-iam-marker__name:before{content:"★ "}.ttl-picker{display:flex;flex-direction:column;gap:.5rem;padding:0;background:transparent;border:none;margin:0;width:100%}.ttl-picker__legend{font-size:.85rem;color:var(--muted);padding:0;margin-bottom:.25rem}.ttl-picker__option{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.1rem;border:1.5px solid var(--border);border-radius:999px;cursor:pointer;min-height:56px;transition:border-color .15s,background .15s}.ttl-picker__option:has(input:checked){border-color:var(--accent);background:#38bdf812}.ttl-picker__option input[type=radio]{appearance:none;width:18px;height:18px;min-width:18px;border-radius:50%;border:2px solid var(--border);background:#ffffff0f;flex-shrink:0;margin:0;cursor:pointer;transition:border-color .15s,background .15s}.ttl-picker__option:has(input:checked) input[type=radio]{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 3px var(--bar-bg)}.ttl-picker__option-content{flex:1;display:flex;flex-direction:column;gap:.15rem}.ttl-picker__option-label{font-size:.9rem;font-weight:600;color:var(--fg);transition:color .15s}.ttl-picker__option:has(input:checked) .ttl-picker__option-label{color:var(--accent)}.ttl-picker__option-desc{font-size:.78rem;color:var(--muted);line-height:1.3}.ttl-picker__check{font-size:.9rem;color:var(--accent);opacity:0;flex-shrink:0;transition:opacity .15s}.ttl-picker__option:has(input:checked) .ttl-picker__check{opacity:1}.dialog-overlay{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:flex-end;justify-content:center;background:#0009;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}@media (min-width: 520px){.dialog-overlay{align-items:center;padding:1rem}}.dialog-card{width:100%;max-width:24rem;background:var(--bar-bg);border:1px solid var(--border);border-radius:28px 28px 0 0;overflow:hidden;box-shadow:0 -4px 32px #0000008c}@media (min-width: 520px){.dialog-card{border-radius:24px;box-shadow:0 8px 40px #0000008c}}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem .75rem;border-bottom:1px solid var(--border)}.dialog-title{font-size:.95rem;font-weight:600;margin:0}.dialog-close{appearance:none;-webkit-appearance:none;border:none;background:#ffffff14;color:#ffffff80;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;min-width:44px;min-height:44px;font-size:1.1rem;line-height:1;transition:background .15s,color .15s}.dialog-close:hover,.dialog-close:focus-visible{background:#ffffff24;color:#f1f5f9;outline:none;box-shadow:0 0 0 3px #38bdf859}.dialog-body{padding:1.25rem;display:flex;flex-direction:column;gap:.75rem;overflow-y:auto;max-height:70dvh}.about-dialog-card{max-width:21rem}.about-dialog-brand{display:flex;align-items:center;gap:.6rem}.about-dialog-brand__icon{font-size:1.4rem;line-height:1;flex-shrink:0}.about-dialog-brand__text{display:flex;flex-direction:column;gap:.1rem}.about-dialog-brand__name{margin:0;font-size:1rem;font-weight:700;letter-spacing:.01em;color:var(--accent);line-height:1.2}.about-dialog-brand__tagline{margin:0;font-size:.72rem;color:var(--muted);line-height:1.2}.about-dialog-body{gap:.9rem}.about-dialog-welcome{margin:0;font-size:.88rem;line-height:1.55;color:var(--fg)}.about-dialog-section{display:flex;flex-direction:column;gap:.35rem}.about-dialog-section__title{margin:0;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);opacity:.7}.about-dialog-section__header{display:flex;align-items:baseline;gap:.5rem}.about-dialog-contact-note{font-size:.7rem;color:var(--muted);opacity:.6;font-style:italic;white-space:nowrap}.about-dialog-contact-links{display:flex;flex-direction:column;gap:.4rem}.about-dialog-contact-link{display:flex;align-items:center;gap:.65rem;padding:.55rem .75rem;border-radius:10px;background:#ffffff0a;color:var(--fg);text-decoration:none;font-size:.875rem;min-height:44px;transition:background .12s,color .12s}.about-dialog-contact-link:hover,.about-dialog-contact-link:focus-visible{background:#38bdf81a;color:var(--accent);outline:none}.about-dialog-contact-link__icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:7px;background:#ffffff12;color:var(--accent);flex-shrink:0}.about-dialog-credits{margin:0;font-size:.8rem;line-height:1.55;color:var(--muted)}.about-dialog-credits a{color:var(--accent);text-decoration:none}.about-dialog-credits a:hover{text-decoration:underline}.about-dialog-thank{margin:0;font-size:.82rem;line-height:1.5;color:var(--muted);font-style:italic;padding-top:.5rem;border-top:1px solid var(--border)}.about-dialog-contact{margin:0;font-size:.72rem;color:var(--muted);opacity:.55;line-height:1.5}.about-dialog-contact a{color:inherit;text-decoration:none}.about-dialog-contact a:hover,.about-dialog-contact a:focus-visible{opacity:1;color:var(--accent);text-decoration:underline}.share-dialog-overlay{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:flex-end;justify-content:center;background:#0009;backdrop-filter:blur(6px)}@media (min-width: 520px){.share-dialog-overlay{align-items:center;padding:1rem}}.share-dialog-card{width:100%;max-width:24rem;background:var(--bar-bg);border:1px solid var(--border);border-radius:28px 28px 0 0;overflow:hidden;box-shadow:0 -4px 32px #0000008c}@media (min-width: 520px){.share-dialog-card{border-radius:24px;box-shadow:0 8px 40px #0000008c}}.share-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem .75rem;border-bottom:1px solid var(--border)}.share-dialog-title{font-size:.95rem;font-weight:600;margin:0}.share-dialog-close{appearance:none;border:none;background:#ffffff14;color:#ffffff80;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;min-width:44px;min-height:44px;font-size:1.1rem;line-height:1;transition:background .15s,color .15s}.share-dialog-close:hover,.share-dialog-close:focus-visible{background:#ffffff24;color:#f1f5f9;outline:none}.share-dialog-body{padding:1.25rem;display:flex;flex-direction:column;gap:.75rem}.share-sheet{display:flex;flex-direction:column;gap:.75rem}.share-sheet__qr-wrap{display:flex;justify-content:center;padding:.25rem 0}.share-sheet__qr{display:block;width:160px;height:160px;border-radius:18px;background:#fff;padding:0;box-sizing:content-box}.share-sheet__url-row{display:flex;align-items:center}.share-sheet__url{flex:1;background:#ffffff0f;border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:.78rem;padding:.5rem 1rem;cursor:default;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-height:44px}.share-sheet__url:focus{outline:none;border-color:var(--accent)}.share-sheet__actions{display:flex;gap:.5rem}.share-sheet__copy{flex:1;appearance:none;border:none;background:var(--accent);color:#0f172a;border-radius:999px;padding:.55rem 1rem;font-size:.875rem;font-weight:600;cursor:pointer;min-height:44px;transition:background .2s,opacity .15s}.share-sheet__copy:hover,.share-sheet__copy:focus-visible{opacity:.85;outline:none}.share-sheet__copy--done{background:var(--success, #4ade80)}.share-sheet__native{flex:1;appearance:none;border:1px solid var(--border);background:transparent;color:var(--fg);border-radius:999px;padding:.55rem 1rem;font-size:.875rem;cursor:pointer;min-height:44px;transition:border-color .15s}.share-sheet__native:hover,.share-sheet__native:focus-visible{border-color:var(--accent);outline:none}.share-sheet__copy-code{flex:1;appearance:none;border:1px solid var(--border);background:transparent;color:var(--fg);border-radius:999px;padding:.55rem 1rem;font-size:.875rem;cursor:pointer;min-height:44px;transition:border-color .15s,color .15s}.share-sheet__copy-code:hover,.share-sheet__copy-code:focus-visible{border-color:var(--accent);outline:none}.share-sheet__copy-code--done{border-color:var(--success, #4ade80);color:var(--success, #4ade80)}.share-sheet__ios-hint{margin:0;font-size:.78rem;color:var(--muted);text-align:center;line-height:1.4}.share-sheet__divider{border:none;border-top:1px solid var(--border);margin:0}.share-sheet__rotate-row{display:flex;justify-content:center;padding-bottom:.25rem}.share-sheet__rotate{appearance:none;background:transparent;border:1.5px solid var(--border);border-radius:999px;color:var(--muted);cursor:pointer;font-size:.95rem;min-height:44px;padding:0 1.5rem;transition:border-color .15s,color .15s}.share-sheet__rotate:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.share-sheet__rotate:disabled{opacity:.5;cursor:default}.room-ended-overlay{position:fixed;inset:0;z-index:var(--z-critical);display:flex;align-items:center;justify-content:center;background:#000000b8;backdrop-filter:blur(6px);padding:1.5rem}.room-ended-card{width:100%;max-width:22rem;background:var(--bar-bg);border:1px solid var(--border);border-radius:24px;padding:2rem 1.5rem 1.5rem;display:flex;flex-direction:column;gap:.75rem;box-shadow:0 8px 40px #0009;text-align:center}.room-ended-card__title{font-size:1.15rem;font-weight:700;margin:0;line-height:1.3}.room-ended-card__body{font-size:.88rem;color:var(--muted);margin:0;line-height:1.5}.room-ended-card__cta{appearance:none;background:var(--accent);border:none;border-radius:999px;color:#000;cursor:pointer;font-size:.92rem;font-weight:600;min-height:44px;padding:0 1.5rem;margin-top:.5rem;align-self:center;transition:opacity .15s}.room-ended-card__cta:hover{opacity:.88}.status-bar__rename,.status-bar__share-btn,.status-bar__link-btn,.status-bar__stop-btn{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}@media (max-width: 400px){.status-bar__sharing-label{display:none}.status-bar__name{max-width:5rem}}.ttl-modal-overlay{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:flex-end;justify-content:center;background:#0000008c;backdrop-filter:blur(4px)}@media (min-width: 600px){.ttl-modal-overlay{align-items:center;padding:1rem}}.ttl-modal-card{width:100%;max-width:26rem;background:var(--bar-bg);border:1px solid var(--border);border-radius:28px 28px 0 0;overflow:hidden;box-shadow:0 -4px 32px #00000080}@media (min-width: 600px){.ttl-modal-card{border-radius:24px;box-shadow:0 8px 32px #00000080}}.ttl-modal-header{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1rem .6rem;border-bottom:1px solid var(--border)}.ttl-modal-title{font-size:.95rem;font-weight:600;margin:0}.ttl-modal-close{appearance:none;border:none;background:#ffffff14;color:#ffffff80;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;min-width:44px;min-height:44px;font-size:1.1rem;line-height:1;transition:background .15s,color .15s}.ttl-modal-close:hover,.ttl-modal-close:focus-visible{background:#ffffff24;color:#f1f5f9;outline:none}.ttl-modal-body{padding:1rem}.ttl-modal-body .ttl-picker{background:transparent;border:none;padding:0;margin:0}.ttl-modal-body .ttl-picker__legend{display:none}.ttl-modal-footer{display:flex;gap:.5rem;padding:.75rem 1rem 1.25rem}.ttl-modal-start-btn{flex:2;appearance:none;border:none;background:var(--accent);color:#0f172a;border-radius:999px;padding:.6rem 1rem;font-size:.875rem;font-weight:600;cursor:pointer;min-height:44px;transition:opacity .15s}.ttl-modal-start-btn:hover,.ttl-modal-start-btn:focus-visible{opacity:.85;outline:none}.ttl-modal-cancel-btn{flex:1;appearance:none;border:1px solid var(--border);background:transparent;color:var(--fg);border-radius:999px;padding:.6rem 1rem;font-size:.875rem;cursor:pointer;min-height:44px;transition:border-color .15s}.ttl-modal-cancel-btn:hover,.ttl-modal-cancel-btn:focus-visible{border-color:var(--accent);outline:none}.rename-modal-overlay{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:flex-end;justify-content:center;background:#0000008c;backdrop-filter:blur(4px)}@media (min-width: 520px){.rename-modal-overlay{align-items:center;padding:1rem}}.rename-modal-card{width:100%;max-width:24rem;background:var(--bar-bg);border:1px solid var(--border);border-radius:28px 28px 0 0;overflow:hidden;box-shadow:0 -4px 32px #00000080}@media (min-width: 520px){.rename-modal-card{border-radius:24px;box-shadow:0 8px 32px #00000080}}.rename-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem .75rem;border-bottom:1px solid var(--border)}.rename-modal-title{font-size:.95rem;font-weight:600;margin:0}.rename-modal-close{appearance:none;border:none;background:#ffffff14;color:#ffffff80;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;min-width:44px;min-height:44px;font-size:1.1rem;line-height:1;transition:background .15s,color .15s}.rename-modal-close:hover,.rename-modal-close:focus-visible{background:#ffffff24;color:#f1f5f9;outline:none}.rename-modal-body{padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.rename-modal-field{display:flex;flex-direction:column;gap:.4rem}.rename-modal-label{font-size:.75rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.rename-modal-emoji-row{display:flex;gap:.5rem;align-items:center}.rename-modal-name-input{appearance:none;background:var(--input-bg, rgba(255, 255, 255, .06));border:1px solid var(--border);border-radius:999px;color:var(--fg);font-size:1rem;padding:.6rem 1.1rem;width:100%;box-sizing:border-box;min-height:48px;transition:border-color .15s,box-shadow .15s}.rename-modal-name-input::placeholder{color:var(--muted)}.rename-modal-emoji-picker{position:relative;display:inline-flex;flex-shrink:0}.rename-modal-emoji-display{display:flex;align-items:center;justify-content:center;width:72px;height:72px;font-size:2.25rem;background:#ffffff0f;border:1px solid var(--border);border-radius:50%;line-height:1;user-select:none}.rename-modal-emoji-cycle-btn{appearance:none;position:absolute;bottom:-4px;right:-4px;width:26px;height:26px;background:var(--bar-bg);border:1px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;cursor:pointer;color:var(--muted);padding:0;line-height:1;transition:background .15s,color .15s,border-color .15s}.rename-modal-emoji-cycle-btn:hover,.rename-modal-emoji-cycle-btn:focus-visible{background:#ffffff1f;border-color:var(--accent);color:var(--fg);outline:none}@keyframes rename-emoji-spin{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}.rename-modal-emoji-cycle-btn.is-spinning{animation:rename-emoji-spin .35s ease-out}.rename-modal-name-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #38bdf82e}.rename-modal-error{font-size:.82rem;color:var(--danger, #f87171);margin:0}.rename-modal-footer{display:flex;gap:.5rem;padding:0 1.25rem 1.5rem}.rename-modal-randomise-btn{appearance:none;border:1px solid var(--border);background:#ffffff0a;color:var(--fg);border-radius:999px;padding:.6rem .75rem;font-size:.85rem;cursor:pointer;min-height:48px;flex:1;white-space:nowrap;transition:border-color .15s,background .15s}.rename-modal-randomise-btn:hover,.rename-modal-randomise-btn:focus-visible{border-color:var(--accent);background:#ffffff14;outline:none}.rename-modal-cancel-btn{appearance:none;border:1px solid var(--border);background:transparent;color:var(--fg);border-radius:999px;padding:.6rem 1rem;font-size:.9rem;cursor:pointer;min-height:48px;flex:1;transition:border-color .15s}.rename-modal-cancel-btn:hover,.rename-modal-cancel-btn:focus-visible{border-color:var(--accent);outline:none}.rename-modal-save-btn{appearance:none;border:none;background:var(--accent);color:#0f172a;border-radius:999px;padding:.6rem 1.25rem;font-size:.9rem;font-weight:600;cursor:pointer;min-height:48px;flex:2;transition:opacity .15s}.rename-modal-save-btn:hover,.rename-modal-save-btn:focus-visible{opacity:.85;outline:none}.profile-sheet-overlay{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:flex-end;justify-content:center;background:#0000008c;backdrop-filter:blur(4px)}@media (min-width: 520px){.profile-sheet-overlay{align-items:center;padding:1rem}}.profile-sheet-card{width:100%;max-width:24rem;max-height:82dvh;background:var(--bar-bg);border:1px solid var(--border);border-radius:28px 28px 0 0;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 -4px 32px #00000080}.profile-sheet-card:before{content:"";display:block;width:36px;height:4px;border-radius:2px;background:#ffffff2e;margin:10px auto 0;flex-shrink:0}@media (min-width: 520px){.profile-sheet-card{border-radius:24px;box-shadow:0 8px 32px #00000080}}.profile-sheet-header{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.25rem .75rem;border-bottom:1px solid var(--border);flex-shrink:0}.profile-sheet-title{font-size:.95rem;font-weight:600;margin:0}.profile-sheet-close{appearance:none;border:none;background:#ffffff14;color:#ffffff80;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;min-width:44px;min-height:44px;font-size:1.1rem;line-height:1;transition:background .15s,color .15s}.profile-sheet-close:hover,.profile-sheet-close:focus-visible{background:#ffffff24;color:#f1f5f9;outline:none}.profile-sheet-identity{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border);flex-shrink:0;background:#ffffff05}.profile-sheet-identity-left{display:flex;align-items:center;gap:.75rem;min-width:0}.profile-sheet-emoji{font-size:2rem;line-height:1;flex-shrink:0;width:2.75rem;height:2.75rem;display:flex;align-items:center;justify-content:center;background:#ffffff14;border-radius:50%}.profile-sheet-name{font-size:1rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-sheet-edit-btn{appearance:none;border:1px solid var(--border);background:transparent;color:var(--accent);border-radius:999px;padding:.3rem .7rem;font-size:.82rem;font-weight:500;cursor:pointer;min-height:36px;flex-shrink:0;transition:background .15s,border-color .15s}.profile-sheet-edit-btn:hover,.profile-sheet-edit-btn:focus-visible{background:#38bdf81a;border-color:var(--accent);outline:none}.profile-sheet-contacts{flex:1;overflow-y:auto;padding:1.1rem 1.25rem .25rem;min-height:0;mask-image:linear-gradient(to bottom,black calc(100% - 2rem),transparent 100%);-webkit-mask-image:linear-gradient(to bottom,black calc(100% - 2rem),transparent 100%)}.profile-sheet-contacts-heading{font-size:.72rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 .75rem}.profile-sheet-contacts-status{font-size:.875rem;color:var(--muted);margin:.25rem 0 .75rem;line-height:1.5}.profile-sheet-contacts-status strong{color:var(--fg);font-weight:600;display:block;margin-bottom:.15rem}.profile-sheet-contacts-list{list-style:none;margin:0;padding:0 0 1rem;display:flex;flex-direction:column;gap:.5rem}.profile-sheet-contact-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;background:#ffffff0d;border:1px solid var(--border);border-radius:999px;padding:.7rem 1rem;transition:background .15s}.profile-sheet-contact-item:hover{background:#ffffff14}.profile-sheet-contact-info{display:flex;flex-direction:column;gap:.1rem;min-width:0}.profile-sheet-contact-phone{font-size:.9rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-sheet-contact-label{font-size:.78rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-sheet-contact-delete{appearance:none;border:none;background:transparent;color:var(--muted);font-size:1rem;cursor:pointer;padding:0;border-radius:50%;min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .15s,background .15s}.profile-sheet-contact-delete:hover,.profile-sheet-contact-delete:focus-visible{color:var(--danger, #f87171);background:#f871711a;outline:none}.profile-sheet-contact-delete:disabled{opacity:.4;cursor:default}.profile-sheet-add-form{padding:.85rem 1.25rem 1.25rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.6rem;flex-shrink:0}.profile-sheet-add-heading{font-size:.72rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0}.profile-sheet-phone-input,.profile-sheet-label-input{appearance:none;background:var(--input-bg, rgba(255, 255, 255, .06));border:1px solid var(--border);border-radius:999px;color:var(--fg);font-size:.9rem;padding:.6rem 1.1rem;width:100%;box-sizing:border-box;min-height:48px;transition:border-color .15s,box-shadow .15s}.profile-sheet-phone-input::placeholder,.profile-sheet-label-input::placeholder{color:var(--muted)}.profile-sheet-phone-input:focus,.profile-sheet-label-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #38bdf82e}.profile-sheet-add-btn{appearance:none;border:none;background:var(--accent);color:#0f172a;border-radius:999px;padding:.65rem 1rem;font-size:.9rem;font-weight:600;cursor:pointer;min-height:48px;transition:opacity .15s}.profile-sheet-add-btn:hover,.profile-sheet-add-btn:focus-visible{opacity:.85;outline:none}.profile-sheet-add-btn:disabled{opacity:.5;cursor:default}.profile-sheet-add-error{font-size:.82rem;color:var(--danger, #f87171);margin:0}.here-iam-marker__wrapper{position:relative;display:flex;align-items:center;justify-content:center;width:44px;height:44px}.here-iam-marker__pulse{position:absolute;inset:2px;border-radius:50%;border:2px solid rgba(56,189,248,.55);animation:peer-pulse 2.4s ease-out infinite;pointer-events:none}.here-iam-marker--owner .here-iam-marker__pulse{border-color:#ca8a0499}@keyframes peer-pulse{0%{transform:scale(.85);opacity:.9}60%{transform:scale(1.45);opacity:0}to{transform:scale(1.45);opacity:0}}.here-iam-cluster-popup .leaflet-popup-content-wrapper{background:var(--bar-bg, #1e293b);border:1px solid rgba(255,255,255,.12);border-radius:18px;box-shadow:0 8px 24px #00000080;padding:0;overflow:hidden;color:inherit}.here-iam-cluster-popup .leaflet-popup-tip-container,.here-iam-cluster-popup .leaflet-popup-close-button{display:none}.here-iam-cluster-popup .leaflet-popup-content{margin:0;width:auto!important}.here-iam-cluster-picker{display:flex;flex-direction:column;min-width:200px;max-width:280px}.here-iam-cluster-picker__label{font-size:.7rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:#fff6;padding:.6rem .9rem .3rem;pointer-events:none}.here-iam-cluster-picker__item{appearance:none;border:none;background:transparent;color:#f1f5f9;display:flex;align-items:flex-start;gap:.6rem;padding:.55rem .9rem;cursor:pointer;text-align:left;font-size:.9rem;font-weight:500;width:100%;min-height:44px;transition:background .12s}.here-iam-cluster-picker__item:hover,.here-iam-cluster-picker__item:focus-visible{background:#ffffff17;outline:none}.here-iam-cluster-picker__item--self{background:#38bdf80f;border-left:3px solid rgba(56,189,248,.55);padding-left:calc(.9rem - 3px)}.here-iam-cluster-picker__item--self:hover,.here-iam-cluster-picker__item--self:focus-visible{background:#38bdf81f}.here-iam-cluster-picker__item+.here-iam-cluster-picker__item{border-top:1px solid rgba(255,255,255,.07)}.here-iam-cluster-picker__avatar{font-size:1.4rem;line-height:1.3;flex-shrink:0}.here-iam-cluster-picker__meta{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1;padding-top:1px}.here-iam-cluster-picker__name{white-space:normal;word-break:break-word;overflow-wrap:anywhere;font-size:.9rem;font-weight:600;line-height:1.25}.here-iam-cluster-picker__badge-row{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.here-iam-cluster-picker__badge{font-size:.65rem;font-weight:600;color:#ca8a04f2;background:#ca8a041a;border-radius:999px;padding:2px 7px;line-height:1.4}.here-iam-cluster-picker__badge--you{color:#38bdf8f2;background:#38bdf81f}.peer-card-overlay{position:fixed;inset:0;z-index:var(--z-panel);display:flex;align-items:flex-end;justify-content:center;background:#00000085;backdrop-filter:blur(4px)}@media (min-width: 520px){.peer-card-overlay{align-items:center;padding:1rem}}.peer-card{width:100%;max-width:24rem;background:var(--bar-bg, #1e293b);border:1px solid var(--border, rgba(255, 255, 255, .1));border-radius:28px 28px 0 0;overflow:hidden;box-shadow:0 -4px 32px #0000008c;animation:peer-card-slide-up .22s cubic-bezier(.32,.72,0,1)}@keyframes peer-card-slide-up{0%{transform:translateY(100%);opacity:.7}to{transform:translateY(0);opacity:1}}@media (min-width: 520px){.peer-card{border-radius:24px;box-shadow:0 8px 40px #0000008c;animation:peer-card-pop-in .18s cubic-bezier(.34,1.56,.64,1)}@keyframes peer-card-pop-in{0%{transform:scale(.92);opacity:.6}to{transform:scale(1);opacity:1}}}.peer-card:before{content:"";display:block;width:36px;height:4px;border-radius:2px;background:#ffffff2e;margin:10px auto 0}@media (min-width: 520px){.peer-card:before{display:none}}.peer-card__header{display:flex;align-items:center;gap:.75rem;padding:.65rem .85rem .85rem 1rem}.peer-card__avatar{width:3rem;height:3rem;border-radius:50%;background:#ffffff14;display:flex;align-items:center;justify-content:center;font-size:1.7rem;line-height:1;flex-shrink:0}.peer-card__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.peer-card__name-row{display:flex;align-items:center;gap:.4rem;min-width:0}.peer-card__name{font-size:1rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.peer-card__owner-badge{font-size:.68rem;font-weight:600;color:#fff;background:#ca8a04e6;border-radius:999px;padding:2px 7px;white-space:nowrap;flex-shrink:0}.peer-card__status{display:flex;align-items:center;gap:.3rem;font-size:.72rem;color:#ffffff73}.peer-card__status-dot{width:6px;height:6px;border-radius:50%;background:#22c55e;flex-shrink:0;animation:status-dot-pulse 2s ease-in-out infinite}@keyframes status-dot-pulse{0%,to{opacity:1}50%{opacity:.4}}.peer-card__close{appearance:none;border:none;background:#ffffff14;color:#ffffff8c;width:2rem;height:2rem;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;min-width:44px;min-height:44px;transition:background .15s,color .15s}.peer-card__close:hover,.peer-card__close:focus-visible{background:#ffffff24;color:#f1f5f9;outline:none}.peer-card__actions{padding:0 1rem .85rem;border-bottom:1px solid var(--border, rgba(255, 255, 255, .08));display:flex;gap:.6rem}.peer-card__directions-btn{appearance:none;border:1px solid var(--border, rgba(255, 255, 255, .12));background:#ffffff0d;color:var(--fg, #f1f5f9);border-radius:999px;padding:.55rem 1rem;font-size:.875rem;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;min-height:44px;transition:background .15s,border-color .15s}.peer-card__directions-btn:hover,.peer-card__directions-btn:focus-visible{background:#ffffff1a;border-color:var(--accent, #38bdf8);outline:none}.peer-card__contacts{padding:.85rem 1rem 1rem}.peer-card__contacts-title{font-size:.7rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:#ffffff61;margin:0 0 .5rem}.peer-card__contact-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.25rem}.peer-card__contact-item{display:flex;flex-direction:column;gap:2px;padding:.35rem 0;border-top:1px solid rgba(255,255,255,.05)}.peer-card__contact-item:first-child{border-top:none;padding-top:0}.peer-card__contact-phone{color:var(--accent, #38bdf8);text-decoration:none;font-size:.9rem;font-weight:500;white-space:nowrap}.peer-card__contact-phone:hover{text-decoration:underline}.peer-card__contact-label{font-size:.75rem;color:#fff6;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.peer-card__no-contacts{font-size:.875rem;color:#ffffff59;padding:.7rem 1rem 1rem;margin:0}.directions-panel-overlay{position:fixed;bottom:0;left:0;right:0;z-index:var(--z-panel);display:flex;justify-content:center;align-items:flex-end;pointer-events:none}.directions-panel{pointer-events:auto;width:100%;max-width:480px;background:var(--bar-bg, #1e293b);border:1px solid var(--border, rgba(255, 255, 255, .1));border-radius:28px 28px 0 0;box-shadow:0 -4px 32px #0000008c;overflow:hidden;display:flex;flex-direction:column;animation:directions-slide-up .22s cubic-bezier(.32,.72,0,1)}@keyframes directions-slide-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.directions-panel:before{content:"";display:block;width:36px;height:4px;border-radius:2px;background:#ffffff2e;margin:10px auto 0;flex-shrink:0}@media (min-width: 600px){.directions-panel-overlay{padding:0 12px 16px}.directions-panel{border-radius:24px;box-shadow:0 8px 40px #0000008c}.directions-panel:before{display:none}}.directions-panel__header{display:flex;align-items:center;gap:.5rem;padding:.55rem .5rem .55rem .9rem;border-bottom:1px solid var(--border, rgba(255, 255, 255, .07));flex-shrink:0}.directions-panel__peer-row{flex:1;min-width:0;display:flex;align-items:center;gap:.55rem}.directions-panel__peer-avatar{width:2.2rem;height:2.2rem;border-radius:50%;background:#ffffff12;display:flex;align-items:center;justify-content:center;font-size:1.2rem;line-height:1;flex-shrink:0}.directions-panel__title-col{display:flex;flex-direction:column;gap:1px;min-width:0}.directions-panel__title-label{font-size:.64rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#ffffff5c;line-height:1.2}.directions-panel__title-name{font-size:.92rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--fg, #f1f5f9);line-height:1.2}.directions-panel__close{appearance:none;border:none;background:#ffffff14;color:#ffffff80;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;min-width:44px;min-height:44px;transition:background .15s,color .15s}.directions-panel__close:hover,.directions-panel__close:focus-visible{background:#ffffff24;color:#f1f5f9;outline:none}.directions-panel__disclosure{display:none}.directions-panel__body{padding:.75rem .9rem calc(env(safe-area-inset-bottom,0px) + 1rem);display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.directions-panel__loading,.directions-panel__empty,.directions-panel__error{grid-column:1 / -1;font-size:.84rem;color:#ffffff73;margin:0;padding:.5rem 0;text-align:center}.directions-panel__loading:before{content:"⏳ "}.directions-panel__error{color:var(--danger, #f87171)}.directions-panel__route{appearance:none;position:relative;border:1.5px solid rgba(255,255,255,.1);background:#ffffff0d;color:var(--fg, #f1f5f9);border-radius:18px;padding:.9rem .6rem .75rem;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:.2rem;text-align:center;min-height:110px;overflow:hidden;transition:background .15s,border-color .15s,transform .1s}.directions-panel__route:hover,.directions-panel__route:focus-visible{background:#ffffff17;border-color:#fff3;outline:none}.directions-panel__route:active{transform:scale(.97)}.directions-panel__route--selected{border-color:var(--route-color, #3b82f6);background:color-mix(in srgb,var(--route-color, #3b82f6) 12%,transparent)}.directions-panel__route:before{content:"";position:absolute;top:0;left:12px;right:12px;height:3px;border-radius:0 0 3px 3px;background:var(--route-color, #3b82f6);opacity:0;transition:opacity .15s}.directions-panel__route--selected:before{opacity:1}.directions-panel__route-icon{width:2.6rem;height:2.6rem;border-radius:50%;background:color-mix(in srgb,var(--route-color, #3b82f6) 18%,rgba(255,255,255,.04));border:1.5px solid color-mix(in srgb,var(--route-color, #3b82f6) 35%,transparent);display:flex;align-items:center;justify-content:center;font-size:1.2rem;line-height:1;margin-bottom:.35rem;transition:background .15s,border-color .15s}.directions-panel__route--selected .directions-panel__route-icon{background:color-mix(in srgb,var(--route-color, #3b82f6) 28%,rgba(255,255,255,.04))}.directions-panel__route-mode{font-size:.6rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--route-color, #3b82f6) 85%,rgba(255,255,255,.6));line-height:1.2}.directions-panel__route-duration{font-size:1.35rem;font-weight:800;line-height:1;letter-spacing:-.02em;color:var(--fg, #f1f5f9);margin-top:.1rem}.directions-panel__route-distance{font-size:.72rem;font-weight:400;color:#fff6;margin-top:.1rem}.error-report-btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 8px;background:transparent;border:none;border-radius:50%;color:#ffffff8c;cursor:pointer;flex-shrink:0;transition:color .2s,background .2s}.error-report-btn:hover{color:#ffffffe6;background:#ffffff14}.error-report-btn--flash{color:#ff6b6b;animation:error-report-pulse .5s ease-out}.error-report-btn--sent{color:#4ade80}@keyframes error-report-pulse{0%{transform:scale(1)}40%{transform:scale(1.35)}to{transform:scale(1)}}.error-dialog-overlay{position:fixed;inset:0;z-index:var(--z-critical);display:flex;align-items:flex-end;justify-content:center;background:#0009;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:error-dialog-overlay-in .2s ease-out}.error-dialog-overlay--out{animation:error-dialog-overlay-out .18s ease-in forwards}@keyframes error-dialog-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes error-dialog-overlay-out{0%{opacity:1}to{opacity:0}}@media (min-width: 520px){.error-dialog-overlay{align-items:center;padding:1rem}}.error-dialog-card{width:100%;max-width:26rem;background:var(--bar-bg);border:1px solid var(--border);border-radius:28px 28px 0 0;box-shadow:0 -4px 40px #0009;animation:error-dialog-card-in .28s cubic-bezier(.16,1,.3,1)}.error-dialog-overlay--out .error-dialog-card{animation:error-dialog-card-out .18s ease-in forwards}@keyframes error-dialog-card-in{0%{transform:translateY(100%);opacity:.4}to{transform:translateY(0);opacity:1}}@keyframes error-dialog-card-out{0%{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:0}}@media (min-width: 520px){.error-dialog-card{border-radius:24px;box-shadow:0 8px 48px #0009;animation:error-dialog-card-center-in .22s cubic-bezier(.16,1,.3,1)}.error-dialog-overlay--out .error-dialog-card{animation:error-dialog-card-center-out .18s ease-in forwards}@keyframes error-dialog-card-center-in{0%{transform:scale(.94) translateY(8px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}@keyframes error-dialog-card-center-out{0%{transform:scale(1) translateY(0);opacity:1}to{transform:scale(.94) translateY(8px);opacity:0}}}.error-dialog-handle{width:36px;height:4px;background:#fff3;border-radius:999px;margin:10px auto 0}@media (min-width: 520px){.error-dialog-handle{display:none}}.error-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.25rem .75rem;border-bottom:1px solid var(--border)}.error-dialog-title{margin:0;font-size:.95rem;font-weight:600;color:var(--fg)}.error-dialog-close{appearance:none;border:none;background:#ffffff14;color:#ffffff80;border-radius:50%;width:36px;height:36px;min-width:36px;min-height:36px;font-size:1.1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,color .15s}.error-dialog-close:hover{background:#ffffff24;color:var(--fg)}.error-dialog-body{padding:1.1rem 1.25rem 1.25rem;display:flex;flex-direction:column;gap:.6rem}.error-dialog-label{display:block;font-size:.75rem;font-weight:600;color:var(--muted);letter-spacing:.05em;text-transform:uppercase;margin-bottom:.2rem}.error-dialog-textarea{width:100%;min-height:96px;max-height:200px;padding:.7rem .9rem;background:#ffffff0d;border:1px solid var(--border);border-radius:18px;color:var(--fg);font-size:.9rem;font-family:inherit;line-height:1.5;resize:vertical;box-sizing:border-box;transition:border-color .15s}.error-dialog-textarea::placeholder{color:var(--muted)}.error-dialog-textarea:focus{outline:none;border-color:var(--accent)}.error-dialog-image-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.error-dialog-file-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.error-dialog-pick-btn{display:inline-flex;align-items:center;gap:.35rem;min-height:36px;padding:0 .9rem;border-radius:999px;border:1.5px solid var(--border);background:#ffffff0f;color:var(--fg);font-size:.85rem;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.error-dialog-pick-btn:hover{background:#ffffff1c;border-color:#ffffff4d}.error-dialog-pick-btn:disabled{opacity:.5;cursor:default}.error-dialog-clear-image{appearance:none;border:none;background:#ffffff14;color:#ffffff8c;border-radius:50%;width:28px;height:28px;min-width:28px;font-size:1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,color .15s}.error-dialog-clear-image:hover{background:#ff646433;color:#ff6b6b}.error-dialog-preview{width:100%;max-height:140px;object-fit:cover;border-radius:16px;border:1px solid var(--border);margin-top:.1rem}.error-dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.3rem}.error-dialog-char-count{font-size:.75rem;color:var(--muted);flex-shrink:0;font-variant-numeric:tabular-nums}.error-dialog-submit{flex:1;min-height:44px;padding:0 1.25rem;border-radius:999px;border:none;background:var(--accent);color:#0f172a;font-size:.9rem;font-weight:700;cursor:pointer;transition:opacity .15s,transform .1s}.error-dialog-submit:hover{opacity:.88}.error-dialog-submit:active{transform:scale(.97)}.error-dialog-submit:disabled{opacity:.55;cursor:default}.here-iam-marker__target-badge{position:absolute;top:-10px;right:-10px;font-size:1rem;line-height:1;pointer-events:none;z-index:2;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}.target-banner{position:fixed;bottom:calc(88px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);background:#141414e0;color:#fff;padding:6px 16px 6px 12px;border-radius:999px;font-size:.85rem;font-weight:600;display:flex;align-items:center;gap:6px;z-index:var(--z-target);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:pointer;white-space:nowrap;animation:target-banner-in .2s ease-out;border:1px solid rgba(255,255,255,.12);min-height:44px;user-select:none;-webkit-user-select:none}.target-banner:hover{background:#282828f2;filter:brightness(1.12)}.target-banner:active{transform:translate(-50%) scale(.96);filter:brightness(.95)}@keyframes target-banner-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.here-iam-location-pin{background:transparent!important;border:none!important}.here-iam-location-pin .here-iam-marker__emoji{animation:location-pin-drop .3s cubic-bezier(.34,1.56,.64,1)}.here-iam-location-pin .here-iam-marker__name{background:#dc2626f2;color:#fff}@keyframes location-pin-drop{0%{transform:translateY(-16px) scale(1.3);opacity:.6}to{transform:translateY(0) scale(1);opacity:1}}.location-search-overlay{position:fixed;inset:0;z-index:var(--z-panel);background:#00000073;display:flex;align-items:flex-end;justify-content:center;padding:0 12px calc(12px + env(safe-area-inset-bottom,0px));animation:search-overlay-in .2s ease-out}.location-search-overlay[hidden]{display:none}@keyframes search-overlay-in{0%{opacity:0}to{opacity:1}}.location-search-card{width:100%;max-width:640px;max-height:72vh;background:var(--bar-bg);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:28px;border:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 4px 32px #0000008c,0 1px #ffffff0d inset;animation:search-card-up .25s cubic-bezier(.34,1.15,.64,1);transition:border-radius .2s ease}.location-search-card:not(.location-search-card--compact){border-radius:20px 20px 28px 28px}@keyframes search-card-up{0%{transform:translateY(24px);opacity:.6}to{transform:translateY(0);opacity:1}}.location-search-card--compact .location-search-results,.location-search-card--compact .location-search-hint{display:none}.location-search-card--compact .location-search-header{border-top:none}.location-search-header{display:flex;align-items:center;gap:10px;padding:14px 16px;border-top:1.5px solid var(--border);flex-shrink:0}.location-search-icon{color:var(--muted);flex-shrink:0}.location-search-input{flex:1;background:transparent;border:none;outline:none;color:var(--fg);font-size:1rem;font-family:inherit;min-width:0;appearance:none;-webkit-appearance:none}.location-search-input::placeholder{color:var(--muted)}.location-search-input::-webkit-search-cancel-button{display:none}.location-search-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;min-height:36px;border-radius:50%;border:none;background:#ffffff14;color:#ffffff8c;cursor:pointer;flex-shrink:0;transition:color .15s,background .15s}.location-search-close:hover,.location-search-close:focus-visible{background:#ffffff24;color:#f1f5f9;outline:none}.location-search-results{list-style:none;margin:0;padding:8px 0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:0 1 auto}.location-search-result{display:flex;align-items:center;padding:0 14px 0 18px;cursor:pointer;min-height:52px;font-size:.9rem;line-height:1.35;color:var(--fg);transition:background .12s;outline:none;gap:8px}.location-search-result:hover,.location-search-result:focus{background:#94a3b81a}.location-search-result:active{background:#94a3b82e}.location-search-result:before{content:"📍";flex-shrink:0;font-size:1rem}.location-search-result__label{flex:1;min-width:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.location-search-result__pin-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;border-radius:8px;border:1px solid var(--border);background:#94a3b814;color:var(--fg);font-size:1rem;cursor:pointer;transition:background .12s,border-color .12s}.location-search-result__pin-btn:hover{background:#38bdf826;border-color:var(--accent)}.location-search-result__pin-btn:active{background:#38bdf840}.location-search-hint{padding:8px 18px 12px;font-size:.82rem;color:var(--muted);text-align:center;margin:0;min-height:32px;flex-shrink:0}.peer-card__pin-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:999px;border:1.5px solid rgba(255,255,255,.18);background:#ffffff0f;color:#fff;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s;flex:1}.peer-card__pin-btn:hover{background:#ffffff1f;border-color:#ffffff47}.peer-card__pin-btn--active{background:#3b82f640;border-color:#3b82f6;color:#93c5fd}.join-modal-overlay{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:flex-end;justify-content:center;background:#0009;backdrop-filter:blur(6px)}@media (min-width: 520px){.join-modal-overlay{align-items:center;padding:1rem}}.join-modal-card{width:100%;max-width:24rem;background:var(--bar-bg);border:1px solid var(--border);border-radius:28px 28px 0 0;overflow:hidden;box-shadow:0 -4px 32px #0000008c}@media (min-width: 520px){.join-modal-card{border-radius:24px;box-shadow:0 8px 40px #0000008c}}.join-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem .75rem;border-bottom:1px solid var(--border)}.join-modal-title{font-size:.95rem;font-weight:600;margin:0}.join-modal-close{appearance:none;border:none;background:#ffffff14;color:#ffffff80;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;min-width:44px;min-height:44px;font-size:1.1rem;line-height:1;transition:background .15s,color .15s}.join-modal-close:hover,.join-modal-close:focus-visible{background:#ffffff24;color:#f1f5f9;outline:none}.join-modal-body{padding:1.25rem;display:flex;flex-direction:column;gap:.75rem}.join-modal-hint{margin:0;font-size:.85rem;color:var(--muted);line-height:1.4}.join-modal-input{width:100%;box-sizing:border-box;background:#ffffff0f;border:1px solid var(--border);border-radius:14px;color:var(--fg);font-size:1.15rem;font-weight:600;letter-spacing:.15em;text-align:center;padding:.65rem 1rem;outline:none;transition:border-color .15s;min-height:44px}.join-modal-input::placeholder{font-weight:400;letter-spacing:0;color:var(--muted);font-size:.85rem}.join-modal-input:focus{border-color:var(--accent)}.join-modal-error{margin:0;font-size:.8rem;color:#f87171}.join-modal-submit{appearance:none;border:none;background:var(--accent);color:#0f172a;border-radius:999px;padding:.55rem 1.25rem;font-size:.95rem;font-weight:600;cursor:pointer;min-height:44px;width:100%;transition:opacity .15s}.join-modal-submit:hover,.join-modal-submit:focus-visible{opacity:.85;outline:none}
