.landing-page{min-height:100vh;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);display:flex;flex-direction:column;color:#fff}.landing-banner{background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.2);padding:60px 20px;text-align:center}.banner-content{max-width:800px;margin:0 auto}.banner-title{font-size:3.5rem;font-weight:700;margin:0 0 16px;background:linear-gradient(45deg,#fff,#f0f0f0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 4px 8px rgba(0,0,0,.1)}.banner-graphic{display:flex;justify-content:center;margin:32px 0}.banner-image{max-width:100%;height:auto;max-height:300px;border-radius:12px;box-shadow:0 8px 32px #0003;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.user-info-section{padding:20px;display:flex;justify-content:flex-end}.user-info{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.1);padding:12px 20px;border-radius:25px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.user-info span{font-weight:500}.navigation-cards{display:flex;justify-content:center;gap:40px;padding:60px 20px;flex-wrap:wrap;max-width:1200px;margin:0 auto}.nav-card{background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.2);border-radius:20px;padding:40px;width:400px;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.nav-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(255,255,255,.1),rgba(255,255,255,.05));opacity:0;transition:opacity .3s ease}.nav-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px #0003;border-color:#fff6}.nav-card:hover:before{opacity:1}.nav-card:hover .card-icon{transform:scale(1.1)}.card-icon{text-align:center;margin-bottom:24px;transition:transform .3s ease;color:#ffffffe6}.card-content{position:relative;z-index:1}.card-content h2{font-size:1.8rem;margin:0 0 16px;font-weight:600;text-align:center}.card-content p{font-size:1rem;margin:0 0 24px;opacity:.9;text-align:center;line-height:1.6}.card-features{display:flex;flex-direction:column;gap:8px;margin-bottom:32px}.card-features span{font-size:.9rem;opacity:.8;padding-left:8px}.card-action{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 24px;background:rgba(255,255,255,.2);border-radius:12px;font-weight:600;transition:all .3s ease}.nav-card:hover .card-action{background:rgba(255,255,255,.3);transform:scale(1.05)}.setup-card{border-left:4px solid #4ade80}.setup-card .card-icon{color:#4ade80}.board-card{border-left:4px solid #fbbf24}.board-card .card-icon{color:#fbbf24}.current-game-status{background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:16px;padding:24px;max-width:800px;margin:0 auto 40px}.current-game-status h3{margin:0 0 16px;font-size:1.4rem;text-align:center}.game-status-info{display:flex;justify-content:space-around;gap:20px;flex-wrap:wrap}.game-status-info p{margin:0;opacity:.9}.game-actions{display:flex;gap:12px;margin-top:16px;justify-content:center}.game-actions .button{padding:10px 20px;font-size:.9rem;display:flex;align-items:center;gap:8px}.landing-footer{margin-top:auto;padding:40px 20px;text-align:center;background:rgba(0,0,0,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.landing-footer p{margin:8px 0;opacity:.7;font-size:.9rem}@media (max-width: 768px){.banner-title{font-size:2.5rem}.banner-image{max-height:200px}.navigation-cards{gap:24px;padding:40px 20px}.nav-card{width:100%;max-width:400px;padding:30px 24px}.game-status-info{flex-direction:column;align-items:center;gap:12px}}@media (max-width: 480px){.banner-title{font-size:2rem}.banner-image{max-height:150px}.user-info{flex-direction:column;gap:8px;text-align:center}.nav-card{padding:24px 20px}.card-content h2{font-size:1.5rem}}.custom-pattern-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(75,76,76,.8);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.custom-pattern-modal{background:rgba(151,149,149,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;max-width:600px;width:100%;max-height:90vh;overflow:hidden;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid rgba(0,0,0,.1);background:rgba(255,255,255,.9)}.modal-header h2{color:#000;font-size:1.3rem;font-weight:600;margin:0}.close-button{background:none;border:none;color:#666;cursor:pointer;padding:8px;border-radius:50%;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.close-button:hover{background:rgba(0,0,0,.1);color:#333}.modal-content{padding:20px;flex:1;overflow-y:auto}.input-group{margin-bottom:24px}.input-label{display:block;color:#000;font-weight:600;margin-bottom:8px;font-size:.95rem}.input-field{width:100%;padding:12px 16px;border:2px solid #e1e5e9;border-radius:8px;font-size:1rem;transition:all .2s ease;background:white}.input-field:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.pattern-grid-section{margin-bottom:24px}.pattern-grid{display:flex;flex-direction:column;gap:4px;margin-top:12px;background:#f8f9fa;padding:16px;border-radius:12px;border:2px solid #e9ecef}.grid-row{display:flex;gap:4px}.grid-cell{width:50px;height:50px;border:2px solid #dee2e6;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;background:white;position:relative}.grid-cell:hover{border-color:#667eea;background:rgba(102,126,234,.05)}.grid-cell.selected{background:#667eea;border-color:#667eea;color:#fff}.grid-cell.bingo-header{background:#28a745;border-color:#28a745;color:#fff;font-weight:700;font-size:1.1rem}.grid-cell.bingo-header:hover{background:#218838;border-color:#218838}.bingo-letter{font-weight:700;font-size:1.2rem}.radio-input{width:20px;height:20px;accent-color:#667eea;cursor:pointer}.grid-instructions{margin-top:12px;color:#000;font-size:.9rem;text-align:center;font-style:italic}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px;border-top:1px solid rgba(0,0,0,.1);background:rgba(255,255,255,.9)}.button{padding:12px 24px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px}.button.primary{background:#667eea;color:#fff}.button.primary:hover{background:#5a6fd8;transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.button.secondary{background:#6c757d;color:#fff}.button.secondary:hover{background:#5a6268;transform:translateY(-1px)}@media (max-width: 768px){.custom-pattern-modal{margin:10px;max-height:95vh}.modal-content{padding:15px}.grid-cell{width:40px;height:40px}.bingo-letter{font-size:1rem}.radio-input{width:16px;height:16px}.modal-footer{padding:15px}.button{padding:10px 20px;font-size:.9rem}}@media (max-width: 480px){.grid-cell{width:35px;height:35px}.bingo-letter{font-size:.9rem}.radio-input{width:14px;height:14px}}.profile-selection{max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:24px}.header-controls{display:flex;justify-content:flex-end;margin-bottom:20px}.user-info{display:flex;align-items:center;gap:16px;color:#fff;font-size:1.1rem}.button.small{padding:8px 16px;font-size:.9rem}.game-mode-selection{max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:24px;padding:40px 20px}.mode-buttons{display:flex;gap:24px;justify-content:center;flex-wrap:wrap}.mode-buttons .button{min-width:200px;padding:20px 32px;font-size:1.2rem;font-weight:600}.saved-games-section{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:24px}.saved-games-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-top:20px}.saved-game-card{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:20px;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.saved-game-card:hover{background:rgba(255,255,255,.15);border-color:#ffffff4d;transform:translateY(-2px);box-shadow:0 8px 25px #0003}.saved-game-card h3{margin:0 0 12px;color:#fff;font-size:1.3rem;font-weight:600}.saved-game-card p{margin:6px 0;color:#fffc;font-size:.95rem}.saved-game-card .saved-date{margin-top:12px;font-size:.85rem;color:#fff9;font-style:italic}.no-saved-games{text-align:center;padding:40px 20px;color:#ffffffb3}.no-saved-games p{margin-bottom:20px;font-size:1.1rem}.setup-sections{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:24px}.background-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:12px;margin-top:12px}.background-option{width:80px;height:80px;border-radius:8px;overflow:hidden;cursor:pointer;border:2px solid rgba(255,255,255,.3);transition:all .3s ease;position:relative}.background-option:hover{border-color:#667eea;transform:scale(1.05)}.background-option.selected{border-color:#667eea;box-shadow:0 4px 15px #667eea66}.background-option img{width:100%;height:100%;object-fit:cover;border-radius:4px}.background-label{position:absolute;bottom:4px;left:4px;background:rgba(0,123,255,.9);color:#fff;padding:2px 6px;border-radius:4px;font-size:.7rem;font-weight:600}.background-upload{width:80px;height:80px;border:2px dashed rgba(255,255,255,.3);border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}.background-upload:hover{border-color:#667eea;background:rgba(255,255,255,.1)}.background-upload .file-label{display:flex;flex-direction:column;align-items:center;gap:4px;color:#ffffffb3;font-size:.8rem}.prizes-input{display:flex;flex-direction:column;gap:12px;margin-top:16px}.prize-input-row{display:flex;align-items:center;gap:16px}.game-number{min-width:80px;color:#fff;font-weight:600;font-size:1rem}.prize-input-row .input-field{flex:1}.pattern-info{margin-top:16px;background:rgba(255,255,255,.1);padding:16px;border-radius:8px}.pattern-info h4{color:#fff;margin-bottom:8px;font-size:1.1rem}.pattern-info p{color:#fffc;margin-bottom:16px;font-size:.95rem}.pattern-preview{display:flex;justify-content:center;align-items:center;height:120px;background:rgba(255,255,255,.05);border-radius:8px;border:1px dashed rgba(255,255,255,.3)}.pattern-placeholder{color:#fff9;font-style:italic}.ad-upload-section{display:flex;flex-direction:column;gap:16px}.ad-preview{margin-top:16px;text-align:center}.ad-preview h4{color:#fff;margin-bottom:12px;font-size:1.1rem}.ad-preview img{max-width:100%;max-height:200px;border-radius:8px;border:2px solid rgba(255,255,255,.2)}.start-game-section{display:flex;justify-content:center;margin-top:32px;padding-top:32px;border-top:1px solid rgba(255,255,255,.2)}.button.large{padding:16px 32px;font-size:1.2rem;display:flex;align-items:center;gap:12px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.cropping-modal{background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;max-width:600px;width:100%;max-height:80vh;overflow:hidden;box-shadow:0 20px 60px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid rgba(0,0,0,.1)}.modal-header h3{color:#333;font-size:1.3rem;font-weight:600}.modal-close{background:none;border:none;color:#666;cursor:pointer;padding:8px;border-radius:50%;transition:all .3s ease}.modal-close:hover{background:rgba(0,0,0,.1);color:#333}.modal-content{padding:20px}.crop-area{position:relative;width:100%;height:300px;border-radius:8px;overflow:hidden;margin-bottom:20px;background:#f5f5f5}.crop-preview{width:100%;height:100%;object-fit:contain}.crop-overlay{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}.crop-guides{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80%;height:80%}.crop-guide{position:absolute;background:rgba(102,126,234,.5)}.crop-guide.horizontal{top:50%;left:0;right:0;height:1px;transform:translateY(-50%)}.crop-guide.vertical{left:50%;top:0;bottom:0;width:1px;transform:translate(-50%)}.crop-controls{text-align:center}.crop-controls p{color:#666;margin-bottom:16px;font-size:.95rem}.crop-buttons{display:flex;gap:12px;justify-content:center}.cropping-modal.enhanced{max-width:90vw;max-height:90vh;width:800px}.crop-preview.enhanced{position:relative;overflow:hidden;border-radius:8px;background:#000;margin-bottom:1rem}.crop-preview.enhanced img{display:block;max-width:100%;max-height:400px;transition:transform .1s ease}.crop-overlay.enhanced{position:absolute;border:2px solid #fff;box-shadow:0 0 0 9999px #00000080;pointer-events:none}.crop-guides{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}.crop-guide{position:absolute;background:rgba(255,255,255,.5)}.crop-guide.horizontal{width:100%;height:1px;top:33.33%}.crop-guide.horizontal:after{content:"";position:absolute;width:100%;height:1px;top:33.33%;background:rgba(255,255,255,.5)}.crop-guide.vertical{width:1px;height:100%;left:33.33%}.crop-guide.vertical:after{content:"";position:absolute;width:1px;height:100%;left:33.33%;background:rgba(255,255,255,.5)}.crop-handles{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}.crop-handle{position:absolute;width:12px;height:12px;background:#fff;border:2px solid #007bff;border-radius:50%;pointer-events:all;cursor:pointer}.crop-handle.top-left{top:-6px;left:-6px;cursor:nw-resize}.crop-handle.top-right{top:-6px;right:-6px;cursor:ne-resize}.crop-handle.bottom-left{bottom:-6px;left:-6px;cursor:sw-resize}.crop-handle.bottom-right{bottom:-6px;right:-6px;cursor:se-resize}.crop-controls.enhanced{display:flex;flex-direction:column;gap:1rem}.zoom-controls{display:flex;align-items:center;justify-content:center;gap:1rem;padding:.5rem;background:#f8f9fa;border-radius:8px}.zoom-level{font-weight:600;color:#495057;min-width:60px;text-align:center}.crop-buttons{display:flex;gap:1rem;justify-content:center}.button:disabled{opacity:.5;cursor:not-allowed}.login-required{font-size:.8rem;opacity:.7;font-style:italic}.card-header{display:flex;align-items:center;gap:12px;margin-bottom:20px;color:#fff}.card-header h2{font-size:1.5rem;font-weight:600}.radio-group{display:flex;gap:20px;margin:16px 0}.radio-label{display:flex;align-items:center;gap:8px;color:#fff;cursor:pointer;font-weight:500}.radio-label input[type=radio]{width:18px;height:18px;accent-color:#667eea}.file-upload{position:relative;display:inline-block;width:100%}.file-input{position:absolute;left:-9999px;opacity:0}.file-label{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;background:rgba(255,255,255,.1);border:2px dashed rgba(255,255,255,.3);border-radius:8px;cursor:pointer;transition:all .3s ease;color:#fff;font-weight:500}.file-label:hover{background:rgba(255,255,255,.2);border-color:#667eea}.profile-list{margin-top:20px}.profile-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:rgba(255,255,255,.1);border-radius:8px;margin-bottom:8px;cursor:pointer;transition:all .3s ease;color:#fff}.profile-item:hover{background:rgba(255,255,255,.2);transform:translate(4px)}.profile-date{font-size:.9rem;color:#ffffffb3}@media (max-width: 768px){.setup-sections{max-width:none}.header-controls{justify-content:center}.user-info{flex-direction:column;gap:8px;text-align:center}.background-grid{grid-template-columns:repeat(auto-fit,minmax(60px,1fr))}.background-option,.background-upload{width:60px;height:60px}.prize-input-row{flex-direction:column;align-items:flex-start;gap:8px}.game-number{min-width:auto}.crop-area{height:200px}.cropping-modal{margin:10px;max-height:90vh}.modal-content{padding:15px}.crop-buttons{flex-direction:column}.radio-group{flex-direction:column;gap:12px}}.ad-upload-buttons{display:flex;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.ad-upload-buttons .file-upload{flex:1;min-width:200px}.ad-section{margin-top:1.5rem}.ad-section h4{color:#fff;margin-bottom:1rem;font-size:1.1rem;font-weight:600}.ad-images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem;margin-top:1rem}.ad-image-item{position:relative;border-radius:8px;overflow:hidden;border:2px solid var(--border-color);background:var(--card-background);display:flex;align-items:center;justify-content:center;min-width:80px;min-height:40px}.ad-image-item img{width:100%;height:100%;object-fit:contain;display:block}.ad-videos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-top:1rem}.ad-video-item{position:relative;border-radius:8px;overflow:hidden;border:2px solid var(--border-color);background:var(--card-background);display:flex;align-items:center;justify-content:center;min-width:200px;min-height:120px}.ad-video-item video{width:100%;height:100%;object-fit:cover;display:block}.remove-ad-btn{position:absolute;top:.5rem;right:.5rem;background:rgba(220,53,69,.9);color:#fff;border:none;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;font-size:10px}.remove-ad-btn:hover{background:#dc3545;transform:scale(1.1)}.custom-board-config{margin-top:1rem;padding:1rem;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.dimensions-selector{display:flex;gap:1rem;align-items:center}.dimension-input{display:flex;flex-direction:column;gap:.5rem}.dimension-input label{font-weight:600;color:#495057}.dimension-input select{padding:.5rem;border:1px solid #ced4da;border-radius:4px;background:white;font-size:.875rem}.custom-board-editor{margin-top:1rem;padding:1rem;background:#000;border-radius:8px;border:1px solid #dee2e6}.custom-board-editor h3{margin:0 0 .5rem;color:#495057}.custom-board-editor p{margin:0 0 1rem;color:#6c757d;font-size:.875rem}.custom-board-grid{display:flex;flex-direction:column;gap:.25rem;margin-bottom:1rem;max-height:300px;overflow-y:auto}.custom-board-row{display:flex;gap:.25rem}.custom-board-cell{width:60px;height:40px;padding:.25rem;border:1px solid #ced4da;border-radius:4px;text-align:center;font-size:.75rem;background:gray;color:#495057}.custom-board-cell:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40;background:#f8f9fa}.custom-board-cell::placeholder{color:#000}.game-buttons{display:flex;gap:1rem;justify-content:center}.adsense-container{background:rgba(255,255,255,.1);border-radius:8px;padding:10px;margin:10px 0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.adsense-container ins{border-radius:4px;overflow:hidden}@media (max-width: 768px){.adsense-container{padding:5px;margin:5px 0}}.save-settings-section{margin-top:20px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);text-align:center}.save-settings-section .button{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:8px}.save-settings-section .button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #fbbf2466}.back-home-section{display:flex;justify-content:center;margin-top:20px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1)}.back-home-section .button{padding:12px 24px;font-size:1rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;transition:all .3s ease;display:flex;align-items:center;gap:8px}.back-home-section .button:hover{background:rgba(255,255,255,.2);border-color:#ffffff4d;transform:translateY(-1px)}.current-game-card{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:20px;margin-top:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.current-game-card .card-header{margin-bottom:16px}.current-game-card .card-header h3{margin:0;color:#fff;font-size:1.3rem;font-weight:600}.current-game-card .game-info{display:flex;flex-direction:column;gap:8px}.current-game-card .game-info p{margin:0;color:#fffc;font-size:.95rem}.current-game-card .game-actions{display:flex;gap:12px;margin-top:16px}.current-game-card .game-actions .button{padding:8px 16px;font-size:.9rem}.settings-management-section{margin-top:20px;padding:20px;background:rgba(255,255,255,.05);border-radius:12px;border:1px solid rgba(255,255,255,.1);display:flex;gap:12px;justify-content:center;align-items:center;flex-wrap:wrap}.settings-management-section .button{padding:12px 20px;font-size:14px;font-weight:500;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px;min-width:160px}.settings-management-section .button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.settings-management-section .button.danger{background:#dc3545;color:#fff}.settings-management-section .button.danger:hover{background:#c82333}.settings-management-section .button.secondary{background:#6c757d;color:#fff}.settings-management-section .button.secondary:hover{background:#5a6268}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.ad-container{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:20px;margin-top:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.ad-container .adsense-container{display:flex;justify-content:center;align-items:center;min-height:90px}.ad-container .adsense-container ins{border-radius:8px;overflow:hidden}.theme-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:16px;margin-top:12px}.theme-option{cursor:pointer;display:block}.theme-option input[type=radio]{display:none}.theme-preview{border:2px solid transparent;border-radius:12px;padding:16px;text-align:center;transition:all .3s ease;position:relative;min-height:100px;display:flex;flex-direction:column;justify-content:space-between}.theme-option input[type=radio]:checked+.theme-preview{border-color:#667eea;box-shadow:0 4px 15px #667eea4d;transform:translateY(-2px)}.theme-option:hover .theme-preview{transform:translateY(-1px);box-shadow:0 2px 10px #0003}.theme-colors{display:flex;justify-content:center;gap:8px;margin-bottom:12px}.color-swatch{width:20px;height:20px;border-radius:50%;border:2px solid rgba(255,255,255,.3);box-shadow:0 2px 4px #0003}.theme-name{font-size:14px;font-weight:500;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}@media (max-width: 768px){.theme-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:12px}.theme-preview{padding:12px;min-height:80px}.color-swatch{width:16px;height:16px}.theme-name{font-size:12px}}.video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:15px;margin-top:10px}.video-option{cursor:pointer;display:block}.video-option input[type=radio]{display:none}.video-preview{border:2px solid transparent;border-radius:8px;padding:10px;text-align:center;background:var(--card-background);transition:all .3s ease;height:100px;display:flex;flex-direction:column;justify-content:center;align-items:center}.video-option input[type=radio]:checked+.video-preview{border-color:var(--accent-color);background:rgba(255,255,255,.15);transform:scale(1.05)}.video-thumbnail{width:100%;height:60px;object-fit:cover;border-radius:4px;margin-bottom:5px}.video-placeholder{width:100%;height:60px;background:linear-gradient(45deg,#f0f0f0,#e0e0e0);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:12px;color:#666;margin-bottom:5px}.video-name{font-size:12px;text-align:center;color:var(--text-color);font-weight:500}:root{--primary-color: #667eea;--secondary-color: #764ba2;--accent-color: #f093fb;--background-color: #1a1a2e;--text-color: #ffffff;--text-shadow: 3px 3px 3px #000;--stroke-color: #000;--stroke-width: .5px;--stroke-linejoin: round;--card-background: rgba(255, 255, 255, .1);--button-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--button-secondary: #6c757d}.bingo-board-container{grid-template-rows:1fr 2fr 1fr;min-height:60vh;height:100vh;padding:10px;background:var(--background-color);color:var(--text-color);transition:all .3s ease;display:flex;flex-direction:column;overflow:hidden;text-shadow:var(--text-shadow);position:relative;z-index:1}.bingo-board-container:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.2);z-index:-1;pointer-events:none}.bingo-board-container.fullscreen{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999;padding:12px;display:flex;flex-direction:column}.bingo-board-container.fullscreen .bingo-board-section{padding:10px;border-radius:0;border:none;height:100%;flex:1}.bingo-board-container.fullscreen .bottom-controls{display:none}.bingo-board-container.fullscreen .bingo-board{width:100%;height:100%;padding:10px;gap:0}.bingo-board-container.fullscreen .bingo-row{width:100%;height:20%;gap:0;display:flex;margin:3px}.bingo-board-container.fullscreen .bingo-letter-cell{width:5%;height:100%;border-radius:8px;font-size:clamp(16px,2.5vw,48px)}.bingo-board-container.fullscreen .bingo-cell{width:6.33%;height:100%;border-radius:8px;border:2px solid rgba(255,255,255,.133);background:rgba(0,0,0,.6);color:#fff;font-size:clamp(18px,4vw,56px);flex:1;text-align:center;line-height:2.5;padding:2px;box-sizing:border-box;margin:2px}.bingo-board-container.fullscreen .bingo-cell.selected{background:var(--accent-color);border-color:var(--accent-color);color:#fff;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,2px 2px 0 #000;transform:scale(1.05);box-shadow:0 4px 12px #f093fb66}.fullscreen-top-controls{position:fixed;top:10px;right:10px;display:flex;flex-direction:column;gap:8px;z-index:1000;pointer-events:auto}.fullscreen-exit-button{background:rgba(0,0,0,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.3);color:#fff;padding:8px 12px;border-radius:8px;cursor:pointer;font-size:12px;font-weight:600;display:flex;align-items:center;gap:6px;transition:all .3s ease;box-shadow:0 4px 12px #0000004d}.fullscreen-exit-button:hover{background:rgba(220,53,69,.9);border-color:#ffffff80;transform:translateY(-1px);box-shadow:0 6px 16px #0006}.fullscreen-bingo-button{background:linear-gradient(45deg,#ff6b6b,#4ecdc4,#45b7d1,#96ceb4,#feca57,#ff9ff3,#54a0ff,#5f27cd);background-size:200% 200%;animation:adBingoButtonGlow 2s ease-in-out infinite;font-weight:700;text-shadow:1px 1px 2px rgba(0,0,0,.5);border:2px solid rgba(255,255,255,.3);color:#fff;padding:8px 12px;border-radius:8px;cursor:pointer;font-size:12px;transition:all .3s ease;box-shadow:0 4px 12px #0000004d}.fullscreen-bingo-button:hover{transform:scale(1.05);box-shadow:0 0 20px #ffffff4d}.fullscreen-finish-button{background:rgba(40,167,69,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.3);color:#fff;padding:8px 12px;border-radius:8px;cursor:pointer;font-size:12px;font-weight:600;display:flex;align-items:center;gap:6px;transition:all .3s ease;box-shadow:0 4px 12px #0000004d}.fullscreen-finish-button:hover{background:rgba(40,167,69,1);border-color:#ffffff80;transform:translateY(-1px);box-shadow:0 6px 16px #0006}.bingo-board-container.fullscreen .custom-board{width:100%;height:100%;display:flex;flex-direction:column;gap:0}.bingo-board-container.fullscreen .custom-board-row{width:100%;height:20%;display:flex;gap:0}.bingo-board-container.fullscreen .custom-cell{width:20%;height:100%;border-radius:8px;border:2px solid rgba(255,255,255,.3);background:rgba(0,0,0,.6);color:#fff;font-size:clamp(18px,3vw,36px);flex:1;text-align:center;line-height:1;padding:2px;box-sizing:border-box}.bingo-board-container.fullscreen .custom-cell.selected{background:var(--accent-color);border-color:var(--accent-color);color:#fff;transform:scale(1.05);box-shadow:0 4px 12px #f093fb66}.background-video{position:fixed;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.6;pointer-events:none;mix-blend-mode:lighten}.top-section{display:grid;grid-template-columns:2fr 1fr 1fr;gap:15px;margin-bottom:15px;align-items:stretch;flex-shrink:0;min-height:120px}.bingo-board-container.fullscreen .top-section{height:20vh;min-height:auto;margin-bottom:0;padding:10px;flex-shrink:0}.selected-numbers-section{background:var(--card-background);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:10px;text-align:center;flex-shrink:0;display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%}.selected-numbers-section h3{margin:0 0 12px;font-size:28px;font-weight:600;color:var(--text-color);text-shadow:var(--text-shadow);text-stroke:var(--stroke-color);text-stroke-width:var(--stroke-width);text-stroke-linejoin:var(--stroke-linejoin);flex-shrink:0}.game-info-section{background:var(--card-background);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:16px;text-align:center;flex-shrink:0;min-width:200px;display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%}.game-info-card{display:flex;flex-direction:column;align-items:center;height:100%;width:100%;gap:2px}.game-info-card h2{margin:0;font-size:clamp(16px,2.5vw,44px);font-weight:700;color:var(--text-color);text-shadow:var(--text-shadow);flex-shrink:0}.pattern-section{background:var(--card-background);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:16px;text-align:center;flex-shrink:0;min-width:200px;display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%}.pattern-card{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;width:100%;gap:8px}.pattern-card h3{margin:0;font-size:clamp(14px,2vw,20px);font-weight:600;color:var(--text-color);text-shadow:var(--text-shadow);flex-shrink:0}.selected-numbers-full-width{background:var(--card-background);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:16px;margin-bottom:20px;text-align:center;flex-shrink:0}.selected-numbers-full-width h3{margin:0 0 12px;font-size:28px;font-weight:900;color:var(--text-color);text-shadow:var(--text-shadow);text-stroke:var(--stroke-color);text-stroke-width:var(--stroke-width);text-stroke-linejoin:var(--stroke-linejoin)}.selected-numbers-list-full{display:flex;justify-content:space-between;align-items:center;gap:4px;flex-wrap:nowrap;flex:1;width:100%;height:100%}.selected-number{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;height:100%;background:var(--primary-color);color:#fff;text-shadow:var(--text-shadow);text-stroke:var(--stroke-color);text-stroke-width:var(--stroke-width);text-stroke-linejoin:var(--stroke-linejoin);border-radius:8px;font-weight:900;font-size:clamp(28px,4vw,48px);box-shadow:0 2px 8px #0003;transition:all .3s ease;padding:3px;box-sizing:border-box}.bingo-letter-prefix{font-size:clamp(28px,4vw,48px);font-weight:500;line-height:1;margin-bottom:2px}.number-value{font-size:clamp(28px,4vw,48px);font-weight:500;line-height:1}.selected-number-first{flex:1;height:120%;background:var(--accent-color);box-shadow:0 4px 12px #f093fb66}.selected-number-first .bingo-letter-prefix,.selected-number-first .number-value{font-size:clamp(28px,4vw,68px);font-weight:900}.bingo-board-content{display:grid;grid-template-columns:1fr;gap:20px;flex:1;min-height:0;height:100%}.bingo-board-container.fullscreen .bingo-board-content{height:60vh;flex:1;padding:1px;min-height:0}.left-column{display:flex;flex-direction:column;gap:20px;min-height:0;height:100%}.bingo-board-section{background:var(--card-background);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:1px;padding:1px;flex:1;display:flex;flex-direction:column;min-height:0;height:70vh;margin-top:20px;margin-bottom:-20px}.bingo-board{display:flex;flex-direction:column;gap:6px;flex:1;justify-content:center;align-items:center;width:100%;height:70vh}.bingo-row{display:flex;gap:6px;width:100%;justify-content:center}.bingo-letter-cell{display:flex;align-items:center;justify-content:center;width:70px;height:70px;background:var(--secondary-color);color:#fff;font-weight:700;font-size:24px;border-radius:8px;box-shadow:0 2px 8px #0003;flex-shrink:0;margin-right:1px;margin-left:-5px}.bingo-cell{display:flex;align-items:center;justify-content:center;width:70px;height:70px;background:rgba(0,0,0,.6);border:2px solid rgba(255,255,255,.3);color:#fff;font-weight:700;font-size:28px;border-radius:8px;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0000004d;flex-shrink:0;text-align:center;line-height:1;padding:4px;box-sizing:border-box}.bingo-cell:hover{background:rgba(195,255,121,.7);transform:translateY(-2px);box-shadow:0 4px 12px #0003}.bingo-cell.selected{background:var(--accent-color);border-color:var(--accent-color);text-stroke:var(--stroke-color);text-stroke-width:var(--stroke-width);text-stroke-linejoin:var(--stroke-linejoin);color:#fff;transform:scale(1.5);box-shadow:0 4px 12px #f093fb66}.right-column{display:flex;flex-direction:column;gap:2px;min-height:0;height:100%}.game-info-section{background:var(--card-background);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:20px;flex-shrink:0}.game-info-section h3{margin:0 0 1px;font-size:28px;font-weight:900;color:var(--text-color)}.game-details{display:flex;flex-direction:column;gap:2px}.game-detail{display:flex;align-items:center;padding:2px 0;border-bottom:1px solid rgba(255,255,255,.1)}.game-detail:last-child{border-bottom:none}.game-detail-label{font-weight:100;color:var(--text-color)}.game-detail-value{font-weight:700;color:var(--accent-color)}.prize-amount{font-size:clamp(14px,2vw,20px);font-weight:700;color:#28a745;text-align:center;margin-top:2px;flex-shrink:0}.prize-number{font-size:clamp(28px,8vw,98px);font-weight:900;color:#28a745;text-shadow:12px 12px 4px rgba(0,0,0,.3);display:flex;align-items:center;line-height:1;flex-shrink:0}.prize-display-container{display:flex;align-items:center;gap:8px;position:relative}.prize-edit-btn{background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3);border-radius:4px;padding:4px;cursor:pointer;color:#fff;transition:all .2s ease;position:absolute;right:-30px;top:50%;transform:translateY(-50%)}.prize-edit-btn:hover{background:rgba(255,255,255,.3);border-color:#ffffff80}.prize-edit-container{display:flex;align-items:center;gap:8px}.prize-edit-input{background:rgba(255,255,255,.9);border:2px solid #28a745;border-radius:6px;padding:8px 12px;font-size:clamp(20px,3vw,32px);font-weight:700;color:#333;width:120px;text-align:center}.prize-edit-input:focus{outline:none;border-color:#28a745;box-shadow:0 0 0 3px #28a7454d}.prize-edit-buttons{display:flex;gap:4px}.prize-save-btn,.prize-cancel-btn{background:rgba(255,255,255,.9);border:1px solid rgba(0,0,0,.2);border-radius:4px;padding:6px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.prize-save-btn{color:#28a745}.prize-save-btn:hover{background:#28a745;color:#fff}.prize-cancel-btn{color:#dc3545}.prize-cancel-btn:hover{background:#dc3545;color:#fff}.pattern-display{text-align:center;margin-top:4px;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%}.pattern-layout{display:flex;align-items:center;gap:12px;width:100%;height:100%}.pattern-name-vertical{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:20px;height:100%;padding:8px 4px;background:rgba(255,255,255,.1);border-radius:6px;border:1px solid rgba(255,255,255,.2)}.pattern-name-letter{font-size:clamp(10px,1.2vw,14px);font-weight:700;color:gold;text-shadow:1px 1px 2px rgba(0,0,0,.5);-webkit-text-stroke:.5px rgba(255,255,255,.8);text-stroke:.5px rgba(255,255,255,.8);writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg)}.pattern-name{font-size:clamp(12px,1.5vw,16px);font-weight:600;color:var(--text-color);margin-bottom:8px;text-transform:capitalize;flex-shrink:0}.pattern-graphic{flex:1;display:flex;align-items:center;justify-content:center;max-height:100%;width:100%}.pattern-image,.pattern-graphic img{width:100%;height:auto;border-radius:8px;box-shadow:0 2px 8px #0003}.call-word-section{margin-bottom:12px;padding:8px;background:rgba(255,255,255,.1);border-radius:6px;border:1px solid rgba(255,255,255,.2)}.call-word-display-container{display:flex;align-items:center;justify-content:space-between;gap:8px}.call-word-text{font-size:clamp(16px,2vw,24px);font-weight:700;color:gold;text-shadow:2px 2px 4px rgba(0,0,0,.5);-webkit-text-stroke:1px rgba(255,255,255,.8);text-stroke:1px rgba(255,255,255,.8);flex:1;text-align:center}.call-word-edit-btn{background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3);border-radius:4px;padding:4px;cursor:pointer;color:#fff;transition:all .2s ease;flex-shrink:0}.call-word-edit-btn:hover{background:rgba(255,255,255,.3);border-color:#ffffff80}.call-word-edit-container{display:flex;align-items:center;gap:8px}.call-word-edit-input{background:rgba(255,255,255,.9);border:2px solid #ffd700;border-radius:6px;padding:6px 10px;font-size:clamp(14px,1.5vw,20px);font-weight:600;color:#333;flex:1;text-align:center}.call-word-edit-input:focus{outline:none;border-color:gold;box-shadow:0 0 0 3px #ffd7004d}.call-word-edit-buttons{display:flex;gap:4px;flex-shrink:0}.call-word-save-btn,.call-word-cancel-btn{background:rgba(255,255,255,.9);border:1px solid rgba(0,0,0,.2);border-radius:4px;padding:6px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.call-word-save-btn{color:#28a745}.call-word-save-btn:hover{background:#28a745;color:#fff}.call-word-cancel-btn{color:#dc3545}.call-word-cancel-btn:hover{background:#dc3545;color:#fff}.control-buttons{display:flex;flex-direction:column;gap:12px;flex:1;justify-content:flex-end}.button{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;text-decoration:none;background:var(--button-primary);color:#fff;white-space:nowrap}.button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.button.secondary{background:var(--button-secondary)}.button.success{background:#28a745}.button.danger{background:#dc3545}.button.small{padding:8px 16px;font-size:12px}.button:disabled{opacity:.6;cursor:not-allowed;transform:none}.bottom-controls{display:flex;justify-content:center;align-items:center;padding:12px;background:var(--card-background);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);margin-top:15px;flex-shrink:0}.board-controls-bottom{display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:center}.custom-board-instructions{text-align:center;margin-bottom:20px;padding:16px;background:rgba(255,255,255,.05);border-radius:8px;border:1px solid rgba(255,255,255,.1);flex-shrink:0}.custom-board-instructions p{margin:0;color:var(--text-color);font-style:italic}.custom-board{display:flex;flex-direction:column;gap:6px;flex:1;justify-content:center;align-items:center;width:100%;height:100%}.custom-board-row{display:flex;gap:6px;justify-content:center;width:100%}.custom-cell{display:flex;align-items:center;justify-content:center;width:70px;height:70px;background:rgba(0,0,0,.6);border:2px solid rgba(255,255,255,.3);color:#fff;font-weight:700;font-size:24px;border-radius:8px;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0000004d;flex-shrink:0;text-align:center;line-height:1;padding:4px;box-sizing:border-box}.custom-cell:hover{background:rgba(255,255,255,.2);transform:translateY(-2px);box-shadow:0 4px 12px #0003}.custom-cell.selected{background:var(--accent-color);border-color:var(--accent-color);color:#fff;transform:scale(1.05);box-shadow:0 4px 12px #f093fb66}.custom-cell.editing{background:rgba(255,193,7,.2);border-color:#ffc107}.advertisement-section{background:var(--card-background);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:20px;margin-top:20px;flex-shrink:0}.advertisement-section-full{width:100%;background:var(--card-background);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:20px;margin-top:20px;flex-shrink:0}.bingo-board-container.fullscreen .advertisement-section-full{height:20vh;margin-top:0;padding:10px;border-radius:0;flex-shrink:0}.ad-content-container{width:100%;height:150px;overflow:hidden;border-radius:8px;position:relative}.ad-content,.ad-content img{width:100%;height:100%;object-fit:cover}.ad-content video{width:100%;height:100%;object-fit:cover}.ad-controls{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap}.ad-carousel-overlay{position:absolute;bottom:1px;right:1px;display:flex;flex-direction:column;gap:0px;z-index:10;background:rgba(0,0,0,.1);padding:8px;border-radius:8px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.ad-content-container{position:relative;width:100%;height:100%}.advertisement-section h3{margin:0 0 11px;font-size:5cqb;font-weight:600;color:var(--text-color)}.ad-carousel{position:relative;overflow:hidden;border-radius:8px;height:150px}.ad-image{width:100%;height:150px;object-fit:fill;border-radius:8px}.menu-dropdown{position:absolute;bottom:100%;right:10px;margin-bottom:8px;background:var(--card-background);border-radius:8px;box-shadow:0 4px 15px #0003;border:1px solid rgba(255,255,255,.1);overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;min-width:120px}.menu-dropdown button{display:block;width:100%;padding:12px 16px;background:none;border:none;text-align:left;cursor:pointer;color:var(--text-color);font-size:14px;font-weight:500;transition:background-color .2s ease}.menu-dropdown button:hover{background:rgba(255,255,255,.1)}.button.warning{background:#ffc107;color:#000}.button.warning:hover{background:#e0a800}.bottom-controls{position:relative}@media (max-width: 1200px){.top-section,.bingo-board-content{grid-template-columns:1fr;gap:15px}.board-controls-bottom{gap:8px}.button.small{padding:6px 12px;font-size:11px}}@media (max-width: 768px){.bingo-board-container{padding:10px}.top-section{grid-template-columns:1fr;gap:10px}.game-info-section,.pattern-section{min-width:auto}.bingo-board-content{gap:15px}.bingo-cell,.bingo-letter-cell,.custom-cell{width:60px;height:60px;font-size:20px}.selected-number{flex:1;height:100%}.selected-number .bingo-letter-prefix,.selected-number .number-value{font-size:clamp(20px,3vw,32px)}.selected-number-first{flex:1;height:100%}.selected-number-first .bingo-letter-prefix,.selected-number-first .number-value{font-size:clamp(20px,3vw,32px)}.bingo-board-section,.game-info-section,.advertisement-section{padding:15px}.board-controls-bottom{flex-direction:row;gap:6px}.button.small{padding:6px 10px;font-size:10px}}@media (max-width: 480px){.bingo-cell,.bingo-letter-cell,.custom-cell{width:50px;height:50px;font-size:18px}.selected-number{flex:1;height:100%}.selected-number .bingo-letter-prefix,.selected-number .number-value{font-size:clamp(16px,2.5vw,24px)}.selected-number-first{flex:1;height:100%}.selected-number-first .bingo-letter-prefix,.selected-number-first .number-value{font-size:clamp(16px,2.5vw,24px)}.board-controls-bottom{gap:4px}.button.small{padding:4px 8px;font-size:9px}}.bingo-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.8);display:flex;justify-content:center;align-items:center;z-index:10000;animation:bingoFadeIn .5s ease-in-out,bingoFadeOut 1s ease-out 5s forwards}.bingo-text{font-size:clamp(4rem,15vw,12rem);font-weight:900;text-transform:uppercase;letter-spacing:.2em;text-align:center;animation:bingoAnimation 5s ease-in-out;filter:drop-shadow(0 0 20px rgba(255,255,255,.5))}.bingo-text span{display:inline-block;text-shadow:3px 3px 0 #000,-3px -3px 0 #000,3px -3px 0 #000,-3px 3px 0 #000,6px 6px 0 #000,-6px -6px 0 #000,6px -6px 0 #000,-6px 6px 0 #000}.bingo-text .letter-b{color:red}.bingo-text .letter-i{color:#ff0}.bingo-text .letter-n{color:#0f0}.bingo-text .letter-g{color:orange}.bingo-text .letter-o{color:purple}.bingo-text .letter-exclamation{color:red}@keyframes bingoFadeIn{0%{opacity:0}to{opacity:1}}@keyframes bingoFadeOut{0%{opacity:1}to{opacity:0}}@keyframes bingoAnimation{0%{transform:scale(.5) rotate(-10deg)}20%{transform:scale(1.2) rotate(5deg)}40%{transform:scale(1) rotate(-3deg)}60%{transform:scale(1.1) rotate(2deg)}80%{transform:scale(1) rotate(-1deg)}to{transform:scale(1) rotate(0)}}.bingo-button{background:linear-gradient(45deg,#ff6b6b,#4ecdc4,#45b7d1,#96ceb4,#feca57,#ff9ff3,#54a0ff,#5f27cd);background-size:200% 200%;animation:bingoButtonGlow 2s ease-in-out infinite;font-weight:700;text-shadow:1px 1px 2px rgba(0,0,0,.5);border:2px solid rgba(255,255,255,.3)}.bingo-button:hover{transform:scale(1.05);box-shadow:0 0 20px #ffffff4d}@keyframes bingoButtonGlow{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.custom-board-bingo-button{background:linear-gradient(45deg,#ff6b6b,#4ecdc4,#45b7d1,#96ceb4,#feca57,#ff9ff3,#54a0ff,#5f27cd);background-size:200% 200%;animation:adBingoButtonGlow 2s ease-in-out infinite;font-weight:700;text-shadow:1px 1px 2px rgba(0,0,0,.5);border:2px solid rgba(255,255,255,.3);color:#fff;padding:12px 24px;border-radius:12px;cursor:pointer;font-size:18px;transition:all .3s ease;margin-top:15px;align-self:center}.custom-board-bingo-button:hover{transform:scale(1.05);box-shadow:0 0 20px #ffffff4d}.ad-bingo-button{background:linear-gradient(45deg,#ff6b6b,#4ecdc4,#45b7d1,#96ceb4,#feca57,#ff9ff3,#54a0ff,#5f27cd);background-size:200% 200%;animation:adBingoButtonGlow 2s ease-in-out infinite;font-weight:700;text-shadow:1px 1px 2px rgba(0,0,0,.5);border:2px solid rgba(255,255,255,.3);color:#fff;padding:8px 16px;border-radius:8px;cursor:pointer;font-size:14px;transition:all .3s ease;margin-right:10px}.ad-bingo-button:hover{transform:scale(1.05);box-shadow:0 0 20px #ffffff4d}.ad-bingo-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:9998;animation:adBingoFadeIn .3s ease-in-out,adBingoFadeOut .3s ease-out 2.7s forwards}@keyframes adBingoFadeIn{0%{opacity:0}to{opacity:1}}@keyframes adBingoFadeOut{0%{opacity:1}to{opacity:0}}.ad-bingo-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;gap:8px;z-index:10000;animation:adBingoTextDrop .8s ease-out forwards}.ad-bingo-text span{font-size:clamp(48px,8vw,120px);font-weight:900;text-shadow:3px 3px 6px rgba(0,0,0,.8);animation:adBingoLetterGlow 2s ease-in-out infinite;opacity:0}.ad-letter-b{color:#ff6b6b;animation-delay:.1s}.ad-letter-i{color:#4ecdc4;animation-delay:.2s}.ad-letter-n{color:#45b7d1;animation-delay:.3s}.ad-letter-g{color:#96ceb4;animation-delay:.4s}.ad-letter-o{color:#feca57;animation-delay:.5s}.ad-letter-exclamation{color:#ff9ff3;animation-delay:.6s}@keyframes adBingoTextDrop{0%{transform:translate(-50%,-200%);opacity:0}50%{opacity:1}to{transform:translate(-50%,-50%);opacity:1}}@keyframes adBingoLetterGlow{0%,to{text-shadow:3px 3px 6px rgba(0,0,0,.8),0 0 20px currentColor}50%{text-shadow:3px 3px 6px rgba(0,0,0,.8),0 0 40px currentColor,0 0 60px currentColor}}@keyframes adBingoButtonGlow{0%,to{background-position:0% 50%;box-shadow:0 0 10px #ffffff4d}50%{background-position:100% 50%;box-shadow:0 0 20px #ffffff80}}.game-completion-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:gameCompletionFadeIn .5s ease-out}.game-completion-content{background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(255,255,255,.9));-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:2px solid rgba(255,255,255,.3);border-radius:20px;padding:40px 60px;text-align:center;box-shadow:0 20px 40px #0000004d;animation:gameCompletionContentSlideIn .6s ease-out .2s both}.game-completion-title{font-size:clamp(32px,5vw,48px);font-weight:900;color:#28a745;margin:0 0 16px;text-shadow:2px 2px 4px rgba(0,0,0,.3);-webkit-text-stroke:1px rgba(255,255,255,.8);text-stroke:1px rgba(255,255,255,.8)}.game-completion-message{font-size:clamp(20px,3vw,28px);font-weight:600;color:#333;margin:0;text-shadow:1px 1px 2px rgba(0,0,0,.1)}@keyframes gameCompletionFadeIn{0%{opacity:0}to{opacity:1}}@keyframes gameCompletionContentSlideIn{0%{opacity:0;transform:translateY(30px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.confetti-piece{position:absolute;width:8px;height:8px;border-radius:50%;pointer-events:none;z-index:9999;animation:confettiFall 3s linear forwards}@keyframes confettiFall{0%{transform:translateY(-10px) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}.video-loading{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:-1;text-align:center;color:#fff;background:rgba(0,0,0,.7);padding:20px;border-radius:10px}.loading-spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 10px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.video-error{position:fixed;top:20px;right:20px;z-index:1000;background:rgba(255,0,0,.8);color:#fff;padding:10px 15px;border-radius:5px;font-size:14px}.video-notice{position:fixed;top:20px;left:20px;z-index:1000;background:rgba(0,123,255,.9);color:#fff;padding:15px 20px;border-radius:8px;font-size:14px;max-width:300px;box-shadow:0 4px 12px #0000004d}.custom-pattern-display{display:flex;flex-direction:column;align-items:center;gap:12px}.custom-pattern-grid{display:flex;flex-direction:column;gap:2px;background:rgba(255,255,255,.1);padding:8px;border-radius:8px;border:1px solid rgba(255,255,255,.2)}.custom-pattern-row{display:flex;gap:2px}.custom-pattern-cell{width:20px;height:20px;border:1px solid rgba(255,255,255,.3);border-radius:4px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.05);transition:all .2s ease}.custom-pattern-cell.selected{background:#667eea;border-color:#667eea;color:#fff}.custom-pattern-cell.bingo-header{background:#28a745;border-color:#28a745;color:#fff;font-weight:700;font-size:.8rem}.bingo-letter{font-weight:700;font-size:.9rem}.pattern-dot{width:8px;height:8px;background:white;border-radius:50%}.custom-pattern-name{font-size:.9rem;color:#fffc;text-align:center;font-style:italic}@media (max-width: 768px){.custom-pattern-cell{width:16px;height:16px}.bingo-letter{font-size:.7rem}.pattern-dot{width:6px;height:6px}}@media (max-width: 480px){.custom-pattern-cell{width:14px;height:14px}.bingo-letter{font-size:.6rem}.pattern-dot{width:5px;height:5px}}.header-controls{display:flex;gap:12px;margin-bottom:20px;justify-content:center}.menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:24px;max-width:1400px;margin:0 auto}.game-info{background:rgba(255,255,255,.1);padding:16px;border-radius:8px;margin-bottom:20px}.game-info h3{color:#fff;margin-bottom:8px;font-size:1.2rem}.game-info p{color:#fffc;margin-bottom:4px;font-size:.95rem}.action-buttons{display:flex;gap:12px;flex-wrap:wrap}.action-buttons .button{display:flex;align-items:center;gap:8px;flex:1;min-width:120px;justify-content:center}.prizes-section h3{color:#fff;margin-bottom:16px;font-size:1.1rem}.prizes-list{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.prize-item{background:rgba(255,255,255,.1);border-radius:8px;padding:16px;transition:all .3s ease}.prize-item:hover{background:rgba(255,255,255,.15)}.prize-edit{display:flex;flex-direction:column;gap:12px}.prize-edit .input-field{margin-bottom:0}.prize-actions{display:flex;gap:8px;margin-top:8px}.prize-actions .button{padding:8px 16px;font-size:.9rem}.prize-display{display:flex;justify-content:space-between;align-items:center}.prize-info h4{color:#fff;margin-bottom:4px;font-size:1rem}.prize-info p{color:#ffffffb3;font-size:.9rem;margin-bottom:4px}.prize-value{color:#f093fb;font-weight:600;font-size:.9rem}.add-prize-section{border-top:1px solid rgba(255,255,255,.2);padding-top:20px}.add-prize-section h3{color:#fff;margin-bottom:16px;font-size:1.1rem}.add-prize-section .input-group{display:flex;flex-direction:column;gap:12px}.add-prize-section .button{display:flex;align-items:center;justify-content:center;gap:8px}.graphics-section{display:flex;flex-direction:column;gap:24px}.graphic-upload-section h3{color:#fff;margin-bottom:12px;font-size:1.1rem}.current-image{margin-top:16px;text-align:center}.current-image img{max-width:100%;max-height:200px;border-radius:8px;border:2px solid rgba(255,255,255,.2);margin-bottom:8px}.current-image p{color:#ffffffb3;font-size:.9rem}.user-graphics h3{color:#fff;margin-bottom:16px;font-size:1.1rem}.graphics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px}.graphic-item{position:relative;background:rgba(255,255,255,.1);border-radius:8px;overflow:hidden;transition:all .3s ease}.graphic-item:hover{transform:scale(1.05)}.graphic-item img{width:100%;height:100px;object-fit:cover}.graphic-item .button{position:absolute;top:4px;right:4px;width:24px;height:24px;padding:0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem}.button.small{padding:4px 8px;font-size:.8rem}.preferences-section h3{color:#fff;margin-bottom:20px;font-size:1.1rem}.preference-item{margin-bottom:20px}.checkbox-label{display:flex;align-items:center;gap:12px;color:#fff;cursor:pointer;font-weight:500}.checkbox-label input[type=checkbox]{width:20px;height:20px;accent-color:#667eea}@media (max-width: 768px){.header-controls{flex-direction:column;align-items:center}.menu-grid{grid-template-columns:1fr;gap:16px}.action-buttons{flex-direction:column}.prize-display{flex-direction:column;align-items:flex-start;gap:12px}.prize-actions{align-self:flex-end}.graphics-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.graphic-item img{height:80px}}.App{width:100%;height:100vh;display:flex;flex-direction:column}.page-container{flex:1;display:flex;flex-direction:column;padding:20px;overflow-y:auto}.page-header{text-align:center;margin-bottom:30px}.page-title{font-size:2.5rem;font-weight:700;color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.3);margin-bottom:10px}.page-subtitle{font-size:1.2rem;color:#fffc}.button{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0003}.button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000004d}.button:active{transform:translateY(0)}.button.secondary{background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%)}.button.danger{background:linear-gradient(135deg,#ff6b6b 0%,#ee5a24 100%)}.card{background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:24px;margin-bottom:20px;border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #0000001a}.input-group{margin-bottom:20px}.input-label{display:block;margin-bottom:8px;font-weight:600;color:#fff}.input-field{width:100%;padding:12px;border:2px solid rgba(255,255,255,.3);border-radius:8px;background:rgba(255,255,255,.1);color:#fff;font-size:1rem;transition:border-color .3s ease}.input-field:focus{outline:none;border-color:#667eea;background:rgba(255,255,255,.2)}.input-field::placeholder{color:#fff9}.grid{display:grid;gap:20px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.report-button{position:fixed;bottom:20px;right:20px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;border-radius:50px;padding:12px 20px;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;box-shadow:0 4px 15px #667eea66;transition:all .3s ease;z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.report-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea99;background:linear-gradient(135deg,#5a6fd8 0%,#6a4190 100%)}.report-button:active{transform:translateY(0)}.report-text{white-space:nowrap}.report-modal{background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:16px;padding:0;max-width:500px;width:90vw;max-height:80vh;overflow-y:auto;border:1px solid rgba(255,255,255,.2);box-shadow:0 20px 40px #0000001a}.report-modal .modal-header{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;padding:20px 24px;border-radius:16px 16px 0 0;display:flex;justify-content:space-between;align-items:center}.report-modal .modal-header h3{margin:0;font-size:18px;font-weight:600}.report-modal .modal-content{padding:24px}.report-modal .input-group{margin-bottom:20px}.report-modal .input-label{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-weight:500;color:#333;font-size:14px}.report-modal .input-field,.report-modal .textarea-field{width:100%;padding:12px 16px;border:2px solid #e1e5e9;border-radius:8px;font-size:14px;transition:all .3s ease;background:white;color:#333}.report-modal .input-field:focus,.report-modal .textarea-field:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.report-modal .textarea-field{resize:vertical;min-height:120px;font-family:inherit}.report-modal .success-message{background:#d4edda;color:#155724;padding:12px 16px;border-radius:8px;margin-bottom:16px;border:1px solid #c3e6cb;font-size:14px}.report-modal .error-message{background:#f8d7da;color:#721c24;padding:12px 16px;border-radius:8px;margin-bottom:16px;border:1px solid #f5c6cb;font-size:14px}.report-modal .modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.report-modal .button{display:flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease}.report-modal .button:not(:disabled):hover{transform:translateY(-1px)}.report-modal .button.secondary{background:#6c757d;color:#fff}.report-modal .button.secondary:hover{background:#5a6268}.report-modal .button:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (max-width: 768px){.page-container{padding:15px}.page-title{font-size:2rem}.grid-2,.grid-3{grid-template-columns:1fr}.report-button{bottom:15px;right:15px;padding:10px 16px;font-size:13px}.report-text{display:none}.report-modal{width:95vw;max-height:85vh}.report-modal .modal-content{padding:20px}.report-modal .modal-actions{flex-direction:column}.report-modal .button{width:100%;justify-content:center}}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}#root{width:100%;height:100vh;display:flex;flex-direction:column}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}body{background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%)}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}::-webkit-scrollbar-thumb{background:#888;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}
