:root{--bg:#0f0f14;--banana:#FFE135;--pink:#ff3d8b;--card:rgba(255,255,255,.04);--line:rgba(255,255,255,.1)}
html,body{background:var(--bg);color:#f3f0e6;font-family:'DM Mono',monospace;margin:0}
body{background-image:radial-gradient(circle at 15% 10%,rgba(255,225,53,.12),transparent 40%),radial-gradient(circle at 85% 80%,rgba(255,61,139,.12),transparent 45%),repeating-linear-gradient(45deg,rgba(255,255,255,.015) 0 2px,transparent 2px 14px);min-height:100vh}
.display{font-family:'Fraunces',serif}
.glass{background:var(--card);border:1px solid var(--line);backdrop-filter:blur(10px);border-radius:1.25rem}
.bounce-logo{display:inline-block;animation:bob 2.2s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-8px) rotate(8deg)}}
.go-btn{background:linear-gradient(100deg,var(--banana),var(--pink));color:#120d00;box-shadow:0 0 30px rgba(255,61,139,.35);transition:transform .15s}
.go-btn:hover:not(:disabled){transform:translateY(-2px) scale(1.01)}
.go-btn:disabled{opacity:.5;filter:grayscale(.5)}
.chip{border:1px solid var(--line);transition:all .15s}
.chip:hover{border-color:var(--banana);color:var(--banana);transform:translateY(-1px)}
.chip.on{background:var(--banana);color:#111;border-color:var(--banana)}
.fade-up{animation:fu .6s both}
@keyframes fu{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.peel{animation:spin 1.4s cubic-bezier(.6,0,.4,1) infinite;display:inline-block}
@keyframes spin{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.3)}100%{transform:rotate(360deg) scale(1)}}
.drop{border:2px dashed rgba(255,225,53,.35);transition:all .2s}
.drop.over{border-color:var(--pink);background:rgba(255,61,139,.08)}
input[type=range].cmp{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize}
.scroll-x::-webkit-scrollbar{height:6px}.scroll-x::-webkit-scrollbar-thumb{background:#333;border-radius:3px}
.toast{animation:fu .3s both}