@font-face{font-family:Clash Display;src:url(/app/fonts/ClashDisplay-Variable.woff2) format("woff2");font-weight:200 700;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url(/app/fonts/Satoshi-Variable.woff2) format("woff2");font-weight:300 900;font-style:normal;font-display:swap}:root{--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-out: cubic-bezier(.33, 1, .68, 1);--dur-fast: .2s;--dur-mid: .32s;--dur-slow: .8s}:root{--app-bg: #0A0A0C;--app-card-bg: #161618;--app-card-elevated: #1C1E22;--app-border: rgba(255,255,255,.08);--app-border-secondary: rgba(255,255,255,.14);--app-tab-bg: rgba(10, 10, 12, .92);--app-text: #F5F5F7;--app-text-mid: #A8A8AE;--app-text-secondary: #8E8E93;--app-text-tertiary: #3A3A3C;--app-accent-start: #FF3B7F;--app-accent-end: #B464D4;--app-accent-gradient: linear-gradient(135deg, #FF3B7F 0%, #B464D4 100%);--app-accent-gradient-x: linear-gradient(90deg, #FF3B7F, #B464D4);--app-glow-pink: #FF2D7A;--app-glow-lavender: #8B5CF6;--app-success: #30D158;--app-error: #FF453A;--app-warning: #FFD60A;--personality-playful: #FF6B9D;--personality-sincere: #60A5FA;--personality-bold: #F97316;--shadow-card: 0 8px 24px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.04);--shadow-hero: inset 0 0 40px rgba(255,59,127,.06);--glass-bg: rgba(22,22,24,.78);--glass-blur: blur(24px);--stage-cold-approach: #8E8E93;--stage-got-number: #0A84FF;--stage-texting: #BF5AF2;--stage-date-scheduled: #FF9F0A;--stage-dating: #FF375F;--stage-relationship: #30D158;--app-font: "Satoshi", -apple-system, "Segoe UI", sans-serif;--app-font-display: "Clash Display", "Satoshi", sans-serif;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 14px;--sp-5: 16px;--sp-6: 20px;--sp-7: 24px;--sp-8: 32px;--r-sm: 10px;--r-md: 14px;--r-lg: 16px;--r-btn: 12px;--r-card-sm: 14px;--r-card: 16px;--r-card-lg: 20px;--r-sheet: 24px;--r-modal: 24px;--r-pill: 999px;--app-tab-height: 56px;--app-sidebar-width: 240px;--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-top: env(safe-area-inset-top, 0px)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;background:var(--app-bg);color:var(--app-text);font-family:var(--app-font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{scrollbar-width:none}::-webkit-scrollbar{width:0;height:0}input:-webkit-autofill,input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--app-card-bg) inset!important;-webkit-text-fill-color:var(--app-text)!important}.app-card{background:var(--app-card-bg);border:1px solid var(--app-border);border-radius:var(--r-lg);padding:var(--sp-5);box-shadow:var(--shadow-card)}.app-card-hero{background:var(--app-card-bg);border:1px solid var(--app-border);border-radius:var(--r-card-lg);padding:var(--sp-5);box-shadow:var(--shadow-card),var(--shadow-hero)}.app-btn-primary{display:inline-flex;align-items:center;justify-content:center;background:var(--app-accent-gradient);color:#fff;border:none;border-radius:var(--r-btn);padding:13px 20px;font-family:var(--app-font);font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 0 20px #ff3b7f59,0 0 40px #b464d433;transition:opacity .15s ease,transform .15s ease,box-shadow .15s ease;user-select:none;-webkit-user-select:none}.app-btn-primary:hover{opacity:.92;transform:translateY(-1px);box-shadow:0 0 28px #ff3b7f80,0 0 56px #b464d44d}.app-btn-primary:active{opacity:.85;transform:translateY(0)}.app-btn-primary:disabled{opacity:.4;cursor:default;transform:none;box-shadow:none}.app-btn-secondary{display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--app-text);border:1px solid var(--app-border-secondary);border-radius:var(--r-btn);padding:13px 20px;font-family:var(--app-font);font-size:15px;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .15s ease;user-select:none;-webkit-user-select:none}.app-btn-secondary:hover{background:#ffffff0d;border-color:var(--app-text-secondary);transform:translateY(-1px)}.app-btn-secondary:active{background:#ffffff14;transform:translateY(0)}.app-btn-secondary:disabled{opacity:.4;cursor:default;transform:none}.app-input{display:block;width:100%;background:#ffffff0d;border:1px solid var(--app-border);border-radius:var(--r-card-sm);padding:12px 14px;color:var(--app-text);font-family:var(--app-font);font-size:14px;font-weight:400;outline:none;transition:border-color .15s ease,background .15s ease}.app-input::placeholder{color:var(--app-text-secondary)}.app-input:focus{border-color:var(--app-accent-start);background:#ffffff12}.app-spinner{display:inline-block;width:24px;height:24px;border-radius:50%;border:2px solid rgba(255,255,255,.12);border-top-color:var(--app-accent-start);animation:spin .8s linear infinite;flex-shrink:0}.app-btn-spinner{display:inline-block;width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.25);border-top-color:currentColor;animation:spin .7s linear infinite;flex-shrink:0;vertical-align:middle}.app-text-gradient{background:var(--app-accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.app-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:var(--r-pill);font-family:var(--app-font);font-size:11px;font-weight:700;letter-spacing:.3px;background:var(--app-accent-gradient);color:#fff;line-height:1}.app-badge-tier{display:inline-flex;align-items:center;justify-content:center;padding:6px 14px;border-radius:var(--r-pill);font-family:var(--app-font);font-size:13px;font-weight:700;letter-spacing:.5px;background:var(--app-accent-gradient);color:#fff;line-height:1;box-shadow:0 0 16px #ff3b7f4d}.app-divider{width:100%;height:1px;background:var(--app-border);opacity:.5;border:none}.app-fade-up{animation:fadeUp .4s ease both}.app-section-title{font-family:var(--app-font-display);font-size:18px;font-weight:700;color:var(--app-text);line-height:1.2}.app-label{font-family:var(--app-font);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--app-text-secondary);line-height:1}.app-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}.app-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--sp-3)}.app-stack{display:flex;flex-direction:column;gap:var(--sp-3)}.app-row{display:flex;align-items:center;gap:var(--sp-2)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes optionShake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}@keyframes splashPulse{0%,to{box-shadow:0 16px 48px #ff3b7f59;transform:scale(1)}50%{box-shadow:0 20px 56px #ff3b7f8c;transform:scale(1.04)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes glow-pulse{0%,to{box-shadow:0 0 12px #ff2d7a40,0 0 24px #8b5cf626}50%{box-shadow:0 0 24px #ff2d7a80,0 0 48px #8b5cf659}}.app-pulse{animation:pulse 1.5s ease-in-out infinite}.app-glow-pulse{animation:glow-pulse 2s ease-in-out infinite}@keyframes float1{0%,to{transform:translate(0) scale(1)}25%{transform:translate(-50px,30px) scale(1.08)}50%{transform:translate(30px,60px) scale(.94)}75%{transform:translate(60px,-20px) scale(1.04)}}@keyframes float2{0%,to{transform:translate(0) scale(1)}30%{transform:translate(60px,-40px) scale(1.06)}60%{transform:translate(-40px,-30px) scale(.96)}85%{transform:translate(20px,50px) scale(1.03)}}@keyframes float3{0%,to{transform:translate(-50%,-50%) scale(1)}35%{transform:translate(-60%,-60%) scale(1.15)}70%{transform:translate(-40%,-45%) scale(.88)}}@keyframes backdropFade{0%{opacity:0}to{opacity:1}}@keyframes sheetUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes modalPop{0%{opacity:0;transform:translate(-50%,-50%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes bubbleIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes modalPopCentered{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes fadeUpStagger{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pathDrawIn{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes areaFadeIn{0%{opacity:0}to{opacity:1}}@keyframes pointPop{0%{r:0;opacity:0}to{r:4;opacity:1}}.anim-backdrop{animation:backdropFade .2s var(--ease-out) both}.anim-sheet{animation:sheetUp var(--dur-mid) var(--ease-spring) both}.anim-pop{animation:modalPop .25s var(--ease-out) both}.anim-bubble{animation:bubbleIn .25s var(--ease-out) both}.stagger>*:nth-child(1){animation:fadeUpStagger .3s var(--ease-out) 0ms both}.stagger>*:nth-child(2){animation:fadeUpStagger .3s var(--ease-out) 30ms both}.stagger>*:nth-child(3){animation:fadeUpStagger .3s var(--ease-out) 60ms both}.stagger>*:nth-child(4){animation:fadeUpStagger .3s var(--ease-out) 90ms both}.stagger>*:nth-child(5){animation:fadeUpStagger .3s var(--ease-out) .12s both}.stagger>*:nth-child(6){animation:fadeUpStagger .3s var(--ease-out) .15s both}.stagger>*:nth-child(7){animation:fadeUpStagger .3s var(--ease-out) .18s both}.stagger>*:nth-child(8){animation:fadeUpStagger .3s var(--ease-out) .21s both}@media(hover:hover){.hover-lift:hover{box-shadow:0 12px 40px #00000073,0 4px 16px #0000004d}}.pressable:active{transform:scale(.98)}.transition-smooth{transition:transform .2s ease,opacity .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease,color .2s ease}.hover-lift{transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;will-change:transform}@media(hover:hover){.hover-lift:hover{transform:translateY(-2px);border-color:#ffffff24;box-shadow:0 8px 32px #0006}}.hover-glow{transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease}@media(hover:hover){.hover-glow:hover{border-color:#ff3b7f73;box-shadow:0 0 20px #ff3b7f59,0 0 44px #b464d440}}.pressable{transition:transform .2s ease,opacity .2s ease;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.pressable:active{transform:scale(.97)}@media(hover:hover){.pressable:hover{opacity:.92}}.interactive-card{cursor:pointer;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease;will-change:transform;-webkit-tap-highlight-color:transparent}@media(hover:hover){.interactive-card:hover{transform:translateY(-2px);border-color:#ffffff24;box-shadow:0 8px 32px #0006}}.interactive-card:active{transform:scale(.985)}@keyframes pageEnter{0%{opacity:0;transform:translate(-10px,6px)}to{opacity:1;transform:translate(0)}}@keyframes pageEnterRtl{0%{opacity:0;transform:translate(10px,6px)}to{opacity:1;transform:translate(0)}}.page-enter{animation:pageEnter .28s ease-out both}[dir=rtl] .page-enter{animation-name:pageEnterRtl}@keyframes shimmer{0%{background-position:-468px 0}to{background-position:468px 0}}.shimmer{position:relative;overflow:hidden;background:var(--app-card-bg);background-image:linear-gradient(90deg,#ffffff08,#ffffff14,#ffffff08);background-size:936px 100%;background-repeat:no-repeat;animation:shimmer 1.4s linear infinite;border-radius:var(--r-card-sm)}*:focus-visible{outline:2px solid var(--app-accent-start);outline-offset:2px;border-radius:4px}@media(prefers-reduced-motion:reduce){.transition-smooth,.hover-lift,.hover-glow,.pressable,.interactive-card{transition:none!important}.hover-lift:hover,.hover-glow:hover,.interactive-card:hover,.pressable:active,.interactive-card:active{transform:none!important}.page-enter,.shimmer,.app-fade-up,.app-pulse,.app-glow-pulse{animation:none!important}.app-btn-spinner,.app-spinner{animation:none!important;opacity:.6}.anim-backdrop,.anim-sheet,.anim-pop,.anim-bubble,[style*=modalPopCentered]{animation:none!important}.stagger>*{animation:none!important}[style*=pathDrawIn],[style*=areaFadeIn],[style*=pointPop]{animation:none!important;stroke-dashoffset:0!important;opacity:1!important}}.page-container{max-width:1040px;margin:0 auto;padding:28px clamp(16px,3vw,32px) 56px}
