*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;font-family:'Plus Jakarta Sans',sans-serif;color:#262A43;background:#FBF9FD}
.bgwrap{position:fixed;inset:0;z-index:0;background:linear-gradient(160deg,#FFEAF4 0%,#FBF9FD 45%,#EEF3FF 100%);overflow:hidden}
.blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.45}
.b1{width:320px;height:320px;background:#FFC4DE;top:-80px;left:-60px}
.b2{width:360px;height:360px;background:#D9CCFF;bottom:-100px;right:-80px}
#root{position:relative;z-index:1}
.frame{max-width:430px;margin:0 auto;min-height:100vh;position:relative}
.card{background:#fff;border:1px solid #ECEAF4;border-radius:20px;box-shadow:0 6px 20px -12px rgba(120,90,160,.25)}
.btn{border-radius:14px;min-height:46px;font-weight:700;transition:transform .12s,background .2s;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 16px}
.btn:active{transform:scale(.97)}
.btn-p{background:#F0609E;color:#fff}.btn-p:hover{background:#E04F8D}
.btn-p:disabled{background:#F7B6D2;cursor:not-allowed}
.btn-s{background:#fff;border:1.5px solid #F6CFE1;color:#D9467F}
.btn-g{background:#F3F2F8;color:#5D6585}
.inp{width:100%;border:1px solid #ECEAF4;background:#FBFAFD;border-radius:12px;padding:12px 14px;font:inherit;font-size:14px;color:#262A43;outline:none;min-height:46px}
.inp:focus{border-color:#F0609E;box-shadow:0 0 0 3px #FFD6E8}
.chip{border-radius:999px;padding:7px 13px;font-size:12px;font-weight:600;border:1px solid #ECEAF4;background:#fff;color:#5D6585;white-space:nowrap;min-height:34px}
.chip.on{background:#262A43;color:#fff;border-color:#262A43}
.badge{border-radius:999px;padding:3px 9px;font-size:11px;font-weight:700;white-space:nowrap}
.page{animation:pg .35s ease both}
@keyframes pg{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.bounce{animation:bn 2.6s ease-in-out infinite}
@keyframes bn{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.pulse{animation:pu 1s ease-in-out infinite}
@keyframes pu{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
.dot{width:7px;height:7px;border-radius:50%;background:#F0609E;display:inline-block;animation:dj 1s infinite}
.dot:nth-child(2){animation-delay:.15s}.dot:nth-child(3){animation-delay:.3s}
@keyframes dj{0%,80%,100%{transform:translateY(0)}40%{transform:translateY(-6px)}}
.sheet{animation:sh .3s ease both}
@keyframes sh{from{transform:translateY(100%)}to{transform:none}}
.scrollx{overflow-x:auto;scrollbar-width:none}.scrollx::-webkit-scrollbar{display:none}
.prog{animation:pr 2s linear forwards}
@keyframes pr{from{width:0}to{width:100%}}
.conf{position:absolute;width:8px;height:12px;border-radius:2px;animation:cf 2.2s ease-in forwards}
@keyframes cf{from{transform:translateY(-20px) rotate(0)}to{transform:translateY(520px) rotate(540deg);opacity:0}}