.container{width:100%;min-height:calc(100vh - 1rem);padding:1.5rem 2rem;background:#fff;border-radius:20px;box-shadow:0 15px 60px #00000040;display:flex;flex-direction:column}h1{text-align:center;color:#667eea;font-size:1.5rem;margin-bottom:.5rem}.setup{display:flex;flex-direction:column;gap:1.5rem;align-items:center}.input-group{width:100%;max-width:300px}.input-group label{display:flex;flex-direction:column;gap:.5rem;font-size:1.2rem;color:#333}.input-group input{padding:.75rem;font-size:1.5rem;border:2px solid #667eea;border-radius:10px;text-align:center}.start-btn,.draw-btn,.stop-btn,.end-btn,.bingo-btn{padding:.8rem 2.5rem;font-size:1.3rem;font-weight:700;border:none;border-radius:50px;cursor:pointer;transition:all .3s ease}.start-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;margin-top:1rem}.start-btn:hover{transform:scale(1.05);box-shadow:0 5px 20px #667eea66}.game{display:flex;flex-direction:column;gap:1.5rem;align-items:center;flex:1}.game-main{display:flex;gap:2rem;width:100%;align-items:stretch;flex:1}.game-main{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr auto;gap:.3rem 2rem;width:100%;flex:1}.slot-area{grid-column:1;grid-row:1 / 3;display:flex;flex-direction:column;gap:1rem;align-items:center}.slot-buttons{display:flex;gap:1rem;justify-content:center}.current-number{width:100%;flex:1;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#f093fb,#f5576c);border-radius:30px;padding:2rem}.number-display{font-size:20rem;font-weight:700;color:#fff;text-shadow:0 8px 25px rgba(0,0,0,.3)}.number-display.slot-spin{animation:slotTick .08s ease-in-out;text-shadow:0 0 30px rgba(255,255,255,.8),0 5px 15px rgba(0,0,0,.3)}@keyframes slotTick{0%{transform:translateY(-20px);opacity:.3}to{transform:translateY(0);opacity:1}}.number-display.final-pop{animation:finalReveal .6s cubic-bezier(.175,.885,.32,1.275)}@keyframes finalReveal{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.3)}70%{transform:scale(.9)}to{transform:scale(1);opacity:1}}.current-number.rolling{background:linear-gradient(135deg,#a18cd1,#fbc2eb,#a18cd1);background-size:200% 200%;animation:gradientShift .5s ease infinite}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.current-number.revealed{animation:flash .6s ease}@keyframes flash{0%{background:#fff}30%{background:linear-gradient(135deg,gold,#ff6b6b)}to{background:linear-gradient(135deg,#f093fb,#f5576c)}}.number-placeholder{font-size:2.5rem;color:#fff;opacity:.8}.draw-btn{background:linear-gradient(135deg,#43e97b,#38f9d7);color:#fff}.draw-btn:hover{transform:scale(1.05);box-shadow:0 5px 20px #43e97b66}.stop-btn{background:linear-gradient(135deg,#ff512f,#f09819);color:#fff;animation:pulse .6s ease infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.stop-btn:hover:not(.disabled){box-shadow:0 5px 20px #ff512f66}.stop-btn.disabled{opacity:.6;cursor:not-allowed;animation:none}.history-header{grid-column:2;grid-row:2;display:flex;justify-content:flex-start;align-items:center;gap:.5rem}.history-header h2{color:#999;font-size:1rem;margin:0;font-weight:400}.fullscreen-btn{padding:.4rem 1rem;font-size:.9rem;font-weight:700;border:2px solid #667eea;border-radius:50px;background:#fff;color:#667eea;cursor:pointer;transition:all .3s ease}.fullscreen-btn:hover{background:#667eea;color:#fff}.fullscreen-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#667eeaf2;display:flex;justify-content:center;align-items:center;z-index:100;animation:fadeIn .2s ease}.fullscreen-history{width:90%;max-width:1200px;max-height:90vh;overflow-y:auto;text-align:center;padding:2rem}.fullscreen-history h2{color:#fff;font-size:2.5rem;margin-bottom:2rem}.fullscreen-numbers{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:2rem}.fullscreen-number{display:inline-block;min-width:90px;padding:1rem 1.2rem;background:#fff;color:#667eea;border-radius:15px;text-align:center;font-size:2.5rem;font-weight:700;box-shadow:0 4px 15px #0003}.fullscreen-close{padding:.8rem 2.5rem;font-size:1.3rem;font-weight:700;border:2px solid white;border-radius:50px;background:transparent;color:#fff;cursor:pointer;transition:all .3s ease}.fullscreen-close:hover{background:#fff;color:#667eea}.drawn-numbers{grid-column:2;grid-row:1;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;align-content:flex-start;padding:1rem;background:#f5f5f5;border-radius:10px;min-width:0}.drawn-number{display:inline-block;min-width:55px;padding:.5rem .7rem;background:#667eea;color:#fff;border-radius:10px;text-align:center;font-size:1.5rem;font-weight:700;cursor:pointer;transition:transform .1s ease}.drawn-number:active{transform:scale(.95)}.bingo-btn{background:linear-gradient(135deg,gold,#ff6b6b);color:#fff;animation:bingoPulse 1.5s ease infinite}@keyframes bingoPulse{0%,to{transform:scale(1);box-shadow:0 0 #ffd70066}50%{transform:scale(1.05);box-shadow:0 0 20px 5px #ffd7004d}}.bingo-btn:hover{animation:none;transform:scale(1.1);box-shadow:0 5px 25px #ffd70080}.end-btn{background:linear-gradient(135deg,#fa709a,#fee140);color:#fff}.end-btn:hover{transform:scale(1.05);box-shadow:0 5px 20px #fa709a66}.bingo-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:200;animation:fadeIn .3s ease}.bingo-celebration{position:relative;text-align:center;padding:3rem 5rem;overflow:visible}.bingo-confetti{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden}.confetti-piece{position:absolute;top:-20px;width:12px;height:12px;border-radius:2px;animation:confettiFall linear forwards}@keyframes confettiFall{0%{transform:translateY(-20px) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:.5}}.bingo-text{font-size:8rem;font-weight:900;background:linear-gradient(135deg,gold,#ff6b6b,gold,#ff6b6b);background-size:300% 300%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:bingoAppear .8s cubic-bezier(.175,.885,.32,1.275),bingoShine 2s ease infinite;text-shadow:none;filter:drop-shadow(0 5px 15px rgba(255,215,0,.5))}@keyframes bingoAppear{0%{transform:scale(0) rotate(-20deg);opacity:0}60%{transform:scale(1.3) rotate(5deg)}80%{transform:scale(.9) rotate(-2deg)}to{transform:scale(1) rotate(0);opacity:1}}@keyframes bingoShine{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.bingo-sub{font-size:3rem;font-weight:700;color:#fff;margin-top:1rem;animation:bingoSubAppear .6s ease .5s both}@keyframes bingoSubAppear{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.bingo-close{margin-top:2rem;padding:.8rem 2.5rem;font-size:1.3rem;font-weight:700;border:2px solid white;border-radius:50px;background:transparent;color:#fff;cursor:pointer;transition:all .3s ease;animation:bingoSubAppear .6s ease 1s both}.bingo-close:hover{background:#fff;color:#ff6b6b}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:100;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:#fff;border-radius:20px;padding:2.5rem 3rem;box-shadow:0 15px 50px #0000004d;text-align:center;animation:modalPop .3s cubic-bezier(.175,.885,.32,1.275)}@keyframes modalPop{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.modal p{font-size:1.8rem;font-weight:700;color:#333;margin-bottom:2rem}.modal-buttons{display:flex;gap:1.5rem;justify-content:center}.modal-yes,.modal-no{padding:.8rem 2.5rem;font-size:1.4rem;font-weight:700;border:none;border-radius:50px;cursor:pointer;transition:all .3s ease}.modal-yes{background:linear-gradient(135deg,#fa709a,#fee140);color:#fff}.modal-yes:hover{transform:scale(1.05)}.modal-no{background:#e0e0e0;color:#333}.modal-no:hover{transform:scale(1.05)}@media(max-width:600px){.container{padding:1rem}h1{font-size:1.5rem}.number-display{font-size:10rem}.current-number{min-height:30vh}.bingo-text{font-size:5rem}.bingo-sub{font-size:2rem}.start-btn,.draw-btn,.stop-btn,.end-btn,.bingo-btn{font-size:1.1rem;padding:.7rem 2rem}.game-main{grid-template-columns:1fr;grid-template-rows:auto auto auto}.slot-area{grid-column:1;grid-row:1}.history-header{grid-column:1;grid-row:2;justify-content:center}.drawn-numbers{grid-column:1;grid-row:3}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;display:flex;justify-content:center;align-items:stretch;padding:.5rem}#root{width:100%}
