@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap";:root{--bg: #ffffff;--surface: #f5f7fb;--card: #ffffff;--border: rgba(17, 17, 17, .08);--text: #111111;--text-muted: #5b6776;--brand: #2f80ed;--brand-strong: #1c6dd6;--brand-soft: rgba(47, 128, 237, .12);--like: #16a34a;--pass: #ef4444;--radius: 18px;--radius-sm: 12px;--shadow: 0 10px 26px rgba(17, 17, 17, .1);--font-sans: "Manrope", system-ui, sans-serif}html[data-theme=dark]{--bg: #0b0d12;--surface: #12151b;--card: #0f1217;--border: rgba(255, 255, 255, .12);--text: #ffffff;--text-muted: #a8b0bd}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}a{color:var(--brand);text-decoration:none}button{font-family:inherit;cursor:pointer}.btn{display:inline-block;padding:.9rem 1.1rem;background:var(--brand);color:#fff;font-weight:800;border-radius:999px;border:none;cursor:pointer;font-size:1rem}.btn:hover{background:var(--brand-strong)}.btn-ghost{background:transparent;color:var(--brand);border:1px solid rgba(47,128,237,.3);border-radius:999px}.btn-ghost:hover{background:var(--brand-soft)}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.4rem;color:var(--text-muted);font-size:.9rem}.form-group input,.form-group textarea{width:100%;padding:.85rem 1rem;border-radius:14px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:1rem}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted);opacity:.7}.form-group textarea{min-height:100px;resize:vertical}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:56px;padding:0 16px;background:var(--bg);border-bottom:1px solid var(--border)}.topbar .title{grid-column:2;justify-self:center;font-weight:800;letter-spacing:.06em;color:var(--brand);font-size:1.05rem}.topbar .topbar-right{grid-column:3;justify-self:end;display:flex;align-items:center;gap:8px}.workarea{flex:1;padding:16px 16px 72px;max-width:520px;margin:0 auto;width:100%;position:relative;z-index:0}.workarea.chat-full{max-width:none;padding-left:0;padding-right:0}.bottomnav{position:fixed;bottom:0;left:0;right:0;height:64px;background:var(--bg);border-top:1px solid var(--border);display:flex;padding:8px;gap:6px;z-index:1000}.navbtn{flex:1;border:none;background:transparent;border-radius:14px;color:var(--text-muted);font-weight:700;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.navbtn.active{background:var(--brand-soft);color:var(--brand)}.navbtn .icon{font-size:1.15rem;display:inline-flex;color:inherit}.discover-card{background:var(--card);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--border)}.discover-card .imageWrap{position:relative;aspect-ratio:4/5;min-height:280px;background:var(--surface);overflow:hidden}.discover-card .imageWrap img{width:100%;height:100%;object-fit:cover;display:block}.discover-card .card-overlay{position:absolute;bottom:0;left:0;right:0;padding:1.25rem;background:linear-gradient(transparent,#000000bf);color:#fff;z-index:1}.discover-card .card-overlay .name{display:block;font-size:1.35rem;font-weight:900}.discover-card .card-overlay .city{font-size:.9rem;opacity:.9}.discover-card .bio{padding:1rem 1.25rem;margin:0;color:var(--text-muted);font-size:.95rem}.discover-actions{display:flex;justify-content:center;gap:1.5rem;padding:1rem}.discover-actions button{width:56px;height:56px;border-radius:50%;border:none;font-size:1.5rem;cursor:pointer}.discover-actions .passBtn{background:var(--surface);color:var(--pass);border:2px solid rgba(239,68,68,.35)}.discover-actions .likeBtn{background:#16a34a33;color:var(--like);border:2px solid rgba(22,163,74,.5)}.discover-actions .superBtn{background:var(--brand-soft);color:var(--brand);border:2px solid rgba(47,128,237,.6)}.discover-actions.square-buttons button{border-radius:var(--radius-sm)}.match-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--card);border-radius:var(--radius-sm);border:1px solid var(--border);text-decoration:none;color:inherit}.match-item:hover{background:var(--surface)}.match-item .avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;background:var(--surface)}.match-item .name{font-weight:600;margin-bottom:.2rem}.match-item .preview{font-size:.85rem;color:var(--text-muted)}.avatar-upload{aspect-ratio:1;max-width:200px;margin:0 auto 1rem;border-radius:50%;background:var(--surface);border:2px dashed rgba(47,128,237,.35);display:flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:pointer;overflow:hidden}.avatar-upload img{width:100%;height:100%;object-fit:cover}.empty{text-align:center;padding:3rem 1rem;background:var(--card);border-radius:var(--radius);border:1px dashed var(--border)}.empty p{margin:0 0 1rem;color:var(--text-muted)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:200;display:flex;align-items:center;justify-content:center;padding:16px}.overlay.hidden{display:none}.overlay.over-nav{z-index:1100}.overlay.profile-fullscreen{align-items:stretch;padding:0;z-index:9999;min-height:100dvh;min-height:100vh}.overlay.profile-fullscreen .modal{max-width:none;width:100%;height:100%;max-height:none;border-radius:0;border:none;flex:1;min-height:0}.modal{background:var(--card);border-radius:var(--radius);max-width:400px;width:100%;max-height:85vh;overflow-y:auto;border:1px solid var(--border);box-shadow:var(--shadow)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.modal-header .h2{margin:0;font-size:1.15rem}.modal-close{width:36px;height:36px;border:none;background:var(--surface);border-radius:50%;color:var(--text-muted);font-size:1.25rem;cursor:pointer}.modal-close svg{width:20px;height:20px}.modal-body{padding:1.25rem}.modal-body .form-group{margin-bottom:1rem}.modal-footer{padding:1rem 1.25rem;border-top:1px solid var(--border);display:flex;gap:10px;justify-content:flex-end}.filter-btn{padding:8px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-weight:700;font-size:.85rem;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.filter-btn:hover{background:var(--brand-soft);color:var(--brand)}.filters-bar .chip{padding:.5rem .9rem;border-radius:999px;background:var(--surface);color:var(--text-muted);font-size:.85rem;border:1px solid var(--border);cursor:pointer;font-weight:800}.filters-bar .chip.active{background:var(--brand-soft);color:var(--brand);border-color:#2f80ed40}.modal-body .chip{border:1px solid var(--border)}.modal-body .chip.active{background:var(--brand-soft);color:var(--brand);border-color:#2f80ed40}.range-slider{position:relative;height:28px}.range-track{position:absolute;top:50%;left:0;right:0;height:6px;margin-top:-3px;background:var(--surface);border-radius:3px;border:1px solid var(--border);z-index:0}.range-fill{position:absolute;top:50%;height:6px;margin-top:-3px;background:var(--brand, #2f80ed);border-radius:3px;pointer-events:none;z-index:3}.range-input{position:absolute;left:0;right:0;top:0;bottom:0;width:100%;margin:0;padding:0;background:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.range-input::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--brand);border:2px solid rgba(255,255,255,.9);cursor:pointer;box-shadow:0 1px 3px #0003}.range-input::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--brand);border:2px solid rgba(255,255,255,.9);cursor:pointer;box-shadow:0 1px 3px #0003}.range-input-min{z-index:2}.range-input-max{z-index:1}.range-input-min::-webkit-slider-runnable-track{background:transparent}.range-input-min::-moz-range-track{background:transparent}.range-input-max::-webkit-slider-runnable-track{background:transparent}.range-input-max::-moz-range-track{background:transparent}.age-range-slider{position:relative;height:28px;width:100%;cursor:pointer}.age-range-track{position:absolute;top:50%;left:0;right:0;height:6px;margin-top:-3px;background:var(--surface);border-radius:3px;border:1px solid var(--border);z-index:0}.age-range-fill{position:absolute;top:50%;height:6px;margin-top:-3px;background:var(--brand, #2f80ed);border-radius:3px;pointer-events:none;z-index:1}.age-range-thumb{position:absolute;top:50%;width:20px;height:20px;margin-left:-10px;margin-top:-10px;border-radius:50%;background:var(--brand);border:2px solid rgba(255,255,255,.9);box-shadow:0 1px 3px #0003;cursor:grab;z-index:2;touch-action:none}.age-range-thumb:active{cursor:grabbing}.online-dot{position:absolute;bottom:0;right:0;width:10px;height:10px;background:#22c55e;border:2px solid var(--card);border-radius:50%}.discover-actions button:disabled{opacity:.5;cursor:not-allowed}.skeleton{background:linear-gradient(90deg,var(--surface) 25%,var(--border) 50%,var(--surface) 75%);background-size:200% 100%;animation:skeleton 1.5s ease infinite;border-radius:var(--radius)}@keyframes skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}.discover-card.swipe-left{animation:swipeLeft .25s ease-out forwards;pointer-events:none}.discover-card.swipe-right{animation:swipeRight .25s ease-out forwards;pointer-events:none}.discover-card{touch-action:pan-y}.gifts-scroll{-ms-overflow-style:none;scrollbar-width:none}.gifts-scroll::-webkit-scrollbar{display:none}.admin-shell .admin-workarea{max-width:none;padding:0}.admin-shell .admin-topbar{border-bottom:1px solid var(--border)}.toast-container{position:fixed;bottom:90px;left:50%;transform:translate(-50%);z-index:300;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{padding:12px 20px;border-radius:12px;font-size:.9rem;font-weight:600;box-shadow:var(--shadow);animation:toastIn .2s ease}.toast-info{background:var(--card);border:1px solid var(--border);color:var(--text)}.toast-success{background:var(--like);color:#fff}.toast-error{background:var(--pass);color:#fff}@keyframes toastIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes swipeLeft{to{transform:translate(-120%);opacity:0}}@keyframes swipeRight{to{transform:translate(120%);opacity:0}}
