:root{color-scheme:light;--ink:#173d36;--paper:#f5f1e7;--coral:#e46f52;--sage:#cbdccf;--muted:#6b7772;--line:#dfe5df;--white:#fff;--shadow:0 20px 55px #173d3620}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;padding-bottom:86px}.topbar{height:74px;background:#fffdf9dd;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:flex;align-items:center;gap:14px;padding:0 max(22px,calc((100vw - 1380px)/2));position:relative;z-index:20}.avatar,.profile-avatar{border:0;background:var(--coral);color:white;border-radius:50%;font-weight:900}.avatar{width:44px;height:44px}.brand{font-size:14px;letter-spacing:.17em}.tagline{font-size:11px;color:var(--muted);margin-top:2px}.icon-button{margin-left:auto;border:0;background:white;width:42px;height:42px;border-radius:50%;font-size:25px}.workspace{height:calc(100vh - 160px);min-height:590px}.map-canvas,.map-page{height:100%;position:relative;overflow:hidden}.map-canvas{background-color:#dce6df;background-image:linear-gradient(29deg,transparent 35%,#eef2ea 36% 44%,transparent 45%),linear-gradient(100deg,transparent 47%,#f7f4e8 48% 58%,transparent 59%),repeating-linear-gradient(4deg,#c4d5cb00 0 70px,#b8ccc1 71px 73px)}.road{position:absolute;background:#f8f5eccc;border:2px solid white}.road-a{width:120%;height:82px;left:-10%;top:26%;transform:rotate(-4deg)}.road-b{height:120%;width:72px;left:54%;top:-10%;transform:rotate(12deg)}.road-c{width:90%;height:50px;left:4%;top:70%;transform:rotate(8deg)}.map-label{position:absolute;color:#6b827688;font-size:clamp(28px,4vw,62px);font-weight:900;letter-spacing:.05em}.label-a{top:15%;left:9%}.label-b{right:8%;bottom:18%}.label-c{left:28%;bottom:42%;font-size:28px}.mode-switch{position:absolute;z-index:3;top:22px;left:50%;transform:translateX(-50%);display:flex;background:#fffffff0;padding:5px;border-radius:16px;box-shadow:var(--shadow)}.mode-switch button,.segmented button{border:0;background:transparent;padding:12px 18px;border-radius:12px;color:var(--muted);font-weight:800;white-space:nowrap}.map-pin,.mode-switch .active,.public-pin,.segmented .active{background:var(--ink);color:white}.map-pin,.public-pin{position:absolute;z-index:2;width:48px;height:48px;border-radius:50% 50% 50% 4px;transform:rotate(-45deg);border:4px solid white;box-shadow:0 10px 20px #173d3640}.map-pin span,.public-pin{display:grid;place-items:center}.map-pin span{transform:rotate(45deg);font-weight:900}.map-pin.selected,.map-pin:hover,.public-pin.selected,.public-pin:hover{background:var(--coral);scale:1.12}.pin-1{left:27%;top:28%}.pin-2{left:45%;top:54%}.pin-3{left:61%;top:36%}.pin-4{left:74%;top:62%}.pin-5{left:18%;top:67%}.pin-6{left:84%;top:25%}.public-pin{background:var(--coral);transform:rotate(-45deg);font-size:20px}.public-night-market{left:61%;top:35%}.public-clinic{left:34%;top:62%}.map-search{bottom:86px;width:min(440px,calc(100% - 48px));padding:16px 20px;border-radius:16px;background:#fffffff0;font-weight:750;color:var(--muted)}.drop-button,.map-search{position:absolute;left:24px;box-shadow:var(--shadow)}.drop-button{bottom:20px;background:var(--ink);color:white;border:0;border-radius:16px;padding:17px 22px;font-weight:900}.detail-drawer{position:absolute;z-index:5;right:24px;top:22px;width:min(410px,calc(100% - 48px));background:#fffdf9f5;border-radius:24px;padding:28px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.drawer-close{position:absolute;right:18px;top:14px;border:0;background:#edf1ed;width:38px;height:38px;border-radius:50%;font-size:24px}.pill{display:inline-flex;background:var(--sage);border-radius:999px;padding:7px 10px;color:var(--ink);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.sponsored{background:#fde2ba}.success{background:#d7efdf;color:#2e714f}.create-modal h2,.detail-drawer h2{font-size:32px;margin:18px 42px 10px 0;line-height:1.08}.create-modal p,.detail-drawer p,.panel p{color:var(--muted);line-height:1.6}.detail-grid,.two-fields{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin:20px 0}.detail-grid div,.two-fields div{background:var(--paper);border-radius:14px;padding:14px;display:grid;grid-gap:5px;gap:5px}.detail-grid small,.field-label,.two-fields small{font-size:10px;letter-spacing:.1em;font-weight:900;color:var(--coral)}.primary-action,.secondary-action{display:block;width:100%;border:0;border-radius:14px;padding:15px 18px;text-align:center;text-decoration:none;font-weight:900}.primary-action{background:var(--ink);color:white}.primary-action:disabled{opacity:.35}.secondary-action{background:var(--sage);color:var(--ink)}.panel{width:min(1060px,calc(100% - 40px));margin:0 auto;padding:42px 0}.eyebrow{color:var(--coral);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:900}.panel h1{font-size:clamp(38px,6vw,66px);margin:7px 0 28px;letter-spacing:-.04em}.segmented{display:inline-flex;background:white;border-radius:16px;padding:5px;margin-bottom:20px}.card-list{display:grid;grid-gap:12px;gap:12px}.connection-card,.event-card,.match-summary,.privacy-note,.profile-card{background:white;border-radius:20px;padding:20px;box-shadow:0 10px 35px #173d360d}.event-card{display:flex;justify-content:space-between;align-items:center;gap:18px}.connection-card h3,.event-card h3,.profile-card h3{font-size:21px;margin:10px 0 4px}.connection-card p,.event-card p{margin:0}.connection-card>button,.event-card>button{border:0;background:transparent;color:var(--coral);font-weight:900;white-space:nowrap}.search-field{background:white;border-radius:16px;padding:17px 20px;color:var(--muted);margin-bottom:16px}.connection-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:16px;gap:16px}.connection-avatar{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--sage);font-weight:900}.match-summary{margin-top:16px;display:flex;justify-content:space-between;color:var(--muted)}.profile-grid{display:grid;grid-template-columns:1fr 1.2fr;grid-gap:16px;gap:16px}.profile-avatar{width:86px;height:86px;display:grid;place-items:center;font-size:32px}.account-row{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:13px 0}.account-row strong{color:var(--muted)}.account-row .verified{color:#39805f}.profile-card .secondary-action{margin-top:18px}.privacy-note{margin-top:16px;border-left:5px solid var(--coral)}.privacy-note p{margin-bottom:0}.bottom-nav{position:fixed;z-index:30;bottom:0;left:0;right:0;height:86px;background:#fffdf9ee;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:flex;justify-content:center;border-top:1px solid var(--line)}.bottom-nav button{width:min(180px,25%);border:0;background:transparent;color:#9aa39f;display:grid;place-content:center;grid-gap:5px;gap:5px;font-size:12px;font-weight:850}.bottom-nav button span{font-size:19px}.bottom-nav button.active{background:linear-gradient(transparent 94%,var(--coral) 94%)}.modal-backdrop{position:fixed;z-index:50;inset:0;background:#0d2521a8;display:grid;place-items:center;padding:20px}.create-modal{position:relative;background:#fffdf9;border-radius:26px;padding:32px;width:min(720px,100%);max-height:90vh;overflow:auto;box-shadow:var(--shadow)}.type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));grid-gap:8px;gap:8px;margin:18px 0}.type-grid button{border:1px solid var(--line);background:white;border-radius:12px;padding:12px;color:var(--ink);font-weight:750;text-transform:capitalize}.type-grid button.active{background:var(--sage);border-color:var(--ink)}.field-label{display:grid;grid-gap:8px;gap:8px}.field-label textarea{min-height:110px;resize:vertical;border:1px solid var(--line);border-radius:14px;padding:14px;color:var(--ink)}.success-state{text-align:center;padding:30px}.success-mark{margin:0 auto 20px;width:84px;height:84px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:white;font-size:38px}@media(max-width:700px){.topbar{padding:0 14px}.tagline{display:none}.workspace{height:calc(100vh - 160px)}.mode-switch{top:14px}.mode-switch button{padding:10px 12px}.detail-drawer{left:12px;right:12px;top:auto;bottom:12px;width:auto}.detail-drawer p{max-height:72px;overflow:hidden}.map-search{left:12px;bottom:80px;width:calc(100% - 24px)}.drop-button{left:12px;bottom:16px}.connection-card{grid-template-columns:auto 1fr}.connection-card>button{grid-column:2}.profile-grid{grid-template-columns:1fr}.match-summary{display:grid;grid-gap:5px;gap:5px}.event-card{align-items:flex-start}.detail-grid,.two-fields{grid-template-columns:1fr}.panel{padding-top:28px}.panel h1{margin-bottom:20px}}.map-canvas{background:#dce6df}:root{--ink:#173f49;--paper:#fff7e9;--coral:#ff6b5e;--sage:#c9ead8;--muted:#657578;--line:#dce7df;--shadow:0 22px 60px #173f4926}body{background:linear-gradient(135deg,#fff7e9,#f6fbf4 48%,#fff0e9)}.topbar{background:#fffaf3e8;box-shadow:0 8px 30px #173f4910}.brand-lockup{display:grid;grid-gap:1px;gap:1px}.brand{color:var(--ink);font-size:20px;letter-spacing:-.04em;font-weight:950;text-decoration:none}.brand span{color:var(--coral);font-weight:850}.tagline{color:#e65e51;font-weight:800;letter-spacing:.08em}.crossed-logo{border:0;background:transparent;color:var(--ink);display:grid;justify-items:start;grid-gap:1px;gap:1px;padding:4px 2px}.crossed-logo-image{display:block;width:148px;height:auto;object-fit:contain}.crossed-logo-word{display:flex;align-items:center;font-size:27px;line-height:1;font-weight:800;letter-spacing:-.065em}.crossed-logo-lower{font-size:.76em;font-weight:760;letter-spacing:-.07em;align-self:flex-end;padding-bottom:1px}.crossed-logo-pin{position:relative;width:.88em;height:.98em;margin:0 .02em;display:inline-block;border:.13em solid;border-radius:50% 50% 50% 6%;transform:rotate(-45deg)}.crossed-logo-pin b,.crossed-logo-pin i{position:absolute;top:43%;width:.17em;height:.17em;border-radius:50%;background:var(--coral);transform:rotate(45deg)}.crossed-logo-pin i{left:18%}.crossed-logo-pin b{right:18%}.crossed-logo-pin em{position:absolute;left:31%;top:47%;width:39%;height:.09em;border-top:.075em solid var(--coral);border-radius:50%;transform:rotate(45deg)}.crossed-logo:focus-visible{outline:3px solid #ff6b5e55;outline-offset:3px;border-radius:8px}.mode-switch{border:1px solid #ffffffcc;transform:translateX(-50%) rotate(-1deg)}.mode-switch .active{background:linear-gradient(135deg,var(--ink),#256b6a);box-shadow:0 7px 16px #173f4935}.drop-button,.primary-action{background:linear-gradient(135deg,var(--ink),#23635f);transition:transform .18s ease,box-shadow .18s ease}.drop-button:hover,.primary-action:hover{transform:translateY(-2px);box-shadow:0 14px 28px #173f4935}.connection-card,.event-card,.profile-card,.request-card{border:1px solid #ffffff;transition:transform .18s ease,box-shadow .18s ease}.connection-card:hover,.event-card:hover,.profile-card:hover{transform:translateY(-3px) rotate(-.15deg);box-shadow:0 18px 40px #173f4918}.pill{background:linear-gradient(135deg,#c9ead8,#e5f4d0)}.sponsored{background:linear-gradient(135deg,#ffe2a8,#ffc9a8)}.bottom-nav button.active{color:var(--ink);background:linear-gradient(transparent 91%,var(--coral) 91%)}.panel h1{text-shadow:0 3px 0 #ffffffaa}body,html{overflow-y:auto}.app-shell{min-height:100dvh;padding-bottom:calc(110px + env(safe-area-inset-bottom))}.workspace{height:auto;min-height:calc(100dvh - 160px);overflow:visible}.map-page{height:calc(100dvh - 160px);min-height:590px}.panel{padding-bottom:calc(130px + env(safe-area-inset-bottom))}.bottom-nav{padding-bottom:env(safe-area-inset-bottom);height:calc(86px + env(safe-area-inset-bottom))}.modal-backdrop{z-index:2000}.detail-drawer{z-index:1000}.google-map{border:0;filter:saturate(.82) contrast(.95)}.google-map,.google-map-native,.openstreet-map{position:absolute;inset:0;width:100%;height:100%}.openstreet-map{z-index:0}.openstreet-map.is-picking{cursor:crosshair}.osm-search{position:absolute;z-index:800;left:24px;bottom:86px;width:min(440px,calc(100% - 48px))}.osm-search label{display:flex;align-items:center;gap:10px;padding:15px 18px;border-radius:16px;background:#fffdf9f5;box-shadow:var(--shadow);font-weight:850}.osm-search input{width:100%;border:0;outline:0;background:transparent;color:var(--ink);font-weight:700}.osm-suggestions{margin-top:7px;max-height:310px;overflow:auto;padding:6px;border-radius:16px;background:#fffdf9;box-shadow:var(--shadow)}.osm-suggestions button{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:11px 12px;text-align:left;display:grid;grid-gap:3px;gap:3px;color:var(--ink)}.osm-suggestions button:last-child{border-bottom:0}.osm-suggestions button:hover{background:var(--paper);border-radius:10px}.osm-suggestions span{color:var(--muted);font-size:12px}.locate-button{z-index:800;bottom:86px;width:50px;height:50px;border:0;border-radius:50%;background:#fffdf9f5;color:var(--ink);font-size:25px;font-weight:900;cursor:pointer}.locate-button,.location-message{position:absolute;right:24px;box-shadow:var(--shadow)}.location-message{z-index:799;bottom:144px;max-width:270px;padding:9px 12px;border-radius:12px;background:#fffdf9f2;color:var(--muted);font-size:12px;font-weight:750}.serendipity-leaflet-icon{background:transparent;border:0}.serendipity-leaflet-icon>span{width:34px;height:34px;display:grid;place-items:center;border:3px solid white;border-radius:50% 50% 50% 5px;transform:rotate(-45deg);box-shadow:0 8px 16px #173d3645}.serendipity-leaflet-icon b{width:8px;height:8px;background:white;border-radius:50%}.leaflet-control-attribution{font-size:10px}.google-place-search{position:absolute;z-index:8;left:24px;bottom:86px;width:min(440px,calc(100% - 48px))}.google-place-search gmp-place-autocomplete{width:100%;color-scheme:light}.map-api-missing{position:absolute;inset:0;display:grid;place-content:center;text-align:center;padding:30px;background:#dce6df;color:var(--ink)}.map-api-missing p{max-width:520px;color:var(--muted);line-height:1.6}.active-pick{background:var(--coral)}.confirm-location{position:absolute;z-index:9;left:50%;bottom:22px;transform:translateX(-50%);width:min(680px,calc(100% - 40px));background:#fffdf9f5;box-shadow:var(--shadow);border-radius:18px;padding:12px;display:grid;grid-template-columns:1fr auto auto;align-items:center;grid-gap:10px;gap:10px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.confirm-location span{display:grid;min-width:0;color:var(--muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.confirm-location strong{color:var(--ink);font-size:12px}.confirm-location button{border:0;border-radius:12px;padding:12px 14px;background:var(--ink);color:white;font-weight:850}.confirm-location button:disabled{opacity:.45;cursor:wait}.confirm-location .cancel-location{background:var(--paper);color:var(--ink)}.login-modal{width:min(520px,100%)}.login-modal .form-field{margin-top:16px}.login-modal .primary-action{margin-top:20px}.password-reset-action{display:block;width:100%;margin-top:12px;text-align:center}.password-reset-action:disabled{opacity:.4;cursor:not-allowed}.local-mode-note{display:block;margin-top:14px;color:var(--muted);text-align:center;line-height:1.5}.signout-action{margin-top:14px;color:#a24435}.social-login-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin:20px 0}.social-login{min-height:58px;border:1px solid var(--line);border-radius:15px;background:white;color:var(--ink);display:grid;grid-template-columns:34px 1fr;align-items:center;grid-gap:10px;gap:10px;padding:10px 14px;text-align:left}.social-login span{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--paper);font-size:18px;font-weight:950}.social-login strong{font-size:14px}.social-login small{grid-column:2;color:var(--muted);margin-top:-7px}.social-login:disabled{opacity:.55;cursor:not-allowed}.social-login.facebook:hover,.social-login.google:hover{border-color:var(--ink);transform:translateY(-1px)}.auth-message{padding:12px 14px;border-radius:12px;background:#fde2ba;color:#744723;font-weight:750;line-height:1.45}.login-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px;margin:20px 0 6px}.login-divider:after,.login-divider:before{content:"";height:1px;flex:1 1;background:var(--line)}.suggestion-list{display:grid;grid-gap:10px;gap:10px;margin:18px 0;text-align:left}.suggestion-card{display:grid;grid-template-columns:76px 1fr auto;grid-gap:14px;gap:14px;align-items:center;padding:15px;border:1px solid var(--line);border-radius:16px;background:white}.suggestion-score{width:68px;height:68px;border-radius:50%;display:grid;place-content:center;text-align:center;background:var(--sage)}.suggestion-score strong{font-size:20px}.suggestion-score span{font-size:9px;font-weight:850;color:var(--muted)}.suggestion-score.high{background:#f7c8bd;color:#a93d26}.suggestion-score.medium{background:#f3dfaa;color:#7a5710}.suggestion-score.review{background:#d8dfdc;color:#44534e}.suggestion-score strong{max-width:56px;line-height:1.05}.suggestion-card h3{margin:0 0 4px;font-size:17px}.suggestion-card p{margin:0;font-size:13px}.suggestion-card ul{display:flex;flex-wrap:wrap;gap:5px 12px;margin:8px 0 0;padding:0;list-style:none;color:var(--muted);font-size:11px}.suggestion-card li:before{content:"✓ ";color:var(--coral);font-weight:900}.suggestion-card>button{border:0;border-radius:12px;padding:11px 13px;background:var(--ink);color:white;font-weight:850;white-space:nowrap}.form-error{margin:12px 0;padding:11px 13px;border-radius:11px;background:#fde0da;color:#8e3426;font-size:13px;font-weight:800}.map-search{display:flex;align-items:center;gap:10px}.map-search input{width:100%;border:0;outline:0;background:transparent;color:var(--ink);font-weight:700}.form-field{margin:16px 0}.date-fields input,.form-field input,.profile-editor input{width:100%;border:1px solid var(--line);border-radius:14px;padding:14px;color:var(--ink);background:white}.date-fields{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin:16px 0 22px}.date-fields label{display:grid;grid-gap:8px;gap:8px}.profile-editor .field-label textarea{min-height:90px}.profile-editor .primary-action{margin-top:22px}.drawer-actions{display:grid;grid-gap:9px;gap:9px}.request-card{background:white;border-radius:20px;padding:20px;box-shadow:0 10px 35px #173d360d;display:grid;grid-template-columns:auto 1fr auto;grid-gap:18px;gap:18px;align-items:center;margin-bottom:14px}.request-photo{width:96px;height:108px;border-radius:16px;display:grid;place-items:center;align-content:center;grid-gap:4px;gap:4px;background:linear-gradient(145deg,#f4d24f,#e9b84c);font-size:42px}.request-photo small{color:#604d13;font-size:10px;font-weight:850}.request-identity{display:flex;align-items:center;gap:8px;margin-bottom:9px}.request-identity>span:last-child{color:var(--muted);font-size:12px}.mini-avatar{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--ink);color:white;font-size:12px;font-weight:900}.request-card h3{margin:9px 0 5px;font-size:22px}.request-card p{margin:0 0 6px}.request-card small{color:var(--muted)}.request-actions{display:grid;grid-gap:7px;gap:7px}.request-actions button{border:0;border-radius:11px;padding:10px 14px;color:var(--muted);font-weight:800;background:var(--paper)}.request-actions .accept{color:white;background:var(--ink)}.request-actions .report-action{background:transparent;color:#aa5c4b;font-size:12px}.event-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.event-actions button{border:0;border-radius:10px;padding:9px 12px;background:var(--paper);color:var(--ink);font-weight:800}.event-actions .danger-text{color:#aa5c4b;background:#fff2ee}.event-actions .reopen-action{color:#28725d;background:#e6f5ed}.event-card.is-closed{opacity:.62}.event-card.is-closed:hover{opacity:.9}.share-after-publish{margin:18px 0 10px}.share-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin:24px 0}.share-option{min-height:126px;border:1px solid var(--line);border-radius:18px;background:white;color:var(--ink);padding:18px;text-decoration:none;display:grid;align-content:center;justify-items:start;grid-gap:5px;gap:5px;text-align:left}.share-option:hover{transform:translateY(-2px);box-shadow:0 14px 30px #173d3614}.share-option span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--paper);font-size:20px;font-weight:950}.share-option strong{font-size:17px}.share-option small{color:var(--muted)}.facebook-share span{background:#1877f2;color:white}.threads-share span{background:#111;color:white}.instagram-share span{background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045);color:white}.share-status{padding:13px 15px;border-radius:12px;background:#d7efdf;color:#2e714f;font-weight:800;overflow-wrap:anywhere;-moz-user-select:text;user-select:text;-webkit-user-select:text}.share-privacy{margin-top:18px;text-align:left}.confirm-modal{width:min(480px,100%);padding:34px;border-radius:26px;background:#fffdf9;text-align:center;box-shadow:var(--shadow)}.confirm-modal h2{margin:10px 0;font-size:30px}.confirm-modal p{color:var(--muted);line-height:1.6}.confirm-symbol{width:62px;height:62px;margin:0 auto 18px;display:grid;place-items:center;border-radius:50%;background:#fff0ea;color:var(--coral);font-size:30px;font-weight:950}.confirm-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin-top:24px}.confirm-actions button{border:0;border-radius:13px;padding:14px;background:var(--paper);color:var(--ink);font-weight:900}.confirm-actions .danger-confirm{background:var(--coral);color:white}.photo-upload{margin:16px 0;border:1px dashed var(--muted);border-radius:16px;padding:17px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer}.photo-upload input{position:absolute;opacity:0;pointer-events:none}.photo-upload span{color:var(--ink);font-weight:850}.photo-upload strong{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photo-preview{position:relative;margin:-6px 0 14px;overflow:hidden;border-radius:16px;background:var(--paper)}.photo-preview img{display:block;width:100%;max-height:300px;object-fit:contain}.photo-preview button{position:absolute;right:10px;top:10px;border:0;border-radius:10px;padding:8px 10px;background:#fffdf9e8;color:var(--coral);font-weight:850}.photo-preview.compact img{max-height:220px}.storage-note{display:block;margin:-6px 0 16px;color:var(--muted);line-height:1.5}.pre-friend-note{margin:16px 0;padding:15px;border-radius:14px;background:var(--paper);display:grid;grid-gap:4px;gap:4px}.pre-friend-note span{color:var(--muted);font-size:13px;line-height:1.5}.membership-card{margin:0 0 24px;padding:clamp(24px,4vw,42px);border-radius:28px;background:radial-gradient(circle at 90% 0,#db735e 0 18%,transparent 40%),linear-gradient(135deg,#102f2a,#1b4a40);color:white;display:grid;grid-template-columns:96px minmax(0,1fr) minmax(250px,340px);grid-gap:26px;gap:26px;align-items:center;overflow:hidden;box-shadow:0 22px 50px #173d3626}.membership-orbit{width:96px;height:118px;display:grid;place-items:end center;position:relative;isolation:isolate}.membership-tree-wrap{width:96px;display:grid;justify-items:center;grid-gap:7px;gap:7px;text-align:center}.membership-tree-wrap small{color:#cfe1da;font-size:10px;line-height:1.35}.membership-orbit:before{content:"";position:absolute;left:50%;bottom:19px;width:16px;height:55px;border-radius:60% 35% 18% 18%;background:linear-gradient(90deg,#87613e,#b98a58 55%,#76502f);transform:translateX(-50%) scaleY(calc(.45 + var(--membership-growth,1) * .09));transform-origin:bottom;z-index:-1}.membership-orbit:after{content:"";position:absolute;left:50%;bottom:47px;width:53px;height:48px;border-radius:50%;background:#8fc7a3;box-shadow:-25px 12px 0 -5px #72b18b,25px 11px 0 -4px #a7d5b4,0 -24px 0 -8px #b9dec0,-16px -12px 0 -9px #99cfa9,19px -13px 0 -8px #80bd95;transform:translateX(-50%) scale(calc(.48 + var(--membership-growth,1) * .085));transform-origin:center bottom;z-index:-1;transition:transform .35s ease}.membership-orbit span{width:35px;height:35px;margin-bottom:0;border:2px solid #ffffffaa;border-radius:50%;display:grid;place-items:center;background:#143d35;box-shadow:0 5px 16px #0b211d66;font:900 18px/1 Georgia,serif}.membership-copy .eyebrow{color:#bcd3ca}.membership-copy h2{margin:7px 0;font-size:clamp(32px,4vw,48px);letter-spacing:-.04em}.membership-copy p{margin:0;max-width:430px;color:#deebe6;line-height:1.55}.membership-progress{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;padding:18px;border:1px solid #ffffff24;border-radius:20px;background:#ffffff0f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.membership-progress>div:not(.progress-track){display:grid;grid-gap:4px;gap:4px}.membership-progress span{color:#c8d9d2;font-size:12px}.membership-progress strong{font-size:21px}.membership-progress small{grid-column:1/-1;color:#e6efeb;line-height:1.45}.progress-track{grid-column:1/-1;height:7px;border-radius:999px;background:#ffffff20;overflow:hidden}.progress-track span{display:block;height:100%;border-radius:inherit;background:#f08a72;transition:width .3s ease}.sms-card{margin:16px 0;padding:16px;border-radius:16px;background:var(--paper);display:grid;grid-gap:12px;gap:12px}.sms-card>div:first-child{display:flex;justify-content:space-between;gap:14px}.sms-controls{display:grid;grid-template-columns:1fr auto;grid-gap:8px;gap:8px}.sms-controls input{border:1px solid var(--line);border-radius:12px;padding:12px}.sms-controls button,.text-action{border:0;border-radius:12px;padding:12px 14px;background:var(--ink);color:white;font-weight:850}.sms-controls button:disabled{opacity:.35}.sms-controls small{grid-column:1/-1;color:var(--muted)}.text-action{background:transparent;color:var(--coral);padding:0;text-align:left}.search-field{display:flex;align-items:center;gap:10px}.search-field input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font-size:16px}.search-field input::placeholder{color:var(--muted)}.encounter-tabs{width:100%;margin-bottom:16px}.encounter-tabs button{flex:1 1}.encounter-history-empty{margin-bottom:16px}.empty-state{min-height:190px;padding:30px;border:1px dashed var(--line);border-radius:20px;background:#fffdf9;display:grid;place-content:center;justify-items:center;grid-gap:8px;gap:8px;text-align:center;color:var(--muted)}.empty-state strong{color:var(--ink);font-size:20px}.empty-state button{margin-top:8px;border:0;border-radius:12px;padding:12px 16px;background:var(--ink);color:white;font-weight:850}.chat-modal{position:relative;width:min(680px,100%);height:min(720px,88vh);border-radius:26px;background:#fffdf9;box-shadow:var(--shadow);display:grid;grid-template-rows:auto 1fr auto;overflow:hidden}.chat-modal header{padding:24px;border-bottom:1px solid var(--line)}.chat-modal h2{margin:6px 48px 0 0}.chat-thread{padding:24px;overflow:auto;display:flex;flex-direction:column;gap:12px}.message{max-width:72%;border-radius:18px;padding:13px 15px;line-height:1.5;background:var(--paper)}.message.mine{align-self:flex-end;background:var(--ink);color:white}.chat-compose{padding:16px;border-top:1px solid var(--line);display:grid;grid-template-columns:auto 1fr auto;grid-gap:8px;gap:8px;align-items:end}.chat-input-wrap{min-width:0;display:grid;grid-gap:6px;gap:6px}.chat-input-wrap>input{width:100%;border:1px solid var(--line);border-radius:14px;padding:13px}.chat-attach{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:var(--paper);color:var(--ink);font-size:25px;font-weight:700;cursor:pointer}.chat-attach input{position:absolute;opacity:0;pointer-events:none}.attachment-preview{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:10px;background:#edf3ef;color:var(--ink);font-size:12px}.attachment-preview span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-preview button{padding:0;background:transparent;color:var(--coral);font-size:11px}.message-attachment{margin-top:9px;padding:9px 11px;border-radius:10px;background:#ffffff75;border:1px solid #173d3620;font-size:12px;font-weight:800;display:block;width:100%;color:inherit;text-align:left;cursor:pointer}.message.mine .message-attachment{background:#ffffff18;border-color:#ffffff2d}.message-status{display:block;margin-top:5px;text-align:right;opacity:.72;font-size:10px}.contact-profile-link{border:0;padding:0;background:transparent;color:var(--coral);font-size:11px;font-weight:900;letter-spacing:.08em;cursor:pointer}.chat-profile-card{margin:12px 24px 0;padding:14px 16px;border-radius:14px;background:var(--paper);display:grid;grid-gap:4px;gap:4px;color:var(--muted);font-size:12px}.chat-profile-card strong{color:var(--ink);font-size:16px}.chat-profile-card p{margin:2px 0 0}.inline-attachment{display:block;margin:8px 0;border:0;border-radius:10px;padding:9px 12px;background:var(--paper);color:var(--ink);font-weight:850;cursor:pointer}.attachment-viewer{position:relative;width:min(760px,100%);max-height:88vh;overflow:auto;border-radius:24px;padding:24px;background:#fffdf9;box-shadow:var(--shadow)}.attachment-viewer h2{margin:0 48px 18px 0}.attachment-viewer img{display:block;width:100%;max-height:70vh;object-fit:contain;border-radius:16px;background:var(--paper)}.attachment-unavailable{padding:40px 24px;border-radius:16px;background:var(--paper);color:var(--muted);text-align:center;line-height:1.6}.recommended-pins{margin-top:16px;padding:18px;border-radius:20px;background:white;box-shadow:0 10px 35px #173d360d;display:grid;grid-gap:10px;gap:10px}.recommended-pins>div{display:flex;justify-content:space-between;gap:10px;color:var(--muted)}.recommended-pins>div strong{color:var(--ink)}.recommended-pins>button{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:12px;gap:12px;width:100%;padding:13px;border:1px solid var(--line);border-radius:14px;background:#fffdf9;color:var(--ink);text-align:left;cursor:pointer}.recommended-pins>button>span:nth-child(2){display:grid;grid-gap:3px;gap:3px}.recommended-pins small{color:var(--muted)}.recommended-pins b{color:var(--coral);white-space:nowrap}.recommendation-dot{width:14px;height:14px;border-radius:50%;background:#d59b46}.recommendation-dot.high{background:#39805f}.recommendation-dot.medium{background:#d59b46}.recommendation-dot.review{background:#9aa39f}.account-connect-list{margin:16px 0;display:grid;grid-gap:10px;gap:10px}.account-connect-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:12px;gap:12px;padding:14px;border:1px solid var(--line);border-radius:14px}.account-connect-row>span:nth-child(2){display:grid;grid-gap:3px;gap:3px}.account-connect-row small{color:var(--muted)}.account-connect-row button{border:0;border-radius:10px;padding:10px 12px;background:var(--ink);color:white;font-weight:850}.account-connect-row button:disabled{opacity:.55}.account-brand{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:white;font-weight:900}.account-brand.instagram{background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045)}.account-brand.facebook{background:#1877f2}.chat-compose button{border:0;border-radius:14px;padding:13px 18px;background:var(--coral);color:white;font-weight:850}.chat-compose button:disabled{opacity:.4}.public-event-page{min-height:100vh;background:var(--paper);padding-bottom:56px}.public-event-nav{width:min(1120px,calc(100% - 40px));margin:0 auto;padding:28px 0;display:flex;justify-content:space-between;align-items:center}.public-brand-slogan{color:var(--coral);font-size:13px;font-weight:850;letter-spacing:.08em}.public-crossed-logo{color:var(--ink);display:flex;align-items:center;font-size:27px;line-height:1;font-weight:800;letter-spacing:-.065em;text-decoration:none}.back-to-map{color:var(--muted);text-decoration:none;font-weight:750}.public-event-hero{width:min(1120px,calc(100% - 40px));margin:0 auto;padding:clamp(36px,8vw,100px);border-radius:32px;background:var(--ink);color:white;position:relative;overflow:hidden}.public-event-hero:after{content:"";position:absolute;width:360px;height:360px;border-radius:50%;right:-90px;top:-160px;background:var(--coral);opacity:.72}.event-type-chip{position:relative;z-index:1;display:inline-flex;padding:8px 12px;border-radius:999px;background:#ffffff20;text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:900}.public-event-hero h1{position:relative;z-index:1;max-width:820px;margin:18px 0;font-size:clamp(42px,7vw,82px);line-height:.98;letter-spacing:-.045em}.public-event-hero>p{position:relative;z-index:1;max-width:680px;color:#e8efeb;font-size:18px;line-height:1.65}.public-event-stats{position:relative;z-index:1;margin-top:44px;display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.public-event-stats>div{padding:18px;border-radius:16px;background:#ffffff12;display:grid;grid-gap:5px;gap:5px}.public-event-stats small,.public-event-stats span{color:#bdcbc5;font-size:12px}.public-event-response{width:min(960px,calc(100% - 40px));margin:-28px auto 0;position:relative;z-index:2;background:white;border-radius:24px;padding:30px;box-shadow:var(--shadow);display:grid;grid-template-columns:1fr auto;grid-gap:30px;gap:30px;align-items:center}.public-event-response h2{margin:7px 0;font-size:30px}.public-event-response p{color:var(--muted);line-height:1.55}.privacy-copy{font-size:13px}.respond-button{padding:16px 20px;border-radius:14px;background:var(--coral);color:white;text-decoration:none;font-weight:900;white-space:nowrap}.public-event-actions{display:grid;grid-gap:10px;gap:10px}.open-app-button{padding:13px 18px;border:2px solid var(--ink);border-radius:14px;color:var(--ink);text-decoration:none;font-weight:900;text-align:center}.public-event-footer{width:min(960px,calc(100% - 40px));margin:28px auto 0;color:var(--muted);font-size:13px;text-align:center}@media (max-width:800px){.membership-card{grid-template-columns:78px 1fr}.membership-orbit{width:76px;height:100px}.membership-orbit span{width:31px;height:31px;font-size:16px}.membership-progress{grid-column:1/-1}}@media (max-width:700px){.date-fields{grid-template-columns:1fr}.google-place-search,.osm-search{left:12px;bottom:168px;width:calc(100% - 24px)}.locate-button{right:12px;bottom:102px}.location-message{right:12px;bottom:160px}.drop-button{bottom:102px}.confirm-location{grid-template-columns:1fr 1fr;bottom:102px}.confirm-location span{grid-column:1/-1}.map-canvas:has(.confirm-location) .drop-button{display:none}.map-canvas:has(.confirm-location) .osm-search{bottom:232px}.map-canvas:has(.confirm-location) .locate-button{bottom:232px}.public-event-response,.public-event-stats{grid-template-columns:1fr}.respond-button{text-align:center}.sms-controls{grid-template-columns:1fr}.request-card{grid-template-columns:auto 1fr}.request-actions{grid-column:1/-1;grid-template-columns:1fr 1fr 1fr}.auth-backdrop{display:block;overflow-y:auto;padding:12px;overscroll-behavior:contain}.login-modal{margin:8px auto max(24px,env(safe-area-inset-bottom));max-height:none;min-height:min-content;padding:26px 22px calc(28px + env(safe-area-inset-bottom))}.login-modal input{font-size:16px}}@media (max-width:700px){.map-canvas:has(.osm-search input:focus){overflow:hidden}.map-canvas:has(.osm-search input:focus) .osm-search{top:12px;bottom:auto;z-index:1200}.map-canvas:has(.osm-search input:focus) .osm-suggestions{max-height:min(38dvh,280px);overscroll-behavior:contain}.map-canvas:has(.osm-search input:focus) .confirm-location,.map-canvas:has(.osm-search input:focus) .drop-button,.map-canvas:has(.osm-search input:focus) .mode-switch{display:none}.osm-search input{font-size:16px}}@media (max-width:520px){.share-grid,.social-login-grid{grid-template-columns:1fr}.share-option{min-height:96px}}@media (max-width:620px){.suggestion-card{grid-template-columns:58px 1fr}.suggestion-score{width:54px;height:54px}.suggestion-card>button{grid-column:1/-1;width:100%}}@media (max-height:700px){.map-page,.workspace{min-height:0;height:calc(100dvh - 160px)}.mode-switch{left:24px;transform:none}}@media (max-width:520px) and (max-height:700px){.mode-switch{left:12px}}.about-site-link{margin-left:auto;color:var(--ink);font-size:12px;text-decoration:none;white-space:nowrap}.topbar .about-site-link+.icon-button{margin-left:0}.bottom-nav .next-stop-tab{order:2;width:min(180px,20%);display:grid;place-content:center;text-align:center;grid-gap:5px;gap:5px;font-size:12px;font-weight:850;color:#68776e;text-decoration:none}.bottom-nav .next-stop-tab span{font-size:19px}.bottom-nav button{width:min(180px,20%)}.detail-drawer{max-height:calc(100% - 44px);overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;overflow-wrap:anywhere}.detail-drawer p{max-height:none;overflow:visible;white-space:pre-wrap}@media (max-width:700px){.detail-drawer{top:12px;bottom:auto;max-height:calc(100% - 24px)}}.policy-page{min-height:100vh;padding:28px 20px 64px}.policy-nav{width:min(900px,100%);margin:0 auto 22px;display:flex;align-items:center;justify-content:space-between}.policy-nav img{display:block;width:190px;max-width:48vw;height:auto}.policy-nav>a:last-child{color:var(--ink);font-weight:800;text-decoration:none;background:#fff;padding:12px 16px;border-radius:999px}.policy-card{width:min(900px,100%);margin:0 auto;background:#fffdf9;border-radius:28px;padding:clamp(28px,6vw,64px);box-shadow:var(--shadow)}.policy-card h1{font-size:clamp(38px,7vw,64px);line-height:1.05;margin:10px 0}.policy-card>small{display:block;color:var(--muted);margin-bottom:32px}.policy-card h2{font-size:22px;margin:34px 0 10px}.policy-card li,.policy-card p{color:var(--muted);font-size:17px;line-height:1.8}.policy-card li+li{margin-top:8px}.policy-card a{color:var(--ink);font-weight:800}@media(max-width:600px){.policy-page{padding:18px 12px 40px}.policy-card{border-radius:22px;padding:28px 22px}.policy-card li,.policy-card p{font-size:16px}.policy-card ol,.policy-card ul{padding-left:24px}}