body{margin:0;min-height:100vh;display:flex;align-items:center;justify-content:center;
  background:#F5F5F7;font-family:-apple-system,Segoe UI,Arial,sans-serif;color:#111;overflow-x:hidden;}
.wrap{position:relative;max-width:420px;text-align:center;background:#fff;padding:40px 32px;border-radius:16px;
  box-shadow:0 2px 16px rgba(0,0,0,.08);}
.pulse{position:absolute;top:14px;right:16px;font-size:11px;color:#16A34A;font-weight:600;
  display:flex;align-items:center;gap:5px;text-transform:uppercase;letter-spacing:.03em;}
.dot{width:7px;height:7px;border-radius:50%;background:#16A34A;display:inline-block;
  animation:blink 1.6s ease-in-out infinite;}
@keyframes blink{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(22,163,74,.5);}50%{opacity:.5;box-shadow:0 0 0 5px rgba(22,163,74,0);}}
.logo{width:64px;height:64px;margin-bottom:16px;border-radius:14px;cursor:pointer;
  transition:transform .2s ease;}
.logo:hover{transform:rotate(-8deg) scale(1.08);}
h1{font-size:22px;margin:0 0 12px;}
p{font-size:15px;line-height:1.5;color:#444;margin:0 0 8px;}
.btn{margin-top:8px;border:none;background:#4338CA;color:#fff;font-size:14px;font-weight:600;
  padding:11px 18px;border-radius:10px;cursor:pointer;transition:transform .1s ease,background .2s ease;}
.btn:hover{background:#3730A3;}
.btn:active{transform:scale(.96);}
.joke{min-height:20px;font-size:13px;color:#4338CA;font-weight:600;margin-top:12px;}
.msgbox{margin-top:22px;padding:14px 16px;background:#F5F3FF;border:1px dashed #C7D2FE;border-radius:10px;text-align:left;}
.msgbox-label{margin:0 0 4px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#6366F1;font-weight:700;}
.msgbox-text{margin:0;font-size:14px;color:#312E81;word-break:break-word;}
.hint{font-size:12px;color:#999;margin-top:16px;}
.confetti{position:fixed;pointer-events:none;font-size:20px;z-index:9999;
  transform:translate(-50%,-50%);animation:fly 1.1s ease-out forwards;}
@keyframes fly{
  0%{transform:translate(-50%,-50%) translate(0,0) rotate(0deg);opacity:1;}
  100%{transform:translate(-50%,-50%) translate(var(--dx),var(--dy)) rotate(360deg);opacity:0;}
}
