@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800;900&family=Playfair+Display:wght@500;600&display=swap');
:root{color-scheme:dark;--ink:#0b0b18;--surface:#161629;--surface2:#202038;--line:#3a3954;--white:#f9f8ff;--muted:#b3b0c7;--purple:#8155dc;--coral:#f17a89;--blue:#6f9ceb;--grad:linear-gradient(110deg,#6f9ceb 0%,#8756dd 52%,#f17a89 100%)}
.brand-logo{display:block;width:150px;max-width:38vw;height:auto;object-fit:contain}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(ellipse 70% 35% at 88% -10%,#372451 0%,transparent 75%),var(--ink);color:var(--white);font:16px/1.5 'DM Sans',sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit}button:disabled{opacity:.45;cursor:not-allowed}.topbar{height:74px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1180px)/2));border-bottom:1px solid #ffffff12;background:#0b0b18e8;position:sticky;top:0;z-index:5;backdrop-filter:blur(12px)}.brand{text-decoration:none;display:flex;align-items:center;gap:14px}.brand-mark{font-size:26px;line-height:1;font-weight:700;letter-spacing:-.08em;background:var(--grad);background-clip:text;color:transparent}.brand-caption{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#d5d0e5;border-left:1px solid var(--line);padding-left:14px}nav{display:flex;align-items:center;gap:8px}nav button{border:0;background:transparent;color:var(--muted);padding:10px 13px;border-radius:20px;font-size:14px}nav button.active,nav button:hover{background:#ffffff12;color:var(--white)}nav .logout{margin-left:6px;border:1px solid var(--line)}main{max-width:1180px;margin:0 auto;padding:42px 24px 100px}.eyebrow{letter-spacing:.15em;text-transform:uppercase;font-size:12px;font-weight:700;color:#b99afa;margin:0 0 16px}.serif{font-family:'Playfair Display',Georgia,serif;font-weight:500;letter-spacing:-.025em;line-height:1.08}h1{font-size:clamp(38px,5vw,66px);margin:0 0 18px}h2{font-size:clamp(29px,3vw,42px);margin:0 0 14px}h3{font-size:22px;margin:0 0 14px}p{margin-top:0}.sub{color:var(--muted);max-width:56ch}.gradient-text{background:var(--grad);background-clip:text;color:transparent}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:10px 22px;border-radius:999px;border:1px solid var(--line);background:#211b38;color:var(--white);font-weight:700;text-decoration:none}.button.primary{background:var(--grad);border:0;color:#fff;box-shadow:0 10px 30px #6b48cd40}.button.secondary{background:#161529}.button:hover{filter:brightness(1.13)}.button.small{min-height:38px;padding:8px 16px;font-size:14px}.button.danger{border-color:#a94762;color:#ffc4cc}.button-row{display:flex;gap:10px;flex-wrap:wrap}.welcome{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:54px;min-height:calc(100vh - 190px)}.welcome h1{max-width:640px}.welcome .sub{font-size:19px}.hero-art{min-height:445px;border:1px solid #ffffff20;border-radius:30px;background:radial-gradient(circle at 65% 35%,#f38e9b 0,transparent 20%),radial-gradient(circle at 45% 45%,#794dd5 0,transparent 32%),radial-gradient(circle at 30% 55%,#5179d0 0,transparent 35%),#15152d;position:relative;overflow:hidden}.hero-art:before{content:'A different match';position:absolute;left:12%;right:12%;top:37%;font:500 clamp(28px,4vw,54px) 'Playfair Display',serif;text-align:center;text-shadow:0 6px 20px #000a}.hero-art:after{content:'Actually Date Me.';position:absolute;bottom:35px;left:12%;right:12%;text-align:center;letter-spacing:.13em;text-transform:uppercase;font-size:12px}.panel{background:#17172ae8;border:1px solid #ffffff1b;border-radius:26px;padding:30px;box-shadow:0 20px 60px #0002}.auth-panel{max-width:480px;margin:20px auto}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field.full{grid-column:1/-1}.field label{font-size:14px;font-weight:700;color:#dedbea}.field input,.field select,.field textarea{width:100%;background:#0f1020;color:var(--white);border:1px solid #54516d;border-radius:12px;padding:12px 14px;outline:none;min-height:48px}.field textarea{min-height:100px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#b49af6;box-shadow:0 0 0 3px #8961e035}.help{font-size:13px;color:var(--muted);margin:5px 0 0}.note{border:1px solid #8a6dc485;background:#32244950;border-radius:14px;padding:14px;color:#ded3f4}.error{border:1px solid #c45570;background:#64283d55;border-radius:12px;padding:12px;color:#ffd4dd;margin:15px 0}.link-button{border:0;background:transparent;color:#c7a7ff;text-decoration:underline;padding:6px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:25px}.grid-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:25px}.card{background:var(--surface);border:1px solid var(--line);border-radius:26px;overflow:hidden}.profile-photo{width:100%;height:380px;object-fit:cover;background:linear-gradient(145deg,#302551,#463d72 45%,#a3577d)}.profile-photo.placeholder{display:grid;place-items:center;font-family:'Playfair Display',serif;font-size:92px;color:#e7d8ff}.candidate-details{padding:25px}.candidate-details h2{margin-bottom:6px}.chips{display:flex;gap:8px;flex-wrap:wrap;margin:17px 0}.chip{border:1px solid #625c80;border-radius:30px;padding:5px 11px;color:#e5ddf4;font-size:13px}.sidebox{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:22px;height:max-content}.sidebox strong{font-size:25px}.empty{max-width:540px;text-align:center;margin:60px auto;padding:42px;background:var(--surface);border:1px solid var(--line);border-radius:24px}.empty .symbol{font-size:42px}.list{display:grid;gap:12px}.match-row{width:100%;text-align:left;display:flex;gap:16px;align-items:center;background:var(--surface);border:1px solid var(--line);padding:13px;border-radius:18px;color:var(--white)}.match-row:hover{border-color:var(--purple)}.avatar{height:64px;width:64px;border-radius:50%;object-fit:cover;background:var(--surface2);display:grid;place-items:center;font-size:24px;flex:none}.split{display:grid;grid-template-columns:300px minmax(0,1fr);gap:20px}.conversation{height:min(70vh,670px);min-height:450px;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:24px;overflow:hidden}.conversation header{padding:16px 20px;border-bottom:1px solid var(--line);font-weight:700}.messages{flex:1;overflow:auto;padding:20px;display:flex;flex-direction:column;gap:12px}.bubble{max-width:80%;padding:11px 15px;border-radius:17px;background:#34304d;align-self:flex-start;white-space:pre-wrap;overflow-wrap:anywhere}.bubble.mine{align-self:flex-end;background:#6941bc}.compose{padding:12px;border-top:1px solid var(--line);display:flex;gap:8px}.compose input{flex:1;min-width:0;border:1px solid var(--line);background:#101020;border-radius:30px;color:#fff;padding:10px 15px}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.photo-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px}.toast-show{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:10;background:#efe8ff;color:#1d1436;padding:12px 20px;border-radius:12px;box-shadow:0 15px 40px #0006;max-width:min(90vw,500px)}.loading{color:var(--muted);padding:70px;text-align:center}.check{display:flex;align-items:flex-start;gap:10px;margin:10px 0 20px;color:var(--muted);font-size:14px}.check input{margin-top:5px;accent-color:#8b55dd}
@media(max-width:800px){.welcome{grid-template-columns:1fr;min-height:auto;gap:28px}.hero-art{min-height:230px;order:-1}.hero-art:before{top:32%}.grid-layout,.split{grid-template-columns:1fr}.sidebox{order:-1}.topbar{padding:0 16px}.brand-caption{display:none}.topbar nav{gap:0}nav button{padding:9px;font-size:13px}main{padding:28px 16px 90px}.profile-photo{height:320px}.conversation{height:65vh}.section-head{align-items:start;flex-direction:column}}@media(max-width:480px){.form-grid{grid-template-columns:1fr}.panel{padding:20px}.topbar{height:64px}.brand-mark{font-size:23px}nav button{font-size:12px;padding:7px}.avatar{height:52px;width:52px}h1{font-size:39px}.photo-grid{grid-template-columns:repeat(2,1fr)}}
.photo-controls{display:flex;align-items:center;justify-content:center;gap:16px;margin:-56px auto 12px;position:relative;width:max-content;padding:5px 8px;border-radius:30px;background:#0b0b18dd;backdrop-filter:blur(8px);font-size:14px}.photo-controls .button{min-width:35px;min-height:35px;padding:0}.swipe-help{margin:16px 0 0}#match-dialog{max-width:min(460px,calc(100vw - 28px));width:100%;padding:34px;border-radius:28px;border:1px solid #705691;background:#19152e;color:var(--white);box-shadow:0 30px 100px #0009}#match-dialog::backdrop{background:#080612bb;backdrop-filter:blur(7px)}#match-dialog .sub{margin-bottom:24px}.match-celebration{font-size:74px;line-height:1;background:var(--grad);background-clip:text;color:transparent;margin-bottom:22px}#match-dialog .button-row{gap:12px}

.upgrade-panel{max-width:680px;margin:32px auto;padding:44px}.upgrade-panel h1{margin:0 0 20px}.upgrade-panel .sub{font-size:18px;line-height:1.6;margin-bottom:28px}@media(max-width:480px){.upgrade-panel{padding:24px;margin:12px auto}.upgrade-panel .button-row{align-items:stretch;flex-direction:column}}
.notification-panel{margin:24px 0}.notification-panel h2{font-size:26px;margin:0 0 8px}.notification-panel .sub{margin:0 0 16px}.notification-panel button+button{margin-left:10px}.notification-panel .help{margin-top:12px}
.notification-panel{border-color:#9e7cde;background:linear-gradient(135deg,#24203c,#19182e);box-shadow:0 12px 36px #9e69e21c}.notification-prompt{display:flex;align-items:center;gap:16px;margin-bottom:18px}.notification-prompt h2{font:700 22px 'DM Sans',sans-serif;margin:0 0 5px}.notification-prompt p{color:var(--muted);margin:0}.notification-icon{display:grid;place-items:center;width:50px;height:50px;flex:none;border-radius:15px;background:#9d6cd442;color:#ddbbff;font-size:28px}.notification-panel .button.primary{width:100%;min-height:54px}.notification-options{margin:16px 0 26px}.notification-options details{border:1px solid var(--line);border-radius:16px;background:var(--surface)}.notification-options summary{cursor:pointer;padding:17px 20px;font-weight:700}.notification-options-content{padding:0 20px 20px}.notification-options-content p{color:var(--muted)}
.notification-setup{margin:0;padding:16px 18px;border:1px solid #a27bc5;border-radius:15px;background:#a47cd21c;line-height:1.55}.notification-setup strong{color:#f5e7ff}
.install-guide{margin-top:24px;padding:17px 20px;border:1px solid #9974d0;border-radius:18px;background:#242039;color:var(--white);max-width:570px}.install-guide>strong{font-size:18px}.install-guide p{margin:7px 0;color:#d3cee3;line-height:1.45}.install-guide .install-steps{margin:12px 0}.install-guide a,.notification-setup a{color:#d9b7ff;font-weight:700;text-underline-offset:3px}.auth-panel .install-guide{margin-top:24px}@media(max-width:800px){.welcome{align-items:start}.install-guide{margin-top:20px}}

.remember-login{display:flex;align-items:center;gap:10px;margin:16px 0 22px;color:var(--white);font-size:15px}.remember-login input{width:20px;height:20px;accent-color:var(--purple)}

.chat-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 16px;border-top:1px solid var(--line)}.chat-tools input[type=file]{position:absolute;width:1px;height:1px;opacity:0}.chat-tools label{cursor:pointer}.chat-photo{display:block;max-width:min(280px,65vw);max-height:330px;border-radius:12px;object-fit:contain}.bubble audio{display:block;max-width:min(280px,65vw)}

.safety-menu{position:relative;margin-top:14px;width:max-content;max-width:100%;color:var(--muted);font-size:13px}.safety-menu summary{cursor:pointer;list-style:none;text-decoration:underline;text-underline-offset:3px}.safety-menu summary::-webkit-details-marker{display:none}.safety-menu summary:focus-visible{outline:2px solid #b99afa;outline-offset:4px}.safety-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.safety-actions .button.small{min-height:34px;padding:5px 12px;font-size:12px}

.likes-badge{display:inline-block;min-width:22px;padding:1px 6px;border-radius:99px;background:var(--grad);color:white;font-size:12px;font-weight:700;text-align:center}.likes-teaser{width:100%;display:flex;align-items:center;gap:12px;text-align:left;color:var(--white);background:#35234e;border:1px solid #996be0;border-radius:16px;padding:14px;margin-bottom:22px}.likes-teaser .likes-heart{font-size:32px;color:#f89baa;line-height:1}.likes-teaser strong{display:block;font-size:16px}.likes-teaser small{display:block;color:#e1d8f1;font-size:13px;line-height:1.3}.likes-locked{max-width:600px;text-align:center;margin:30px auto;padding:40px}.likes-locked .symbol{font-size:58px;line-height:1;color:#f39baa}.likes-locked .sub{margin:0 auto 22px}.likes-list{display:grid;gap:16px;max-width:760px}.like-card{display:flex;gap:20px;padding:20px;border:1px solid var(--line);border-radius:20px;background:var(--surface)}.like-card .avatar{width:96px;height:96px}.like-card h2{font-size:24px;margin:0 0 5px}.like-card p{margin:0 0 12px;overflow-wrap:anywhere}@media(max-width:480px){.like-card{padding:14px;gap:12px}.like-card .avatar{width:64px;height:64px}.topbar nav{flex-wrap:wrap;justify-content:flex-end}.topbar{height:auto;min-height:64px;padding:8px 12px}.topbar nav button{padding:6px}}

.account-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:26px 0;padding:20px;border:1px solid var(--line);border-radius:20px;background:var(--surface)}.account-actions h2{font:600 18px 'DM Sans',sans-serif;margin:0 auto 0 0}.account-actions #profile-logout{border-color:#69657c;background:transparent;color:var(--muted)}.topbar nav .logout{font-size:13px;padding:7px 11px;min-height:38px;color:var(--muted)}
@media(max-width:800px){
  .topbar{height:68px;min-height:68px;padding:0 18px;backdrop-filter:none}
  .topbar nav.signed-in{position:fixed;left:0;right:0;bottom:0;z-index:20;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:9px 10px calc(9px + env(safe-area-inset-bottom));border-top:1px solid #ffffff26;background:#111021f5;box-shadow:0 -12px 35px #0005;backdrop-filter:blur(16px)}
  .topbar nav.signed-in button{min-height:50px;padding:9px 3px;border-radius:14px;font-size:15px;font-weight:600;color:#d9d5e7;white-space:nowrap}
  .topbar nav.signed-in button.active{background:#3b2d60;color:#fff}
  .topbar nav.signed-in button[data-view="upgrade"],.topbar nav.signed-in .logout{display:none}
  .topbar nav.signed-in .likes-badge{vertical-align:middle;margin-left:2px}
  main{padding-bottom:calc(112px + env(safe-area-inset-bottom))}
  .account-actions{align-items:stretch;flex-direction:column}.account-actions h2{margin:0}.account-actions .button{width:100%;min-height:48px}
}
.extras-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.extra-card{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:26px}.extra-card h2{font-size:25px;margin:0}.extra-card p{margin:0}.extra-card .extra-price{font-size:28px;font-weight:700;margin-top:auto}.extra-card .button{width:100%;margin-top:4px}.extra-card .help{min-height:42px}.extra-symbol{font-size:30px;line-height:1.2;color:#d4a5ff}.bubble.nudge{border:1px solid #ba89ee;background:#493061;color:#fff;font-weight:600}.bubble.nudge.mine{background:#7145a8}.chat-tools #send-nudge{border-color:#8756dd}@media(max-width:900px){.extras-grid{grid-template-columns:1fr}.extra-card .help{min-height:0}}

/* A seven day pass earns a visible badge until its server granted expiry. */
.founding-offer{display:flex;flex-direction:column;gap:4px;max-width:540px;margin:22px 0;padding:18px 20px;border:1px solid #c29cf0;border-radius:18px;background:linear-gradient(110deg,#252143,#33203b);box-shadow:0 8px 25px #0003}
.founding-offer strong{color:#e9c5ff;font-size:18px}
.founding-offer span{color:#ebe6f3;font-size:15px;line-height:1.45}
.vip-badge{display:inline-flex;vertical-align:middle;align-items:center;gap:.32em;padding:.22em .65em;border-radius:999px;border:1px solid #f7d9a5;background:linear-gradient(115deg,#432a6c,#8c5798 48%,#ae654f);color:#fff5df;box-shadow:0 2px 12px #bb83cd55,inset 0 1px #ffffff6b;font:800 12px/1.2 'DM Sans',sans-serif;letter-spacing:.1em;white-space:nowrap;text-shadow:0 1px 2px #382449}
.vip-badge span{color:#ffe5a3;font-size:1.25em;line-height:.7}
.person-name .vip-badge{font-size:12px;letter-spacing:.08em;margin-left:.35em;transform:translateY(-.16em)}
.match-row .vip-badge{margin-left:.25em}

.day-heading{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.day-heading .eyebrow{margin:0}
.day-heading .vip-badge{font-size:13px;padding:.35em .85em}
.day-heading .verified-badge{margin-left:0;padding:6px 10px;font-size:13px}

.date-ready-badge{display:inline-flex;align-items:center;border:1px solid #e6aed1;border-radius:999px;background:#6a2d5960;color:#ffd6ed;padding:4px 10px;font-size:12px;font-weight:700;line-height:1.3;margin:0 0 12px}
.match-row .date-ready-badge{margin:5px 0 0}
.date-ready-setting{margin:20px 0;padding:18px;border:1px solid #976dba;border-radius:16px;background:#5e3e7833}
.date-ready-setting label{display:flex;align-items:center;gap:9px;flex-wrap:wrap;cursor:pointer}
.date-ready-setting input{width:20px;height:20px;accent-color:#9b6be9}
.date-ready-setting .help{margin-top:8px}
.second-look-button{margin:0 8px 8px 0}

/* Compact optional interests picker and shared-interest cues. */
.interests-picker{border:1px solid #5d547c;border-radius:16px;background:#171629;overflow:hidden}
.interests-picker summary{cursor:pointer;padding:15px 17px;font-weight:700;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px}
.interests-picker summary::-webkit-details-marker{display:none}
.interests-picker summary:after{content:'⌄';font-size:20px;color:#d4a5ff;order:2}
.interests-picker[open] summary:after{transform:rotate(180deg)}
.interest-count{font-size:13px;font-weight:500;color:#b6afcc;margin-left:auto}
.interest-groups{padding:0 15px 15px}
.interest-groups fieldset{border:0;padding:12px 0;margin:0;border-top:1px solid #39344d}
.interest-groups legend{font-weight:700;color:#cbb2ff;padding:0 0 5px}
.interest-options{display:flex;gap:8px;flex-wrap:wrap}
.interest-option{cursor:pointer;position:relative}
.interest-option input{position:absolute;opacity:0;width:1px;height:1px}
.interest-option span{display:inline-block;border:1px solid #605779;border-radius:999px;padding:8px 12px;font-size:14px;line-height:1.2}
.interest-option input:checked+span{border-color:#d4a5ff;background:#554073;color:#fff}
.interest-option input:focus-visible+span{outline:2px solid #fff;outline-offset:2px}
.profile-interests{margin:12px 0}.profile-interests .chips{margin:6px 0 12px}.shared-interests{color:#e7caff;font-weight:700;margin:0 0 8px}.shared-chip{border-color:#b786ea;background:#493364}

.profile-prompts{display:grid;gap:10px;padding:0 15px 16px}.profile-prompts label{font-size:14px;font-weight:700}.profile-prompts input{width:100%}.prompt-summary{margin:12px 0}.prompt-summary p{margin:6px 0}.prompt-summary strong{color:#d4a5ff}.chat-starters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 14px}.chat-starters .help{width:100%;margin:0}.chat-starters button{text-align:left;white-space:normal}.chat-tools select{max-width:150px;padding:8px;border-radius:10px;background:#171629;color:#fff;border:1px solid #665b80}.bubble.invite{display:grid;gap:7px}.invite-actions{display:flex;gap:8px;flex-wrap:wrap}.bubble.invite span{font-size:13px}

.report-dialog{border:1px solid #77638f;border-radius:18px;background:#1b192c;color:#fff;width:min(92vw,480px);padding:22px}.report-dialog::backdrop{background:#090914b8}.report-dialog form{display:grid;gap:10px}.report-dialog h2{margin:0}.report-dialog select,.report-dialog textarea{width:100%;background:#111023;color:#fff;border:1px solid #766789;border-radius:10px;padding:12px}.report-dialog textarea{min-height:100px}.report-dialog .button-row{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.candidate-details .safety-menu{margin-top:14px}

.match-reason{margin:14px 0;padding:12px 14px;border-left:3px solid #a783df;background:#8f65bd1a;border-radius:8px}.match-reason strong{color:#e4c8ff;font-size:14px}.match-reason p{margin:5px 0 0;color:#c8c3d3;font-size:14px;line-height:1.45}.empty .button-row{justify-content:center;flex-wrap:wrap}

.verified-badge{display:inline-flex;align-items:center;gap:4px;border:1px solid #8bd1ed;border-radius:999px;background:#19485a;color:#d8f6ff;padding:3px 9px;font:700 12px/1.3 'DM Sans',sans-serif;white-space:nowrap;vertical-align:middle;margin-left:5px}.identity-panel{margin-top:24px}.identity-panel h2{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.identity-panel .help{margin:12px 0}.identity-panel a{color:#c8aaff;text-decoration:underline}
.age-range{min-width:0;margin:0 0 16px;border:1px solid #54516d;border-radius:14px;padding:12px 16px 16px;background:#0f1020}
.age-range legend{padding:0 6px;color:#dedbea;font-size:14px;font-weight:700}
.age-range-inputs{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px;align-items:end}
.age-range-inputs label{min-width:0;display:flex;flex-direction:column;gap:5px}
.age-range-inputs label span{font-size:13px;color:var(--muted)}
.age-range-inputs input{box-sizing:border-box;min-width:0}
.age-range-separator{padding-bottom:12px;color:var(--muted)}
.account-delete-option{margin-top:12px;color:var(--muted)}
.account-delete-option summary{cursor:pointer;font-size:14px;padding:10px 0}
.account-delete-option .button{margin-top:8px}
.delete-account-dialog input{width:100%;background:#111023;color:#fff;border:1px solid #766789;border-radius:10px;padding:12px}
.delete-account-dialog .button-row{margin-top:10px}
/* Profile sections */
.profile-shortcuts{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 0 18px;padding:2px 0 8px}
.profile-shortcuts::-webkit-scrollbar{display:none}
.profile-shortcuts a{flex:none;padding:9px 14px;border:1px solid var(--line);border-radius:999px;background:#211b38;color:var(--white);font-size:14px;font-weight:700;text-decoration:none}
.profile-shortcuts a:focus-visible,.profile-section summary:focus-visible{outline:2px solid #b99afa;outline-offset:3px}
.profile-form{display:grid;gap:14px}
.profile-section{border:1px solid var(--line);background:#111023;border-radius:20px;overflow:hidden;scroll-margin-top:100px}
.profile-section[open]{border-color:#7964a0}
.profile-section>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;padding:18px 20px;list-style:none}
.profile-section>summary::-webkit-details-marker{display:none}
.profile-section>summary strong{display:block;font-size:18px;color:var(--white)}
.profile-section>summary small{display:block;margin-top:2px;font-size:14px;color:var(--muted)}
.profile-section-arrow{font-size:24px;color:#c5a9ff;line-height:1;transition:transform .2s}
.profile-section[open] .profile-section-arrow{transform:rotate(180deg)}
.profile-section>.form-grid{padding:4px 20px 20px}
.profile-section .field{min-width:0}
#identity-panel,#account-options{scroll-margin-top:100px}
@media(max-width:600px){.profile-form{padding:12px}.profile-section>summary{padding:16px}.profile-section>.form-grid{padding:4px 16px 20px}}
.account-actions:has(.options-section){display:block;padding:12px}
.options-section{width:100%}
.option-content{display:grid;gap:14px;padding:4px 18px 20px}
.option-content .profile-section{width:100%}
.option-content .button{width:100%;margin:0}
.option-content .identity-panel{margin:0}
.option-content .identity-panel .button{width:auto}
.option-content .account-delete-option{margin:0}
.option-content .account-delete-option .button{margin-top:8px}
@media(max-width:600px){.option-content{padding:4px 16px 20px}}

#move-dialog{max-width:min(460px,calc(100vw - 28px));width:100%;padding:28px;border-radius:24px;border:1px solid #705691;background:#19152e;color:#fff;box-shadow:0 30px 100px #0009}#move-dialog::backdrop{background:#080612bb;backdrop-filter:blur(7px)}#move-dialog textarea{width:100%;margin:10px 0 20px;padding:14px;border-radius:12px;background:#100d20;color:#fff;border:1px solid #705691;font:inherit;resize:vertical}.move-note{padding:12px 16px;border-radius:14px;background:#312641;color:#fff}.extras-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}

/* Explore extends the existing ADM panels and mobile controls. */
.explore-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px;border:1px solid var(--border,#3a344e);border-radius:18px;margin:0 0 24px;background:rgba(157,119,235,.07)}
.explore-banner .help{margin:6px 0 0}.explore-banner .button-row{flex-shrink:0;flex-wrap:wrap;margin:0}
.explore-panel{max-width:760px}.explore-status{padding-bottom:12px;border-bottom:1px solid var(--border,#3a344e)}
#explore-search-form{margin:24px 0;padding-bottom:12px;border-bottom:1px solid var(--border,#3a344e)}
.explore-mode-options{border:0;padding:0;margin:0 0 22px}.explore-mode-options legend{font-weight:600;margin-bottom:10px}
.explore-mode-options label,.explore-consent label{display:flex;align-items:center;gap:10px;margin:12px 0;line-height:1.5}
.explore-mode-options input,.explore-consent input{width:20px;height:20px;flex-shrink:0;accent-color:#b591ef}
.explore-consent{padding:12px 0}.explore-attribution{margin-top:28px}.explore-panel .field{margin-bottom:18px}
@media(max-width:640px){.explore-banner{align-items:stretch;flex-direction:column}.explore-banner .button-row{width:100%}.explore-banner button{white-space:normal}.explore-panel{padding:20px}.explore-panel select{max-width:100%;text-overflow:ellipsis}}
/* A single city search with results directly beneath it. */
.explore-current{margin-bottom:12px}.explore-simple-form{margin-top:24px}.explore-search-row{display:flex;gap:8px}.explore-search-row input{min-width:0;flex:1}.explore-results{display:grid;gap:6px;max-height:260px;overflow-y:auto;scroll-margin-top:90px}.explore-city-result{width:100%;text-align:left;border:1px solid #625c80;border-radius:12px;padding:12px 14px;min-height:48px;background:#211b38;color:var(--white);font-size:16px;line-height:1.4}.explore-city-result:hover,.explore-city-result:focus-visible{border-color:#b99afa;background:#372451}.explore-distance{margin-top:20px;max-width:160px}.explore-options{border-top:1px solid var(--line);margin:24px 0 12px;padding-top:16px}.explore-options summary{cursor:pointer;font-weight:600}.explore-options .explore-consent{display:flex;align-items:center;gap:10px;margin:12px 0 0;padding:0}.explore-panel .help{font-size:14px}.explore-panel .explore-attribution{font-size:12px;margin-top:20px}.explore-location-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:0 0 14px;margin-bottom:20px;font-size:14px}.explore-location-bar span{min-width:0;overflow-wrap:anywhere}.explore-location-bar button{flex-shrink:0}
@media(max-width:800px){.grid-layout .sidebox{order:1}.topbar{background:#0b0b18}.explore-panel{padding:18px}.explore-simple-form{margin-top:18px}}

/* ADM navigation and experience refresh. Existing brand tokens are preserved. */
[hidden]{display:none!important}
:root{--nav-height:78px;--muted:#bbb7cf}
.ui-icon{width:24px;height:24px;flex:none;vertical-align:middle}
button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #bfa3ff;outline-offset:4px}
button,summary{touch-action:manipulation}
body.is-member{background:radial-gradient(ellipse at 95% 0,#30204755,transparent 45%),var(--ink)}
.topbar{height:82px;min-height:82px;padding:0 max(24px,calc((100vw - 1120px)/2));border-bottom:1px solid #ffffff14}
.brand-logo{width:142px;max-width:36vw}
#nav.signed-in{gap:8px}
#nav.signed-in button{position:relative;display:flex;gap:8px;align-items:center;justify-content:center;min-height:46px;padding:11px 18px;border-radius:14px;font-size:15px;font-weight:600}
#nav.signed-in button.active{background:#8756dd25;color:#f4eaff;box-shadow:inset 0 -2px #ad82f0}
#nav .ui-icon{width:21px;height:21px}
#nav .likes-badge{font-size:12px;padding:1px 5px;min-width:19px}
main{max-width:1120px;padding:32px 24px 64px}
.is-member main{min-height:calc(100dvh - 82px)}
.is-member>footer{display:none}
.page-heading,.section-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 24px}
.page-heading h1,.is-member .section-head h1{font-size:40px;line-height:1.16;margin:0 0 8px}
.page-heading .sub,.section-head .sub{margin:0;font-size:16px;line-height:1.5}
.heading-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.button{border-radius:14px;min-height:48px}
.button.small{min-height:44px}
.icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--white)}
.back-link{border:0;background:none;color:#ccb5f3;font-size:14px;padding:8px 0;margin:0 0 12px;min-height:40px;font-weight:600}
.panel{box-shadow:none;border-color:#ffffff1c;border-radius:22px}
.empty{max-width:600px;margin:24px auto;padding:40px 28px;background:linear-gradient(145deg,#1f1b34,var(--surface));border-color:#ffffff20}
.empty h2{font-size:32px;line-height:1.2}.empty .sub{margin:0 auto 22px}.empty .button-row{gap:12px}
.empty-icon{display:grid;place-items:center;width:64px;height:64px;border:1px solid #b689f655;border-radius:22px;background:#8c5cce20;color:#c9a3ff;margin:0 auto 22px}.empty-icon .ui-icon{width:30px;height:30px}
.discover-layout{display:grid;grid-template-columns:minmax(0,600px) minmax(220px,1fr);gap:38px;align-items:start}
.discovery-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 20px}
.location-pill{display:flex;align-items:center;gap:7px;padding:10px 13px;min-height:44px;color:#ded4f1;border:1px solid var(--line);border-radius:999px;background:#19162c;font-size:14px}
.location-pill .ui-icon{width:17px;height:17px}
.swipe-balance{position:relative;margin-left:auto;font-size:14px;color:#e0d1f4}
.swipe-balance>summary{cursor:pointer;padding:10px 14px;border-radius:999px;border:1px solid #765791;min-height:44px}
.swipe-balance>div{position:absolute;z-index:4;right:0;top:calc(100% + 8px);width:min(290px,85vw);padding:18px;border:1px solid #68537f;border-radius:18px;background:#201a33;box-shadow:0 12px 35px #0007}
.swipe-balance p{margin:0 0 12px}
.discover-card{border:1px solid #ffffff22;border-radius:26px;box-shadow:0 16px 50px #0003}
.candidate-visual{position:relative;isolation:isolate;background:#24203a}
.candidate-visual:after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#0b0b18e8);z-index:0;pointer-events:none}
.candidate-visual .profile-photo{display:block;height:420px;object-fit:cover;object-position:50% 32%}
.candidate-caption{position:absolute;bottom:0;left:0;right:0;padding:52px 24px 22px;z-index:1;text-shadow:0 2px 12px #000b}
.candidate-caption h2{font-size:36px;line-height:1.15;margin:0 0 7px}
.candidate-caption p{margin:0 0 9px;color:#eeebf4;font-size:15px}
.member-badges{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.member-badges .vip-badge,.member-badges .verified-badge,.member-badges .date-ready-badge{margin:0;transform:none}
.photo-controls{position:absolute;top:16px;right:16px;bottom:auto;margin:0;z-index:2;border:1px solid #ffffff33;background:#10101cd9;gap:10px}
.photo-controls .button{border:0;background:none;width:34px;height:34px;font-size:24px}
.decision-bar{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:12px;padding:18px 24px;border-bottom:1px solid #ffffff12}
.decision{display:flex;align-items:center;justify-content:center;gap:9px;min-height:54px;border:1px solid #565069;border-radius:18px;background:#242039;color:#f3eefb;font-size:15px;font-weight:700}
.decision.like{background:var(--grad);border:0;box-shadow:0 5px 22px #8155dc35}.decision.move{border-color:#8f69ba;color:#ddc4ff}
.decision:hover{filter:brightness(1.12)}.decision .ui-icon{width:23px;height:23px}
.candidate-details{padding:24px}.candidate-details h3{font-size:16px;font-weight:700;margin:20px 0 8px}.candidate-details>p{font-size:16px;line-height:1.65;overflow-wrap:anywhere}.candidate-details .chips{margin:0 0 15px}.candidate-details .chip{font-size:14px;padding:6px 11px;border-color:#605370;background:#ffffff04}
.compatibility-details{padding:14px 0;border-top:1px solid #ffffff18;margin-top:18px;font-size:14px;color:#c6b5e3}
.compatibility-details summary{cursor:pointer}.compatibility-details .match-reason{margin:12px 0 0}
.safety-menu{font-size:14px}.safety-menu summary{min-height:40px;display:flex;align-items:center}.safety-actions .button.small{min-height:44px;font-size:14px}
.candidate-details .swipe-help{font-size:13px;line-height:1.5;color:var(--muted);margin:16px 0 0}
.discovery-companion{position:sticky;top:120px;padding-top:30px}.discovery-companion .eyebrow{font-size:12px}.discovery-companion h2{font-size:36px;line-height:1.2}.discovery-companion .sub{font-size:16px;margin:0 0 26px}.discovery-companion .hub-link{margin-bottom:18px;padding:16px}
.profile-hub,.profile-editor,.settings-layout{max-width:850px;margin:0 auto}
.profile-overview{display:flex;align-items:center;gap:20px;padding:25px;margin-bottom:22px;border-top:3px solid #9a6ddd;background:linear-gradient(120deg,#201b35,#191628)}
.profile-overview .avatar{width:90px;height:90px;border:3px solid #9f76d480}
.profile-overview h2{font-size:32px;line-height:1.2;margin:0 0 5px;overflow-wrap:anywhere}.profile-overview .sub{margin:0 0 8px}.profile-overview>.button{margin-left:auto}
.hub-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.hub-link{display:flex;align-items:center;gap:14px;text-align:left;padding:22px;width:100%;min-width:0;min-height:104px;border:1px solid #ffffff22;border-radius:19px;background:#191729;color:var(--white)}
.hub-link:hover{border-color:#9871cb;background:#211a35}.hub-link>span:last-child{min-width:0}.hub-link strong{display:block;font-size:17px;font-weight:600;line-height:1.4}.hub-link small{display:block;color:var(--muted);font-size:14px;line-height:1.45;margin-top:4px}
.hub-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#9b69e51d;color:#c5a3fc;flex:none}
.pass-summary{display:flex;align-items:center;gap:16px;padding:22px;border:1px solid #8756dd77;border-radius:20px;background:linear-gradient(115deg,#1e213b,#2b1b37);margin-top:22px}
.pass-summary h2{font-size:18px;font-family:'DM Sans',sans-serif;line-height:1.4;margin:0 0 5px}.pass-summary p{font-size:14px;color:#d0c3e2;margin:0}.pass-summary .button{margin-left:auto;flex-shrink:0}
.paused-note{margin:0 0 20px}.paused-note p{margin:4px 0 14px}
.editor-tabs{display:flex;gap:8px;margin-bottom:18px;padding:0;flex-wrap:wrap}
.editor-tabs button{display:flex;align-items:center;gap:7px;min-height:46px;padding:10px 14px;font-size:14px;border:1px solid var(--line);border-radius:13px;color:#c8c0da;background:#181527}
.editor-tabs button.active{border-color:#b690e5;color:#fff;background:#6947a43d}.step-number{font-size:12px;background:#ffffff0d;border-radius:50%;width:22px;height:22px;display:grid;place-items:center}
.profile-form{padding:0;gap:0;background:none;border:0;box-shadow:none}
.profile-form>.profile-section{background:#171529;border:1px solid #ffffff22;border-radius:20px}
.profile-form>.profile-section>summary{pointer-events:none;cursor:default;padding:24px 24px 16px;list-style:none}
.profile-form>.profile-section>summary .profile-section-arrow{display:none}.profile-form>.profile-section>.form-grid{padding:8px 24px 24px;gap:18px}
.field label{font-size:14px;line-height:1.45}.field input,.field select,.field textarea{font-size:16px;border-color:#59516d;border-radius:12px}.field input:disabled,.field select:disabled{color:#d6d1e0;opacity:1;-webkit-text-fill-color:#d6d1e0;background:#191627}.help{line-height:1.5}
#existing-photos{margin:6px 0 12px}.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.photo-grid:empty{display:none}.photo-grid img{display:block}
.save-bar{position:sticky;bottom:0;z-index:3;padding:16px;margin:18px -2px 0;align-items:center;border:1px solid #76608e77;border-radius:18px;background:#1e1935f5;box-shadow:0 -6px 26px #0003;backdrop-filter:blur(12px)}
.save-status{flex:1;min-width:130px;margin:0}.save-bar .button{flex-shrink:0}
.settings-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
.settings-group{padding:24px;background:#171529;border:1px solid #ffffff22;border-radius:20px;min-width:0}.settings-group h2{font-size:18px;font-weight:600;margin:0 0 18px;font-family:'DM Sans',sans-serif}.settings-group .hub-link{padding:16px;min-height:88px}.settings-group #options-content{padding:0;gap:12px}.settings-group .profile-section{border-radius:15px}.settings-group .profile-section>summary{padding:16px}.settings-group .profile-section>summary strong{font-size:16px}.settings-group .profile-section>summary small{font-size:14px}.settings-group .option-content{padding:0 16px 18px}
.settings-group .notification-panel,.settings-group .notification-options{margin:0;padding:0;box-shadow:none;border:0;background:none}.notification-prompt{align-items:flex-start}.notification-prompt h2{font-size:18px;margin-bottom:8px}.notification-prompt .notification-icon{display:none}.notification-prompt p{font-size:15px}.notification-options details{background:transparent;border:0}.notification-options summary{padding:0 0 12px;font-size:16px}.notification-options-content{padding:0}.settings-group .install-guide{margin-top:18px;padding:16px}.settings-group .install-guide>strong{font-size:16px}
.help-links{display:grid}.help-links a{padding:13px 0;text-decoration:none;font-size:15px;border-bottom:1px solid #ffffff16;line-height:1.45}.help-links a:first-child{padding-top:0}.help-links a:last-child{border:0}.help-links a:hover{color:#d4b1ff}.help-links a span{display:block;font-size:13px;color:var(--muted);margin-top:4px}
.settings-group.account-actions{display:flex;flex-direction:column;align-items:stretch;margin:0;gap:12px}.settings-group.account-actions h2,.settings-group.account-actions p{margin:0}.delete-option{margin-top:8px;border-top:1px solid #ffffff16;padding-top:10px}.delete-option summary{font-size:14px;cursor:pointer;color:#e2b1c0;padding:8px 0}.delete-option p{padding:10px 0}
.chat-list{max-width:780px;margin:auto}.list-label{font-size:14px;color:var(--muted);margin-bottom:15px}.match-row{padding:20px;gap:16px;border-color:#ffffff22;margin-bottom:12px;border-radius:18px}.match-text{flex:1;min-width:0}.match-text strong{font-size:18px;display:block;overflow-wrap:anywhere}.match-text .sub{font-size:14px;display:block;margin:5px 0 0}.match-text .member-badges{margin-top:4px}.match-row>.ui-icon{color:#b99afa}
.chat-page{max-width:840px;margin:auto}.chat-heading{display:flex;align-items:center;gap:12px;margin-bottom:16px}.chat-heading h1{font-family:'DM Sans',sans-serif;font-size:22px;line-height:1.3;margin:0 0 5px;overflow-wrap:anywhere}.chat-heading .avatar{width:48px;height:48px}.chat-heading>div{min-width:0}.chat-menu{margin-left:auto;position:relative;font-size:14px}.chat-menu summary{cursor:pointer;min-height:44px;display:flex;align-items:center;padding:8px}.chat-menu>div{position:absolute;right:0;top:100%;z-index:5;display:grid;gap:8px;min-width:180px;background:var(--surface);padding:12px;border:1px solid var(--line);border-radius:14px}
.conversation{height:calc(100dvh - 245px);min-height:460px;max-height:820px;border:1px solid #ffffff22;background:#151324;border-radius:22px}.chat-profile{border-bottom:1px solid #ffffff16;font-size:14px;color:#c8bae1;flex-shrink:0}.chat-profile summary{padding:14px 20px;cursor:pointer;min-height:48px}.chat-profile>div{padding:0 20px 18px;max-height:240px;overflow:auto;color:var(--white);font-size:15px}.chat-profile>div>p{margin:0 0 10px}.messages{min-height:100px;overscroll-behavior:contain;background:radial-gradient(ellipse at 20% 10%,#7650a70d,transparent 65%)}.bubble{font-size:16px;line-height:1.55}.bubble.mine{background:#7047bc}.compose{padding:14px;background:#201a31;flex-shrink:0;align-items:center}.compose input{min-height:46px;font-size:16px;border-radius:14px;background:#12101f}.compose .button{min-height:46px;border-radius:13px}.chat-extras{flex-shrink:0;border-top:1px solid #ffffff16}.chat-extras>summary{padding:12px 18px;font-size:14px;color:#ceb4f3;cursor:pointer;min-height:44px}.chat-extras>div{max-height:240px;overflow:auto}.chat-tools{padding:12px;gap:8px}.chat-tools select{min-height:44px;font-size:16px}.chat-starters button{font-size:14px}.chat-starters{padding:12px}.chat-starters .help{font-size:14px}
.extras-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.extra-card{border-color:#ffffff22;padding:26px}.extra-card h2{font-family:'DM Sans',sans-serif;font-size:22px}.extra-card p{font-size:16px;line-height:1.55}.extra-card .help{font-size:14px}.extra-card .extra-price{font-size:32px}.pass-card{grid-column:1/-1;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:10px 20px;background:linear-gradient(120deg,#202340,#33203e);border-color:#9d77ce}.pass-card .extra-symbol{grid-row:1/5;align-self:start;color:#d5b7ff}.pass-card h2{grid-column:2}.pass-card>p:not(.extra-price){grid-column:2;max-width:66ch}.pass-card .extra-price{grid-column:3;grid-row:1/3;margin:0}.pass-card .button{grid-column:3;grid-row:3/5;width:auto;min-width:150px}.pass-card .help{min-height:0}.pass-card>p.help{margin:0}
.likes-list{margin:0 auto 18px;max-width:800px}.like-card{padding:24px;border-color:#ffffff22}.like-card .avatar{width:80px;height:80px}.like-card .button{margin-top:6px}.like-card h2{font-size:23px;line-height:1.3}.likes-locked{margin:20px auto}.likes-locked .sub{font-size:16px}
.toast-show{bottom:30px;z-index:40}
.auth-panel h1{font-size:36px!important}.auth-panel form>.button{width:100%}.auth-panel{padding:32px}.welcome{gap:40px;min-height:calc(100dvh - 180px)}.welcome h1{font-size:clamp(40px,4.8vw,62px)}.welcome .sub{font-size:18px}.welcome .hero-art{min-height:440px}.welcome .button-row .button{min-width:140px}.founding-offer{padding:16px 18px}.founding-offer strong{font-size:17px}.founding-offer span{font-size:14px}
@media(max-width:800px){
 :root{--nav-height:76px}
 .topbar{height:66px;min-height:66px;padding:0 18px}.brand-logo{width:126px}.is-member main{min-height:calc(100dvh - 66px);padding:24px 18px calc(100px + env(safe-area-inset-bottom))}
 .topbar #nav.signed-in{position:fixed;inset:auto 0 0;z-index:20;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));border-top:1px solid #77638c55;background:#12101fef;box-shadow:0 -6px 25px #0004;backdrop-filter:blur(18px)}
 #nav.signed-in button{min-height:56px;display:flex;flex-direction:column;gap:4px;padding:6px 3px;font-size:12px;font-weight:600;border-radius:14px}
 #nav .ui-icon{width:22px;height:22px}#nav.signed-in button.active{background:#8756dd26;box-shadow:none;color:#e1caff}#nav .likes-badge{position:absolute;top:3px;left:calc(50% + 5px);font-size:12px;min-width:19px;border:2px solid #191327}
 .page-heading,.section-head{align-items:center;flex-direction:row;gap:12px;margin-bottom:20px}.page-heading h1,.is-member .section-head h1{font-size:32px;margin-bottom:6px}.page-heading .sub,.section-head .sub{font-size:15px}.heading-actions .button{padding:10px 13px;font-size:14px}.heading-actions .ui-icon{width:18px;height:18px}
 .discover-layout{grid-template-columns:minmax(0,1fr);gap:16px;max-width:600px;margin:auto}.discovery-companion{position:static;padding:0}.discovery-companion>.eyebrow,.discovery-companion>h2,.discovery-companion>.sub,.discovery-companion>.button{display:none}.discovery-companion .hub-link{margin:0}.discovery-toolbar{max-width:600px;margin:0 auto 16px;gap:8px}.location-pill,.swipe-balance{font-size:13px}.candidate-visual .profile-photo{height:clamp(300px,49dvh,480px)}.candidate-caption{padding:45px 20px 20px}.candidate-caption h2{font-size:32px}.candidate-details{padding:20px}.decision-bar{gap:10px;padding:16px 18px}.decision{border-radius:16px;min-height:52px}.discover-card{border-radius:22px}
 .profile-overview{gap:14px;padding:20px}.profile-overview .avatar{width:72px;height:72px}.profile-overview h2{font-size:28px}.profile-overview>.button{display:none}.profile-overview .sub{font-size:14px}.hub-grid{grid-template-columns:1fr}.hub-link{min-height:88px;padding:19px}.hub-link strong{font-size:16px}.hub-link small{font-size:14px}.pass-summary{flex-wrap:wrap;padding:20px;gap:12px}.pass-summary>div{flex:1;min-width:180px}.pass-summary .button{margin:4px 0 0;width:100%}.date-ready-setting{margin:18px 0}
 .settings-layout{grid-template-columns:1fr;gap:16px}.settings-group{padding:20px}.settings-group.account-actions .button{width:100%;min-height:48px}
 .editor-tabs{gap:6px;flex-wrap:nowrap}.editor-tabs button{flex:1;justify-content:center;padding:9px 8px;font-size:14px;gap:5px}.step-number{width:20px;height:20px}.profile-form>.profile-section>summary{padding:20px 18px 12px}.profile-form>.profile-section>.form-grid{padding:8px 18px 20px;gap:14px}.profile-form>.profile-section>summary strong{font-size:18px}.profile-form>.profile-section>summary small{font-size:14px}
 .save-bar{bottom:calc(var(--nav-height) + env(safe-area-inset-bottom));padding:12px;gap:10px}.save-status{flex-basis:100%;font-size:13px}.save-bar .button{flex:1;font-size:14px;padding:10px 12px}.save-bar #next-profile-section{flex:1}.save-bar .button[hidden]{display:none}
 .chat-heading{gap:10px;margin-bottom:14px}.chat-heading h1{font-size:20px}.chat-heading .icon-button{width:40px;min-width:40px}.chat-heading .avatar{height:42px;width:42px}.chat-heading .verified-badge,.chat-heading .vip-badge{font-size:12px}.chat-menu summary{font-size:13px;padding:6px}.is-member[data-view="chat"] main{padding-top:16px;padding-bottom:calc(90px + env(safe-area-inset-bottom))}.conversation{height:calc(100dvh - 246px - env(safe-area-inset-bottom));min-height:300px;max-height:none;border-radius:18px}.messages{padding:16px;min-height:80px}.bubble{max-width:88%;font-size:16px}.compose{padding:10px;gap:8px}.compose .button{padding:10px 15px}.chat-extras>div{max-height:180px}.chat-profile>div{max-height:160px}.match-row{padding:17px;gap:13px}.match-row .avatar{width:58px;height:58px}
 .extras-grid{grid-template-columns:1fr;gap:16px}.extra-card{padding:24px}.pass-card{display:flex;gap:12px;align-items:flex-start}.pass-card .button{width:100%}.pass-card .extra-symbol{display:none}.pass-card .extra-price{font-size:32px}.extra-card .help{min-height:0}
 .empty{margin:18px auto;padding:34px 22px}.empty h2{font-size:28px}.empty .button{width:100%}.like-card{padding:18px;gap:14px}.like-card .avatar{width:64px;height:64px}.like-card>div{min-width:0}.like-card h2{font-size:21px}.toast-show{bottom:calc(94px + env(safe-area-inset-bottom))}
 .welcome{gap:26px;min-height:auto}.welcome .hero-art{order:0;min-height:260px}.welcome h1{font-size:42px}.welcome .sub{font-size:17px}.auth-panel{padding:25px;margin:12px auto}.auth-panel h1{font-size:32px!important}.install-guide{font-size:15px}
}
@media(max-width:380px){.is-member main{padding-left:14px;padding-right:14px}.page-heading h1{font-size:29px}.heading-actions .button{padding:9px 10px}.editor-tabs button{font-size:13px}.step-number{display:none}.decision{gap:6px}.decision-bar{padding:14px;gap:8px}.candidate-caption h2{font-size:29px}.brand-logo{width:120px}.profile-overview{padding:18px}.welcome h1{font-size:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Discovery widening */
.discovery-search-choice{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 18px;font-size:14px;color:var(--muted,#c2b7d9)}
.discovery-preference-note{padding:12px 18px;background:#28213b;color:#eee5ff;font-size:14px;line-height:1.5}
.discovery-widen-dialog{box-sizing:border-box;width:min(520px,calc(100% - 32px));max-height:85dvh;overflow:auto;padding:24px;background:#171325;color:#faf6ff;border:1px solid #514565;border-radius:22px}
.discovery-widen-dialog::backdrop{background:#080611b8}.discovery-widen-dialog label{display:flex;gap:12px;align-items:flex-start;line-height:1.5;margin-top:18px}.discovery-widen-dialog input{width:20px;height:20px;flex:0 0 20px;accent-color:#a17cf3}.discovery-widen-dialog p{line-height:1.6}.discovery-widen-dialog h2{margin-top:0}

.field label:has(input[name^="discovery_"]){display:flex;align-items:flex-start;gap:12px;line-height:1.5}.field input[name^="discovery_"]{width:20px;height:20px;min-height:20px;flex:0 0 20px;margin:2px 0 0;padding:0;accent-color:#a17cf3}

/* Compact profile cards and a chat viewport with a stationary heading/composer. */
.like-profile-details{margin-top:14px}.like-profile-details>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:#cbb4ee;font-size:14px}.like-profile-details p{margin:8px 0 12px}
.message-long summary{cursor:pointer;list-style:none}.message-expand{display:block;font-size:14px;text-decoration:underline;padding-top:8px;min-height:36px}.message-long[open] .message-preview{display:none}.message-long[open] .message-expand{font-size:0}.message-long[open] .message-expand:after{content:'Show less';font-size:14px}.message-long>div{white-space:pre-wrap}
@media(max-width:800px){
 .is-member main{padding-top:16px}.page-heading,.section-head{margin-bottom:14px}.discovery-toolbar{margin-bottom:10px}.discovery-search-choice{margin-bottom:12px}
 .candidate-visual .profile-photo{height:clamp(240px,36dvh,340px)}.candidate-caption{padding:38px 16px 14px}.candidate-caption h2{font-size:28px}.candidate-details{padding:16px}.decision-bar{padding:12px;gap:8px}.decision{min-height:48px}
 .like-card{padding:16px;gap:14px}.like-card .avatar{width:80px;height:80px}.like-card>div{flex:1}.like-card .button[data-like-id]{width:100%;min-height:46px;margin:4px 0}.like-card h2{font-size:20px}.like-card .sub{font-size:14px;margin-bottom:8px}.like-card .chips{gap:6px}.like-card .chip{font-size:13px}
 .is-member[data-view="chat"]{overflow:hidden}
 .is-member[data-view="chat"] .topbar{position:fixed;top:0;left:0;right:0}
 .is-member[data-view="chat"] main{position:fixed;top:calc(66px + var(--chat-viewport-top,0px));left:0;right:0;height:calc(var(--chat-viewport-height,100dvh) - 66px - 76px - env(safe-area-inset-bottom));min-height:0;padding:10px 12px;overflow:hidden}
 .chat-page{height:100%;min-height:0;display:flex;flex-direction:column}.chat-heading{flex-shrink:0;margin:0 0 10px;gap:8px}.chat-heading h1{font-size:18px;margin-bottom:3px}.chat-heading .avatar{width:36px;height:36px}.chat-heading .member-badges{gap:4px;flex-wrap:wrap}.chat-heading .vip-badge,.chat-heading .verified-badge{font-size:11px;padding:2px 6px}.chat-menu{flex-shrink:0}
 .chat-page>.help{flex-shrink:0;margin:0 0 8px;font-size:13px}.chat-page .conversation{flex:1;min-height:0;height:auto;max-height:none;border-radius:16px}.messages{flex:1;min-height:0;padding:12px;overflow-y:auto}.bubble{font-size:16px;line-height:1.45;padding:10px 12px;max-width:90%}.compose{padding:9px;gap:7px}.compose input{min-height:44px}.compose .button{min-height:44px;padding:9px 13px}.chat-profile summary{padding:8px 14px;min-height:40px}.chat-extras>summary{padding:8px 14px;min-height:40px}.chat-profile>div,.chat-extras>div{max-height:120px}
 .is-member[data-view="chat"].chat-keyboard .topbar{visibility:hidden}.is-member[data-view="chat"].chat-keyboard main{top:var(--chat-viewport-top,0px);height:var(--chat-viewport-height,100dvh);padding-top:6px;padding-bottom:6px}
}

/* Clear, touch-accessible account and identity feedback. */
button.verified-badge{font:inherit;font-size:12px;cursor:pointer;min-height:32px}button.verified-badge:focus-visible{outline:2px solid #fff;outline-offset:3px}
.account-shortcuts{display:flex;gap:10px;margin:0 0 18px}.account-shortcuts .button:first-child{flex:1}
.trust-dialog{width:min(460px,calc(100% - 28px));max-height:85dvh;overflow:auto;background:var(--surface);color:var(--white);border:1px solid var(--line);border-radius:22px;padding:24px}.trust-dialog::backdrop{background:#070511bb}.trust-dialog h2{font-size:26px}.trust-dialog form{margin-top:20px}.trust-dialog .button{width:100%}

/* ADM's founder-led invitation, shared with the native welcome. */
.welcome-benefit{font-size:18px;line-height:1.6;max-width:40ch;margin:0 0 24px}.welcome-eligibility{margin:14px 0}.welcome-how{display:inline-block;padding:10px 0;color:#d3b7ff;text-underline-offset:4px}.welcome-steps{padding:42px 0;scroll-margin-top:90px}.welcome-steps h2{font-size:36px;max-width:24ch}.welcome-step-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:28px}.welcome-step-grid article{padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:20px}.welcome-step-grid article>span{color:#b69aec;font-size:14px}.welcome-step-grid h3{font-size:20px;margin:12px 0}.welcome-step-grid p{color:var(--muted);margin:0}.founder-story{display:grid;grid-template-columns:1fr 1.3fr;gap:36px;margin:16px 0 28px}.founder-story h2{font-size:36px}.founder-story p{line-height:1.7}.founder-signature{color:#d3b7ff;font-weight:600;margin-bottom:0}.welcome-offer{margin:24px 0}.welcome-final{text-align:center;padding:32px 0}.welcome-final h2{font-size:34px}.welcome-final .help{margin:14px 0}.welcome-final .home-screen-guide{margin-left:auto;margin-right:auto}
@media(max-width:800px){.welcome{min-height:0;gap:24px}.welcome h1{font-size:52px}.welcome .hero-art{min-height:260px}.welcome-benefit{font-size:16px;margin-bottom:20px}.welcome-steps{padding:30px 0}.welcome-steps h2,.founder-story h2,.welcome-final h2{font-size:30px}.welcome-step-grid{grid-template-columns:1fr;gap:12px;margin-top:20px}.welcome-step-grid article{padding:20px}.founder-story{grid-template-columns:1fr;gap:10px;padding:24px}.founder-story .eyebrow{font-size:11px}.welcome-final{padding:24px 0}.welcome-offer{padding:20px}}

.chat-notification-reminder{position:fixed;left:50%;transform:translateX(-50%);width:calc(100% - 32px);box-sizing:border-box;bottom:18px;display:flex;align-items:center;gap:8px;margin:24px auto 0;max-width:560px;padding:10px;border:1px solid #aa7ce166;border-radius:24px;background:#211c32;box-shadow:0 8px 32px #0006;z-index:10}
.notification-reminder-open{display:flex;align-items:center;gap:12px;flex:1;min-width:0;text-align:left;background:none;border:0;color:#fff;font:inherit;padding:4px;cursor:pointer}.notification-reminder-open strong{display:block;font-size:16px}.notification-reminder-open span span{display:block;font-size:14px;color:#d7cfe3;margin-top:3px}.reminder-bell{display:grid;place-items:center;flex-shrink:0;width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,#5a8dff,#af69dd,#f27d94)}.reminder-dismiss{border:0;background:none;color:#e3dbea;min-width:44px;min-height:44px;font-size:26px;cursor:pointer}.notification-help-steps{padding-left:24px}.notification-help-steps li{margin:14px 0;line-height:1.5}
@media(max-width:760px){.chat-notification-reminder{bottom:calc(88px + env(safe-area-inset-bottom))}}

.is-member[data-view="matches"] main{padding-bottom:calc(210px + env(safe-area-inset-bottom))}
/* Date Spots: approved midnight / gradient visual language. */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.free-badge,.listing-label{display:inline-block;font-size:11px;letter-spacing:.04em;background:#39304e;color:#e5d6ff;border-radius:99px;padding:6px 12px}.spots-shell{max-width:1040px;margin:auto}.spots-shell h1{font-size:48px}.spot-search{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:30px;padding:8px 14px;background:var(--surface)}.spot-search label{display:flex}.spot-search svg{width:20px}.spot-search input{background:none;border:0;color:var(--white);min-width:0;flex:1;padding:7px}.spot-filters{display:flex;gap:8px;overflow:auto;margin:22px 0}.spot-filters button{padding:10px 16px;color:var(--white);border:1px solid var(--line);border-radius:30px;background:var(--surface);white-space:nowrap}.spot-filters button.active{background:var(--grad);border-color:transparent}.spot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:24px}.spot-card{position:relative;border-radius:22px;border:1px solid var(--line);overflow:hidden;background:var(--surface)}.spot-open{display:block;padding:0;width:100%;border:0;background:none;text-align:left;color:var(--white)}.spot-card-copy{padding:20px}.spot-card-copy h2{font-size:27px;margin-bottom:8px}.spot-card-copy p{margin:0 0 8px;color:#d3c4ea}.spot-card-copy small{color:var(--muted)}.spot-save{position:absolute;top:14px;right:14px;border-radius:50%;background:#0b0b18bb;color:white;border:1px solid #ffffff88;width:42px;height:42px;display:grid;place-items:center}.spot-save svg{width:22px}.spot-save.saved{color:#fc7cc5;background:#372451}.spot-art{position:relative;overflow:hidden;aspect-ratio:365/240;background:#161629}.spot-art img{position:absolute;width:420.82%;max-width:none;height:auto;left:-160.27%;top:-97.9%}.spot-art.coffee{aspect-ratio:365/160}.spot-art.coffee img{width:416.26%;left:-29.8%;top:-245%}.illustration-label{display:block;padding:5px 12px;font-size:10px;color:#d7cee8;background:#211d30;letter-spacing:.02em}.venue-detail{max-width:660px;margin:auto}.venue-hero{position:relative;border-radius:24px;overflow:hidden}.venue-copy{padding:25px 4px}.venue-copy h1{font-size:45px;margin:14px 0}.venue-copy svg{width:18px;vertical-align:middle}.venue-description{margin:24px 0 15px;line-height:1.65}.venue-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:26px 0}.venue-actions .primary{grid-column:1/-1}.campaign-card{padding:24px;border:1px solid var(--line);border-radius:24px;background:var(--surface)}.campaign-card img{width:100%;border-radius:18px;margin:20px 0}.campaign-card h2{margin-top:20px}.campaign-card .button,.campaign-card .link-button{width:100%;margin-top:12px}.date-inspiration{border-radius:28px;overflow:hidden;box-shadow:0 20px 70px #8155dc28}.date-inspiration>span{display:block;padding:9px 16px;background:var(--surface);font-size:11px;color:var(--muted)}.date-inspiration .spot-art{aspect-ratio:365/280}.date-inspiration .spot-art img{top:-83.9%}nav.signed-in{gap:4px}nav.signed-in button{font-size:12px}.spot-card button:focus-visible,.spot-filters button:focus-visible{outline:3px solid #72cfff;outline-offset:-3px}
@media(max-width:650px){.spot-grid{grid-template-columns:1fr;gap:18px}.spots-shell h1{font-size:40px}.venue-copy h1{font-size:36px}.spots-shell .page-heading{gap:8px}.spots-shell .page-heading .button{padding:8px 11px;font-size:11px}body.is-member main{padding-bottom:110px}.topbar nav.signed-in{grid-template-columns:repeat(5,1fr)}.spot-search{padding:7px 10px}.spot-search .button{font-size:12px;padding:6px 12px}.venue-actions{grid-template-columns:1fr}.spot-card-copy h2{font-size:28px}.date-inspiration{margin-top:20px}}

/* Exact approved artwork, cropped by layout without fabricated venue photography. */
.spot-art.coffee{aspect-ratio:365/100}.spot-art.coffee img{width:420.82%;left:-30.14%;top:-392%}.date-inspiration .spot-art{aspect-ratio:365/240}.date-inspiration .spot-art img{top:-97.9%}

/* Two distinct experiences under the same ADM brand. */
.header-home{display:flex;align-items:center;gap:16px}.home-return{color:var(--muted);font-size:12px;text-decoration:none;white-space:nowrap}.home-return:hover{color:white}.area-caption{font-size:12px;color:#d4c2ee;letter-spacing:.03em}.choice-home{max-width:1060px;margin:auto}.choice-heading{text-align:center;margin:0 auto 34px}.choice-heading h1{font-size:clamp(40px,5vw,64px);margin-bottom:18px}.choice-heading .sub{margin:0 auto;font-size:18px}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.choice-card{overflow:hidden;border:1px solid #ffffff22;border-radius:28px;background:linear-gradient(160deg,#201c33,#11101f);box-shadow:0 18px 55px #0003}.choice-art{height:210px;overflow:hidden;background:#151225}.choice-art .spot-art{height:188px;width:100%;aspect-ratio:auto}.choice-art .spot-art img{width:420.82%;left:-160.27%;top:-64.38cqw}.places-choice .choice-art{container-type:inline-size}.dating-art{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;background:radial-gradient(ellipse at 30% 80%,#00b8ff66,transparent 60%),radial-gradient(ellipse at 75% 25%,#fc21b988,transparent 60%),#1b1336}.dating-art .ui-icon{width:104px;height:104px;stroke:#f8e4ff;stroke-width:1.2;filter:drop-shadow(0 0 20px #f37ada88)}.dating-art span{font-family:'Playfair Display',Georgia,serif;color:#eee0fc;font-size:22px}.choice-copy{padding:28px}.choice-copy h2{font-size:34px}.choice-copy>p:not(.eyebrow){color:var(--muted);min-height:52px}.choice-copy .eyebrow{font-size:11px;margin-bottom:10px}.choice-copy .button{width:100%;justify-content:space-between}.choice-copy small{display:block;margin-top:15px;text-align:center;color:var(--muted);font-size:12px}.choice-footer{text-align:center;margin:30px auto 0;color:#d8cce8}.choice-footer p{margin-bottom:18px}.choice-footer label{font-size:13px;color:var(--muted);display:flex;gap:9px;justify-content:center;align-items:center}.choice-footer input{accent-color:#c650f6;width:17px;height:17px}.choice-footer small{display:block;color:var(--muted);font-size:11px;margin-top:9px}.places-assurance{padding:18px 0;color:#d9c7ee;font-size:14px}.idea-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.idea-grid h2{font-size:29px;margin-top:18px}.idea-grid p{color:var(--muted)}.idea-grid>.panel{padding:25px}.idea-grid .ui-icon{width:30px;height:30px;color:#cd90fb}body[data-area="home"] main{padding-bottom:44px}body[data-area="home"] .home-return{display:none}
@media(max-width:700px){.choice-grid{grid-template-columns:1fr;gap:22px}.choice-heading h1{font-size:43px}.choice-art{height:175px}.choice-art .spot-art{height:153px}.choice-copy{padding:23px}.choice-copy h2{font-size:32px}.choice-copy>p:not(.eyebrow){min-height:0}.header-home{gap:10px;flex-wrap:wrap}.area-caption{display:none}.home-return{font-size:11px}.topbar nav.signed-in{grid-template-columns:repeat(4,1fr)}.topbar nav.places-nav{grid-template-columns:repeat(3,1fr)}.idea-grid{grid-template-columns:1fr}body[data-area="home"] main{padding-top:30px}.choice-footer p{font-size:14px}}

/* A single-screen front door, with equal full-tile tap targets on mobile too. */
body[data-area="home"] main{height:calc(100svh - 74px);min-height:510px;max-width:1020px;padding:20px 20px 16px}.compact-home{height:100%;display:grid;grid-template-rows:auto auto minmax(280px,1fr) auto;gap:16px}.compact-home .choice-heading{margin:0;text-align:center}.compact-home .choice-heading h1{font-size:clamp(29px,4.8vw,48px);line-height:1.08;margin:0 0 9px}.compact-home .choice-heading .sub{font-size:clamp(13px,2vw,17px);margin:0 auto}.remember-choice{display:flex;align-items:center;justify-content:center;gap:9px;font-size:12px;color:var(--muted);min-height:28px}.remember-choice input{width:18px;height:18px;accent-color:#ba59ed;margin:0}.compact-home .choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;min-height:0;max-height:490px;width:100%;align-self:stretch}.route-tile{padding:0;text-align:left;color:var(--white);display:grid;grid-template-rows:minmax(90px,1fr) auto;min-width:0;min-height:0;transition:transform .15s,border-color .15s}.route-tile:hover{border-color:#d898ff;transform:translateY(-2px)}.route-tile:focus-visible{outline:3px solid #80d9ff;outline-offset:3px}.route-tile:active{transform:scale(.98)}.compact-home .choice-art{display:block;height:auto;min-height:0;position:relative;overflow:hidden}.compact-home .dating-art{display:flex}.compact-home .dating-art .ui-icon{width:clamp(64px,10vw,110px);height:clamp(64px,10vw,110px)}.compact-home .choice-art .spot-art{display:block;position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}.compact-home .choice-art .spot-art img{width:420.82%;left:-160.27%;top:-64.38cqw}.compact-home .illustration-label{position:absolute;bottom:0;left:0;right:0;background:#171020bb;font-size:9px;padding:4px 9px}.compact-home .choice-copy{display:block;padding:20px}.choice-title{display:block;font-size:clamp(22px,3.3vw,35px);line-height:1.06;min-height:2.12em;margin-bottom:12px}.choice-description{display:block;font-size:14px;line-height:1.35;min-height:2.7em;color:var(--muted);margin-bottom:14px}.tile-cta{display:flex;align-items:center;justify-content:space-between;gap:4px;background:var(--grad);border-radius:99px;padding:12px 14px;font-size:13px;font-weight:700}.tile-note{display:block;color:var(--muted);font-size:11px;margin-top:13px;min-height:2.6em;line-height:1.3;text-align:center}.choice-bottom{margin:0;text-align:center;color:var(--muted);font-size:12px}
@media(max-width:700px){body[data-area="home"] main{padding:16px 14px 12px}.compact-home{gap:12px}.compact-home .choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.compact-home .choice-copy{padding:15px 12px}.route-tile{border-radius:23px}.choice-title{font-size:clamp(21px,5.7vw,32px);margin-bottom:10px}.choice-description{font-size:12px;min-height:2.7em;margin-bottom:12px}.tile-cta{font-size:11px;padding:11px 10px}.tile-note{font-size:10px;margin-top:10px}.compact-home .choice-heading h1{font-size:clamp(28px,8vw,42px)}.remember-choice{font-size:11px}}
@media(max-width:480px){body[data-area="home"] main{height:calc(100svh - 64px)}}
@media(max-height:650px){body[data-area="home"] main{padding-top:10px;min-height:470px}.compact-home{gap:8px}.compact-home .choice-heading h1{font-size:28px}.compact-home .choice-heading .sub{font-size:12px}.compact-home .choice-copy{padding:12px}.choice-title{font-size:23px;margin-bottom:7px}.choice-description{margin-bottom:8px}.tile-note{margin-top:8px}.compact-home .choice-grid{max-height:none}}
@media(prefers-reduced-motion:reduce){.route-tile{transition:none}.route-tile:hover,.route-tile:active{transform:none}}

/* Keep the illustration crop inside the original photo at every tile height. */
.compact-home .places-choice .choice-art{container-type:size}.compact-home .choice-art .spot-art img{width:max(420.82cqw,640cqh);left:min(-160.27cqw,-243.75cqh);top:min(-64.38cqw,-97.92cqh)}

/* Nearby venue search */
.spot-location-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0}.spot-location-tools .button{min-height:44px}.spot-location-tools label{display:flex;align-items:center;gap:8px;color:var(--muted,#aaa)}.spot-location-tools select{font:inherit;color:#fff;background:#201b32;border:1px solid #524369;border-radius:12px;padding:10px;min-height:44px}.spot-distance{color:#c4a5ff!important;font-weight:600}.location-privacy{font-size:12px}.spot-location-tools [hidden]{display:none!important}@media(max-width:420px){.spot-location-tools{gap:8px}.spot-location-tools .button{font-size:14px;padding:10px 12px}.spot-location-tools label{font-size:13px}}

/* Community venue stars — Karen’s idea. Hearts remain private bookmarks. */
.spot-star{position:absolute;top:14px;left:14px;z-index:2;display:flex;align-items:center;gap:7px;min-width:66px;min-height:44px;padding:7px 12px;border:1px solid #ffffff88;border-radius:24px;background:#11101ee8;color:#fff;font:600 14px inherit;box-shadow:0 3px 12px #0003;cursor:pointer}.spot-star>span:first-child{font-size:27px;line-height:1}.spot-star.starred{color:#ffd66b;border-color:#e6bc56;background:#302314ee}.spot-star:disabled{opacity:.65;cursor:wait}.spot-star:focus-visible{outline:3px solid #72cfff;outline-offset:3px}.star-count{font-size:14px;font-variant-numeric:tabular-nums}

/* Ten businesses per search page, including narrow mobile screens. */
.spot-results-count{margin:20px 0 12px;color:var(--muted,#666);scroll-margin-top:90px}.spot-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin:24px 0}.spot-pagination[hidden]{display:none}.spot-pagination button{min-width:40px;min-height:44px}.spot-pagination [aria-current="page"]{background:#7358d5;color:#fff;border-color:#7358d5}.spot-pagination button:disabled{opacity:.4;cursor:default}.page-gap{padding:0 3px}

/* Licensed place photography; credits remain outside card buttons. */
.spot-art.venue-photo{aspect-ratio:365/240;background:#19182b}
.spot-art.venue-photo img{position:absolute;inset:0;width:100%;height:100%;max-width:100%;object-fit:cover}
.spot-art.venue-photo img[hidden]{display:none}
.photo-unavailable:not([hidden]){display:flex;height:100%;align-items:center;justify-content:center;color:var(--muted);font-size:14px}
.venue-photo-credit{font-size:11px;line-height:1.55;color:#d3c4ea;padding:10px 16px;margin:0;background:#211d30;overflow-wrap:anywhere}
.venue-photo-credit a{color:#e8d8ff;text-decoration:underline;text-underline-offset:2px}
.venue-photo-credit span{display:block;color:var(--muted);margin-top:3px}
.venue-detail>.venue-photo-credit{border-radius:0 0 12px 12px;margin-top:4px}

/* Pearl front door — two equally prominent, independently tappable routes. */
body[data-area="home"]{color-scheme:light;color:#090d33;background:radial-gradient(ellipse at 5% 30%,#edf7ff 0,transparent 52%),radial-gradient(ellipse at 100% 55%,#fff0f9 0,transparent 58%),#fcfbff}
body[data-area="home"] .topbar{display:none}
body[data-area="home"] main{height:auto;min-height:0;max-width:900px;padding:24px 22px 18px;margin:0 auto}
body[data-area="home"]>footer{color:#625f7e;padding:12px 20px 28px!important;margin:0 auto!important;font-size:11px!important}
.pearl-home{width:100%;display:flex;flex-direction:column;align-items:center;gap:20px}
.pearl-logo{display:block;width:180px;height:96px;object-fit:contain}
.pearl-heading{text-align:center;width:100%}
.pearl-heading h1{margin:0;color:#070d32;font:900 clamp(32px,5.7vw,58px)/1.06 'DM Sans',sans-serif;letter-spacing:-.055em}
.pearl-heading p{margin:17px 0 4px;color:#626080;font-size:clamp(16px,2.9vw,26px);line-height:1.3}
.pearl-choices{display:grid;gap:18px;width:100%}
.pearl-card{--card-base:#edf0ff;position:relative;isolation:isolate;overflow:hidden;display:block;width:100%;min-height:248px;padding:27px 32px;border:1px solid #fff;border-radius:32px;text-align:left;background:var(--card-base);color:#080d32;box-shadow:0 5px 18px #393e7912,0 1px 3px #494e6910;transition:transform .18s,box-shadow .18s}
.pearl-places{--card-base:#fff0f2}
.pearl-card .pearl-photo{position:absolute;z-index:0;top:0;right:0;height:100%;width:60%;object-fit:cover;object-position:55% center}
.pearl-card::after{content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(90deg,var(--card-base) 0%,var(--card-base) 39%,transparent 65%);pointer-events:none}
.pearl-copy{z-index:3;display:flex;align-items:flex-start;flex-direction:column;position:relative;width:59%}
.pearl-title{font:800 clamp(26px,4vw,43px)/1.1 'DM Sans',sans-serif;letter-spacing:-.05em;display:block;margin:0 0 8px}
.pearl-dating .pearl-title{font-size:clamp(34px,5vw,52px)}
.pearl-description{font-size:clamp(15px,2.3vw,23px);line-height:1.3;color:#555574}
.pearl-cta{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 23px;min-height:52px;border-radius:50px;background:linear-gradient(110deg,#0750ef,#7736f2);box-shadow:inset 0 2px 3px #ffffff66,0 5px 14px #4b49ed24;color:#fff;font-size:clamp(15px,2.3vw,22px);font-weight:700;margin:21px 0 14px;white-space:nowrap}
.pearl-places .pearl-cta{background:linear-gradient(110deg,#ff727d,#ed2bb8);box-shadow:inset 0 2px 3px #ffffff88,0 5px 14px #f7598c24}
.pearl-cta svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2.5;flex:none}
.pearl-note{font-size:clamp(12px,1.9vw,17px);line-height:1.4;color:#5d5b79}
.pearl-remember{display:flex;align-items:center;gap:10px;min-height:44px;color:#656180;font-size:16px;cursor:pointer}
.pearl-remember input{margin:0;width:23px;height:23px;accent-color:#6b49eb}
.pearl-footer{display:flex;align-items:center;gap:18px;justify-content:center;width:100%;color:#656180;font-size:17px;margin:0}
.pearl-footer::before,.pearl-footer::after{content:"";height:1px;width:45px;background:#c5bfd7}
.pearl-footer strong{color:#0a1034}
.pearl-card:hover{transform:translateY(-2px);box-shadow:0 9px 25px #55528026}
.pearl-card:focus-visible,.pearl-remember input:focus-visible{outline:3px solid #6950d9;outline-offset:4px}
.pearl-card:active{transform:scale(.99)}
@media(max-width:600px){
 body[data-area="home"] main{padding:18px 13px 14px}
 .pearl-home{gap:15px}.pearl-logo{width:140px;height:74px}
 .pearl-heading h1{font-size:clamp(29px,8.2vw,45px)}.pearl-heading p{font-size:clamp(15px,4.4vw,22px);margin:13px 0 2px}
 .pearl-choices{gap:14px}.pearl-card{min-height:177px;padding:21px 16px;border-radius:23px}
 .pearl-copy{width:61%}.pearl-title{font-size:clamp(20px,5.8vw,32px);margin-bottom:6px}.pearl-dating .pearl-title{font-size:clamp(29px,8vw,42px)}
 .pearl-description{font-size:clamp(12px,3.5vw,18px)}.pearl-cta{min-height:44px;font-size:clamp(13px,3.6vw,18px);padding:10px 17px;gap:12px;margin:15px 0 10px}.pearl-cta svg{width:18px;height:18px}.pearl-note{font-size:clamp(10px,2.9vw,14px)}
 .pearl-remember{font-size:14px;min-height:34px}.pearl-remember input{width:21px;height:21px}.pearl-footer{font-size:14px;gap:12px}.pearl-footer::before,.pearl-footer::after{width:30px}
}
@media(max-width:360px){.pearl-card{padding:18px 13px}.pearl-copy{width:66%}.pearl-title{font-size:20px}.pearl-cta{padding:10px 13px}.pearl-card::after{background:linear-gradient(90deg,var(--card-base) 0%,var(--card-base) 45%,transparent 78%)}}
@media(prefers-reduced-motion:reduce){.pearl-card{transition:none}.pearl-card:hover,.pearl-card:active{transform:none}}

/* Silent living photographs; original stills remain under the video layer. */
.pearl-card .pearl-motion{z-index:1;opacity:0;pointer-events:none;transition:opacity .45s ease}
.pearl-card .pearl-motion.is-playing{opacity:1}
.pearl-motion-toggle{border:0;background:transparent;color:#656180;font:inherit;font-size:12px;min-height:44px;padding:8px 16px;margin:-14px 0;text-decoration:underline;text-underline-offset:3px}
.pearl-motion-toggle[hidden]{display:none}
.pearl-motion-toggle:focus-visible{outline:3px solid #6950d9;outline-offset:3px;border-radius:12px}
@media(prefers-reduced-motion:reduce){.pearl-card .pearl-motion{display:none}}

/* Match celebration: complete logo, real member photos and immediate chat actions. */
#match-dialog{padding:16px;max-height:90svh;overflow:auto;text-align:center;box-sizing:border-box}
#match-dialog .match-film{display:block;width:100%;height:42svh;max-height:390px;object-fit:contain;border-radius:16px;background:#faf6ff;margin:0 auto 12px}
#match-dialog .match-people{display:flex;justify-content:center;gap:24px;margin:10px 0}
#match-dialog .match-people>div{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:14px}
#match-dialog .match-people .avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:#eae4ff;color:#513bd1}
#match-dialog h2{font-size:23px;margin:10px 0}
#match-dialog .sub{margin:8px 0 16px;font-size:14px}
#match-dialog .button-row{display:flex;flex-wrap:wrap;justify-content:center}
#match-sound[hidden]{display:none}

/* Swipe-feed media: preserve portrait artwork and keep skip available above it. */
.campaign-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.campaign-top .link-button{width:auto;margin:0;min-height:44px}.campaign-media{border-radius:16px;overflow:hidden;background:#081724}.campaign-media video,.campaign-media img{display:block;width:100%;max-height:65svh;object-fit:contain;margin:0;border-radius:0}.date-idea-card .venue-photo img{margin:0;border-radius:0}.campaign-card .venue-photo{border-radius:16px}.campaign-card h2{font-size:26px}.campaign-card .venue-photo-credit{font-size:11px}

/* Shared web/iOS/Android discovery actions. Keep the longer centre label readable. */
.decision-bar{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) minmax(0,1fr)}
.decision{min-width:0;white-space:nowrap}
.decision .ui-icon{flex-shrink:0}
.hello-allowance{margin:0;padding:0 12px 12px;text-align:center;background:#fff}
@media(max-width:380px){.decision{font-size:13px;gap:4px}.decision .ui-icon{width:18px;height:18px}}

/* Shared web / iOS / Android date planning. */
.plan-date-launch{align-self:flex-start;margin:10px 12px 4px;border-color:#bca5ce;background:linear-gradient(110deg,#eef3ff,#f8eefa);color:#453253}
.date-plan-dialog{box-sizing:border-box;width:min(94vw,520px);max-height:88dvh;overflow:auto;border:1px solid #ddd1e6;border-radius:24px;padding:24px;background:#fffafc;color:#302c38;box-shadow:0 24px 80px #241a3540}
.date-plan-dialog::backdrop{background:#22182e80;backdrop-filter:blur(4px)}
.date-plan-dialog form{display:grid;gap:10px}.plan-heading{display:flex;justify-content:space-between;align-items:center}.plan-heading h2{margin:6px 0;font-family:Georgia,serif;font-size:30px}.plan-heading small,.date-plan>small{font-size:10px;letter-spacing:2px;color:#795291}.date-plan-dialog label{font-weight:600;font-size:14px}.date-plan-dialog input:not([type=checkbox]),.date-plan-dialog select{box-sizing:border-box;width:100%;min-width:0;padding:12px;border:1px solid #d8cede;border-radius:12px;background:white;color:#302c38;font-size:16px}.date-plan-dialog select{min-height:150px}.date-plan-dialog option{padding:9px}.plan-saved{display:flex;gap:8px;align-items:center}.plan-place{padding:12px;border-radius:12px;background:#f1eaf6}.plan-place:empty{display:none}.plan-place p{margin:6px 0}.date-plan-dialog .help{margin:0;font-size:12px;line-height:1.5}#plan-error{color:#a52d40;margin:0}.date-plan{max-width:min(92%,420px);padding:18px!important;display:grid;gap:9px;border:1px solid #dbcae4;background:#fcf7ff!important;color:#302c38!important}.date-plan.mine{background:#f0f3ff!important}.date-plan h3,.date-plan p{margin:0}.date-plan a,.plan-place a{color:#653c87;text-decoration:underline}.date-plan .plan-time{font-weight:600}.date-plan .help{font-size:12px}.plan-status{font-weight:600;color:#614076}.date-plan .invite-actions{display:flex;flex-wrap:wrap;gap:6px}.date-plan .invite-actions button{white-space:normal}
.meet-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;margin:12px 0 22px;border:1px solid #d9cce6;border-radius:20px;background:linear-gradient(120deg,#faf5ff,#fff8f4)}
.meet-toolbar strong{color:#62417d;font-size:18px}.meet-toolbar .help{margin:4px 0 0}
.meet-toolbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end;flex-shrink:0}
.venue-meet-panel{margin:24px 0;padding:24px;border:1px solid #d9cce6;border-radius:24px;background:linear-gradient(145deg,#faf5ff,#fffaf8)}
.venue-meet-panel h2{font-family:Georgia,serif;font-size:29px;line-height:1.2;margin:6px 0 12px}
.meet-eyebrow{color:#78568c;font-weight:700;letter-spacing:.13em;font-size:11px}
.meet-presence-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.meet-presence-heading>.link-button{flex-shrink:0}.meet-count{font-weight:650;color:#5d3b76;margin:8px 0}
.meet-sharing{border:1px solid #d8c9e1;background:#fffdfd;border-radius:16px;padding:16px;margin:16px 0}
.meet-sharing>strong{color:#604274}.meet-sharing p{margin:6px 0 14px;font-size:14px;line-height:1.55}
.meet-members{margin:22px 0}.meet-members h3{font-size:17px;margin:0 0 12px}
.meet-member,.meet-request{display:flex;align-items:flex-start;gap:12px;border-top:1px solid #e6dbe9;padding:16px 0}
.meet-member>div,.meet-request>div{min-width:0;flex:1}.meet-member .avatar,.meet-request .avatar{width:48px;height:48px;flex-shrink:0;object-fit:cover;border-radius:50%}
.meet-member p,.meet-request p{margin:6px 0 10px;overflow-wrap:anywhere;white-space:pre-wrap;font-size:14px;line-height:1.5}
.meet-member .button-row,.meet-request .button-row{gap:8px;flex-wrap:wrap;justify-content:flex-start}
.meet-member .link-button,.meet-request .link-button{font-size:13px}.meet-status{display:block;font-size:13px;color:#69566f;margin:8px 0}
.meet-error{color:#9c2548;font-size:14px;line-height:1.5}.meet-dialog form{display:grid;gap:12px}
.meet-dialog h3{font-family:Georgia,serif;font-size:23px;margin:12px 0 0}
.meet-optin{display:flex;gap:12px;align-items:flex-start;border:1px solid #e1d7e8;border-radius:14px;padding:14px;font-size:14px;line-height:1.5}
.meet-optin input{width:20px;height:20px;min-width:20px;margin:2px 0;accent-color:#79518d}
.meet-optin small{display:block;color:#706477;font-size:13px;margin-top:4px}
@media(max-width:560px){.meet-toolbar{align-items:stretch;flex-direction:column;padding:16px}.meet-toolbar-actions{justify-content:flex-start}.venue-meet-panel{padding:18px}.venue-meet-panel h2{font-size:25px}.meet-dialog{padding:20px}.meet-dialog .plan-heading h2{font-size:25px}.meet-request .button-row>.button{padding:10px 12px;font-size:13px}}

.venue-photo video{display:block;width:100%;height:100%;object-fit:contain;background:#151127}

/* Business owners can enter advertiser setup directly from the front page. */
.pearl-business-link{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;width:100%;padding:12px 18px;border:1px solid #ded3f1;border-radius:16px;background:#ffffffd9;color:#624191;text-decoration:none;font-size:14px;box-shadow:0 3px 12px #6d4ba00a}
.pearl-business-link>span{color:#6e6581}.pearl-business-link>strong{font-weight:700}.pearl-business-link>svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;flex-shrink:0}.pearl-business-link:hover{border-color:#9f7cc8;background:#f6f0fd}.pearl-business-link:focus-visible{outline:3px solid #6950d9;outline-offset:4px}
@media(max-width:360px){.pearl-business-link{font-size:12px;gap:7px;padding:11px 9px}}

/* Simpler setup, saved work and useful agreed-date actions. */
.quick-profile-extras{border:1px solid var(--line);border-radius:14px;padding:14px;grid-column:1/-1}.quick-profile-extras>summary{cursor:pointer;font-weight:700;min-height:30px}.quick-profile-extras>.field,.quick-profile-extras>.interests-picker{margin-top:18px}.quick-profile .save-status{font-size:12px}.you-business-link{display:block;padding:18px 20px;color:#67508a;font-weight:700;text-decoration:none;border-bottom:1px solid var(--line)}
.agreed-date-card{padding:15px 18px;border:1px solid #d8c9ef;border-radius:18px;background:#f7f2ff;color:#302448}.agreed-date-card .eyebrow{margin:0 0 7px;font-size:10px}.agreed-date-card .agreed-date-place{display:flex;flex-direction:column;align-items:flex-start;gap:5px;border:0;padding:0;background:transparent;color:inherit;text-align:left;min-height:44px;width:100%;font:inherit}.agreed-date-place strong{font-size:16px}.agreed-date-place small{font-size:13px;color:#706080}.agreed-date-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.agreed-date-actions .button{min-height:42px;margin:0}.agreed-date-card .help{margin:9px 0 0;font-size:11px}[data-adm-error]{grid-column:1/-1;padding:12px 15px;border-radius:12px;background:#fff0f1;color:#872f47;font-size:14px}
@media(max-width:600px){.quick-profile-extras{padding:12px}.agreed-date-card{padding:13px}.agreed-date-actions .button{font-size:12px;flex:1}.save-status{line-height:1.4}}

.save-bar .button[hidden]{display:none!important}
#chat-date-strip .agreed-date-card .agreed-date-place{display:flex;align-items:flex-start;justify-content:flex-start;text-align:left;flex-direction:column;gap:5px;padding:0;background:transparent;border:0}
#chat-date-strip .agreed-date-card .agreed-date-actions .button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;width:auto;flex:1;padding:9px 12px;border:1px solid #ded4ec;border-radius:12px;background:#fff;color:#584078;text-decoration:none;text-align:center;font-weight:700}

.weekly-ideas{margin:24px 0}.weekly-ideas .spot-grid{margin-top:20px}.weekly-ideas .spot-card{background:#fff}.weekly-ideas>h2{margin-top:0}

.relationship-badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#f0eaff;color:#39235b;font-size:12px;font-weight:750}.spot-grid[aria-busy="true"]{opacity:.5;pointer-events:none}

@media(max-width:640px){.quick-profile .save-bar{display:grid;grid-template-columns:70px minmax(0,1fr);gap:8px}.quick-profile .save-bar .save-status{grid-column:1/-1;order:3;margin:0}.quick-profile .save-bar #previous-profile-section{grid-column:1;order:1}.quick-profile .save-bar #next-profile-section,.quick-profile .save-bar button[type=submit]{grid-column:2;order:2;width:100%;min-width:0;font-size:12px}.quick-profile .save-bar:has(#previous-profile-section[hidden]) #next-profile-section{grid-column:1/-1}}
