body{background:#0f0c29;background:linear-gradient(135deg,#0f0c29,#302b63,#24243e);min-height:100vh;font-family:Segoe UI,Helvetica Neue,sans-serif;color:#fff}*{box-sizing:border-box;margin:0;padding:0}.app{max-width:500px;margin:0 auto;padding:24px 16px 48px;text-align:center;min-height:100vh;display:flex;flex-direction:column;align-items:center}.title{font-size:clamp(1.8rem,7vw,2.4rem);font-weight:900;letter-spacing:.15em;background:linear-gradient(90deg,#f7971e,#ffd200);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:28px}.stage{width:100%;display:flex;align-items:center;justify-content:center;margin-bottom:12px}.ball{width:clamp(200px,52vw,260px);height:clamp(200px,52vw,260px);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 35% 28%,rgba(255,255,255,.35) 0%,transparent 55%),var(--color, #2a2a4a);box-shadow:0 0 60px color-mix(in srgb,var(--color, #444) 50%,transparent),0 12px 40px #00000080,inset 0 -6px 16px #00000040;transition:background .15s;position:relative}.ball.spinning{animation:spinWobble .08s ease-in-out infinite alternate}.ball.reveal{animation:revealPop .5s cubic-bezier(.36,.07,.19,.97)}@keyframes spinWobble{0%{transform:scale(1) rotate(-1deg)}to{transform:scale(1.03) rotate(1deg)}}@keyframes revealPop{0%{transform:scale(.6);opacity:.2}65%{transform:scale(1.12)}to{transform:scale(1);opacity:1}}.ball-col{font-size:clamp(1.4rem,5vw,1.8rem);font-weight:900;color:#ffffffd9;letter-spacing:.15em;line-height:1;margin-bottom:2px}.ball-num{font-size:clamp(4rem,15vw,6rem);font-weight:900;color:#fff;line-height:1;text-shadow:0 2px 12px rgba(0,0,0,.3)}.ball-blank{font-size:clamp(3rem,10vw,4.5rem);color:#ffffff14}.remaining{color:#777;font-size:.9rem;margin-bottom:20px;letter-spacing:.05em}.remaining strong{color:#ffd200;font-size:1.1em}.draw-btn{background:linear-gradient(135deg,#f7971e,#ffd200);border:none;border-radius:60px;padding:clamp(14px,4vw,18px) clamp(52px,16vw,80px);font-size:clamp(1.4rem,5vw,1.8rem);font-weight:900;color:#1a1a2e;cursor:pointer;letter-spacing:.12em;box-shadow:0 6px 30px #ffd20073;transition:transform .15s,box-shadow .15s;margin-bottom:32px}.draw-btn:hover:not(:disabled){transform:translateY(-4px);box-shadow:0 12px 40px #ffd200a6}.draw-btn:active:not(:disabled){transform:translateY(0)}.draw-btn:disabled{opacity:.45;cursor:not-allowed}.history{width:100%;display:flex;gap:8px;margin-bottom:28px}.col-block{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px}.col-head{width:100%;padding:8px 0;border-radius:10px 10px 0 0;font-size:clamp(1rem,4vw,1.3rem);font-weight:900;color:#fff;letter-spacing:.05em}.col-nums{width:100%;display:flex;flex-direction:column;align-items:center;gap:4px;background:#ffffff0a;border-radius:0 0 10px 10px;padding:8px 4px;min-height:48px}.col-empty{color:#ffffff26;font-size:1.2rem;line-height:2}.chip{display:inline-flex;align-items:center;justify-content:center;width:clamp(32px,8vw,42px);height:clamp(22px,5vw,28px);border-radius:6px;font-size:clamp(.7rem,2.5vw,.9rem);font-weight:700;background:#ffffff1a;color:#ccc;transition:background .3s}.chip.latest{color:#fff;font-size:clamp(.85rem,3vw,1.05rem);transform:scale(1.08);box-shadow:0 0 12px #ffd20066}.reset-btn{background:transparent;border:2px solid rgba(255,255,255,.15);border-radius:50px;padding:10px 36px;color:#666;cursor:pointer;font-size:.95rem;transition:border-color .2s,color .2s}.reset-btn:hover{border-color:#fff6;color:#bbb}.confirm-box{text-align:center;padding:16px 24px;border:2px solid rgba(255,100,100,.4);border-radius:12px;background:#ff323214}.confirm-box p{color:#f87171;font-size:1rem;margin-bottom:12px}.confirm-btns{display:flex;gap:12px;justify-content:center}.confirm-yes{background:#e53935;border:none;border-radius:8px;padding:8px 28px;color:#fff;font-size:.95rem;cursor:pointer;transition:background .2s}.confirm-yes:hover{background:#c62828}.confirm-no{background:transparent;border:2px solid rgba(255,255,255,.25);border-radius:8px;padding:8px 28px;color:#aaa;font-size:.95rem;cursor:pointer;transition:border-color .2s,color .2s}.confirm-no:hover{border-color:#ffffff80;color:#fff}
