:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#ffffffde;background-color:#242424;--error-color: #ef4444;--success-color: #22c55e;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;display:flex;justify-content:center;align-items:flex-start;min-width:320px;min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f0f23);padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);overflow-y:auto;-webkit-overflow-scrolling:touch}#app{max-width:800px;width:100%;margin:0 auto;padding:2rem;padding-bottom:calc(2rem + env(safe-area-inset-bottom,0px));text-align:center;position:relative}.capacitor-app #app{padding:.5rem;padding-bottom:calc(1rem + 50px)}.capacitor-app header{margin-bottom:1rem;padding:.5rem 0}.capacitor-app h1{font-size:2em}.capacitor-app .tagline{font-size:.9em;margin-bottom:.25rem}.capacitor-app .total-players{font-size:.8em;margin:.25rem 0}.capacitor-app .player-id-display{padding:.4rem .6rem;margin-bottom:.5rem}.capacitor-app #screen-menu{padding:1rem;margin-bottom:30px;border-radius:16px}.capacitor-app .player-stats{padding:.5rem;margin-bottom:.75rem;gap:.5rem}.capacitor-app .player-stats .stat-value{font-size:1.1em}.capacitor-app .player-stats .stat-label{font-size:.65em}.capacitor-app .level-badge{font-size:.7em;padding:.15rem .4rem}.capacitor-app .play-now-btn{padding:.6rem 1.5rem;font-size:1.1em;margin-bottom:.75rem}.capacitor-app .quick-actions{gap:.5rem;margin-bottom:.75rem}.capacitor-app .quick-action-btn{padding:.5rem .75rem;font-size:.85em}.capacitor-app .custom-room-toggle,.capacitor-app .room-name-input-container,.capacitor-app .hint-purchase-section{padding:.5rem;margin-bottom:.5rem}.capacitor-app .solo-play-section{padding:.75rem;margin-top:.5rem}.capacitor-app .solo-play-section h3{font-size:.9em;margin-bottom:.5rem}.capacitor-app .theme-grid{gap:.4rem}.capacitor-app .theme-btn{padding:.4rem .6rem;font-size:.8em}.capacitor-app .suggestion-bar{margin-top:.5rem}.capacitor-app .site-footer{padding:.5rem;font-size:.75em}.capacitor-app .total-games,.challenge-mode .total-games{display:none}.capacitor-app #screen-solve{padding-top:60px}.capacitor-app .solve-header{margin-top:0}.total-games{position:fixed;top:1.5rem;left:1.5rem;font-size:.85em;color:#ffffff80;background:#0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.6rem 1rem;border-radius:10px;border:1px solid rgba(255,255,255,.1);z-index:100}header{margin-bottom:3rem;padding:2rem 0}.challenge-mode header{margin-bottom:0;padding:.5rem 0}.challenge-mode .header-top{margin-bottom:.5rem}.challenge-mode h1{margin-bottom:0}.challenge-mode .player-id-display,.challenge-mode .change-id-form,.challenge-mode .total-players,.challenge-mode .player-stats,.challenge-mode .streak-display{display:none}.challenge-mode .solve-header{margin-top:0;width:100%;flex-direction:column;align-items:center;justify-content:center}.challenge-mode .challenge-title-info{padding:0}.challenge-mode .timer-row{width:100%;justify-content:center}.challenge-mode #screen-solve{display:flex;flex-direction:column;align-items:center}@media(min-width:700px){.challenge-mode .crossword-layout{flex-direction:row;align-items:flex-start;gap:2rem}.challenge-mode .crossword-clues{flex-direction:column;gap:1.5rem;margin-top:12px}}.challenge-mode .hint-info{text-align:center;width:100%}.challenge-mode .leave-room-btn{align-self:center}.header-top{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:1rem;position:relative;margin-bottom:1rem}h1{font-size:3.5em;line-height:1.1;margin:0;background:linear-gradient(135deg,#646cff,#a855f7,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.theme-toggle{position:absolute;right:0;top:50%;transform:translateY(-50%);background:transparent;border:none;padding:.5rem;font-size:1.5rem;cursor:pointer;border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center;transition:background-color .25s}.theme-toggle:hover{background:#646cff33;border-color:transparent}.theme-toggle .sun-icon{display:inline}.theme-toggle .moon-icon,.light-mode .theme-toggle .sun-icon{display:none}.light-mode .theme-toggle .moon-icon{display:inline}.tagline{color:#fff9;margin:0;font-size:1.25em;font-weight:300;letter-spacing:.05em}.screen{padding:1.5rem;padding-top:max(1.5rem,env(safe-area-inset-top,0px));padding-bottom:max(1.5rem,env(safe-area-inset-bottom,0px))}@supports (padding-top: env(safe-area-inset-top)){.screen{padding-top:calc(1.5rem + env(safe-area-inset-top,0px));padding-bottom:calc(1.5rem + env(safe-area-inset-bottom,0px))}}#screen-menu{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:3rem 2rem;max-width:480px;margin:0 auto;margin-bottom:max(2rem,calc(env(safe-area-inset-bottom,0px) + 2rem));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.hidden{display:none!important}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;color:inherit;cursor:pointer;transition:all .25s}button:hover{border-color:#646cff}button:disabled{opacity:.5;cursor:not-allowed}.primary-btn{background:linear-gradient(135deg,#646cff,#8b5cf6);color:#fff;padding:1.25em 3em;font-size:1.3em;font-weight:600;border-radius:12px;box-shadow:0 4px 20px #646cff66;transition:all .3s ease}.primary-btn:hover{background:linear-gradient(135deg,#535bf2,#7c3aed);box-shadow:0 6px 30px #646cff80;transform:translateY(-2px)}.primary-btn:active{transform:translateY(0)}#find-match-btn{width:100%;max-width:280px;padding:1.5em 2em;font-size:1.4em}.play-now-container{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:320px;margin:0 auto}.play-options{display:flex;flex-direction:column;gap:.75rem;width:100%;animation:fadeSlideIn .3s ease}.play-options.hidden{display:none}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.play-option-btn{display:flex;align-items:center;gap:1rem;width:100%;padding:1rem 1.25rem;background:#646cff1a;border:2px solid rgba(100,108,255,.3);border-radius:12px;cursor:pointer;transition:all .2s ease;text-align:left}.play-option-btn:hover{background:#646cff33;border-color:#646cff80;transform:translate(4px)}.play-option-btn .option-icon{font-size:1.5rem;width:2rem;text-align:center}.play-option-btn .option-text{display:flex;flex-direction:column;gap:.15rem}.play-option-btn .option-title{font-size:1.1rem;font-weight:600;color:#fffffff2}.play-option-btn .option-desc{font-size:.85rem;color:#fff9}.theme-selector{display:flex;flex-direction:column;gap:.75rem;width:100%;animation:fadeSlideIn .3s ease}.theme-selector.hidden{display:none}.theme-selector-title{font-size:1rem;color:#ffffffb3;margin:0 0 .25rem;text-align:center}.theme-btn{display:flex;align-items:center;gap:.75rem;width:100%;padding:1rem 1.25rem;background:#8b5cf61a;border:2px solid rgba(139,92,246,.3);border-radius:12px;cursor:pointer;transition:all .2s ease}.theme-btn:hover{background:#8b5cf640;border-color:#8b5cf699;transform:translate(4px)}.theme-btn .theme-icon{font-size:1.5rem}.theme-btn .theme-name{font-size:1.1rem;font-weight:600;color:#fffffff2}.theme-back-btn{margin-top:.5rem;padding:.5rem 1rem;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff9;cursor:pointer;font-size:.9rem;transition:all .2s ease}.theme-back-btn:hover{background:#ffffff0d;color:#ffffffe6}.light-mode .play-option-btn{background:#646cff14;border-color:#646cff40}.light-mode .play-option-btn:hover{background:#646cff26;border-color:#646cff66}.light-mode .play-option-btn .option-title{color:#1a1a2e}.light-mode .play-option-btn .option-desc{color:#1a1a2e99}.light-mode .theme-selector-title{color:#1a1a2eb3}.light-mode .theme-btn{background:#8b5cf614;border-color:#8b5cf640}.light-mode .theme-btn:hover{background:#8b5cf626;border-color:#8b5cf666}.light-mode .theme-btn .theme-name{color:#1a1a2e}.light-mode .theme-back-btn{border-color:#1a1a2e33;color:#1a1a2e99}.light-mode .theme-back-btn:hover{background:#1a1a2e0d;color:#1a1a2e}input[type=text]{padding:.75em 1.25em;font-size:1em;border-radius:10px;border:1px solid rgba(255,255,255,.15);background-color:#ffffff0d;color:#ffffffde;font-family:inherit;transition:all .2s ease}input[type=text]:focus{outline:none;border-color:#646cff;background-color:#646cff1a;box-shadow:0 0 0 3px #646cff33}input[type=text]::placeholder{color:#ffffff59}#status-text{margin:1.5rem 0;color:#fff9;font-size:.95em;min-height:1.5em}#status-text.first-time-status{font-size:1.5em;color:#ffffffe6;margin-top:4rem;margin-bottom:2rem;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.7}50%{opacity:1}}body.first-time-user #total-games,body.first-time-user #player-id-display,body.first-time-user #player-stats,body.first-time-user #streak-display,body.first-time-user #daily-challenge,body.first-time-user #active-games,body.first-time-user #total-players,body.first-time-user .tagline,body.first-time-user #screen-menu .divider,body.first-time-user #screen-menu .challenge-card,body.first-time-user #leaderboard-section,body.first-time-user #achievements-section{display:none!important}body.first-time-user #screen-menu{background:transparent!important;border:none!important;box-shadow:none!important}body.first-time-user #status-text{display:block!important;visibility:visible!important;opacity:1!important;color:#ffffffe6!important;font-size:1.5em!important;text-align:center!important;margin:3rem 0!important;animation:pulse 2s ease-in-out infinite!important;min-height:2em!important}body.first-time-user #cancel-matchmaking-btn{display:inline-block!important}.matchmaking-progress{display:flex;flex-direction:column;align-items:center;gap:1.5rem;margin:2rem 0}.matchmaking-progress.hidden{display:none}body.first-time-user .matchmaking-progress{display:flex!important}body.first-time-user .matchmaking-progress.hidden{display:none!important}.progress-bar-container{width:100%;max-width:280px;height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden}.progress-bar{height:100%;width:0%;background:linear-gradient(90deg,#818cf8,#a78bfa);border-radius:4px;transition:width .1s linear}.progress-hint{font-size:.9em;color:#fff9;margin:0;text-align:center}.active-games{position:fixed;top:1.5rem;right:1.5rem;color:#4ade80;font-size:.85em;background:#0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.6rem 1rem;border-radius:10px;border:1px solid rgba(74,222,128,.2);z-index:100}.total-players{position:fixed;top:1.5rem;right:1.5rem;color:#60a5fa;font-size:.85em;background:#0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.6rem 1rem;border-radius:10px;border:1px solid rgba(96,165,250,.2);z-index:100}.player-id-display{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:1.5rem 0 1rem;font-size:.95em;padding:.75rem 1.25rem;background:#646cff1a;border-radius:12px;border:1px solid rgba(100,108,255,.2);display:inline-flex}.player-id-label{color:#fff9}.player-id{font-family:SF Mono,Monaco,Inconsolata,monospace;color:#a78bfa;font-weight:600;letter-spacing:.02em}.change-id-btn{display:none;background:transparent;border:none;padding:.25rem;font-size:1rem;cursor:pointer;opacity:.6;transition:opacity .2s}.change-id-btn:hover{opacity:1;border-color:transparent}.change-id-form{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:.5rem 0}.change-id-form input{width:200px;font-family:monospace}.small-btn{padding:.4em .8em;font-size:.85em;white-space:nowrap}.small-btn.secondary{background:transparent;border:1px solid #666}.small-btn.secondary:hover{border-color:#888}.player-stats{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin:1rem 0 0;font-size:.95em}.level-badge{background:linear-gradient(135deg,#646cff,#8b5cf6);color:#fff;padding:.4rem 1rem;border-radius:2rem;font-weight:600;font-size:.95em;box-shadow:0 2px 10px #646cff4d}.wins-info{color:#fff9}#player-wins{color:#4ade80;font-weight:600}#wins-to-next{color:#fbbf24;font-weight:600}.divider{margin:2.5rem 0;color:#ffffffbf;display:flex;align-items:center;gap:1.5rem;font-size:.9em;text-transform:uppercase;letter-spacing:.1em}.divider:before,.divider:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent)}.room-help{color:#ffffff80;font-size:.85em;margin:0 0 1.25rem;line-height:1.4}.manual-join{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.manual-join input{width:180px;padding:.75em 1em;border-radius:10px}.manual-join button{border-radius:10px;padding:.75em 1.5em}.challenge-card{background:linear-gradient(135deg,#7c3aed26,#7c3aed0d);border:1px solid rgba(124,58,237,.3);border-radius:12px;padding:1.25rem;margin-bottom:1rem}.challenge-tagline{color:#ffffffb3;font-size:.9em;margin:0 0 1rem;line-height:1.4}.quick-share-btn{width:100%;background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;border:none;padding:.9em 1.5em;border-radius:10px;font-size:1em;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5em;transition:transform .15s,box-shadow .15s;margin-bottom:.75rem}.quick-share-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px #7c3aed66}.quick-share-btn:active{transform:translateY(0)}.share-icon{font-size:1.1em}.custom-room-toggle{background:none;border:none;color:#fff9;font-size:.85em;cursor:pointer;padding:.5rem 0;display:flex;align-items:center;gap:.4em;transition:color .2s;width:100%;justify-content:center}.custom-room-toggle:hover{color:#ffffffe6}.toggle-icon{font-size:.7em;transition:transform .2s}.custom-room-toggle.expanded .toggle-icon{transform:rotate(90deg)}.manual-join-section{overflow:hidden;max-height:0;opacity:0;transition:max-height .3s ease,opacity .2s ease,margin .2s ease;margin-top:0}.manual-join-section.visible{max-height:100px;opacity:1;margin-top:.5rem}.challenge-or{color:#ffffff80;font-size:.8em;margin:.5rem 0;text-align:center}.room-instructions{color:#ffffff80;font-size:.8em;margin:0 0 1rem;line-height:1.4}.friend-battles-count{color:#ffffff80;font-size:.8em;margin:1rem 0 0;text-align:center}.head-to-head{background:#7c3aed1a;border-radius:8px;padding:.75rem 1rem;margin:1rem 0;display:flex;align-items:center;justify-content:center;gap:.5rem}.h2h-label{color:#ffffffb3}.h2h-record{font-weight:600;color:#7c3aed}.challenge-prompt{background:linear-gradient(135deg,#7c3aed33,#7c3aed1a);border:1px solid rgba(124,58,237,.3);border-radius:12px;padding:1rem 1.25rem;margin:1.5rem 0;text-align:center}.challenge-prompt p{color:#fffc;margin:0 0 .75rem;font-size:.95em}.challenge-friend-btn{background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;border:none;padding:.6em 1.5em;border-radius:8px;font-size:.9em;cursor:pointer;transition:transform .15s,box-shadow .15s}.challenge-friend-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #7c3aed66}.rematch-section{margin:1.5rem 0;text-align:center}.rematch-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:.75em 2em;border-radius:8px;font-size:1em;font-weight:600;cursor:pointer;transition:transform .15s,box-shadow .15s,opacity .15s}.rematch-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #10b98166}.rematch-btn:disabled{opacity:.6;cursor:not-allowed}.rematch-status{color:#ffffffb3;font-size:.9em;margin:.75rem 0 0}.rematch-request{background:linear-gradient(135deg,#10b98133,#10b9811a);border:1px solid rgba(16,185,129,.3);border-radius:12px;padding:1rem 1.25rem;margin-top:1rem}.rematch-request p{color:#ffffffe6;margin:0 0 .75rem;font-weight:500}.rematch-actions{display:flex;gap:.75rem;justify-content:center}.accept-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:.5em 1.5em;border-radius:6px;font-size:.9em;cursor:pointer;transition:transform .15s,box-shadow .15s}.accept-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #10b98166}.decline-btn{background:#ffffff1a;color:#fffc;border:1px solid rgba(255,255,255,.2);padding:.5em 1.5em;border-radius:6px;font-size:.9em;cursor:pointer;transition:background .15s}.decline-btn:hover{background:#ffffff26}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1001;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:linear-gradient(135deg,#1a1a2e,#16213e);border:1px solid rgba(255,255,255,.15);border-radius:16px;padding:2rem;text-align:center;max-width:320px;width:90%;box-shadow:0 20px 40px #0006;animation:slideUp .25s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-icon{font-size:3rem;margin-bottom:.5rem}.modal-content h3{margin:0 0 .5rem;font-size:1.4em;color:#fff}.modal-content p{margin:0 0 1.5rem;color:#fffc;font-size:1em}.modal-actions{display:flex;gap:1rem;justify-content:center}.modal-actions .accept-btn,.modal-actions .decline-btn{padding:.75em 1.75em;font-size:1em}.light-mode .modal-content{background:linear-gradient(135deg,#f8f8fc,#eef0f8);border-color:#0000001a}.light-mode .modal-content h3{color:#1a1a2e}.light-mode .modal-content p{color:#000000b3}.h2h-modal-content{max-width:380px}.h2h-list{max-height:300px;overflow-y:auto;margin-bottom:1.5rem}.h2h-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid rgba(255,255,255,.1)}.h2h-item:last-child{border-bottom:none}.h2h-opponent{font-weight:500;color:#ffffffe6}.h2h-record{font-size:.9em;color:#ffffffb3}.h2h-record .wins{color:#4ade80}.h2h-record .losses{color:#f87171}.h2h-empty{padding:2rem 1rem;color:#ffffff80;font-style:italic}.light-mode .h2h-item{border-color:#0000001a}.light-mode .h2h-opponent{color:#000000e6}.light-mode .h2h-record{color:#0009}.light-mode .h2h-empty{color:#0006}.suggestion-bar{text-align:center;margin-top:2rem;margin-bottom:.5rem}.suggestion-link{color:#60a5fa;font-size:.9em;font-weight:500;text-decoration:none;background:#60a5fa26;padding:.4em .8em;border-radius:1em;border:1px solid rgba(96,165,250,.3);transition:all .2s ease;display:inline-block}.suggestion-link:hover{color:#93c5fd;background:#60a5fa40;border-color:#60a5fa80;transform:scale(1.02)}.light-mode .suggestion-link{color:#2563eb;background:#2563eb1a;border-color:#2563eb40}.light-mode .suggestion-link:hover{color:#1d4ed8;background:#2563eb2e;border-color:#2563eb66}.suggestion-modal-content{max-width:400px}.suggestion-subtitle{margin-bottom:1rem!important;font-size:.9em!important}.suggestion-input{width:100%;padding:.75rem;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#0000004d;color:#fff;font-family:inherit;font-size:1em;resize:vertical;min-height:100px}.suggestion-input:focus{outline:none;border-color:#646cff}.suggestion-input::placeholder{color:#fff6}.char-count{text-align:right;font-size:.8em;color:#ffffff80;margin:.25rem 0 .75rem}.suggestion-email{width:100%;padding:.75rem;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#0000004d;color:#fff;font-family:inherit;font-size:1em;margin-bottom:1rem}.suggestion-email:focus{outline:none;border-color:#646cff}.suggestion-email::placeholder{color:#fff6}.suggestion-feedback{margin-top:1rem!important;padding:.75rem;border-radius:8px;font-size:.9em!important}.suggestion-feedback.success{background:#4ade8033;color:#4ade80}.suggestion-feedback.error{background:#f8717133;color:#f87171}.light-mode .suggestion-input{background:#0000000d;border-color:#0003;color:#1a1a2e}.light-mode .suggestion-input::placeholder{color:#0006}.light-mode .suggestion-email{background:#0000000d;border-color:#0003;color:#1a1a2e}.light-mode .suggestion-email::placeholder{color:#0006}.light-mode .char-count{color:#00000080}.delete-confirm-modal-content{max-width:340px}.delete-confirm-modal-content .delete-icon{color:#f87171}.delete-confirm-modal-content p{word-break:break-word}.delete-warning{font-size:.9em!important;color:#fff9!important;margin-top:-.5rem!important}.light-mode .delete-warning{color:#00000080!important}.cancel-subscription-modal-content{max-width:380px}.cancel-subscription-modal-content .cancel-sub-icon{color:#f59e0b}.cancel-sub-warning{font-size:.9em!important;color:#fff9!important;margin-top:-.5rem!important}.light-mode .cancel-sub-warning{color:#00000080!important}.completions-modal-content{max-width:500px;min-width:350px;max-height:80vh}.completions-list{max-height:300px;overflow-y:auto;margin:1rem 0}.completion-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#ffffff0d;border-radius:6px;margin-bottom:.5rem}.light-mode .completion-item{background:#0000000d}.completion-player{font-weight:500;font-family:monospace;white-space:nowrap;flex-shrink:0}.completion-details{font-size:.85rem;color:#fff9}.light-mode .completion-details{color:#00000080}.no-completions,.loading-completions,.completions-error{text-align:center;color:#fff9;padding:2rem 0;font-style:italic}.light-mode .no-completions,.light-mode .loading-completions,.light-mode .completions-error{color:#00000080}.name-prompt-modal-content{max-width:400px;text-align:center}.name-prompt-instructions{color:#ffffffb3;margin-bottom:1.5rem;font-size:.95rem}.light-mode .name-prompt-instructions{color:#0009}#name-prompt-form{display:flex;flex-direction:column;gap:1rem}#name-prompt-input{padding:.75rem 1rem;font-size:1.1rem;border-radius:8px;border:2px solid rgba(255,255,255,.2);background:#ffffff1a;color:#fff;text-align:center}.light-mode #name-prompt-input{border-color:#0003;background:#0000000d;color:#000}#name-prompt-input:focus{outline:none;border-color:var(--primary-color)}.puzzle-list-stats{font-size:.75rem;color:#fff9;display:flex;align-items:center;gap:.25rem}.puzzle-list-stats:before{content:"✓";color:#4ade80}.light-mode .puzzle-list-stats{color:#00000080}.link-btn{background:#646cff1a;border:1px solid rgba(100,108,255,.3);border-radius:1rem;color:#a0a8ff;cursor:pointer;font-size:.85em;margin-top:.75rem;padding:.4rem .9rem;text-decoration:none;transition:all .2s ease;display:inline-flex;align-items:center;gap:.4rem}.link-btn:hover{background:#646cff33;border-color:#646cff80;color:#c0c8ff}.light-mode .link-btn{background:#4a4aff14;border-color:#4a4aff40;color:#5a5aff}.light-mode .link-btn:hover{background:#4a4aff26;border-color:#4a4aff66;color:#4a4aff}.spinner{width:50px;height:50px;border:4px solid #333;border-top-color:#646cff;border-radius:50%;animation:spin 1s linear infinite;margin:2rem auto}@keyframes spin{to{transform:rotate(360deg)}}.share-link-section{margin:1.5rem auto;max-width:400px;text-align:center}.share-link-label{font-size:.9em;color:#ffffffb3;margin-bottom:.5rem}.light-mode .share-link-label{color:#0009}.share-link-row{display:flex;gap:.5rem;justify-content:center}.share-link-input{flex:1;max-width:280px;padding:.6em .8em;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:#ffffff0d;color:inherit;font-size:.9em;text-overflow:ellipsis}.light-mode .share-link-input{border-color:#00000026;background:#00000008}.copy-feedback{font-size:.85em;color:#4ade80;margin-top:.5rem}.creator-player-limit-note{font-size:.8em;color:#fff9;margin:.75rem 0;text-align:center}.light-mode .creator-player-limit-note{color:#00000080}#word-form{display:flex;flex-direction:column;gap:.75rem;max-width:300px;margin:1.5rem auto}.pick-for-me-btn{background:linear-gradient(135deg,#8b5cf633,#3b82f633);border:2px solid rgba(139,92,246,.5);color:#a78bfa;padding:.6em 1.2em;font-size:.95em;border-radius:8px;cursor:pointer;transition:all .2s ease;margin:0 auto .5rem;display:block}.pick-for-me-btn:hover{background:linear-gradient(135deg,#8b5cf659,#3b82f659);border-color:#8b5cf6cc;transform:translateY(-1px)}.pick-for-me-btn:active{transform:translateY(0)}.pick-for-me-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.light-mode .pick-for-me-btn{background:linear-gradient(135deg,#8b5cf61a,#3b82f61a);border-color:#8b5cf666;color:#7c3aed}.light-mode .pick-for-me-btn:hover{background:linear-gradient(135deg,#8b5cf633,#3b82f633);border-color:#8b5cf699}.word-input-wrapper{display:flex;flex-direction:column;gap:.25rem;align-items:center}.word-input{text-transform:uppercase;text-align:center;font-size:1.2em;letter-spacing:.1em}.word-input.invalid{border-color:#f87171;background-color:#1a1a1a;color:#f87171}.word-input.invalid:focus{outline-color:#f87171}.word-error{font-size:.85em;color:#f87171;font-weight:500;min-height:1.2em;text-align:center;display:block}.word-input-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.word-input-row .word-input{flex-shrink:0}.inline-suggestions{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center}.inline-suggestions:empty{display:none}.inline-suggestion-btn{background:#ffffff14;border:1px solid rgba(255,255,255,.2);color:#fff9;padding:.25rem .5rem;border-radius:4px;font-size:.7rem;cursor:pointer;transition:all .15s;text-transform:uppercase;letter-spacing:.03em}.inline-suggestion-btn:hover{background:#ffffff26;border-color:#fff6;color:#fff}.inline-suggestion-btn:active{transform:scale(.95)}.suggestion-hint{font-size:.7rem;color:#ffffff80;width:100%;margin-bottom:.25rem}.form-error{margin-top:.75rem;font-size:.8rem;color:#ffffff80;text-align:center}.form-error.hidden{display:none}.leave-room-btn{margin-top:1.5rem}.timer{font-size:2em;font-weight:700;font-variant-numeric:tabular-nums;margin:1rem 0}.timer.warning{color:#f44;animation:pulse 1s ease-in-out infinite}.timer-row{display:flex;align-items:center;justify-content:center;gap:1rem}.penalty-display{font-size:1.2em;font-weight:700;color:orange;background:#ffa50026;padding:.25rem .5rem;border-radius:4px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.solve-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}.opponent-info{display:flex;align-items:center;gap:.75rem;font-size:1.1em}.submit-opponent-info{justify-content:center;margin-bottom:.5rem}.submit-instructions{background:#646cff26;border:1px solid rgba(100,108,255,.3);border-radius:8px;padding:.75rem 1rem;margin:.5rem 0 1rem;font-size:1.05em;text-align:center}.submit-instructions strong{color:#646cff}.light-mode .submit-instructions{background:#646cff1a}.light-mode .submit-instructions strong{color:#535bf2}.opponent-level-badge{background:#646cff33;color:#646cff;padding:.2rem .5rem;border-radius:4px;font-size:.85em;font-weight:700}.solo-theme-info{font-size:1.1em;display:flex;align-items:center;gap:1rem}.solo-theme-info.hidden{display:none}.solo-theme-info span span{font-weight:700;color:#646cff}.solo-level-badge{background:#646cff33;color:#646cff;padding:.2rem .5rem;border-radius:4px;font-size:.85em;font-weight:700}.challenge-title-info{font-size:1.3em;font-weight:700;color:#646cff;text-align:center;width:100%;margin:0;padding:.25rem 0}.challenge-title-info.hidden{display:none}.challenge-name-solve{display:flex;align-items:center;gap:.5rem;justify-content:center;width:100%;margin:.5rem 0}.challenge-name-solve label{font-size:.9rem;color:#ffffffb3}.light-mode .challenge-name-solve label{color:#0009}.challenge-name-solve input{padding:.4rem .6rem;font-size:.9rem;border:1px solid rgba(255,255,255,.3);border-radius:4px;background:#ffffff1a;color:#fff;width:150px}.light-mode .challenge-name-solve input{border-color:#0003;background:#fff;color:#333}.challenge-name-solve.hidden{display:none}.challenge-name-solve .small-btn{min-width:60px;display:flex;align-items:center;justify-content:center}.challenge-name-solve .btn-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.light-mode .challenge-name-solve .btn-spinner{border-color:#0003;border-top-color:#333}.challenge-name-solve .checkmark{color:#4ade80;font-size:1.2em;font-weight:700}.progress-display{display:flex;gap:2rem;font-size:1.1em}.progress-display span span{font-weight:700;color:#646cff}.crossword-grid{display:inline-grid;background:#333;padding:4px;border-radius:4px;margin:1rem auto;box-shadow:0 0 20px #646cff33}.crossword-cell-wrapper{position:relative;width:44px;height:44px;background:#1a1a1a}.crossword-cell-wrapper.black{background:#333}.cell-number{position:absolute;top:2px;left:3px;font-size:10px;color:#888;z-index:1}.crossword-cell{width:44px;height:44px;border:none;background:transparent;color:#fff;font-size:22px;font-weight:700;text-transform:uppercase;padding:0;margin:0;caret-color:#646cff;box-sizing:border-box;display:flex;align-items:center;justify-content:center;cursor:text;user-select:none;-webkit-user-select:none;outline:none}.crossword-cell:focus{background:#2a2a4a;outline:none;box-shadow:0 0 0 2px #646cff,0 0 12px #646cff80}.crossword-cell:not(.correct):not(.incorrect):empty{animation:cell-pulse 2.5s ease-in-out infinite;background:linear-gradient(135deg,rgba(100,108,255,.08),transparent)}@keyframes cell-pulse{0%,to{background-color:#646cff0d;box-shadow:inset 0 0 8px #646cff26}50%{background-color:#646cff1f;box-shadow:inset 0 0 12px #646cff40,0 0 4px #646cff26}}.crossword-cell:not(.correct):not(.incorrect):not(:empty){background-color:#ffffff0d}.crossword-cell.correct{background:#1a3a1a;color:#4ade80;animation:cell-lock-in .3s ease-out}@keyframes cell-lock-in{0%{transform:scale(1.1);box-shadow:0 0 15px #4ade8099}to{transform:scale(1);box-shadow:none}}.crossword-cell.incorrect{background:#3a1a1a;color:#f87171;animation:cell-shake .3s ease-out}@keyframes cell-shake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}.crossword-layout{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.crossword-clues{display:flex;gap:2rem;justify-content:center;flex-wrap:wrap;max-width:600px;text-align:left}.clue-section{min-width:200px}.clue-section h4{margin:0 0 .5rem;color:#646cff;font-size:1em;text-transform:uppercase;letter-spacing:.05em}.clue-section ul{list-style:none;padding:0;margin:0}.clue-section li{padding:.25rem 0;font-size:.95em}.clue-number{font-weight:700;color:#888;min-width:1.5em;display:inline-block}.clue-category{color:#fff;text-transform:capitalize}.clue-length{color:#666;font-size:.85em}.word-list{display:flex;justify-content:center;gap:2rem;margin-top:1rem;text-align:left}.word-list h4{margin:0 0 .5rem;color:#ffffffb3}.word-list ul{list-style:none;padding:0;margin:0}.word-list li{padding:.25rem .5rem;cursor:pointer;border-radius:4px}.word-list li:hover{background:#333}.hint-info{color:#ffffffb3;font-size:.9em;margin-top:1rem}@keyframes pip-attention{0%,to{box-shadow:0 4px 20px #0006,0 0 #2dd4bf00}50%{box-shadow:0 4px 20px #0006,0 0 20px 4px #2dd4bf99}}@keyframes pip-intro{0%{transform:translate(calc(-50vw + 50% + 1rem),calc(-50vh + 50% + 1rem)) scale(0);opacity:0}50%{transform:translate(calc(-50vw + 50% + 1rem),calc(-50vh + 50% + 1rem)) scale(1);opacity:1}to{transform:none;opacity:1}}.opponent-pip{position:fixed;bottom:1rem;right:1rem;background:#0f172af2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(45,212,191,.5);border-radius:12px;padding:0;z-index:100;box-shadow:0 4px 20px #0006,0 0 15px 2px #2dd4bf4d;transition:all .3s ease;overflow:hidden;min-width:80px;animation:pip-attention 1.5s ease-in-out 3}.opponent-pip.hidden{display:none}.opponent-pip.pip-intro{animation:pip-intro 2.5s ease-out forwards}.opponent-pip.pip-collapse{animation:pip-collapse .25s ease-out forwards}@keyframes pip-collapse{0%{opacity:1}to{opacity:0}}.opponent-pip.pip-expand{animation:pip-expand .25s ease-in forwards}@keyframes pip-expand{0%{opacity:0}to{opacity:1}}.opponent-pip.expanded{min-width:160px}.pip-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:#2dd4bf33;cursor:grab;-webkit-user-select:none;user-select:none;transition:background .2s;touch-action:none}.pip-header:active{cursor:grabbing}.pip-header:hover{background:#2dd4bf59}.opponent-pip.user-positioned{bottom:auto!important;right:auto!important}.pip-label{font-size:.75em;font-weight:600;color:#94a3b8e6;text-transform:uppercase;letter-spacing:.05em}.pip-progress{font-size:.85em;font-weight:700;color:#2dd4bf}.pip-grid-wrapper{padding:.5rem}.pip-grid{display:grid;gap:1px;background:#ffffff1a;border-radius:4px;overflow:hidden}.pip-cell{width:6px;height:6px;transition:background-color .2s}.pip-cell.black{background:#00000080}.pip-cell.white{background:#ffffff26}.pip-cell.filled{background:#2dd4bfb3}.pip-cell.unfilled{background:#64748b66}.pip-cell-expanded{width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;transition:background-color .2s}.pip-cell-expanded.black{background:#0f172ae6}.pip-cell-expanded.white{background:#47556980;color:#94a3b899}.pip-cell-expanded.white.unfilled{background:#33415599;color:#94a3b8b3}.pip-cell-expanded.white.filled{background:#14b8a659;color:#5eead4}.opponent-pip.expanded{min-width:auto}.opponent-pip.expanded .pip-grid{gap:2px}.light-mode .opponent-pip{background:#f8fafcfa;border-color:#14b8a64d;box-shadow:0 4px 20px #0000001f}.light-mode .pip-header{background:#14b8a61a}.light-mode .pip-header:hover{background:#14b8a62e}.light-mode .pip-label{color:#475569e6}.light-mode .pip-progress{color:#0d9488}.light-mode .pip-grid{background:#94a3b826}.light-mode .pip-cell.black{background:#1e293b80}.light-mode .pip-cell.white{background:#94a3b84d}.light-mode .pip-cell.filled{background:#14b8a699}.light-mode .pip-cell.unfilled{background:#94a3b866}.light-mode .pip-cell-expanded.black{background:#1e293bcc}.light-mode .pip-cell-expanded.white{background:#cbd5e199;color:#47556980}.light-mode .pip-cell-expanded.white.unfilled{background:#e2e8f0cc;color:#64748b99}.light-mode .pip-cell-expanded.white.filled{background:#14b8a640;color:#0d9488}@media(max-width:500px){.opponent-pip:not(.user-positioned){bottom:auto;top:calc(.5rem + env(safe-area-inset-top,0px) + 50px);right:.5rem}.pip-cell{width:5px;height:5px}.pip-cell-expanded{width:18px;height:18px;font-size:10px}}#result-title{font-size:2.5em;margin-bottom:1rem}#result-details{background:#1a1a1a;padding:1.5rem;border-radius:8px;margin-bottom:2rem;text-align:left;max-width:400px;margin-left:auto;margin-right:auto}#result-details p{margin:.5rem 0}.solution-container{margin:1.5rem auto;text-align:center}.solution-container h3{color:#ffffffb3;margin-bottom:1rem;font-size:1.1em}.solution-container .crossword-grid{margin:0 auto}.solution-container .crossword-cell{cursor:default;color:#4ade80}.results-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.secondary-btn{background-color:transparent;border:2px solid #646cff;color:#646cff;padding:1em 2em;font-size:1.2em}.secondary-btn:hover{background-color:#646cff1a;border-color:#535bf2}.rematch-status{color:#ffffffb3;margin-bottom:1rem;font-style:italic}.rematch-status.waiting{color:orange}.error-toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);background:#dc2626;color:#fff;padding:1rem 1.5rem;border-radius:8px;box-shadow:0 4px 12px #0000004d;z-index:1000;max-width:90vw;text-align:left}.error-toast.info-toast{background:#7c3aed;top:2rem;bottom:auto}.error-message{margin-bottom:.75rem}.error-suggestions{margin-top:.5rem}.suggestion-label{display:block;font-size:.85em;opacity:.9;margin-bottom:.5rem}.suggestion-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.suggestion-btn{background:#fff3;border:1px solid rgba(255,255,255,.4);color:#fff;padding:.4rem .8rem;border-radius:4px;font-size:.9em;cursor:pointer;transition:background .15s,transform .1s}.suggestion-btn:hover{background:#ffffff59;transform:scale(1.05)}.suggestion-btn:active{transform:scale(.98)}.hint-toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#ffa500f2;color:#000;padding:1rem 2rem;border-radius:8px;font-size:1.5em;font-weight:700;box-shadow:0 4px 20px #0006;z-index:1001;animation:hintPop .3s ease-out}@keyframes hintPop{0%{transform:translate(-50%,-50%) scale(.5);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.light-mode{color:#213547;background:linear-gradient(135deg,#f8fafc,#e2e8f0,#f1f5f9)}.light-mode h1{background:linear-gradient(135deg,#4f46e5,#7c3aed,#db2777);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.light-mode #screen-menu{background:#fffc;border-color:#0000001a;box-shadow:0 4px 30px #0000001a}.light-mode .tagline{color:#0009}.light-mode .player-id-display{background:#4f46e51a;border-color:#4f46e533}.light-mode .player-id-label{color:#0009}.light-mode .player-id{color:#4f46e5}.light-mode .wins-info{color:#000000b3}.light-mode #player-wins{color:#16a34a}.light-mode #wins-to-next{color:#d97706}.light-mode .change-id-btn{color:#00000080}.light-mode .change-id-btn:hover{color:#000c}.light-mode #status-text{color:#0009}.light-mode button{background-color:#f9f9f9}.light-mode .active-games{background:#ffffffe6;color:#16a34a;box-shadow:0 2px 8px #0000001a;border-color:#16a34a33}.light-mode .total-games{background:#ffffffe6;color:#00000080;box-shadow:0 2px 8px #0000001a;border-color:#0000001a}.light-mode .total-players{background:#ffffffe6;color:#2563eb;box-shadow:0 2px 8px #0000001a;border-color:#2563eb33}.light-mode .primary-btn{background-color:#646cff;color:#fff}.light-mode .secondary-btn{border-color:#646cff;color:#646cff}.light-mode .secondary-btn:hover{background-color:#646cff1a}.light-mode .opponent-level-badge{background:#646cff26}.light-mode input[type=text]{background-color:#00000008;border-color:#00000026;color:#213547}.light-mode input[type=text]:focus{background-color:#4f46e50d;border-color:#6366f1;box-shadow:0 0 0 3px #6366f133}.light-mode input[type=text]::placeholder{color:#0006}.light-mode .divider{color:#000000b3}.light-mode .divider:before,.light-mode .divider:after{background:linear-gradient(90deg,transparent,rgba(0,0,0,.15),transparent)}.light-mode .room-help{color:#00000080}.light-mode .challenge-card{background:linear-gradient(135deg,#7c3aed1a,#7c3aed08);border-color:#7c3aed33}.light-mode .challenge-tagline{color:#0009}.light-mode .challenge-or,.light-mode .custom-room-toggle{color:#00000080}.light-mode .custom-room-toggle:hover{color:#000c}.light-mode .quick-share-btn{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.light-mode .quick-share-btn:hover{box-shadow:0 4px 15px #7c3aed4d}.light-mode .room-instructions,.light-mode .friend-battles-count{color:#00000080}.light-mode .head-to-head{background:#7c3aed14}.light-mode .h2h-label{color:#0009}.light-mode .challenge-prompt{background:linear-gradient(135deg,#7c3aed1f,#7c3aed0d);border-color:#7c3aed33}.light-mode .challenge-prompt p{color:#000000b3}.light-mode .rematch-status{color:#0009}.light-mode .rematch-request{background:linear-gradient(135deg,#10b98126,#10b98114);border-color:#10b98140}.light-mode .rematch-request p{color:#000c}.light-mode .decline-btn{background:#0000000d;color:#000000b3;border-color:#00000026}.light-mode .decline-btn:hover{background:#0000001a}.light-mode .word-input.invalid{background-color:#fff0f0}.light-mode .crossword-cell-wrapper{background:#f5f5f5}.light-mode .crossword-cell-wrapper.black{background:#ccc}.light-mode .crossword-cell{color:#213547}.light-mode .crossword-grid{box-shadow:0 0 20px #646cff26}.light-mode .crossword-cell:focus{background:#e0e0ff;box-shadow:0 0 0 2px #646cff,0 0 12px #646cff4d}.light-mode .crossword-cell:not(.correct):not(.incorrect):empty{animation:cell-pulse-light 2.5s ease-in-out infinite;background:linear-gradient(135deg,rgba(100,108,255,.06),transparent)}@keyframes cell-pulse-light{0%,to{background-color:#646cff0a;box-shadow:inset 0 0 8px #646cff1a}50%{background-color:#646cff1a;box-shadow:inset 0 0 12px #646cff2e,0 0 4px #646cff1a}}.light-mode .crossword-cell:not(.correct):not(.incorrect):not(:empty){background-color:#00000008}.light-mode .crossword-cell.correct{background:#d4f4d4;color:#16a34a}.light-mode .crossword-cell.incorrect{background:#f4d4d4;color:#dc2626}.light-mode .clue-category{color:#213547}.light-mode .clue-number{color:#666}.light-mode .clue-length{color:#999}.light-mode #result-details{background:#f5f5f5}.light-mode .solution-container h3{color:#666}.light-mode .solution-container .crossword-cell{color:#16a34a}.light-mode .crossword-grid{background:#ccc}.light-mode .word-list li:hover{background:#eee}.light-mode .spinner{border-color:#ccc;border-top-color:#646cff}.streak-display{display:flex;justify-content:center;gap:1.5rem;margin-top:.75rem}.win-streak,.daily-streak{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .8rem;border-radius:20px;font-size:.9em;font-weight:600}.win-streak{background:linear-gradient(135deg,#ffa50033,#ff640033);color:orange;border:1px solid rgba(255,165,0,.3)}.daily-streak{background:linear-gradient(135deg,#4ade8033,#22c55e33);color:#4ade80;border:1px solid rgba(74,222,128,.3)}.light-mode .win-streak{background:linear-gradient(135deg,#ffa50026,#ff640026);color:#d97706}.light-mode .daily-streak{background:linear-gradient(135deg,#4ade8026,#22c55e26);color:#16a34a}.daily-challenge{background:linear-gradient(135deg,#646cff1a,#8b5cf61a);border:1px solid rgba(100,108,255,.3);border-radius:12px;padding:1rem 1.5rem;margin:0 auto 1.5rem;max-width:420px}.daily-challenge-header{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.95em;color:#a78bfa;margin-bottom:.5rem}.daily-challenge-icon{font-size:1.2em;color:#fbbf24}.daily-challenge-content{font-size:.9em;color:#fffc}.daily-challenge-progress-container{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.daily-challenge-bar-bg{flex:1;height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden}.daily-challenge-bar{height:100%;background:linear-gradient(90deg,#646cff,#a855f7);border-radius:4px;transition:width .3s ease}.daily-challenge-status{font-size:.85em;color:#fff9;white-space:nowrap}.daily-challenge.completed{background:linear-gradient(135deg,#4ade8026,#22c55e26);border-color:#4ade804d}.daily-challenge.completed .daily-challenge-header{color:#4ade80}.light-mode .daily-challenge{background:linear-gradient(135deg,#646cff14,#8b5cf614)}.light-mode .daily-challenge-content{color:#000000b3}.light-mode .daily-challenge-status{color:#00000080}.leaderboard-section{max-width:380px;margin:0 auto}.leaderboard-list{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:12px;overflow:hidden}.leaderboard-item{display:flex;align-items:center;padding:.75rem 1rem;border-bottom:1px solid rgba(255,255,255,.05)}.leaderboard-item:last-child{border-bottom:none}.leaderboard-item.top-3{background:linear-gradient(90deg,rgba(255,215,0,.1),transparent)}.leaderboard-item.current-player{background:#646cff26}.leaderboard-rank{width:2rem;font-weight:700;color:#ffffff80}.leaderboard-item.top-3 .leaderboard-rank{color:gold}.leaderboard-name{flex:1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-wins{font-weight:600;color:#4ade80}.player-rank-display{margin-top:1rem;font-size:.95em;color:#ffffffb3}#player-rank{font-weight:700;color:#646cff}#player-weekly-wins{color:#4ade80;font-weight:600}.light-mode .leaderboard-list{background:#00000005;border-color:#00000014}.light-mode .leaderboard-item{border-color:#0000000d}.light-mode .leaderboard-rank{color:#0006}.light-mode .leaderboard-item.top-3 .leaderboard-rank{color:#b8860b}.light-mode .leaderboard-wins{color:#16a34a}.light-mode .player-rank-display{color:#0009}.achievements-section{max-width:480px;margin:0 auto}.achievements-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem}.achievement-item{display:flex;flex-direction:column;align-items:center;padding:.75rem;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:10px;font-size:.8em;text-align:center;transition:all .2s}.achievement-item.unlocked{background:linear-gradient(135deg,#646cff26,#8b5cf626);border-color:#646cff4d}.achievement-item.locked{opacity:.5;filter:grayscale(.5)}.achievement-badge{font-size:1.8em;margin-bottom:.3rem}.achievement-name{font-weight:600;color:#ffffffe6;margin-bottom:.2rem}.achievement-item.locked .achievement-name{color:#ffffff80}.achievement-desc{font-size:.85em;color:#ffffff80;line-height:1.3}.light-mode .achievement-item{background:#00000005;border-color:#00000014}.light-mode .achievement-item.unlocked{background:linear-gradient(135deg,#646cff1a,#8b5cf61a)}.light-mode .achievement-name{color:#000c}.light-mode .achievement-item.locked .achievement-name{color:#0006}.light-mode .achievement-desc{color:#00000080}.result-streak-display{display:flex;justify-content:center;gap:1rem;margin:.75rem 0 1rem}.result-streak-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border-radius:20px;font-size:1em;font-weight:600;animation:streakPop .4s ease-out}.result-streak-badge.win-streak{background:linear-gradient(135deg,#ffa50040,#ff640040);color:orange;border:2px solid rgba(255,165,0,.4)}@keyframes streakPop{0%{transform:scale(.5);opacity:0}70%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.new-achievements{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin:1rem 0}.new-achievement-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:linear-gradient(135deg,#ffd70033,#ffa50033);border:1px solid rgba(255,215,0,.3);border-radius:8px;animation:achievementSlide .5s ease-out}@keyframes achievementSlide{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}.new-achievement-icon{font-size:1.5em}.new-achievement-info{text-align:left}.new-achievement-name{font-weight:600;color:gold}.new-achievement-desc{font-size:.85em;color:#ffffffb3}.daily-challenge-complete{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#4ade8033,#22c55e33);border:1px solid rgba(74,222,128,.4);border-radius:8px;color:#4ade80;font-weight:600;margin:1rem auto;animation:challengeComplete .5s ease-out}@keyframes challengeComplete{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}.challenge-complete-icon{font-size:1.3em;color:#fbbf24}#quick-rematch-btn{min-width:180px}.confetti-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:999;overflow:hidden}.confetti{position:absolute;width:10px;height:10px;background:#ff0;animation:confettiFall linear forwards}@keyframes confettiFall{0%{transform:translateY(-10vh) rotate(0);opacity:1}to{transform:translateY(110vh) rotate(720deg);opacity:0}}.achievement-toast{position:fixed;top:2rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.75rem;background:linear-gradient(135deg,#ffd700f2,#ffa500f2);color:#1a1a1a;padding:1rem 1.5rem;border-radius:12px;box-shadow:0 4px 20px #ffd70066;z-index:1002;animation:toastSlideIn .4s ease-out}.achievement-icon{font-size:1.5em}#achievement-text{font-weight:600}@keyframes toastSlideIn{0%{transform:translate(-50%) translateY(-100%);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.streak-toast{position:fixed;top:2rem;right:2rem;display:flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#ff6400f2,#ff3200f2);color:#fff;padding:.75rem 1.25rem;border-radius:10px;box-shadow:0 4px 15px #ff640066;z-index:1002;animation:streakToastIn .4s ease-out}.streak-icon{font-size:1.3em}#streak-text{font-weight:600}@keyframes streakToastIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media(max-width:500px){#app{padding:1rem}h1{font-size:2.5em}header{padding:1rem 0;margin-bottom:2rem}.tagline{font-size:1.1em}#screen-menu{padding:2rem 1.5rem;border-radius:20px}#find-match-btn{font-size:1.2em;padding:1.25em 1.5em}.player-stats{flex-direction:column;gap:.75rem}.active-games,.total-players,.total-games{position:static;display:inline-block;margin:.25rem}.crossword-grid{gap:1px}.crossword-cell-wrapper{width:36px;height:36px}.crossword-cell{width:36px;height:36px;font-size:18px}.cell-number{font-size:8px}.word-list{flex-direction:column;gap:1rem}.solve-header{flex-direction:column;align-items:stretch}.progress-display{justify-content:space-between}.streak-display{flex-direction:column;gap:.5rem}.daily-challenge{margin:0 .5rem 1rem;padding:.75rem 1rem}.leaderboard-section,.achievements-section{padding:0 .5rem}.achievements-list{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.5rem}.achievement-item{padding:.5rem}.achievement-badge{font-size:1.5em}.result-streak-display{flex-direction:column;align-items:center}.achievement-toast,.streak-toast{top:1rem;left:1rem;right:1rem;transform:none}.achievement-toast{animation:mobileToastSlideIn .4s ease-out}@keyframes mobileToastSlideIn{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}}.cookie-consent{position:fixed;bottom:0;left:0;right:0;background:linear-gradient(to top,#141428fa,#1e1e32f2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1.25rem;z-index:10000;border-top:1px solid rgba(100,108,255,.3);box-shadow:0 -4px 20px #0000004d;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.cookie-consent.hidden{display:none}.cookie-content{max-width:1000px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center}.cookie-content p{margin:0;font-size:.9rem;color:#ffffffd9;line-height:1.5}.cookie-content a{color:#646cff;text-decoration:none}.cookie-content a:hover{text-decoration:underline}.cookie-buttons{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.cookie-btn{padding:.6rem 1.25rem;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;border:none;transition:all .2s ease}.cookie-btn.primary{background:linear-gradient(135deg,#646cff,#a855f7);color:#fff}.cookie-btn.primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #646cff66}.cookie-btn.secondary{background:#ffffff1a;color:#fffc;border:1px solid rgba(255,255,255,.2)}.cookie-btn.secondary:hover{background:#ffffff26;border-color:#ffffff4d}.site-footer{margin-top:3rem;padding:1.5rem;padding-bottom:calc(1.5rem + env(safe-area-inset-bottom,0px));text-align:center;font-size:.85rem;color:#fff6;border-top:1px solid rgba(255,255,255,.1)}.site-footer a{color:#ffffff80;text-decoration:none;transition:color .2s}.site-footer a:hover{color:#646cff}.footer-divider{margin:0 .75rem;color:#fff3}body.light-mode .cookie-consent{background:linear-gradient(to top,#fffffffa,#f5f5faf2);border-top-color:#646cff33}body.light-mode .cookie-content p{color:#000000bf}body.light-mode .cookie-btn.secondary{background:#0000000d;color:#000000b3;border-color:#00000026}body.light-mode .cookie-btn.secondary:hover{background:#0000001a}body.light-mode .site-footer{color:#0006;border-top-color:#0000001a}body.light-mode .site-footer a{color:#00000080}@media(max-width:600px){.cookie-consent{padding:1rem}.cookie-content p{font-size:.85rem}.cookie-buttons{width:100%}.cookie-btn{flex:1;min-width:120px}.site-footer{padding:1rem;font-size:.8rem}}.maintenance-banner{position:fixed;top:0;left:0;right:0;background:linear-gradient(135deg,#ea580cf2,#dc2626f2);color:#fff;padding:.75rem 1rem;z-index:10001;box-shadow:0 4px 15px #ea580c66;animation:slideDown .3s ease-out}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.maintenance-banner.hidden{display:none}.maintenance-content{display:flex;flex-direction:column;align-items:center;gap:.25rem;text-align:center}.maintenance-icon{font-size:1.2em;margin-right:.5rem}.maintenance-text{font-weight:600;font-size:1rem}#maintenance-countdown{font-family:monospace;font-size:1.1em;font-weight:700;background:#0003;padding:.15rem .5rem;border-radius:4px;margin-left:.25rem}.maintenance-subtext{font-size:.85rem;opacity:.9}.maintenance-banner.urgent{animation:urgentPulse 1s ease-in-out infinite}@keyframes urgentPulse{0%,to{background:linear-gradient(135deg,#ea580cf2,#dc2626f2)}50%{background:linear-gradient(135deg,#dc2626f2,#b91c1cf2)}}body.light-mode .maintenance-banner{background:linear-gradient(135deg,#ea580c,#dc2626)}@media(max-width:600px){.maintenance-banner{padding:.6rem .75rem}.maintenance-text{font-size:.9rem}.maintenance-subtext{font-size:.8rem}}body.maintenance-banner-visible{padding-top:70px}@media(max-width:600px){body.maintenance-banner-visible{padding-top:60px}}.results-ad-container{margin:1.5rem 0;overflow:hidden}.results-ad-container:empty{display:none}.results-ad-container ins.adsbygoogle[data-ad-status=unfilled],.capacitor-app .results-ad-container{display:none!important}.capacitor-app .offline-disabled{opacity:.5;pointer-events:none;cursor:not-allowed;position:relative}.capacitor-app .offline-disabled:after{content:"📵";position:absolute;top:50%;right:10px;transform:translateY(-50%);font-size:1em}.capacitor-app .offline-status{color:#f59e0b;font-style:italic}#achievements-divider,.achievements-section,.win-streak,.daily-streak{display:none!important}#screen-creator{max-width:500px;margin:0 auto;padding:1.5rem}#screen-creator h2{margin-bottom:.5rem}.creator-instructions{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.95rem}.creator-input-group{margin-bottom:1.5rem}.creator-input-group label{display:block;font-weight:500;margin-bottom:.5rem;color:var(--text-secondary)}.creator-title-input{width:100%;padding:.75rem;border:2px solid var(--border-color);border-radius:8px;font-size:1rem;background:var(--input-bg);color:var(--text-primary);margin-bottom:1.5rem}.creator-title-input:focus{outline:none;border-color:var(--primary-color)}.creator-language-row{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem}.creator-language-label{display:flex;flex-direction:column;align-items:flex-start;gap:.125rem;padding-top:.4rem}.creator-language-label label{font-weight:500;color:var(--text-color)}.creator-language-help{font-size:.75rem;color:var(--text-secondary);font-style:italic}.creator-language-select{flex:1;padding:.75rem;border:2px solid var(--border-color);border-radius:8px;font-size:1rem;background-color:var(--bg-color);color:var(--text-color);cursor:pointer}.creator-language-select:focus{outline:none;border-color:var(--primary-color)}.creator-options-row{display:flex;gap:1.5rem;margin-bottom:1.5rem}.creator-option{display:flex;align-items:center;gap:.5rem}.creator-option label{font-weight:500;color:var(--text-color);white-space:nowrap}.creator-option-select{padding:.5rem .75rem;border:2px solid var(--border-color);border-radius:8px;font-size:.95rem;background-color:var(--bg-color);color:var(--text-color);cursor:pointer}.creator-option-select:focus{outline:none;border-color:var(--primary-color)}.creator-word-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;align-items:flex-start}.remove-word-btn{display:none;background:transparent;border:none;color:var(--text-secondary);font-size:1.25rem;cursor:pointer;padding:.5rem;line-height:1;opacity:.6;transition:opacity .2s,color .2s;align-self:flex-start;margin-top:.15rem}.remove-word-btn.visible{display:block}.remove-word-btn:hover{opacity:1;color:var(--error-color)}.creator-word-wrapper{flex:0 0 160px;display:flex;flex-direction:column}.creator-word-input{width:100%;padding:.75rem;border:2px solid var(--border-color);border-radius:8px;font-size:1rem;text-transform:uppercase;background:var(--input-bg);color:var(--text-primary)}.creator-word-input.invalid{border-color:var(--error-color)}.creator-word-input.valid{border-color:var(--success-color)}.creator-word-input.custom{border-color:#60a5fa}.creator-word-error{color:var(--error-color);font-size:.75rem;margin-top:.25rem;min-height:1rem}.creator-word-error.custom{color:#60a5fa}.creator-hint-input{flex:1;padding:.75rem;border:2px solid var(--border-color);border-radius:8px;font-size:1rem;background:var(--input-bg);color:var(--text-primary)}.creator-hint-input:disabled{display:none}.creator-inline-suggestions{flex-basis:100%;display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;margin-top:.25rem;padding:.5rem;background:#ffffff08;border-radius:6px}.creator-inline-suggestions:empty{display:none;padding:0;background:none}.creator-inline-suggestions .suggestion-hint{font-size:.7rem;color:#fff9;margin-right:.3rem;flex-shrink:0}.creator-inline-suggestions .inline-suggestion-btn{background:#8a2be233;border:1px solid rgba(138,43,226,.4);color:#ffffffe6;padding:.35rem .6rem;border-radius:4px;font-size:.75rem;cursor:pointer;transition:all .15s;text-transform:uppercase;letter-spacing:.02em;font-weight:500}.creator-inline-suggestions .inline-suggestion-btn:hover{background:#8a2be266;border-color:#8a2be2b3;color:#fff}.creator-inline-suggestions .inline-suggestion-btn:active{transform:scale(.95)}.creator-word-input:focus,.creator-hint-input:focus{outline:none;border-color:var(--primary-color)}#creator-form button[type=submit]{width:100%;margin-top:1rem}#creator-error{margin-top:.75rem;display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.creator-suggestion-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.25);color:#fffc;padding:.25rem .5rem;border-radius:4px;font-size:.7rem;cursor:pointer;transition:all .15s;text-transform:uppercase}.creator-suggestion-btn:hover{background:#fff3;border-color:#fff6;color:#fff}#creator-list-section h2{margin-bottom:1rem}#creator-puzzle-list{margin-bottom:1.5rem}.no-puzzles{color:var(--text-secondary);font-style:italic;text-align:center;padding:2rem 0}.puzzle-list-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#ffffff0d;border-radius:8px;margin-bottom:.5rem}.puzzle-list-info{display:flex;flex-direction:column;gap:.25rem;min-width:0;flex:1}.puzzle-list-title{font-weight:500;color:var(--text-primary);display:flex;align-items:center;gap:.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.draft-badge{font-size:.65rem;font-weight:600;text-transform:uppercase;background:#fbbf2433;color:#fbbf24;padding:.15rem .4rem;border-radius:4px;letter-spacing:.5px}.puzzle-draft{opacity:.8;border-left:3px solid #fbbf24}.light-mode .draft-badge{background:#d9770626;color:#d97706}.puzzle-list-date{font-size:.75rem;color:var(--text-secondary)}.puzzle-list-actions{display:flex;gap:.5rem}.puzzle-list-actions .small-btn{min-width:44px;min-height:44px;padding:.6rem;font-size:1.2rem;display:flex;align-items:center;justify-content:center}@media(max-width:600px){.puzzle-list-item{flex-wrap:wrap;gap:.5rem}.puzzle-list-info{width:100%}.puzzle-list-title{font-size:1.1rem;white-space:normal;overflow:visible}.draft-badge{font-size:.85rem;padding:.3rem .6rem}.puzzle-list-actions{gap:.35rem;width:100%;justify-content:flex-start}.puzzle-list-actions .small-btn{min-width:48px;min-height:48px;padding:.6rem;font-size:1.3rem}}.puzzle-list-actions [title]{position:relative}.puzzle-list-actions [title]:after{content:attr(title);position:absolute;bottom:100%;left:50%;transform:translate(-50%);padding:.3rem .6rem;background:#000000e6;color:#fff;font-size:.75rem;white-space:nowrap;border-radius:4px;opacity:0;pointer-events:none;transition:opacity .15s ease;z-index:100;margin-bottom:4px}.puzzle-list-actions [title]:hover:after{opacity:1;transition-delay:.3s}.puzzle-play-link{text-decoration:none;background-color:#1a1a1a;border-radius:8px;border:1px solid transparent;display:inline-block}.new-completions-glow{animation:completions-glow 1.5s ease-in-out infinite;box-shadow:0 0 8px var(--success-color),0 0 16px var(--success-color)}@keyframes completions-glow{0%,to{box-shadow:0 0 8px var(--success-color),0 0 16px var(--success-color)}50%{box-shadow:0 0 12px var(--success-color),0 0 24px var(--success-color)}}.player-history-title{text-align:center;margin-bottom:1.5rem;color:var(--text-primary)}.player-history-list{margin-bottom:1.5rem}.puzzle-status-badge{display:inline-block;font-size:.7rem;padding:.2em .6em;border-radius:1em;margin-left:.5rem;font-weight:500}.puzzle-status-badge.completed{background:var(--success-color);color:#fff}.puzzle-status-badge.in-progress{background:var(--primary-color);color:#fff}.remove-history-btn{opacity:.7}.remove-history-btn:hover{opacity:1}#creator-new-puzzle-btn{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}#creator-new-puzzle-btn:before{content:"✨"}#creator-new-puzzle-btn:disabled{opacity:.5;cursor:not-allowed}.puzzle-limit-status{text-align:center;color:var(--text-secondary);font-size:.9rem;margin-bottom:1rem}.puzzle-limit-reached{text-align:center;padding:1.5rem;background:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;margin-bottom:1rem}.puzzle-limit-reached p{margin:0 0 1rem;color:var(--text-primary)}.upgrade-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.upgrade-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #6366f166}.subscription-status{text-align:center;padding:1rem;background:var(--surface-color);border:1px solid var(--success-color);border-radius:8px;margin-bottom:1rem}.subscription-status p{margin:0 0 .75rem;color:var(--success-color);font-weight:600}.subscription-email{font-size:.85rem;color:var(--text-secondary);font-weight:400}.cancel-subscription-btn{background:transparent;color:var(--text-secondary);padding:.5rem 1rem;border:1px solid var(--border-color);border-radius:6px;font-size:.85rem;cursor:pointer;transition:all .2s}.cancel-subscription-btn:hover{background:var(--danger-color);color:#fff;border-color:var(--danger-color)}.cancel-subscription-btn:disabled{opacity:.6;cursor:not-allowed}.link-device-section{text-align:center;margin:1.5rem 0;padding:1rem;background:linear-gradient(135deg,#6366f11a,#8b5cf61a);border:1px solid rgba(99,102,241,.3);border-radius:12px}.link-device-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-primary);font-size:1rem;font-weight:500;text-decoration:none;cursor:pointer;padding:.75rem 1.25rem;background:var(--primary-color);border-radius:8px;transition:all .2s ease}.link-device-link:hover{background:var(--primary-hover);transform:translateY(-1px)}.link-device-link:before{content:"🔗"}.link-device-modal-content{max-width:380px}.link-device-modal-content .link-icon{color:#6366f1}.link-email-input{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;margin:.5rem 0 1rem;background:var(--surface-color);color:var(--text-primary)}.link-email-input:focus{outline:none;border-color:var(--primary-color)}.link-error{color:var(--danger-color);font-size:.9rem;margin:0 0 1rem}.link-success{color:var(--success-color);font-size:.9rem;margin:0 0 1rem}.creator-success-header{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:1.5rem}.creator-success-header .success-icon{font-size:2rem;color:var(--success-color)}.creator-success-header h3{margin:0;color:var(--success-color)}.creator-puzzle-table{width:100%;border-collapse:collapse;margin-bottom:1rem}.creator-puzzle-table td{padding:.75rem .5rem;vertical-align:middle}.puzzle-table-label{font-weight:600;color:var(--text-secondary);width:60px;text-align:right;padding-right:1rem!important}.puzzle-table-value{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.creator-share-label{color:var(--text-secondary);margin-bottom:.75rem;font-size:.95rem}.creator-share-row{display:flex;gap:.5rem;margin-bottom:.5rem}.creator-share-input{flex:1;padding:.75rem;border:2px solid var(--border-color);border-radius:8px;font-size:.9rem;background:var(--card-bg);color:var(--text-primary)}.creator-actions{display:flex;gap:.75rem;margin-top:1.5rem}.creator-actions button{flex:1}.creator-back-btn{margin-top:2rem;width:100%}.add-word-btn{width:100%;margin-bottom:1rem}@media(max-width:480px){.creator-word-row{flex-direction:column}.creator-word-wrapper{flex:none;width:100%}.creator-word-input{width:100%}}
