@import"https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&family=Noto+Sans+TC:wght@300;400;500;700;900&display=swap";@import"https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&family=Noto+Sans+TC:wght@300;400;500;700&display=swap";[data-v-8d278284]:root{--primary-color: #6366f1;--primary-dark: #4f46e5;--primary-light: #a5b4fc;--accent-color: #f43f5e;--accent-dark: #e11d48;--success-color: #10b981;--warning-color: #f59e0b;--info-color: #3b82f6;--card-border-radius: 16px;--input-border-radius: 10px;--button-border-radius: 10px}.admin-dashboard[data-v-8d278284]{font-family:Poppins,Noto Sans TC,sans-serif;min-height:100vh;padding:20px;background:linear-gradient(135deg,#0f172a,#1e293b);color:#e2e8f0;overflow-x:hidden}.dashboard-container[data-v-8d278284]{max-width:1600px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.top-section[data-v-8d278284]{background:#ffffff0d;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-radius:var(--card-border-radius);border:1px solid rgba(255,255,255,.1);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 10px 30px #0000001a}.dashboard-header[data-v-8d278284]{padding:20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.1)}.header-left[data-v-8d278284]{display:flex;align-items:center;gap:15px}.logo-badge[data-v-8d278284]{width:40px;height:40px;background:linear-gradient(45deg,var(--primary-color),var(--primary-dark));color:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.4rem;box-shadow:0 5px 15px #6366f166}.dashboard-header h1[data-v-8d278284]{margin:0;font-size:1.6rem;font-weight:700;background:linear-gradient(45deg,#fff,#a5b4fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.header-right[data-v-8d278284]{display:flex;align-items:center;gap:15px}.status-badge[data-v-8d278284]{display:flex;align-items:center;gap:8px;background:#3b82f626;color:#93c5fd;padding:8px 15px;border-radius:50px;font-size:.9rem;font-weight:500}.player-stats[data-v-8d278284]{display:flex;align-items:center;gap:8px;background:#10b98126;color:#6ee7b7;padding:8px 15px;border-radius:50px;font-size:.9rem;font-weight:500}.control-panel[data-v-8d278284]{padding:20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.draw-controls[data-v-8d278284]{display:flex;align-items:center;gap:20px;flex:1}.number-selector[data-v-8d278284]{display:flex;align-items:center;gap:10px}.number-selector label[data-v-8d278284]{font-size:.95rem;font-weight:500;color:#e2e8f0}.input-wrapper[data-v-8d278284]{position:relative}.number-input[data-v-8d278284]{width:120px;height:42px;background:#ffffff12;border:1px solid rgba(255,255,255,.2);border-radius:var(--input-border-radius);color:#fff;font-size:1rem;padding:0 15px;transition:all .3s}.number-input[data-v-8d278284]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f133}.action-buttons[data-v-8d278284]{display:flex;gap:15px}.control-button[data-v-8d278284]{height:42px;padding:0 20px;border:none;border-radius:var(--button-border-radius);font-size:.95rem;font-weight:600;display:flex;align-items:center;gap:8px;cursor:pointer;transition:all .3s;box-shadow:0 4px 10px #0003;white-space:nowrap}.control-button[data-v-8d278284]:disabled{opacity:.5;cursor:not-allowed}.draw-button[data-v-8d278284]{background:linear-gradient(45deg,var(--primary-color),var(--primary-dark));color:#fff}.draw-button[data-v-8d278284]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 15px #6366f166}.lock-button[data-v-8d278284]{background:linear-gradient(45deg,var(--warning-color),#fd9429);color:#fff}.lock-button[data-v-8d278284]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 15px #f59e0b66}.error-display[data-v-8d278284]{display:flex;align-items:center;gap:8px;background:#f43f5e26;color:#fda4af;padding:8px 15px;border-radius:50px;font-size:.9rem;max-width:400px;animation:shake-8d278284 .5s cubic-bezier(.36,.07,.19,.97) both}@keyframes shake-8d278284{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}.dashboard-content[data-v-8d278284]{display:grid;grid-template-columns:1fr 1fr;gap:20px}.content-card[data-v-8d278284]{background:#ffffff0d;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-radius:var(--card-border-radius);border:1px solid rgba(255,255,255,.1);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 10px 30px #0000001a;height:fit-content}.card-header[data-v-8d278284]{padding:15px 20px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center}.card-header h2[data-v-8d278284]{margin:0;font-size:1.2rem;font-weight:600;color:#fff}.card-content[data-v-8d278284]{padding:20px;flex:1}.left-panel[data-v-8d278284]{display:flex;flex-direction:column;gap:20px}.progress-badge[data-v-8d278284]{display:flex;align-items:center;justify-content:center;background:#6366f133;color:#a5b4fc;border-radius:50px;padding:5px 12px;font-size:.85rem;font-weight:600}.progress-badge span[data-v-8d278284]{color:#fff;font-size:1rem}.number-grid[data-v-8d278284]{display:grid;grid-template-columns:repeat(9,1fr);gap:10px}.number-box[data-v-8d278284]{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:#ffffff12;border-radius:8px;font-size:1rem;font-weight:600;color:#ffffffb3;transition:all .3s;position:relative;overflow:hidden}.number-box.drawn[data-v-8d278284]{background:linear-gradient(45deg,var(--primary-color),var(--primary-dark));color:#fff;box-shadow:0 4px 10px #6366f14d;transform:scale(1.05);z-index:1}.number-box.latest[data-v-8d278284]{background:linear-gradient(45deg,var(--accent-color),var(--accent-dark));color:#fff;box-shadow:0 4px 10px #f43f5e4d;transform:scale(1.1);z-index:2;animation:pulse-8d278284 2s infinite}@keyframes pulse-8d278284{0%{box-shadow:0 0 #f43f5e99}70%{box-shadow:0 0 0 10px #f43f5e00}to{box-shadow:0 0 #f43f5e00}}.recent-numbers[data-v-8d278284]{margin-top:25px}.recent-numbers h3[data-v-8d278284]{font-size:1.05rem;font-weight:600;color:#fff;margin:0 0 15px}.empty-state[data-v-8d278284]{display:flex;align-items:center;justify-content:center;gap:10px;color:#ffffff80;padding:20px;font-size:.95rem;background:#ffffff0d;border-radius:10px}.empty-state.centered[data-v-8d278284]{height:200px}.number-balls[data-v-8d278284]{display:flex;gap:12px;flex-wrap:wrap}.number-ball[data-v-8d278284]{width:50px;height:50px;border-radius:50%;background:#ffffff1a;display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:700;color:#fff;position:relative}.latest-ball[data-v-8d278284]{background:linear-gradient(45deg,var(--accent-color),var(--accent-dark));box-shadow:0 5px 15px #f43f5e4d;transform:scale(1.1)}.latest-indicator[data-v-8d278284]{position:absolute;bottom:-8px;font-size:.7rem;font-weight:600;background:#f43f5ee6;padding:2px 8px;border-radius:10px;color:#fff}.refresh-button[data-v-8d278284]{width:32px;height:32px;border-radius:50%;background:#ffffff1a;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s}.refresh-button[data-v-8d278284]:hover{background:#fff3;transform:rotate(30deg)}.stats-tabs[data-v-8d278284],.players-tabs[data-v-8d278284]{display:flex;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:20px}.tab-button[data-v-8d278284]{padding:10px 20px;background:none;border:none;color:#fff9;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .3s;position:relative}.tab-button[data-v-8d278284]:after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:var(--primary-color);transform:scaleX(0);transition:transform .3s}.tab-button.active[data-v-8d278284]{color:#fff}.tab-button.active[data-v-8d278284]:after{transform:scaleX(1)}.line-stats-list[data-v-8d278284]{display:flex;flex-direction:column;gap:15px;max-height:400px;overflow-y:auto;padding-right:10px}.line-stats-list[data-v-8d278284]::-webkit-scrollbar{width:6px}.line-stats-list[data-v-8d278284]::-webkit-scrollbar-track{background:#ffffff0d;border-radius:10px}.line-stats-list[data-v-8d278284]::-webkit-scrollbar-thumb{background:#fff3;border-radius:10px}.line-item[data-v-8d278284]{display:flex;gap:15px;padding:12px 15px;background:#ffffff0d;border-radius:10px;transition:all .3s}.line-item.has-players[data-v-8d278284]{background:#6366f11a;border:1px solid rgba(99,102,241,.2)}.line-indicator[data-v-8d278284]{display:flex;flex-direction:column;align-items:center;min-width:50px}.line-number[data-v-8d278284]{width:30px;height:30px;background:var(--primary-color);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.95rem}.line-label[data-v-8d278284]{font-size:.8rem;margin-top:5px;color:#fff9}.line-players[data-v-8d278284]{flex:1;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.player-badge[data-v-8d278284]{background:#6366f133;color:#a5b4fc;border-radius:20px;padding:5px 12px;font-size:.85rem;font-weight:500}.no-players[data-v-8d278284]{color:#fff6;font-size:.9rem;font-style:italic}.progress-stats[data-v-8d278284]{display:flex;flex-direction:column;gap:25px}.progress-chart[data-v-8d278284]{padding:20px;background:#ffffff0d;border-radius:12px}.chart-header[data-v-8d278284]{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.chart-title[data-v-8d278284]{font-size:1rem;font-weight:600;color:#fffc}.chart-value[data-v-8d278284]{font-size:1.2rem;font-weight:700;color:#a5b4fc}.progress-bar[data-v-8d278284]{height:12px;background:#ffffff1a;border-radius:6px;overflow:hidden;margin-bottom:10px}.progress-fill[data-v-8d278284]{height:100%;background:linear-gradient(45deg,var(--primary-color),var(--primary-dark));border-radius:6px;transition:width .5s ease-out}.chart-labels[data-v-8d278284]{display:flex;justify-content:space-between;font-size:.8rem;color:#ffffff80}.stats-summary[data-v-8d278284]{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.stat-box[data-v-8d278284]{background:#ffffff0d;border-radius:12px;padding:15px;text-align:center;transition:all .3s}.stat-box[data-v-8d278284]:hover{background:#ffffff1a;transform:translateY(-3px)}.stat-value[data-v-8d278284]{font-size:1.8rem;font-weight:700;color:#fff;margin-bottom:5px}.stat-label[data-v-8d278284]{font-size:.85rem;color:#fff9}.right-panel[data-v-8d278284]{display:flex;flex-direction:column;gap:20px}.search-container[data-v-8d278284]{position:relative;display:flex;align-items:center;gap:8px;background:#ffffff1a;border-radius:10px;padding:5px 12px}.search-input[data-v-8d278284]{background:none;border:none;color:#fff;padding:5px;font-size:.95rem;width:180px;outline:none}.search-input[data-v-8d278284]::placeholder{color:#ffffff80}.players-list-wrapper[data-v-8d278284]{position:relative;min-height:200px}.players-list[data-v-8d278284]{position:absolute;top:0;left:0;right:0;opacity:1;transition:opacity .3s}.players-table[data-v-8d278284]{width:100%;border-collapse:collapse;text-align:left}.players-table th[data-v-8d278284]{padding:12px 15px;font-size:.9rem;font-weight:600;color:#ffffffb3;border-bottom:1px solid rgba(255,255,255,.1)}.players-table td[data-v-8d278284]{padding:12px 15px;font-size:.95rem;border-bottom:1px solid rgba(255,255,255,.05)}.players-table tr:hover td[data-v-8d278284]{background:#ffffff0d}.index-cell[data-v-8d278284]{color:#ffffff80;font-weight:500;text-align:center}.id-cell[data-v-8d278284]{font-family:Courier New,monospace;color:#a5b4fc}.line-count-cell[data-v-8d278284]{font-weight:700;color:#a5b4fc;text-align:center}.rank-badge[data-v-8d278284]{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;margin:0 auto}.rank-1[data-v-8d278284]{background:linear-gradient(45deg,gold,#ffb700);color:#7a4100;box-shadow:0 2px 5px #ffd70066}.rank-2[data-v-8d278284]{background:linear-gradient(45deg,silver,#e0e0e0);color:#505050;box-shadow:0 2px 5px #c0c0c066}.rank-3[data-v-8d278284]{background:linear-gradient(45deg,#cd7f32,#e29c45);color:#6d3200;box-shadow:0 2px 5px #cd7f3266}.pulse-animation[data-v-8d278284]{animation:pulse-button-8d278284 2s infinite}@keyframes pulse-button-8d278284{0%{box-shadow:0 0 #6366f199}70%{box-shadow:0 0 0 10px #6366f100}to{box-shadow:0 0 #6366f100}}@media (max-width: 1200px){.dashboard-content[data-v-8d278284]{grid-template-columns:1fr}.left-panel[data-v-8d278284],.right-panel[data-v-8d278284]{gap:20px}.number-grid[data-v-8d278284]{grid-template-columns:repeat(6,1fr)}}@media (max-width: 768px){.dashboard-header[data-v-8d278284]{flex-direction:column;align-items:flex-start;gap:15px}.header-right[data-v-8d278284]{width:100%;justify-content:space-between}.control-panel[data-v-8d278284]{flex-direction:column}.draw-controls[data-v-8d278284]{flex-direction:column;width:100%}.number-selector[data-v-8d278284],.action-buttons[data-v-8d278284]{width:100%;justify-content:space-between}.control-button[data-v-8d278284]{flex:1}.number-grid[data-v-8d278284]{grid-template-columns:repeat(4,1fr)}.stats-summary[data-v-8d278284]{grid-template-columns:1fr}}@media (max-width: 480px){.number-grid[data-v-8d278284]{grid-template-columns:repeat(3,1fr)}.players-table th[data-v-8d278284],.players-table td[data-v-8d278284]{padding:10px 8px;font-size:.85rem}}[data-v-1ff2a7a0]:root{--primary-color: #6366f1;--primary-dark: #4f46e5;--primary-light: #a5b4fc;--accent-color: #f43f5e;--accent-dark: #e11d48;--success-color: #10b981;--warning-color: #f59e0b;--info-color: #3b82f6}.player-dashboard[data-v-1ff2a7a0]{font-family:Poppins,Noto Sans TC,sans-serif;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,#0f172a,#1e293b);color:#e2e8f0;overflow-x:hidden}.dashboard-container[data-v-1ff2a7a0]{width:100%;max-width:1200px;background:#ffffff0d;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-radius:20px;box-shadow:0 20px 50px #0000004d;overflow:hidden;border:1px solid rgba(255,255,255,.1)}.top-section[data-v-1ff2a7a0]{background:#6366f133;padding:20px 30px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.1)}.game-header[data-v-1ff2a7a0]{display:flex;align-items:center;justify-content:space-between;width:100%}.logo-area[data-v-1ff2a7a0]{display:flex;align-items:center;gap:15px}.logo-badge[data-v-1ff2a7a0]{width:40px;height:40px;background:linear-gradient(45deg,var(--primary-color),var(--primary-dark));color:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.4rem;box-shadow:0 5px 15px #6366f166}.logo-area h1[data-v-1ff2a7a0]{font-size:1.8rem;font-weight:800;margin:0;background:linear-gradient(45deg,#fff,#a5b4fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:1px}.logo-area h1 span[data-v-1ff2a7a0]{font-size:1.2rem;font-weight:500;opacity:.8}.player-info[data-v-1ff2a7a0]{display:flex;align-items:center;gap:12px;background:#ffffff1a;padding:8px 15px;border-radius:50px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.avatar[data-v-1ff2a7a0]{width:35px;height:35px;background:linear-gradient(45deg,#f43f5e,#ec4899);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:600;box-shadow:0 3px 8px #f43f5e4d}.info-text[data-v-1ff2a7a0]{display:flex;flex-direction:column}.player-name[data-v-1ff2a7a0]{font-weight:600;font-size:.95rem}.player-status[data-v-1ff2a7a0]{font-size:.8rem;opacity:.8}.status-locked[data-v-1ff2a7a0]{color:var(--warning-color)}.status-ready[data-v-1ff2a7a0]{color:var(--success-color)}.latest-number-area[data-v-1ff2a7a0]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-left:20px}.pulse-container[data-v-1ff2a7a0]{position:relative;display:flex;align-items:center;justify-content:center}.latest-pulse[data-v-1ff2a7a0]{position:absolute;width:60px;height:60px;border-radius:50%;background:#f43f5e4d;animation:pulse-1ff2a7a0 2s infinite}.latest-number[data-v-1ff2a7a0]{width:50px;height:50px;background:linear-gradient(45deg,#f43f5e,#ec4899);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;box-shadow:0 5px 15px #f43f5e66;z-index:1}.latest-label[data-v-1ff2a7a0]{font-size:.8rem;margin-top:5px;color:#fffc}.game-content[data-v-1ff2a7a0]{display:flex;padding:30px;gap:30px}.board-section[data-v-1ff2a7a0]{flex:3;display:flex;flex-direction:column}.board-header[data-v-1ff2a7a0]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.board-header h2[data-v-1ff2a7a0]{font-size:1.4rem;font-weight:600;margin:0;color:#fff}.board-status[data-v-1ff2a7a0]{padding:6px 12px;border-radius:50px;font-size:.85rem;background:#ffffff1a;display:flex;align-items:center;gap:5px}.locked-status[data-v-1ff2a7a0]{color:var(--warning-color)}.submitted-status[data-v-1ff2a7a0]{color:var(--success-color)}.bingo-board[data-v-1ff2a7a0]{display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(6,1fr);gap:10px;aspect-ratio:1/1;width:100%;max-width:550px;margin:0 auto}.bingo-cell[data-v-1ff2a7a0]{background:#ffffff12;border-radius:10px;border:2px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:600;color:#fff;cursor:pointer;transition:all .3s cubic-bezier(.34,1.56,.64,1);box-shadow:0 4px 8px #0000001a;position:relative;overflow:hidden}.bingo-cell[data-v-1ff2a7a0]:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(255,255,255,.05),transparent);z-index:-1}.bingo-cell.empty[data-v-1ff2a7a0]:hover{background:#ffffff1f;transform:scale(1.05) translateY(-3px);box-shadow:0 8px 16px #0003;border-color:#fff3}.bingo-cell.filled[data-v-1ff2a7a0]{background:#6366f126;border-color:#6366f180}.bingo-cell.marked[data-v-1ff2a7a0]{background:linear-gradient(45deg,var(--primary-color),var(--primary-dark));color:#fff;border:none;transform:scale(1.05);box-shadow:0 5px 15px #6366f166}.cell-placeholder[data-v-1ff2a7a0]{font-size:.7rem;opacity:.7;font-weight:400}.board-locked .bingo-cell[data-v-1ff2a7a0]{cursor:default}.board-actions[data-v-1ff2a7a0]{display:flex;justify-content:center;margin-top:30px}.action-button[data-v-1ff2a7a0]{border:none;padding:12px 24px;border-radius:50px;font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s;box-shadow:0 5px 15px #0003}.submit-button[data-v-1ff2a7a0]{background:linear-gradient(45deg,var(--primary-color),var(--primary-dark));color:#fff}.submit-button[data-v-1ff2a7a0]:hover{transform:translateY(-3px);box-shadow:0 8px 20px #6366f166}.submit-button[data-v-1ff2a7a0]:active{transform:translateY(0)}.info-section[data-v-1ff2a7a0]{flex:2;display:flex;flex-direction:column;gap:20px}.info-card[data-v-1ff2a7a0]{background:#ffffff0d;border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 16px #0000001a;height:fit-content}.card-header[data-v-1ff2a7a0]{padding:15px 20px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center}.card-header h3[data-v-1ff2a7a0]{margin:0;font-size:1.1rem;font-weight:600;color:#fff}.card-badge[data-v-1ff2a7a0]{display:flex;align-items:center;justify-content:center;min-width:24px;height:24px;background:var(--primary-color);color:#fff;border-radius:50px;font-size:.8rem;font-weight:600;padding:0 8px}.card-content[data-v-1ff2a7a0]{padding:20px}.stats-content[data-v-1ff2a7a0]{padding:20px;display:flex;flex-direction:column;gap:25px}.stat-item[data-v-1ff2a7a0]{display:flex;flex-direction:column;gap:5px}.stat-value[data-v-1ff2a7a0]{font-size:2rem;font-weight:700;color:#fff;line-height:1}.stat-label[data-v-1ff2a7a0]{font-size:.9rem;color:#ffffffb3;margin-bottom:5px}.progress-bar[data-v-1ff2a7a0]{height:5px;background:#ffffff1a;border-radius:10px;overflow:hidden}.progress[data-v-1ff2a7a0]{height:100%;background:linear-gradient(90deg,var(--primary-color),var(--primary-dark));border-radius:10px;transition:width .5s}.empty-state[data-v-1ff2a7a0]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px 0;text-align:center;color:#ffffff80}.empty-state svg[data-v-1ff2a7a0]{margin-bottom:15px;color:#ffffff4d}.empty-state p[data-v-1ff2a7a0]{margin:0 0 5px;font-size:1rem;font-weight:500;color:#ffffffb3}.empty-state span[data-v-1ff2a7a0]{font-size:.85rem}.number-balls[data-v-1ff2a7a0]{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.number-ball[data-v-1ff2a7a0]{width:40px;height:40px;background:#ffffff1a;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.95rem;transition:all .3s}.latest-ball[data-v-1ff2a7a0]{background:linear-gradient(45deg,var(--accent-color),var(--accent-dark));box-shadow:0 3px 10px #f43f5e66;transform:scale(1.15);z-index:1}.tips-card[data-v-1ff2a7a0]{border:1px solid rgba(59,130,246,.3);background:#3b82f614}.tip-content[data-v-1ff2a7a0]{padding:15px 20px;display:flex;align-items:center;gap:10px}.tip-content svg[data-v-1ff2a7a0]{flex-shrink:0;color:var(--info-color)}.tip-content p[data-v-1ff2a7a0]{margin:0;font-size:.9rem;color:#fffc;line-height:1.5}.flash-animation[data-v-1ff2a7a0]{animation:flash-1ff2a7a0 1.5s cubic-bezier(.34,1.56,.64,1)}@keyframes flash-1ff2a7a0{0%{transform:scale(1.05)}25%{transform:scale(1.2);box-shadow:0 0 20px #6366f199}50%{transform:scale(1.08)}75%{transform:scale(1.15)}to{transform:scale(1.05)}}@keyframes pulse-1ff2a7a0{0%{transform:scale(.9);opacity:.7}50%{transform:scale(1.1);opacity:.3}to{transform:scale(.9);opacity:.7}}@media (max-width: 1024px){.game-content[data-v-1ff2a7a0]{flex-direction:column}.board-section[data-v-1ff2a7a0],.info-section[data-v-1ff2a7a0]{width:100%}.info-section[data-v-1ff2a7a0]{order:-1}.stats-content[data-v-1ff2a7a0]{flex-direction:row;justify-content:space-around;padding:15px}.stat-item[data-v-1ff2a7a0]{width:45%}}@media (max-width: 768px){.top-section[data-v-1ff2a7a0]{flex-direction:column;gap:15px;padding:15px}.game-header[data-v-1ff2a7a0]{flex-direction:column;gap:15px;align-items:center}.logo-area[data-v-1ff2a7a0]{margin-bottom:5px}.player-info[data-v-1ff2a7a0]{width:100%;justify-content:center}.latest-number-area[data-v-1ff2a7a0]{padding-left:0;margin-top:10px}.game-content[data-v-1ff2a7a0]{padding:20px 15px}.bingo-board[data-v-1ff2a7a0]{gap:6px}.bingo-cell[data-v-1ff2a7a0]{font-size:1.1rem}.cell-placeholder[data-v-1ff2a7a0]{font-size:.6rem}.stats-content[data-v-1ff2a7a0]{flex-direction:column;gap:15px}.stat-item[data-v-1ff2a7a0]{width:100%}}@media (max-width: 480px){.dashboard-container[data-v-1ff2a7a0]{border-radius:15px}.logo-badge[data-v-1ff2a7a0]{width:35px;height:35px;font-size:1.2rem}.logo-area h1[data-v-1ff2a7a0]{font-size:1.5rem}.logo-area h1 span[data-v-1ff2a7a0]{font-size:1rem}.board-header h2[data-v-1ff2a7a0]{font-size:1.2rem}.bingo-cell[data-v-1ff2a7a0]{font-size:.9rem}.stat-value[data-v-1ff2a7a0]{font-size:1.6rem}.number-ball[data-v-1ff2a7a0]{width:35px;height:35px;font-size:.85rem}}:root{--primary-color: #6366f1;--primary-dark: #4f46e5;--primary-light: #a5b4fc;--accent-color: #f43f5e;--accent-dark: #e11d48;--text-dark: #1f2937;--text-medium: #4b5563;--text-light: #9ca3af;--bg-light: #f9fafb;--border-light: #e5e7eb;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .06);--card-border-radius: 16px;--button-border-radius: 10px;--input-border-radius: 10px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Poppins,Noto Sans TC,sans-serif;background-color:var(--bg-light);color:var(--text-dark);line-height:1.6;overflow-x:hidden;height:100vh;width:100vw}#app{display:flex;position:relative;min-height:100vh;width:100vw;overflow:hidden}.background-elements{position:fixed;top:0;left:0;right:0;bottom:0;z-index:-1;overflow:hidden}.animated-bg{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#0f172a,#1e293b);opacity:.92}.particles-container{position:absolute;width:100%;height:100%;overflow:hidden}.particle{position:absolute;border-radius:50%;background:linear-gradient(135deg,var(--primary-light),var(--primary-color));opacity:.2;filter:blur(8px);animation:float-particle 20s infinite linear}@keyframes float-particle{0%{transform:translate(0) rotate(0) scale(1);opacity:.1}25%{opacity:.3}50%{transform:translate(100px,100px) rotate(180deg) scale(1.5);opacity:.2}75%{opacity:.3}to{transform:translate(0) rotate(360deg) scale(1);opacity:.1}}.gradient-overlay{position:absolute;width:100%;height:100%;background:radial-gradient(circle at top right,rgba(99,102,241,.15),transparent 70%),radial-gradient(circle at bottom left,rgba(244,63,94,.1),transparent 70%)}.sidebar{width:280px;background:#ffffff08;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-right:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:10;box-shadow:var(--shadow-lg);color:#fff}.sidebar-header{padding:20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.1)}.logo-container{display:flex;align-items:center}.sidebar-header h3{font-size:1.1rem;font-weight:600;margin:0 0 0 10px;background:linear-gradient(45deg,#fff,#a5b4fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.toggle-sidebar{background:none;border:none;color:#fff;cursor:pointer;padding:5px;display:none;opacity:.8;transition:opacity .2s}.toggle-sidebar:hover{opacity:1}.rooms-container{flex:1;padding:15px;overflow-y:auto}.search-box{position:relative;margin-bottom:15px}.search-box svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-light)}.search-box input{width:100%;padding:10px 10px 10px 40px;border:1px solid rgba(255,255,255,.1);border-radius:var(--input-border-radius);font-size:.9rem;background:#ffffff0d;color:#fff;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:all .3s}.search-box input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f133}.search-box input::placeholder{color:#ffffff80}.rooms-list{display:flex;flex-direction:column;gap:8px}.room-item{display:flex;align-items:center;padding:12px 15px;border-radius:var(--input-border-radius);background:#ffffff0d;cursor:pointer;transition:all .3s;border:1px solid transparent}.room-item:hover{background:#ffffff1a;transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:#fff3}.room-item.active{background:linear-gradient(45deg,var(--primary-color),var(--primary-dark));color:#fff;box-shadow:0 4px 12px #6366f180;border-color:transparent}.room-icon{margin-right:12px;color:#ffffffb3}.room-item.active .room-icon,.room-item.active .room-arrow{color:#fff}.room-name{flex:1;font-size:.95rem;font-weight:500}.room-arrow{color:#ffffff80;opacity:0;transition:all .3s}.room-item:hover .room-arrow{opacity:1;transform:translate(3px)}.empty-rooms{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px 0;color:#ffffff80}.empty-rooms svg{margin-bottom:10px;color:#ffffff4d}.empty-rooms p{font-size:.9rem}.sidebar-footer{padding:15px 20px;border-top:1px solid rgba(255,255,255,.1)}.app-info{display:flex;align-items:center;justify-content:space-between;color:#ffffff80;font-size:.8rem}.app-logo{width:32px;height:32px;background:linear-gradient(45deg,var(--primary-color),var(--primary-dark));color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700;box-shadow:0 4px 10px #6366f14d}.main-content{flex:1;padding:30px;display:flex;align-items:center;justify-content:center}.login-container{width:100%;max-width:500px;perspective:1200px}.login-card{background:#fffffff2;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-radius:var(--card-border-radius);padding:35px;box-shadow:var(--shadow-lg);transform-style:preserve-3d;transition:all .5s cubic-bezier(.34,1.56,.64,1);animation:card-appear .8s cubic-bezier(.34,1.56,.64,1) forwards;border:1px solid rgba(255,255,255,.2)}@keyframes card-appear{0%{opacity:0;transform:translateY(40px) rotateX(10deg)}to{opacity:1;transform:translateY(0) rotateX(0)}}.login-header{margin-bottom:35px;text-align:center}.app-branding{display:flex;flex-direction:column;align-items:center;margin-bottom:15px}.app-branding .app-logo{width:60px;height:60px;font-size:1.8rem;margin-bottom:15px;animation:logo-pulse 3s infinite alternate cubic-bezier(.455,.03,.515,.955);position:relative}.app-branding .app-logo:after{content:"";position:absolute;top:-8px;left:-8px;right:-8px;bottom:-8px;border-radius:12px;background:linear-gradient(45deg,var(--primary-color),var(--primary-dark));opacity:.3;filter:blur(12px);z-index:-1;animation:glow 3s infinite alternate cubic-bezier(.455,.03,.515,.955)}@keyframes glow{0%{opacity:.3;filter:blur(12px)}to{opacity:.6;filter:blur(16px)}}@keyframes logo-pulse{0%{transform:scale(1)}to{transform:scale(1.12)}}.app-branding h1{font-size:2.2rem;font-weight:700;background:linear-gradient(45deg,var(--primary-color),var(--primary-dark));-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin:0;position:relative}.welcome-text{font-size:1.05rem;color:var(--text-medium);margin-top:10px;position:relative}.login-form{display:flex;flex-direction:column;gap:22px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:.9rem;font-weight:500;color:var(--text-medium);margin-left:2px}.input-with-icon{position:relative}.input-with-icon svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-light);transition:color .3s}.input-with-icon input:focus+svg{color:var(--primary-color)}.input-with-icon input{width:100%;padding:14px 14px 14px 44px;font-size:1rem;border:2px solid var(--border-light);border-radius:var(--input-border-radius);transition:all .3s;background-color:#fff}.input-with-icon input:focus{border-color:var(--primary-color);box-shadow:0 0 0 4px #6366f133;outline:none}.checkbox-group{margin-top:5px}.custom-checkbox{display:flex;align-items:center}.custom-checkbox input[type=checkbox]{display:none}.checkbox-label{display:flex;align-items:center;cursor:pointer}.checkbox-custom{width:22px;height:22px;border:2px solid var(--border-light);border-radius:6px;margin-right:10px;display:flex;align-items:center;justify-content:center;transition:all .3s;position:relative}.custom-checkbox input[type=checkbox]:checked+.checkbox-label .checkbox-custom{background-color:var(--primary-color);border-color:var(--primary-color)}.checkbox-custom:after{content:"";width:6px;height:11px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);position:absolute;transition:transform .3s cubic-bezier(.68,-.55,.27,1.55)}.custom-checkbox input[type=checkbox]:checked+.checkbox-label .checkbox-custom:after{transform:rotate(45deg) scale(1)}.checkbox-text{font-size:.95rem;color:var(--text-medium)}.login-error{background-color:#f43f5e1a;color:var(--accent-dark);padding:12px 16px;border-radius:var(--input-border-radius);font-size:.9rem;display:flex;align-items:center;gap:10px;animation:shake .5s cubic-bezier(.36,.07,.19,.97) both;border:1px solid rgba(244,63,94,.2)}@keyframes shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}.login-button{background:linear-gradient(45deg,var(--primary-color),var(--primary-dark));color:#fff;border:none;border-radius:var(--button-border-radius);padding:14px 20px;font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .3s;box-shadow:0 4px 12px #6366f14d;position:relative;overflow:hidden}.login-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:.5s}.login-button:hover{transform:translateY(-2px);box-shadow:0 6px 18px #6366f166}.login-button:hover:before{left:100%}.login-button:active{transform:translateY(1px)}.login-button svg{transition:transform .3s}.login-button:hover svg{transform:translate(5px)}.login-footer{margin-top:35px}.footer-features{display:flex;justify-content:space-between;margin-bottom:20px}.feature{display:flex;align-items:center;gap:6px;color:var(--text-medium);font-size:.85rem}.feature svg{color:var(--primary-color)}.copyright{text-align:center;font-size:.85rem;color:var(--text-light)}.game-content{width:100%;height:100%;animation:fade-in .5s ease;padding:20px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.dashboard{background:#fffffff2;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-radius:var(--card-border-radius);box-shadow:var(--shadow-lg);overflow:hidden;border:1px solid rgba(255,255,255,.2);height:100%;display:flex;flex-direction:column}.dashboard-header{padding:20px;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;align-items:center}.dashboard-title{font-size:1.5rem;font-weight:600;color:var(--text-dark)}.dashboard-content{padding:20px;flex:1;overflow-y:auto}@media (max-width: 1024px){.login-card{padding:30px}.app-branding h1{font-size:2rem}}@media (max-width: 768px){#app{flex-direction:column}.sidebar{width:100%;height:60px;overflow:hidden;position:fixed;top:0;left:0;right:0;z-index:100}.sidebar.expanded{height:100vh}.toggle-sidebar{display:block}.main-content{margin-top:60px;padding:20px 15px}.login-card{padding:25px}.app-branding h1{font-size:1.8rem}.welcome-text{font-size:.95rem}.footer-features{flex-direction:column;gap:15px;align-items:center}}@media (max-width: 480px){.main-content{padding:15px 10px}.login-card{padding:20px}.app-branding h1{font-size:1.6rem}.welcome-text{font-size:.9rem}.form-group label{font-size:.85rem}.input-with-icon input{padding:12px 12px 12px 40px;font-size:.95rem}.login-button{padding:12px 16px;font-size:.95rem}.app-branding .app-logo{width:50px;height:50px;font-size:1.6rem}}@media (prefers-color-scheme: dark){.login-card{background:#1e293bf2;border-color:#ffffff0d}.welcome-text{color:#ffffffb3}.form-group label{color:#fffc}.input-with-icon input{background-color:#0f172a4d;border-color:#ffffff1a;color:#fff}.input-with-icon input::placeholder{color:#fff6}.checkbox-text{color:#fffc}.checkbox-custom{border-color:#fff3}.feature{color:#ffffffb3}.copyright{color:#ffffff80}.dashboard{background:#1e293bf2;border-color:#ffffff0d}.dashboard-title{color:#fff}.dashboard-header{border-color:#ffffff1a}}button:disabled,input:disabled{opacity:.6;cursor:not-allowed}*{transition:cursor .3s}.fade-enter-active,.fade-leave-active{transition:opacity .5s}.fade-enter,.fade-leave-to{opacity:0}.loading-indicator{display:inline-block;width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}.content-card{background:#ffffff80;border-radius:12px;padding:20px;margin-bottom:20px;box-shadow:var(--shadow-sm);border:1px solid rgba(255,255,255,.2);transition:all .3s}.content-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:var(--button-border-radius);font-weight:500;cursor:pointer;transition:all .3s;border:none;outline:none}.btn-primary{background:linear-gradient(45deg,var(--primary-color),var(--primary-dark));color:#fff;box-shadow:0 4px 10px #6366f14d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 15px #6366f166}.btn-secondary{background:#fffc;color:var(--text-dark);border:1px solid var(--border-light)}.btn-secondary:hover{background:#fff;transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-danger{background:linear-gradient(45deg,var(--accent-color),var(--accent-dark));color:#fff;box-shadow:0 4px 10px #f43f5e4d}.btn-danger:hover{transform:translateY(-2px);box-shadow:0 6px 15px #f43f5e66}.tooltip{position:relative;display:inline-block}.tooltip .tooltip-text{visibility:hidden;width:120px;background-color:#000c;color:#fff;text-align:center;border-radius:6px;padding:5px;position:absolute;z-index:1;bottom:125%;left:50%;transform:translate(-50%);opacity:0;transition:opacity .3s;font-size:.8rem}.tooltip:hover .tooltip-text{visibility:visible;opacity:1}
