.celebration-overlay{position:fixed!important;top:0!important;left:0!important;width:100%!important;height:100%!important;background:#000c!important;display:flex!important;justify-content:center!important;align-items:center!important;z-index:99999!important;pointer-events:auto!important}.celebration-content{position:relative!important;background:linear-gradient(145deg,#fff,#f8f9fa)!important;border-radius:24px!important;padding:48px 64px!important;box-shadow:0 20px 60px #0000004d!important;text-align:center!important;max-width:400px!important;overflow:hidden!important;z-index:100000!important}.trophy-icon{font-size:120px;margin-bottom:24px;display:inline-block;filter:drop-shadow(0 10px 20px rgba(255,215,0,.3))}.celebration-content h2{margin:0;font-size:2rem;font-weight:800;background:linear-gradient(145deg,#d69e2e,#b7791f);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:1px;text-transform:uppercase}.confetti{position:absolute;width:12px;height:12px;border-radius:50%;pointer-events:none}.dark-mode .celebration-content{background:linear-gradient(145deg,#2d3748,#1a202c)}.dark-mode .celebration-content h2{background:linear-gradient(145deg,#fcd34d,#d69e2e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@media (max-width: 480px){.celebration-content{padding:40px 48px;max-width:90%}.trophy-icon{font-size:100px;margin-bottom:20px}.celebration-content h2{font-size:1.75rem}}.comments-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1001;padding:20px}.comments-modal{background:#fff;border-radius:16px;width:100%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0000004d;overflow:hidden}.comments-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:2px solid #e5e7eb;background:linear-gradient(135deg,#f9fafb,#fff)}.comments-header h2{font-size:22px;color:#1f2937;margin:0;display:flex;align-items:center;gap:8px}.comments-content{flex:1;overflow-y:auto;padding:20px 24px;background:#f9fafb}.comments-list{display:flex;flex-direction:column;gap:16px}.comment{background:#fff;border-radius:12px;padding:16px;box-shadow:0 2px 8px #0000000d;transition:transform .2s ease,box-shadow .2s ease}.comment:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.comment.own-comment{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b}.comment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.comment-author{font-weight:700;color:#1f2937;font-size:14px}.comment-time{font-size:12px;color:#6b7280}.comment-text{color:#374151;font-size:14px;line-height:1.5;margin:0;white-space:pre-wrap;word-wrap:break-word}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#9ca3af}.empty-state p{font-size:18px;margin:0}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px}.loading-spinner{width:40px;height:40px;border:4px solid #e5e7eb;border-top-color:#d69e2e;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-state{display:flex;flex-direction:column;align-items:center;gap:16px;padding:40px 20px;color:#dc2626}.retry-button{background:#dc2626;color:#fff;border:none;padding:8px 20px;border-radius:8px;font-weight:600;cursor:pointer;transition:background .2s ease}.retry-button:hover{background:#b91c1c}.comments-footer{padding:20px 24px;border-top:2px solid #e5e7eb;background:#fff}.commented-notice{text-align:center;padding:16px;background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-radius:8px;color:#065f46;font-weight:600;font-size:14px}.comment-form{display:flex;flex-direction:column;gap:12px}.comment-input{width:100%;padding:12px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;font-family:inherit;resize:none;transition:border-color .2s ease}.comment-input:focus{outline:none;border-color:#d69e2e}.comment-input::placeholder{color:#9ca3af}.comment-form-footer{display:flex;justify-content:space-between;align-items:center}.character-count{font-size:12px;color:#6b7280}.submit-comment-button{background:linear-gradient(145deg,#d69e2e,#b7791f);color:#fff;border:none;padding:10px 24px;border-radius:8px;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #d69e2e4d}.submit-comment-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #d69e2e66}.submit-comment-button:disabled{opacity:.5;cursor:not-allowed}.comment-error{color:#dc2626;font-size:13px;margin:0;text-align:center}@media (max-width: 640px){.comments-modal{max-height:90vh;margin:0}.comments-header h2{font-size:18px}.comments-content,.comments-footer{padding:16px}}.stats-modal{background:var(--modal-bg, #ffffff);border-radius:16px;box-shadow:0 10px 40px #0003;max-width:500px;width:90%;max-height:80vh;overflow:hidden}.stats-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb;background:#f9fafb}.stats-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#111827}.stats-content{padding:24px;max-height:calc(80vh - 100px);overflow-y:auto}.stats-loading,.stats-error{text-align:center;padding:40px 20px;color:#6b7280}.stats-error{color:#ef4444}.stats-section{margin-bottom:32px}.stats-section:last-child{margin-bottom:0}.stats-section-title{font-size:1.1rem;font-weight:600;color:#374151;margin:0 0 16px;padding-bottom:8px;border-bottom:2px solid #e5e7eb}.stats-grid{display:flex;flex-direction:column;gap:12px}.stat-chart{min-height:240px;display:flex;flex-direction:column}.stat-chart .stat-item-header{margin-bottom:4px}.stat-subtext{font-size:.75rem;color:#6b7280;margin-bottom:8px}.stat-item{display:flex;flex-direction:column;padding:12px 16px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb;min-height:48px}.stat-item-header{display:flex;justify-content:space-between;align-items:center;width:100%}.stat-label{font-size:.9rem;font-weight:500;color:#6b7280}.stat-value{font-size:1.1rem;font-weight:600;color:#111827}.stat-player-info{margin-top:6px;display:flex;flex-direction:column;gap:2px}.stat-player-line{margin-top:6px;display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%}.stat-player-name{font-size:.9rem;font-weight:700;color:#111827;flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-player-word{font-size:.9rem;font-weight:700;color:#d69e2e;font-family:monospace;text-transform:uppercase;letter-spacing:1px;text-align:right;margin-left:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-detail{font-size:.85rem;color:#9ca3af;font-style:italic}.score-chart{margin-top:12px;display:flex;align-items:flex-end;width:100%}.score-chart-inner{position:relative;height:160px;width:100%}.score-bars-container{position:relative;height:100%;width:100%;overflow:hidden;padding-bottom:8px}.score-bars{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);column-gap:6px;height:100%;width:100%;padding-bottom:8px}.score-bar-wrapper{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;height:100%}.score-bar{width:100%;background:linear-gradient(180deg,#fed7aa,#f6ad55 70%,#c05621);border-radius:3px 3px 0 0;transition:transform .2s ease,opacity .2s ease;opacity:.85}.score-bar:hover{transform:translateY(-4px);opacity:1}.score-average-line{position:absolute;left:0;right:0;height:2px;background:#11182759;display:flex;align-items:center;justify-content:flex-start;pointer-events:none;z-index:2}.score-average-label{margin-left:8px;font-size:.75rem;font-weight:600;background:#ffffffe6;color:#1f2937;padding:2px 8px;border-radius:9999px;box-shadow:0 2px 6px #0000001a;position:relative;top:-1px}.score-bar-name{font-size:.55rem;width:100%;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#4b5563}.score-bars-container::-webkit-scrollbar{height:6px}.score-bars-container::-webkit-scrollbar-track{background:transparent}.score-bars-container::-webkit-scrollbar-thumb{background:#d1d5dbcc;border-radius:9999px}.score-bars-container:hover::-webkit-scrollbar-thumb{background:#9ca3afe6}.active-chart{display:flex;flex-direction:column;gap:14px}.active-row{display:flex;flex-direction:column;gap:6px}.active-label{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;color:#4b5563}.active-name{font-weight:600;color:#111827;max-width:60%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.active-meta{font-size:.85rem;color:#6b7280}.active-bar{height:14px;background:#e5e7eb;border-radius:9999px;overflow:hidden}.active-bar-fill{height:100%;background:linear-gradient(90deg,#feebc8,#f6ad55 45%,#c05621);border-radius:9999px;transition:width .4s ease-in-out}.dark-mode .stats-modal{background:#1f2937;box-shadow:0 10px 40px #00000080}.dark-mode .stats-header{background:#111827;border-bottom-color:#374151}.dark-mode .stats-header h2{color:#f9fafb}.dark-mode .stats-section-title{color:#d1d5db;border-bottom-color:#374151}.dark-mode .stat-item{background:#111827;border-color:#374151}.dark-mode .stat-label{color:#9ca3af}.dark-mode .stat-value{color:#f9fafb}.dark-mode .stat-detail{color:#6b7280}.dark-mode .stat-player-name{color:#f9fafb}.dark-mode .stat-player-word{color:#f6ad55}.dark-mode .stat-subtext{color:#9ca3af}.dark-mode .score-bar{background:linear-gradient(180deg,#f6ad55,#ed8936 70%,#9c4221)}.dark-mode .score-average-line{background:#ffffff59}.dark-mode .score-average-label{background:#1f2937d9;color:#fef3c7;box-shadow:0 2px 6px #0006}.dark-mode .score-bar-name{color:#d1d5db}.dark-mode .score-bars-container::-webkit-scrollbar-thumb{background:#4b5563cc}.dark-mode .score-bars-container:hover::-webkit-scrollbar-thumb{background:#6b7280e6}.dark-mode .active-label{color:#d1d5db}.dark-mode .active-name{color:#f9fafb}.dark-mode .active-meta{color:#9ca3af}.dark-mode .active-bar{background:#374151}.dark-mode .active-bar-fill{background:linear-gradient(90deg,#fbd38d,#ed8936 45%,#9c4221)}.dark-mode .stats-loading,.dark-mode .stats-error{color:#9ca3af}.dark-mode .stats-error{color:#fca5a5}.dark-mode .stat-player-line{margin-top:6px}@media (max-width: 480px){.stats-modal{width:95%;max-height:85vh}.stats-content{padding:16px;max-height:calc(85vh - 80px)}.stats-section{margin-bottom:24px}.stats-section-title{font-size:1rem}.stat-item{padding:10px 12px}.stat-label{font-size:.85rem}.stat-value{font-size:1rem}.stat-chart{min-height:260px}.score-bar-wrapper{gap:4px}}.leaderboard-modal{background:var(--modal-bg, #ffffff);border-radius:12px;padding:0;max-width:500px;width:90vw;max-height:80vh;overflow:hidden;box-shadow:0 20px 40px #00000026;display:flex;flex-direction:column}.leaderboard-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 16px;border-bottom:1px solid var(--border-color, #e0e0e0);background:var(--header-bg, #f8f9fa)}.leaderboard-header h2{margin:0;font-size:1.5rem;color:var(--text-primary, #333);text-align:center;flex:1}.date-navigation{display:flex;justify-content:center;gap:16px;padding:16px 24px;border-bottom:1px solid var(--border-color, #e0e0e0);background:var(--header-bg, #f8f9fa)}.nav-button{background:#fffaf0;border:2px solid #D69E2E;border-radius:10px;padding:6px 16px;font-size:14px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #7442101a;color:#744210;min-width:70px;font-weight:700}.date-button{background:#fffaf0;border:2px solid #D69E2E;border-radius:10px;padding:6px 16px;font-size:14px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #7442101a;color:#744210;font-weight:700;white-space:nowrap}.nav-button:hover:not(:disabled){background:#fefcf9;border-color:#b7791f;transform:scale(1.05)}.date-button:hover{background:#fefcf9;border-color:#b7791f;transform:scale(1.05)}.nav-button:active:not(:disabled){transform:scale(.95)}.nav-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.header-buttons{display:flex;gap:10px;align-items:center}.leaderboard-header h2{margin:0;font-size:1.5rem;color:var(--text-primary, #333)}.close-button,.clear-button{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary, #666);padding:4px 8px;border-radius:4px;transition:background-color .2s}.clear-button{font-size:1.2rem}.close-button:hover,.clear-button:hover{background-color:var(--hover-bg, #f0f0f0)}.leaderboard-content{padding:20px 24px;flex:1;overflow-y:auto;min-height:0}.weekly-top-score{background:linear-gradient(135deg,gold,#ffed4e);border-radius:8px;padding:16px;margin-bottom:20px;border:2px solid #ffc107}.weekly-top-score h3{margin:0 0 12px;font-size:1.1rem;color:#8b4513;text-align:center}.weekly-top-entry{display:flex;justify-content:space-between;align-items:center;background:#ffffffe6;border-radius:6px;padding:12px}.weekly-player-info{flex:1}.weekly-player-name{font-weight:700;color:#333;font-size:1rem}.weekly-player-word{color:#666;font-size:.9rem;margin-top:2px}.weekly-player-score{font-size:1.2rem;font-weight:700;color:#8b4513}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:var(--text-secondary, #666)}.loading-spinner{width:32px;height:32px;border:3px solid var(--border-color, #e0e0e0);border-top:3px solid var(--primary-color, #007bff);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-state{text-align:center;padding:40px 20px;color:var(--error-color, #dc3545)}.retry-button{background:var(--primary-color, #007bff);color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;margin-top:12px;transition:background-color .2s}.retry-button:hover{background:var(--primary-hover, #0056b3)}.empty-state{text-align:center;padding:40px 20px;color:var(--text-secondary, #666)}.empty-state p{margin:8px 0}.leaderboard-list{display:flex;flex-direction:column;gap:8px}.leaderboard-entry{display:flex;align-items:center;padding:12px 16px;background:var(--entry-bg, #f8f9fa);border-radius:8px;transition:all .2s;border:1px solid transparent}.leaderboard-entry:hover{background:var(--entry-hover, #e9ecef);transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.leaderboard-entry.current-user{background:var(--current-user-bg, #e3f2fd);border-color:var(--primary-color, #007bff);box-shadow:0 2px 8px #007bff33}.rank{font-size:1.2rem;font-weight:700;min-width:40px;text-align:center;margin-right:16px}.player-info{flex:1;min-width:0}.player-name{font-weight:600;color:var(--text-primary, #333);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.you-badge{color:var(--primary-color, #007bff);font-size:.9em;font-weight:400}.player-word{font-size:.9rem;color:var(--text-secondary, #666);font-family:monospace;letter-spacing:1px}.player-score{font-size:1.1rem;font-weight:700;color:var(--primary-color, #007bff);min-width:60px;text-align:right}.leaderboard-footer{padding:16px 24px;padding-bottom:calc(16px + env(safe-area-inset-bottom,80px));border-top:1px solid var(--border-color, #e0e0e0);background:var(--footer-bg, #f8f9fa);text-align:center;flex-shrink:0}.leaderboard-footer p{margin:0;color:var(--text-secondary, #666);font-size:.9rem}.leaderboard-footer-buttons{display:flex;gap:12px;justify-content:center;margin-bottom:12px;flex-wrap:wrap}.comments-button{background:linear-gradient(145deg,#10b981,#059669);color:#fff;border:none;padding:12px 24px;border-radius:10px;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 4px 12px #10b98133;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:1;min-width:120px;max-width:200px}.comments-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #10b9814d}.stats-button{background:linear-gradient(145deg,#4a5568,#2d3748);color:#fff;border:none;padding:12px 24px;border-radius:10px;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 4px 12px #0003;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:1;min-width:120px;max-width:200px}.stats-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000004d}.comment-count{background:#ffffff4d;border-radius:12px;padding:2px 8px;font-size:14px;font-weight:700;min-width:24px;text-align:center}.dark-mode .leaderboard-modal{background:#1f2937;box-shadow:0 10px 40px #00000080}.dark-mode .leaderboard-header{background:#111827;border-bottom-color:#374151}.dark-mode .leaderboard-header h2{color:#f9fafb}.dark-mode .date-navigation{background:#111827;border-bottom-color:#374151}.dark-mode .nav-button{background:#374151;border-color:#f6ad55;color:#f6ad55}.dark-mode .nav-button:hover:not(:disabled){background:#4a5568;border-color:#ed8936}.dark-mode .date-button{background:#374151;border-color:#f6ad55;color:#f6ad55}.dark-mode .date-button:hover{background:#4a5568;border-color:#ed8936}.dark-mode .close-button,.dark-mode .clear-button{color:#9ca3af}.dark-mode .close-button:hover,.dark-mode .clear-button:hover{background-color:#374151;color:#d1d5db}.dark-mode .leaderboard-content{color:#d1d5db}.dark-mode .leaderboard-entry{background:#1a202c;color:#e2e8f0}.dark-mode .leaderboard-entry:hover{background:#2d3748}.dark-mode .leaderboard-entry.current-user{background:#1a365d;border-color:#63b3ed}.dark-mode .player-name{color:#e2e8f0}.dark-mode .player-word{color:#9ca3af}.dark-mode .you-badge{color:#93c5fd}.dark-mode .player-score{color:#60a5fa}.dark-mode .leaderboard-footer{background:#111827;border-top-color:#374151}.dark-mode .leaderboard-footer p{color:#9ca3af}.dark-mode .weekly-high-score{background:linear-gradient(135deg,#f6ad55,#ed8936);border-color:#f6ad55}.dark-mode .weekly-label,.dark-mode .weekly-player-name{color:#1f2937}.dark-mode .weekly-player-word{background:#fffc}.dark-mode .weekly-player-score{color:#1f2937}.dark-mode .loading{color:#9ca3af}.dark-mode .loading-spinner{border-color:#4a5568;border-top-color:#60a5fa}.dark-mode .error-state{color:#f87171}.dark-mode .empty-state{color:#9ca3af}.dark-mode .date-picker-modal{background:#1f2937}.dark-mode .date-picker-modal h3{color:#f6ad55}.dark-mode .date-picker-input{background:#374151;border-color:#f6ad55;color:#f6ad55}.dark-mode .date-picker-input:hover{background:#4a5568}.dark-mode .date-picker-close{background:#374151;border-color:#f6ad55;color:#f6ad55}.dark-mode .date-picker-close:hover{background:#4a5568}.dark-mode .stats-button{background:linear-gradient(145deg,#718096,#4a5568)}@media (max-width: 480px){.leaderboard-modal{width:95vw;max-height:85vh}.leaderboard-header{padding:16px 20px 12px}.leaderboard-header h2{font-size:1.2rem}.date-navigation{padding:12px 20px;gap:12px}.nav-button{padding:5px 12px;font-size:12px;min-width:60px}.date-button{padding:5px 10px;font-size:11px}.leaderboard-content{padding:16px 20px}.leaderboard-entry{padding:10px 12px}.rank{font-size:1rem;min-width:32px;margin-right:12px}.player-score{font-size:1rem;min-width:50px}}.weekly-high-score{background:linear-gradient(135deg,gold,#ffed4e);border-radius:6px;padding:8px 12px;margin:0 0 12px;border:1px solid #ffc107;display:flex;align-items:center;justify-content:space-between;font-size:.85rem;box-shadow:0 2px 8px #ffc1074d}.weekly-label{font-weight:700;color:#8b4513;font-size:.75rem;letter-spacing:.5px;text-transform:uppercase;min-width:100px}.weekly-player-info{display:flex;align-items:center;gap:8px;flex:1;justify-content:flex-end}.weekly-player-name{font-weight:700;color:#333;font-size:.8rem}.weekly-player-word{color:#666;font-size:.8rem;font-family:monospace;background:#ffffffb3;padding:2px 4px;border-radius:3px}.weekly-player-score{font-size:.85rem;font-weight:700;color:#8b4513;min-width:25px;text-align:right}@media (max-width: 480px){.weekly-high-score{margin:0 0 8px;padding:6px 8px}.weekly-label{font-size:.7rem;min-width:80px}.weekly-player-name,.weekly-player-word{font-size:.75rem}.weekly-player-score{font-size:.8rem}}.date-picker-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000}.date-picker-modal{background:#fff;border-radius:12px;padding:24px;box-shadow:0 20px 40px #0000004d;max-width:400px;width:90vw;display:flex;flex-direction:column;gap:20px}.date-picker-modal h3{margin:0;font-size:1.3rem;color:#744210;text-align:center}.date-picker-input{background:#fffaf0;border:2px solid #D69E2E;border-radius:10px;padding:12px;font-size:16px;color:#744210;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #7442101a;width:100%}.date-picker-input:hover{background:#fefcf9;border-color:#b7791f;box-shadow:0 4px 8px #74421033}.date-picker-input:focus{outline:none;border-color:#b7791f;box-shadow:0 0 0 3px #d69e2e33}.date-picker-close{background:#fffaf0;border:2px solid #D69E2E;border-radius:10px;padding:10px 20px;font-size:14px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #7442101a;color:#744210;font-weight:700}.date-picker-close:hover{background:#fefcf9;border-color:#b7791f;transform:scale(1.05)}.date-picker-close:active{transform:scale(.95)}.auth-modal{background:#fff;border-radius:20px;padding:0;max-width:450px;width:90%;box-shadow:0 20px 60px #0000004d;overflow:hidden}.auth-header{background:linear-gradient(135deg,#d69e2e,#b7791f);padding:24px 28px;display:flex;justify-content:space-between;align-items:center}.auth-header h2{color:#fff;font-size:24px;font-weight:700;margin:0}.auth-header .close-button{background:none;border:none;color:#fff;font-size:32px;cursor:pointer;line-height:1;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:transform .2s}.auth-header .close-button:hover{transform:rotate(90deg)}.auth-content{padding:32px 28px}.auth-error{background:#fee2e2;border:1px solid #FCA5A5;color:#991b1b;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px}.auth-success{background:#d1fae5;border:1px solid #6EE7B7;color:#065f46;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px}.auth-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:600;color:#374151}.form-group input{padding:12px 16px;border:2px solid #E5E7EB;border-radius:8px;font-size:16px;transition:border-color .2s}.form-group input:focus{outline:none;border-color:#d69e2e}.form-group input:disabled{background:#f3f4f6;cursor:not-allowed}.auth-submit-button{background:linear-gradient(145deg,#d69e2e,#b7791f);color:#fff;border:none;padding:14px 24px;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s;margin-top:8px}.auth-submit-button:hover:not(:disabled){box-shadow:0 4px 12px #d69e2e4d;transform:translateY(-1px)}.auth-submit-button:disabled{opacity:.6;cursor:not-allowed}.forgot-password{text-align:right;margin-top:-10px}.forgot-password .link-button{font-size:13px;padding:4px 0}.auth-footer{text-align:center;margin-top:24px;padding-top:24px;border-top:1px solid #E5E7EB}.auth-footer p{font-size:14px;color:#6b7280;margin:0}.link-button{background:none;border:none;color:#d69e2e;font-weight:600;cursor:pointer;text-decoration:underline;padding:0;font-size:14px}.link-button:hover{color:#b7791f}.dark-mode .auth-modal{background:#2a2a2a;box-shadow:0 20px 60px #000000b3}.dark-mode .auth-header{background:linear-gradient(135deg,#f6ad55,#ed8936)}.dark-mode .auth-error{background:#7f1d1d;border-color:#991b1b;color:#fca5a5}.dark-mode .auth-success{background:#064e3b;border-color:#059669;color:#6ee7b7}.dark-mode .form-group label{color:#e2e8f0}.dark-mode .form-group input{background:#1f1f1f;border-color:#4a5568;color:#e2e8f0}.dark-mode .form-group input:focus{border-color:#f6ad55}.dark-mode .form-group input:disabled{background:#2d2d2d}.dark-mode .auth-submit-button{background:linear-gradient(145deg,#f6ad55,#ed8936)}.dark-mode .auth-footer{border-top-color:#4a5568}.dark-mode .auth-footer p{color:#9ca3af}.dark-mode .link-button{color:#f6ad55}.dark-mode .link-button:hover{color:#ed8936}@media (max-width: 768px){.auth-modal{width:95%}.auth-header{padding:20px}.auth-header h2{font-size:22px}.auth-content{padding:24px 20px}.form-group input{font-size:16px}}.settings-modal{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0003;max-width:400px;width:90%;max-height:80vh;overflow:hidden}.settings-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb;background:#f9fafb}.settings-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#111827}.close-button{background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.close-button:hover{background:#e5e7eb;color:#374151}.settings-content{padding:24px}.settings-item{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid #f3f4f6}.settings-item:last-of-type{border-bottom:none}.settings-label{display:flex;align-items:center;gap:12px;font-size:1rem;font-weight:500;color:#374151}.settings-icon{font-size:1.2rem}.toggle-container{display:flex;align-items:center;gap:12px}.toggle-switch{position:relative;width:48px;height:24px;background:#d1d5db;border-radius:12px;border:none;cursor:pointer;transition:all .3s ease;outline:none}.toggle-switch:focus{box-shadow:0 0 0 3px #3b82f61a}.toggle-switch.toggle-on{background:#10b981}.toggle-switch.toggle-off{background:#d1d5db}.toggle-slider{position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .3s ease;box-shadow:0 2px 4px #0000001a}.toggle-on .toggle-slider{transform:translate(24px)}.toggle-label{font-size:.875rem;font-weight:500;color:#6b7280;min-width:30px;text-align:center}.changelog-link{display:inline-block;margin-top:8px;font-size:.75rem;color:#9ca3af;text-decoration:none;transition:color .2s ease}.changelog-link:hover{color:#6b7280;text-decoration:underline}.settings-footer{margin-top:24px;padding-top:24px;border-top:1px solid #f3f4f6;text-align:center}.version-info{display:flex;flex-direction:column;gap:4px}.version-text{margin:0;font-size:.875rem;font-weight:600;color:#374151}.copyright-text{margin:0;font-size:.75rem;color:#6b7280}.dark-mode .settings-modal{background:#1f2937;box-shadow:0 10px 40px #00000080}.dark-mode .settings-header{background:#111827;border-bottom-color:#374151}.dark-mode .settings-header h2{color:#f9fafb}.dark-mode .close-button{color:#9ca3af}.dark-mode .close-button:hover{background:#374151;color:#d1d5db}.dark-mode .settings-label{color:#d1d5db}.dark-mode .settings-item{border-bottom-color:#374151}.dark-mode .toggle-switch.toggle-off{background:#4b5563}.dark-mode .toggle-label{color:#9ca3af}.dark-mode .settings-footer{border-top-color:#374151}.dark-mode .version-text{color:#d1d5db}.dark-mode .copyright-text{color:#9ca3af}.dark-mode .changelog-link{color:#6b7280}.dark-mode .changelog-link:hover{color:#9ca3af}@media (max-width: 480px){.settings-modal{width:95%;margin:20px}.settings-header{padding:16px 20px}.settings-header h2{font-size:1.25rem}.settings-content{padding:20px}.settings-item{padding:12px 0}.settings-label{font-size:.9rem}.toggle-switch{width:44px;height:22px}.toggle-slider{width:18px;height:18px}.toggle-on .toggle-slider{transform:translate(22px)}}.account-info,.account-status{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.account-text{font-size:.875rem;color:#6b7280}.account-text strong{color:#111827;font-weight:600}.account-info .sign-in-button{background:linear-gradient(145deg,#10b981,#059669);color:#fff;border:none;padding:6px 16px;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.account-info .sign-in-button:hover{transform:translateY(-1px);box-shadow:0 2px 8px #10b9814d}.sign-out-button{background:#ef4444;color:#fff;border:none;padding:6px 16px;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.sign-out-button:hover{background:#dc2626;transform:translateY(-1px);box-shadow:0 2px 8px #ef44444d}.dark-mode .account-text{color:#9ca3af}.dark-mode .account-text strong{color:#f9fafb}.dark-mode .account-info .sign-in-button{background:linear-gradient(145deg,#34d399,#10b981)}*{margin:0;padding:0;box-sizing:border-box}html{overflow-x:hidden;width:100%;position:relative}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#f7fafc,#edf2f7);min-height:100vh;overflow-x:hidden;width:100%;position:relative}#root{width:100%}.app{max-width:1200px;margin:0 auto;padding:30px 20px 20px;display:flex;flex-direction:column;align-items:center;gap:15px}.header{text-align:center;color:#744210;margin-top:0;padding-top:0;position:relative;display:flex;flex-direction:column;align-items:center;gap:6px}.settings-buttons{display:flex;gap:16px;justify-content:center;margin-top:12px;flex-wrap:wrap}.leaderboard-button,.mute-toggle,.dark-mode-toggle{background:#fffaf0;border:2px solid #D69E2E;border-radius:10px;padding:10px 22px;font-size:14px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #7442101a;color:#744210;min-width:120px;font-weight:700}.leaderboard-button:hover,.mute-toggle:hover,.dark-mode-toggle:hover{background:#fefcf9;border-color:#b7791f;transform:scale(1.05)}.leaderboard-button:active,.mute-toggle:active,.dark-mode-toggle:active{transform:scale(.95)}.leaderboard-button{background:linear-gradient(135deg,gold,orange);border-color:#ff8c00;color:#8b4513;font-weight:600}.leaderboard-button:hover{background:linear-gradient(135deg,orange,#ff8c00);border-color:#ff7f00}.header h1{font-size:3rem;font-weight:800;margin-bottom:8px;text-shadow:2px 2px 4px rgba(116,66,16,.15)}.header .logo{max-width:440px;width:100%;height:auto;margin-bottom:0;filter:drop-shadow(2px 2px 4px rgba(116,66,16,.2))}.header p{font-size:20px;font-weight:600;letter-spacing:.08em;line-height:1.25;opacity:.9;margin:0 0 6px}.game-container{background:#fffaf0;border-radius:20px;padding:40px;box-shadow:0 4px 20px #7442101a;border:1px solid #E8D4B8}.rotate-phone-message{display:none;flex-direction:column;align-items:center;justify-content:center;margin:4px 0}.rotate-icon{width:50px;height:50px;filter:brightness(0) saturate(100%) invert(27%) sepia(95%) saturate(7158%) hue-rotate(347deg) brightness(95%) contrast(89%);animation:rotateBackForth 1.5s ease-in-out infinite}@keyframes rotateBackForth{0%,to{transform:rotate(-15deg)}50%{transform:rotate(15deg)}}.tile-rack-container{min-height:120px;display:flex;align-items:center;justify-content:center;width:100%;overflow-x:auto;overflow-y:hidden}.tile-rack{display:flex;gap:12px;padding:20px;background:#8b5a2bcc;border-radius:12px;box-shadow:inset 0 2px 4px #0000004d,0 4px 8px #0003;list-style:none;min-width:min-content}.tile-wrapper{position:relative;z-index:1}.tile{width:65px;height:75px;background:linear-gradient(145deg,#f5e6d3,#e8d4b8);border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;cursor:grab;-webkit-user-select:none;user-select:none;box-shadow:0 2px 4px #0003,inset 0 1px #ffffff80,inset 0 -1px #0000001a;border:2px solid #d4b896;transition:box-shadow .2s ease}.tile:hover{box-shadow:0 4px 8px #0000004d,inset 0 1px #ffffff80,inset 0 -1px #0000001a}.tile.dragging{cursor:grabbing;box-shadow:0 8px 24px #0006,inset 0 1px #ffffff80,inset 0 -1px #0000001a;z-index:100}.tile-letter{font-size:2rem;font-weight:900;color:#2d1810;line-height:1;margin-top:-4px;font-family:Arial Black,sans-serif}.tile-points{position:absolute;bottom:6px;right:8px;font-size:.75rem;font-weight:700;color:#2d1810;opacity:.8}.instructions{text-align:center;color:#744210;opacity:.85;max-width:500px}.instructions p{margin:8px 0;font-size:1rem}.desktop-instructions{display:none}.keyboard-container{width:100%;max-width:800px;display:flex;justify-content:center}@media (max-width: 768px){.app{padding:24px 10px 280px;gap:4px}.keyboard-container{position:fixed;bottom:0;left:0;right:0;max-width:100%;z-index:1000}@media (orientation: landscape){.app{padding:16px 0 180px}.keyboard-container{width:100vw!important;max-width:100vw!important;min-width:100vw!important;left:0!important;right:0!important;display:block!important;justify-content:stretch!important;padding:0!important;margin:0!important;position:fixed!important;background:#d1d5db}.dark-mode .keyboard-container{background:#3d3d3d}}.header{margin-bottom:0;margin-top:0;padding-top:0}.settings-buttons{gap:10px;margin-top:8px}.mute-toggle,.dark-mode-toggle{padding:7px 12px;font-size:12px;min-width:100px}.header h1{font-size:1.8rem;margin-bottom:2px;margin-top:0}.header .logo{max-width:280px}.header p{font-size:15px;letter-spacing:.04em;line-height:1.28;font-weight:600;margin:0 0 3px}.game-container{padding:12px 8px;width:100%}.tile-rack-container{min-height:80px;overflow-x:auto;-webkit-overflow-scrolling:touch}.tile-rack{gap:6px;padding:12px 10px}.tile{width:38px;height:46px}.tile-letter{font-size:1.3rem}.tile-points{font-size:.6rem;bottom:4px;right:5px}.tile-rack-scale-medium .tile{width:32px;height:40px}.tile-rack-scale-medium .tile-letter{font-size:1.1rem}.tile-rack-scale-medium .tile-points{font-size:.55rem;bottom:3px;right:4px}.tile-rack-scale-small .tile{width:28px;height:36px}.tile-rack-scale-small .tile-letter{font-size:1rem}.tile-rack-scale-small .tile-points{font-size:.5rem;bottom:2px;right:3px}.instructions{display:none}.rotate-phone-message{display:flex}@media (orientation: landscape){.rotate-phone-message{display:none}}}@media (max-width: 380px){.tile-rack{gap:4px;padding:10px 8px}.tile{width:34px;height:42px}.tile-letter{font-size:1.1rem}.tile-points{font-size:.55rem;bottom:3px;right:4px}.tile-rack-scale-medium .tile{width:28px;height:36px}.tile-rack-scale-medium .tile-letter{font-size:1rem}.tile-rack-scale-small .tile{width:24px;height:32px}.tile-rack-scale-small .tile-letter{font-size:.9rem}.tile-rack-scale-small .tile-points{font-size:.45rem}}@media (min-width: 1024px){.header .logo{max-width:380px}.header p{font-size:24px;letter-spacing:1.1px}.tile{width:50px;height:58px}.tile-letter{font-size:1.6rem}.tile-points{font-size:.7rem}.game-container{padding:24px;max-width:600px}.tile-rack{gap:10px;padding:16px}.score-display{width:auto!important;max-width:380px!important;padding:8px 16px}.score-number{font-size:14px}.score-total{font-size:20px}.score-multiply,.score-equals{font-size:12px}.score-label{font-size:10px;margin-bottom:8px}.score-descriptor{font-size:9px}.score-calculation{flex-wrap:nowrap!important}.score-part,.score-descriptor{white-space:nowrap}.keyboard-container{display:none}.app{padding-bottom:40px}.desktop-instructions{display:block;text-align:center;margin-top:16px}.desktop-instructions p{font-size:14px;font-weight:600;letter-spacing:.5px;opacity:.9;color:#744210;margin:0}}body.dark-mode{background:linear-gradient(135deg,#1a1a1a,#2d2d2d)}.dark-mode .header{color:#f6ad55}.dark-mode .header h1{text-shadow:2px 2px 4px rgba(0,0,0,.5)}.dark-mode .header .logo{filter:drop-shadow(2px 2px 4px rgba(0,0,0,.5))}.dark-mode .settings-buttons button{background:#2a2a2a;border-color:#f6ad55;color:#f6ad55;box-shadow:0 2px 4px #0000004d}.dark-mode .settings-buttons button:hover{background:#333;border-color:#ed8936}.dark-mode .game-container{background:#2a2a2a;border-color:#444;box-shadow:0 4px 20px #00000080}.dark-mode .tile-rack{background:#7442104d;box-shadow:inset 0 2px 4px #00000080,0 4px 8px #0000004d}.dark-mode .instructions{color:#d69e2e}.dark-mode .desktop-instructions p{color:#f6ad55}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:12px;padding:24px;max-width:500px;width:90vw;box-shadow:0 20px 40px #00000026;text-align:center}.set-name-modal{max-width:400px;width:90vw}.set-name-modal h2{color:#744210;margin-bottom:8px}.modal-description{color:#666;margin-bottom:20px;line-height:1.4}.name-input-container{margin-bottom:24px}.name-input{width:100%;padding:12px 16px;border:2px solid #D69E2E;border-radius:8px;font-size:16px;background:#fffaf0;color:#744210;transition:all .2s}.name-input:focus{outline:none;border-color:#b7791f;box-shadow:0 0 0 3px #d69e2e1a}.name-input:disabled{opacity:.6;cursor:not-allowed}.character-count{text-align:right;font-size:12px;color:#666;margin-top:4px}.submit-button{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;min-width:140px}.submit-button:hover:not(:disabled){background:linear-gradient(135deg,#45a049,#3d8b40);transform:translateY(-1px);box-shadow:0 4px 8px #4caf504d}.submit-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.cancel-button{background:#f5f5f5;color:#666;border:1px solid #ddd;padding:12px 24px;border-radius:8px;font-size:16px;cursor:pointer;transition:all .2s;margin-right:12px}.cancel-button:hover:not(:disabled){background:#e9e9e9;border-color:#ccc}.cancel-button:disabled{opacity:.6;cursor:not-allowed}.submit-score-button{background:linear-gradient(135deg,gold,orange);color:#8b4513;border:2px solid #FF8C00;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;margin-bottom:12px}.submit-score-button:hover:not(:disabled){background:linear-gradient(135deg,orange,#ff8c00);border-color:#ff7f00;transform:translateY(-1px);box-shadow:0 4px 8px #ffa5004d}.submit-score-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.view-leaderboard-button{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;margin-bottom:12px}.view-leaderboard-button:hover{background:linear-gradient(135deg,#45a049,#3d8b40);transform:translateY(-1px);box-shadow:0 4px 8px #4caf504d}.error-message{background:#ffebee;color:#c62828;padding:12px 16px;border-radius:8px;margin-bottom:16px;border-left:4px solid #f44336;font-size:14px}.success-message{background:#e8f5e8;color:#2e7d32;padding:12px 16px;border-radius:8px;margin-bottom:16px;border-left:4px solid #4caf50;font-size:14px}.keyboard{width:100%;max-width:800px;padding:8px;background:#d1d5db;border-radius:12px;display:flex;flex-direction:column;gap:8px;box-shadow:0 2px 8px #0000001a}.keyboard-action-buttons{display:flex;justify-content:center;gap:8px;margin-bottom:4px}.keyboard-action-button{flex:1;max-width:120px;height:36px;background:#525252;border:none;border-radius:8px;font-size:12px;font-weight:500;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0 8px;box-shadow:0 1px #0003;transition:background .1s ease;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.keyboard-action-button:active{background:#6b6b6b}.keyboard-action-leaderboard{background:#10b981}.keyboard-action-leaderboard:active{background:#059669}.keyboard-action-settings{background:#8b5cf6}.keyboard-action-settings:active{background:#7c3aed}.keyboard-action-giveup{background:#ef4444}.keyboard-action-giveup:active{background:#dc2626}.keyboard-row{display:flex;justify-content:center;gap:6px;position:relative}.keyboard-row-bottom{gap:8px}.keyboard-spacer{width:20px}.keyboard-key{width:32px;min-width:32px;max-width:45px;height:42px;background:#fff;border:none;border-radius:6px;font-size:20px;font-weight:400;color:#000;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0 12px;box-shadow:0 1px #0000001a;transition:background .1s ease;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;flex:0 0 auto}.keyboard-key:active{background:#e5e7eb}.keyboard-key-wide{min-width:50px;max-width:60px;background:#adb5bd;font-size:14px}.keyboard-key-wide:active{background:#9ca3af}.keyboard-key-bottom{max-width:55px;font-size:16px;background:#adb5bd}.keyboard-key-bottom:active{background:#9ca3af}.keyboard-key-space{width:260px;min-width:260px;max-width:260px;font-size:14px;color:#000;flex:0 0 auto}@media (max-width: 768px){.keyboard{padding:8px 2px 20px;gap:7px;border-radius:0;max-width:100%;width:100%;background:#d1d5db}.keyboard-action-buttons{gap:6px;margin-bottom:6px}.keyboard-action-button{height:32px;font-size:11px;max-width:100px;padding:0 4px}.keyboard-row{gap:3px}.keyboard-row-bottom{gap:6px}.keyboard-key{width:34px;min-width:34px;max-width:34px;height:44px;font-size:21px;padding:0;flex:0 0 auto}.keyboard-spacer{width:16px;flex:0 0 16px}.keyboard-key-wide{min-width:0;max-width:none;flex:1.5;font-size:13px}.keyboard-key-bottom{width:60px;min-width:60px;max-width:60px;font-size:15px;flex:0 0 auto}.keyboard-key-space{width:255px;min-width:255px;max-width:255px;font-size:14px;flex:0 0 auto}}@media (max-width: 380px){.keyboard{padding:6px 2px 16px;gap:6px}.keyboard-action-button{height:30px;font-size:10px;max-width:90px;padding:0 2px}.keyboard-row{gap:2px}.keyboard-key{width:32px;min-width:32px;max-width:32px;height:42px;font-size:19px;flex:0 0 auto}.keyboard-spacer{width:14px;flex:0 0 14px}.keyboard-key-wide{font-size:11px}.keyboard-key-bottom{width:56px;min-width:56px;max-width:56px;font-size:14px}.keyboard-key-space{width:238px;min-width:238px;max-width:238px;font-size:13px}}.dark-mode .keyboard{background:#3d3d3d;box-shadow:0 2px 8px #00000080}.dark-mode .keyboard-action-button{background:#666;color:#e2e8f0;box-shadow:0 1px #0000004d}.dark-mode .keyboard-action-button:active{background:#7a7a7a}.dark-mode .keyboard-action-leaderboard{background:#059669}.dark-mode .keyboard-action-leaderboard:active{background:#047857}.dark-mode .keyboard-action-settings{background:#7c3aed}.dark-mode .keyboard-action-settings:active{background:#6d28d9}.dark-mode .keyboard-action-giveup{background:#dc2626}.dark-mode .keyboard-action-giveup:active{background:#b91c1c}.dark-mode .keyboard-key{background:#525252;color:#e2e8f0;box-shadow:0 1px #0000004d}.dark-mode .keyboard-key:active{background:#6b6b6b}.dark-mode .keyboard-key-wide,.dark-mode .keyboard-key-bottom{background:#666;color:#e2e8f0}.dark-mode .keyboard-key-wide:active,.dark-mode .keyboard-key-bottom:active{background:#7a7a7a}.dark-mode .keyboard-key-space{color:#e2e8f0}.keyboard-landscape{max-height:170px;padding:5px 0!important;gap:3px;width:100%!important;max-width:100%!important;min-width:100%!important;background:#d1d5db!important;border-radius:0!important;box-sizing:border-box!important;margin:0!important;display:flex!important;flex-direction:column!important;box-shadow:0 2px 8px #0000001a}.keyboard-action-buttons-landscape{display:flex;justify-content:center;gap:4px;margin-bottom:3px;padding:0 3px;width:100%;box-sizing:border-box}.keyboard-action-buttons-landscape .keyboard-action-button{flex:1 1 0;min-width:0;height:28px;font-size:10px;padding:0 4px;border-radius:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.keyboard-row-landscape{gap:3px;justify-content:stretch;display:flex;align-items:center;width:100%;padding:0 3px;box-sizing:border-box;margin:0}.keyboard-key-landscape{flex:1 1 0;min-width:0;height:36px!important;min-height:36px!important;max-height:36px!important;font-size:16px!important;padding:0!important;background:#fff!important;color:#000!important;border:none!important;border-radius:6px!important;font-weight:400!important;box-shadow:0 1px #0000001a!important;display:flex;align-items:center;justify-content:center;transition:background .1s ease}.keyboard-key-landscape:active{background:#e5e7eb!important}.keyboard-spacer-landscape{flex:0 0 3px;min-width:3px}.keyboard-key-bottom.keyboard-key-landscape{flex:1 1 0;min-width:0;height:36px!important;min-height:36px!important;max-height:36px!important;font-size:16px!important;background:#adb5bd!important;color:#000!important}.keyboard-key-bottom.keyboard-key-landscape:active{background:#9ca3af!important}.keyboard-key-backspace.keyboard-key-landscape{height:36px!important;min-height:36px!important;max-height:36px!important;font-size:16px!important;background:#adb5bd!important;color:#000!important}.keyboard-key-backspace.keyboard-key-landscape:active{background:#9ca3af!important}.keyboard-key-enter.keyboard-key-landscape{height:36px!important;min-height:36px!important;max-height:36px!important;background:#adb5bd!important;color:#000!important;font-size:16px!important}.keyboard-key-enter.keyboard-key-landscape:active{background:#9ca3af!important}@media (max-width: 768px) and (orientation: landscape){.keyboard-container{max-height:180px;background:#d1d5db;width:100vw!important;max-width:100vw!important;min-width:100vw!important;left:0!important;right:0!important;padding:0!important;margin:0!important;position:fixed!important;display:block!important;justify-content:unset!important;align-items:unset!important}.dark-mode .keyboard-container{background:#3d3d3d}.keyboard-container>*{width:100%!important;max-width:100%!important}.keyboard.keyboard-landscape,.keyboard-landscape{max-height:170px;width:100vw!important;max-width:100vw!important;min-width:100vw!important;padding:5px 0!important;margin:0!important;display:flex!important;flex-direction:column!important;box-sizing:border-box!important}.keyboard-row-landscape{padding:0 2px!important;width:100%!important;max-width:100%!important;min-width:100%!important;margin:0!important;display:flex!important;flex:0 0 auto!important}.keyboard-key-landscape{flex:1 1 0%!important;min-width:0!important;max-width:none!important;height:36px!important;min-height:36px!important;max-height:36px!important}.keyboard-key-bottom.keyboard-key-landscape,.keyboard-key-backspace.keyboard-key-landscape,.keyboard-key-enter.keyboard-key-landscape{height:36px!important;min-height:36px!important;max-height:36px!important}}.dark-mode .keyboard-landscape{background:#3d3d3d!important;box-shadow:0 2px 8px #00000080}.dark-mode .keyboard-key-landscape{background:#525252!important;color:#e2e8f0!important;box-shadow:0 1px #0000004d!important}.dark-mode .keyboard-key-landscape:active{background:#6b6b6b!important}.dark-mode .keyboard-key-bottom.keyboard-key-landscape,.dark-mode .keyboard-key-backspace.keyboard-key-landscape,.dark-mode .keyboard-key-enter.keyboard-key-landscape{background:#666!important;color:#e2e8f0!important}.dark-mode .keyboard-key-bottom.keyboard-key-landscape:active,.dark-mode .keyboard-key-backspace.keyboard-key-landscape:active,.dark-mode .keyboard-key-enter.keyboard-key-landscape:active{background:#7a7a7a!important}.splash-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#f7fafc,#edf2f7);display:flex;align-items:center;justify-content:center;z-index:10001;padding:12px}.splash-content{background:#fffaf0;border-radius:20px;padding:28px;max-width:600px;width:100%;text-align:center;box-shadow:0 20px 60px #74421040;max-height:90vh;overflow-y:auto}.splash-logo{max-width:300px;width:100%;height:auto;margin:0 auto 14px;filter:drop-shadow(2px 4px 8px rgba(0,0,0,.3))}.welcome-back{margin-bottom:14px;padding:10px 16px;background:linear-gradient(145deg,#4a5568,#2d3748);border-radius:8px}.welcome-back p{font-size:16px;color:#fff;margin:0}.welcome-back strong{color:#fff;font-weight:700}.splash-content h2{font-size:26px;margin-bottom:12px;color:#d69e2e;letter-spacing:1px}.how-to-play-text{text-align:left;margin-bottom:18px;line-height:1.5;font-size:.95rem}.how-to-play-text p{margin:8px 0;color:#1f2937;font-size:inherit}.how-to-play-text .goal-text{text-align:center;margin-bottom:12px;font-size:inherit}.rules-list{margin:10px 0;padding-left:18px;list-style:decimal;list-style-position:outside;font-size:inherit}.rules-list li{margin:5px 0;color:#374151;padding-left:4px;font-size:inherit}.rules-list .reset-time{color:#d69e2e;font-weight:700}.how-to-play-text .tip{margin-top:14px;padding:10px;background:#d69e2e1f;border-radius:8px;color:#b7791f;text-align:center;font-size:inherit}.splash-buttons{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:6px}.splash-buttons.single-button{justify-content:center}.splash-buttons.single-button .play-button{flex:none!important;max-width:none;width:auto}.play-button{background:linear-gradient(145deg,#d69e2e,#b7791f);color:#fff;border:none;padding:12px 32px;border-radius:10px;font-size:18px;font-weight:700;cursor:pointer;box-shadow:0 4px 12px #74421033;transition:all .2s ease;flex:1;max-width:180px;height:56px;display:flex;align-items:center;justify-content:center}.play-button:hover{box-shadow:0 6px 16px #0000004d;transform:translateY(-2px)}.sign-in-button{background:linear-gradient(145deg,#4a5568,#2d3748);color:#fff;border:none;padding:12px 32px;border-radius:10px;font-size:18px;font-weight:700;cursor:pointer;box-shadow:0 4px 12px #0003;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;flex:1;max-width:180px;height:56px}.sign-in-button:hover{box-shadow:0 6px 16px #0000004d;transform:translateY(-2px)}.sign-in-button .optional-text{font-size:12px;font-weight:500;opacity:.85}.toast{position:fixed;top:20px;left:50%;transform:translate(-50%);padding:16px 24px;border-radius:12px;color:#fff;font-weight:600;font-size:16px;z-index:10000;box-shadow:0 4px 12px #0000004d;max-width:90%;text-align:center}.toast-error{background:linear-gradient(135deg,#c05621,#9c4221)}.toast-success{background:linear-gradient(135deg,#68d391,#48bb78)}.toast-info{background:linear-gradient(135deg,#3b82f6,#2563eb)}.game-buttons{display:flex;gap:16px;margin-top:20px;justify-content:center}.game-button{padding:10px 22px;border:none;border-radius:10px;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 4px 8px #0003;transition:all .2s ease;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-width:120px;display:flex;align-items:center;justify-content:center}.undo-button{background:linear-gradient(145deg,#f6ad55,#ed8936);color:#fff}.undo-button:disabled{background:#9ca3af;cursor:not-allowed;opacity:.5}.undo-button:not(:disabled):hover{box-shadow:0 6px 12px #0000004d;transform:translateY(-2px)}.give-button{background:linear-gradient(145deg,#c05621,#9c4221);color:#fff}.give-button:hover{box-shadow:0 6px 12px #0000004d;transform:translateY(-2px)}.game-button-settings{background:linear-gradient(145deg,#8b5cf6,#7c3aed);color:#fff}.game-button-settings:hover{box-shadow:0 6px 12px #8b5cf64d;transform:translateY(-2px)}.game-button-leaderboard{background:linear-gradient(145deg,#10b981,#059669);color:#fff}.game-button-leaderboard:hover{box-shadow:0 6px 12px #10b9814d;transform:translateY(-2px)}.word-history{background:#fffaf0;border-radius:12px;padding:16px 20px;box-shadow:0 4px 12px #74421026;margin-top:4px;max-width:500px;width:100%;border:1px solid #E8D4B8}.word-history-header{font-size:14px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;text-align:center}.word-history-list{display:flex;flex-direction:column;gap:8px}.word-history-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:linear-gradient(135deg,#d69e2e,#b7791f);border-radius:8px;box-shadow:0 2px 4px #74421026}.word-history-word{font-size:18px;font-weight:700;color:#fff;letter-spacing:2px}.word-history-score{font-size:16px;font-weight:700;color:#ffffffe6;background:#fff3;padding:4px 10px;border-radius:6px}.score-display{background:#fffaf0;border-radius:12px;padding:16px 28px;box-shadow:0 4px 12px #74421026;text-align:center;margin-top:0;border:1px solid #E8D4B8;width:100%;max-width:100%}.score-label{font-size:14px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.score-calculation{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.score-part{display:flex;flex-direction:column;align-items:center;gap:4px}.score-number{font-size:28px;font-weight:700;color:#1f2937}.score-descriptor{font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.score-multiply,.score-equals{font-size:24px;font-weight:700;color:#1f2937;margin:0 4px}.score-total{font-size:36px;font-weight:900;color:#d69e2e}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10002;padding:20px}.modal-content{background:#fffaf0;border-radius:20px;padding:40px;max-width:500px;width:100%;text-align:center;box-shadow:0 20px 60px #74421040}.modal-content h2{font-size:32px;margin-bottom:30px;color:#1f2937}.final-word-display{margin:20px 0}.final-word-label{font-size:14px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.final-word{font-size:48px;font-weight:900;color:#d69e2e;letter-spacing:4px}.final-score-display{margin:30px 0;padding:20px;background:linear-gradient(135deg,#d69e2e,#b7791f);border-radius:12px}.final-score-label{font-size:14px;font-weight:600;color:#ffffffe6;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.final-score{font-size:64px;font-weight:900;color:#fff}.modal-message{font-size:16px;color:#6b7280;margin:20px 0;line-height:1.6}.modal-buttons{display:flex;gap:12px;justify-content:center;margin-top:16px;flex-wrap:wrap}.play-again-button{background:linear-gradient(145deg,#d69e2e,#b7791f);color:#fff;border:none;padding:14px 32px;border-radius:10px;font-size:18px;font-weight:700;cursor:pointer;box-shadow:0 4px 12px #74421026;transition:all .2s ease}.play-again-button:hover{box-shadow:0 6px 16px #0000004d;transform:translateY(-2px)}@media (max-width: 768px){.game-buttons{gap:10px;margin-top:12px}.game-button{padding:7px 16px;font-size:14px;min-width:100px}.game-button-settings,.game-button-leaderboard,.give-button{display:none}.score-display{padding:12px 16px;margin-top:0;margin-bottom:0}.score-label{font-size:10px;margin-bottom:8px}.score-calculation{gap:8px}.score-number{font-size:20px}.score-descriptor{font-size:9px}.score-multiply,.score-equals{font-size:18px}.score-total{font-size:28px}.modal-content{padding:30px 20px}.modal-content h2{font-size:26px}.final-word{font-size:36px;letter-spacing:2px}.final-score{font-size:48px}.modal-buttons{gap:8px;flex-direction:column}.play-again-button{padding:12px 24px;font-size:16px;width:100%}.toast{font-size:14px;padding:12px 20px;top:10px}.word-history{padding:12px 14px;margin-top:12px;max-width:100%}.word-history-header{font-size:12px;margin-bottom:8px}.word-history-list{gap:6px}.word-history-item{padding:6px 10px}.word-history-word{font-size:15px;letter-spacing:1px}.word-history-score{font-size:14px;padding:3px 8px}.splash-content{padding:30px 20px;max-height:85vh}.splash-logo{max-width:220px;margin-bottom:16px}.splash-content h2{font-size:22px;margin-bottom:16px}.how-to-play-text p{font-size:14px}.play-button,.sign-in-button{padding:14px 40px;font-size:18px}.sign-in-button .optional-text{font-size:11px}.splash-buttons{gap:12px}}.dark-mode .splash-overlay{background:linear-gradient(135deg,#1a1a1a,#2d2d2d)}.dark-mode .splash-content{background:#2a2a2a;box-shadow:0 20px 60px #000000b3}.dark-mode .welcome-back{background:linear-gradient(145deg,#718096,#4a5568)}.dark-mode .welcome-back p,.dark-mode .welcome-back strong{color:#fff}.dark-mode .splash-content h2{color:#f6ad55}.dark-mode .how-to-play-text p{color:#e2e8f0}.dark-mode .rules-list li{color:#cbd5e0}.dark-mode .rules-list .reset-time{color:#f6ad55}.dark-mode .how-to-play-text .tip{background:#f6ad5526;color:#f6ad55}.dark-mode .play-button{background:linear-gradient(145deg,#f6ad55,#ed8936)}.dark-mode .sign-in-button{background:linear-gradient(145deg,#718096,#4a5568)}.dark-mode .modal-content{background:#2a2a2a;box-shadow:0 20px 60px #000000b3}.dark-mode .modal-content h2{color:#e2e8f0}.dark-mode .final-word{color:#f6ad55}.dark-mode .final-score-display{background:linear-gradient(135deg,#f6ad55,#ed8936)}.dark-mode .modal-message{color:#a0aec0}.dark-mode .play-again-button{background:linear-gradient(145deg,#f6ad55,#ed8936)}.dark-mode .score-display{background:#2a2a2a;border-color:#444;box-shadow:0 4px 12px #00000080}.dark-mode .score-label{color:#a0aec0}.dark-mode .score-number,.dark-mode .score-multiply,.dark-mode .score-equals{color:#e2e8f0}.dark-mode .score-descriptor{color:#a0aec0}.dark-mode .score-total{color:#f6ad55}.dark-mode .word-history{background:#2a2a2a;border-color:#444;box-shadow:0 4px 12px #00000080}.dark-mode .word-history-item{background:linear-gradient(135deg,#f6ad55,#ed8936);box-shadow:0 2px 4px #0000004d}.dark-mode .game-button{box-shadow:0 4px 8px #0006}.dark-mode .undo-button{background:linear-gradient(145deg,#f6ad55,#ed8936)}.dark-mode .give-button{background:linear-gradient(145deg,#c05621,#9c4221)}.dark-mode .final-word-label,.dark-mode .final-score-label{color:#fffffff2}.dark-mode .close-button{color:#a0aec0}.dark-mode .close-button:hover{color:#d1d5db}
