/*! Will you be mine? · a cat asks — © 2026 Hasib (OVERSHOOT). All rights reserved. Licensed, not sold: see LICENSE.md. */:root{--pink: #ff5c8a;--pink-deep: #e23b6d;--pink-soft: #ffd7e4;--cream: #fff7f9;--ink: #43222e;--ink-soft: #9c6d7c;--shadow: 0 22px 60px -18px rgba(226, 59, 109, .45);--radius: 28px;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-back: cubic-bezier(.34, 1.56, .64, 1)}*{margin:0;padding:0;box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%}body{min-height:100dvh;display:grid;place-items:center;padding:clamp(1rem,4vw,2.5rem);font-family:Comic Relief,system-ui,sans-serif;color:var(--ink);background:radial-gradient(120% 120% at 20% 10%,#fff0f5 0%,transparent 55%),radial-gradient(120% 120% at 85% 90%,#ffe3ec 0%,transparent 55%),linear-gradient(160deg,#ffeaf1,#ffdbe8 45%,#ffd0e2);overflow:hidden}.stage{position:relative;width:100%;display:grid;place-items:center}.card{position:relative;width:min(92vw,380px);padding:clamp(1.4rem,5vw,2.2rem);text-align:center;background:var(--cream);border-radius:var(--radius);box-shadow:var(--shadow);animation:float 6s var(--ease-out) infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.media{position:relative;width:100%;aspect-ratio:4 / 3;margin:0 auto 1.25rem;border-radius:20px;overflow:hidden;background:var(--pink-soft);box-shadow:inset 0 0 0 4px #fff,0 8px 24px -12px #e23b6d80}.cat{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.04);transition:opacity .5s var(--ease-out),transform .6s var(--ease-out)}.cat.is-visible{opacity:1;transform:scale(1)}.question{font-size:clamp(1.5rem,6vw,2rem);font-weight:700;line-height:1.15;color:var(--pink-deep);text-wrap:balance}.subtitle{margin-top:.5rem;font-size:.95rem;color:var(--ink-soft)}.btn-group{position:relative;margin-top:1.5rem;display:flex;justify-content:center;align-items:center;gap:1rem;min-height:58px}.btn{font-family:inherit;font-size:1.15rem;font-weight:700;color:#fff;border:none;border-radius:999px;padding:.7em 1.6em;cursor:pointer;transition:transform .28s var(--ease-back),box-shadow .28s var(--ease-out),background .28s var(--ease-out);-webkit-tap-highlight-color:transparent}.btn:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.btn--yes{background:linear-gradient(135deg,var(--pink) 0%,var(--pink-deep) 100%);box-shadow:0 10px 22px -8px #e23b6db3;transform:scale(var(--grow, 1))}.btn--yes:hover{box-shadow:0 14px 26px -8px #e23b6dd9}.btn--yes:active{transform:scale(calc(var(--grow, 1) * .94))}.btn--no{background:#fff;color:var(--pink-deep);box-shadow:inset 0 0 0 2px var(--pink-soft);scale:var(--shrink, 1);transition:translate .28s var(--ease-back),scale .28s var(--ease-out),box-shadow .28s var(--ease-out);will-change:translate,scale}.again{display:inline-block;margin-top:1.1rem;font-family:inherit;font-size:.95rem;color:var(--ink-soft);background:none;border:none;border-bottom:2px dotted var(--pink-soft);cursor:pointer;transition:color .25s var(--ease-out)}.again:hover{color:var(--pink-deep)}.sound-toggle{position:fixed;top:1rem;right:1rem;width:44px;height:44px;display:grid;place-items:center;font-size:1.1rem;background:#ffffffbf;border:none;border-radius:50%;cursor:pointer;box-shadow:0 6px 16px -8px #e23b6d99;transition:transform .2s var(--ease-back)}.sound-toggle:hover{transform:scale(1.08)}.sound-toggle:focus-visible{outline:3px solid var(--pink-deep);outline-offset:2px}.sound-toggle[aria-pressed=false]{opacity:.55}.hearts{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:50}.heart{position:absolute;font-size:1.5rem;will-change:transform,opacity}.card.is-won .media{box-shadow:inset 0 0 0 4px #fff,0 12px 30px -10px #e23b6db3}@media(prefers-reduced-motion:reduce){.card{animation:none}.cat,.btn,.sound-toggle,.again{transition-duration:.001ms}}
