:root{color-scheme:light dark;--brand: #e10600;--brand-bright: #ff2a2a;--brand-deep: #8b0a12;--bg: var(--tg-theme-bg-color, #0a0a0a);--fg: var(--tg-theme-text-color, #f5f0f0);--surface: var(--tg-theme-secondary-bg-color, #161212);--surface-elevated: color-mix(in srgb, var(--bg) 62%, #2a1618);--muted: var(--tg-theme-hint-color, #a89898);--border: color-mix(in srgb, var(--fg) 12%, transparent);--accent: var(--brand);--accent-soft: color-mix(in srgb, var(--brand) 16%, transparent);--accent-fg: #fff8f8;--danger: #ff6b4a;--success: #3d9b6e;--ink-soft: color-mix(in srgb, var(--fg) 72%, var(--muted));--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--control-min: 44px;--radius-sm: .65rem;--radius-md: .95rem;--radius-lg: 1.35rem;--radius-xl: 1.75rem;--radius-full: 999px;--elevation-1: 0 8px 24px color-mix(in srgb, #000 45%, transparent);--elevation-2: 0 18px 48px color-mix(in srgb, #000 55%, transparent);--elevation-glow: 0 10px 32px color-mix(in srgb, var(--brand) 38%, transparent);--duration-fast: .16s;--duration: .32s;--duration-slow: .52s;--ease: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.4, .64, 1);--content-width: 28rem;--bottom-nav-height: 4.75rem;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--font-display: "Cormorant Garamond", Georgia, "Times New Roman", serif;--font-body: "Source Sans 3", "Segoe UI", sans-serif;background-color:var(--bg);color:var(--fg)}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;color:var(--fg)}html{background:radial-gradient(110% 70% at 0% -10%,color-mix(in srgb,var(--brand) 28%,transparent),transparent 55%),radial-gradient(90% 55% at 110% 110%,color-mix(in srgb,var(--brand-deep) 22%,transparent),transparent 50%),var(--bg)}body{font-family:var(--font-body);line-height:1.45;background:transparent;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 70%,transparent);outline-offset:2px}.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}.app-shell{position:relative;min-height:100dvh;max-width:var(--content-width);margin:0 auto;padding:calc(var(--space-3) + var(--safe-top)) var(--space-4) calc(var(--bottom-nav-height) + var(--space-5) + var(--safe-bottom));display:grid;grid-template-rows:auto 1fr;gap:var(--space-3);isolation:isolate}.app-shell:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:-1;opacity:.35;background-image:radial-gradient(color-mix(in srgb,var(--fg) 8%,transparent) .6px,transparent .6px);background-size:3px 3px;-webkit-mask-image:linear-gradient(180deg,#000 20%,transparent 90%);mask-image:linear-gradient(180deg,#000 20%,transparent 90%)}.app-shell-boot{padding-bottom:calc(var(--space-5) + var(--safe-bottom));place-content:center}.app-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:var(--control-min);animation:rise-in var(--duration) var(--ease) both}.brand-logo{display:inline-flex;align-items:center;gap:.7rem;min-width:0}.brand-logo-mark{display:block;flex:0 0 auto;object-fit:contain;border-radius:.35rem;filter:drop-shadow(0 6px 18px color-mix(in srgb,var(--brand) 45%,transparent))}.brand-logo-wordmark{font-family:var(--font-display);font-size:1.55rem;font-weight:700;letter-spacing:.01em;line-height:1;background:linear-gradient(180deg,var(--brand-bright),var(--brand) 55%,var(--brand-deep));-webkit-background-clip:text;background-clip:text;color:transparent}.brand-logo-full{display:block;width:min(14rem,72vw);height:auto;filter:drop-shadow(0 12px 36px color-mix(in srgb,var(--brand) 35%,transparent))}.app-header-context{margin:0;padding:.35rem .7rem;border-radius:var(--radius-full);background:color-mix(in srgb,var(--surface) 70%,transparent);color:var(--ink-soft);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.app-main{min-height:0;animation:view-enter var(--duration) var(--ease) both}.discover-lock-hint{position:fixed;left:50%;bottom:calc(var(--bottom-nav-height) + var(--safe-bottom) + .35rem);transform:translate(-50%);width:min(calc(100% - 1.5rem),calc(var(--content-width) - 1.5rem));margin:0;padding:.65rem .9rem;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border));border-radius:var(--radius-full);background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);color:var(--ink-soft);font-size:.8rem;font-weight:600;text-align:center;box-shadow:var(--elevation-1);z-index:19;animation:rise-in var(--duration) var(--ease) both}.app-shell:has(.discover-lock-hint){padding-bottom:calc(var(--bottom-nav-height) + var(--space-4) + var(--safe-bottom) + 3rem)}.bottom-nav{position:fixed;left:50%;bottom:calc(.55rem + var(--safe-bottom));transform:translate(-50%);width:min(calc(100% - 1.25rem),calc(var(--content-width) - 1.25rem));display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-1);padding:.35rem;border:1px solid color-mix(in srgb,var(--fg) 8%,transparent);border-radius:var(--radius-xl);background:color-mix(in srgb,var(--bg) 78%,transparent);-webkit-backdrop-filter:blur(18px) saturate(1.35);backdrop-filter:blur(18px) saturate(1.35);box-shadow:var(--elevation-2);z-index:20;animation:nav-in var(--duration-slow) var(--ease) both}.bottom-nav button{position:relative;min-height:calc(var(--control-min) + .15rem);border:0;border-radius:var(--radius-lg);padding:.35rem .4rem .45rem;display:grid;justify-items:center;align-content:center;gap:.15rem;background:transparent;color:var(--muted);cursor:pointer;font-size:.72rem;font-weight:700;letter-spacing:.01em;transition:color var(--duration-fast) var(--ease),transform var(--duration-fast) var(--ease)}.bottom-nav-icon{display:grid;place-items:center;width:1.65rem;height:1.65rem;border-radius:var(--radius-full);transition:background var(--duration) var(--ease),transform var(--duration) var(--ease-spring),box-shadow var(--duration) var(--ease)}.bottom-nav button.active{color:var(--brand-bright)}.bottom-nav button.active .bottom-nav-icon{background:linear-gradient(160deg,var(--brand-bright),var(--brand) 55%,var(--brand-deep));color:var(--accent-fg);transform:translateY(-1px) scale(1.05);box-shadow:var(--elevation-glow)}.bottom-nav button:active:not(:disabled){transform:scale(.97);background:color-mix(in srgb,var(--brand) 9%,transparent)}.bottom-nav button:disabled{opacity:.42;cursor:not-allowed}.boot-state,.state-panel{min-height:50dvh;display:grid;place-content:center;justify-items:center;gap:var(--space-3);text-align:center}.boot-state-animated .brand-logo,.boot-state-animated .brand-logo-full{animation:logo-breathe 2.4s var(--ease) infinite}.boot-pulse{width:2.5rem;height:.28rem;border-radius:var(--radius-full);background:linear-gradient(90deg,transparent,var(--brand-bright),transparent);background-size:200% 100%;animation:shimmer 1.1s linear infinite}.muted{margin:0;color:var(--muted)}.banner{margin:0;padding:.8rem .95rem;border-radius:var(--radius-md);font-size:.92rem;animation:rise-in var(--duration-fast) var(--ease) both}.banner-error{background:color-mix(in srgb,var(--danger) 12%,var(--bg));color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 18%,transparent)}.banner-ok{background:color-mix(in srgb,var(--success) 12%,var(--bg));color:var(--success);border:1px solid color-mix(in srgb,var(--success) 18%,transparent)}.toast-viewport{position:fixed;left:50%;bottom:calc(var(--bottom-nav-height) + var(--safe-bottom) + .85rem);z-index:90;display:grid;gap:.55rem;width:min(calc(100% - 1.5rem),22rem);transform:translate(-50%);pointer-events:none}.toast{pointer-events:auto;display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:.65rem;padding:.85rem .9rem;border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,#fff 10%,transparent);background:color-mix(in srgb,var(--surface) 88%,#1a1012);color:var(--fg);box-shadow:0 16px 40px color-mix(in srgb,#000 55%,transparent),0 0 0 1px color-mix(in srgb,#fff 4%,transparent) inset;-webkit-backdrop-filter:blur(14px) saturate(1.15);backdrop-filter:blur(14px) saturate(1.15);animation:toast-in .32s var(--ease-spring) both}.toast-success{border-color:color-mix(in srgb,var(--success) 35%,transparent)}.toast-error{border-color:color-mix(in srgb,var(--danger) 40%,transparent)}.toast-info{border-color:color-mix(in srgb,var(--brand-bright) 35%,transparent)}.toast-dot{width:.55rem;height:.55rem;margin-top:.35rem;border-radius:var(--radius-full);background:var(--brand-bright);box-shadow:0 0 12px color-mix(in srgb,var(--brand-bright) 70%,transparent)}.toast-success .toast-dot{background:var(--success);box-shadow:0 0 12px color-mix(in srgb,var(--success) 70%,transparent)}.toast-error .toast-dot{background:var(--danger);box-shadow:0 0 12px color-mix(in srgb,var(--danger) 70%,transparent)}.toast-message{margin:0;font-size:.94rem;line-height:1.35;font-weight:600}.toast-dismiss{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--muted);font-size:1.15rem;line-height:1;padding:.1rem .2rem;min-height:auto;cursor:pointer}.toast-dismiss:hover{color:var(--fg)}@keyframes toast-in{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.toast{animation:none}}.btn-primary,.btn-secondary,.btn-danger,.icon-button{cursor:pointer;min-height:var(--control-min);transition:transform var(--duration-fast) var(--ease),box-shadow var(--duration) var(--ease),background var(--duration-fast) var(--ease),opacity var(--duration-fast) var(--ease)}.btn-primary,.btn-secondary,.btn-danger{width:100%;border-radius:var(--radius-md);padding:.85rem 1rem;font-weight:700}.btn-primary{border:0;background:linear-gradient(160deg,var(--brand-bright),var(--brand) 48%,var(--brand-deep));color:var(--accent-fg);box-shadow:var(--elevation-glow)}.btn-primary:hover:not(:disabled){box-shadow:0 14px 34px color-mix(in srgb,var(--brand) 42%,transparent)}.btn-secondary{border:1px solid var(--border);background:color-mix(in srgb,var(--surface-elevated) 88%,transparent);color:inherit;font-weight:600}.btn-danger{border:0;background:linear-gradient(160deg,color-mix(in srgb,var(--danger) 82%,#fff),var(--danger));color:#fff}.btn-primary:active:not(:disabled),.btn-secondary:active:not(:disabled),.btn-danger:active:not(:disabled),.discovery-actions button:active:not(:disabled){transform:scale(.985)}.btn-primary:disabled,.btn-secondary:disabled,.btn-danger:disabled,.icon-button:disabled,.photo-upload:has(input:disabled),.discovery-actions button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.icon-button{display:inline-grid;place-items:center;width:var(--control-min);min-width:var(--control-min);border:0;border-radius:var(--radius-md);padding:0;background:color-mix(in srgb,var(--surface) 85%,transparent);color:inherit}.state-panel-title,.discovery-empty-title{margin:0;font-family:var(--font-display);font-size:1.45rem;font-weight:800;letter-spacing:-.03em}.state-panel-copy{margin:0;color:var(--muted);max-width:18rem}.state-panel-actions{display:grid;gap:var(--space-2);width:min(100%,16rem)}.state-skeleton,.discovery-skeleton{width:min(100%,18rem);aspect-ratio:3 / 4;border-radius:var(--radius-xl);background:linear-gradient(110deg,color-mix(in srgb,var(--surface) 70%,transparent) 25%,color-mix(in srgb,var(--fg) 7%,var(--surface)),color-mix(in srgb,var(--surface) 70%,transparent) 65%);background-size:200% 100%;animation:shimmer 1.2s linear infinite;box-shadow:var(--elevation-1)}.bottom-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;align-items:end;padding:var(--safe-top) 0 0;animation:fade-in var(--duration-fast) var(--ease) both}.bottom-sheet-scrim{position:absolute;top:0;right:0;bottom:0;left:0;border:0;padding:0;margin:0;background:color-mix(in srgb,#000000 48%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer}.bottom-sheet-scrim:disabled{cursor:default;opacity:1}.bottom-sheet{position:relative;z-index:1;width:100%;max-height:min(88dvh,40rem);overflow:auto;display:grid;gap:var(--space-3);padding:var(--space-5) var(--space-4) calc(var(--space-5) + var(--safe-bottom));border-radius:var(--radius-xl) var(--radius-xl) 0 0;background:color-mix(in srgb,var(--bg) 94%,#fff);box-shadow:var(--elevation-2);animation:sheet-up var(--duration) var(--ease-spring) both}.bottom-sheet-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.bottom-sheet-title{margin:0;font-family:var(--font-display);font-size:1.28rem;font-weight:800;letter-spacing:-.03em}.bottom-sheet-description,.safety-copy{margin:var(--space-2) 0 0;color:var(--muted);font-size:.92rem;line-height:1.45}.bottom-sheet-body{display:grid;gap:var(--space-3)}.safety-sheet-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.profile-editor{display:grid;gap:var(--space-4)}.profile-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3);animation:rise-in var(--duration) var(--ease) both}.profile-welcome{margin:0;font-family:var(--font-display);font-size:1.45rem;font-weight:800;letter-spacing:-.035em}.profile-subtitle{margin:.25rem 0 0;color:var(--muted);font-size:.92rem}.profile-status{margin:0;font-size:.76rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:.4rem .7rem;border-radius:var(--radius-full);white-space:nowrap}.profile-status.complete{color:var(--success);background:color-mix(in srgb,var(--success) 12%,transparent)}.profile-status.incomplete{color:var(--muted);background:color-mix(in srgb,var(--muted) 14%,transparent)}.profile-section{display:grid;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface-elevated) 92%,transparent);box-shadow:0 1px color-mix(in srgb,#fff 40%,transparent) inset;animation:rise-in var(--duration) var(--ease) both}.profile-section:nth-of-type(2){animation-delay:40ms}.profile-section:nth-of-type(3){animation-delay:80ms}.profile-section:nth-of-type(4){animation-delay:.12s}.profile-section:nth-of-type(5){animation-delay:.16s}.section-heading h2,.profile-section h2{margin:0;font-family:var(--font-display);font-size:1.08rem;letter-spacing:-.02em}.profile-hint{margin:0;color:var(--muted);font-size:.85rem;font-weight:400}.missing-list{margin:0;padding-left:1.1rem;display:grid;gap:var(--space-1);color:var(--ink-soft);font-size:.9rem}.profile-form{display:grid;gap:var(--space-3)}.profile-form label,.photo-upload,.field-hint{display:grid;gap:var(--space-1);font-size:.875rem;font-weight:600}.field-optional{color:var(--muted);font-weight:500}.profile-form input,.profile-form textarea,.profile-form select,.safety-details textarea{font-weight:400;min-height:var(--control-min);padding:.75rem .9rem;border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg) 70%,var(--surface));color:inherit;transition:border-color var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease),background var(--duration-fast) var(--ease)}.profile-form input:focus,.profile-form textarea:focus,.profile-form select:focus,.safety-details textarea:focus{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));box-shadow:0 0 0 3px var(--accent-soft);outline:none}.profile-form textarea,.safety-details textarea{min-height:6rem;resize:vertical}.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.photo-item{margin:0;display:grid;gap:var(--space-2);position:relative}.photo-item img{width:100%;aspect-ratio:3 / 4;object-fit:cover;border-radius:var(--radius-md);background:color-mix(in srgb,var(--fg) 8%,transparent);transition:transform var(--duration) var(--ease)}.photo-item:hover img{transform:scale(1.015)}.photo-badge{position:absolute;top:var(--space-2);left:var(--space-2);margin:0;padding:.28rem .55rem;border-radius:var(--radius-full);background:color-mix(in srgb,#000000 58%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.photo-item button{min-height:var(--control-min);padding:.55rem;border:1px solid var(--border);border-radius:var(--radius-md);background:transparent;color:inherit;cursor:pointer;font-weight:600}.photo-upload{justify-items:center;align-content:center;min-height:var(--control-min);padding:var(--space-4);border:1px dashed color-mix(in srgb,var(--accent) 35%,var(--border));border-radius:var(--radius-md);background:var(--accent-soft);cursor:pointer;transition:transform var(--duration-fast) var(--ease),background var(--duration-fast) var(--ease)}.photo-upload:hover{background:color-mix(in srgb,var(--accent) 18%,transparent)}.photo-upload input{display:none}.photo-limit{margin:0;padding:var(--space-3);border-radius:var(--radius-md);background:color-mix(in srgb,var(--muted) 12%,transparent);color:var(--muted);font-size:.9rem}.blocked-users summary{cursor:pointer;font-family:var(--font-display);font-size:1.05rem;font-weight:700;min-height:var(--control-min);display:flex;align-items:center}.blocked-users[open] summary{margin-bottom:var(--space-2)}.blocked-empty{display:grid;gap:var(--space-2);justify-items:start}.blocked-list{margin:0;padding:0;list-style:none;display:grid;gap:var(--space-3)}.blocked-item{display:grid;grid-template-columns:3.5rem 1fr;gap:var(--space-3);align-items:center}.blocked-photo,.blocked-photo-empty{width:3.5rem;height:3.5rem;border-radius:var(--radius-md);object-fit:cover;background:color-mix(in srgb,var(--fg) 8%,var(--surface))}.blocked-photo-empty{display:grid;place-items:center;color:var(--muted);font-weight:700}.blocked-meta{display:grid;gap:var(--space-2);min-width:0}.blocked-name{margin:0;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.blocked-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.blocked-actions .btn-primary,.blocked-actions .btn-secondary,.blocked-actions .btn-danger{width:auto;padding:.55rem .85rem;font-size:.85rem}.discovery-page,.matches-page{display:grid;gap:var(--space-3);min-height:0}.discovery-loading{display:grid;gap:var(--space-4);min-height:min(72dvh,36rem);align-content:start;animation:fade-in .28s var(--ease) both}.discovery-loading-stage{position:relative;isolation:isolate}.discovery-loading-aurora{position:absolute;z-index:0;border-radius:50%;filter:blur(36px);pointer-events:none}.discovery-loading-aurora-a{width:14rem;height:14rem;top:-8%;left:50%;translate:-50% 0;background:radial-gradient(circle,color-mix(in srgb,var(--brand) 42%,transparent),transparent 70%);animation:discovery-load-aurora 3.6s var(--ease) infinite}.discovery-loading-aurora-b{width:11rem;height:11rem;right:-8%;bottom:18%;background:radial-gradient(circle,color-mix(in srgb,#ffb347 22%,transparent),transparent 72%);animation:discovery-load-aurora 4.2s .4s var(--ease) infinite reverse}.discovery-loading-orb{position:absolute;z-index:2;width:.45rem;height:.45rem;border-radius:var(--radius-full);background:gold;box-shadow:0 0 12px gold;pointer-events:none;animation:discovery-load-orb 2.8s var(--ease) infinite}.discovery-loading-orb-1{top:12%;left:12%}.discovery-loading-orb-2{top:28%;right:10%;width:.32rem;height:.32rem;background:#ff6b7a;box-shadow:0 0 12px #ff2a2a;animation-delay:.45s}.discovery-loading-orb-3{bottom:34%;left:18%;width:.26rem;height:.26rem;background:#fff6d5;box-shadow:0 0 10px #fff6d5;animation-delay:.9s}.discovery-loading-card{position:relative;z-index:1;display:grid;grid-template-rows:1fr auto;gap:var(--space-3);min-height:min(68dvh,34rem)}.discovery-loading-photo{position:relative;overflow:hidden;min-height:min(52dvh,26rem);border-radius:var(--radius-xl);border:1px solid color-mix(in srgb,var(--brand-bright) 22%,transparent);background:radial-gradient(120% 80% at 50% 0%,color-mix(in srgb,var(--brand) 28%,transparent),transparent 55%),linear-gradient(165deg,color-mix(in srgb,var(--surface) 92%,#2a1216),color-mix(in srgb,var(--bg) 88%,#12080a));box-shadow:var(--elevation-2),0 0 48px color-mix(in srgb,var(--brand) 18%,transparent)}.discovery-loading-shine{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(110deg,transparent 20%,color-mix(in srgb,#fff 10%,transparent) 48%,transparent 72%);background-size:220% 100%;animation:shimmer 1.5s linear infinite}.discovery-loading-ring{position:absolute;top:42%;left:50%;width:7.5rem;height:7.5rem;translate:-50% -58%;border-radius:var(--radius-full);border:1px solid color-mix(in srgb,#ffd700 35%,transparent);opacity:.55;animation:discovery-load-ring 2.2s var(--ease) infinite}.discovery-loading-heart{position:absolute;top:42%;left:50%;width:4.6rem;height:4.3rem;translate:-50% -62%;color:#f20d28;filter:drop-shadow(0 0 22px color-mix(in srgb,var(--brand-bright) 70%,transparent));animation:discovery-load-heart 1.8s var(--ease) infinite}.discovery-loading-heart svg{display:block;width:100%;height:100%;fill:currentColor}.discovery-loading-meta{position:absolute;left:0;right:0;bottom:0;display:grid;gap:.55rem;padding:var(--space-5) var(--space-4) var(--space-4);background:linear-gradient(180deg,transparent,color-mix(in srgb,#000 72%,transparent))}.discovery-loading-line{display:block;height:.85rem;border-radius:var(--radius-full);background:color-mix(in srgb,#fff 18%,transparent);animation:discovery-load-pulse 1.6s var(--ease) infinite}.discovery-loading-line-name{width:48%;height:1.15rem}.discovery-loading-line-city{width:32%;animation-delay:.12s}.discovery-loading-line-bio{width:72%;animation-delay:.24s}.discovery-loading-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.discovery-loading-btn{display:block;min-height:calc(var(--control-min) + .25rem);border-radius:var(--radius-lg);animation:discovery-load-pulse 1.6s var(--ease) infinite}.discovery-loading-btn-pass{background:color-mix(in srgb,var(--surface-elevated) 90%,var(--fg));border:1px solid var(--border)}.discovery-loading-btn-like{background:linear-gradient(160deg,var(--brand-bright),var(--brand) 48%,var(--brand-deep));box-shadow:var(--elevation-glow);animation-delay:.18s}.discovery-loading-copy{display:grid;justify-items:center;gap:.45rem;text-align:center}.discovery-loading-kicker{margin:0;text-transform:uppercase;letter-spacing:.18em;font-size:.68rem;font-weight:800;color:color-mix(in srgb,#ffd700 65%,var(--accent))}.discovery-loading-status{position:relative;height:1.4rem;width:min(100%,16rem);overflow:hidden}.discovery-loading-status-line{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;display:grid;place-items:center;font-family:var(--font-display);font-size:1.2rem;font-weight:700;letter-spacing:-.03em;color:var(--fg);opacity:0;animation:discovery-load-status 4.8s var(--ease) infinite}.discovery-loading-status-line:nth-child(2){animation-delay:1.6s}.discovery-loading-status-line:nth-child(3){animation-delay:3.2s}.discovery-loading-bar{display:block;width:5.5rem;height:.22rem;margin-top:.2rem;border-radius:var(--radius-full);background:linear-gradient(90deg,transparent,var(--brand-bright),#ffd700,transparent);background-size:200% 100%;animation:shimmer 1.1s linear infinite}@keyframes discovery-load-aurora{0%,to{opacity:.45;transform:scale(.95)}50%{opacity:.9;transform:scale(1.08)}}@keyframes discovery-load-orb{0%,to{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-.55rem)}}@keyframes discovery-load-ring{0%,to{opacity:.25;transform:scale(.92)}50%{opacity:.7;transform:scale(1.08)}}@keyframes discovery-load-heart{0%,to{transform:scale(1);filter:drop-shadow(0 0 18px color-mix(in srgb,var(--brand-bright) 55%,transparent))}50%{transform:scale(1.08);filter:drop-shadow(0 0 28px color-mix(in srgb,var(--brand-bright) 85%,transparent))}}@keyframes discovery-load-pulse{0%,to{opacity:.45}50%{opacity:.9}}@keyframes discovery-load-status{0%,8%{opacity:0;transform:translateY(.55rem)}16%,28%{opacity:1;transform:translateY(0)}36%,to{opacity:0;transform:translateY(-.45rem)}}@media(prefers-reduced-motion:reduce){.discovery-loading-aurora,.discovery-loading-orb,.discovery-loading-shine,.discovery-loading-ring,.discovery-loading-heart,.discovery-loading-line,.discovery-loading-btn,.discovery-loading-bar,.discovery-loading-status-line{animation:none!important}.discovery-loading-status-line:first-child{opacity:1}}.discovery-card{display:grid;grid-template-rows:1fr auto;gap:var(--space-3);min-height:min(68dvh,34rem);animation:card-in var(--duration-slow) var(--ease) both}.discovery-photo{position:relative;min-height:0;border-radius:var(--radius-xl);overflow:hidden;background:color-mix(in srgb,var(--fg) 8%,var(--surface));box-shadow:var(--elevation-2);-webkit-user-select:none;user-select:none}.discovery-photo-hit{position:absolute;z-index:3;top:0;bottom:38%;width:42%;min-height:var(--control-min);border:0;padding:0;margin:0;background:transparent;cursor:pointer}.discovery-photo-hit-prev{left:0}.discovery-photo-hit-next{right:0}.discovery-photo-hit:disabled{cursor:default}.discovery-photo-img,.discovery-photo-empty{width:100%;height:100%;min-height:min(52dvh,26rem);object-fit:cover;display:block}.discovery-photo-img{animation:photo-fade var(--duration) var(--ease) both}.discovery-photo-empty{display:grid;place-items:center;color:var(--muted);background:linear-gradient(160deg,var(--surface),color-mix(in srgb,var(--accent) 12%,var(--surface)))}.discovery-photo:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,color-mix(in srgb,#000 22%,transparent) 0%,transparent 28%,transparent 46%,color-mix(in srgb,#000 82%,transparent) 100%);pointer-events:none}.discovery-safety{position:absolute;z-index:4;top:var(--space-3);right:var(--space-3)}.discovery-photo-dots{position:absolute;z-index:2;top:var(--space-3);left:var(--space-3);right:4rem;display:flex;gap:.3rem}.discovery-photo-dots span{flex:1;height:.22rem;border-radius:var(--radius-full);background:color-mix(in srgb,#fff 32%,transparent);transition:background var(--duration-fast) var(--ease),transform var(--duration-fast) var(--ease)}.discovery-photo-dots span.active{background:#fff;transform:scaleY(1.35)}.discovery-meta{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:var(--space-5) var(--space-4) var(--space-4);color:#fff5f5}.discovery-meta h2{margin:0;font-family:var(--font-display);font-size:1.85rem;font-weight:800;letter-spacing:-.04em;display:flex;align-items:baseline;gap:var(--space-2);overflow-wrap:anywhere;text-shadow:0 2px 18px color-mix(in srgb,#000 35%,transparent)}.discovery-new-tag{display:inline-flex;align-items:center;min-height:1.5rem;margin-bottom:var(--space-2);border-radius:var(--radius-full);padding:.18rem .6rem;background:color-mix(in srgb,var(--accent) 88%,#fff);color:var(--accent-fg);font-size:.75rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.discovery-age,.match-age{font-family:var(--font-body);font-size:1.15rem;font-weight:600;opacity:.92}.discovery-city,.discovery-bio{margin:0}.discovery-city{margin-top:.25rem;opacity:.92;font-size:.95rem;font-weight:600}.discovery-bio{margin-top:var(--space-2);font-size:.98rem;line-height:1.4;white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.discovery-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.discovery-actions button{min-height:calc(var(--control-min) + .25rem);border:0;border-radius:var(--radius-lg);padding:.95rem 1rem;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-weight:700;font-size:1rem;cursor:pointer;transition:transform var(--duration-fast) var(--ease),box-shadow var(--duration) var(--ease),filter var(--duration-fast) var(--ease)}.discovery-pass{background:color-mix(in srgb,var(--surface-elevated) 90%,var(--fg));color:var(--fg);border:1px solid var(--border)}.discovery-like{background:linear-gradient(160deg,var(--brand-bright),var(--brand) 48%,var(--brand-deep));color:var(--accent-fg);box-shadow:var(--elevation-glow)}.match-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:grid;place-items:center;padding:var(--space-5);overflow:hidden;background:radial-gradient(120% 80% at 50% 20%,color-mix(in srgb,#3a0a12 70%,transparent),transparent 55%),color-mix(in srgb,#000 78%,transparent);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);animation:fade-in .28s var(--ease) both}.match-atmosphere{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.match-aurora{position:absolute;border-radius:50%;filter:blur(40px);opacity:0;animation:match-aurora-drift 4.8s var(--ease) both}.match-aurora-a{width:22rem;height:22rem;top:-8%;left:50%;translate:-50% 0;background:radial-gradient(circle,color-mix(in srgb,var(--brand) 55%,transparent),transparent 70%);animation-delay:.1s}.match-aurora-b{width:16rem;height:16rem;bottom:8%;left:-6%;background:radial-gradient(circle,color-mix(in srgb,#ffb347 28%,transparent),transparent 72%);animation-delay:.35s;animation-name:match-aurora-drift-alt}.match-aurora-c{width:18rem;height:18rem;bottom:12%;right:-8%;background:radial-gradient(circle,color-mix(in srgb,#ff4d6d 32%,transparent),transparent 70%);animation-delay:.5s}.match-ray{position:absolute;left:50%;top:28%;width:2px;height:55vmax;transform-origin:top center;background:linear-gradient(to bottom,color-mix(in srgb,#fff 55%,transparent),color-mix(in srgb,var(--brand-bright) 18%,transparent),transparent);opacity:0;filter:blur(.4px);animation:match-ray-burst 1.8s .55s var(--ease) both}.match-ray-1{transform:translate(-50%) rotate(-34deg)}.match-ray-2{transform:translate(-50%) rotate(-18deg);animation-delay:.62s}.match-ray-3{transform:translate(-50%) rotate(-6deg);animation-delay:.58s}.match-ray-4{transform:translate(-50%) rotate(8deg);animation-delay:.6s}.match-ray-5{transform:translate(-50%) rotate(22deg);animation-delay:.64s}.match-ray-6{transform:translate(-50%) rotate(36deg);animation-delay:.66s}.match-flash{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 38%,color-mix(in srgb,#fff 55%,transparent),transparent 42%);opacity:0;animation:match-impact-flash .7s .68s var(--ease) both}.match-spark{--spark-x: 0;--spark-y: 0;--spark-delay: .8s;--spark-size: .2rem;position:absolute;left:50%;top:36%;width:var(--spark-size);height:var(--spark-size);border-radius:var(--radius-full);background:#fff6d5;box-shadow:0 0 10px gold;opacity:0;animation:match-spark-float 2.8s var(--spark-delay) var(--ease) infinite}.match-spark-1{--spark-x: -38vw;--spark-y: -18vh;--spark-delay: .75s}.match-spark-2{--spark-x: 34vw;--spark-y: -22vh;--spark-delay: .9s;--spark-size: .28rem}.match-spark-3{--spark-x: -28vw;--spark-y: 12vh;--spark-delay: 1.05s}.match-spark-4{--spark-x: 30vw;--spark-y: 16vh;--spark-delay: .85s;--spark-size: .16rem}.match-spark-5{--spark-x: -12vw;--spark-y: -28vh;--spark-delay: 1.1s}.match-spark-6{--spark-x: 14vw;--spark-y: -30vh;--spark-delay: .95s;--spark-size: .24rem}.match-spark-7{--spark-x: -42vw;--spark-y: 4vh;--spark-delay: 1.2s}.match-spark-8{--spark-x: 40vw;--spark-y: 2vh;--spark-delay: 1s}.match-spark-9{--spark-x: -20vw;--spark-y: 24vh;--spark-delay: 1.15s;--spark-size: .18rem}.match-spark-10{--spark-x: 22vw;--spark-y: 26vh;--spark-delay: .88s}.match-spark-11{--spark-x: -6vw;--spark-y: 30vh;--spark-delay: 1.25s}.match-spark-12{--spark-x: 8vw;--spark-y: -16vh;--spark-delay: 1.08s;--spark-size: .3rem}.match-spark-13{--spark-x: -32vw;--spark-y: -8vh;--spark-delay: 1.3s}.match-spark-14{--spark-x: 36vw;--spark-y: -10vh;--spark-delay: .78s}.match-spark-15{--spark-x: -16vw;--spark-y: -4vh;--spark-delay: 1.18s;--spark-size: .14rem}.match-spark-16{--spark-x: 18vw;--spark-y: 8vh;--spark-delay: .92s}.match-spark-17{--spark-x: -24vw;--spark-y: 20vh;--spark-delay: 1.35s}.match-spark-18{--spark-x: 26vw;--spark-y: -26vh;--spark-delay: 1.02s;--spark-size: .22rem}.match-moment{position:relative;isolation:isolate;overflow:hidden;width:min(100%,22.5rem);display:grid;gap:var(--space-2);justify-items:center;padding:var(--space-4) var(--space-4) var(--space-4);border-radius:calc(var(--radius-xl) + .15rem);border:1px solid color-mix(in srgb,var(--brand-bright) 28%,transparent);background:radial-gradient(130% 100% at 50% -18%,color-mix(in srgb,var(--brand) 42%,transparent),transparent 58%),radial-gradient(90% 70% at 50% 110%,color-mix(in srgb,#ffb347 12%,transparent),transparent 55%),linear-gradient(180deg,color-mix(in srgb,#2a1216 92%,#000),color-mix(in srgb,var(--bg) 94%,#12080a));color:var(--fg);box-shadow:var(--elevation-2),0 0 0 1px color-mix(in srgb,#fff 6%,transparent) inset,0 0 80px color-mix(in srgb,var(--brand) 28%,transparent);text-align:center;animation:match-pop .7s var(--ease-spring) both}.match-moment:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:linear-gradient(118deg,transparent 18%,color-mix(in srgb,#fff 10%,transparent),transparent 68%),radial-gradient(circle at 50% 18%,color-mix(in srgb,var(--brand-bright) 26%,transparent),transparent 36%);animation:match-lustre 2.6s var(--ease) infinite}.match-moment:after{content:"";position:absolute;top:-40%;right:-20%;bottom:-40%;left:-20%;z-index:-2;pointer-events:none;background:conic-gradient(from 180deg at 50% 40%,transparent 0deg,color-mix(in srgb,var(--brand-bright) 16%,transparent) 40deg,transparent 80deg,color-mix(in srgb,#ffd700 12%,transparent) 140deg,transparent 180deg,color-mix(in srgb,var(--brand) 14%,transparent) 240deg,transparent 320deg,transparent 360deg);opacity:.55;animation:match-conic-spin 8s linear infinite}.match-moment-visual{position:relative;width:100%;height:14.5rem}.match-heart-stage{position:absolute;top:-.2rem;left:50%;width:13rem;height:12.5rem;transform:translate(-50%);display:grid;place-items:center;pointer-events:none}.match-heart-stage:before{content:"";position:absolute;top:4%;right:0;bottom:4%;left:0;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--brand-bright) 42%,transparent),color-mix(in srgb,#ffd700 12%,transparent) 42%,transparent 72%);filter:blur(14px);animation:match-stage-flare 1.45s .4s var(--ease) both}.match-heart-assembly{position:relative;z-index:3;width:10rem;height:9.35rem;animation:match-heart-pulse 1.8s 1.35s ease-in-out infinite}.match-heart-piece,.match-heart-seam,.match-heart-gleam,.match-heart-outline{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;overflow:visible;will-change:transform,opacity}.match-heart-piece{filter:drop-shadow(0 10px 20px color-mix(in srgb,#000 48%,transparent)) drop-shadow(0 0 28px color-mix(in srgb,var(--brand-bright) 70%,transparent))}.match-heart-piece-left{clip-path:polygon(0 0,53% 0,45% 38%,56% 48%,47% 62%,57% 74%,51% 100%,0 100%);animation:match-heart-left-form 1.35s var(--ease-spring) both}.match-heart-piece-right{clip-path:polygon(52% 0,100% 0,100% 100%,50% 100%,56% 74%,46% 62%,55% 48%,44% 38%);animation:match-heart-right-form 1.35s var(--ease-spring) both}.match-heart-gleam{z-index:4;pointer-events:none;mix-blend-mode:screen}.match-heart-gleam-path{fill:none;stroke:#fff;stroke-width:7;stroke-linecap:round;stroke-dasharray:28 220;filter:blur(1px);opacity:0;animation:match-gleam-sweep 1.6s .85s var(--ease) both}.match-heart-seam{z-index:5;fill:none;stroke:#fff6f7;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 8px #fff) drop-shadow(0 0 14px #ffd700);opacity:0;animation:match-seam-heal 1.45s .2s var(--ease) both}.match-heart-outline{z-index:2;fill:none;opacity:0;animation:match-outline-bloom 1.2s .75s var(--ease) both}.match-heart-outline path{fill:none;stroke:color-mix(in srgb,#ffd700 70%,#fff);stroke-width:1.4;filter:drop-shadow(0 0 10px color-mix(in srgb,#ffd700 80%,transparent))}.match-shockwave{position:absolute;z-index:1;width:4.5rem;height:4.5rem;border-radius:var(--radius-full);border:2px solid color-mix(in srgb,#fff 70%,transparent);opacity:0;animation:match-shockwave 1.1s .68s var(--ease) both}.match-shockwave-b{animation-delay:.78s;border-color:color-mix(in srgb,var(--brand-bright) 65%,transparent)}.match-shockwave-c{animation-delay:.9s;border-color:color-mix(in srgb,#ffd700 55%,transparent)}.match-union-ring{position:absolute;z-index:1;width:7.4rem;height:7.4rem;border:1px solid color-mix(in srgb,var(--brand-bright) 72%,transparent);border-radius:var(--radius-full);opacity:0;will-change:transform,opacity;animation:match-union-ring 1.25s .62s var(--ease) both}.match-union-ring-mid{width:6.2rem;height:6.2rem;border-color:color-mix(in srgb,#ffd700 55%,transparent);animation-delay:.72s}.match-union-ring-inner{width:5rem;height:5rem;animation-delay:.82s}.match-orbit{position:absolute;z-index:1;width:11rem;height:11rem;border-radius:var(--radius-full);border:1px dashed color-mix(in srgb,#ffd700 28%,transparent);opacity:0;animation:match-orbit-spin 6s .9s linear infinite,match-orbit-in .8s .85s var(--ease) both}.match-orbit:before,.match-orbit:after{content:"";position:absolute;width:.45rem;height:.45rem;border-radius:var(--radius-full);background:gold;box-shadow:0 0 12px gold}.match-orbit:before{top:-.2rem;left:50%;translate:-50% 0}.match-orbit:after{bottom:-.2rem;left:50%;translate:-50% 0;background:#ff6b7a;box-shadow:0 0 12px #ff2a2a}.match-orbit-reverse{width:8.6rem;height:8.6rem;animation-direction:reverse,normal;animation-duration:4.5s,.8s;border-color:color-mix(in srgb,var(--brand-bright) 30%,transparent)}.match-particle{--particle-x: 0rem;--particle-y: 0rem;--particle-size: .42rem;position:absolute;z-index:4;left:50%;top:45%;display:block;width:var(--particle-size);height:var(--particle-size);border-radius:var(--radius-full);background:color-mix(in srgb,var(--brand-bright) 76%,#fff);box-shadow:0 0 14px color-mix(in srgb,var(--brand-bright) 82%,transparent);opacity:0;will-change:transform,opacity;animation:match-particle-release 1.2s .55s var(--ease) both}.match-particle-1{--particle-x: -5.2rem;--particle-y: -3.6rem}.match-particle-2{--particle-x: -5.6rem;--particle-y: .8rem;animation-delay:.62s}.match-particle-3{--particle-x: -3.2rem;--particle-y: 4.4rem;animation-delay:.68s}.match-particle-4{--particle-x: -1.1rem;--particle-y: -5.2rem;animation-delay:.58s;--particle-size: .28rem;background:gold;box-shadow:0 0 14px gold}.match-particle-5{--particle-x: 1.9rem;--particle-y: -5.2rem;animation-delay:.66s}.match-particle-6{--particle-x: 5.2rem;--particle-y: -2.9rem;animation-delay:.6s}.match-particle-7{--particle-x: 5.4rem;--particle-y: 1.5rem;animation-delay:.7s;--particle-size: .3rem;background:#fff6d5;box-shadow:0 0 14px #fff6d5}.match-particle-8{--particle-x: 3.1rem;--particle-y: 4.5rem;animation-delay:.64s}.match-particle-9{--particle-x: -4.2rem;--particle-y: -5rem;animation-delay:.72s;--particle-size: .22rem;background:gold;box-shadow:0 0 12px gold}.match-particle-10{--particle-x: 4.4rem;--particle-y: -4.8rem;animation-delay:.74s}.match-particle-11{--particle-x: -.2rem;--particle-y: 5.2rem;animation-delay:.76s;--particle-size: .34rem}.match-particle-12{--particle-x: .4rem;--particle-y: -5.6rem;animation-delay:.7s;--particle-size: .2rem;background:#fff;box-shadow:0 0 16px #fff}.match-moment-photo-wrap{position:absolute;z-index:6;left:50%;bottom:.15rem;width:5.4rem;height:5.4rem;transform:translate(-50%);animation:match-profile-arrive .85s .9s var(--ease-spring) both}.match-photo-halo{position:absolute;top:-18%;right:-18%;bottom:-18%;left:-18%;border-radius:var(--radius-full);background:radial-gradient(circle,color-mix(in srgb,#ffd700 35%,transparent),color-mix(in srgb,var(--brand-bright) 22%,transparent) 45%,transparent 72%);filter:blur(6px);animation:match-halo-breathe 2.2s 1.1s ease-in-out infinite}.match-photo-ring{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:var(--radius-full);background:conic-gradient(from 0deg,gold,#ff2a2a,#fff6d5,#e10600,#ffb347,gold);animation:match-conic-spin 2.8s linear infinite;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:2px}.match-moment-photo,.match-moment-photo-empty{position:relative;z-index:1;width:100%;height:100%;border-radius:var(--radius-full);overflow:hidden;background:var(--surface);border:2px solid color-mix(in srgb,#fff 35%,transparent);box-shadow:0 14px 34px color-mix(in srgb,#000 65%,transparent),0 0 32px color-mix(in srgb,var(--brand-bright) 52%,transparent)}.match-moment-photo img{width:100%;height:100%;object-fit:cover;display:block}.match-moment-photo-empty{display:grid;place-items:center;color:var(--accent);font-family:var(--font-display);font-weight:800}.match-copy-stack{display:grid;gap:.2rem;justify-items:center;width:100%}.match-kicker{margin:.2rem 0 0;text-transform:uppercase;letter-spacing:.2em;font-size:.68rem;font-weight:800;color:color-mix(in srgb,#ffd700 70%,var(--accent));opacity:0;animation:match-text-rise .55s 1.05s var(--ease) both}.match-title{margin:0;line-height:1}.match-title-shine{display:inline-block;font-family:var(--font-display);font-size:clamp(2.1rem,8vw,2.55rem);font-weight:800;letter-spacing:-.03em;background:linear-gradient(105deg,#ffd6a5,#fff 22%,#ff2a2a 48%,gold 68%,#fff6d5);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;opacity:0;animation:match-text-rise .6s 1.15s var(--ease-spring) both,match-title-shimmer 2.8s 1.4s var(--ease) infinite}.match-name{margin:0;font-family:var(--font-display);font-size:1.45rem;font-weight:700;letter-spacing:-.03em;color:color-mix(in srgb,var(--fg) 92%,#ffd6a5);opacity:0;animation:match-text-rise .55s 1.28s var(--ease) both}.match-copy{margin:.15rem 0 var(--space-1);color:var(--muted);font-size:.95rem;opacity:0;animation:match-text-rise .55s 1.4s var(--ease) both}.match-moment-actions{display:grid;gap:var(--space-2);width:100%;opacity:0;animation:match-text-rise .55s 1.55s var(--ease) both}.match-cta-primary{box-shadow:0 0 24px color-mix(in srgb,var(--brand) 45%,transparent)}.incoming-like-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;display:grid;place-items:center;padding:var(--space-5);background:color-mix(in srgb,#000 62%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fade-in var(--duration-fast) var(--ease) both}.incoming-like-modal{position:relative;width:min(100%,22rem);display:grid;gap:var(--space-2);justify-items:center;padding:var(--space-6) var(--space-4) var(--space-4);border-radius:var(--radius-xl);background:radial-gradient(120% 90% at 50% -10%,color-mix(in srgb,var(--brand) 24%,transparent),transparent 55%),color-mix(in srgb,var(--bg) 92%,#1a1012);color:var(--fg);box-shadow:var(--elevation-2);text-align:center;animation:match-pop var(--duration-slow) var(--ease-spring) both}.incoming-like-dismiss{position:absolute;top:var(--space-3);right:var(--space-3);display:grid;place-items:center;width:var(--control-min);height:var(--control-min);border:1px solid var(--border);border-radius:var(--radius-full);background:color-mix(in srgb,var(--surface) 55%,transparent);color:var(--muted);cursor:pointer;transition:background var(--duration-fast) var(--ease),color var(--duration-fast) var(--ease),transform var(--duration-fast) var(--ease)}.incoming-like-dismiss:hover,.incoming-like-dismiss:focus-visible{background:var(--accent-soft);color:var(--brand-bright);transform:scale(1.04)}.incoming-like-kicker{margin:0;text-transform:uppercase;letter-spacing:.16em;font-size:.7rem;font-weight:800;color:var(--accent)}.incoming-like-photo,.incoming-like-photo-empty{width:7.5rem;height:7.5rem;border-radius:var(--radius-full);overflow:hidden;background:var(--surface);box-shadow:var(--elevation-glow)}.incoming-like-photo img{width:100%;height:100%;object-fit:cover;display:block}.incoming-like-photo-empty{display:grid;place-items:center;color:var(--accent);font-family:var(--font-display);font-weight:800;font-size:1.4rem}.incoming-like-name{margin:.2rem 0 0;font-family:var(--font-display);font-size:1.7rem;font-weight:800;letter-spacing:-.04em}.incoming-like-meta{margin:0;color:var(--muted);font-size:.95rem;font-weight:600}.incoming-like-copy{margin:var(--space-2) 0 0;color:var(--ink-soft);font-size:.92rem;line-height:1.4}.incoming-like-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);width:100%;margin-top:var(--space-2)}.incoming-like-actions button{min-height:calc(var(--control-min) + .25rem);border:0;border-radius:var(--radius-lg);padding:.95rem 1rem;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-weight:700;font-size:1rem;cursor:pointer}.incoming-like-actions button:disabled{opacity:.65;cursor:not-allowed}.likes-page{display:grid;gap:var(--space-3);min-height:0}.likes-heading{display:flex;align-items:end;justify-content:space-between;gap:var(--space-3);animation:rise-in var(--duration) var(--ease) both}.likes-heading h1,.likes-heading p{margin:0}.likes-heading h1{font-family:var(--font-display);font-size:1.7rem;font-weight:800;letter-spacing:-.04em}.likes-heading>div>p:last-child{margin-top:.2rem;color:var(--muted);font-size:.9rem}.likes-eyebrow{color:var(--brand-bright);font-size:.7rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.likes-refresh{width:auto;min-height:2.6rem;padding:.55rem .8rem;font-size:.82rem}.likes-list{display:grid;gap:var(--space-3);margin:0;padding:0;list-style:none}.like-card{display:grid;grid-template-columns:5.2rem 1fr;gap:var(--space-3);min-width:0;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface) 82%,transparent);box-shadow:var(--elevation-1);animation:rise-in var(--duration) var(--ease) both}.like-card-photo{width:5.2rem;height:6.6rem;overflow:hidden;display:grid;place-items:center;border-radius:var(--radius-md);background:linear-gradient(145deg,var(--surface-elevated),var(--accent-soft));color:var(--brand-bright);font-family:var(--font-display);font-size:1.4rem;font-weight:800}.like-card-photo img{width:100%;height:100%;object-fit:cover;display:block}.like-card-content{min-width:0;display:grid;align-content:start;gap:.2rem}.like-card-topline{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.like-status{margin:0;color:var(--muted);font-size:.7rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.like-status.pending{color:var(--brand-bright)}.like-card-content h2{margin:.15rem 0 0;font-family:var(--font-display);font-size:1.45rem;font-weight:800;letter-spacing:-.04em;overflow-wrap:anywhere}.like-card-content h2 span{margin-left:var(--space-2);font-family:var(--font-body);font-size:.95rem;font-weight:600;color:var(--muted)}.like-card-city,.like-card-bio,.like-card-reviewed{margin:0;color:var(--muted);font-size:.85rem}.like-card-bio{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.like-review{width:auto;justify-self:start;min-height:2.35rem;margin-top:var(--space-2);padding:.5rem .7rem;font-size:.8rem}.like-card-reviewed{margin-top:var(--space-2);font-size:.78rem}.onboarding-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:var(--space-4);background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--brand) 24%,transparent),transparent 42%),color-mix(in srgb,#050304 78%,transparent);-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2);animation:fade-in var(--duration) var(--ease) both}.onboarding-guide{width:min(100%,24rem);max-height:min(92dvh,44rem);overflow-y:auto;padding:var(--space-6);border:1px solid color-mix(in srgb,var(--brand-bright) 20%,var(--border));border-radius:var(--radius-xl);background:linear-gradient(145deg,color-mix(in srgb,#fff 4%,transparent),transparent 36%),color-mix(in srgb,var(--bg) 95%,#210d11);box-shadow:0 28px 70px color-mix(in srgb,#000 68%,transparent),0 0 50px color-mix(in srgb,var(--brand) 14%,transparent);animation:onboarding-arrive .68s var(--ease-spring) both}.onboarding-kicker{margin:0 0 var(--space-2);color:var(--brand-bright);font-size:.72rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.onboarding-guide>h1{margin:0;font-family:var(--font-display);font-size:clamp(1.75rem,8vw,2.35rem);line-height:1.02;letter-spacing:-.045em}.onboarding-intro{margin:var(--space-3) 0 0;color:var(--ink-soft)}.onboarding-steps{margin:var(--space-5) 0;padding:0;list-style:none;display:grid;gap:var(--space-4)}.onboarding-steps li{display:grid;grid-template-columns:2.25rem 1fr;gap:var(--space-3);align-items:start}.onboarding-step-number{display:grid;place-items:center;width:2.25rem;height:2.25rem;border:1px solid color-mix(in srgb,var(--brand-bright) 32%,transparent);border-radius:var(--radius-full);background:var(--accent-soft);color:var(--brand-bright);font-family:var(--font-display);font-size:1.05rem;font-weight:800;box-shadow:0 0 20px color-mix(in srgb,var(--brand) 14%,transparent)}.onboarding-steps h2,.onboarding-steps p{margin:0}.onboarding-steps h2{font-size:1rem;line-height:1.25}.onboarding-steps p{margin-top:.2rem;color:var(--muted);font-size:.9rem;line-height:1.4}.matches-heading{display:grid;gap:var(--space-1);animation:rise-in var(--duration) var(--ease) both}.matches-heading h1{margin:0;font-family:var(--font-display);font-size:1.4rem;font-weight:800;letter-spacing:-.03em}.matches-list{margin:0;padding:0;list-style:none;display:grid;gap:var(--space-3)}.matches-list>li{animation:rise-in var(--duration) var(--ease) both}.matches-list>li:nth-child(1){animation-delay:20ms}.matches-list>li:nth-child(2){animation-delay:60ms}.matches-list>li:nth-child(3){animation-delay:.1s}.matches-list>li:nth-child(4){animation-delay:.14s}.matches-list>li:nth-child(5){animation-delay:.18s}.match-card{display:grid;grid-template-columns:5.5rem 1fr;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-lg);border:1px solid var(--border);background:color-mix(in srgb,var(--surface-elevated) 92%,transparent);box-shadow:var(--elevation-1);transition:transform var(--duration-fast) var(--ease),box-shadow var(--duration) var(--ease)}.match-card:hover{transform:translateY(-1px);box-shadow:var(--elevation-2)}.match-photo,.match-photo-empty{width:5.5rem;height:5.5rem;border-radius:var(--radius-md);overflow:hidden;background:color-mix(in srgb,var(--fg) 8%,var(--surface))}.match-photo img{display:block;width:100%;height:100%;object-fit:cover}.match-photo-empty{display:grid;place-items:center;padding:var(--space-1);text-align:center;font-size:.75rem;color:var(--muted)}.match-meta{display:grid;gap:.2rem;min-width:0;align-content:start}.match-meta-top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2)}.match-meta h2{margin:0;font-family:var(--font-display);font-size:1.12rem;font-weight:800;letter-spacing:-.02em;display:flex;align-items:baseline;gap:var(--space-2);min-width:0;overflow-wrap:anywhere}.match-age,.match-city,.match-date{margin:0;color:var(--muted)}.match-age{font-family:var(--font-body);font-size:.95rem;font-weight:600}.match-city{font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.match-bio{margin:0;font-size:.9rem;line-height:1.35;white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.match-date{margin-top:.15rem;font-size:.75rem}.match-chat{margin-top:var(--space-2);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-size:.9rem}.match-chat-fallback{margin:var(--space-2) 0 0;padding:.55rem .65rem;border-radius:var(--radius-md);background:color-mix(in srgb,var(--muted) 12%,transparent);color:var(--muted);font-size:.82rem;line-height:1.35}.safety-menu{position:relative}.safety-menu-trigger{width:var(--control-min);min-height:var(--control-min);border:0;border-radius:var(--radius-full);padding:0;display:grid;place-items:center;background:color-mix(in srgb,#000000 48%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;cursor:pointer;transition:transform var(--duration-fast) var(--ease),background var(--duration-fast) var(--ease)}.safety-menu-trigger:hover{transform:scale(1.04)}.safety-menu-trigger:active,.safety-menu-trigger[aria-expanded=true]{background:color-mix(in srgb,var(--brand-deep) 58%,#000);transform:scale(.96)}.match-meta-top .safety-menu-trigger{background:color-mix(in srgb,var(--fg) 8%,transparent);color:var(--fg)}.match-meta-top .safety-menu-trigger:active,.match-meta-top .safety-menu-trigger[aria-expanded=true]{background:var(--accent-soft);color:var(--brand-bright)}.safety-menu-panel{position:absolute;top:calc(100% + .4rem);right:0;z-index:5;display:grid;min-width:9rem;padding:var(--space-1);border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg) 94%,#fff);box-shadow:var(--elevation-2);animation:menu-in var(--duration-fast) var(--ease-spring) both}.safety-menu-panel button{min-height:var(--control-min);border:0;border-radius:var(--radius-sm);padding:.65rem .8rem;background:transparent;color:inherit;text-align:left;font-weight:600;cursor:pointer;transition:background var(--duration-fast) var(--ease)}.safety-menu-panel button:hover,.safety-menu-panel button:focus-visible{background:var(--accent-soft);color:var(--brand-bright)}.safety-reasons{margin:0;padding:0;border:0;display:grid;gap:var(--space-1)}.safety-reasons legend{margin-bottom:var(--space-1);font-weight:700}.safety-reason{display:flex;align-items:center;gap:var(--space-2);min-height:var(--control-min);padding:.35rem .55rem;border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface) 70%,transparent);transition:background var(--duration-fast) var(--ease)}.safety-reason:has(input:checked){background:var(--accent-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent)}.safety-details{display:grid;gap:var(--space-1);font-weight:600}.safety-details span{display:flex;justify-content:space-between;gap:var(--space-3)}.safety-counter{color:var(--muted);font-weight:500;font-size:.85rem}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes view-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes nav-in{0%{opacity:0;transform:translate(-50%,18px)}to{opacity:1;transform:translate(-50%)}}@keyframes card-in{0%{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes photo-fade{0%{opacity:.2;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}@keyframes match-pop{0%{opacity:0;transform:translateY(28px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes match-aurora-drift{0%{opacity:0;transform:scale(.7)}30%{opacity:.85;transform:scale(1.05)}to{opacity:.55;transform:scale(1.15) translateY(4%)}}@keyframes match-aurora-drift-alt{0%{opacity:0;transform:scale(.75) translate(-8%)}35%{opacity:.7}to{opacity:.45;transform:scale(1.1) translate(6%)}}@keyframes match-ray-burst{0%{opacity:0;scale:.2 .3}35%{opacity:.75;scale:1 1}to{opacity:0;scale:1 1.15}}@keyframes match-impact-flash{0%{opacity:0}30%{opacity:.85}to{opacity:0}}@keyframes match-spark-float{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}18%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--spark-x)),calc(-50% + var(--spark-y))) scale(1.1)}}@keyframes match-conic-spin{to{transform:rotate(360deg)}}@keyframes match-shockwave{0%{opacity:.9;transform:scale(.35)}to{opacity:0;transform:scale(3.2)}}@keyframes match-orbit-spin{to{transform:rotate(360deg)}}@keyframes match-orbit-in{0%{opacity:0}to{opacity:.7}}@keyframes match-gleam-sweep{0%{opacity:0;stroke-dashoffset:180}35%{opacity:.95}to{opacity:0;stroke-dashoffset:-180}}@keyframes match-outline-bloom{0%{opacity:0;transform:scale(.92)}45%{opacity:.9;transform:scale(1.04)}to{opacity:.35;transform:scale(1)}}@keyframes match-heart-pulse{0%,to{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.035);filter:brightness(1.08)}}@keyframes match-halo-breathe{0%,to{opacity:.55;transform:scale(1)}50%{opacity:.95;transform:scale(1.08)}}@keyframes match-text-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes match-title-shimmer{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes sheet-up{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes menu-in{0%{opacity:0;transform:translateY(-6px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes shimmer{to{background-position:-200% 0}}@keyframes logo-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@keyframes match-heart-left-form{0%{opacity:0;transform:translate(-8.4rem,-1.4rem) rotate(-28deg) scale(.55);filter:blur(2px)}42%{opacity:1;transform:translate(-1.15rem,.25rem) rotate(-7deg) scale(1.06);filter:blur(0)}68%{transform:translate(.28rem) rotate(2deg) scale(1.04)}82%{transform:translate(-.08rem) rotate(-.5deg) scale(.99)}to{opacity:1;transform:translate(0) rotate(0) scale(1);filter:blur(0)}}@keyframes match-heart-right-form{0%{opacity:0;transform:translate(8.4rem,-1.4rem) rotate(28deg) scale(.55);filter:blur(2px)}42%{opacity:1;transform:translate(1.15rem,.25rem) rotate(7deg) scale(1.06);filter:blur(0)}68%{transform:translate(-.28rem) rotate(-2deg) scale(1.04)}82%{transform:translate(.08rem) rotate(.5deg) scale(.99)}to{opacity:1;transform:translate(0) rotate(0) scale(1);filter:blur(0)}}@keyframes match-seam-heal{0%,30%{opacity:0;stroke-dasharray:0 160}55%{opacity:1;stroke-dasharray:160 0}to{opacity:0;stroke-dasharray:160 0}}@keyframes match-stage-flare{0%,32%{opacity:0;transform:scale(.3)}62%{opacity:1;transform:scale(1.25)}to{opacity:.55;transform:scale(1)}}@keyframes match-union-ring{0%{opacity:.85;transform:scale(.2)}to{opacity:0;transform:scale(2.15)}}@keyframes match-particle-release{0%,16%{opacity:0;transform:translate(-50%,-50%) scale(.15)}40%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--particle-x)),calc(-50% + var(--particle-y))) scale(1.35)}}@keyframes match-profile-arrive{0%{opacity:0;transform:translate(-50%) translateY(1.8rem) scale(.35)}70%{opacity:1;transform:translate(-50%) translateY(-.15rem) scale(1.06)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@keyframes match-lustre{0%,to{opacity:.3;transform:translate(-26%)}50%{opacity:.85;transform:translate(26%)}}@keyframes onboarding-arrive{0%{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-height:640px){.discovery-photo-img,.discovery-photo-empty{min-height:min(42dvh,20rem)}.discovery-card{min-height:min(58dvh,28rem)}.discovery-bio{-webkit-line-clamp:2}.match-moment{gap:var(--space-1);padding-top:var(--space-3)}.match-moment-visual{height:11.5rem}.match-heart-stage{transform:translate(-50%) scale(.8);transform-origin:center top}.match-title-shine{font-size:1.9rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms;animation-iteration-count:1;transition-duration:1ms}.boot-state-animated .brand-logo,.boot-state-animated .brand-logo-full,.match-moment-photo,.match-moment-photo-empty,.match-moment-photo-wrap,.match-particle,.match-spark,.match-ray,.match-flash,.match-aurora,.match-orbit,.match-shockwave,.match-photo-ring,.match-photo-halo,.match-heart-assembly,.match-moment:before,.match-moment:after,.match-title-shine,.onboarding-guide{animation:none!important}.match-kicker,.match-title-shine,.match-name,.match-copy,.match-moment-actions{opacity:1;animation:none!important}.match-heart-piece-left,.match-heart-piece-right{animation-duration:.65s;animation-iteration-count:1}.match-heart-seam{animation:match-seam-heal .65s 80ms ease-out both}.match-heart-stage:before{animation:match-stage-flare .65s ease-out both}.match-title-shine{color:#fff6d5;background:none;-webkit-background-clip:unset;background-clip:unset}}
