:root{color:#281c2f;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ink:#281c2f;--plum:#4a214c;--plum-deep:#32152f;--coral:#e94d70;--coral-dark:#c9375d;--mint:#159b82;--mint-dark:#087762;--gold:#f4b942;--paper:#fffdfb;--muted:#786b7b;background:#f9dfe8;font-family:Trebuchet MS,Segoe UI,sans-serif}*{box-sizing:border-box}body{background-color:#f9dfe8;background-image:radial-gradient(circle at 15% 15%,#e94d7024 0 2px,#0000 2px),radial-gradient(circle at 82% 78%,#4a214c1f 0 1.5px,#0000 1.5px),linear-gradient(135deg,#f8dfe8 0%,#f7e9df 45%,#e8eee8 100%);background-size:30px 30px,38px 38px,100% 100%;place-items:center;min-width:320px;min-height:100vh;margin:0;padding:28px 20px;display:grid;position:relative;overflow-x:hidden}body:before,body:after{z-index:-1;content:"";border:1px solid #4a214c1a;border-radius:50%;width:220px;height:220px;position:fixed}body:before{top:-110px;left:-70px}body:after{border-color:#e94d702e;bottom:-120px;right:-100px}button,input{font:inherit}button{cursor:pointer;border:0;position:relative;overflow:hidden}button:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #e94d7080}.card{text-align:center;background:#fffdfbf2;border:1px solid #ffffffe6;border-radius:28px;width:min(100%,440px);padding:36px 34px 32px;position:relative;overflow:hidden;box-shadow:0 28px 70px #4a214c33,0 5px 16px #4a214c14}.card:before{background:linear-gradient(90deg, var(--coral), var(--gold), var(--mint));content:"";border-radius:0 0 10px 10px;height:5px;position:absolute;top:0;left:18%;right:18%}.hidden{display:none!important}.emoji{filter:drop-shadow(0 8px 8px #4a214c24);margin:2px 0 14px;font-size:52px;line-height:1;display:block}h1{color:var(--plum-deep);letter-spacing:-.5px;margin:10px 0 9px;font-family:Georgia,Times New Roman,serif;font-size:30px;line-height:1.08}p{color:var(--muted);margin:0 0 24px;font-size:14px;line-height:1.55}.greeting{border-left:4px solid var(--coral);color:var(--plum);text-align:left;background:#fff3f5;border-radius:0 16px 16px 0;flex-direction:column;gap:5px;margin:0 auto 25px;padding:14px 17px;font-family:Georgia,Times New Roman,serif;line-height:1.45;display:flex;box-shadow:0 5px 12px #4a214c0d}.greeting-hello{color:var(--muted);font-size:14px}.greeting-invite{font-size:17px}.greeting strong{color:var(--coral-dark)}.form-group{text-align:left;margin-bottom:17px}label{color:var(--plum);letter-spacing:.3px;margin-bottom:7px;font-size:12px;font-weight:800;display:block}input{width:100%;color:var(--ink);background:#fff;border:1px solid #e6d9df;border-radius:13px;outline:0;padding:13px 14px;transition:border-color .2s,box-shadow .2s,background .2s;box-shadow:inset 0 1px 2px #4a214c08}input::placeholder{color:#aa9da9}input:focus{border-color:var(--coral);background:#fffafb;box-shadow:0 0 0 4px #e94d7021}.grid{grid-template-columns:1fr 1fr;gap:13px;display:grid}.vibe-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.vibe-btn{color:var(--plum);box-shadow:none;background:#fff;border:1px solid #e8d8df;padding:11px 7px;font-size:12px}.vibe-btn.selected{border-color:var(--coral);color:var(--coral-dark);background:#fff0f3;box-shadow:0 5px 12px #e94d701f}button{color:#fff;letter-spacing:.1px;border-radius:13px;width:100%;padding:14px 16px;font-size:14px;font-weight:800;transition:transform .2s,box-shadow .2s,background .2s}button:hover{transform:translateY(-2px)}.btn-primary{background:var(--coral);margin-top:8px;box-shadow:0 7px 15px #c9375d38}.btn-primary:hover{background:var(--coral-dark);box-shadow:0 10px 20px #c9375d45}.btn-success{background:var(--mint);box-shadow:0 7px 15px #08776233}.btn-success:hover{background:var(--mint-dark);box-shadow:0 10px 20px #08776240}.btn-alt{background:var(--plum);padding:11px;font-size:12px}.btn-alt:hover{background:var(--plum-deep)}.flex-btns>button{flex:1;width:100%}.btn-no{white-space:nowrap;touch-action:none;background:#8c7d8c;padding:14px 24px}.btn-no.is-dodging{flex:none}.btn-no.vanishing{pointer-events:none;animation:.28s forwards no-vanish}.flex-btns{justify-content:center;align-items:center;gap:12px;display:flex}.no-placeholder{visibility:hidden;flex:none;display:block}.choice-group{gap:10px;margin-bottom:16px;display:flex}.choice-btn{color:var(--plum);box-shadow:none;background:#fff4f6;border:1px solid #edcbd7;flex:1;padding:12px 9px}.choice-btn:hover{border-color:var(--coral);color:var(--coral-dark);background:#ffe8ee;box-shadow:0 5px 12px #e94d701f}.both-choice{margin:2px 0 4px}.option-list{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;display:grid}.option-list.both-options{flex-direction:column;gap:14px;display:flex}.both-group h2{color:var(--plum);text-align:left;margin:0 0 8px;font-family:Georgia,Times New Roman,serif;font-size:17px}.both-group .option-list{margin-bottom:0}.option-btn{color:var(--plum);background:#fff;border:1px solid #e8e0dc;padding:13px 10px;box-shadow:0 3px 8px #4a214c0a}.option-btn:hover{background:#fff8f8;border-color:#e5b3c1}.option-btn.selected{border-color:var(--mint);color:var(--mint-dark);background:#e8f7f2;box-shadow:0 5px 12px #08776221}.badge-box,.answer-box{border-radius:17px;margin-bottom:20px;padding:17px;line-height:1.55}.badge-box{color:#66596a;background:#fff8f8;border:1px solid #eadfe2;font-family:Georgia,Times New Roman,serif;font-size:15px;font-style:italic}.answer-box{color:var(--coral-dark);background:#fff0f3;border:1px solid #f1c0cc;font-family:Georgia,Times New Roman,serif;font-size:20px;font-weight:800}.final-details{color:var(--mint-dark);background:#effaf6;border-color:#b9e5d9;font-family:Trebuchet MS,Segoe UI,sans-serif;font-size:14px;font-style:normal}.back-btn{color:var(--muted);background:0 0;margin-top:8px;padding:9px;font-size:12px}.back-btn:hover{color:var(--plum);background:#f8eff2}.result-box{text-align:left;background:#fff8f8;border:1px dashed #d9beca;border-radius:17px;margin-top:25px;padding:17px}.result-box input{margin-bottom:9px;font-family:ui-monospace,Consolas,monospace;font-size:11px}.step{animation:.34s cubic-bezier(.2,.8,.2,1) step-in}.step-intro{margin-bottom:19px}.ripple{z-index:0;pointer-events:none;background:#ffffff7a;border-radius:50%;animation:.5s ease-out ripple;position:absolute;transform:scale(0)}.click-pop{animation:.26s ease-out click-pop}.card.celebrate{animation:.56s cubic-bezier(.2,.8,.2,1) celebrate}.no-choice-message{color:var(--coral-dark);margin:14px 0 0;font-size:13px;font-weight:800;animation:.35s ease-out reveal-message}.confetti{z-index:3;pointer-events:none;width:5px;height:22px;animation:confetti-fall 2.4s cubic-bezier(.2, .75, .3, 1) var(--delay) forwards;border-radius:2px;position:absolute}.theme-casual{--plum:#3e3542;--plum-deep:#2b2630;--coral:#e5843b;--coral-dark:#b95e21;--mint:#238f82;--mint-dark:#126b61}.theme-friends{--plum:#315367;--plum-deep:#223b4c;--coral:#4b91b6;--coral-dark:#2c6e91;--mint:#3c9b78;--mint-dark:#267356}.theme-casual .greeting{background:#fff5e9;border-color:#e5843b}.theme-friends .greeting{background:#edf7f8;border-color:#4b91b6}.theme-casual .answer-box{color:#a75420;background:#fff3df;border-color:#f0c897}.theme-friends .answer-box{color:#286c69;background:#e9f5f4;border-color:#b6dcd7}@keyframes step-in{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes no-vanish{to{opacity:0;transform:scale(.65)rotate(8deg)}}@keyframes ripple{to{opacity:0;transform:scale(1)}}@keyframes click-pop{50%{transform:scale(.97)}}@keyframes celebrate{0%,to{transform:translateY(0)rotate(0)}35%{transform:translateY(-6px)rotate(-1deg)}70%{transform:translateY(1px)rotate(1deg)}}@keyframes reveal-message{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes confetti-fall{0%{opacity:1;transform:translate(0)rotate(0)scale(1)}65%{opacity:1}to{opacity:0;transform:translate(var(--x), var(--y)) rotate(var(--rotation)) scale(.72)}}@media (prefers-reduced-motion:reduce){.step,.ripple,.click-pop,.card.celebrate,.no-choice-message,.confetti{animation:none}}@media (width<=480px){body{padding:14px 12px}.card{border-radius:23px;padding:31px 19px 24px}h1{font-size:27px}.vibe-grid{grid-template-columns:1fr}.flex-btns{flex-direction:column;align-items:stretch}.btn-no.is-dodging{align-self:center}}
