@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/font-0.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/font-1.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/font-2.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/font-3.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/font-4.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/font-5.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/font-6.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/font-7.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(assets/font-8.ttf) format('truetype');
}

:root{--ink:#291b32;--muted:#716576;--accent:#f96a53;--deep:#35213f;--soft:#f1edf6;--line:#e3dfe7;--paper:#fff;--bg:#fff;--green:#35213f;--sage:#f1edf6;--peach:#fce5e0;--nav-height:82px;font-size:16px;color-scheme:light}
*{box-sizing:border-box}body{margin:0;background:#e9e5ed;color:var(--ink);font-family:'DM Sans',sans-serif;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.45;cursor:default}a{color:inherit}button svg{flex-shrink:0}svg{width:24px;height:24px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #2457c5;outline-offset:3px}button:active:not(:disabled){transform:scale(.98)}button{transition:background .15s,transform .15s}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Manrope',sans-serif}h1{font-size:1.8rem;line-height:1.2;font-weight:800;letter-spacing:-1px}h2{font-size:1.4rem;line-height:1.3;letter-spacing:-.5px}h3{font-size:1.1rem;line-height:1.4}p+p{margin-top:12px}.skip{position:fixed;top:-100px;left:10px;z-index:500;background:var(--deep);color:#fff;padding:16px;border-radius:12px}.skip:focus{top:8px}.preview-label{width:430px;max-width:100%;margin:20px auto 12px;display:flex;justify-content:space-between;color:#6d6075;font-size:11px;letter-spacing:1.3px}.preview-label span:last-child{letter-spacing:0}.app-shell{width:430px;height:calc(100dvh - 100px);min-height:620px;max-height:940px;margin:auto;position:relative;background:var(--paper);border-radius:36px;box-shadow:0 0 0 1px #c5bccc,0 20px 80px #33244020;display:flex;flex-direction:column;overflow:hidden}.topbar{height:76px;flex-shrink:0;padding:12px 20px;display:flex;justify-content:space-between;align-items:center;background:var(--paper);z-index:5}.brand{display:flex;align-items:center;gap:7px;text-decoration:none;line-height:1;font-family:'Manrope',sans-serif;font-size:1.8rem;font-weight:800;letter-spacing:-1.5px}.brand-mark{width:36px;height:36px}.top-actions{display:flex;gap:10px;align-items:center}.help-audio{background:var(--soft);border-radius:30px;min-height:48px;padding:9px 14px;display:flex;align-items:center;gap:7px;font-size:.85rem;font-weight:700}.icon-button{background:var(--paper);border:1px solid var(--line);width:48px;height:48px;border-radius:50%;display:inline-grid;place-items:center;flex-shrink:0}.topbar .icon-button{border:0;background:#f7f5f9}.preview-footer{width:430px;max-width:100%;margin:14px auto;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#716576}.preview-footer button{background:none;color:#493752;font-size:11px;padding:8px;text-decoration:underline;text-underline-offset:3px}main{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#d6cfda transparent;padding:0 18px 20px;position:relative}main:focus{outline:none}#navigation{height:var(--nav-height);flex-shrink:0;display:flex;padding:5px 10px max(6px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--paper);z-index:7}.nav-item{position:relative;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;background:none;color:var(--muted);min-height:64px;font-size:.75rem;font-weight:600;border-radius:15px}.nav-item svg{width:25px;height:25px}.nav-item.active{color:var(--ink)}.nav-item.active::before{content:'';position:absolute;top:7px;width:48px;height:33px;background:var(--peach);z-index:-1;border-radius:14px}.nav-item.active svg{stroke-width:2.2}.nav-count{position:absolute;top:3px;right:23%;border-radius:30px;background:var(--deep);color:white;min-width:18px;font-size:11px;padding:1px 4px}.screen-heading{display:flex;justify-content:space-between;align-items:center;margin:0 2px 15px;gap:10px}.screen-heading .icon-button{border:0}.screen-heading h1{font-size:1.65rem}.filter-button{display:flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--line);border-radius:24px;background:white;min-height:48px;font-size:.82rem}.filter-count{background:var(--deep);color:#fff;border-radius:50%;padding:1px 6px;font-size:.7rem}.segmented{display:flex;gap:5px;padding:4px;background:#f3f0f6;border-radius:16px;margin-bottom:16px}.segmented button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:48px;flex:1;padding:8px 6px;background:none;border-radius:12px;font-size:.84rem;font-weight:600}.segmented button svg{width:19px;height:19px}.segmented button.active{background:var(--deep);color:white}.discover-screen{position:relative}.person-card{border:1px solid var(--line);border-radius:24px;background:white;overflow:hidden}.hero-photo{height:clamp(245px,37dvh,365px);position:relative;background:#d7c9d4;overflow:hidden}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;display:block}.hero-photo::after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#21162be6);pointer-events:none}.photo-open{width:100%;height:100%;display:block;background:none;padding:0}.profile-intent{position:absolute;top:15px;left:15px;background:#fff;color:var(--ink);padding:7px 12px;border-radius:30px;font-size:.8rem;font-weight:600;display:flex;align-items:center;gap:6px;pointer-events:none}.profile-intent svg{width:17px;height:17px}.photo-demo{position:absolute;right:14px;top:15px;background:#271e31c9;color:#fff;padding:7px 10px;border-radius:30px;font-size:.72rem;pointer-events:none}.photo-info{position:absolute;left:22px;right:20px;bottom:20px;color:#fff;z-index:1;pointer-events:none}.photo-info h2{font-size:2.5rem;letter-spacing:-1.5px;font-weight:800;line-height:1.15}.photo-info h2 span{font-weight:400}.photo-info p{display:flex;align-items:center;gap:5px;font-size:.88rem;margin-top:5px;color:#fff}.photo-info svg{height:16px;width:16px}.profile-summary{padding:15px 17px}.interest-pictures{display:flex;gap:8px;margin-bottom:13px;flex-wrap:wrap}.interest-picture{border:0;background:var(--soft);border-radius:10px;display:flex;align-items:center;justify-content:center;gap:7px;font-size:.79rem;padding:8px 10px;min-height:44px}.interest-picture svg{height:20px;width:20px;color:#725287}.listen-profile{display:flex;align-items:center;width:100%;border:1px solid #d8d0e0;border-radius:14px;padding:10px 12px;background:#fff;min-height:60px;gap:11px;text-align:left}.listen-disc{display:grid;place-items:center;border-radius:50%;width:38px;height:38px;background:var(--deep);color:white;flex-shrink:0}.listen-profile strong{font-size:.9rem;display:block}.listen-profile small{font-size:.73rem;color:var(--muted);display:block}.wave{display:flex;align-items:center;gap:3px;height:30px;margin-left:auto;color:#a596b3}.wave i{display:block;width:3px;border-radius:3px;background:currentColor;height:12px}.wave i:nth-child(2n){height:24px}.wave i:nth-child(3n){height:17px}.card-more{display:flex;align-items:center;justify-content:center;gap:7px;background:none;width:100%;font-size:.82rem;min-height:44px;font-weight:600;padding-top:6px}.card-more svg{width:17px;height:17px}.action-dock{display:flex;align-items:center;gap:12px;padding:14px 0 6px;position:sticky;bottom:-20px;background:linear-gradient(#fff0 0,#fff 12px);z-index:3}.decision{display:flex;align-items:center;justify-content:center;gap:9px;min-height:62px;border-radius:19px;padding:12px;font-weight:700;font-size:1rem;flex:1;box-shadow:0 4px 10px #39273c07}.decision.next{border:1px solid #d3cbd8;background:#fff}.decision.like{background:var(--accent);color:#291b32;border:1px solid var(--accent)}.decision.like svg{fill:currentColor}.decision.liked{background:var(--deep);color:white;border-color:var(--deep)}.deck-footer{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:6px 0;font-size:.75rem;color:var(--muted)}.deck-footer button{display:flex;align-items:center;gap:5px;background:none;min-height:44px;font-size:.75rem}.deck-footer svg{width:17px;height:17px}.deck-progress{display:flex;gap:4px}.deck-progress span{width:5px;height:5px;background:#d9d1df;border-radius:5px}.deck-progress span.active{width:18px;background:var(--deep)}.intro{padding:5px 2px 20px}.eyebrow{display:none}.intro h1{font-size:1.7rem;margin-bottom:7px}.intro p{font-size:1rem;color:var(--muted)}.cards{display:grid;gap:16px}.saved-card{display:grid;grid-template-columns:86px 1fr 48px;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:20px}.saved-card img{width:86px;height:105px;object-fit:cover;border-radius:14px}.saved-card h2{font-size:1.2rem;margin-bottom:5px}.saved-card p{color:var(--muted);font-size:.82rem}.saved-card .text-button{padding:3px 0;text-align:left;min-height:44px;font-weight:700}.like-button{border:0;background:var(--peach);color:var(--ink);height:48px;width:48px;border-radius:50%;display:grid;place-items:center}.like-button.liked svg{fill:var(--ink)}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:56px;border-radius:14px;padding:13px 18px;background:var(--soft);border:1px solid var(--line);font-weight:700;font-size:.95rem;text-decoration:none}.button.primary{background:var(--deep);color:white;border-color:var(--deep)}.button.coral{background:var(--accent);color:var(--ink);border-color:var(--accent)}.button.danger{color:#8f2027;background:#fbe6e5}.button svg{width:22px;height:22px}.full-width{width:100%}.text-button{background:none;font-size:.9rem;min-height:48px;text-decoration:underline;text-underline-offset:4px;padding:9px 2px}.empty{padding:35px 15px;text-align:center;border-radius:24px;background:var(--soft);margin-top:10px}.empty>svg{width:52px;height:52px;padding:10px;background:white;border-radius:18px;margin-bottom:15px}.empty h2{margin-bottom:10px}.empty p{color:var(--muted);margin-bottom:20px}.panel{padding:20px;border:1px solid var(--line);border-radius:22px;margin-bottom:17px;background:var(--paper)}.panel h2{margin-bottom:12px}.panel p{font-size:.95rem}.panel>p{color:var(--muted);margin-bottom:14px}.two-col{display:block}.avatar{width:48px;height:48px;object-fit:cover;border-radius:50%;background:var(--peach);display:inline-grid;place-items:center;flex-shrink:0;font-size:1.1rem;font-weight:700}.profile-photo-edit{display:flex;align-items:center;gap:16px;margin-bottom:24px}.profile-photo-edit .avatar{height:80px;width:80px;font-size:2rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:19px}.field label,.field-label{font-size:1rem;font-weight:600}.field small,.field-help{color:var(--muted);font-size:.86rem;line-height:1.5}.field-help{margin:12px 0}input:not([type=checkbox]):not([type=range]):not([type=file]),select,textarea{width:100%;min-height:56px;background:var(--paper);border:1.5px solid #a89bad;border-radius:12px;padding:13px 14px;min-width:0}textarea{min-height:110px;resize:vertical}input[type=range]{min-height:48px;accent-color:var(--deep);width:100%}input[type=checkbox]{width:25px;height:25px;accent-color:var(--deep);flex-shrink:0}.check-row{display:flex;align-items:center;gap:12px;min-height:56px;margin-bottom:15px}.interest-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.interest-options button{display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;min-height:95px;border:1.5px solid var(--line);border-radius:17px;background:var(--paper);font-size:.86rem}.interest-options button svg{width:30px;height:30px}.interest-options button[aria-pressed=true]{background:var(--soft);border-color:#664275;box-shadow:inset 0 0 0 1px #664275}.note{padding:16px;background:var(--soft);border-radius:15px;font-size:.9rem;line-height:1.5;margin:15px 0}.setting-row{display:flex;align-items:center;gap:15px;justify-content:space-between;padding:17px 0;border-bottom:1px solid var(--line)}.setting-row:last-child{border-bottom:0}.setting-row strong{display:block;font-size:1rem}.setting-row p{font-size:.86rem;color:var(--muted);margin-top:4px}.switch{position:relative;display:block;flex-shrink:0;width:56px;height:48px}.switch input{position:absolute;inset:0;opacity:0;width:56px;height:48px;z-index:2;margin:0;cursor:pointer}.switch span{width:52px;height:32px;border-radius:20px;display:block;background:#c7bfcd;margin-top:8px}.switch span::after{content:'';position:absolute;left:4px;top:12px;width:24px;height:24px;border-radius:50%;background:white}.switch input:checked+span{background:var(--deep)}.switch input:checked+span::after{left:24px}.switch input:focus-visible+span{outline:3px solid #2457c5;outline-offset:3px}.support-person{display:flex;align-items:center;gap:12px;margin:16px 0}.support-person strong{display:block}.support-person small{font-size:.8rem;color:var(--muted)}.support-person button{margin-left:auto}.profile-menu{display:grid;gap:12px;margin:20px 0}.menu-tile{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:18px;background:var(--paper);text-align:left;padding:16px;min-height:83px}.menu-tile>svg:first-child{width:42px;height:42px;padding:8px;background:var(--soft);border-radius:13px;flex-shrink:0}.menu-tile>svg:last-child{margin-left:auto;width:18px}.menu-tile strong{font-size:1rem;display:block}.menu-tile small{font-size:.85rem;color:var(--muted);display:block;margin-top:3px}.own-profile{text-align:center;padding:20px;background:var(--soft);border-radius:24px}.own-profile .avatar{width:90px;height:90px;font-size:2rem;background:white}.own-profile h2{margin:12px 0 3px;font-size:1.7rem}.own-profile p{color:var(--muted)}.wizard-step{font-size:.8rem;color:var(--muted);margin-bottom:10px}.wizard-controls{display:flex;gap:10px;margin-top:20px}.wizard-controls .button{flex:1}.step-dots{display:flex;gap:6px;margin-bottom:22px}.step-dots span{height:5px;background:var(--line);border-radius:5px;flex:1}.step-dots span.active{background:var(--accent)}.chat-list{display:grid;gap:12px}.chat-person{display:flex;align-items:center;gap:14px;padding:16px;text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:20px;width:100%;min-height:94px}.chat-person .avatar{width:58px;height:58px}.chat-person strong{display:block;font-size:1.12rem}.chat-person small{font-size:.9rem;color:var(--muted);display:block;margin-top:3px}.chat-person>svg{margin-left:auto;width:20px}.chat-room{display:flex;flex-direction:column;min-height:100%;padding-bottom:8px}.chat-heading{display:flex;align-items:center;gap:10px;padding-bottom:14px;border-bottom:1px solid var(--line);position:sticky;top:0;background:white;z-index:2}.chat-heading strong{display:block}.chat-heading small{color:var(--muted);font-size:.75rem}.chat-heading .icon-button{border:0}.chat-heading .call{margin-left:auto}.chat-history{display:flex;flex-direction:column;gap:14px;padding:22px 0;flex:1;min-height:210px}.chat-date{font-size:.75rem;color:var(--muted);text-align:center}.bubble{padding:14px 16px;max-width:92%;align-self:flex-start;border-radius:19px 19px 19px 3px;background:var(--soft);font-size:1rem;overflow-wrap:anywhere}.bubble.mine{align-self:flex-end;background:var(--deep);color:white;border-radius:19px 19px 3px 19px}.bubble small{font-size:.72rem;display:block;margin-top:9px;color:var(--muted)}.bubble.mine small{color:#e6dced}.bubble.mine .read-button{color:white}.bubble .read-button{display:flex;gap:6px;align-items:center;background:none;font-size:.8rem;min-height:44px;padding:8px 0 0}.bubble .read-button svg{width:19px;height:19px}.bubble audio{max-width:100%;width:250px}.composer{background:var(--paper);padding:12px 0;position:sticky;bottom:-20px;border-top:1px solid var(--line)}.compose-row{display:flex;gap:8px;align-items:center}.compose-row textarea{min-height:56px;height:56px;padding:14px 12px}.compose-row .button{padding:12px;min-width:56px}.compose-tools{display:flex;gap:10px;margin-top:10px}.compose-tools button{display:flex;flex:1;align-items:center;justify-content:center;gap:9px;min-height:58px;border-radius:14px;background:var(--soft);font-weight:600}.compose-tools button.recording{background:#a12539;color:white}.chat-hint{font-size:.75rem;color:var(--muted);margin-top:10px}.quick-message-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:17px 0}.quick-message{background:var(--soft);border:1px solid var(--line);border-radius:18px;min-height:110px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;font-size:.9rem}.quick-message svg{width:36px;height:36px}.quick-message>small{font-size:.7rem;color:var(--muted)}dialog{width:min(430px,100%);max-height:min(90dvh,850px);border:0;border-radius:28px;padding:0;color:var(--ink);background:var(--paper);box-shadow:0 25px 90px #24122d60}dialog::backdrop{background:#1e10276b;backdrop-filter:blur(5px)}.dialog-inner{padding:22px}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.dialog-header h2{font-size:1.4rem;max-width:280px}.dialog-header .icon-button{width:48px;height:48px}.dialog-listen{display:flex;align-items:center;gap:8px;background:var(--soft);border-radius:12px;padding:10px 14px;min-height:48px;margin-bottom:22px;width:100%;font-size:.9rem;font-weight:600}.dialog-footer{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.dialog-footer .button{flex:1}.dialog-inner>p{margin:12px 0}.detail-photo{width:100%;height:290px;object-fit:cover;object-position:50% 30%;border-radius:20px;margin-bottom:16px}.person-title{display:flex;align-items:center;justify-content:space-between}.detail-title{font-size:1.7rem}.place{font-size:.9rem;color:var(--muted);margin:8px 0 15px}.read-button{border:0;background:var(--soft);border-radius:14px;min-height:48px;min-width:48px;display:grid;place-items:center}.tags{display:flex;flex-wrap:wrap;gap:7px}.tag{background:var(--soft);border-radius:9px;padding:8px 12px;font-size:.85rem}.detail-quote{background:var(--peach);padding:20px;border-radius:20px;margin:20px 0}.detail-quote small{font-size:.85rem}.detail-quote p{font-size:1.15rem;font-weight:500;margin-top:10px}.detail-section{margin:23px 0}.detail-section h3{margin-bottom:8px}.detail-section p{font-size:1rem}.detail-actions{display:flex;gap:10px}.detail-actions .button{flex:1;padding:12px 10px}.safety-list{list-style:none;padding:0;display:grid;gap:14px}.safety-list li{background:var(--soft);padding:17px;border-radius:17px}.safety-list strong{display:block;margin-bottom:7px}.safety-list span{font-size:.95rem}.success-icon{width:70px;height:70px;border-radius:24px;background:var(--peach);display:grid;place-items:center;margin:12px auto 20px}.success-icon svg{height:32px;width:32px;fill:currentColor}.confirmation{text-align:center}.confirmation p{font-size:1.1rem;margin:12px 0}.confirmation .avatar{width:85px;height:85px}.confirmation .button{width:100%;margin-top:12px}#toast{position:fixed;left:50%;transform:translateX(-50%);bottom:135px;z-index:100;max-width:390px;width:calc(100% - 32px);padding:15px 18px;border-radius:16px;background:var(--deep);color:#fff;box-shadow:0 8px 25px #0003;font-size:.9rem;opacity:0;pointer-events:none}#toast.visible{opacity:1}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hidden{display:none!important}.danger-text{color:#93243b}.large-text{font-size:20px}.large-text .hero-photo{height:280px}.large-text .segmented button{flex-wrap:wrap}.large-text .profile-summary{padding:14px}.large-text .nav-item{font-size:.65rem}.large-text .nav-count{font-size:11px}.large-text .action-dock{position:static}.large-text .compose-tools{flex-wrap:wrap}.large-text .topbar{height:86px}.large-text .help-audio{padding:10px}.high-contrast{--muted:#47384d;--line:#6f5f79;--soft:#ece5f2;--deep:#25102f;--ink:#1c0c23}.high-contrast .person-card,.high-contrast .button,.high-contrast .nav-item.active{border:2px solid var(--ink)}.high-contrast .photo-info{background:#211129;padding:10px;border-radius:12px;left:12px;right:12px;bottom:12px}.high-contrast .listen-profile{border:2px solid var(--ink)}.reduced-motion *,.reduced-motion *::before,.reduced-motion *::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}.simple-mode .profile-summary .interest-pictures{display:none}.simple-mode .card-more{font-size:1rem}.simple-mode .decision{min-height:72px}.simple-mode .photo-info h2{font-size:2.8rem}
@media(max-width:600px){body{background:#fff}.preview-label{display:none}.app-shell{width:100%;height:100dvh;max-height:none;min-height:0;border-radius:0;box-shadow:none;margin:0}.preview-footer{display:none}.topbar{padding-top:max(12px,env(safe-area-inset-top));height:calc(76px + env(safe-area-inset-top))}main{padding-bottom:16px}.action-dock{bottom:-16px}#navigation{height:calc(76px + env(safe-area-inset-bottom))}dialog{margin:auto auto 0;max-height:94dvh;border-radius:28px 28px 0 0;max-width:100%;width:100%}.dialog-inner{padding-bottom:max(25px,env(safe-area-inset-bottom))}#toast{bottom:calc(90px + env(safe-area-inset-bottom))}.hero-photo{height:clamp(225px,36dvh,410px)}}
@media(max-width:360px){.topbar{padding-left:14px;padding-right:14px}.brand{font-size:1.6rem}.brand-mark{width:30px}.top-actions{gap:5px}.help-audio{padding:8px 10px}main{padding-left:12px;padding-right:12px}.segmented button{font-size:.78rem}.interest-picture{font-size:.75rem;padding:7px}.profile-summary{padding:12px}.wave{display:none}.nav-item{font-size:.7rem}.dialog-inner{padding:18px}.form-grid{grid-template-columns:1fr}.large-text .brand{font-size:1.3rem}.large-text .brand-mark{display:none}.large-text .segmented button{font-size:.72rem}.large-text .interest-options{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* A single photo card fills discovery. Controls stay available without swiping. */
.topbar{height:64px;padding:8px 18px}
.brand{font-size:1.65rem}
.brand-mark{width:31px;height:31px}
.discovery-filter{position:relative;border:0;background:transparent}
.discovery-filter svg{width:26px;height:26px}
.filter-dot{position:absolute;right:8px;top:7px;width:7px;height:7px;border-radius:50%;background:var(--accent);border:1px solid white}
.discovery-main{display:flex;flex-direction:column;padding:0 8px;scrollbar-width:none}
.discover-screen{display:flex;flex-direction:column;flex:1;min-height:0}
.discovery-main .person-card{position:relative;display:flex;flex:1;min-height:260px;border:0;border-radius:20px;transform-origin:50% 90%;transition:transform .18s ease;isolation:isolate}
.discovery-main .person-card.dragging{transition:none}
.profile-gallery{position:relative;overflow:hidden;background:#d7c9d4;isolation:isolate}
.discovery-main .hero-photo{width:100%;height:auto;flex:1;min-height:260px}
.profile-gallery .gallery-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 35%;user-select:none;-webkit-user-drag:none;pointer-events:none}
.hero-photo::after{inset:45% 0 0;background:linear-gradient(transparent,#21162be6);z-index:1}
.photo-progress{position:absolute;top:10px;left:12px;right:12px;display:flex;gap:5px;z-index:4;pointer-events:none}
.photo-progress span{flex:1;height:4px;border-radius:6px;background:#ffffff65;box-shadow:0 1px 3px #0002}
.photo-progress span.active{background:#fff}
.photo-tap{position:absolute;top:0;bottom:0;width:50%;padding:0;border:0;border-radius:0;background:transparent;z-index:2;touch-action:pan-y pinch-zoom;-webkit-tap-highlight-color:transparent}
.photo-prev{left:0}.photo-next{right:0}
.photo-tap:focus-visible{outline:3px solid white;outline-offset:-6px;background:#ffffff0a}
.gallery-demo{position:absolute;top:29px;left:16px;color:white;font-size:.68rem;line-height:1;background:#21162b65;border-radius:5px;padding:5px 7px;z-index:3;pointer-events:none}
.photo-audio{position:absolute;right:12px;top:25px;z-index:4;width:48px;height:48px;border-radius:50%;background:#21162b75;color:white;display:grid;place-items:center;backdrop-filter:blur(8px)}
.photo-audio svg{width:23px;height:23px}
.photo-info-button{position:absolute;bottom:22px;left:20px;right:18px;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px;background:transparent;color:white;text-align:left;padding:0;min-height:70px}
.photo-info-button strong{display:block;font-family:Manrope,sans-serif;font-size:2.15rem;font-weight:800;line-height:1.2;letter-spacing:-1px}
.photo-info-button strong>span{font-weight:400}
.photo-location{display:flex;align-items:center;gap:5px;font-size:.85rem;margin-top:8px}
.photo-location svg{width:16px;height:16px}
.info-circle{display:grid;place-items:center;width:25px;height:25px;flex-shrink:0;border-radius:50%;background:white;color:var(--ink);font-size:1rem;font-weight:800;font-family:Georgia,serif}
.discovery-main .action-dock{position:static;display:flex;justify-content:center;align-items:center;background:white;flex-shrink:0;gap:26px;padding:10px 0 12px;margin:0;z-index:3}
.discovery-main .decision{flex:0 0 auto;width:64px;height:64px;min-height:64px;border-radius:50%;padding:16px;border:1px solid var(--line);box-shadow:0 3px 12px #291b3209;background:white;transition:transform .12s}
.discovery-main .decision:active,.undo-compact:active{transform:scale(.94)}
.discovery-main .decision svg{width:32px;height:32px;stroke-width:2.6}
.discovery-main .decision.next{color:#b23f57}
.discovery-main .decision.like{color:white;background:linear-gradient(135deg,#fa7c57,#f34f73);border:0;width:68px;height:68px;box-shadow:0 4px 15px #f34f7324}
.discovery-main .decision.like svg{fill:currentColor;stroke-width:1.8}
.undo-compact{display:grid;place-items:center;flex:0 0 auto;width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:white;color:#8a681b}
.undo-compact svg{width:23px;height:23px}
.swipe-stamp{position:absolute;top:90px;width:74px;height:74px;border:3px solid currentColor;border-radius:18px;z-index:5;display:grid;place-items:center;background:#fff;pointer-events:none}
.swipe-stamp svg{width:42px;height:42px}
.stamp-like{left:25px;color:#12765c;opacity:var(--like-opacity,0);transform:rotate(-14deg)}
.stamp-like svg{fill:currentColor}
.stamp-pass{right:25px;color:#b23f57;opacity:var(--pass-opacity,0);transform:rotate(14deg)}
.swiping .photo-info-button,.swiping .photo-audio{pointer-events:none}
.detail-gallery{width:100%;height:clamp(300px,52dvh,440px);border-radius:20px;margin-bottom:16px}
.filter-extras{display:grid;gap:8px;border-top:1px solid var(--line);margin-top:24px;padding-top:16px}
.filter-extras .text-button{display:flex;align-items:center;gap:10px;min-height:48px;text-align:left}
.end-undo{align-self:center;margin:0 0 24px;flex-shrink:0}
.discover-screen>.empty{margin:auto 0}
#navigation{height:calc(64px + env(safe-area-inset-bottom));padding:2px 10px max(2px,env(safe-area-inset-bottom));border-top:0}
.nav-item{min-height:60px;font-size:.68rem;gap:3px}
.nav-item.active svg{background:transparent;box-shadow:none}
.high-contrast .photo-audio{background:var(--deep);border:2px solid white}
.high-contrast .photo-info-button{background:var(--deep);padding:12px;border-radius:12px;bottom:16px;left:14px;right:14px}
.high-contrast .discovery-main .decision.next,.high-contrast .undo-compact{border:2px solid var(--ink)}
.high-contrast .discovery-main .decision.like{background:var(--deep)}
.large-text .topbar{height:76px}
.large-text .photo-info-button strong{font-size:2rem}
.large-text .photo-location{font-size:.85rem}
.simple-mode .discovery-main .decision{width:72px;height:72px;min-height:72px}
@media(max-width:600px){
 .topbar{height:calc(60px + env(safe-area-inset-top));padding-top:max(6px,env(safe-area-inset-top));padding-bottom:6px}
 .large-text .topbar{height:calc(72px + env(safe-area-inset-top))}
 .discovery-main{padding:0 8px}
 .discovery-main .person-card,.discovery-main .hero-photo{min-height:250px}
}
@media(max-height:700px){
 .discovery-main .action-dock{padding:8px 0}
 .discovery-main .decision{width:58px;height:58px;min-height:58px}
 .discovery-main .decision.like{width:62px;height:62px;min-height:62px}
 .photo-info-button strong{font-size:1.9rem}
}

/* Photos stay prominent when revisiting a saved person or opening details. */
.saved-card{display:block;position:relative;padding:0;overflow:hidden;border:0;border-radius:24px;background:var(--deep)}
.saved-open{display:block;position:relative;width:100%;height:clamp(280px,45dvh,380px);padding:0;text-align:left;color:white;background:transparent}
.saved-card img{width:100%;height:100%;object-fit:cover;object-position:50% 35%;border-radius:0}
.saved-open::after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#21162be6);pointer-events:none}
.saved-info{position:absolute;left:20px;right:20px;bottom:20px;z-index:1;pointer-events:none}
.saved-info strong{display:block;font-size:1.8rem;line-height:1.2;margin-bottom:8px}
.saved-info>span{display:flex;align-items:center;gap:5px;font-size:.9rem}
.saved-info svg{width:16px;height:16px}
.saved-card .like-button{position:absolute;right:14px;top:14px;z-index:2;width:48px;height:48px;background:white}
.saved-card .like-button.liked{color:var(--deep);background:var(--peach)}
.high-contrast .saved-info{background:var(--deep);padding:10px;border-radius:12px}
.detail-photo{height:clamp(300px,52dvh,440px)}
.chat-person .avatar{width:72px;height:72px;flex-shrink:0}
