@font-face{font-family:DM Serif Display;font-style:normal;font-weight:400;font-display:swap;src:url(../media/8dd8a3188b79fd8f-s.p.3zx7wbj688cn9.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Serif Display;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0c8f209abc35ee02-s.p.0q59resy_4ije.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Serif Display Fallback;src:local(Times New Roman);ascent-override:94.37%;descent-override:30.51%;line-gap-override:0.0%;size-adjust:109.78%}.dm_serif_display_29fb7c9b-module__oG5vwq__className{font-family:DM Serif Display,DM Serif Display Fallback;font-style:normal;font-weight:400}.dm_serif_display_29fb7c9b-module__oG5vwq__variable{--font-display:"DM Serif Display", "DM Serif Display Fallback"}
@font-face{font-family:Figtree;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/400bf8aa837fcb7e-s.p.2u3lqdovtp4z3.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/f7aa21714c1c53f8-s.p.0jgzmitmnoe6_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree Fallback;src:local(Arial);ascent-override:94.32%;descent-override:24.82%;line-gap-override:0.0%;size-adjust:100.72%}.figtree_7a6bb710-module__skg5bW__className{font-family:Figtree,Figtree Fallback;font-style:normal}.figtree_7a6bb710-module__skg5bW__variable{--font-body:"Figtree", "Figtree Fallback"}
:root{--bg:#fff9ec;--surface:#fff;--secondary:#ffadee;--primary:#f62477;--accent:#92003a;--text:#3c0218;--muted:#8a4a62;--ok:#1f9254;--diff:#7c3aed;--wa:#17804a}*{box-sizing:border-box}html,body{background:var(--bg);margin:0;padding:0}body{font-family:var(--font-body), system-ui, sans-serif;color:var(--text);background:radial-gradient(58vmax 58vmax at -8% -6%, #ffadee8c, transparent 62%), radial-gradient(48vmax 48vmax at 112% 26%, #f6247729, transparent 62%), radial-gradient(44vmax 44vmax at -4% 104%, #ffadee6b, transparent 62%), var(--bg);background-attachment:fixed}a{color:var(--accent)}a:hover{color:var(--primary)}input,button{font-family:var(--font-body), system-ui, sans-serif}h1,h2,h3,.display{font-family:var(--font-display), serif;font-weight:400}@keyframes floatUp{0%{opacity:0;transform:translateY(0)scale(1)}12%{opacity:.5}80%{opacity:.35}to{opacity:0;transform:translateY(-110vh)scale(1.15)}}@keyframes beat{0%,32%,to{transform:scale(1)}8%{transform:scale(1.05)}16%{transform:scale(1)}24%{transform:scale(1.08)}}@keyframes qInA{0%{opacity:0;transform:translate(64px)}to{opacity:1;transform:translate(0)}}@keyframes qInB{0%{opacity:0;transform:translate(64px)}to{opacity:1;transform:translate(0)}}@keyframes qOut{to{opacity:0;transform:translate(-64px)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes confettiPop{0%{opacity:1;transform:translate(0)scale(.3)rotate(0)}70%{opacity:1}to{transform:translate(var(--dx), var(--dy)) scale(1) rotate(var(--rot));opacity:0}}@keyframes pulseSoft{0%,to{opacity:.9;transform:scale(1)}50%{opacity:1;transform:scale(1.07)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.15)}to{opacity:1;transform:scale(1)}}@keyframes pctBounce{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}@keyframes cardBeat{0%,32%,to{transform:translateY(-4px)scale(1)}8%{transform:translateY(-4px)scale(1.04)}16%{transform:translateY(-4px)scale(1)}24%{transform:translateY(-4px)scale(1.06)}}@keyframes slideMeetL{0%{opacity:0;transform:translate(-90px)}to{opacity:1;transform:translate(0)}}@keyframes slideMeetR{0%{opacity:0;transform:translate(90px)}to{opacity:1;transform:translate(0)}}@keyframes optionPop{0%{transform:scale(1)}50%{transform:scale(1.09)}to{transform:scale(1.04)}}@keyframes chipPop{0%{transform:scale(1)}50%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes swatchPop{0%{transform:scale(1)}50%{transform:scale(1.18)}to{transform:scale(1.06)}}.wrap{flex-direction:column;max-width:480px;min-height:100svh;margin:0 auto;padding:28px 22px 48px;display:flex;position:relative}.wrap-short{min-height:0}.hearts-layer{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.brand{font-family:var(--font-display), serif;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 8px;font-size:22px;display:flex}.brand-sm{font-size:17px}.btn{cursor:pointer;border:none;border-radius:999px;font-weight:700;transition:opacity .2s,filter .15s,transform .15s,box-shadow .2s}.btn:hover{filter:brightness(1.06);transform:translateY(-2px)}.btn:active{transform:translateY(0)scale(.97)}.btn-accent{background:var(--accent);color:#fff;box-shadow:0 8px 22px -14px var(--primary);padding:17px;font-size:18px}.btn-accent:hover{box-shadow:0 14px 30px -12px var(--primary)}.btn-accent-lg{background:var(--accent);color:#fff;box-shadow:0 10px 30px -8px var(--primary);padding:18px 38px;font-size:19px}.btn-outline{background:var(--surface);border:1.5px solid var(--secondary);color:var(--accent);padding:16px;font-size:16px;font-weight:700}.btn-outline:hover{border-color:var(--accent)}.btn-ghost{color:var(--muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;min-height:44px;padding:4px 12px;font-size:14px;font-weight:600;text-decoration:underline;transition:color .15s,transform .15s;display:inline-flex}.btn-ghost:hover{color:var(--accent)}.btn-ghost:active{transform:scale(.96)}.btn-disabled{opacity:.45;pointer-events:none}.btn-wa{background:var(--wa);color:#fff;box-shadow:0 8px 22px -14px var(--wa);border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:18px;font-size:19px;font-weight:700;text-decoration:none;transition:filter .15s,transform .15s,box-shadow .2s;display:flex}.btn-wa:hover{color:#fff;filter:brightness(1.06);box-shadow:0 14px 30px -12px var(--wa);transform:translateY(-2px)}.btn-wa:active{transform:translateY(0)scale(.97)}.heartbeat{animation:3s ease-in-out infinite beat}.mode-card{cursor:pointer;min-height:118px;box-shadow:0 10px 30px -14px var(--primary);background:var(--surface);color:var(--text);border:1.5px solid var(--secondary);border-radius:20px;flex-direction:column;flex:142px;justify-content:center;align-items:center;gap:6px;padding:16px 10px;text-decoration:none;transition:background-color .25s,color .25s,opacity .25s,border-color .25s,transform .15s;display:flex}.mode-card:active{transform:scale(.97)}.mode-card.on{background:var(--accent);color:#fff;border-color:var(--accent)}.mode-card.dim{opacity:.4}@media (hover:hover){.mode-card:hover{color:var(--text);border-color:var(--primary);animation:1.2s ease-in-out infinite cardBeat}.mode-card.on:hover{color:#fff}}.panel{background:var(--surface);border:1px solid var(--secondary);border-radius:18px;padding:16px}.panel-row{background:var(--surface);border:1px solid var(--secondary);border-radius:18px;align-items:center;gap:14px;padding:14px 16px;display:flex}.panel-dashed{background:var(--surface);border:1.5px dashed var(--primary);border-radius:14px}.option-btn{text-align:left;cursor:pointer;background:var(--surface);border:1.5px solid var(--secondary);min-height:56px;color:var(--text);border-radius:16px;align-items:center;gap:12px;padding:15px 18px;font-size:16px;font-weight:600;transition:transform .15s,background-color .15s,border-color .15s,color .15s,box-shadow .2s;display:flex}.option-btn:hover:not(.on){border-color:var(--primary);box-shadow:0 10px 22px -16px var(--primary);transform:translateY(-2px)}.option-btn:active:not(.on){transform:scale(.98)}.option-btn.on{background:var(--accent);border-color:var(--accent);color:#fff;animation:.28s ease-out both optionPop;transform:scale(1.04)}.option-key{background:var(--bg);width:28px;height:28px;color:var(--accent);border-radius:50%;flex:none;place-items:center;font-size:12.5px;font-weight:800;transition:background-color .15s,color .15s;display:grid}.option-btn.on .option-key{color:#fff;background:#ffffff38}.chip{cursor:pointer;background:var(--surface);border:1.5px solid var(--secondary);min-height:44px;color:var(--text);border-radius:999px;padding:10px 14px;font-size:14px;font-weight:600;transition:background-color .15s,border-color .15s,color .15s,transform .15s}.chip:hover{border-color:var(--primary);transform:translateY(-2px)}.chip:active{transform:scale(.94)}.chip.on{background:var(--accent);border-color:var(--accent);color:#fff;animation:.3s ease-out both chipPop}.pick-btn{cursor:pointer;background:var(--surface);border:1.5px solid var(--secondary);color:var(--text);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:14px;font-weight:700;transition:background-color .15s,border-color .15s,color .15s,transform .15s,box-shadow .2s;display:flex}.pick-btn:active{transform:scale(.96)}.pick-btn.on{background:var(--accent);border-color:var(--accent);color:#fff;animation:.3s ease-out both chipPop}@media (hover:hover){.pick-btn:hover{border-color:var(--primary);box-shadow:0 10px 24px -16px var(--primary);animation:1.2s ease-in-out infinite cardBeat}.pick-btn.on:hover{border-color:var(--accent);animation:1.2s ease-in-out infinite cardBeat}}.swatch{cursor:pointer;border:3px solid #0000;border-radius:50%;width:44px;height:44px;transition:border-color .15s,transform .15s}.swatch:hover{transform:scale(1.1)}.swatch:active{transform:scale(.94)}.swatch.on{border-color:var(--accent);animation:.3s ease-out both swatchPop;transform:scale(1.06)}.field-label{color:var(--muted);font-size:13px;font-weight:700}.text-input{border:1.5px solid var(--secondary);background:var(--surface);min-height:44px;color:var(--text);border-radius:14px;outline:none;width:100%;padding:15px 16px;font-size:16px}.text-input:focus{border-color:var(--accent)}.range-input{width:100%;accent-color:var(--accent);height:44px;margin:0}.q-title{text-align:center;margin:0 0 22px;font-size:clamp(24px,6.4vw,30px);line-height:1.25}.big-pct{font-family:var(--font-display), serif;color:var(--accent);font-size:clamp(64px,26vw,120px);line-height:1}.kicker{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 4px;font-size:14px;font-weight:700}.muted{color:var(--muted)}.result-badge{background:var(--surface);border:1px solid var(--secondary);color:var(--accent);border-radius:999px;padding:9px 14px;font-size:13.5px;font-weight:700}.common-chip{background:var(--accent);color:#fff;border-radius:999px;padding:10px 15px;font-size:14px;font-weight:700}.cat-card{background:var(--surface);border:1px solid var(--secondary);border-radius:16px;flex-direction:column;gap:4px;padding:14px;display:flex}.compare-row{background:var(--surface);border:1px solid var(--secondary);border-radius:14px;align-items:flex-start;gap:11px;padding:12px 14px;display:flex}.fade-up{animation:.5s both fadeUp}.back-heart{cursor:pointer;background:0 0;border:none;padding:0;line-height:0;transition:transform .15s,filter .15s;display:inline-flex}.back-heart:hover{filter:drop-shadow(0 6px 12px var(--secondary));transform:scale(1.12)}.back-heart:active{transform:scale(.94)}.brand-back-slot{display:inline-flex;position:absolute;top:50%;left:0;transform:translateY(-50%)}.progress-row{align-items:center;gap:6px;min-height:44px;margin-bottom:8px;display:flex}.progress-side{flex:none;align-items:center;width:38px;display:flex}.progress-hearts{flex:1;justify-content:center;align-items:center;gap:4px;display:flex}.progress-hearts svg{flex:none;width:15px;height:15px}@media (max-width:360px){.progress-hearts{gap:2px}.progress-hearts svg{width:12px;height:12px}}.copy-btn{background:var(--bg);border:1.5px solid var(--secondary);min-height:44px;color:var(--accent);cursor:pointer;border-radius:10px;flex:none;padding:9px 14px;font-size:13px;font-weight:700;transition:border-color .15s,transform .15s}.copy-btn:hover{border-color:var(--accent);transform:translateY(-1px)}.copy-btn:active{transform:scale(.95)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.hearts-layer{display:none!important}}
