@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,600;9..144,700&display=swap');
:root{font-family:"DM Sans",sans-serif;color:#25202b;background:#fff7fa;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 6% 3%,#ffd6df 0,transparent 25rem),radial-gradient(circle at 93% 96%,#ffe4b5 0,transparent 25rem),#fff9fb}button,input{font:inherit}button{cursor:pointer}.app-frame{min-height:100vh}.topbar{align-items:center;background:rgba(255,249,251,.88);backdrop-filter:blur(18px);border-bottom:1px solid #f0e3e8;display:flex;height:74px;justify-content:space-between;padding:0 max(24px,calc((100vw - 1180px)/2));position:sticky;top:0;z-index:20}.brand{align-items:center;background:transparent;border:0;color:#2c2330;display:flex;font-size:1.35rem;font-weight:700;gap:8px;letter-spacing:-.055em}.brand-mark{align-items:center;background:#ff3f6c;border-radius:12px;color:white;display:grid;height:35px;place-items:center;transform:rotate(-8deg);width:35px}.desktop-nav{display:flex;gap:8px;height:100%}.nav-item{background:transparent;border:0;color:#7e717c;font-size:.9rem;font-weight:600;padding:0 15px;position:relative}.nav-item.active{color:#29222c}.nav-item.active:after{background:#ff3f6c;border-radius:3px;bottom:0;content:"";height:3px;left:14px;position:absolute;right:14px}.nav-count{background:#ff3f6c;border-radius:20px;color:white;font-size:.7rem;margin-left:5px;padding:2px 6px}.profile-button{background:transparent;border:0;border-radius:50%;height:43px;padding:0;width:43px}.profile-button img{border:2px solid white;border-radius:50%;box-shadow:0 3px 12px #ac7e8f55;height:100%;object-fit:cover;width:100%}.view{display:none}.view.active{display:block}.discover-layout{display:grid;gap:42px;grid-template-columns:minmax(0,600px) 330px;margin:0 auto;max-width:1020px;padding:34px 24px 52px}.section-heading,.rail-title{align-items:end;display:flex;justify-content:space-between;margin-bottom:17px}.eyebrow{color:#b65e76;font-size:.72rem;font-weight:700;letter-spacing:.16em;margin:0 0 7px;text-transform:uppercase}h1,h2{font-family:Fraunces,Georgia,serif;letter-spacing:-.045em;margin:0}.section-heading h1{font-size:clamp(1.75rem,4vw,2.35rem)}.round-utility{background:white;border:1px solid #f0e0e5;border-radius:50%;color:#b76378;font-size:1.3rem;height:42px;transition:.2s;width:42px}.round-utility:hover{transform:rotate(80deg)}.cat-card{background:#d6c0ab;border-radius:30px;box-shadow:0 22px 54px rgba(92,45,63,.2);height:min(66vh,650px);min-height:520px;overflow:hidden;position:relative;text-align:left;transform-origin:50% 90%}.cat-card>img{height:100%;object-fit:cover;position:relative;transition:opacity .22s;width:100%;z-index:1}.photo-skeleton{background:linear-gradient(100deg,#dac8c0,#eadbd6,#dac8c0);inset:0;position:absolute}.image-fade{background:linear-gradient(transparent 38%,rgba(17,13,20,.82));inset:0;position:absolute;z-index:2}.badge{background:rgba(255,255,255,.93);border-radius:999px;color:#493e49;font-size:.78rem;font-weight:700;left:20px;padding:8px 12px;position:absolute;top:20px;z-index:3}.badge span{background:#36b878;border-radius:50%;display:inline-block;height:7px;margin-right:4px;width:7px}.cat-copy{bottom:0;color:white;left:0;padding:28px;position:absolute;right:0;z-index:3}.cat-title-row{align-items:center;display:flex;justify-content:space-between}.cat-copy h2{font-size:clamp(2.55rem,7vw,3.5rem);line-height:1}.more{background:transparent;border:1.5px solid #fff;border-radius:50%;color:white;font-weight:700;height:32px;width:32px}.trait-row,.dialog-traits{display:flex;flex-wrap:wrap;gap:7px;margin:13px 0}.trait-row span,.dialog-traits span{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.38);border-radius:999px;font-size:.79rem;font-weight:600;padding:6px 10px}.cat-copy>p{font-size:.93rem;line-height:1.45;margin:10px 0 0;max-width:520px}.actions{align-items:center;display:flex;gap:18px;justify-content:center;margin:-31px auto 0;position:relative;z-index:5}.action{align-items:center;background:white;border:0;border-radius:50%;box-shadow:0 8px 22px rgba(77,41,54,.18);display:grid;font-weight:700;height:62px;place-items:center;transition:.16s;width:62px}.action:hover{box-shadow:0 12px 25px rgba(77,41,54,.27);transform:translateY(-3px) scale(1.04)}.undo{color:#8b7cc9;font-size:1.45rem;height:48px;width:48px}.nope{color:#e15470;font-size:2.35rem}.like{background:#ff416d;color:#fff;font-size:1.55rem}.super{color:#d8951d;font-size:1.35rem;height:51px;width:51px}.hint{color:#827582;font-size:.82rem;margin:15px 0 0;text-align:center}.matches-rail{padding-top:64px}.rail-title h2{font-size:1.55rem}.rail-title button{background:transparent;border:0;color:#ec456b;font-size:.8rem;font-weight:700}.match-stack{display:flex;flex-direction:column;gap:9px}.match-row{align-items:center;background:rgba(255,255,255,.75);border:1px solid #f0e1e6;border-radius:18px;display:flex;padding:10px;text-align:left;transition:.18s;width:100%}.match-row:hover{background:white;transform:translateX(3px)}.match-row img{border-radius:14px;height:54px;object-fit:cover;width:54px}.match-row>span{display:flex;flex:1;flex-direction:column;min-width:0;padding:0 11px}.match-row b{font-size:.9rem}.match-row small{color:#8b7d87;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.match-row em{color:#c7aeb7;font-size:1.4rem;font-style:normal}.messages-shell{background:white;border:1px solid #f0e3e7;border-radius:25px;box-shadow:0 18px 48px #84536b1c;display:grid;grid-template-columns:350px minmax(0,1fr);height:calc(100vh - 118px);margin:22px auto;max-width:1100px;min-height:580px;overflow:hidden}.conversation-list{border-right:1px solid #efe4e7;overflow:auto}.messages-header{padding:28px 24px 20px}.messages-header h1{font-size:2rem}.messages-header>p:last-child{color:#8c7e87;font-size:.84rem;margin:8px 0 0}.conversation{align-items:center;background:white;border:0;border-top:1px solid #f5edf0;display:flex;padding:13px 17px;text-align:left;width:100%}.conversation:hover,.conversation.active{background:#fff2f6}.avatar-wrap{height:55px;position:relative;width:55px}.avatar-wrap img{border-radius:17px;height:100%;object-fit:cover;width:100%}.avatar-wrap i{background:#39bd78;border:2px solid white;border-radius:50%;bottom:-1px;height:11px;position:absolute;right:-1px;width:11px}.conversation-copy{display:flex;flex:1;flex-direction:column;min-width:0;padding:0 10px}.conversation-copy small{color:#817580;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation time{color:#a0929b;font-size:.7rem}.chat-panel{display:flex;flex-direction:column;min-width:0}.chat-header{align-items:center;border-bottom:1px solid #f0e7ea;display:flex;height:78px;padding:10px 22px}.chat-header img{border-radius:14px;height:50px;object-fit:cover;width:50px}.chat-header div{padding-left:12px}.chat-header h2{font-family:"DM Sans",sans-serif;font-size:1rem;letter-spacing:0}.chat-header p{color:#36a36c;font-size:.76rem;margin:4px 0 0}.mobile-back{display:none;background:transparent;border:0;font-size:2rem}.chat-feed{background:linear-gradient(#fffafd,#fff);display:flex;flex:1;flex-direction:column;gap:14px;overflow:auto;padding:24px}.empty-chat{margin:auto;max-width:340px;text-align:center}.empty-chat span{color:#ff4c75;font-size:2.5rem}.empty-chat h2{font-size:1.6rem;margin:8px}.empty-chat p{color:#8b7f87;line-height:1.5}.bubble-row{align-items:end;display:flex;gap:8px;max-width:72%}.bubble-row.user{align-self:flex-end}.bubble-row.cat{align-self:flex-start}.bubble-row img{border-radius:50%;height:30px;object-fit:cover;width:30px}.bubble-row>div{display:flex;flex-direction:column}.bubble{border-radius:18px 18px 18px 5px;background:#f0e9ed;line-height:1.35;padding:10px 14px}.user .bubble{background:#ff4b75;color:#fff;border-radius:18px 18px 5px 18px}.bubble-row time{color:#a698a0;font-size:.65rem;margin:4px 4px}.user time{text-align:right}.chat-compose{border-top:1px solid #efe4e8;display:flex;gap:10px;padding:16px 20px}.chat-compose input{background:#f8f2f5;border:1px solid transparent;border-radius:999px;flex:1;font-size:1rem;outline:none;padding:12px 17px}.chat-compose input:focus{border-color:#ff9ab1;background:white}.chat-compose button,.primary-button{background:#ff416d;border:0;border-radius:999px;color:white;font-weight:700;padding:11px 19px}.chat-compose button:disabled{opacity:.4}.profile-card{background:white;border:1px solid #f0e3e7;border-radius:30px;box-shadow:0 20px 60px #82485f20;margin:60px auto;padding:38px;text-align:center;width:min(92%,540px)}.profile-photo-wrap{height:180px;margin:18px auto;position:relative;width:180px}.profile-photo-wrap img{border:6px solid white;border-radius:50%;box-shadow:0 9px 28px #8b53685c;height:100%;object-fit:cover;width:100%}.profile-photo-wrap button{background:#ff416d;border:4px solid white;border-radius:50%;bottom:3px;color:white;font-size:1.2rem;height:43px;position:absolute;right:3px;width:43px}.profile-card h1{font-size:2.4rem}.profile-subtitle{color:#877985}.profile-stats{border-bottom:1px solid #eee2e6;border-top:1px solid #eee2e6;display:grid;grid-template-columns:repeat(3,1fr);margin:28px 0;padding:20px 0}.profile-stats div{display:flex;flex-direction:column}.profile-stats div+div{border-left:1px solid #eee2e6}.profile-stats b{font-size:1.35rem}.profile-stats span{color:#94858e;font-size:.76rem;margin-top:3px}.primary-button{font-size:1rem;padding:14px 24px}dialog{border:0;border-radius:22px;box-shadow:0 20px 80px rgba(42,22,30,.35);color:#372c38;max-width:420px;padding:31px}.close{background:transparent;border:0;color:#8b7784;float:right;font-size:1.6rem}dialog h2{font-size:2rem}dialog>p:last-child{color:#655965;line-height:1.55}.dialog-traits span{background:#fff0f4;border-color:#ffd7e1;color:#a14d66}dialog::backdrop{background:#24141f7a}.toast{background:#31283a;border-radius:999px;bottom:24px;color:white;left:50%;opacity:0;padding:12px 18px;pointer-events:none;position:fixed;transform:translate(-50%,20px);transition:.2s;z-index:40}.toast.show{opacity:1;transform:translate(-50%,0)}.mobile-nav{display:none}@keyframes exit-left{to{opacity:0;transform:translateX(-110%) rotate(-8deg)}}@keyframes exit-right{to{opacity:0;transform:translateX(110%) rotate(8deg)}}@keyframes exit-up{to{opacity:0;transform:translateY(-70%) scale(.85)}}.exit-left{animation:exit-left .34s ease both}.exit-right{animation:exit-right .34s ease both}.exit-up{animation:exit-up .34s ease both}
@media(max-width:840px){.discover-layout{display:block;max-width:630px}.matches-rail{padding-top:45px}.messages-shell{border-radius:0;height:calc(100vh - 74px);margin:0;max-width:none}.desktop-nav{display:none}.messages-shell{grid-template-columns:300px 1fr}.mobile-nav{background:rgba(255,255,255,.96);border-top:1px solid #eee1e6;bottom:0;display:flex;height:68px;justify-content:space-around;left:0;position:fixed;right:0;z-index:30}.mobile-nav button{background:transparent;border:0;color:#8d7e87;display:flex;flex:1;flex-direction:column;font-size:.68rem;gap:3px;justify-content:center}.mobile-nav button span{font-size:1.2rem}.mobile-nav button.active{color:#ff416d}.view{padding-bottom:68px}.topbar{padding:0 18px}}
@media(max-width:620px){.topbar{height:62px}.brand{font-size:1.2rem}.brand-mark{height:31px;width:31px}.profile-button{height:38px;width:38px}.discover-layout{padding:21px 13px 32px}.section-heading{margin:0 5px 13px}.section-heading h1{font-size:1.65rem}.cat-card{border-radius:24px;height:61vh;min-height:480px}.cat-copy{padding:22px 20px}.cat-copy h2{font-size:2.65rem}.cat-copy>p{display:none}.trait-row{margin-bottom:3px}.trait-row span{font-size:.72rem}.actions{gap:12px}.action{height:58px;width:58px}.undo{height:45px;width:45px}.super{height:48px;width:48px}.matches-rail{display:none}.messages-shell{display:block;height:calc(100vh - 130px);min-height:500px}.conversation-list{border:0;height:100%}.chat-panel{display:none;height:100%}.messages-shell.chat-open .conversation-list{display:none}.messages-shell.chat-open .chat-panel{display:flex}.mobile-back{display:block;margin-right:4px}.messages-header{padding:23px 18px 16px}.chat-feed{padding:16px}.bubble-row{max-width:86%}.profile-card{margin:28px auto;padding:30px 20px}.profile-photo-wrap{height:150px;width:150px}}
@media(max-height:760px) and (min-width:621px){.cat-card{height:580px}.discover-layout{padding-top:24px}}

.header-actions,.utility-group{align-items:center;display:flex;gap:10px}.theme-toggle{background:#fff;border:1px solid #eadde2;border-radius:50%;color:#655965;font-size:1.2rem;height:40px;transition:.2s;width:40px}.theme-toggle:hover{transform:translateY(-2px)}.filter-button{background:#fff;border:1px solid #eadde2;border-radius:999px;color:#756873;font-size:.82rem;font-weight:700;padding:10px 13px}.filter-button span{background:#eee5e9;border-radius:999px;margin-left:4px;padding:2px 6px}.filter-button.active{background:#ffedf2;border-color:#ffb4c5;color:#c62e54}.save-cat{background:rgba(255,255,255,.93);border:0;border-radius:50%;color:#ff416d;font-size:1.7rem;height:43px;position:absolute;right:20px;top:20px;width:43px;z-index:4}.save-cat.saved{background:#ff416d;color:#fff}.saved-shell{margin:0 auto;max-width:1100px;padding:48px 24px}.saved-heading{align-items:end;display:flex;justify-content:space-between;margin-bottom:28px}.saved-heading h1{font-size:2.5rem}.saved-heading>div>p:last-child{color:#81747d;margin:8px 0 0}.saved-grid{display:grid;gap:18px;grid-template-columns:repeat(3,1fr)}.saved-card{background:#fff;border:1px solid #f0e3e7;border-radius:22px;box-shadow:0 12px 35px #81536a17;overflow:hidden}.saved-card>img{height:240px;object-fit:cover;width:100%}.saved-card>div{padding:18px}.saved-card h2{font-size:1.55rem}.saved-card>div>p:nth-of-type(2){color:#827680;font-size:.85rem;min-height:38px}.saved-card>div>div{display:flex;gap:8px;margin-top:14px}.saved-match,.saved-remove{border:0;border-radius:999px;font-size:.8rem;font-weight:700;padding:9px 14px}.saved-match{background:#ff416d;color:#fff}.saved-remove{background:#f4edf0;color:#786873}.empty-saved{grid-column:1/-1;padding:80px 20px;text-align:center}.empty-saved>span{color:#ff6485;font-size:3rem}.empty-saved h2{font-size:1.8rem;margin:8px}.empty-saved p{color:#8b7d87;margin-bottom:22px}#filter-dialog{width:min(92vw,460px)}#filter-dialog h2{margin-bottom:22px}#filter-form label{color:#70636d;display:flex;flex-direction:column;font-size:.82rem;font-weight:700;gap:7px;margin:14px 0}#filter-form select{background:#faf5f7;border:1px solid #e9dce1;border-radius:12px;color:#332a34;font-size:1rem;padding:12px}.age-filters{display:grid;gap:12px;grid-template-columns:1fr 1fr}.toggle-row{align-items:center!important;background:#faf5f7;border-radius:12px;flex-direction:row!important;padding:13px}.toggle-row input{accent-color:#ff416d;height:18px;width:18px}.filter-actions{display:flex;justify-content:space-between;margin-top:22px}.filter-actions>button:first-child{background:transparent;border:0;color:#9a6877;font-weight:700}
html[data-theme="dark"]{color-scheme:dark}html[data-theme="dark"] body{background:radial-gradient(circle at 8% 0,#4d2133 0,transparent 27rem),radial-gradient(circle at 95% 100%,#40301f 0,transparent 25rem),#151218;color:#eee8ef}html[data-theme="dark"] .topbar,html[data-theme="dark"] .mobile-nav{background:rgba(23,19,25,.92);border-color:#392f38}html[data-theme="dark"] .brand,html[data-theme="dark"] .nav-item.active{color:#fff}html[data-theme="dark"] .nav-item,html[data-theme="dark"] .hint{color:#aaa0a8}html[data-theme="dark"] .theme-toggle,html[data-theme="dark"] .filter-button,html[data-theme="dark"] .round-utility,html[data-theme="dark"] .action{background:#29232b;border-color:#443943;color:#eee8ef}html[data-theme="dark"] .filter-button.active{background:#522738;border-color:#9c4962;color:#ffb2c3}html[data-theme="dark"] .filter-button span{background:#443540}html[data-theme="dark"] .like{background:#ff416d;color:#fff}html[data-theme="dark"] .nope{color:#ff7691}html[data-theme="dark"] .super{color:#f1ad39}html[data-theme="dark"] .undo{color:#b6a5ff}html[data-theme="dark"] .match-row,html[data-theme="dark"] .saved-card,html[data-theme="dark"] .profile-card,html[data-theme="dark"] .messages-shell,html[data-theme="dark"] dialog{background:#211c22;border-color:#3a3039;color:#f3edf2}html[data-theme="dark"] .match-row:hover,html[data-theme="dark"] .conversation:hover,html[data-theme="dark"] .conversation.active{background:#38242d}html[data-theme="dark"] .match-row small,html[data-theme="dark"] .saved-card>div>p:nth-of-type(2),html[data-theme="dark"] .saved-heading>div>p:last-child,html[data-theme="dark"] .profile-subtitle,html[data-theme="dark"] .empty-saved p{color:#b1a5ad}html[data-theme="dark"] .conversation-list,html[data-theme="dark"] .chat-header,html[data-theme="dark"] .chat-compose,html[data-theme="dark"] .profile-stats,html[data-theme="dark"] .profile-stats div+div{border-color:#3c323a}html[data-theme="dark"] .conversation{background:#211c22;border-color:#342b33;color:#eee8ef}html[data-theme="dark"] .conversation-copy small,html[data-theme="dark"] .conversation time{color:#a99ca5}html[data-theme="dark"] .chat-feed{background:linear-gradient(#19151a,#1f1a20)}html[data-theme="dark"] .bubble{background:#373038;color:#f0eaf0}html[data-theme="dark"] .user .bubble{background:#e83b65;color:#fff}html[data-theme="dark"] .chat-compose input,html[data-theme="dark"] #filter-form select,html[data-theme="dark"] .toggle-row{background:#302830;border-color:#493b46;color:#f5eff4}html[data-theme="dark"] .saved-remove{background:#3a3038;color:#d0c5cc}html[data-theme="dark"] dialog>p:last-child,html[data-theme="dark"] #filter-form label{color:#c9bec5}
@media(max-width:820px){.saved-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.theme-toggle{height:36px;width:36px}.saved-shell{padding:28px 14px 90px}.saved-heading{align-items:flex-start;gap:15px}.saved-heading h1{font-size:2rem}.saved-heading .primary-button{font-size:.78rem;padding:10px 13px}.saved-grid{grid-template-columns:1fr 1fr;gap:10px}.saved-card{border-radius:17px}.saved-card>img{height:180px}.saved-card>div{padding:13px}.saved-card h2{font-size:1.3rem}.saved-card>div>p:nth-of-type(2){font-size:.72rem}.saved-card>div>div{align-items:stretch;flex-direction:column}.saved-match,.saved-remove{width:100%}.filter-button{padding:9px 11px}.save-cat{height:40px;right:16px;top:16px;width:40px}}
