:root,[data-theme=dark]{--page-text:#f9fafb;--page-muted:#d1d5db;--page-bg:#111827;--page-gradient-start:#1f2937;--page-gradient-end:#111827;--header-muted:#d1d5db;--tile-border:#374151;--tile-bg:#111827;--tile-active-bg:#1f2937;--tile-active-fg:#fbbf24;--tile-input-border:#64748b;--tile-input-bg:#0f1b33;--message-text:#e5e7eb;--key-bg:#4b5563;--key-fg:#f9fafb;--key-absent:#1f2937;--panel-bg:#1f2937;--panel-border:#374151;--chip-bg:#111827;--chip-border:#4b5563;--chip-active-bg:#fbbf24;--chip-active-fg:#111827;--btn-secondary-bg:#1f2937;--btn-secondary-border:#4b5563}[data-theme=light]{--page-text:#111827;--page-muted:#4b5563;--page-bg:#f3f4f6;--page-gradient-start:#fff;--page-gradient-end:#e5e7eb;--header-muted:#4b5563;--tile-border:#9ca3af;--tile-bg:#fff;--tile-active-bg:#fef3c7;--tile-active-fg:#b45309;--tile-input-border:#6b7280;--tile-input-bg:#f9fafb;--message-text:#374151;--key-bg:#d1d5db;--key-fg:#111827;--key-absent:#9ca3af;--panel-bg:#fff;--panel-border:#e5e7eb;--chip-bg:#f9fafb;--chip-border:#d1d5db;--chip-active-bg:#2563eb;--chip-active-fg:#fff;--btn-secondary-bg:#fff;--btn-secondary-border:#d1d5db}:root{color:var(--page-text);background-color:var(--page-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at top, var(--page-gradient-start), var(--page-gradient-end) 55%);min-height:100vh;margin:0}#root{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.app{text-align:center;flex-direction:column;gap:16px;width:min(640px,100%);display:flex}.app.setup{gap:20px}.app-header{width:100%}.app-header-corner{top:calc(env(safe-area-inset-top,0px) + 12px);right:calc(env(safe-area-inset-right,0px) + 12px);z-index:100;text-align:right;max-width:min(200px,50vw);position:fixed}h1{letter-spacing:.02em;margin:0;font-size:34px}.game-title{letter-spacing:.012em;color:var(--page-text);text-rendering:optimizelegibility;font-size:clamp(34px,6vw,44px);font-style:italic;font-weight:900;line-height:1.05}@supports ((-webkit-background-clip:text)){.game-title{background-image:linear-gradient(90deg, var(--tile-active-fg), var(--page-text));color:#0000;-webkit-background-clip:text;background-clip:text}}header p{color:var(--header-muted);margin:6px 0 0}.setup-panel{text-align:left;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:12px;flex-direction:column;gap:18px;padding:20px;display:flex}.leaderboard-panel{gap:12px}.leaderboard-title{letter-spacing:.01em;color:var(--page-muted);margin:0;font-size:1rem}.leaderboard-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.leaderboard-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.leaderboard-rank{text-align:left;width:34px;color:var(--page-muted);font-weight:700}.leaderboard-username{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.leaderboard-points{font-weight:800}.choice-group{flex-direction:column;gap:10px;display:flex}.choice-label{color:var(--page-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.85rem;font-weight:600}.choice-chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--chip-border);cursor:pointer;background:var(--chip-bg);color:var(--page-text);border-radius:999px;padding:8px 14px;font-size:.95rem;font-weight:600;transition:background .16s,border-color .16s,color .16s}.chip-active{background:var(--chip-active-bg);border-color:var(--chip-active-bg);color:var(--chip-active-fg)}.setup-actions{flex-direction:column;align-self:center;gap:12px;width:100%;max-width:360px;display:flex}.primary-action{background:var(--chip-active-bg);color:var(--chip-active-fg);cursor:pointer;border:none;border-radius:10px;align-self:stretch;padding:14px 28px;font-size:1.05rem;font-weight:700}.secondary-action{border:1px solid var(--btn-secondary-border);color:var(--page-text);cursor:pointer;background:0 0;border-radius:10px;align-self:stretch;padding:14px 28px;font-size:1.05rem;font-weight:700}.mode-badge{letter-spacing:.04em;text-transform:uppercase;color:var(--chip-active-bg);margin:4px 0 0;font-size:.8rem;font-weight:700}.footer-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.help-disclosure{flex-direction:column;align-items:center;gap:10px;width:100%;margin-top:10px;display:flex}.help-button{border:1px solid var(--btn-secondary-border);color:var(--page-text);cursor:pointer;background:0 0;border-radius:10px;padding:10px 16px;font-weight:700}.help-button:hover{border-color:var(--chip-active-bg)}.help-panel{background:var(--panel-bg);border:1px solid var(--panel-border);width:100%;max-width:520px;color:var(--page-text);text-align:left;border-radius:12px;padding:12px 16px;line-height:1.45}.settings-disclosure{flex-direction:column;align-items:center;gap:10px;width:100%;margin-top:6px;display:flex}.settings-button{border:1px solid var(--btn-secondary-border);width:100%;max-width:520px;color:var(--page-text);cursor:pointer;background:0 0;border-radius:10px;padding:10px 16px;font-weight:700}.settings-button:hover{border-color:var(--chip-active-bg)}.settings-spoiler{opacity:0;pointer-events:none;width:100%;max-width:520px;max-height:0;transition:max-height .24s,opacity .2s,transform .24s;overflow:hidden;transform:translateY(-6px)}.settings-spoiler[data-open=true]{opacity:1;pointer-events:auto;max-height:620px;transform:translateY(0)}.secondary{border:1px solid var(--btn-secondary-border);background:var(--btn-secondary-bg);color:var(--page-text);cursor:pointer;border-radius:8px;padding:10px 16px;font-weight:600}.board{--word-length:5;gap:8px;display:grid}.row{grid-template-columns:repeat(var(--word-length,5), 1fr);gap:8px;display:grid}.tile{border:2px solid var(--tile-border);text-transform:uppercase;background:var(--tile-bg);min-height:58px;color:var(--page-text);border-radius:8px;justify-content:center;align-items:center;gap:2px;font-size:1.4rem;font-weight:700;transition:transform .18s,border-color .18s,background-color .18s;display:flex;position:relative;overflow:hidden}.tile-value{z-index:1;line-height:1;position:relative}.tile.active{border-color:var(--tile-active-fg);background:var(--tile-active-bg);color:var(--tile-active-fg);transform:translateY(-1px)scale(1.02)}.tile-focus-ring{border:2px solid #fbbf24f2;border-radius:6px;animation:1s ease-in-out infinite pulse-focus-ring;position:absolute;inset:3px;box-shadow:0 0 14px #fbbf2499}[data-theme=light] .tile-focus-ring{border-color:#b45309f2;box-shadow:0 0 14px #b4530973}@keyframes pulse-focus-ring{0%{opacity:.65;transform:scale(.98)}50%{opacity:1;transform:scale(1)}to{opacity:.65;transform:scale(.98)}}.tile.correct{color:#f9fafb;background:#16a34a;border-color:#16a34a}.tile.present{color:#f9fafb;background:#ca8a04;border-color:#ca8a04}.tile.absent{color:#f9fafb;background:#374151;border-color:#374151}[data-theme=light] .tile.absent{background:#9ca3af;border-color:#9ca3af}.tile.input-filled{border-color:var(--tile-input-border);background:var(--tile-input-bg)}.message{min-height:22px;color:var(--message-text);margin:0}.keyboard{gap:8px;width:100%;max-width:640px;margin:0 auto;display:grid}.keyboard-locked{opacity:.55;pointer-events:none}.keyboard.keyboard-ru .keyboard-row:not(.keyboard-actions):first-of-type{grid-template-columns:repeat(12,minmax(0,1fr));gap:6px;width:100%;display:grid}.keyboard.keyboard-ru .keyboard-row:not(.keyboard-actions):nth-of-type(2){box-sizing:border-box;grid-template-columns:repeat(11,minmax(0,1fr));gap:6px;width:100%;padding-left:clamp(6px,2.2vw,18px);display:grid}.keyboard.keyboard-ru .keyboard-row:not(.keyboard-actions):nth-of-type(3){box-sizing:border-box;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px;width:100%;padding-left:clamp(12px,4.5vw,36px);display:grid}.keyboard.keyboard-ru .keyboard-row:not(.keyboard-actions) .key{flex:unset;min-width:0;max-width:none}.keyboard.keyboard-en .keyboard-row:not(.keyboard-actions):first-of-type{grid-template-columns:repeat(10,minmax(0,1fr));gap:6px;width:100%;display:grid}.keyboard.keyboard-en .keyboard-row:not(.keyboard-actions):nth-of-type(2){box-sizing:border-box;grid-template-columns:repeat(9,minmax(0,1fr));gap:6px;width:100%;padding-left:clamp(8px,3.2vw,22px);display:grid}.keyboard.keyboard-en .keyboard-row:not(.keyboard-actions):nth-of-type(3){box-sizing:border-box;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;width:100%;padding-left:clamp(18px,7vw,44px);display:grid}.keyboard.keyboard-en .keyboard-row:not(.keyboard-actions) .key{flex:unset;min-width:0;max-width:none}.keyboard-row:not(.keyboard-actions){flex-wrap:wrap;justify-content:center;gap:6px;width:100%;display:flex}.keyboard-row:not(.keyboard-actions) .key{flex:auto;min-width:28px;max-width:48px}.keyboard-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:100%;max-width:320px;margin:0 auto;display:grid}.keyboard-actions .key{max-width:none}.key{background:var(--key-bg);color:var(--key-fg);cursor:pointer;border:none;border-radius:6px;width:100%;min-width:0;height:44px;padding:0 6px;font-weight:700}.key.action{min-width:0;font-size:.95rem}.key.correct{color:#f9fafb;background:#16a34a}.key.present{color:#f9fafb;background:#ca8a04}.key.absent{background:var(--key-absent);color:#f9fafb}.restart{border:1px solid var(--btn-secondary-border);background:var(--btn-secondary-bg);color:var(--page-text);cursor:pointer;border-radius:8px;align-self:center;padding:10px 16px;font-weight:600}@media (width<=520px){.app{gap:14px}.keyboard{gap:6px}.keyboard-row:not(.keyboard-actions),.keyboard.keyboard-ru .keyboard-row:not(.keyboard-actions):first-of-type,.keyboard.keyboard-ru .keyboard-row:not(.keyboard-actions):nth-of-type(2),.keyboard.keyboard-ru .keyboard-row:not(.keyboard-actions):nth-of-type(3),.keyboard.keyboard-en .keyboard-row:not(.keyboard-actions):first-of-type,.keyboard.keyboard-en .keyboard-row:not(.keyboard-actions):nth-of-type(2),.keyboard.keyboard-en .keyboard-row:not(.keyboard-actions):nth-of-type(3){gap:4px}.key{border-radius:5px;height:40px;padding:0 4px;font-size:.92rem}.key.action{font-size:.86rem}}.admin-footer-link,.admin-back-link{color:var(--page-muted);text-underline-offset:3px;font-size:.9rem;font-weight:600;text-decoration:underline}.admin-footer-link:hover,.admin-back-link:hover{color:var(--page-text)}.suggest-word-action{flex-direction:column;align-items:center;gap:8px;display:flex}.suggest-word-btn{font-size:.95rem}.suggest-word-note{color:var(--message-text);margin:0;font-size:.9rem}.admin-console{text-align:left}.admin-console header{text-align:center}.admin-login-form{max-width:360px;margin:0 auto}.admin-login-form .field{flex-direction:column;gap:6px;font-size:.9rem;font-weight:600;display:flex}.admin-login-form .field input{border:1px solid var(--panel-border);background:var(--chip-bg);color:var(--page-text);border-radius:8px;padding:10px 12px;font-size:1rem}.admin-form-error{color:#f87171;margin:0;font-size:.9rem}.admin-first-run-hint{color:var(--page-muted);margin:0 0 8px;font-size:.92rem;line-height:1.45}.admin-encryption-msg{text-align:center;max-width:420px;margin-left:auto;margin-right:auto}.admin-toolbar{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.admin-list-error{text-align:center}.admin-suggestion-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.admin-suggestion-row{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:10px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.admin-suggestion-meta{color:var(--page-muted);flex-direction:column;gap:4px;font-size:.92rem;display:flex}.admin-suggestion-word{color:var(--page-text);letter-spacing:.04em;font-size:1.15rem;font-weight:700}.admin-suggestion-actions{flex-wrap:wrap;gap:8px;display:flex}.primary-action.small,.secondary.small{padding:8px 14px;font-size:.88rem}.user-auth-bar{color:var(--page-muted);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px 10px;margin:0;font-size:.88rem;display:flex}.user-auth-bar-authed{flex-direction:column;align-items:flex-end;gap:4px}.user-auth-bar-name{color:var(--page-text);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:700;overflow:hidden}.user-auth-bar-score{color:var(--page-muted);font-weight:500}.header-auth-entry{border:1px solid var(--btn-secondary-border);background:var(--btn-secondary-bg);color:var(--page-text);border-radius:8px;justify-content:center;align-items:center;padding:8px 12px;font-size:.88rem;font-weight:600;text-decoration:none;transition:background .16s,border-color .16s,color .16s;display:inline-flex}.header-auth-entry:hover{border-color:var(--chip-active-bg);color:var(--page-text)}.user-auth-bar-logout{color:var(--page-muted);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.user-auth-bar-logout:hover{color:var(--page-text)}.user-auth-tabs{justify-content:center;gap:0;margin-bottom:4px;display:flex}.user-auth-tab{border:1px solid var(--panel-border);background:var(--chip-bg);max-width:180px;color:var(--page-muted);cursor:pointer;border-radius:8px 8px 0 0;flex:1;padding:10px 14px;font-weight:600}.user-auth-tab+.user-auth-tab{margin-left:-1px}.user-auth-tab.active{background:var(--panel-bg);color:var(--page-text);border-bottom-color:var(--panel-bg);z-index:1;position:relative}.user-auth-switch{text-align:center;margin:12px 0 0}.link-button{color:var(--page-muted);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.link-button:hover{color:var(--page-text)}.user-auth-authed-card{text-align:center;max-width:380px;margin:0 auto}.user-auth-authed-name{color:var(--page-text);margin:0 0 16px;font-weight:700}.auth-hub .user-auth-authed-card{margin-bottom:12px}.auth-hub-subtitle{color:var(--page-text);margin:0 0 10px;font-size:1.05rem;font-weight:700}.auth-hub .user-auth-authed-card .secondary{width:100%;max-width:280px;margin-top:10px}
