:root{--ink:#f8f4f8;--muted:#aa9daf;--bg:#0d0810;--surface:#17101b;--surface2:#211526;--line:#34263a;--wine:#721f39;--rose:#c9a45c;--gold:#e6b86a;--green:#69c9a3;font-family:"DM Sans",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 65% 8%,#2c1127 0,transparent 34%),var(--bg);overflow-x:hidden}button,input,select{font:inherit}.app-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:rgba(15,9,18,.94);border-right:1px solid var(--line);padding:28px 20px;display:flex;flex-direction:column;z-index:20;backdrop-filter:blur(20px)}.brand{border:0;background:none;color:var(--ink);display:flex;align-items:center;gap:12px;text-align:left;cursor:pointer}.brand-mark{width:38px;height:38px;border-radius:13px;background:linear-gradient(145deg,var(--rose),#54182b);display:grid;place-items:center;font:700 22px "Playfair Display";box-shadow:0 8px 24px #c9a45c38}.brand-mark.large{width:64px;height:64px;margin:auto;border-radius:20px;font-size:36px}.brand-name{font:700 20px "Playfair Display"}.sidebar nav{display:grid;gap:8px;margin-top:44px}.nav-item{height:48px;border:0;border-radius:13px;background:transparent;color:var(--muted);display:grid;grid-template-columns:26px 1fr auto;align-items:center;text-align:left;padding:0 14px;cursor:pointer}.nav-item:hover,.nav-item.active{background:var(--surface2);color:var(--ink)}.nav-item span{font-size:20px;color:var(--rose)}.nav-item em{font-style:normal;font-size:11px;background:var(--wine);color:white;padding:3px 7px;border-radius:10px}.privacy-panel{margin-top:auto;border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:13px;display:flex;align-items:center;gap:8px}.privacy-panel div{flex:1}.privacy-panel span,.privacy-panel small{display:block}.privacy-panel span{font-size:13px;font-weight:700}.privacy-panel small{font-size:11px;line-height:1.3;color:var(--muted);margin-top:3px}.switch input{display:none}.switch span{display:block;width:38px;height:22px;background:#3a2d40;border-radius:20px;position:relative;cursor:pointer}.switch span:after{content:"";position:absolute;width:16px;height:16px;background:white;border-radius:50%;left:3px;top:3px;transition:.2s}.switch input:checked+span{background:var(--rose)}.switch input:checked+span:after{transform:translateX(16px)}.me{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:9px;margin-top:16px}.avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#3c2435,var(--wine));font-size:12px;font-weight:700}.me b,.me small{display:block}.me b{font-size:12px}.me small{color:var(--muted);font-size:10px}.me button{border:0;background:none;color:var(--muted)}main{grid-column:2;min-width:0}.topbar{height:92px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;background:#0e0911c7;backdrop-filter:blur(15px);position:sticky;top:0;z-index:15}.eyebrow{font-size:10px;letter-spacing:.2em;color:var(--gold);font-weight:700;margin:0 0 6px}.topbar h2{margin:0;font:700 25px "Playfair Display"}.top-actions{display:flex;gap:10px}.icon-button,.secondary{border:1px solid var(--line);color:var(--ink);background:var(--surface);border-radius:12px;padding:10px 14px;cursor:pointer}.view{display:none}.view.active{display:block}.discovery-layout{display:grid;grid-template-columns:minmax(380px,580px) minmax(260px,340px);justify-content:center;gap:34px;padding:28px 34px}.deck-wrap{min-width:0}.card-counter{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;margin-bottom:10px}.verified-pill{color:var(--green)}.profile-card{height:min(64vh,610px);min-height:500px;border-radius:28px;overflow:hidden;background:#35273a;box-shadow:0 30px 70px #0007;border:1px solid #ffffff16;transition:transform .3s,opacity .3s}.profile-card.exit-left{transform:translateX(-130%) rotate(-12deg);opacity:0}.profile-card.exit-right{transform:translateX(130%) rotate(12deg);opacity:0}.profile-card.exit-up{transform:translateY(-120%) scale(.85);opacity:0}.profile-photo{height:100%;position:relative;background-size:cover;background-position:center;isolation:isolate}.photo-shade{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 35%,#110a15f2 100%);z-index:-1}.compatibility{position:absolute;top:22px;left:22px;background:#0e0912c7;border:1px solid #ffffff26;padding:8px 12px;border-radius:999px;font-size:12px;font-weight:700;backdrop-filter:blur(10px)}.photo-nav{position:absolute;top:0;bottom:0;width:14%;border:0;background:transparent;color:transparent;cursor:pointer}.photo-nav.left{left:0}.photo-nav.right{right:0}.photo-dots{position:absolute;top:10px;left:18%;right:18%;display:flex;gap:5px}.photo-dots i{height:3px;background:#ffffff5e;flex:1;border-radius:4px}.photo-dots i.active{background:white}.profile-copy{position:absolute;left:26px;right:26px;bottom:25px}.name-line{display:flex;align-items:center;gap:8px}.profile-copy h1{font:700 clamp(30px,4vw,42px) "Playfair Display";margin:0}.check{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--green);color:#10251d;font:700 12px sans-serif}.profile-copy>p{color:#d9cfdc;margin:4px 0 14px}.tags{display:flex;gap:7px;flex-wrap:wrap}.tags span{font-size:11px;background:#ffffff18;border:1px solid #ffffff20;padding:7px 10px;border-radius:999px}.more-button{border:0;background:none;color:white;padding:14px 0 0;cursor:pointer;font-weight:700}.swipe-actions{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:18px}.action{width:54px;height:54px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:25px;cursor:pointer;box-shadow:0 8px 28px #0005;transition:.2s}.action:hover{transform:translateY(-3px)}.action.pass{color:#b5a8b8}.action.undo{width:42px;height:42px;color:var(--gold);font-size:18px}.action.spark{color:var(--gold)}.action.like{background:linear-gradient(135deg,var(--rose),var(--wine));border:0;color:white}.keyboard-hint{text-align:center;color:#746b79;font-size:11px;margin:10px}kbd{border:1px solid var(--line);padding:2px 5px;border-radius:4px}.today-panel{padding-top:23px}.panel-title{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:15px}.panel-title h3{margin:0;font-family:"Playfair Display"}.panel-title button,.event-card button{border:0;background:none;color:var(--rose);font-weight:700;cursor:pointer}.like-stack{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mini-card{height:180px;border-radius:18px;position:relative;background-size:cover;background-position:center;overflow:hidden;border:1px solid var(--line)}.mini-card:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#100a13)}.mini-card div{position:absolute;z-index:1;bottom:12px;left:12px}.mini-card b,.mini-card small{display:block}.mini-card small{color:#ddd0df;margin-top:2px}.event-card{margin-top:14px;border:1px solid #6d4a2d;background:linear-gradient(135deg,#291d17,#1b121d);border-radius:18px;padding:15px;display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center}.event-date{width:46px;height:48px;background:#e7bc72;color:#25160d;border-radius:11px;display:grid;place-items:center;font-size:9px;line-height:.7}.event-date b{font-size:21px}.event-card div>*{display:block}.event-card small{font-size:8px;color:var(--gold);letter-spacing:.14em}.event-card p{margin:2px 0;color:var(--muted);font-size:11px}.trust-note{display:flex;gap:12px;color:var(--muted);font-size:12px;line-height:1.45;margin-top:20px;padding:0 6px}.trust-note>span{color:var(--green);font-size:20px}.trust-note b{color:var(--ink)}.trust-note p{margin:4px 0}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;padding:38px 44px 26px}.section-heading h1{font:700 38px "Playfair Display";margin:0}.section-heading p:not(.eyebrow){color:var(--muted);margin:7px 0 0}.section-heading.compact{padding:25px 20px 15px}.section-heading.compact h1{font-size:28px}.match-grid{padding:0 44px 44px;display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:18px}.match-card{height:330px;border-radius:22px;position:relative;background-size:cover;background-position:center;overflow:hidden;border:1px solid var(--line);cursor:pointer}.match-card:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#120b16)}.match-card .match-copy{position:absolute;z-index:1;left:18px;right:18px;bottom:17px}.match-card h3{font:700 23px "Playfair Display";margin:0}.match-card p{color:#d9d0db;margin:3px 0 12px}.match-card button{border:0;background:white;color:#281429;border-radius:10px;padding:9px 12px;font-weight:700;width:100%}.messages-shell{display:grid;grid-template-columns:330px 1fr;height:calc(100vh - 92px)}.conversation-list{border-right:1px solid var(--line);background:#100a13}.conversation{display:grid;grid-template-columns:48px 1fr auto;gap:10px;padding:13px 20px;cursor:pointer}.conversation.active,.conversation:hover{background:var(--surface2)}.conversation .avatar{width:48px;height:48px}.conversation b,.conversation small{display:block}.conversation small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:175px;margin-top:4px}.conversation time{color:var(--muted);font-size:10px}.chat-panel{display:flex;flex-direction:column}.chat-header{padding:16px 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px}.chat-header .avatar{width:42px;height:42px}.chat-header b,.chat-header small{display:block}.chat-header small{color:var(--green)}.chat-body{flex:1;padding:26px;overflow:auto;display:flex;flex-direction:column;gap:10px}.bubble{max-width:68%;padding:11px 14px;border-radius:15px;background:var(--surface2);line-height:1.4}.bubble.me-bubble{align-self:flex-end;background:var(--wine)}.bubble time{display:block;font-size:9px;color:#d7cbd9;margin-top:5px}.composer{display:grid;grid-template-columns:auto 1fr auto;gap:10px;padding:16px;border-top:1px solid var(--line)}.composer input{background:var(--surface);border:1px solid var(--line);color:white;padding:12px;border-radius:13px}.composer button{border:0;background:var(--surface2);color:white;border-radius:12px;padding:0 14px}.composer .send,.primary{background:linear-gradient(135deg,var(--rose),var(--wine));color:white;border:0;border-radius:12px;padding:12px 18px;font-weight:700;cursor:pointer}.profile-settings{max-width:760px;margin:40px auto;padding:0 30px}.settings-cover{height:210px;border-radius:24px;background:linear-gradient(135deg,#4b172b,#1a162d 60%,#721f39);display:flex;align-items:flex-end;padding:24px;justify-content:space-between}.big-avatar{width:100px;height:100px;border:4px solid white;border-radius:50%;background:linear-gradient(135deg,#25152d,#721f39);display:grid;place-items:center;font:700 30px "Playfair Display"}.profile-settings h1{font:700 36px "Playfair Display";margin:25px 0 4px}.profile-settings>p{color:var(--muted)}.completion{margin:25px 0}.completion span{display:flex;justify-content:space-between}.completion em{font-style:normal;color:var(--gold)}.completion>div{height:7px;background:var(--surface2);border-radius:10px;margin-top:9px}.completion i{display:block;width:88%;height:100%;background:linear-gradient(90deg,var(--wine),var(--gold));border-radius:10px}.setting-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.setting-grid button{display:grid;grid-template-columns:35px 1fr;text-align:left;border:1px solid var(--line);background:var(--surface);color:white;border-radius:16px;padding:17px;cursor:pointer}.setting-grid button span{grid-row:1/3;color:var(--rose);font-size:22px}.setting-grid small{color:var(--muted);margin-top:3px}.age-gate{position:fixed;z-index:100;inset:0;background:radial-gradient(circle at 50% 20%,#54182b,#0b0710 55%);display:grid;place-items:center;padding:20px}.age-gate.hidden{display:none}.age-card{width:min(460px,100%);background:#18101ce8;border:1px solid #ffffff1f;border-radius:28px;padding:38px;text-align:center;box-shadow:0 30px 100px #000}.age-card h1{font:700 38px "Playfair Display";margin:18px 0 10px}.age-card>p:not(.eyebrow){color:var(--muted);line-height:1.55}.age-card .eyebrow{margin-top:20px}.consent-check{display:flex;text-align:left;gap:10px;background:#241828;border-radius:14px;padding:14px;margin:22px 0;color:#dcd2df;font-size:13px}.consent-check input{accent-color:var(--rose)}.wide{width:100%}.age-card small{display:block;color:#706776;margin-top:15px}.drawer-backdrop{position:fixed;inset:0;background:#0009;z-index:39;opacity:0;pointer-events:none;transition:.2s}.drawer-backdrop.open{opacity:1;pointer-events:auto}.drawer{position:fixed;z-index:40;right:0;top:0;bottom:0;width:min(420px,100%);background:#130d17;border-left:1px solid var(--line);padding:28px;transform:translateX(102%);transition:.25s;box-shadow:-30px 0 80px #0007}.drawer.open{transform:none}.drawer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.drawer h2{font:700 30px "Playfair Display";margin:0}.close-drawer{border:0;background:var(--surface2);color:white;border-radius:10px;width:38px;height:38px;font-size:20px;cursor:pointer}.drawer>label{display:block;margin:22px 0;color:#ddd3df}.drawer label>span{float:right;color:var(--gold)}select,.dual-age input{width:100%;margin-top:8px;background:var(--surface2);border:1px solid var(--line);color:white;border-radius:12px;padding:12px}.drawer input[type=range]{width:100%;accent-color:var(--rose)}.dual-age{display:grid;grid-template-columns:1fr auto 1fr;gap:9px;align-items:center}.row-check{display:flex!important;gap:9px}.row-check input{accent-color:var(--rose)}#applyFilters{width:100%;height:48px;margin-top:25px}.safety-list{display:grid;gap:22px}.safety-list>div{display:flex;gap:14px}.safety-list span{width:38px;height:38px;flex:none;border-radius:50%;display:grid;place-items:center;background:#2a192d;color:var(--rose);font-weight:700}.safety-list p{color:var(--muted);line-height:1.5;margin:4px 0}.modal{position:fixed;inset:0;z-index:60;background:#000b;display:none;place-items:center;padding:20px}.modal.open{display:grid}.modal-card{position:relative;text-align:center;background:radial-gradient(circle at 50% 0,#54182b,#17101b 52%);width:min(430px,100%);padding:40px;border:1px solid #ffffff1c;border-radius:28px}.modal-card h1{font:700 38px "Playfair Display";margin:8px 0}.modal-card p{color:var(--muted)}.match-burst{font-size:50px;color:var(--rose)}.modal-close{border:0;background:none;color:var(--muted);cursor:pointer}.modal-card>.modal-close{position:absolute;right:16px;top:14px;font-size:24px}.text-button{margin-top:13px}.toast{position:fixed;left:50%;bottom:24px;z-index:80;background:white;color:#281429;border-radius:12px;padding:12px 18px;font-weight:700;transform:translate(-50%,90px);opacity:0;transition:.25s}.toast.show{transform:translate(-50%,0);opacity:1}
@media(max-width:980px){.app-shell{grid-template-columns:82px 1fr}.sidebar{width:82px;padding:25px 13px;align-items:center}.brand-name,.nav-item b,.nav-item em,.privacy-panel,.me>div:not(.avatar),.me button{display:none}.sidebar nav{width:100%}.nav-item{display:grid;grid-template-columns:1fr;text-align:center}.brand-mark{width:42px}.me{display:block}.discovery-layout{grid-template-columns:minmax(360px,570px)}.today-panel{display:none}.match-grid{grid-template-columns:1fr 1fr}main{grid-column:2}}
@media(max-width:680px){body{padding-bottom:70px}.app-shell{display:block}.sidebar{position:fixed;top:auto;bottom:0;left:0;right:0;width:auto;height:70px;padding:8px 12px;display:block;border:0;border-top:1px solid var(--line);z-index:30}.sidebar>.brand,.privacy-panel,.me{display:none}.sidebar nav{display:grid;grid-template-columns:repeat(4,1fr);margin:0;gap:3px}.nav-item{height:54px;display:flex;flex-direction:column;justify-content:center;gap:2px;text-align:center;padding:0}.nav-item b{display:block;font-size:10px}.nav-item span{font-size:18px}.topbar{height:70px;padding:0 16px}.topbar .eyebrow{display:none}.topbar h2{font-size:22px}.icon-button{padding:9px}.icon-button span{display:none}.discovery-layout{display:block;padding:14px 12px}.profile-card{height:calc(100vh - 220px);min-height:470px;border-radius:22px}.swipe-actions{margin-top:-28px;position:relative;z-index:5}.action{background:#211525}.keyboard-hint{display:none}.card-counter{padding:0 5px}.profile-copy{left:20px;bottom:28px}.profile-copy h1{font-size:32px}.section-heading{padding:25px 18px 18px}.section-heading h1{font-size:30px}.section-heading .secondary{display:none}.match-grid{padding:0 14px 24px;grid-template-columns:1fr 1fr;gap:10px}.match-card{height:260px}.messages-shell{display:block;height:calc(100vh - 140px)}.conversation-list{display:none}.chat-panel{height:100%}.profile-settings{margin:20px auto;padding:0 14px}.settings-cover{height:170px}.setting-grid{grid-template-columns:1fr}.age-card{padding:28px 22px}.age-card h1{font-size:31px}}

.membership-banner{width:calc(100% - 68px);margin:14px 34px 0;border:1px solid #6d4a2d;background:linear-gradient(100deg,#2c191c,#25152d);color:var(--ink);border-radius:15px;padding:11px 16px;display:flex;align-items:center;justify-content:space-between;gap:18px;text-align:left;cursor:pointer}.membership-banner span,.membership-banner b,.membership-banner small{display:block}.membership-banner b{color:var(--gold)}.membership-banner small{color:var(--muted);margin-top:2px}.membership-banner strong{white-space:nowrap;color:white}.chat-panel{position:relative}.message-lock{position:absolute;z-index:4;left:50%;top:50%;transform:translate(-50%,-45%);width:min(440px,calc(100% - 34px));padding:28px;text-align:center;border:1px solid #6b4c43;border-radius:22px;background:#17101bf2;box-shadow:0 25px 70px #0009;backdrop-filter:blur(16px)}.message-lock[hidden]{display:none}.message-lock>span{font-size:28px;color:var(--gold)}.message-lock h2{font:700 26px "Playfair Display";margin:10px 0}.message-lock p{color:var(--muted);line-height:1.5}.locked-chat{filter:blur(9px);opacity:.42;pointer-events:none}.locked-preview{margin:auto;color:var(--muted);text-align:center}.composer :disabled,.story-reply :disabled{opacity:.5;cursor:not-allowed}.protected-media,.match-card,.post-photo{position:relative;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.protected-media:after,.match-card:before,.post-photo:after{content:attr(data-watermark);position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-18deg);color:#fff6;font-size:12px;font-weight:700;letter-spacing:.15em;white-space:nowrap;text-shadow:0 1px 3px #000;pointer-events:none}.match-card:before,.post-photo:after{content:"US • JL-4821 • PRIVATE"}.story-frame:after{top:52%}.membership-card{width:min(520px,100%);max-height:94vh;overflow:auto;text-align:left;padding:34px}.membership-card h1{font-size:32px}.membership-close{position:absolute;right:16px;top:14px;border:0;background:none;color:var(--muted);font-size:24px;cursor:pointer}.membership-lead{line-height:1.5}.benefit-list{display:grid;gap:7px;margin:17px 0;color:#dcd2df}.benefit-list span::first-letter{color:var(--green)}.secure-card-demo{background:#0f0a12;border:1px solid var(--line);border-radius:15px;padding:15px}.secure-card-demo p,.secure-card-demo small{color:var(--muted);font-size:12px;line-height:1.45}.card-placeholder{padding:13px;border:1px solid #49394e;border-radius:10px;background:#1d1422;color:#988b9d;margin:10px 0;font-family:monospace}.membership-card .consent-check{margin:12px 0}.renewal-copy{display:block;color:var(--muted);line-height:1.45;margin-top:11px;text-align:center}.age-card{max-height:94vh;overflow:auto}.primary:disabled{opacity:.45;cursor:not-allowed}

@media(max-width:680px){.membership-banner{width:calc(100% - 24px);margin:10px 12px 0;align-items:flex-start}.membership-banner small{font-size:10px}.membership-banner strong{font-size:11px}.message-lock{padding:22px}.membership-card{padding:28px 20px}.age-card .consent-check{margin:12px 0}}

/* Harbor & Flame identity */
.gate-logo{display:block;width:min(250px,72%);height:auto;margin:-14px auto -2px;filter:drop-shadow(0 16px 28px #0008)}
.sidebar .brand{width:100%;justify-content:center}
.sidebar-logo{display:block;width:184px;height:auto;filter:drop-shadow(0 12px 20px #0007)}
.sidebar nav{margin-top:22px}
@media(max-width:980px){.sidebar-logo{width:58px}.sidebar nav{margin-top:28px}}
@media(max-width:680px){.sidebar-logo{display:none}.gate-logo{width:min(220px,72%);margin:-10px auto -4px}}
.gate-dob{display:grid;gap:7px;text-align:left;color:var(--muted);font-size:13px;font-weight:700;margin:18px 0 10px}.gate-dob input{width:100%;padding:13px 14px;border-radius:13px;border:1px solid var(--line);background:#160d1d;color:var(--ink);font:inherit;color-scheme:dark}.gate-error{min-height:18px;margin:0 0 4px;color:#ff9eaa;font-size:13px;text-align:left}.creator-tabs{grid-template-columns:repeat(2,1fr)}
