@import url(https://fonts.googleapis.com/css2?family=Fredoka:wght@400;700&family=Playfair+Display:wght@400;700;900&family=Inter:wght@300;400;600&family=Orbitron:wght@400;700;900&family=Quicksand:wght@300;400;600;700&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}.bingo-container{min-height:100vh;padding:40px 20px;transition:all .5s ease}.container{margin:0 auto;max-width:1400px}.theme-switcher{display:flex;flex-wrap:wrap;gap:10px;max-width:300px;position:fixed;right:20px;top:20px;z-index:1000}.theme-btn{border:3px solid #ffffff4d;border-radius:50%;cursor:pointer;height:50px;transition:all .3s ease;width:50px}.theme-btn:hover{box-shadow:0 4px 15px #0000004d;transform:scale(1.1)}.theme-btn.active{border-color:#fff;box-shadow:0 0 20px #ffffff80;transform:scale(1.15)}.theme-btn.retro{background:linear-gradient(135deg,#667eea,#764ba2)}.theme-btn.minimal{background:#000}.theme-btn.cyber{background:linear-gradient(135deg,#00f0ff,#ff006e)}.theme-btn.pastel{background:linear-gradient(135deg,#ff9a9e,#fad0c4)}.theme-btn.dark{background:linear-gradient(135deg,#e94560,#533483)}.title-section{animation:fadeInDown .8s ease-out;margin-bottom:60px;text-align:center}h1{font-size:72px;font-weight:700;letter-spacing:2px;margin:0 0 20px}.subtitle,h1{transition:all .5s ease}.subtitle{font-size:16px;opacity:.8}.author-credit{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;bottom:20px;font-size:18px;font-weight:500;opacity:.8;padding:8px 16px;position:fixed;right:20px;transition:all .3s ease;z-index:1000}.author-credit:hover{opacity:1;transform:scale(1.05)}.game-screen,.setup-screen{animation:fadeIn .8s ease-out}.setup-card{border-radius:24px;box-shadow:0 20px 60px #0000004d;margin:0 auto;max-width:800px;padding:48px;transition:all .5s ease}.section-title{font-size:32px;margin-bottom:32px;text-align:center;transition:all .5s ease}.round-label{font-size:20px;font-weight:700;letter-spacing:2px;margin-bottom:14px;opacity:.6;text-align:center}.server-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr);margin-bottom:40px}.server-button{border:4px solid;border-radius:16px;cursor:pointer;font-family:inherit;font-size:22px;font-weight:700;padding:20px;transition:all .3s ease}.server-button:hover{transform:scale(1.05)}.server-button.selected{transform:scale(1.08)}.player-name-input{border:4px solid;border-radius:16px;font-family:inherit;font-size:22px;font-weight:600;margin-bottom:40px;outline:none;padding:16px 20px;text-align:center;transition:all .3s ease;width:100%}.player-name-input:focus{transform:scale(1.01)}.size-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(5,1fr);margin-bottom:32px}.size-button{border:4px solid;border-radius:12px;cursor:pointer;font-family:inherit;font-size:18px;font-weight:700;padding:16px;transition:all .3s ease}.size-button:hover{transform:scale(1.05)}.size-button.selected{transform:scale(1.08)}.start-button{border:none;border-radius:16px;cursor:pointer;font-family:inherit;font-size:28px;font-weight:700;padding:20px;transition:all .3s ease;width:100%}.start-button:hover{box-shadow:0 8px 20px #0000004d;transform:translateY(-2px)}.dual-board-container{grid-gap:40px;display:grid;gap:40px;grid-template-columns:1fr 1fr;margin-bottom:40px}.board-header,.board-section{display:flex;flex-direction:column}.board-header{align-items:center;gap:12px;margin-bottom:20px}.board-title{font-size:24px}.board-title,.player-info{font-weight:700;transition:all .5s ease}.player-info{align-items:center;border:2px solid;border-radius:12px;display:flex;font-size:28px;gap:8px;justify-content:center;padding:8px 20px;width:100%}.player-info-round{font-weight:700;letter-spacing:1px;opacity:.6}.player-info-divider{opacity:.35}.lines-display{align-items:center;border:2px solid;border-radius:12px;display:flex;font-size:28px;font-weight:700;gap:8px;justify-content:center;padding:8px 20px;transition:all .5s ease;width:100%}.board-wrapper{border-radius:16px;padding:16px;position:relative;transition:all .5s ease}.bingo-board{grid-gap:8px;display:grid;gap:8px}.bingo-cell{align-items:center;aspect-ratio:1;border:2px solid;border-radius:8px;cursor:pointer;display:flex;font-family:inherit;font-weight:700;justify-content:center;transition:all .15s ease}.bingo-cell:hover{transform:scale(1.05)}.line-canvas{border-radius:16px;height:100%;left:0;padding:16px;pointer-events:none;position:absolute;top:0;width:100%}.button-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin:0 auto;max-width:800px}.action-button{border:none;border-radius:16px;cursor:pointer;font-family:inherit;font-size:24px;font-weight:700;padding:20px;transition:all .3s ease}.action-button:hover{transform:translateY(-2px)}.history-toggle-btn{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:none;border-radius:20px;box-shadow:0 4px 12px #0003;color:#333;cursor:pointer;display:flex;font-family:inherit;font-size:16px;font-weight:700;gap:6px;padding:10px 18px;position:fixed;right:20px;top:80px;transition:all .3s ease;z-index:1000}.history-toggle-btn:hover{transform:scale(1.05)}.history-badge{background:#e94560;border-radius:10px;color:#fff;font-size:12px;font-weight:700;min-width:20px;padding:2px 7px;text-align:center}.history-panel{animation:slideIn .3s ease;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff7;border-radius:20px;box-shadow:0 12px 40px #00000040;display:flex;flex-direction:column;max-height:70vh;overflow:hidden;position:fixed;right:20px;top:130px;width:340px;z-index:999}.history-header{align-items:center;border-bottom:1px solid #eee;color:#333;display:flex;flex-shrink:0;font-size:16px;font-weight:700;justify-content:space-between;padding:16px 20px}.history-clear-btn,.history-close-btn{background:#0000;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:700;padding:4px 10px;transition:background .2s}.history-close-btn{color:#999}.history-close-btn:hover{background:#f0f0f0;color:#333}.history-clear-btn{color:#e94560}.history-clear-btn:hover{background:#ffe0e5}.history-empty{color:#aaa;font-size:15px;padding:32px 20px;text-align:center}.history-list{flex:1 1;overflow-y:auto;padding:8px 0}.history-item{align-items:flex-start;border-bottom:1px solid #f5f5f5;display:flex;gap:12px;padding:12px 20px;transition:background .2s}.history-item:hover{background:#fafafa}.history-item:last-child{border-bottom:none}.history-item-rank{color:#aaa;font-size:13px;font-weight:700;min-width:26px;padding-top:2px}.history-item-body{flex:1 1}.history-item-title{color:#333;font-size:15px;font-weight:700;margin-bottom:4px}.history-item-detail{color:#666;font-size:13px;margin-bottom:3px}.history-item-detail strong{color:#e94560}.history-item-date{color:#bbb;font-size:11px}.history-item-actions{align-items:center;display:flex;flex-direction:column;flex-shrink:0;gap:6px}.history-restore-btn{background:#0000;border:2px solid #667eea;border-radius:10px;color:#667eea;cursor:pointer;flex-shrink:0;font-family:inherit;font-size:13px;font-weight:700;padding:6px 12px;transition:all .2s ease;white-space:nowrap}.history-restore-btn:hover{background:#667eea;color:#fff;transform:scale(1.05)}.history-delete-btn{background:#0000;border:2px solid #e94560;border-radius:8px;cursor:pointer;flex-shrink:0;font-size:14px;padding:5px 10px;transition:all .2s ease}.history-delete-btn:hover{background:#ffe0e5;transform:scale(1.1)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes slideIn{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}.theme-retro{background:linear-gradient(135deg,#667eea,#764ba2);font-family:Fredoka,Comic Sans MS,cursive}.theme-retro h1{color:#fff;text-shadow:4px 4px 0 #0003}.theme-retro .subtitle{color:#fff}.theme-retro .setup-card{background:#fff}.theme-retro .section-title{color:#667eea}.theme-retro .server-button{background:#fff;border-color:#e0e0e0;color:#333}.theme-retro .server-button.selected{background:#667eea;border-color:#667eea;color:#fff}.theme-retro .player-name-input{background:#fff;border-color:#e0e0e0;color:#333}.theme-retro .player-name-input::placeholder{color:#aaa}.theme-retro .size-button{background:#fff;border-color:#e0e0e0;color:#333}.theme-retro .size-button.selected{background:#667eea;border-color:#667eea;color:#fff}.theme-retro .start-button{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.theme-retro .board-wrapper{background:#fff}.theme-retro .board-title{color:#667eea}.theme-retro .lines-display{background:#ffffffe6;border-color:#e0e0e0;color:#667eea}.theme-retro .lines-display.has-lines{color:#667eea}.theme-retro .bingo-cell{background:#fff;border-color:#e0e0e0;color:#333}.theme-retro .bingo-cell.selected{background:linear-gradient(135deg,#f093fb,#f5576c);border-color:#f5576c;color:#fff}.theme-retro .reset-button{background:#fff;color:#667eea}.theme-retro .shuffle-button{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.theme-retro .author-credit,.theme-retro .player-info{background:#ffffffe6;box-shadow:0 4px 12px #00000026;color:#667eea}.theme-retro .player-info{border-color:#e0e0e0}.theme-minimal{background:#fafafa;font-family:Inter,sans-serif}.theme-minimal h1{color:#000;font-family:Playfair Display,serif;font-size:96px;letter-spacing:-2px}.theme-minimal .subtitle{color:#666;font-size:14px;letter-spacing:4px;text-transform:uppercase}.theme-minimal .setup-card{background:#fff}.theme-minimal .section-title{color:#000;font-family:Playfair Display,serif}.theme-minimal .server-button{background:#fff;border-color:#e0e0e0;color:#666}.theme-minimal .server-button.selected{background:#000;border-color:#000;color:#fff}.theme-minimal .player-name-input{background:#fff;border-color:#e0e0e0;color:#000}.theme-minimal .player-name-input::placeholder{color:#999}.theme-minimal .size-button{background:#fff;border-color:#e0e0e0;color:#666}.theme-minimal .size-button.selected{background:#000;border-color:#000;color:#fff}.theme-minimal .start-button{background:#000;color:#fff;font-size:14px;letter-spacing:2px;text-transform:uppercase}.theme-minimal .board-wrapper{background:#fff;border:1px solid #e0e0e0}.theme-minimal .board-title{color:#666;font-size:14px;letter-spacing:2px;text-transform:uppercase}.theme-minimal .lines-display{background:#0000000f;border-color:#e0e0e0;color:#333;font-family:Playfair Display,serif}.theme-minimal .lines-display.has-lines{color:red}.theme-minimal .bingo-cell{background:#fff;border-color:#e0e0e0;color:#000;font-family:Playfair Display,serif}.theme-minimal .bingo-cell.selected{background:#000;border-color:#000;color:#fff}.theme-minimal .reset-button{background:#fff;border:2px solid #000;color:#000}.theme-minimal .shuffle-button{background:#000;border:2px solid #000;color:#fff}.theme-minimal .author-credit{background:#fffffff2;border:1px solid #e0e0e0;box-shadow:0 2px 8px #0000001a;color:#000}.theme-minimal .player-info{background:#0000000f;border:1px solid #e0e0e0;color:#333}.theme-cyber{background:linear-gradient(135deg,#0f0c29,#302b63 50%,#24243e);font-family:Orbitron,sans-serif}.theme-cyber h1{color:#00f0ff;text-shadow:0 0 20px #00f0ff}.theme-cyber .subtitle{color:#ff006e;font-size:12px;letter-spacing:6px;text-transform:uppercase}.theme-cyber .setup-card{background:#00000080;border:1px solid #00f0ff;box-shadow:0 0 30px #00f0ff33}.theme-cyber .section-title{color:#00f0ff;text-shadow:0 0 10px #00f0ff}.theme-cyber .server-button{background:#0000;border-color:#00f0ff;color:#00f0ff}.theme-cyber .server-button.selected{background:#00f0ff;border-color:#00f0ff;color:#000}.theme-cyber .player-name-input{background:#0000;border-color:#00f0ff;color:#00f0ff}.theme-cyber .player-name-input::placeholder{color:#00f0ff66}.theme-cyber .size-button{background:#0000;border-color:#ff006e;color:#ff006e}.theme-cyber .size-button.selected{background:#ff006e;border-color:#ff006e;color:#fff}.theme-cyber .start-button{background:linear-gradient(135deg,#ff006e,#00f0ff);color:#fff}.theme-cyber .board-wrapper{background:#00000080;border:1px solid #00f0ff}.theme-cyber .board-title{color:#00f0ff;text-shadow:0 0 10px #00f0ff}.theme-cyber .lines-display{background:#00000080;border-color:#00f0ff;color:#00f0ff80}.theme-cyber .lines-display.has-lines{color:#0f0}.theme-cyber .bingo-cell{background:#00000080;border-color:#00f0ff;color:#00f0ff}.theme-cyber .bingo-cell.selected{background:#ff006e;border-color:#ff006e;box-shadow:0 0 10px #ff006e;color:#fff}.theme-cyber .reset-button{background:#0000;border:2px solid #00f0ff;color:#00f0ff}.theme-cyber .shuffle-button{background:linear-gradient(135deg,#ff006e,#00f0ff);color:#fff}.theme-cyber .author-credit{background:#000000b3;border:1px solid #00f0ff;color:#00f0ff}.theme-cyber .player-info{background:#00000080;border-color:#00f0ff;color:#00f0ff}.theme-pastel{background:linear-gradient(135deg,#ffecd2,#fcb69f);font-family:Quicksand,sans-serif}.theme-pastel .subtitle,.theme-pastel h1{color:#5a5a5a}.theme-pastel .setup-card{background:#fff}.theme-pastel .section-title{color:#ff9a9e}.theme-pastel .server-button{background:#fff;border-color:#ffd6d6;color:#5a5a5a}.theme-pastel .server-button.selected{background:linear-gradient(135deg,#ff9a9e,#fad0c4);border-color:#ff9a9e;color:#fff}.theme-pastel .player-name-input{background:#fff;border-color:#ffd6d6;color:#5a5a5a}.theme-pastel .player-name-input::placeholder{color:#ccc}.theme-pastel .size-button{background:#fff;border-color:#ffd6d6;color:#5a5a5a}.theme-pastel .size-button.selected{border-color:#ff9a9e}.theme-pastel .size-button.selected,.theme-pastel .start-button{background:linear-gradient(135deg,#ff9a9e,#fad0c4);color:#fff}.theme-pastel .board-wrapper{background:#fff}.theme-pastel .board-title{color:#ff9a9e}.theme-pastel .lines-display{background:#ffffffe6;border-color:#ffd6d6;color:#ff9a9e}.theme-pastel .lines-display.has-lines{color:#8a26e2}.theme-pastel .bingo-cell{background:#fff;border-color:#ffd6d6;color:#5a5a5a}.theme-pastel .bingo-cell.selected{background:linear-gradient(135deg,#ff9a9e,#fad0c4);border-color:#ff9a9e;color:#fff}.theme-pastel .reset-button{background:#fff;color:#ff9a9e}.theme-pastel .shuffle-button{background:linear-gradient(135deg,#ff9a9e,#fad0c4);color:#fff}.theme-pastel .author-credit{background:#ffffffe6;box-shadow:0 4px 12px #0000001a;color:#5a5a5a}.theme-pastel .player-info{background:#ffffffe6;border-color:#ffd6d6;box-shadow:0 4px 12px #0000001a;color:#ff9a9e}.theme-dark{background:linear-gradient(135deg,#1a1a2e,#16213e);font-family:Inter,sans-serif}.theme-dark h1{color:#fff;text-shadow:0 0 20px #e94560}.theme-dark .subtitle{color:#fff}.theme-dark .setup-card{background:#0f3460;border:2px solid #533483}.theme-dark .section-title{color:#e94560}.theme-dark .server-button{background:#0000;border-color:#533483;color:#fff}.theme-dark .server-button.selected{background:#e94560;border-color:#e94560;color:#fff}.theme-dark .player-name-input{background:#16213e;border-color:#533483;color:#fff}.theme-dark .player-name-input::placeholder{color:#ffffff4d}.theme-dark .size-button{background:#0000;border-color:#533483;color:#fff}.theme-dark .size-button.selected{background:#e94560;border-color:#e94560;color:#fff}.theme-dark .start-button{background:linear-gradient(135deg,#e94560,#533483);color:#fff}.theme-dark .board-wrapper{background:#0f3460;border:2px solid #533483}.theme-dark .board-title{color:#e94560}.theme-dark .lines-display{background:#0f3460e6;border-color:#533483;color:#00d9ff66}.theme-dark .lines-display.has-lines{color:#00d9ff;text-shadow:0 0 10px #00d9ff}.theme-dark .bingo-cell{background:#16213e;border-color:#533483;color:#fff}.theme-dark .bingo-cell.selected{background:#e94560;border-color:#e94560;color:#fff}.theme-dark .reset-button{background:#0000;border:2px solid #e94560;color:#e94560}.theme-dark .shuffle-button{background:#e94560;color:#fff}.theme-dark .author-credit{background:#0f3460e6;border:1px solid #533483;color:#e94560}.theme-dark .player-info{background:#0f3460e6;border:1px solid #533483;color:#00d9ff}.theme-retro .round-badge{background:#ffffffe6;border-color:#e0e0e0;color:#667eea}.theme-minimal .round-badge{background:#0000000f;border-color:#e0e0e0;color:#333}.theme-cyber .round-badge{background:#00000080;border-color:#00f0ff;color:#00f0ff}.theme-pastel .round-badge{background:#ffffffe6;border-color:#ffd6d6;color:#ff9a9e}.theme-dark .round-badge{background:#0f3460e6;border-color:#533483;color:#00d9ff}.round-badge{border:2px solid;border-radius:12px;font-size:18px;font-weight:700;opacity:.75;padding:8px 16px;transition:all .5s ease;white-space:nowrap}.board-header{justify-content:flex-end;min-height:120px}@media (max-width:1024px){h1{font-size:52px}.dual-board-container{gap:24px;grid-template-columns:1fr}.board-header{min-height:auto}.lines-display{font-size:36px}.player-info{font-size:22px}.history-panel{width:300px}}@media (max-width:640px){.bingo-container{padding:20px 12px}h1{font-size:36px;margin-bottom:12px}.subtitle{font-size:13px}.title-section{margin-bottom:32px}.setup-card{padding:24px 16px}.section-title{font-size:22px;margin-bottom:20px}.server-grid{gap:10px}.server-button{font-size:18px;padding:14px}.player-name-input{font-size:18px;margin-bottom:24px;padding:12px 14px}.size-grid{gap:8px;grid-template-columns:repeat(5,1fr)}.size-button{font-size:14px;padding:10px 4px}.start-button{font-size:20px;padding:16px}.dual-board-container{gap:16px}.board-title{font-size:18px}.player-info{font-size:16px;padding:6px 12px}.player-info-round{font-size:14px}.lines-display{font-size:28px;padding:6px 12px}.board-wrapper{padding:10px}.bingo-board{gap:5px}.button-container{gap:12px}.action-button{font-size:18px;padding:14px}.theme-switcher{gap:6px;right:10px;top:10px}.theme-btn{height:36px;width:36px}.history-toggle-btn{font-size:13px;padding:8px 12px;right:10px;top:60px}.history-panel{left:10px;max-height:65vh;right:10px;top:100px;width:auto}.author-credit{bottom:10px;font-size:13px;padding:6px 12px;right:10px}}@media (max-width:380px){h1{font-size:28px}.size-grid{gap:4px;grid-template-columns:repeat(5,1fr)}.size-button{font-size:12px;padding:8px 2px}.server-button{font-size:16px;padding:12px}.bingo-board{gap:3px}}
/*# sourceMappingURL=main.e2285ec7.css.map*/