*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.login-container{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.login-card{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0003;max-width:400px;padding:40px;width:100%}.login-card h1,.login-card h2{color:#667eea;margin-bottom:10px;text-align:center}.subtitle{color:#666;font-size:14px;margin-bottom:30px;text-align:center}.login-card form{display:flex;flex-direction:column;gap:15px}.login-card input{border:2px solid #e0e0e0;border-radius:8px;font-size:16px;padding:12px;transition:border-color .3s}.login-card input:focus{border-color:#667eea;outline:none}.login-card button[type=submit]{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px;transition:transform .2s,box-shadow .2s}.login-card button[type=submit]:hover:not(:disabled){box-shadow:0 5px 15px #667eea66;transform:translateY(-2px)}.login-card button[type=submit]:disabled{cursor:not-allowed;opacity:.6}.switch-form{color:#666;font-size:14px;margin-top:10px;text-align:center}.switch-form button{background:none;border:none;color:#667eea;cursor:pointer;font-size:14px;text-decoration:underline}.error{background:#fee;color:#c33}.error,.info-message{border-radius:8px;font-size:14px;margin-bottom:20px;padding:12px}.info-message{background:#eef6ff;color:#335}.info-text{color:#666;font-size:12px;font-style:italic;margin:-10px 0 10px;text-align:center}.dashboard-container{color:#fff;min-height:100vh}.dashboard-header{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;box-shadow:0 2px 10px #0000001a;display:flex;justify-content:space-between;padding:20px 40px}.dashboard-header h1{font-size:24px;margin:0}.header-actions{align-items:center;flex-wrap:wrap}.points{font-size:16px;font-weight:600}.bingo-btn,.friends-btn,.leaderboard-btn,.signout-btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:transform .2s,box-shadow .2s}.account-btn,.bingo-btn,.friends-btn,.leaderboard-btn{background:#fff3;color:#fff}.account-btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:transform .2s,box-shadow .2s}.account-btn:hover,.bingo-btn:hover,.friends-btn:hover,.leaderboard-btn:hover{background:#ffffff4d;transform:translateY(-2px)}.signout-btn{background:#ffffffe6;color:#667eea}.signout-btn:hover{background:#fff;transform:translateY(-2px)}.dashboard-main{margin:40px auto;max-width:800px;padding:0 20px}.word-card{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0003;color:#333;padding:40px}.week-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;color:#fff;display:inline-block;font-size:12px;font-weight:600;margin-bottom:20px;padding:8px 16px}.word-card .word{color:#667eea;font-size:48px;font-weight:700;margin:20px 0;text-transform:capitalize}.definition{color:#666;font-size:18px;line-height:1.6;margin-bottom:30px}.challenge-section{border-top:2px solid #f0f0f0;padding-top:30px}.challenge-section h3{color:#333;margin-bottom:10px}.challenge-section>p{color:#666;margin-bottom:20px}.usage-status{align-items:center;border-radius:8px;display:flex;justify-content:space-between;padding:20px}.usage-status.success{background:#e8f5e9;color:#2e7d32}.points-earned{font-size:18px;font-weight:600}.usage-buttons{display:flex;flex-wrap:wrap;gap:15px}.btn-secondary,.btn-success{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;min-width:150px;padding:15px 30px;transition:transform .2s,box-shadow .2s}.btn-success{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-success:hover:not(:disabled){box-shadow:0 5px 15px #667eea66;transform:translateY(-2px)}.btn-secondary{background:#f5f5f5;color:#666}.btn-secondary:hover:not(:disabled){background:#e0e0e0;transform:translateY(-2px)}.btn-secondary:disabled,.btn-success:disabled{cursor:not-allowed;opacity:.6}.leaderboard-container{color:#fff;min-height:100vh}.leaderboard-header{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;box-shadow:0 2px 10px #0000001a;display:flex;justify-content:space-between;padding:20px 40px}.leaderboard-header h1{font-size:24px;margin:0}.leaderboard-main{margin:40px auto;max-width:1000px;padding:0 20px}.week-info{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0003;color:#333;margin-bottom:20px;padding:30px;text-align:center}.week-info h2{color:#667eea;margin-bottom:10px}.user-rank{color:#666;font-size:18px;font-weight:600}.view-toggle{display:flex;gap:10px;margin-top:15px}.view-toggle button{background:#fff;border:2px solid #667eea;border-radius:6px;color:#667eea;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .2s}.view-toggle button.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.view-toggle button:hover{box-shadow:0 3px 10px #667eea4d;transform:translateY(-2px)}.empty-state,.leaderboard-table{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0003}.leaderboard-table{overflow:hidden}.table-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:14px;font-weight:600;text-transform:uppercase}.table-header,.table-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:60px 1fr 120px 120px 100px 100px;padding:20px}.table-row{align-items:center;border-bottom:1px solid #f0f0f0;transition:background .2s}.table-row:hover{background:#f9f9f9}.table-row:last-child{border-bottom:none}.col-rank{align-items:center;display:flex;font-weight:600;gap:8px}.medal{font-size:20px}.col-username{color:#333;font-weight:500}.col-points,.col-total,.col-words{color:#667eea;font-weight:600}.status-used{color:#2e7d32;font-weight:600}.status-pending{color:#f57c00;font-weight:600}@media (max-width:768px){.table-header,.table-row{font-size:12px;gap:10px;grid-template-columns:50px 1fr 80px 80px 70px 80px;padding:15px}.col-points,.col-rank,.col-status,.col-total,.col-username,.col-words{font-size:12px}}.friends-container{color:#fff;min-height:100vh}.friends-header{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;box-shadow:0 2px 10px #0000001a;display:flex;justify-content:space-between;padding:20px 40px}.friends-header h1{font-size:24px;margin:0}.back-btn{background:#fff3;color:#fff;font-size:14px;padding:10px 20px;transition:transform .2s,background .2s}.back-btn:hover{background:#ffffff4d}.friends-main{margin:40px auto;max-width:1000px;padding:0 20px}.search-section{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0003;color:#333;margin-bottom:30px;padding:30px}.search-section h2{color:#667eea;margin-bottom:20px}.search-form{display:flex;gap:10px;margin-bottom:20px}.search-input{border:2px solid #e0e0e0;border-radius:8px;flex:1 1;font-size:16px;padding:12px;transition:border-color .3s}.search-input:focus{border-color:#667eea;outline:none}.search-form button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:transform .2s,box-shadow .2s}.search-form button:hover:not(:disabled){box-shadow:0 5px 15px #667eea66;transform:translateY(-2px)}.search-form button:disabled{cursor:not-allowed;opacity:.6}.search-results{margin-top:20px}.search-results h3{color:#666;font-size:18px;margin-bottom:15px}.user-card{align-items:center;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:10px;padding:15px}.user-info{display:flex;flex-direction:column;gap:5px}.username{color:#333;font-size:16px;font-weight:600}.user-stats{color:#666;font-size:14px}.btn-add,.btn-friend,.btn-remove{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:transform .2s}.btn-add{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-add:hover{transform:translateY(-2px)}.btn-friend{background:#e0e0e0;color:#666;cursor:not-allowed}.btn-remove{background:#fee;color:#c33}.btn-remove:hover{background:#fcc;transform:translateY(-2px)}.friends-list-section{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0003;color:#333;padding:30px}.friends-list-section h2{color:#667eea;margin-bottom:20px}.empty-state{color:#666;padding:40px;text-align:center}.friends-list{grid-gap:15px;display:grid;gap:15px}.friend-card{align-items:center;background:#f9f9f9;border:2px solid #e0e0e0;border-radius:8px;display:flex;justify-content:space-between;padding:20px;transition:border-color .2s}.friend-card:hover{border-color:#667eea}.friend-info{display:flex;flex-direction:column;gap:8px}.friend-info .username{color:#333;font-size:18px;font-weight:600}.friend-stats{color:#666;font-size:14px}.account-container{align-items:center;color:#fff;display:flex;justify-content:center;min-height:100vh}.account-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:16px;box-shadow:0 10px 40px #0000004d;max-width:600px;padding:30px;width:100%}.account-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.account-header h1{font-size:24px;margin:0}.back-btn{border:none;border-radius:8px;cursor:pointer;font-weight:600;padding:8px 16px}.account-error{background:#f003;border:1px solid #ff000080;border-radius:8px}.account-error,.account-success{color:#fff;margin-bottom:10px;padding:10px}.account-success{background:#00c80033;border:1px solid #00c80080;border-radius:8px}.account-section{margin-top:20px}.account-section h2{font-size:18px;margin-bottom:10px}.account-field{margin-bottom:10px}.account-field label{display:block;font-size:14px;margin-bottom:4px;opacity:.8}.account-value{background:#ffffff1a;border-radius:6px;font-size:14px;padding:8px 10px}.password-form{display:flex;flex-direction:column;gap:10px}.password-form input{background:#0003;border:1px solid #fff6;border-radius:8px;color:#fff;padding:12px;width:100%}.password-form button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;margin-top:10px;padding:12px}.password-form button:disabled{cursor:not-allowed;opacity:.6}.bingo-container{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;min-height:100vh}.bingo-header{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;box-shadow:0 2px 10px #0000001a;display:flex;justify-content:space-between;padding:20px 40px}.bingo-header h1{font-size:28px;margin:0}.header-actions{display:flex;gap:15px}.back-btn,.reset-btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:transform .2s,box-shadow .2s}.reset-btn{background:#ffc107e6;color:#333}.reset-btn:hover{background:#ffc107;transform:translateY(-2px)}.back-btn{background:#ffffffe6;color:#667eea}.back-btn:hover{background:#fff;transform:translateY(-2px)}.bingo-main{margin:40px auto;max-width:900px;padding:0 20px}.error-banner{background:#f003;border:1px solid #ff000080;padding:15px}.bingo-message,.error-banner{border-radius:8px;color:#fff;margin-bottom:20px}.bingo-message{animation:bounce .5s;background:#4caf50e6;font-size:24px;padding:20px;text-align:center}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.bingo-info{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:12px;margin-bottom:30px;padding:20px}.bingo-description{font-size:16px;margin:0 0 15px;text-align:center}.bingo-stats{display:flex;font-weight:600;gap:30px;justify-content:center}.completed-lines{color:#ffc107}.bingo-board{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0000004d;margin-bottom:30px;padding:20px}.bingo-row{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(5,1fr);margin-bottom:8px}.bingo-row:last-child{margin-bottom:0}.bingo-square{align-items:center;aspect-ratio:1;background:#f5f5f5;border:3px solid #ddd;border-radius:8px;color:#333;cursor:pointer;display:flex;flex-direction:column;font-size:12px;font-weight:600;justify-content:center;min-height:80px;padding:10px;position:relative;text-align:center;transition:all .2s}.bingo-square:hover:not(:disabled){background:#e3f2fd;border-color:#667eea;transform:scale(1.05)}.bingo-square:disabled{cursor:wait;opacity:.7}.bingo-square.marked{background:#c8e6c9;border-color:#4caf50;color:#2e7d32}.bingo-square.marked .checkmark{color:#4caf50;font-size:20px;font-weight:700;position:absolute;right:5px;top:5px}.bingo-square.completed-line{animation:pulse 1s infinite;background:#fff9c4;border-color:#ffc107}@keyframes pulse{0%,to{box-shadow:0 0 0 0 #ffc107b3}50%{box-shadow:0 0 0 10px #ffc10700}}.bingo-word{font-size:11px;line-height:1.2;word-break:break-word}.bingo-legend{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:12px;padding:20px;text-align:center}.bingo-legend p{font-size:14px;margin:0}.loading{font-size:18px;padding:40px;text-align:center}@media (max-width:768px){.bingo-square{font-size:10px;min-height:60px;padding:5px}.bingo-word{font-size:9px}.bingo-header{flex-direction:column;gap:15px}.header-actions{justify-content:center;width:100%}}.App{min-height:100vh}.loading-container{align-items:center;color:#fff;display:flex;flex-direction:column;justify-content:center;min-height:100vh}.spinner{animation:spin 1s linear infinite;border:4px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:40px;margin-bottom:20px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.ca97311d.css.map*/