@import"https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300..700;1,9..144,300..600&family=Sora:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--bg-grad-from: #f7f2ec;--bg-grad-to: #efe2d4;--surface: #fffaf5;--surface-2: #f9f0e4;--surface-3: #f1e6d6;--line: rgba(47, 42, 37, .08);--line-strong: rgba(47, 42, 37, .16);--bg: #f7f2ec;--bg-elev: #f3e8da;--text: #2f2a25;--text-muted: #6d625a;--text-dim: #9c8f84;--accent: #d77b5f;--accent-deep: #bb5f45;--accent-soft: #f1d4c3;--secondary: #8a8f78;--secondary-soft: #d8dccd;--tag-match-bg: #f1d4c3;--tag-match-border: #d77b5f;--tag-match-text: #6e2e18;--shadow-sm: 0 1px 2px rgba(47, 42, 37, .04);--shadow-md: 0 8px 24px -8px rgba(47, 42, 37, .12), 0 2px 6px rgba(47, 42, 37, .04);--shadow-lg: 0 24px 48px -16px rgba(47, 42, 37, .18), 0 4px 12px rgba(47, 42, 37, .06);--glass-bg: rgba(255, 250, 245, .65);--glass-border: rgba(255, 250, 245, .4);--highlight-bg: rgba(215, 123, 95, .18);--highlight-bg-2: rgba(138, 143, 120, .18);--ink: var(--text);--muted: var(--text-muted);--card: var(--surface);--stroke: var(--line-strong);--shadow: var(--shadow-md);--accent-2: var(--accent-deep);--olive: var(--secondary);--bg-2: var(--bg-elev);--radius-lg: 18px;--radius-md: 14px;--radius-sm: 10px;--font-serif: "Fraunces", Georgia, serif;--font-sans: "Sora", -apple-system, sans-serif;--transition: .18s ease}[data-theme=dark]{--bg-grad-from: #1c1814;--bg-grad-to: #2a221c;--surface: #25201b;--surface-2: #2e2822;--surface-3: #383028;--line: rgba(247, 242, 236, .08);--line-strong: rgba(247, 242, 236, .16);--bg: #1c1814;--bg-elev: #2e2620;--text: #f0e8de;--text-muted: #b3a89c;--text-dim: #7d7269;--accent: #e89376;--accent-deep: #d77b5f;--accent-soft: #4a2e22;--secondary: #a0a48d;--secondary-soft: #2e3328;--tag-match-bg: #4a2e22;--tag-match-border: #e89376;--tag-match-text: #f5d4c1;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 8px 24px -8px rgba(0, 0, 0, .5), 0 2px 6px rgba(0, 0, 0, .2);--shadow-lg: 0 24px 48px -16px rgba(0, 0, 0, .6), 0 4px 12px rgba(0, 0, 0, .25);--glass-bg: rgba(37, 32, 27, .7);--glass-border: rgba(247, 242, 236, .08);--highlight-bg: rgba(232, 147, 118, .22);--highlight-bg-2: rgba(160, 164, 141, .22)}*,*:before,*:after{box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{margin:0;padding:0;font-family:var(--font-sans);color:var(--text);background:#1a1612;overflow-x:hidden;overscroll-behavior-x:none;overscroll-behavior-y:none}body{min-height:100vh;background:radial-gradient(ellipse 100% 60% at 30% 0%,#2a2218 0%,transparent 60%),radial-gradient(ellipse 80% 80% at 90% 100%,#1f1a14 0%,transparent 60%),#15110d}#app{min-height:100vh;display:flex;flex-direction:column}.app-surface{background:linear-gradient(135deg,var(--bg-grad-from) 0%,var(--bg-grad-to) 100%);color:var(--text);min-height:100vh;position:relative;isolation:isolate}[data-theme=dark] .app-surface{background:linear-gradient(135deg,var(--bg-grad-from) 0%,var(--bg-grad-to) 100%)}.app-surface:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.4;background-image:radial-gradient(circle at 20% 30%,rgba(215,123,95,.04) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(138,143,120,.04) 0%,transparent 50%);z-index:0}[data-theme=dark] .app-surface:before{background-image:radial-gradient(circle at 20% 30%,rgba(215,123,95,.08) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(138,143,120,.06) 0%,transparent 50%)}.font-display{font-family:Fraunces,Georgia,serif;font-optical-sizing:auto;letter-spacing:-.02em;font-weight:400}.font-display-italic{font-family:Fraunces,Georgia,serif;font-style:italic;font-optical-sizing:auto;letter-spacing:-.01em}.font-mono{font-family:JetBrains Mono,ui-monospace,monospace;letter-spacing:-.01em}.tag{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:13px;line-height:1;font-weight:500;border:1px solid var(--line-strong);background:var(--surface);color:var(--text);transition:all .18s ease;white-space:nowrap}.tag-sm{padding:4px 10px;font-size:11.5px}.tag-lg{padding:8px 14px;font-size:14px}.tag-accent{background:var(--tag-match-bg);border-color:var(--tag-match-border);color:var(--tag-match-text)}.tag-secondary{background:var(--secondary-soft);border-color:var(--secondary);color:var(--secondary)}.tag-ghost{background:transparent;border-color:#2f2a2547;color:var(--text-muted)}[data-theme=dark] .tag-ghost{border-color:#f7f2ec38}.tag-removable{padding-right:6px}.tags-compact .tag{padding:4px 9px;font-size:11.5px;gap:4px}.tag-x{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;cursor:pointer;opacity:.5;transition:opacity .15s,background .15s}.tag-x:hover{opacity:1;background:#0000000f}.tags{display:flex;flex-wrap:wrap;gap:8px}.tag-match{background:var(--tag-match-bg);border-color:var(--tag-match-border);color:var(--tag-match-text)}.tag-remove{border:none;background:transparent;font-size:14px;cursor:pointer;color:var(--text-muted);padding:2px;display:grid;place-items:center;border-radius:999px;transition:color var(--transition);line-height:1}.tag-remove:hover{color:#c44a36}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:12px;font-family:var(--font-sans);font-weight:500;font-size:14px;border:1px solid transparent;cursor:pointer;transition:all .18s ease;background:transparent;color:var(--text);white-space:nowrap}.btn-primary,.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover,.primary:hover{background:var(--accent-deep);border-color:var(--accent-deep);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:disabled,.primary:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none;pointer-events:none}.btn-secondary{background:var(--surface);border-color:var(--line-strong);color:var(--text)}.btn-secondary:hover{background:var(--surface-2);border-color:var(--text-muted)}.btn-ghost,.ghost{background:transparent;color:var(--text-muted);border-color:var(--line-strong)}.btn-ghost:hover,.ghost:hover{color:var(--text);background:var(--surface)}.btn-lg{padding:14px 22px;font-size:15px;border-radius:14px}.btn-icon{width:40px;height:40px;padding:0;border-radius:10px}.btn.full{width:100%}.btn:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.card{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-md)}.card-glass{background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow-md)}.input{width:100%;padding:12px 14px;background:var(--surface);border:1px solid var(--line-strong);border-radius:12px;font-family:var(--font-sans);font-size:15px;color:var(--text);transition:all .18s ease;outline:none}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input::placeholder{color:var(--text-dim)}.textarea{width:100%;padding:16px;background:var(--surface);border:1px solid var(--line-strong);border-radius:16px;font-family:var(--font-sans);font-size:15px;color:var(--text);resize:none;outline:none;line-height:1.55;transition:all .18s ease}.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field{display:grid;gap:6px}.field-label{font-size:13px;color:var(--text-muted);font-weight:500}.field-control{width:100%;padding:12px 14px;border-radius:var(--radius-md);border:1px solid var(--line-strong);background:var(--surface);font-family:var(--font-sans);font-size:16px;color:var(--text);resize:vertical;transition:border-color var(--transition),box-shadow var(--transition);outline:none}.field-control:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field-error{border-color:#c44a3699}.field-message{font-size:12px}.field-message.error{color:#c44a36}.field-message.hint{color:var(--text-muted)}.avatar{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-weight:500;font-size:22px;color:var(--surface);flex-shrink:0;position:relative;overflow:hidden}.avatar svg{position:absolute;inset:0;width:100%;height:100%}.avatar-text{position:relative;z-index:1;color:#ffffffe6;font-family:var(--font-serif);font-weight:500}.avatar-grad-1{background:linear-gradient(135deg,#d77b5f,#bb5f45)}.avatar-grad-2{background:linear-gradient(135deg,#8a8f78,#5e6350)}.avatar-grad-3{background:linear-gradient(135deg,#b0956a,#7a5e3a)}.avatar-grad-4{background:linear-gradient(135deg,#7a8a99,#4a5a70)}.avatar-grad-5{background:linear-gradient(135deg,#9a7888,#6a4858)}.percent-ring{position:relative;flex-shrink:0}.percent-ring-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:Fraunces,serif;font-weight:500;font-size:13px;color:var(--text)}.divider-text{text-align:center;position:relative;font-size:13px;color:var(--text-dim);display:flex;align-items:center;gap:10px}.divider-text:before,.divider-text:after{content:"";flex:1;height:1px;background:var(--line-strong)}.highlight-phrase{background:var(--highlight-bg);padding:1px 4px;margin:0 -1px;border-radius:4px;transition:background .4s ease;border-bottom:1.5px solid var(--accent)}.highlight-phrase-2{background:var(--highlight-bg-2);padding:1px 4px;margin:0 -1px;border-radius:4px;border-bottom:1.5px solid var(--secondary)}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.cursor-blink{display:inline-block;width:2px;height:1em;background:var(--accent);margin-left:2px;vertical-align:text-bottom;animation:blink .9s step-end infinite}.scroll-area{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.scroll-area::-webkit-scrollbar{width:4px;height:4px}.scroll-area::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:2px}.scroll-area::-webkit-scrollbar-track{background:transparent}@keyframes pulse-dot{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.4);opacity:1}}.pulse-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);animation:pulse-dot 1.2s ease-in-out infinite}@keyframes fade-in-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fade-in-up .4s ease-out both}@keyframes tag-fly-in{0%{opacity:0;transform:translateY(8px) scale(.85)}60%{transform:translateY(-2px) scale(1.04)}to{opacity:1;transform:translateY(0) scale(1)}}.tag-anim-in{animation:tag-fly-in .5s cubic-bezier(.34,1.56,.64,1) both}@keyframes shimmer-slide{0%{transform:translate(-100%)}to{transform:translate(120%)}}.repick-loading{position:relative;overflow:hidden}.repick-loading>*{opacity:.4;transition:opacity .2s}.repick-loading:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(215,123,95,.2) 50%,transparent 100%);animation:shimmer-slide 1.3s ease-in-out infinite;pointer-events:none;z-index:1}.gender-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);font-size:11px;color:var(--text-muted);font-family:JetBrains Mono,monospace;letter-spacing:.04em;text-transform:lowercase}.gender-option{flex:1;padding:8px;border:1px solid var(--line-strong);background:transparent;color:var(--text);border-radius:10px;cursor:pointer;font-family:inherit;font-size:13px;transition:all .15s}.gender-option[data-active=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-deep);font-weight:500}.bubble{max-width:75%;padding:10px 14px;border-radius:18px;font-size:14.5px;line-height:1.45;word-wrap:break-word}.bubble-them{background:var(--surface);color:var(--text);border:1px solid var(--line);border-bottom-left-radius:4px;align-self:flex-start}.bubble-me{background:var(--accent);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}[data-theme=dark] .bubble-me{background:var(--accent-deep)}.step-bar{flex:1;height:1px;background:var(--line-strong);position:relative;overflow:hidden}.step-bar.active:after{content:"";position:absolute;inset:0;background:var(--text)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes pulse{0%,to{opacity:.5;transform:scale(.96)}50%{opacity:.9;transform:scale(1.04)}}@keyframes orbit{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}@keyframes caret{0%,to{opacity:0}50%{opacity:1}}@keyframes tagIn{0%{opacity:0;transform:translateY(8px) scale(.9)}15%{opacity:1;transform:translateY(0) scale(1)}85%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-4px) scale(.95)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes tagFly{0%{opacity:0;transform:translateY(12px) scale(.85)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.float-anim{animation:float 4s ease-in-out infinite}.loading-line{height:12px;border-radius:999px;background:linear-gradient(90deg,var(--surface-2),var(--surface-3),var(--surface-2));background-size:200% 100%;animation:shimmer 1.6s ease-in-out infinite}.loading-line.short{width:60%}.loading-line.medium{width:80%}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.toggle-row:last-child{border-bottom:none}.toggle-label{font-size:14px;color:var(--text)}.toggle-switch{width:44px;height:24px;border-radius:12px;background:var(--line-strong);position:relative;cursor:pointer;transition:background .2s ease;border:none;flex-shrink:0}.toggle-switch.on{background:var(--accent)}.toggle-switch:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .2s ease;box-shadow:0 1px 3px #0003}.toggle-switch.on:after{transform:translate(20px)}.desktop-shell{display:flex;min-height:100vh}.desktop-sidebar{width:220px;flex-shrink:0;display:flex;flex-direction:column;padding:28px 18px 22px;border-right:1px solid var(--line);background:var(--surface);position:sticky;top:0;height:100vh;overflow-y:auto}.desktop-content{flex:1;min-width:0;overflow-y:auto;height:100vh}.sidebar-brand{display:flex;align-items:center;gap:10px;margin-bottom:32px;padding:0 6px}.sidebar-nav{display:flex;flex-direction:column;gap:2px}.sidebar-nav-btn{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border:none;background:transparent;color:var(--text);cursor:pointer;border-radius:10px;font-size:14px;font-weight:400;text-align:left;font-family:inherit;transition:background .12s,color .12s}.sidebar-nav-btn:hover{background:var(--bg-elev)}.sidebar-nav-btn.active{background:var(--accent-soft);color:var(--accent-deep);font-weight:600}.sidebar-badge{min-width:18px;height:18px;padding:0 5px;background:var(--accent);color:#fff;border-radius:9px;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono)}.sidebar-self{margin-top:12px;padding:10px;border-radius:12px;background:transparent;border:1px solid var(--line);display:flex;align-items:center;gap:10px;cursor:pointer;transition:background .15s;text-align:left;font-family:inherit;color:var(--text);width:100%}.sidebar-self:hover{background:var(--surface-2)}.mobile-tabbar{position:fixed;bottom:0;left:0;right:0;height:60px;background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--line);display:flex;z-index:100;padding-bottom:env(safe-area-inset-bottom)}.tabbar-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:none;background:none;cursor:pointer;color:var(--text-dim);font-family:var(--font-sans);font-size:10px;font-weight:500;transition:color .15s;position:relative}.tabbar-btn.active{color:var(--accent)}.tabbar-badge{position:absolute;top:6px;right:calc(50% - 16px);min-width:16px;height:16px;padding:0 4px;background:var(--accent);color:#fff;border-radius:8px;font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono)}.feed-page{min-height:100vh;display:flex;flex-direction:column}.feed-layout{display:grid;grid-template-columns:280px 1fr;gap:0;flex:1;min-height:0}.feed-sidebar{padding:32px 24px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:20px;overflow-y:auto}.feed-main-col{display:flex;flex-direction:column;align-items:center;padding:32px 24px 100px;overflow-y:auto;gap:20px}.feed-mobile-tags{padding:12px 16px 0;overflow-x:auto;scrollbar-width:none}.feed-mobile-tags::-webkit-scrollbar{display:none}.feed-counter-strip{display:flex;align-items:center;justify-content:space-between;padding:12px 0 6px;width:100%;max-width:900px}.match-card{background:var(--surface);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow-lg);overflow:hidden}.match-card-hero{display:flex;align-items:center;gap:16px;padding:24px 24px 16px}.match-card-body{padding:0 24px 16px;display:flex;flex-direction:column;gap:12px;flex:1}.match-card-footer{padding:16px 24px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);gap:10px}.barrel-container{width:100%;max-width:900px}.barrel-track-wrap{position:relative;height:258px;overflow:hidden;mask-image:linear-gradient(to bottom,transparent 0%,black 20%,black 80%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 20%,black 80%,transparent 100%)}.barrel-track{display:flex;flex-direction:column;gap:0;transition:transform .45s cubic-bezier(.35,.9,.4,1)}.barrel-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:12px;cursor:pointer;transition:background .15s,opacity .3s;flex-shrink:0;height:86px}.barrel-item.active{background:var(--accent-soft);transform:translate(4px);box-shadow:var(--shadow-sm)}.barrel-item:hover:not(.active){background:var(--surface-2)}.profile-view-page{max-width:680px;margin:0 auto;padding:0 16px 100px}.profile-view-desktop{display:grid;grid-template-columns:260px 1fr;gap:0;min-height:100vh}.profile-view-left{padding:40px 24px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:20px;position:sticky;top:0;height:100vh;overflow-y:auto}.profile-view-right{padding:40px 32px 80px;overflow-y:auto;display:flex;flex-direction:column;gap:24px}.media-gallery{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}.media-gallery::-webkit-scrollbar{display:none}.media-tile{position:relative;border-radius:14px;overflow:hidden;flex-shrink:0;cursor:pointer}.auth-page{min-height:100vh;display:flex}.auth-hero-panel{flex:1;padding:48px 56px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(135deg,var(--bg-grad-from) 0%,var(--bg-grad-to) 100%)}.auth-form-panel{width:480px;flex-shrink:0;padding:48px 44px;display:flex;flex-direction:column;justify-content:center;background:var(--surface);border-left:1px solid var(--line)}@media(max-width:860px){.auth-page{flex-direction:column}.auth-hero-panel{padding:32px 24px;flex:none}.auth-form-panel{width:100%;padding:32px 24px;border-left:none;border-top:1px solid var(--line)}}.onboarding-page{min-height:100vh;display:flex}.onboarding-sidebar{width:300px;flex-shrink:0;padding:48px 36px;border-right:1px solid var(--line);background:var(--surface);display:flex;flex-direction:column;gap:0}.onboarding-content{flex:1;padding:48px 56px;display:flex;flex-direction:column}.step-indicator{display:flex;flex-direction:column;gap:0;position:relative}.step-indicator:before{content:"";position:absolute;left:11px;top:24px;bottom:24px;width:2px;background:var(--line-strong)}.step-item{display:flex;align-items:flex-start;gap:14px;padding:10px 0;position:relative;z-index:1}.step-dot{width:24px;height:24px;border-radius:50%;border:2px solid var(--line-strong);background:var(--surface);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:11px;font-weight:600;color:var(--text-dim);font-family:var(--font-mono);transition:all .3s ease}.step-dot.active{border-color:var(--accent);background:var(--accent);color:#fff}.step-dot.done{border-color:var(--accent-soft);background:var(--accent-soft);color:var(--accent-deep)}.step-text{display:flex;flex-direction:column;gap:2px;padding-top:2px}.step-title{font-size:14px;font-weight:500;color:var(--text)}.step-title.dim{color:var(--text-dim)}.step-subtitle{font-size:12px;color:var(--text-muted)}@media(max-width:700px){.onboarding-page{flex-direction:column}.onboarding-sidebar{width:100%;padding:24px;border-right:none;border-bottom:1px solid var(--line)}.step-indicator{flex-direction:row}.step-indicator:before{inset:11px 24px auto;width:auto;height:2px}.step-item{flex-direction:column;align-items:center}.step-text{display:none}.onboarding-content{padding:24px}}.chat-page{display:flex;flex-direction:column;height:100dvh;overflow:hidden}.chat-layout{display:grid;grid-template-columns:340px 1fr;flex:1;min-height:0;overflow:hidden}.chat-sidebar{display:flex;flex-direction:column;border-right:1px solid var(--line);overflow-y:auto;overscroll-behavior:contain;background:var(--surface)}.chat-sidebar-head{padding:20px 20px 14px;font-family:var(--font-serif);font-size:1.1rem;font-weight:400;letter-spacing:-.02em;border-bottom:1px solid var(--line);flex-shrink:0}.chat-thread{display:flex;flex-direction:column;min-height:0;background:var(--bg)}.chat-thread-head{display:flex;align-items:center;gap:14px;padding:16px 24px;border-bottom:1px solid var(--line);flex-shrink:0;background:var(--surface)}.chat-messages{flex:1;overflow-y:auto;overscroll-behavior:contain;overflow-anchor:none;padding:24px max(20px,calc((100% - 840px)/2));display:flex;flex-direction:column;gap:3px}.chat-back{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.875rem;padding:0;display:flex;align-items:center;gap:6px;transition:color var(--transition)}.chat-back:hover{color:var(--text)}@media(max-width:1099px){.chat-layout{grid-template-columns:1fr}.chat-layout .chat-thread,.chat-layout.thread-open .chat-sidebar{display:none}.chat-layout.thread-open .chat-thread{display:flex}.chat-sidebar{border-right:none}.chat-sidebar{padding-bottom:calc(60px + env(safe-area-inset-bottom))}}.me-page{max-width:720px;margin:0 auto;padding:32px 24px 120px;display:flex;flex-direction:column;gap:28px}.me-hero{display:flex;align-items:flex-start;gap:18px}.me-section{display:flex;flex-direction:column;gap:10px}.me-section-label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);font-family:var(--font-mono)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.text-accent{color:var(--accent)}.text-muted{color:var(--text-muted)}.text-dim{color:var(--text-dim)}.section-title{font-family:var(--font-serif);font-size:28px;letter-spacing:-.02em;font-weight:400}.has-tabbar{padding-bottom:72px}@media(max-width:900px){.feed-layout{grid-template-columns:1fr}.feed-sidebar,.desktop-sidebar{display:none}.desktop-shell{display:block}.desktop-content{height:auto;overflow-y:visible}}@media(max-width:560px){.match-card-hero{padding:18px 18px 12px}.match-card-body{padding:0 18px 12px}.match-card-footer{padding:12px 18px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.toast-stack[data-v-7d868437]{position:fixed;bottom:80px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;z-index:1000;pointer-events:none;align-items:center}.toast[data-v-7d868437]{pointer-events:all;display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:0 8px 32px -4px #00000026;cursor:pointer;text-align:left;width:320px;max-width:calc(100vw - 32px);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:transform .15s,box-shadow .15s}.toast[data-v-7d868437]:hover{transform:translateY(-2px);box-shadow:0 12px 40px -4px #0003}.toast-body[data-v-7d868437]{flex:1;min-width:0}.toast-name[data-v-7d868437]{font-size:13px;font-weight:600;color:var(--text);margin-bottom:2px}.toast-text[data-v-7d868437]{font-size:13px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toast-close[data-v-7d868437]{flex-shrink:0;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .15s}.toast-close[data-v-7d868437]:hover{background:var(--bg-2)}.toast-enter-active[data-v-7d868437]{transition:all .3s cubic-bezier(.34,1.56,.64,1)}.toast-leave-active[data-v-7d868437]{transition:all .2s ease}.toast-enter-from[data-v-7d868437]{opacity:0;transform:translateY(16px) scale(.95)}.toast-leave-to[data-v-7d868437]{opacity:0;transform:translateY(8px) scale(.97)}@media(max-width:1099px){.toast-stack[data-v-7d868437]{bottom:90px}}.notice-stack[data-v-1530a5f6]{position:fixed;top:20px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;z-index:1100;pointer-events:none;align-items:center}.notice-toast[data-v-1530a5f6]{pointer-events:all;display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 32px -4px #0000002e;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);width:340px;max-width:calc(100vw - 32px)}.notice-error[data-v-1530a5f6],.notice-error .notice-icon[data-v-1530a5f6]{color:#c44a36}.notice-text[data-v-1530a5f6]{flex:1;min-width:0;font-size:13px;line-height:1.4;color:var(--text)}.notice-icon[data-v-1530a5f6]{flex-shrink:0}.notice-close[data-v-1530a5f6]{flex-shrink:0;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .15s}.notice-close[data-v-1530a5f6]:hover{background:var(--bg-2)}.notice-enter-active[data-v-1530a5f6]{transition:all .3s cubic-bezier(.34,1.56,.64,1)}.notice-leave-active[data-v-1530a5f6]{transition:all .2s ease}.notice-enter-from[data-v-1530a5f6]{opacity:0;transform:translateY(-12px) scale(.95)}.notice-leave-to[data-v-1530a5f6]{opacity:0;transform:translateY(-8px) scale(.97)}.fade-enter-active[data-v-5291d6a5],.fade-leave-active[data-v-5291d6a5]{transition:opacity .2s ease,transform .2s ease}.fade-enter-from[data-v-5291d6a5]{opacity:0;transform:translate(16px)}.fade-leave-to[data-v-5291d6a5]{opacity:0;transform:translate(-16px)}.hint-text[data-v-91af0d2b]{position:absolute;top:0;left:0;opacity:0;transition:opacity .3s ease;pointer-events:none}.hint-text--visible[data-v-91af0d2b]{opacity:1;pointer-events:auto;position:relative}.mode-switch[data-v-91af0d2b]{position:relative;width:34px;height:20px;border-radius:10px;border:none;background:var(--line-strong);cursor:pointer;padding:0;transition:background .25s ease;flex-shrink:0}.mode-switch[data-v-91af0d2b]:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .25s ease}.mode-switch--on[data-v-91af0d2b]{background:var(--accent)}.mode-switch--on[data-v-91af0d2b]:after{transform:translate(14px)}.feed-mobile[data-v-91af0d2b]{display:none}.deck[data-v-91af0d2b]{position:relative;flex:1;min-height:0;margin:4px 24px calc(76px + env(safe-area-inset-bottom))}.deck-card--top[data-v-91af0d2b]{position:relative;z-index:3;height:100%;touch-action:none;will-change:transform}.deck-card--behind[data-v-91af0d2b]{position:absolute;top:0;left:0;right:0;height:100%;overflow:hidden;border-radius:24px;pointer-events:none;transform-origin:center bottom}.deck-placeholder[data-v-91af0d2b]{display:flex;align-items:flex-end;justify-content:center;gap:8px;padding-bottom:14px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-md);font-size:12px;color:var(--text-muted);font-family:JetBrains Mono,monospace}.swipe-hint[data-v-91af0d2b]{position:absolute;bottom:72px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:20px;background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--line);box-shadow:var(--shadow-sm);font-size:12px;color:var(--text-muted);white-space:nowrap;pointer-events:none;animation:hintSway-91af0d2b 1.8s ease-in-out infinite}@keyframes hintSway-91af0d2b{0%,to{transform:translate(calc(-50% - 7px))}50%{transform:translate(calc(-50% + 7px))}}.undo-btn[data-v-91af0d2b]{width:30px;height:30px;border-radius:50%;border:1px solid var(--line-strong);background:var(--surface);box-shadow:var(--shadow-sm);color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:color .15s,transform .15s}.undo-btn[data-v-91af0d2b]:active{transform:scale(.9);color:var(--accent-deep)}.undo-fade-enter-active[data-v-91af0d2b],.undo-fade-leave-active[data-v-91af0d2b]{transition:opacity .25s ease,transform .25s ease}.undo-fade-enter-from[data-v-91af0d2b],.undo-fade-leave-to[data-v-91af0d2b]{opacity:0;transform:translate(6px)}@media(max-width:900px){.feed-layout[data-v-91af0d2b]{display:none}.feed-mobile[data-v-91af0d2b]{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden}}.conv-item[data-v-49fcbbde]{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px 12px 13px;background:none;border:none;border-left:3px solid transparent;cursor:pointer;text-align:left;transition:background var(--transition),border-color var(--transition)}.conv-item[data-v-49fcbbde]:hover{background:var(--surface-2)}.conv-item--active[data-v-49fcbbde]{background:var(--surface-2);border-left-color:var(--accent)}.conv-meta[data-v-49fcbbde]{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.conv-row[data-v-49fcbbde]{display:flex;align-items:center;justify-content:space-between;gap:8px}.conv-name[data-v-49fcbbde]{font-size:14.5px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-time[data-v-49fcbbde]{flex-shrink:0;font-family:JetBrains Mono,monospace;font-size:10.5px;color:var(--text-dim);letter-spacing:.02em}.conv-preview[data-v-49fcbbde]{font-size:12.5px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-unread[data-v-49fcbbde]{flex-shrink:0;min-width:19px;height:19px;padding:0 6px;border-radius:10px;background:var(--accent);color:#fff;font-family:JetBrains Mono,monospace;font-size:10.5px;font-weight:700;display:flex;align-items:center;justify-content:center}.voice[data-v-ff108bae]{display:flex;align-items:center;gap:10px;min-width:190px}.voice-play[data-v-ff108bae]{flex-shrink:0;width:34px;height:34px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform var(--transition),background var(--transition)}.voice-play[data-v-ff108bae]:active{transform:scale(.92)}.voice--own .voice-play[data-v-ff108bae]{background:#ffffff40;color:#fff}.voice--own .voice-play[data-v-ff108bae]:hover{background:#ffffff59}.voice--other .voice-play[data-v-ff108bae]{background:var(--accent);color:#fff}.voice--other .voice-play[data-v-ff108bae]:hover{background:var(--accent-deep)}.voice-track[data-v-ff108bae]{flex:1;padding:8px 0;cursor:pointer}.voice-track-bg[data-v-ff108bae]{height:4px;border-radius:2px;overflow:hidden}.voice--own .voice-track-bg[data-v-ff108bae]{background:#ffffff4d}.voice--other .voice-track-bg[data-v-ff108bae]{background:var(--line-strong)}.voice-track-fill[data-v-ff108bae]{height:100%;border-radius:2px;transition:width .15s linear}.voice--own .voice-track-fill[data-v-ff108bae]{background:#fff}.voice--other .voice-track-fill[data-v-ff108bae]{background:var(--accent)}.voice-time[data-v-ff108bae]{flex-shrink:0;font-family:JetBrains Mono,monospace;font-size:11px;font-variant-numeric:tabular-nums}.voice--own .voice-time[data-v-ff108bae]{color:#ffffffd9}.voice--other .voice-time[data-v-ff108bae]{color:var(--text-muted)}.voice-spinner[data-v-ff108bae]{width:13px;height:13px;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;animation:voice-spin-ff108bae .7s linear infinite}@keyframes voice-spin-ff108bae{to{transform:rotate(360deg)}}.msg-reactions[data-v-0d140555]{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.reaction-chip[data-v-0d140555]{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;border:1px solid var(--line);background:var(--surface-2);cursor:pointer;font-size:13px;line-height:1.4;transition:border-color var(--transition),background var(--transition),transform .1s ease}.reaction-chip[data-v-0d140555]:hover{border-color:var(--line-strong)}.reaction-chip[data-v-0d140555]:active{transform:scale(.92)}.reaction-chip--own[data-v-0d140555]{background:var(--accent-soft);border-color:var(--accent)}.reaction-chip-count[data-v-0d140555]{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--text-muted)}.reaction-chip--own .reaction-chip-count[data-v-0d140555]{color:var(--accent-deep)}.reaction-picker[data-v-980c6e09]{position:absolute;bottom:calc(100% + 6px);display:flex;gap:2px;padding:5px 7px;background:var(--surface);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-md);z-index:30;animation:picker-in-980c6e09 .16s cubic-bezier(.34,1.56,.64,1) both}.reaction-picker--left[data-v-980c6e09]{left:0;transform-origin:bottom left}.reaction-picker--right[data-v-980c6e09]{right:0;transform-origin:bottom right}@keyframes picker-in-980c6e09{0%{opacity:0;transform:scale(.7) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}.reaction-picker-btn[data-v-980c6e09]{width:36px;height:36px;border:none;background:transparent;font-size:20px;line-height:1;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .12s ease,background .12s ease}.reaction-picker-btn[data-v-980c6e09]:hover{transform:scale(1.25);background:var(--surface-2)}.msg[data-v-eb4bd3d8]{display:flex;flex-direction:column;max-width:min(68%,480px);gap:3px}.msg--group-start[data-v-eb4bd3d8]{margin-top:8px}.msg--own[data-v-eb4bd3d8]{align-self:flex-end;align-items:flex-end}.msg--other[data-v-eb4bd3d8]{align-self:flex-start;align-items:flex-start}.msg-bubble-row[data-v-eb4bd3d8]{position:relative;display:flex;align-items:center;gap:6px}.msg--own .msg-bubble-row[data-v-eb4bd3d8]{flex-direction:row-reverse}.msg-body[data-v-eb4bd3d8]{padding:10px 15px;border-radius:18px;font-size:14.5px;line-height:1.5;word-break:break-word;white-space:pre-wrap;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}@media(pointer:fine){.msg-body[data-v-eb4bd3d8]{-webkit-user-select:text;user-select:text}}.msg-body--audio[data-v-eb4bd3d8]{padding:8px 12px;width:min(66vw,300px);box-sizing:border-box}.msg--own .msg-body[data-v-eb4bd3d8]{background:var(--accent);color:#fff;box-shadow:0 2px 8px -2px color-mix(in srgb,var(--accent) 40%,transparent)}.msg--other .msg-body[data-v-eb4bd3d8]{background:var(--surface-2);color:var(--text);border:1px solid var(--line)}.msg--own.msg--group-end .msg-body[data-v-eb4bd3d8]{border-bottom-right-radius:4px}.msg--other.msg--group-end .msg-body[data-v-eb4bd3d8]{border-bottom-left-radius:4px}.msg-react-btn[data-v-eb4bd3d8]{flex-shrink:0;width:28px;height:28px;border-radius:50%;border:none;background:transparent;color:var(--text-dim);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition),color var(--transition),background var(--transition)}.msg-bubble-row:hover .msg-react-btn[data-v-eb4bd3d8]{opacity:1}.msg-react-btn[data-v-eb4bd3d8]:hover{color:var(--accent);background:var(--surface-2)}@media(pointer:coarse){.msg-react-btn[data-v-eb4bd3d8]{display:none}}.msg-time[data-v-eb4bd3d8]{font-size:11px;color:var(--text-muted);padding:0 4px}.composer[data-v-11a7ce22]{display:flex;align-items:flex-end;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface)}.composer-field[data-v-11a7ce22]{flex:1;min-width:0}.composer-input[data-v-11a7ce22]{display:block;width:100%;box-sizing:border-box;resize:none;border:1px solid var(--line);border-radius:22px;padding:10px 16px;font-family:var(--font-sans);font-size:16px;color:var(--text);background:var(--surface-2);outline:none;line-height:1.45;overflow-y:hidden;transition:border-color var(--transition),box-shadow var(--transition)}.composer-input[data-v-11a7ce22]:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.composer-input[data-v-11a7ce22]::placeholder{color:var(--text-dim)}.composer-btn[data-v-11a7ce22]{flex-shrink:0;width:42px;height:42px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--transition),color var(--transition),opacity var(--transition),transform var(--transition)}.composer-btn[data-v-11a7ce22]:disabled{opacity:.4;cursor:default}.composer-btn--accent[data-v-11a7ce22]{background:var(--accent);color:#fff}.composer-btn--accent[data-v-11a7ce22]:not(:disabled):hover{background:var(--accent-deep)}.composer-btn--ghost[data-v-11a7ce22]{background:transparent;color:var(--text-muted)}.composer-btn--ghost[data-v-11a7ce22]:not(:disabled):hover{color:var(--accent);background:var(--surface-2)}.composer-recording[data-v-11a7ce22]{flex:1;display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:22px;background:var(--surface-2);border:1px solid var(--line);min-height:42px;box-sizing:border-box}.rec-dot[data-v-11a7ce22]{width:10px;height:10px;border-radius:50%;background:#d9534f;animation:rec-pulse-11a7ce22 1.1s ease-in-out infinite}@keyframes rec-pulse-11a7ce22{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.8)}}.rec-timer[data-v-11a7ce22]{font-family:JetBrains Mono,monospace;font-size:14px;color:var(--text);font-variant-numeric:tabular-nums}.rec-label[data-v-11a7ce22]{font-size:13px;color:var(--text-muted)}.composer-hint[data-v-11a7ce22]{padding:4px 16px 8px;font-size:12px;color:var(--accent-deep);background:var(--surface)}.btn-swap-enter-active[data-v-11a7ce22],.btn-swap-leave-active[data-v-11a7ce22]{transition:transform .14s ease,opacity .14s ease}.btn-swap-enter-from[data-v-11a7ce22],.btn-swap-leave-to[data-v-11a7ce22]{transform:scale(.6);opacity:0}@media(pointer:coarse){.composer-btn[data-v-11a7ce22]{width:44px;height:44px}}.chat-page.app-surface[data-v-d1bdf6d6]{min-height:0}.chat-page[data-v-d1bdf6d6]{height:100dvh;display:flex;flex-direction:column;overflow:hidden}.chat-thread[data-v-d1bdf6d6]{position:relative}.chat-thread-float[data-v-d1bdf6d6]{position:absolute;right:20px;bottom:84px;z-index:10}.chat-new-pill[data-v-d1bdf6d6]{border:1px solid var(--line);background:var(--surface);color:var(--accent-deep);font-family:JetBrains Mono,monospace;font-size:12px;letter-spacing:.03em;padding:8px 14px;border-radius:999px;cursor:pointer;box-shadow:var(--shadow-md);transition:transform var(--transition)}.chat-new-pill[data-v-d1bdf6d6]:hover{transform:translateY(-1px)}.pill-enter-active[data-v-d1bdf6d6],.pill-leave-active[data-v-d1bdf6d6]{transition:opacity .15s,transform .15s}.pill-enter-from[data-v-d1bdf6d6],.pill-leave-to[data-v-d1bdf6d6]{opacity:0;transform:translateY(6px)}.chat-day-sep[data-v-d1bdf6d6]{align-self:center;margin:14px 0 8px;padding:3px 12px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase}.chat-thread-empty[data-v-d1bdf6d6]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--text-muted);font-size:14px;line-height:1.6;padding:40px 20px}.chat-thread-placeholder[data-v-d1bdf6d6]{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;color:var(--text-muted);font-size:15px;text-align:center;padding:40px}.chat-error-pane[data-v-d1bdf6d6],.chat-empty-pane[data-v-d1bdf6d6]{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 24px;text-align:center;color:var(--text-muted);font-size:14px;line-height:1.6}.chat-empty-pane p[data-v-d1bdf6d6]{margin:0 0 4px}.chat-more-spinner[data-v-d1bdf6d6]{display:flex;align-items:center;gap:8px;padding:12px 16px;color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.04em}.chat-send-error[data-v-d1bdf6d6]{padding:6px 16px;background:#c44a3614;color:#c44a36;font-size:12.5px}.msg-skeleton[data-v-d1bdf6d6]{height:42px;border-radius:18px;background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite;margin-top:8px}.chat-back[data-v-d1bdf6d6]{display:none}@media(max-width:1099px){.chat-back[data-v-d1bdf6d6]{display:flex!important}.chat-thread-float[data-v-d1bdf6d6]{bottom:92px}}.card>button[data-v-755f0a56]:last-child{border-bottom:none!important}
