:root{--cream:#FFF8EE;--ink:#1d1a24;--spark:#FF6B35;--volt:#7B2FF7;--pop:#FFD23F;--muted:#6b6375}
*{box-sizing:border-box}
body{margin:0;font-family:'Bricolage Grotesque',sans-serif;color:var(--ink);background:var(--cream);
background-image:radial-gradient(circle at 12% 8%,rgba(255,107,53,.13),transparent 40%),radial-gradient(circle at 90% 30%,rgba(123,47,247,.10),transparent 40%),radial-gradient(rgba(29,26,36,.07) 1px,transparent 1px);
background-size:auto,auto,18px 18px;min-height:100vh}
.script{font-family:'Courier Prime',monospace}
.card{background:#fff;border:2px solid var(--ink);border-radius:1.25rem;box-shadow:5px 5px 0 var(--ink)}
.btn{border:2px solid var(--ink);border-radius:999px;padding:.45rem 1rem;font-weight:600;background:#fff;transition:transform .12s,box-shadow .12s;box-shadow:3px 3px 0 var(--ink)}
.btn:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--ink)}
.btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn-go{background:linear-gradient(100deg,var(--spark),#ff9a3c);color:#fff;font-weight:800;font-size:1.15rem;padding:.8rem 1.6rem}
.btn-go:hover{animation:boing .4s}
@keyframes boing{0%{transform:scale(1)}40%{transform:scale(1.06) rotate(-1deg)}100%{transform:scale(1)}}
.chip{border:2px solid var(--ink);border-radius:999px;padding:.3rem .8rem;font-size:.85rem;background:#fff;transition:all .12s}
.chip[aria-pressed=true]{background:var(--ink);color:var(--pop)}
.tilt:nth-child(odd){transform:rotate(-1.2deg)}.tilt:nth-child(even){transform:rotate(1deg)}
.tilt:hover{transform:rotate(0) scale(1.04)}
:focus-visible{outline:3px solid var(--volt);outline-offset:2px}
input,textarea,select{border:2px solid var(--ink);border-radius:.8rem;padding:.6rem .8rem;background:#fff;width:100%;font-family:inherit}
.reveal{animation:rise .5s both}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.curtain{background:repeating-linear-gradient(90deg,#b3202a 0 18px,#8f1720 18px 36px);border-radius:1rem;position:relative;overflow:hidden;height:150px}
.spot{position:absolute;top:-40px;left:50%;width:160px;height:240px;background:radial-gradient(ellipse at top,rgba(255,236,150,.85),transparent 70%);animation:sweep 2.4s ease-in-out infinite alternate}
@keyframes sweep{from{transform:translateX(-140%)}to{transform:translateX(40%)}}
.mic{display:inline-block;animation:wig 2s infinite}
@keyframes wig{0%,90%,100%{transform:rotate(0)}93%{transform:rotate(-14deg)}96%{transform:rotate(12deg)}}
.spark-p{position:fixed;width:10px;height:10px;border-radius:2px;pointer-events:none;animation:fall 1.3s ease-out forwards;z-index:60}
@keyframes fall{to{transform:translate(var(--dx),var(--dy)) rotate(540deg);opacity:0}}