@import url('/fonts.css');
:root{--ink:#19334a;--muted:#72818c;--rose:#c75164;--rose-dark:#a63b50;--pale:#fff0e9;--paper:#fff8f4;--line:#eee1d9;--white:#fffdfa;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:15px;line-height:1.55}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #9f627c;outline-offset:4px}a{color:inherit;text-decoration:none}button{border:0}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.12;letter-spacing:-.035em}h1{font-size:46px;margin-bottom:16px}h2{font-size:32px;margin-bottom:15px}h3{font-size:18px;font-weight:600;letter-spacing:-.02em}h1 em,h2 em{color:var(--rose);font-weight:400}p{color:var(--muted);line-height:1.65}.icon{height:23px;width:23px;flex-shrink:0;vertical-align:middle}.brand{display:flex;align-items:center;gap:11px;width:max-content}.brand img{width:44px;height:44px}.brand>span{font-family:var(--serif);font-size:25px;font-weight:bold;letter-spacing:-1.2px;line-height:1.2}.brand em{color:var(--rose);font-style:normal}.brand small{font-family:var(--sans);font-size:7px;font-weight:500;letter-spacing:1.05px;display:block;margin-top:7px;color:var(--muted)}.primary,.secondary,.danger-btn{display:inline-flex;align-items:center;justify-content:center;gap:11px;border-radius:10px;min-height:49px;padding:12px 22px;font-weight:600;font-size:14px}.primary{background:var(--rose);color:white;box-shadow:0 4px 10px #bc4f6020}.primary:hover{background:var(--rose-dark)}.secondary{background:var(--white);border:1px solid var(--line);color:var(--ink)}.secondary:hover{background:var(--pale)}.text-btn,.demo-link{padding:6px 0;color:var(--rose);background:none;text-align:left;font-weight:600;font-size:13px}.text-btn:hover,.demo-link:hover{text-decoration:underline}.full{width:100%}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;color:var(--rose);margin-bottom:20px}.private-badge,.plan-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;background:#fff0e9;border:1px solid #eedbd2;border-radius:99px;padding:6px 11px;white-space:nowrap;color:#806c68}.private-badge .icon{width:12px;height:12px}.small-note,.micro{font-size:11px;line-height:1.7;color:var(--muted)}.round-icon{width:50px;height:50px;background:var(--pale);color:var(--rose);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:17px}.loading{padding:100px 20px;text-align:center}.landing{max-width:1250px;margin:auto;padding:0 45px}.landing header,.onboarding header{display:flex;justify-content:space-between;align-items:center;padding:28px 0}.header-actions{display:flex;align-items:center;gap:26px}.hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:55px;padding:53px 0 70px}.hero h1{font-size:65px;line-height:1.05;letter-spacing:-2.5px;margin-bottom:27px}.hero .eyebrow{font-size:9px;display:flex;align-items:center;gap:8px}.eyebrow>span{width:6px;height:6px;background:var(--rose);border-radius:50%}.lead{font-size:16px;max-width:420px}.local-label{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted);margin:23px 0}.local-label .icon{height:16px;width:16px;color:var(--rose)}.hero-cta{padding:16px 24px;min-height:54px;font-size:14px}.demo-link{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--ink);margin-top:18px}.demo-link .icon{width:15px}.micro{margin-top:14px}.hero-art{position:relative;max-width:530px;overflow:hidden;border-radius:40% 40% 15px 15px;box-shadow:0 25px 70px #573d3618}.hero-art>img{transform:scale(1.24);transform-origin:center top;display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:40% 40% 15px 15px;box-shadow:0 25px 70px #573d3618}.art-note{position:absolute;right:18px;bottom:8%;padding:20px 22px;background:#fffcf8ee;box-shadow:0 6px 30px #533e3310;border-radius:5px;transform:rotate(-5deg);font-family:var(--serif);font-size:21px;line-height:1.3}.art-note em{color:var(--rose)}.promises{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding:35px 0;gap:27px}.promises>div{display:flex;align-items:flex-start;gap:15px}.promises .icon{color:var(--rose);width:27px;height:27px}.promises strong{display:block;font-size:13px;margin-bottom:5px}.promises small{font-size:11px;display:block;color:var(--muted)}footer{display:flex;align-items:center;justify-content:space-between;padding:20px 0 27px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}footer .text-btn{font-size:10px;font-weight:400}
.app-shell{min-height:100vh;display:flex}.sidebar{width:239px;flex-shrink:0;background:var(--white);border-right:1px solid var(--line);padding:32px 25px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:10}.sidebar .brand{gap:7px}.sidebar .brand img{width:34px;height:34px}.sidebar .brand>span{font-size:20px}.sidebar .brand small{font-size:5.8px;letter-spacing:.6px}.side-tag{color:var(--muted);font-size:9px;letter-spacing:1.3px;display:flex;align-items:center;gap:5px;margin:27px 0 23px;padding-left:12px}.side-tag .icon{height:12px;width:12px}.sidebar nav{display:flex;flex-direction:column;gap:7px}.nav-item{display:flex;align-items:center;gap:13px;text-align:left;padding:13px 14px;width:100%;background:none;color:var(--muted);border-radius:9px;font-size:13px;font-weight:500}.nav-item.active{color:var(--rose);background:var(--pale);font-weight:600}.nav-item .icon{width:21px;height:21px}.nav-item b{margin-left:auto;font-size:10px;background:var(--rose);color:white;min-width:18px;height:18px;text-align:center;border-radius:50%;line-height:18px}.sidebar-bottom{margin-top:auto}.sidebar-bottom p{font-family:var(--serif);font-size:18px;line-height:1.35;margin:30px 10px}.sidebar-bottom p em{font-size:15px;color:var(--rose)}.sidebar-bottom .nav-item{font-size:11px}.workspace{margin-left:239px;flex:1;min-width:0}.app-top{height:85px;border-bottom:1px solid var(--line);padding:0 46px;display:flex;align-items:center;justify-content:space-between;background:var(--paper)}.app-top>span{font-size:11px;color:var(--muted);display:flex;gap:6px;align-items:center}.app-top>span .icon{height:15px;width:15px}.app-top>div{display:flex;align-items:center;gap:15px}.avatar-btn{border:1px solid var(--line);width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--white);border-radius:50%;color:var(--ink);overflow:hidden}.avatar-btn img{width:100%;height:100%;object-fit:cover}.app-main{max-width:1100px;margin:auto;padding:38px 46px 45px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.page-heading .eyebrow{font-size:8px;letter-spacing:1.6px;margin-bottom:13px}.page-heading h1{font-size:40px;line-height:1.15;margin-bottom:9px}.page-heading p{font-size:12px;margin-bottom:0}.filter-btn{min-height:40px;font-size:11px;padding:10px 13px;white-space:nowrap}.filter-btn .icon{width:15px;height:15px}.discover-grid{display:grid;grid-template-columns:minmax(280px,425px) minmax(200px,290px);gap:44px;justify-content:center}.discovery-stage{min-width:0}.profile-card{background:var(--white);border:1px solid var(--line);border-radius:17px;overflow:hidden;box-shadow:0 10px 40px #49373106}.portrait{position:relative;height:330px;background:#d7c6ba;overflow:hidden}.portrait>img{width:100%;height:100%;object-fit:cover;object-position:center 40%}.portrait-label{position:absolute;bottom:12px;left:15px;right:15px;width:max-content;max-width:calc(100% - 30px);background:#fffdf9ec;color:var(--ink);padding:6px 10px;font-size:10px;border-radius:99px}.portrait-label .icon{width:12px;height:12px}.card-copy{padding:24px 25px 15px}.card-copy h2{font-size:30px;margin-bottom:12px;letter-spacing:-1px}.card-copy h2 span{color:var(--muted);font-size:25px}.card-copy p{font-size:12px;color:#607481;margin-bottom:16px;line-height:1.75;overflow-wrap:anywhere}.chips{display:flex;flex-wrap:wrap;gap:6px}.chips span{font-size:9px;color:#8d696d;background:#faf0eb;padding:5px 9px;border-radius:99px}.card-actions{display:flex;align-items:center;justify-content:center;gap:32px;padding:18px 25px 20px}.card-actions>span{font-family:var(--serif);font-style:italic;color:var(--muted);font-size:14px}.pass-btn,.like-btn{border-radius:50%;width:53px;height:53px;display:flex;align-items:center;justify-content:center}.pass-btn{background:var(--white);color:#98a0a3;border:1px solid var(--line)}.like-btn{background:var(--rose);color:white;box-shadow:0 4px 15px #be4f632a}.like-btn .icon{height:25px;width:25px}.report-link{display:block;text-align:center;width:100%;background:none;font-size:9px;color:#93999b;padding:0 0 15px}.note-panel{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:24px;margin-bottom:18px}.note-panel .eyebrow{font-size:8px;letter-spacing:1.4px;margin-bottom:16px}.note-panel h2{font-size:31px;line-height:1.18;margin-bottom:24px}.note-row{display:flex;align-items:flex-start;gap:12px;margin:20px 0 0}.note-row .icon{width:19px;height:19px;color:var(--rose)}.note-row span{font-size:11px;line-height:1.5}.note-row small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.note-panel p{font-size:12px}.premium-note{border-radius:13px;padding:25px;background:#f9ebe6}.premium-note .round-icon{background:#fff7f2;width:37px;height:37px;margin-bottom:14px}.premium-note .icon{height:18px;width:18px}.premium-note h3{font-family:var(--serif);font-size:21px;font-weight:400;margin-bottom:9px}.premium-note p{font-size:11px;margin-bottom:13px;color:#8c7776}.premium-note .text-btn{font-size:10px}.premium-note small{display:block;font-size:8px;color:#a38d87;margin-top:9px}.coastal-sign{text-align:center;color:#a7988f;font-size:9px;margin-top:24px;line-height:1.8}.coastal-sign em{font-family:var(--serif);font-size:16px;color:#8d8c8a}.coastal-sign svg{width:80%;color:#dac5b8;height:30px}.demo-banner{font-size:11px;color:#866663;background:#fbeae3;padding:9px 14px;border-radius:7px;margin-bottom:24px}.demo-banner .text-btn{font-size:10px;margin-left:10px}.demo-portrait{height:100%;background:#e9c5ae;position:relative}.demo-portrait.demo-2{background:#b7c8c3}.demo-portrait.demo-3{background:#dcc2d0}.demo-portrait svg{width:100%;height:100%}.demo-portrait>span{position:absolute;top:12px;left:14px;color:#52626b;background:#ffffffb8;padding:4px 7px;font-size:9px;border-radius:4px}.cards-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.small-card .portrait{height:260px}.small-card .card-copy{padding:20px}.small-card .primary{border-radius:0;box-shadow:none}.empty{min-height:440px;padding:65px 25px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:var(--white);border:1px dashed #e1cbc0;border-radius:16px}.empty-icon{width:83px;height:83px;display:flex;align-items:center;justify-content:center;background:var(--pale);color:#c8898c;border-radius:50%;margin-bottom:25px}.empty-icon .icon{width:34px;height:34px}.empty h2{font-size:30px;max-width:390px}.empty p{font-size:12px;max-width:340px}.empty .text-btn{margin-top:12px}.locked-panel{text-align:center;padding:45px 30px;background:var(--white);border:1px solid var(--line);border-radius:15px}.locked-art{display:flex;justify-content:center;gap:14px;margin-bottom:23px}.locked-art>div{width:90px;height:100px;background:linear-gradient(#eccbb9,#f9e9df);border-radius:10px;display:flex;align-items:center;justify-content:center;filter:blur(5px);color:#ffffff}.locked-art>div:nth-child(2){transform:translateY(-12px)}.locked-art .icon{width:55px;height:55px}.locked-panel .round-icon{margin:0 auto 18px}.locked-panel h2{font-size:36px}.locked-panel p{font-size:12px}.locked-panel>small{display:block;color:var(--muted);font-size:10px;margin-top:15px}.mobile-nav{display:none}
dialog{border:1px solid var(--line);border-radius:19px;max-width:480px;width:calc(100% - 32px);padding:39px;color:var(--ink);background:var(--white);box-shadow:0 20px 120px #192f4440;max-height:90dvh;overflow-y:auto}dialog::backdrop{background:#1c304464;backdrop-filter:blur(3px)}dialog h2{font-size:36px;line-height:1.18}dialog p{font-size:12px}dialog .eyebrow{font-size:9px;margin-bottom:17px}.modal-close{position:absolute;top:13px;right:13px;width:30px;height:30px;background:none;color:var(--muted)}.modal-close .icon{width:18px;height:18px}label{display:block;font-size:12px;font-weight:600;margin-bottom:16px}label>small{font-weight:400;color:var(--muted);margin-left:5px}input:not([type=checkbox]),select,textarea{display:block;width:100%;min-width:0;margin-top:7px;border:1px solid #e5d8d0;border-radius:8px;color:var(--ink);background:#fffdfa;padding:12px;font-size:13px;min-height:44px}input:focus,select:focus,textarea:focus{outline:2px solid #ca58647a;outline-offset:1px}textarea{resize:vertical}.check-label{display:flex;align-items:flex-start;gap:10px;font-weight:400;font-size:10px;line-height:1.5}.check-label input{margin:3px 0 0;accent-color:var(--rose);min-width:15px;min-height:15px}.form-error{color:#b23848;font-size:12px;min-height:8px;margin:8px 0 13px}.form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:15px}.auth-switch{text-align:center;font-size:11px;color:var(--muted);margin:19px 0 10px}.auth-switch .text-btn{font-size:11px}.trial-label{background:var(--pale);color:var(--rose);padding:16px;border-radius:8px;font-weight:700;font-size:12px;letter-spacing:1px;margin:20px 0}.trial-label small{display:block;font-size:10px;font-weight:400;letter-spacing:0;margin-top:6px}.match-heart{margin:0 0 20px;color:var(--rose)}.match-heart .icon{height:55px;width:55px;fill:#fbd9d8}.privacy-list{padding-left:18px;font-size:12px;color:var(--muted)}.privacy-list li{margin-bottom:10px}.onboarding{max-width:1100px;padding:0 32px;margin:auto}.onboarding-card{max-width:570px;margin:27px auto 70px;background:var(--white);border:1px solid var(--line);border-radius:15px;padding:35px 42px}.onboarding-card h1{font-size:39px}.onboarding-card>p{font-size:12px}.steps{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:36px;font-size:10px;color:#acaaa5}.steps span{white-space:nowrap}.steps .icon{width:13px;height:13px}.steps i{width:35px;height:1px;background:var(--line)}.steps .current,.steps .done{color:var(--rose)}.steps .current{font-weight:700}.photo-upload{text-align:center;margin:22px 0 27px}.photo-upload>div{height:105px;width:105px;margin:0 auto 13px;background:var(--pale);border-radius:50%;display:flex;align-items:center;justify-content:center;overflow:hidden}.photo-upload>div>.icon{width:35px;height:35px;color:var(--rose)}.photo-upload img{height:100%;width:100%;object-fit:cover}.upload-label{width:max-content;max-width:100%;margin:0 auto 12px;min-height:39px;padding:9px 17px;font-size:11px;cursor:pointer}.upload-label .icon{width:14px;height:14px}.photo-upload>small{font-size:9px;color:var(--muted);display:block}.interest-picker{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 25px}.interest-chip{color:#8c7977;background:#fff7f2;border:1px solid var(--line);font-size:11px;padding:7px 11px;border-radius:99px}.interest-chip.selected{background:#fde7e0;border-color:#d77685;color:#a74155}.wizard-buttons{display:flex;justify-content:flex-end;gap:12px;margin:25px 0}.profile-layout{display:grid;grid-template-columns:minmax(270px,1.4fr) minmax(220px,1fr);gap:26px}.form-panel{background:var(--white);border:1px solid var(--line);padding:28px;border-radius:14px}.note-panel .small-note{font-size:10px}.admin-panel h3{font-family:var(--serif);font-weight:400;font-size:24px}.admin-panel .primary{font-size:11px}.admin-panel .text-btn{margin-top:12px;font-size:10px}.invite-code{padding:12px;background:var(--pale);margin-top:18px;border-radius:7px}.invite-code small{display:block;letter-spacing:1px;font-size:8px;color:var(--muted)}.invite-code strong{font-family:monospace;font-size:19px;letter-spacing:1px;display:block}.invite-code button{margin-top:6px!important}.danger-link{display:block;margin-top:12px;font-size:10px;padding:0;background:none;color:#ae4354}.danger-btn{background:#b4384d;color:white}.admin-list{padding:0;list-style:none;max-height:240px;overflow:auto}.admin-list li{padding:9px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;font-size:11px}.admin-list code{font-size:12px}.report-item{border-bottom:1px solid var(--line);padding:12px 0;font-size:12px}.report-item small{color:var(--muted)}.chat-heading{display:flex;align-items:center;gap:15px;margin-bottom:25px}.chat-heading h2{margin-bottom:5px;font-size:29px}.chat-heading small{color:var(--muted);font-size:11px}.chat-heading>.text-btn{margin-left:auto}.circle-btn{width:42px;height:42px;background:var(--white);border:1px solid var(--line);color:var(--ink);border-radius:50%;display:flex;align-items:center;justify-content:center}.conversation{background:var(--white);border:1px solid var(--line);border-radius:15px;padding:20px;max-width:740px}.chat-welcome{text-align:center;font-size:10px;line-height:1.6;color:var(--muted);padding:10px}#messages{display:flex;flex-direction:column;gap:12px;min-height:220px;max-height:55vh;overflow-y:auto;padding:20px 0}.message{align-self:flex-start;max-width:85%;padding:11px 15px;border-radius:12px;background:#f1ece7}.message.mine{align-self:flex-end;background:#fae0dd}.message p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;margin-bottom:4px;color:var(--ink)}.message small{display:block;font-size:8px;color:var(--muted);text-align:right}#message-form{display:flex;align-items:center;gap:12px;padding-top:15px;border-top:1px solid var(--line)}#message-form input{margin:0;min-width:0}#message-form .primary{width:47px;padding:10px;min-height:46px;flex-shrink:0}.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}#toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);max-width:calc(100% - 32px);width:max-content;background:var(--ink);color:white;padding:12px 20px;border-radius:11px;font-size:12px;box-shadow:0 8px 20px #1d33442a;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:1000}#toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:1450px){.app-main{padding-top:47px}.discover-grid{gap:60px}.portrait{height:360px}}
@media(max-width:1100px){.sidebar{width:210px;padding:27px 18px}.workspace{margin-left:210px}.sidebar .brand>span{font-size:18px}.app-main{padding:30px}.app-top{padding:0 30px}.discover-grid{gap:25px;grid-template-columns:minmax(250px,1fr) 240px}.page-heading h1{font-size:35px}.hero{gap:30px}.hero h1{font-size:54px}.landing{padding:0 35px}.portrait{height:300px}.profile-layout{grid-template-columns:1fr}.profile-layout>aside{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.profile-layout>aside>.note-panel{margin:0}.card-actions{gap:22px}.discovery-aside .note-panel{padding:21px}}
@media(max-width:850px){.discover-grid{grid-template-columns:minmax(230px,430px)}.discovery-aside{display:none}.page-heading{align-items:flex-start;flex-direction:column;gap:15px}.filter-btn{align-self:flex-start}.cards-grid{grid-template-columns:1fr}.hero h1{font-size:45px}.hero{gap:25px}.art-note{font-size:16px;right:-5px;padding:15px}.lead{font-size:14px}.hero .eyebrow{font-size:8px;letter-spacing:1.2px}.promises{gap:20px}.promises>div{gap:10px}.promises strong{font-size:12px}.promises small{font-size:10px}}
@media(max-width:640px){body{font-size:14px}.landing{padding:0 22px}.landing header{padding:22px 0}.brand>span{font-size:22px}.brand img{width:37px;height:37px}.brand small{font-size:5.5px;letter-spacing:.9px}.header-actions{gap:10px}.header-actions .private-badge{display:none}.header-actions .text-btn{font-size:11px}.hero{grid-template-columns:1fr;gap:28px;padding:32px 0 35px}.hero h1{font-size:49px;letter-spacing:-1.9px;margin-bottom:20px}.hero .eyebrow{font-size:8px;margin-bottom:18px}.lead{font-size:14px;max-width:360px}.hero-cta{width:100%;min-height:51px}.hero-art{max-width:350px;width:90%;margin:0 auto}.hero-art>img{border-radius:38% 38% 12px 12px}.art-note{right:10px;bottom:10%;font-size:18px}.demo-link{justify-content:center;width:100%;font-size:10px}.micro{text-align:center;font-size:9px}.local-label{font-size:10px}.promises{grid-template-columns:1fr;padding:25px 0;gap:22px}.promises>div{gap:15px}.promises strong{font-size:13px}.promises small{font-size:11px}footer{flex-wrap:wrap;gap:9px;font-size:9px;padding-bottom:25px}footer>span:last-child{width:100%}.sidebar{display:none}.workspace{margin-left:0}.app-top{height:64px;padding:0 20px}.app-top>span{font-size:10px}.app-top>div{gap:9px}.app-main{padding:27px 20px calc(100px + env(safe-area-inset-bottom))}.page-heading{gap:15px;margin-bottom:23px}.page-heading h1{font-size:34px}.page-heading .eyebrow{font-size:7px;letter-spacing:1.3px;line-height:1.7}.page-heading p{font-size:11px}.filter-btn{min-height:35px;padding:7px 12px;font-size:10px}.discover-grid{display:block}.portrait{height:320px}.card-copy{padding:20px 22px 12px}.card-copy p{font-size:12px}.card-copy h2{font-size:29px}.chips span{font-size:9px}.card-actions{padding:15px 22px 20px;gap:32px}.mobile-nav{display:flex;justify-content:space-around;position:fixed;bottom:0;left:0;right:0;padding:10px 8px calc(9px + env(safe-area-inset-bottom));background:#fffdfaf5;border-top:1px solid var(--line);z-index:20;backdrop-filter:blur(8px)}.mobile-nav button{background:none;color:#929b9f;display:flex;flex-direction:column;align-items:center;gap:5px;font-size:9px;min-width:66px;min-height:42px}.mobile-nav button.active{color:var(--rose)}.mobile-nav .icon{width:22px;height:22px}.demo-banner{font-size:10px;margin-bottom:20px}.demo-banner .text-btn{margin:3px 0 0;display:block;font-size:10px}.locked-panel{padding:35px 18px}.locked-panel h2{font-size:30px}.locked-panel p{font-size:11px}.locked-art>div{width:75px;height:90px}.empty{min-height:380px;padding:45px 22px}.empty h2{font-size:29px}.profile-layout>aside{display:block}.profile-layout>aside .note-panel{margin-bottom:18px}.form-panel{padding:20px}.form-grid{gap:10px;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}input:not([type=checkbox]),select,textarea{font-size:16px;padding:11px 10px}.onboarding{padding:0 20px}.onboarding header{padding:23px 0}.onboarding header>.private-badge{font-size:9px;padding:5px 8px}.onboarding-card{margin:12px auto 35px;padding:28px 22px}.onboarding-card h1{font-size:33px}.steps{font-size:8px;margin-bottom:27px;gap:7px}.steps i{width:20px}dialog{padding:33px 25px;border-radius:15px}dialog h2{font-size:33px}.chat-heading{gap:12px}.chat-heading h2{font-size:26px}.chat-heading>.text-btn{font-size:10px}.conversation{padding:16px}.chat-heading small{font-size:9px}#toast{bottom:90px;font-size:11px}.small-card .portrait{height:310px}.plan-badge{font-size:10px}.privacy-list{font-size:11px}.wizard-buttons .primary{padding:12px 16px;font-size:12px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.install-app{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:21;box-shadow:0 4px 20px #0002;font-size:14px;min-height:44px;background:#fff8f4}
@media(max-width:640px){.install-app{bottom:calc(80px + env(safe-area-inset-bottom))}}

.admin-photo {object-fit:cover;border-radius:12px;display:block;margin-bottom:8px}

.offer-grid{display:grid;gap:14px;margin:20px 0}.offer-card{border:1px solid var(--line);border-radius:14px;padding:20px}.offer-card h3{font-size:22px;margin:0 0 12px}.offer-card p,.offer-simple p,.offers-status{font-size:16px;line-height:1.5}.offer-price{font-size:28px!important;font-weight:700}.offer-price span{font-size:16px;font-weight:400}.offer-card p .icon{width:18px;height:18px;vertical-align:middle}.offer-card button:disabled{opacity:.65;cursor:default}.offer-simple{padding-top:16px;border-top:1px solid var(--line)}.offers-status{padding:14px;border-radius:10px;background:#f3f5f7}

.launch-notice{font-size:16px;line-height:1.5;padding:16px;border:1px solid var(--line);border-radius:12px;margin:18px 0}.launch-notice strong{color:var(--rose)}

.support-messages{max-height:320px;overflow:auto;padding:12px;background:#f3f5f7;border-radius:12px;margin:16px 0}.support-messages .message{max-width:90%;margin-bottom:12px}.support-messages p{font-size:16px;white-space:pre-wrap;overflow-wrap:anywhere}.support-messages strong{font-size:14px}.support-inbox{display:grid;gap:12px;margin:16px 0}

/* Readable modal text and controls on phones and larger screens. */
dialog{max-width:520px;overflow-wrap:anywhere}
dialog p{font-size:1.125rem;line-height:1.6}
dialog .eyebrow{font-size:.875rem;line-height:1.5;letter-spacing:1.2px}
dialog .trial-label{font-size:1.25rem;line-height:1.5;letter-spacing:.3px}
dialog .trial-label small,dialog .small-note{font-size:1rem;line-height:1.6}
dialog .primary,dialog .secondary,dialog .text-btn{font-size:1.0625rem;line-height:1.5;min-height:48px;white-space:normal}
@media(max-width:640px){dialog{padding:28px 20px}dialog h2{font-size:2.125rem}}

.profile-gallery-editor{margin:24px 0}.profile-gallery-editor p{font-size:16px}.profile-gallery-editor #extra-photo-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}#extra-photo-list figure{margin:0}#extra-photo-list img{width:100%;height:150px;object-fit:cover;border-radius:10px}#extra-photo-list .text-btn{font-size:14px;min-height:44px}.photo-gallery-button{position:absolute;top:14px;right:14px;z-index:2;display:flex;align-items:center;gap:6px;background:#fffaf2ed;padding:10px 12px;min-height:44px;border-radius:20px;font-size:14px;color:var(--ink)}.photo-gallery-button .icon{width:18px;height:18px}.photo-gallery{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory}.photo-gallery figure{flex:0 0 100%;margin:0;scroll-snap-align:start}.photo-gallery img{width:100%;height:min(55dvh,440px);object-fit:contain;background:var(--pale);border-radius:12px}.photo-gallery figcaption{text-align:center;padding:8px;font-size:16px}#nearby-map{height:340px;width:100%;margin-top:18px;border-radius:12px;isolation:isolate}.nearby-members{display:grid;gap:10px}.town-marker{border-radius:50%;background:var(--rose);color:#fff;border:3px solid #fff;display:grid;place-items:center;font-weight:700;box-shadow:0 2px 6px #0003}.town-marker.own-town{background:var(--ink);font-size:12px}.map-popup-profile{display:block;padding:12px;background:white;color:var(--ink);font-size:16px;text-align:left;width:100%;min-height:44px}.leaflet-control-attribution{font-size:12px!important}#map-status{font-size:14px}#map-filter-form{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:12px}#map-filter-form label{margin:0}.leaflet-popup-content{max-height:220px;overflow:auto}.leaflet-container{font-family:var(--sans)}
.owner-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:25px}.owner-stats>div{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:18px}.owner-stats strong{display:block;font:32px var(--serif);color:var(--rose)}.owner-stats span{display:block;font-size:12px;color:var(--muted);margin-top:5px}@media(max-width:640px){.owner-stats{gap:8px}.owner-stats>div{padding:13px 9px}.owner-stats strong{font-size:27px}.owner-stats span{font-size:10px;overflow-wrap:anywhere}}

.billing-link{display:block;text-align:center;text-decoration:none;margin:14px 0}.billing-endpoint{width:100%;font-size:16px;padding:12px;border:1px solid #ddd;border-radius:12px;margin:12px 0;box-sizing:border-box}#billing-settings-form{margin-top:20px}#modal details{margin:20px 0}#modal details code{overflow-wrap:anywhere;font-size:14px}

/* Seasonal accents keep the MAVYY brand and never intercept profile controls. */
:root[data-season="halloween"]{--rose:#bc551e;--rose-dark:#964015;--pale:#fff0dc;--line:#eadbc9}
:root[data-season="christmas"]{--rose:#aa364a;--rose-dark:#842638;--pale:#edf5ef;--line:#d7e5da}
.seasonal-decor{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:8}
.seasonal-spider{position:absolute;top:3px;left:0;font-size:30px;animation:spider-walk 28s linear infinite;filter:drop-shadow(0 2px 2px #0002)}
.seasonal-corner{position:absolute;bottom:95px;right:16px;font-size:34px;opacity:.9}
.seasonal-garland{position:absolute;top:2px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:18px;opacity:.7}
.seasonal-snow{position:absolute;top:-30px;left:var(--x);color:#638778;font-size:20px;opacity:.55;animation:seasonal-snow var(--duration) linear var(--delay) infinite}
.seasonal-toggle{position:fixed;right:12px;bottom:76px;z-index:9;font-size:12px;line-height:1.4;min-height:36px;padding:8px 12px;background:var(--white);border:1px solid var(--line);border-radius:20px;color:var(--ink);box-shadow:0 2px 8px #0001;max-width:calc(100vw - 24px)}
@keyframes spider-walk{0%{transform:translateX(-40px) rotate(-7deg)}25%{transform:translateX(25vw) rotate(7deg)}50%{transform:translateX(50vw) rotate(-7deg)}75%{transform:translateX(75vw) rotate(7deg)}100%{transform:translateX(100vw) rotate(-7deg)}}
@keyframes seasonal-snow{to{transform:translateY(105vh) rotate(180deg)}}
.seasonal-paused .seasonal-spider,.seasonal-paused .seasonal-snow{animation-play-state:paused}
.seasonal-paused .seasonal-spider{left:16px;transform:none!important;animation:none}
.seasonal-paused .seasonal-snow{display:none}
.offer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.offer-card{min-width:0}.offer-price span{white-space:nowrap}
@media(max-width:640px){.offer-grid{grid-template-columns:1fr}.seasonal-spider{font-size:25px}.seasonal-corner{font-size:28px}}
@media(prefers-reduced-motion:reduce){.seasonal-spider,.seasonal-snow{animation:none}.seasonal-spider{left:16px}.seasonal-snow{display:none}}

.seasonal-web{position:absolute;top:-12px;font-size:70px;line-height:1;opacity:.55;filter:drop-shadow(0 1px 1px #19334a22)}
.web-left{left:-14px;transform:rotate(-20deg)}.web-right{right:-14px;transform:rotate(20deg)}
.seasonal-witch{position:absolute;top:4px;left:0;font-size:34px;line-height:1;white-space:nowrap;opacity:.9;animation:witch-flight 30s linear infinite;will-change:transform}
.seasonal-witch>span{display:inline-block;margin-left:-12px;font-size:28px;transform:rotate(-25deg) translateY(8px)}
@keyframes witch-flight{0%{transform:translateX(-110px) translateY(8px) rotate(-8deg)}30%{transform:translateX(105vw) translateY(0) rotate(8deg)}30.01%,100%{transform:translateX(105vw);visibility:hidden}}
.seasonal-paused .seasonal-witch{animation:none;left:calc(50% - 35px);transform:none}
@media(max-width:640px){.seasonal-web{font-size:52px}.seasonal-witch{font-size:28px}.seasonal-witch>span{font-size:24px}}
@media(prefers-reduced-motion:reduce){.seasonal-witch{animation:none;left:calc(50% - 35px);transform:none}}

/* October backdrop: violet dusk and warm orange glows, with light reading surfaces. */
:root[data-season="halloween"] body{min-height:100vh;background-color:#21132f;background-image:radial-gradient(ellipse at 0 8%,#ab4e2873 0,transparent 44%),radial-gradient(ellipse at 100% 75%,#79418680 0,transparent 48%),linear-gradient(135deg,#301b42,#171024 60%,#3b2045);background-attachment:fixed}
:root[data-season="halloween"] .landing header .brand,:root[data-season="halloween"] .onboarding header .brand{color:#fff3e6}
:root[data-season="halloween"] .landing header .brand small,:root[data-season="halloween"] .onboarding header .brand small{color:#d5c8e2}
:root[data-season="halloween"] .landing header .brand em,:root[data-season="halloween"] .onboarding header .brand em,:root[data-season="halloween"] .landing header .text-btn{color:#ffb879}
:root[data-season="halloween"] .hero-copy{background:#fffaf4f5;border:1px solid #f6c69d80;padding:32px;border-radius:24px;box-shadow:0 18px 65px #0003,0 0 40px #e8862420}
:root[data-season="halloween"] .hero h1{font-size:clamp(2.5rem,4.4vw,3.5rem)}
:root[data-season="halloween"] .hero-art{box-shadow:0 25px 70px #0005,0 0 55px #e8862433;border:1px solid #f5a85c66}
:root[data-season="halloween"] .promises{background:#fffaf4f5;padding:28px;border:1px solid #f6c69d80;border-radius:20px;margin-bottom:24px}
:root[data-season="halloween"] .landing footer{color:#e6d6ec;border-color:#70516f}
:root[data-season="halloween"] .landing footer .text-btn{color:#ffb879}
:root[data-season="halloween"] .page-heading h1,:root[data-season="halloween"] .chat-heading h2{color:#fff3e6}
:root[data-season="halloween"] .page-heading h1 em,:root[data-season="halloween"] .page-heading .eyebrow{color:#ffb879}
:root[data-season="halloween"] .page-heading p,:root[data-season="halloween"] .chat-heading small{color:#e6d6ec}
:root[data-season="halloween"] .chat-heading>.text-btn{color:#ffb879}
:root[data-season="halloween"] .coastal-sign{color:#e6d6ec}
:root[data-season="halloween"] .coastal-sign em{color:#ffb879}
:root[data-season="halloween"] .empty,:root[data-season="halloween"] .locked-panel{background:var(--white);border:1px solid var(--line);border-radius:20px}
:root[data-season="halloween"] .loading{color:#fff3e6}
:root[data-season="halloween"] .loading p{color:#e6d6ec}
:root[data-season="halloween"] .seasonal-web{opacity:.8;filter:drop-shadow(0 2px 4px #0007)}
@media(max-width:640px){:root[data-season="halloween"] .hero-copy{padding:25px 20px;border-radius:20px}:root[data-season="halloween"] .hero h1{font-size:2.6rem;letter-spacing:-1.4px}:root[data-season="halloween"] .promises{padding:24px 20px}:root[data-season="halloween"] .hero{padding-top:20px}}

.analytics-period{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.analytics-table-wrap{overflow-x:auto}.analytics-table{border-collapse:collapse;width:100%;font-size:1rem;margin:12px 0 24px}.analytics-table th,.analytics-table td{text-align:left;padding:12px 8px;border-bottom:1px solid #eadbd7}.analytics-table th{font-weight:600}

.discovery-tools{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 24px}.discovery-tools .small-note{width:100%;margin:0}.special-like-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:1px solid #dfaa49;border-radius:20px;background:#fff5d9;color:#754e08;font-size:26px;min-width:100px;min-height:64px;padding:8px;cursor:pointer}.special-like-btn small{font-size:14px}.discovery-tools button:disabled{opacity:.5;cursor:default}@media(max-width:600px){.discovery-tools>.secondary{width:100%;white-space:normal}.special-like-btn{min-width:90px}}

.demo-photo{position:relative;background-image:url('/demo-portraits.png');background-size:300% 200%;background-repeat:no-repeat;background-color:#e5e5e5;height:100%;width:100%}.demo-photo-0{background-position:0 0}.demo-photo-1{background-position:50% 0}.demo-photo-2{background-position:100% 0}.demo-photo-3{background-position:0 100%}.demo-photo-4{background-position:50% 100%}.demo-photo-5{background-position:100% 100%}.demo-photo>span{position:absolute;top:12px;left:12px;bottom:auto;right:auto;background:#12252fe8;color:white;border-radius:8px;padding:8px 12px;font-size:14px;line-height:1.4;z-index:2;max-width:calc(100% - 24px)}.demo-photo>span small{font-size:12px}.placeholder-portrait{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.placeholder-portrait>.icon{width:80px;height:80px}.demo-banner{font-size:14px;line-height:1.6}.demo-banner .text-btn{font-size:14px}
@supports(width:1cqw){.demo-photo{container-type:size;background-image:none;overflow:hidden;--portrait-position:0 0}.demo-photo::before{content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max(100cqw,100cqh);height:max(100cqw,100cqh);background-image:url('/demo-portraits.png');background-size:300% 200%;background-position:var(--portrait-position);background-repeat:no-repeat}.demo-photo-1{--portrait-position:50% 0}.demo-photo-2{--portrait-position:100% 0}.demo-photo-3{--portrait-position:0 100%}.demo-photo-4{--portrait-position:50% 100%}.demo-photo-5{--portrait-position:100% 100%}}

.member-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:20px 0}.member-tile{position:relative;display:block;width:100%;aspect-ratio:3/4;overflow:hidden;padding:0;border:0;border-radius:18px;background:#172833;color:white;text-align:left;cursor:pointer;box-shadow:0 6px 20px #0002}.member-tile>img,.member-tile>.demo-portrait{width:100%;height:100%;object-fit:cover}.member-tile:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#000c);pointer-events:none}.tile-caption{position:absolute;z-index:2;bottom:16px;left:14px;right:14px;display:flex;flex-direction:column;gap:5px;line-height:1.35}.tile-caption strong{font-size:20px}.tile-caption>span{font-size:14px}.tile-badge{position:absolute;z-index:3;top:12px;right:12px;border-radius:20px;padding:6px 10px;background:#fff;color:#8b3826;font-size:14px;font-weight:600}.member-tile:focus-visible{outline:3px solid #eaa54d;outline-offset:4px}.activity-tabs{display:flex;gap:8px;margin:0 0 22px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:14px}.activity-tabs button{flex:1;min-width:0;padding:12px 6px;background:transparent;border:0;border-radius:10px;font-size:16px;color:#5c4b49;cursor:pointer}.activity-tabs button.active{background:#f8e8df;color:#803a29;font-weight:700}.activity-tabs button span{display:inline-block;min-width:22px;margin-left:4px;font-size:14px}.conversation-list{background:white;border:1px solid var(--line);border-radius:18px;overflow:hidden}.conversation-row{display:flex;align-items:center;gap:16px;width:100%;padding:18px;background:white;border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;color:var(--ink)}.conversation-row>img,.conversation-avatar{width:62px;height:62px;object-fit:cover;border-radius:50%;flex-shrink:0}.conversation-avatar{display:grid;place-items:center;background:#f8e8df}.conversation-row>span:not(.conversation-avatar){display:flex;flex-direction:column;gap:5px;flex:1}.conversation-row strong{font-size:18px}.conversation-row small{font-size:14px}.conversation-row span>span{font-size:16px;color:#914932}.detail-note{padding:12px;background:#f8e8df;border-radius:10px;color:#803a29}.member-detail>.primary{margin:12px 0}.member-detail .profile-card{max-width:100%}
@media(max-width:1100px){.member-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:640px){.member-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tile-caption{left:10px;right:10px;bottom:12px}.tile-caption strong{font-size:18px}.tile-badge{font-size:12px;padding:5px 7px;right:8px;top:8px}.activity-tabs button{font-size:14px}.activity-tabs button span{margin-left:0}.member-tile .demo-photo>span{font-size:12px;left:6px;top:6px;padding:5px}.member-tile .demo-photo>span small{font-size:12px}.conversation-row{padding:14px;gap:12px}}

.conversation-row>span:not(.conversation-avatar){min-width:0}.conversation-row span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-row:focus-visible,.activity-tabs button:focus-visible{outline:3px solid #eaa54d;outline-offset:-3px}
