@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#0c0b0f;--panel:#1c1921;--line:#39333d;--text:#f8f5f7;--muted:#aaa1ad;--accent:#e55e59}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{width:min(1180px,calc(100% - 40px));margin:auto}.topbar{height:66px;border-bottom:1px solid #302933;background:#0e0c10e8;position:sticky;top:0;z-index:20;backdrop-filter:blur(15px)}.topbar-inner{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{font:800 22px Manrope,sans-serif;letter-spacing:-.06em}.hearts{color:var(--accent);margin-right:8px}.topbar nav{display:flex;align-items:center;gap:25px;color:#c9c2cc;font-size:14px}.topbar nav a:hover,footer a:hover{color:#ffaaa0}.pill{border:0;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 22px;border-radius:100px;background:linear-gradient(135deg,#ea7169,#d94d51);color:white!important;font-weight:700;box-shadow:0 5px 20px #e55e593b}.pill:hover{filter:brightness(1.1)}.pill.ghost{background:#211b22;border:1px solid #61414d;box-shadow:none}.eyebrow{font-size:11px;letter-spacing:.25em;font-weight:800;color:#ff9d93}.hero{position:relative;padding:90px 0 105px}.hero:before{content:'';position:absolute;inset:0 10% auto;height:480px;background:radial-gradient(ellipse,#6a24284d,transparent 65%);pointer-events:none}.hero-content{text-align:center;position:relative}.hero-mark{position:absolute;left:calc(50% - 205px);top:0;color:#e86864;font-size:35px;transform:rotate(-20deg)}.hero-mark span+span{position:relative;top:26px;left:-7px;font-size:25px;color:#ffa69b}.hero h1{font:800 clamp(78px,12vw,132px)/1 Manrope,sans-serif;letter-spacing:-.09em;margin:14px 0 24px}.hero h1 span,.city-intro h1 span{color:var(--accent)}.hero-content>p{max-width:510px;margin:auto;color:#b8aeb9;font-size:19px;line-height:1.6}.hero-stats{display:flex;justify-content:center;gap:28px;color:#aea4af;font-size:13px;margin:28px 0 50px}.hero-stats b{color:white;margin-right:5px}.city-panel{position:relative;background:linear-gradient(140deg,#201b22,#19171f);border:1px solid #3c343e;border-radius:22px;padding:28px 31px;box-shadow:0 24px 90px #0006}.panel-head{display:flex;justify-content:space-between;color:#aaa0ad;margin-bottom:19px}.panel-head>span{font-size:12px;font-weight:800;letter-spacing:.25em}.panel-head small{font-size:12px}.panel-head b{color:white}.city-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.city-grid a{display:flex;justify-content:space-between;align-items:center;background:#211e27;border:1px solid #3b3540;border-radius:13px;padding:12px 14px;min-height:48px;font-size:14px;color:#e0d8e0}.city-grid a:hover{border-color:var(--accent);background:#2d242c}.city-count{color:#907d8e;font-size:12px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:25px}.section-heading h2,.cta h2{font:800 clamp(30px,4vw,46px) Manrope,sans-serif;letter-spacing:-.055em;margin:6px 0}.section-heading>a,.back{color:#ff9d93;font-size:14px;font-weight:700}.how{padding:5px 0 110px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.steps>div{background:linear-gradient(130deg,#1e1a22,#151319);border:1px solid #332d37;border-radius:18px;padding:28px}.steps b{color:var(--accent);font-size:12px}.steps h3{margin:32px 0 10px}.steps p,.cta p,.muted{color:var(--muted);line-height:1.6}.cta{display:flex;justify-content:space-between;align-items:center;background:radial-gradient(circle at 70% 50%,#6f303a55,transparent 45%),#211921;border:1px solid #5b3644;border-radius:22px;padding:35px 42px;margin-bottom:100px}.cta p{margin:4px 0}footer{background:#121015;border-top:1px solid #302933;padding:55px 0 25px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.footer-grid>div{display:flex;flex-direction:column;gap:12px}.footer-grid strong{font:800 22px Manrope,sans-serif}.footer-grid p,.footer-grid span,.copyright{color:#8f8591;font-size:13px}.footer-grid a{font-size:14px;color:#c8c0ca}.copyright{border-top:1px solid #302933;padding-top:23px;margin-top:50px}.city-page,.profile-page{padding:50px 0 100px}.city-intro{max-width:760px}.city-intro h1,.text-page h1,.admin-main h1,.profile-info h1{font:800 clamp(34px,5vw,58px) Manrope,sans-serif;letter-spacing:-.055em;margin:10px 0}.city-intro p,.text-page>p{color:var(--muted);line-height:1.7}.filters{display:flex;align-items:end;gap:12px;background:#19171d;border:1px solid #302b34;border-radius:17px;padding:17px;margin:40px 0 50px}.filters label{flex:1}.filters label span{display:block;font-size:11px;color:#a99ea9;letter-spacing:.14em;margin-bottom:7px}.filters select,.filters input,.form-grid input,.form-grid select,.form-grid textarea,.form-row input{width:100%;background:#211e26;border:1px solid #413946;border-radius:11px;color:#f7f3f4;outline:none;min-height:46px;padding:11px 14px}.filters input:focus,.filters select:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.form-row input:focus{border-color:var(--accent)}.city-page .section-heading{border-bottom:1px solid #302a33;padding-bottom:14px}.city-page .section-heading h2{font-size:26px}.city-page .section-heading span{color:var(--muted);font-size:13px}.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.profile-card{overflow:hidden;border:1px solid #332d37;border-radius:18px;background:#19161d}.profile-card:hover{border-color:var(--accent);transform:translateY(-3px)}.card-image{height:270px;position:relative;background:#25212b}.card-image img{width:100%;height:100%;object-fit:cover}.tier{position:absolute;top:12px;left:12px;border-radius:100px;background:#151116dc;border:1px solid #6b4555;padding:5px 11px;color:#f7c7c2;font-size:11px}.card-copy{padding:17px}.card-copy strong,.card-copy span{display:block}.card-copy strong{font-size:18px}.card-copy span,.card-copy p{font-size:13px;color:var(--muted)}.card-copy p{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin-bottom:0}.empty{text-align:center;padding:45px;background:#19161d;border:1px dashed #413944;border-radius:18px}.empty p{color:var(--muted)}.profile-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:45px;margin-top:28px}.profile-image{border-radius:20px;overflow:hidden;background:#24202a;max-height:650px}.profile-image img{width:100%;height:100%;min-height:500px;object-fit:cover}.profile-info{padding:25px 0}.profile-info h2{font-size:22px;margin-top:38px}.bio{line-height:1.8;color:#d2cbd4}.fineprint{font-size:12px;color:#938996;line-height:1.5;margin-top:30px}.text-page{padding:90px 0 130px;min-height:60vh}.text-page>p{max-width:730px;font-size:18px}.text-page .steps{margin:50px 0}.auth-bg{min-height:75vh;display:grid;place-items:center;padding:70px 20px;background:radial-gradient(circle at 50% 20%,#6b292e35,transparent 45%)}.auth-card{width:min(480px,100%);padding:38px;background:#1c1820;border:1px solid #433441;border-radius:23px;box-shadow:0 24px 90px #0006}.auth-card h1{font:800 34px Manrope,sans-serif;letter-spacing:-.05em;margin:13px 0}.auth-card>p{color:var(--muted);line-height:1.6}.form-grid{display:grid;gap:18px}.form-grid label,.form-row label{display:grid;gap:8px;font-size:13px;color:#ccc3cf}.form-grid textarea{resize:vertical}.form-grid .check{display:flex;align-items:flex-start;line-height:1.5}.check input{width:auto!important;min-height:0!important;margin:4px 6px 0 0;accent-color:var(--accent)}.check a,.auth-switch a{color:#ff9d93}.form-grid .pill{justify-self:start}.auth-switch{font-size:13px}.alert,.success{border-radius:10px;padding:12px 15px;margin:18px 0;font-size:13px}.alert{background:#5d2527;color:#ffe1de;border:1px solid #a85151}.success{background:#1d4837;color:#c8f4dd;border:1px solid #397352}.admin-layout{display:grid;grid-template-columns:220px 1fr;gap:40px;padding:45px 0 100px;min-height:70vh}.admin-sidebar{background:#18151c;border:1px solid #312b34;border-radius:17px;padding:20px;height:max-content;position:sticky;top:90px}.admin-sidebar h2{font-size:18px;margin:10px 0 25px}.admin-sidebar>a{display:block;padding:12px;border-radius:10px;font-size:14px;color:#bbb0bd}.admin-sidebar>a:hover,.admin-sidebar>a.active{background:#34242d;color:white}.admin-main h1{font-size:39px}.admin-form{max-width:760px;margin-top:28px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px;align-items:end}.form-row .pill{justify-self:start}.edit-photo{width:130px;height:150px;object-fit:cover;border-radius:12px}.admin-list{display:grid;gap:10px;margin-top:25px}.admin-item{display:flex;align-items:center;gap:16px;padding:12px;border:1px solid #302b34;background:#19161d;border-radius:13px}.admin-item img{width:56px;height:60px;object-fit:cover;border-radius:8px}.admin-item div{flex:1}.admin-item strong,.admin-item div span{display:block}.admin-item div span{color:var(--muted);font-size:12px;margin-top:5px}.admin-item>a{font-size:13px;color:#ff9d93}.status{font-size:11px;padding:7px 10px;border-radius:100px;background:#39323d}.status-published{background:#1c4533;color:#b9efd0}.status-pending{background:#55402b;color:#ffdbab}.city-tags{display:flex;flex-wrap:wrap;gap:10px;margin:25px 0 35px}.city-tags span{background:#211c25;border:1px solid #443946;border-radius:100px;padding:9px 13px;font-size:13px}.age-overlay{position:fixed;inset:0;background:#070608ef;backdrop-filter:blur(15px);z-index:100;display:grid;place-items:center;padding:20px}.age-box{width:min(420px,100%);padding:36px;border-radius:22px;background:#201922;border:1px solid #75454b;text-align:center}.age-box h2{font:800 30px Manrope,sans-serif}.age-box p{color:var(--muted);line-height:1.6}.age-actions{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:25px}.age-actions>a{font-size:13px;color:var(--muted)}
@media(max-width:850px){.city-grid{grid-template-columns:repeat(3,1fr)}.card-grid{grid-template-columns:repeat(3,1fr)}.topbar nav{gap:15px}}@media(max-width:640px){.shell{width:calc(100% - 28px)}.topbar{height:60px}.topbar nav a:not(.pill){display:none}.brand{font-size:19px}.hero{padding:70px 0 65px}.hero h1{font-size:80px}.hero-mark{left:calc(50% - 135px);font-size:24px}.hero-content>p{font-size:16px}.hero-stats{font-size:11px;margin-bottom:36px}.city-panel{padding:20px 14px}.panel-head{display:block}.panel-head small{display:block;margin-top:8px}.city-grid{grid-template-columns:repeat(2,1fr)}.city-grid a{font-size:13px;padding:8px 10px}.steps,.footer-grid,.profile-layout,.admin-layout{grid-template-columns:1fr}.how{padding-bottom:70px}.steps h3{margin-top:20px}.cta{padding:25px;display:block;margin-bottom:70px}.cta .pill{margin-top:20px}.filters{display:grid}.card-grid{grid-template-columns:repeat(2,1fr);gap:10px}.card-image{height:190px}.card-copy{padding:12px}.card-copy strong{font-size:15px}.card-copy span{font-size:11px}.profile-image img{min-height:350px}.admin-layout{gap:22px}.admin-sidebar{position:static}.admin-sidebar>a{display:inline-block}.form-row{grid-template-columns:1fr}.admin-item{flex-wrap:wrap}}
.photo-thumbs,.edit-gallery{display:flex;gap:9px;flex-wrap:wrap;margin-top:13px}.photo-thumb{padding:0;width:68px;height:72px;border:2px solid transparent;border-radius:10px;overflow:hidden;background:#211b24}.photo-thumb.selected,.photo-thumb:hover{border-color:var(--accent)}.photo-thumb img,.edit-gallery img{width:100%;height:100%;object-fit:cover}.edit-gallery img{width:75px;height:80px;border-radius:9px}
.edit-image{display:grid;gap:5px;font-size:11px;color:#bfb4c2}.edit-image span{display:flex;align-items:center;gap:4px}.edit-image input{width:auto;min-height:0;accent-color:var(--accent)}
