:root{--primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--secondary-gradient: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--success-gradient: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);--dark-bg: #0f0f23;--card-bg: rgba(255, 255, 255, .05);--card-border: rgba(255, 255, 255, .1);--text-primary: #ffffff;--text-secondary: rgba(255, 255, 255, .7);--number-called: #4facfe;--number-uncalled: rgba(255, 255, 255, .15);--shadow-glow: 0 8px 32px rgba(102, 126, 234, .3);--shadow-card: 0 8px 32px rgba(0, 0, 0, .3);--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--radius-sm: .5rem;--radius-md: 1rem;--radius-lg: 1.5rem;--radius-full: 9999px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family);background:var(--dark-bg);color:var(--text-primary);min-height:100vh;overflow-x:hidden;background-image:radial-gradient(circle at 20% 50%,rgba(102,126,234,.15) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(118,75,162,.15) 0%,transparent 50%)}#root{min-height:100vh;display:flex;padding:var(--spacing-lg)}.app-container{display:flex;flex-direction:column;gap:var(--spacing-lg);width:100%;max-width:1400px;margin:0 auto}.header-controls{display:flex;justify-content:center;align-items:center;gap:var(--spacing-xl);flex-wrap:wrap;margin-bottom:var(--spacing-lg)}.settings-panel{background:var(--card-bg);border:1px solid var(--card-border);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-full);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;gap:var(--spacing-md)}.settings-label{color:var(--text-secondary);font-weight:600;display:flex;align-items:center;gap:var(--spacing-sm)}.settings-input{background:#0000004d;border:1px solid var(--card-border);color:var(--text-primary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);width:80px;font-size:1rem;font-weight:700;text-align:center}.tab-nav{margin-bottom:0}.game-container{display:flex;gap:var(--spacing-lg);width:100%;flex:1}.main-area{flex:2;display:flex;flex-direction:column;gap:var(--spacing-lg)}.sidebar{flex:1;min-width:300px}.number-display{background:var(--card-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--card-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-card);text-align:center;position:relative;overflow:hidden}.number-display:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--primary-gradient)}.number-display-label{font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);margin-bottom:var(--spacing-sm)}.current-number{font-size:8rem;font-weight:800;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;margin:var(--spacing-md) 0;animation:numberPop .4s cubic-bezier(.68,-.55,.265,1.55)}@keyframes numberPop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.call-name{font-size:2rem;font-weight:600;color:var(--text-primary);margin-top:var(--spacing-md);animation:fadeInUp .5s ease-out .2s both}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.placeholder-text{font-size:1.5rem;color:var(--text-secondary);font-weight:500}.button-container{display:flex;gap:var(--spacing-md);justify-content:center}.next-button,.reset-button{padding:var(--spacing-md) var(--spacing-xl);font-size:1.25rem;font-weight:700;border:none;border-radius:var(--radius-full);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-family:var(--font-family);text-transform:uppercase;letter-spacing:.05em;box-shadow:var(--shadow-glow);position:relative;overflow:hidden}.next-button{background:var(--primary-gradient);color:#fff;min-width:250px}.next-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.next-button:hover:before{width:300px;height:300px}.next-button:hover{transform:translateY(-2px);box-shadow:0 12px 40px #667eea80}.next-button:active{transform:translateY(0)}.next-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.reset-button{background:#ffffff1a;color:#fff;border:1px solid var(--card-border);box-shadow:none}.reset-button:hover{background:#ffffff26;transform:translateY(-2px)}.number-grid-container{background:var(--card-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--card-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-card);height:fit-content}.number-grid-title{font-size:1.25rem;font-weight:700;margin-bottom:var(--spacing-md);text-align:center;color:var(--text-primary)}.bingo-board{display:flex;flex-direction:column;gap:var(--spacing-xs)}.board-headers{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;position:sticky;top:0;z-index:10;background:var(--dark-bg);padding-bottom:8px}.board-body{display:flex;flex-direction:column;gap:4px}.board-row{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:2px;border-radius:var(--radius-sm);transition:all .3s ease}.board-row.row-filled{background:#4facfe1a;box-shadow:0 0 15px #4facfe33}.column-header{background:var(--primary-gradient);color:#fff;text-align:center;padding:8px 4px;border-radius:var(--radius-sm);font-weight:800;font-size:1.25rem;box-shadow:var(--shadow-glow);transition:all .3s ease}.column-header.all-called{background:var(--success-gradient);transform:scale(1.05)}.number-cell.empty{opacity:0;pointer-events:none}.number-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:var(--number-uncalled);border-radius:var(--radius-sm);font-weight:600;font-size:1rem;position:relative;transition:all .3s ease;border:1px solid transparent}.number-cell.called{background:var(--success-gradient);color:#fff;border-color:#ffffff4d;animation:cellPop .4s cubic-bezier(.68,-.55,.265,1.55)}@keyframes cellPop{0%{transform:scale(.8)}50%{transform:scale(1.1)}to{transform:scale(1)}}.number-cell.called:after{content:"X";position:absolute;font-size:2rem;font-weight:900;color:#fff6;pointer-events:none;animation:xMark .3s ease-out .2s both}@keyframes xMark{0%{opacity:0;transform:scale(2)}to{opacity:1;transform:scale(1)}}.game-complete{text-align:center;padding:var(--spacing-lg);background:var(--secondary-gradient);border-radius:var(--radius-lg);margin-top:var(--spacing-md);animation:fadeInUp .5s ease-out}.game-complete h2{font-size:2rem;margin-bottom:var(--spacing-sm)}@media(max-width:968px){.app-container{flex-direction:column}.sidebar{min-width:auto}.current-number{font-size:6rem}.call-name{font-size:1.5rem}.number-grid{grid-template-columns:repeat(5,1fr)}}@media(max-width:640px){#root{padding:var(--spacing-sm)}.current-number{font-size:4rem}.call-name{font-size:1.25rem}.next-button{min-width:200px;font-size:1rem}.number-grid{gap:.25rem}.number-cell{font-size:.875rem}}.tab-nav{display:flex;justify-content:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.tab-button{background:transparent;border:2px solid var(--card-border);color:var(--text-secondary);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-full);font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.tab-button:hover{background:#ffffff0d;color:var(--text-primary)}.tab-button.active{background:var(--primary-gradient);border-color:transparent;color:#fff;box-shadow:var(--shadow-glow)}.bingo-card-container{width:100%;max-width:600px;margin:0 auto;text-align:center;background:#fff;padding:var(--spacing-xl);border-radius:var(--radius-lg);color:#000}.bingo-card-header h2{font-size:3rem;margin-bottom:var(--spacing-lg);letter-spacing:.5rem;color:#333}.bingo-card-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;background:#333;border:4px solid #333}.bingo-card-cell{background:#fff;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;aspect-ratio:1;color:#000}.bingo-card-cell.header{background:#333;color:#fff;font-size:1.5rem}.bingo-card-cell.free-space{font-size:1rem;text-transform:uppercase;background:#f0f0f0}.bingo-card-actions{display:flex;gap:var(--spacing-md);justify-content:center;margin-top:var(--spacing-lg)}@media print{body{background:#fff;background-image:none;color:#000}.app-container,#root{padding:0;margin:0;width:100%;max-width:none;display:block}.tab-nav,.header-controls,.bingo-card-actions,.sidebar,.number-display,.button-container,.game-complete{display:none!important}.bingo-card-container{box-shadow:none;max-width:100%;padding:0;margin:0}.bingo-card-header h2{font-size:4rem;margin-bottom:2rem}.bingo-card-grid{border-width:2px;gap:1px}.bingo-card-cell{font-size:2.5rem}}.history-container{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-md);padding:var(--spacing-xs) var(--spacing-md);margin-bottom:var(--spacing-xs);display:flex;flex-direction:column;align-items:center;gap:4px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.history-label{font-size:.7rem;font-weight:700;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.05em;opacity:.8}.history-list{display:flex;gap:var(--spacing-xs);justify-content:center}.history-item{width:32px;height:32px;border-radius:50%;background:#ffffff1a;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem;color:var(--text-secondary);border:1px solid var(--card-border);animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}
