:root{--font-body:"Avenir Next", "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", sans-serif;--font-heading:"Iowan Old Style", "Palatino Linotype", "Songti SC", "STSong", serif;font-family:var(--font-body);color:#fff2f4;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(#ef9aa6 0%,#f4a8b0 100%);font-weight:400;line-height:1.5}*{box-sizing:border-box}body{background:radial-gradient(circle at 0 0,#ffeaed38,#0000 20%),linear-gradient(#ef9aa6 0%,#f2a4ad 100%);min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button:focus-visible{outline-offset:3px;outline:3px solid #ffffffad}#root{min-height:100vh}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:700}.app-shell{place-items:center;min-height:100vh;padding:18px;display:grid}.card-shell{width:min(100%,760px)}.card-frame{text-align:center;background:radial-gradient(circle at top,#ff919d24,#0000 30%),#1a1419fa;border-radius:34px;padding:42px 28px 32px;position:relative;overflow:hidden;box-shadow:0 30px 90px #3f122042,inset 0 1px #ffffff0d}.heart-burst{pointer-events:none;position:absolute;inset:0}.heart{opacity:0;color:#ff7f99;text-shadow:0 0 16px #ff5c8459;font-size:2rem;animation:.9s ease-out burst;position:absolute;top:58%;left:50%}.heart-1{--tx:-140px;--ty:-160px}.heart-2{--tx:-78px;--ty:-190px}.heart-3{--tx:-12px;--ty:-210px}.heart-4{--tx:60px;--ty:-186px}.heart-5{--tx:132px;--ty:-150px}.heart-6{--tx:-116px;--ty:-74px}.heart-7{--tx:112px;--ty:-62px}.heart-8{--tx:-52px;--ty:-118px}.heart-9{--tx:18px;--ty:-136px}.heart-10{--tx:82px;--ty:-116px}.character-wrap{justify-content:center;margin-bottom:18px;display:flex}.character-art{aspect-ratio:1;width:min(100%,260px);animation:.24s pop-in;display:block}.content-wrap{animation:.22s fade-in}.content-wrap h1{color:#ff7f88;margin:0 0 16px;font-size:clamp(2.1rem,4vw,3rem);line-height:1.2}.body-copy{color:#ffeef1e0;max-width:18em;margin:0 auto 24px;font-size:1.08rem;line-height:1.7}.button-row{flex-wrap:wrap;justify-content:center;gap:18px;margin-bottom:26px;display:flex}.agree-button,.reject-button{min-width:168px;font:inherit;cursor:pointer;border:0;border-radius:999px;padding:18px 30px;font-size:1.6rem;font-weight:700;transition:transform .16s,filter .16s,box-shadow .16s}.agree-button:hover,.reject-button:hover{filter:brightness(1.02);transform:translateY(-2px)}.agree-button{color:#fff;background:linear-gradient(#67d85c,#41b849);box-shadow:0 14px 28px #35a2434d}.reject-button{color:#fff;background:linear-gradient(#ff5d57,#ff463f);box-shadow:0 14px 28px #ff463f42}.plea-bar{color:#ff9853;background:#5f4c2f42;border-radius:20px;max-width:560px;margin:0 auto 26px;padding:18px 24px;font-size:1.14rem;font-weight:700;line-height:1.6}.footer-copy{color:#ffebefa8;margin:0;font-size:1rem}@keyframes fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes pop-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes burst{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)}18%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(calc(-50% + var(--tx)), calc(-50% + var(--ty))) scale(1.15)}}@media (width<=640px){.app-shell{padding:10px}.card-frame{border-radius:28px;padding:30px 18px 24px}.content-wrap h1{font-size:2rem}.body-copy{font-size:1rem}.agree-button,.reject-button{min-width:138px;padding:16px 24px;font-size:1.4rem}.plea-bar{padding:16px 18px;font-size:1rem}}
