:root{--bg: #1a1a1e;--surface: #25252a;--surface2: #2e2e34;--text: #e8e8ec;--muted: #9090a0;--border: #3a3a42;--accent: #6b8cff;--success: #60c060;--danger: #e06060;--color-bg: var(--bg);--color-surface: var(--surface);--color-surface2: var(--surface2);--color-text: var(--text);--color-text-muted: var(--muted);--color-border: var(--border);--color-accent: var(--accent);--color-danger: var(--danger);--color-success: var(--success);--font-sans: system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--space-unit: 8px;--cell: clamp(44px, 8vw, 72px);--transition-tile: .15s ease;--shadow-panel: 0 4px 20px rgba(0, 0, 0, .25);font-family:var(--font-sans);line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}button,.main-menu-title-cell,.main-menu-title-grid,.topBar-title{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}button:focus{outline:none}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--bg);background-image:linear-gradient(#1a1a1ef0,#1a1a1ef0),url(/assets/bgtexture-Dp5xzO0h.jpg);background-size:auto,auto;background-repeat:repeat,repeat;background-attachment:fixed;color:var(--text)}*{scrollbar-width:thin;scrollbar-color:var(--surface2) var(--surface)}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:var(--surface)}*::-webkit-scrollbar-thumb{background:var(--surface2);border-radius:5px}*::-webkit-scrollbar-thumb:hover{background:var(--border)}.topBar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-unit);width:100%;max-width:100%;min-height:48px;padding:var(--space-unit) calc(var(--space-unit) * 2);flex-shrink:0}.topBar-inner{width:100%;max-width:520px;margin:0 auto}.topBar--single-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:calc(var(--space-unit) * 2)}.topBar--single-row .topBar-menu{justify-self:start}.topBar-title{margin:0;font-size:1.55rem;font-weight:600;color:var(--text);letter-spacing:.02em;text-align:center;justify-self:center}.topBar-actions{display:flex;align-items:center;gap:calc(var(--space-unit) * .75);justify-self:end}.btn-compact{min-height:2rem;padding:calc(var(--space-unit) * .5) calc(var(--space-unit) * 1.25);font-size:.82rem}.topBar-menu{padding:calc(var(--space-unit) * .75) calc(var(--space-unit) * 1.5);font-size:.9rem}.game-screen-center{width:100%;max-width:520px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:calc(var(--space-unit) * 1.5)}.game-screen-center--tutorial{position:relative;overflow:visible}.game-screen-title{margin:0;font-size:1.35rem;font-weight:600;color:var(--text);letter-spacing:.02em;text-align:center}.btn{min-height:2.5rem;padding:calc(var(--space-unit) * .75) calc(var(--space-unit) * 1.5);font-size:.9rem;font-weight:500;border-radius:8px;cursor:pointer;transition:border-color var(--transition-tile),background-color var(--transition-tile),box-shadow var(--transition-tile)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-primary{color:var(--text);background:var(--accent);border:1px solid var(--accent)}.btn-primary:hover:not(:disabled){filter:brightness(1.1);box-shadow:0 0 0 1px var(--accent)}.btn-primary:disabled{opacity:.7;cursor:default}.btn-secondary{color:var(--text);background:var(--bg);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn-secondary:disabled{opacity:.6;cursor:default}.btn-tertiary{color:var(--muted);background:var(--bg);border:1px solid var(--border)}.btn-tertiary:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.btn-tertiary:disabled{opacity:.5;cursor:default}.game-screen-concede:hover:not(:disabled){color:var(--danger);border-color:var(--danger)}.panel{background:var(--surface);border-radius:14px;padding:calc(var(--space-unit) * 2);border:1px solid var(--border);box-shadow:var(--shadow-panel)}.panel-placeholder{color:var(--muted)}.shell{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:calc(var(--space-unit) * 3)}.shell-header{text-align:center;margin-bottom:calc(var(--space-unit) * 3)}.shell-header h1{margin:0;font-size:2.15rem;font-weight:600}.shell-subtitle{margin:var(--space-unit) 0 0;color:var(--color-text-muted);font-size:1rem}.shell-dictionary{margin:var(--space-unit) 0 0;color:var(--color-text-muted);font-size:.875rem}.shell-main{flex:1;width:100%;max-width:1000px;display:flex;flex-direction:column;gap:calc(var(--space-unit) * 2)}.main-menu{width:100%;max-width:360px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:calc(var(--space-unit) * 3)}.main-menu-title-grid{display:grid;grid-template-columns:repeat(4,var(--cell));grid-template-rows:repeat(2,var(--cell));gap:10px}.main-menu-title-cell{min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;font-size:clamp(20px,4vw,32px);font-weight:600;font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);border:2px solid var(--color-text-muted);border-radius:10px;transition:border-color .35s ease,box-shadow .45s ease}.main-menu-title-cell:hover{border-color:var(--accent);box-shadow:0 0 12px #6b8cff66}.main-menu-title-cell--draggable{cursor:grab}.main-menu-title-cell--draggable:active{cursor:grabbing}.main-menu-title-cell--blank{background:var(--color-surface);border-color:var(--color-text-muted);color:transparent}.main-menu-subtitle{margin:0;font-size:.9rem;color:var(--color-text-muted);-webkit-user-select:none;user-select:none;cursor:default}.main-menu-actions{width:100%;display:flex;flex-direction:column;gap:var(--space-unit)}.main-menu-btn{position:relative;overflow:hidden;width:100%;padding:calc(var(--space-unit) * 1) calc(var(--space-unit) * 1.75);font-size:.9rem;font-weight:500;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:border-color .18s ease,color .18s ease;z-index:0}.main-menu-btn:before{content:"";position:absolute;inset:0;background:#6b8cff1f;transform:translate(-100%);transition:transform .28s cubic-bezier(.4,0,.2,1);z-index:-1}.main-menu-btn:hover:not(:disabled):before{transform:translate(0)}.main-menu-btn:hover:not(:disabled){border-color:var(--accent);color:var(--text)}.main-menu-btn--active{border-color:var(--accent)}.main-menu-btn--disabled,.main-menu-btn:disabled{opacity:.45;cursor:not-allowed}.main-menu-btn-chevron{font-size:1.1rem;line-height:1;transition:transform .22s ease;margin-left:var(--space-unit);color:var(--muted)}.main-menu-btn-chevron--open{transform:rotate(90deg)}.main-menu-btn--daily-completed{color:#e8a030;border-color:#e8a03080}.main-menu-btn--daily-completed:hover:not(:disabled){color:#f0b840;border-color:#e8a030}.main-menu-btn-daily-crown{display:flex;align-items:center;margin-left:auto;color:#e8a030;flex-shrink:0}.main-menu-btn--daily-completed:hover:not(:disabled) .main-menu-btn-daily-crown{color:#f0b840}.main-menu-btn--daily-pending{animation:daily-pending-pulse 2.5s ease-in-out infinite}@keyframes daily-pending-pulse{0%,to{color:var(--text)}50%{color:var(--accent)}}.main-menu-button-group{position:relative;width:100%}.main-menu-dropdown{margin-top:6px;padding:8px;background:var(--surface);border-radius:10px;border:1px solid var(--border);display:flex;flex-direction:column;gap:6px;animation:dropdown-in .2s cubic-bezier(.34,1.36,.64,1) both;transform-origin:top center}.main-menu-dropdown-btn{position:relative;overflow:hidden;padding:calc(var(--space-unit) * .75) calc(var(--space-unit) * 1.5);font-size:.88rem;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;cursor:pointer;text-align:left;opacity:0;animation:dropdown-item-in .18s ease forwards;transition:border-color .15s ease}.main-menu-dropdown-btn:hover{border-color:var(--accent)}.main-menu-dropdown-btn--active{border-color:var(--accent);color:var(--accent)}.main-menu-dropdown-btn--primary{margin-top:4px;background:var(--accent);border-color:var(--accent);color:#fff;text-align:center}.main-menu-dropdown-btn--primary:hover{filter:brightness(1.1)}.main-menu-dropdown--gauntlet{min-width:180px}.main-menu-dropdown-label{margin:4px 0 2px;font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.main-menu-gauntlet-count,.main-menu-gauntlet-difficulty{display:flex;gap:6px}.main-menu-divider{width:100%;height:1px;background:var(--border);margin:calc(var(--space-unit) * .5) 0;cursor:default;-webkit-user-select:none;user-select:none}.game-screen-top-actions{margin-bottom:var(--space-unit)}.game-screen-back{min-height:2.75rem;padding:calc(var(--space-unit) * 1.25) calc(var(--space-unit) * 2.5);font-size:.9rem;color:var(--color-text-muted);background:transparent;border:1px solid var(--color-text-muted);border-radius:8px;cursor:pointer}.game-screen-back:hover{border-color:var(--color-accent);color:var(--color-accent)}.modal-backdrop{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-unit);animation:backdrop-in .2s ease both}.modal-backdrop--closing{animation:backdrop-out .18s ease forwards}.modal-panel{width:100%;max-width:420px;max-height:90vh;overflow:auto;animation:modal-in .22s cubic-bezier(.34,1.2,.64,1) both}.modal-panel--closing{animation:modal-out .18s ease forwards}.modal-panel--centered .modal-header{position:relative;justify-content:center}.modal-panel--centered .modal-close{position:absolute;right:0;top:50%;transform:translateY(-50%)}.modal-panel--centered .modal-title{cursor:default;-webkit-user-select:none;user-select:none}.modal-panel--centered{overflow-y:auto;scrollbar-gutter:stable}.modal-panel--centered .modal-body{display:flex;flex-direction:column;align-items:center}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:calc(var(--space-unit) * 2)}.modal-title{margin:0;font-size:1.25rem;font-weight:600}.modal-close{width:32px;height:32px;padding:0;font-size:1.5rem;line-height:1;color:var(--color-text-muted);background:transparent;border:none;border-radius:6px;cursor:pointer}.modal-close:hover{color:var(--color-text);background:var(--color-bg)}.modal-body{color:var(--color-text);-webkit-user-select:none;user-select:none;cursor:default}.settings-modal-content{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 2)}.btn-danger{color:var(--danger);background:transparent;border:1px solid var(--danger)}.btn-danger:hover:not(:disabled){background:#e0606026}.stats-modal{display:flex;flex-direction:column;gap:0;font-size:.78rem}.stats-modal .stats-section-title{font-size:.8rem}.stats-section{display:flex;flex-direction:column;gap:var(--space-unit);padding:calc(var(--space-unit) * 1.5) 0;border-bottom:1px solid var(--border)}.stats-section:last-of-type{border-bottom:none}.stats-section-title{margin:0;font-size:.8rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.stats-best-grid{display:grid;grid-template-columns:auto 1fr;gap:var(--space-unit) calc(var(--space-unit) * 2);align-items:center}.stats-diff-label{font-size:inherit;color:var(--text)}.stats-best-empty{color:var(--muted)}.stats-best-boardid{font-size:.75em;color:var(--muted);margin-left:.25em}.stats-gauntlet-grid{display:grid;grid-template-columns:80px repeat(3,1fr);gap:var(--space-unit) calc(var(--space-unit) * 2);align-items:center}.stats-gauntlet-header{font-size:inherit;color:var(--muted);text-align:center}.stats-daily-grid{display:grid;grid-template-columns:auto 1fr;gap:var(--space-unit) calc(var(--space-unit) * 2);align-items:center}.stats-daily-grid span:nth-child(odd){color:var(--muted)}.stats-totals-grid{display:grid;grid-template-columns:auto 1fr;gap:var(--space-unit) calc(var(--space-unit) * 2);align-items:center;font-size:inherit}.stats-totals-grid span:nth-child(odd){color:var(--muted)}.stats-modal-actions{display:flex;justify-content:flex-end;gap:var(--space-unit);padding-top:var(--space-unit);border-top:1px solid var(--border)}.shell-grid,.shell-bank{min-height:120px;display:flex;align-items:center;justify-content:center}.game-screen{width:100%;max-width:100%;display:flex;flex-direction:column;align-items:center;gap:calc(var(--space-unit) * 2);padding:0 var(--space-unit)}.game-panel{width:100%;max-width:520px;padding:20px 24px;display:flex;flex-direction:column;align-items:center;gap:calc(var(--space-unit) * 2);margin:0 auto;background:#1c1c22eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.game-panel .game-screen-grid-wrap{display:flex;justify-content:center;align-items:flex-start;width:100%}.game-screen-letter-row{display:flex;flex-direction:row;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--space-unit);width:100%}.game-screen-letter-row .letter-bank{flex:1 1 auto;min-width:0;display:flex;justify-content:center}.game-screen-letter-row .letter-bank-keys{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center;gap:var(--space-unit)}.bank-erase{flex-shrink:0;min-width:4.5rem}.game-screen .shell-grid{justify-content:center;align-items:center;flex-direction:column;gap:var(--space-unit)}.game-screen-grid-wrap{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:calc(var(--space-unit) * 2)}.game-screen-actions{display:flex;flex-wrap:wrap;gap:var(--space-unit);justify-content:center}.game-screen-settings{margin-bottom:var(--space-unit)}.game-screen-setting-row{display:flex;align-items:center;gap:var(--space-unit)}.game-screen-setting-row input[type=checkbox]{cursor:pointer}.game-screen-setting-row label{cursor:pointer;font-size:.9rem;color:var(--color-text)}.game-screen-setting-desc{margin:2px 0 0;font-size:.8rem;color:var(--color-text-muted)}.game-screen-difficulty{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-unit);margin-bottom:var(--space-unit)}.difficulty-label{font-size:.9rem;color:var(--color-text-muted)}.difficulty-btn{padding:calc(var(--space-unit) * .75) calc(var(--space-unit) * 1.5);font-size:.85rem;color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-text-muted);border-radius:8px;cursor:pointer}.difficulty-btn:hover:not(:disabled){border-color:var(--color-accent)}.difficulty-btn--active{border-color:var(--color-accent);background:#6b8cff26}.difficulty-btn:disabled{cursor:default;opacity:.6}.game-screen-new-puzzle{min-height:2.75rem;padding:calc(var(--space-unit) * 1.25) calc(var(--space-unit) * 2.5);font-size:.9rem;color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-accent);border-radius:8px;cursor:pointer}.game-screen-new-puzzle:hover:not(:disabled){background:#6b8cff33}.game-screen-new-puzzle:disabled{cursor:default;opacity:.7}.game-screen-generating{margin:var(--space-unit) 0 0;font-size:.85rem;color:var(--muted);text-align:center}.gauntlet-hud{max-width:520px;margin:0 auto calc(var(--space-unit) * .5);padding:calc(var(--space-unit) * .75) calc(var(--space-unit) * 1.5);display:flex;flex-wrap:wrap;gap:calc(var(--space-unit) * 1.5);font-size:.85rem}.gauntlet-hud-item{color:var(--text)}.bank-advancing{font-size:.9rem;color:var(--muted);padding:0 calc(var(--space-unit) * 1)}.gauntlet-complete-modal{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 2)}.gauntlet-complete-summary{margin:0;font-size:.95rem;color:var(--muted)}.gauntlet-complete-time{margin:0;font-size:1.25rem;font-weight:600;color:var(--text)}.gauntlet-complete-penalty{font-size:.9rem;font-weight:400;color:var(--muted)}.gauntlet-splits{display:flex;flex-direction:column;gap:var(--space-unit);padding-top:var(--space-unit);border-top:1px solid var(--border)}.gauntlet-splits-title{margin:0 0 4px;font-size:.8rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.gauntlet-split-row{display:grid;grid-template-columns:80px 1fr auto;gap:var(--space-unit);align-items:baseline;font-size:.9rem}.gauntlet-split-label{color:var(--text)}.gauntlet-split-time{font-weight:600;color:var(--text)}.gauntlet-split-detail{font-size:.8rem;color:var(--muted)}.gauntlet-complete-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-unit);padding-top:var(--space-unit);border-top:1px solid var(--border)}.game-fallback-message{margin:calc(var(--space-unit) * 1) auto 0;font-size:.9rem;color:var(--muted);text-align:center}.game-generation-error{max-width:420px;margin:calc(var(--space-unit) * 2) auto 0;padding:calc(var(--space-unit) * 3);display:flex;flex-direction:column;gap:calc(var(--space-unit) * 2);text-align:center}.game-generation-error-message{margin:0;font-size:1rem;color:var(--text)}.game-generation-error-hint{margin:0;font-size:.9rem;color:var(--muted)}.game-generation-error-actions{display:flex;justify-content:center;gap:var(--space-unit);margin-top:var(--space-unit)}.game-board-id-row{display:flex;align-items:center;justify-content:center;gap:var(--space-unit);margin-top:calc(var(--space-unit) * .5);min-height:1.5rem;cursor:default;-webkit-user-select:none;user-select:none}.game-board-id{font-size:.8rem;color:var(--muted);cursor:default;-webkit-user-select:none;user-select:none}.game-board-id--muted{font-size:.7rem;opacity:.8}.game-board-id-divider{width:1px;height:.9rem;background:var(--border);margin:0 calc(var(--space-unit) * .75);cursor:default;-webkit-user-select:none;user-select:none}.game-practice-tag{font-size:.7rem;font-weight:600;padding:2px 8px;border-radius:6px;background:#6b8cff33;color:var(--accent)}.game-gauntlet-tag{background:#60c06033;color:var(--success)}.game-daily-tag{background:#ffb45033;color:#e8a030}.game-share-row{display:flex;justify-content:center;margin-top:calc(var(--space-unit) * .5)}.share-modal{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 2)}.share-modal-desc{margin:0;font-size:.95rem;color:var(--text);line-height:1.5}.share-modal-link-row{display:flex;gap:var(--space-unit);align-items:center}.share-modal-input{flex:1;min-width:0;padding:calc(var(--space-unit) * 1) calc(var(--space-unit) * 1.5);font-size:.9rem;font-family:var(--font-sans);background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text)}.load-seed-modal{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 2)}.load-seed-label{font-size:.9rem;color:var(--text)}.load-seed-input{padding:calc(var(--space-unit) * 1) calc(var(--space-unit) * 1.5);font-size:1rem;font-family:var(--font-sans);letter-spacing:.1em;text-transform:uppercase;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text)}.load-seed-input::placeholder{color:var(--muted)}.load-seed-error{margin:0;font-size:.85rem;color:var(--danger)}.load-seed-difficulty-label{margin:0;font-size:.9rem;color:var(--muted)}.load-seed-difficulty{display:flex;gap:var(--space-unit)}.load-seed-actions{display:flex;justify-content:flex-end;gap:var(--space-unit)}.win-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#0009;z-index:10}.win-modal{margin:var(--space-unit);max-width:320px;text-align:center}.win-modal-title{margin:0 0 var(--space-unit);font-size:1.5rem;font-weight:600}.win-modal-text{margin:0 0 calc(var(--space-unit) * 2);color:var(--color-text-muted);font-size:.9rem}.win-modal-button{padding:var(--space-unit) calc(var(--space-unit) * 2);font-size:1rem;font-weight:500;color:var(--color-bg);background:var(--color-accent);border:none;border-radius:8px;cursor:pointer}.win-modal-button:hover{filter:brightness(1.1)}.game-screen .shell-bank{flex-direction:column;align-items:stretch;gap:var(--space-unit)}.grid5x5,.grid-with-status{width:min(100%,calc(4 * var(--cell) + 3 * 10px + 2 * 22px))}.grid5x5{display:grid;grid-template-columns:repeat(4,var(--cell));grid-template-rows:repeat(4,var(--cell));gap:10px}.grid-with-status{display:grid;grid-template-columns:22px repeat(4,var(--cell)) 22px;grid-template-rows:22px repeat(4,var(--cell)) 22px;gap:10px}.grid5x5-inner{grid-column:2 / 6;grid-row:2 / 6;display:grid;grid-template-columns:repeat(4,var(--cell));grid-template-rows:repeat(4,var(--cell));gap:10px;min-height:0}.grid5x5-cell{min-width:0;min-height:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:clamp(18px,3.5vw,28px);font-weight:600;font-family:var(--font-sans);color:var(--text);background:var(--surface2);border:2px solid var(--border);border-radius:10px;cursor:pointer;padding:0;overflow:hidden;line-height:1;transition:border-color var(--transition-tile),box-shadow var(--transition-tile),background-color var(--transition-tile);box-shadow:0 1px 2px #00000026}.grid5x5-cell:hover{border-color:var(--accent)}.grid5x5-cell[draggable=true]{cursor:grab}.grid5x5-cell--locked{background:var(--surface);border-color:var(--border);color:var(--text);cursor:default;box-shadow:inset 0 1px #ffffff0a}.grid5x5-cell--joker{background:linear-gradient(135deg,var(--surface) 0%,rgba(107,140,255,.12) 100%);border-color:#6b8cff80;color:var(--accent);cursor:default;font-weight:600}.grid5x5-cell--selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent),0 0 12px #6b8cff40}.grid5x5-cell--flash-invalid{border-color:var(--danger);box-shadow:0 0 0 2px var(--danger);animation:flash-invalid .4s ease}.grid5x5-cell--win{animation:cell-win .5s ease forwards;cursor:default}.grid5x5-cell:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@keyframes cell-win{to{border-color:var(--success);color:var(--success)}}@keyframes flash-invalid{0%,to{border-color:var(--danger);box-shadow:0 0 0 2px var(--danger)}50%{border-color:var(--danger);box-shadow:0 0 0 2px var(--danger)}}.indicator-cell{display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;cursor:default;-webkit-user-select:none;user-select:none}.indicator-cell--row{justify-content:flex-start;padding-left:3px}.indicator-cell--row.indicator-cell--right{justify-content:flex-end;padding-left:0;padding-right:3px}.indicator-cell--col{flex-direction:column;justify-content:flex-end;padding-bottom:3px}.indicator-cell--col.indicator-cell--top{justify-content:flex-start;padding-bottom:0;padding-top:3px}.indicator-bar{border-radius:999px;flex-shrink:0;cursor:default;-webkit-user-select:none;user-select:none}.indicator-bar--row{width:100%;max-width:calc(var(--cell) * .55);height:4px}.indicator-bar--col{width:4px;height:100%;max-height:calc(var(--cell) * .55)}.indicator-tick{font-size:.75rem;font-weight:700;line-height:1;cursor:default;-webkit-user-select:none;user-select:none}.indicator-bar--incomplete{background:var(--muted);opacity:.5}.indicator-bar--valid,.indicator-bar--solution{background:var(--success)}.indicator-bar--invalid{background:var(--danger)}.indicator-tick--solution,.indicator-tick--complete{color:var(--accent)}.grid5x5-cell--check-match{animation:cell-check-match .5s ease forwards;cursor:default}.grid5x5-cell--check-mismatch{animation:cell-check-mismatch .5s ease forwards;cursor:default}.grid5x5-cell--tutorial-reveal{animation:cell-tutorial-reveal .25s ease-out forwards}@keyframes cell-tutorial-reveal{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes cell-check-match{to{border-color:var(--success);color:var(--success)}}@keyframes cell-check-mismatch{to{border-color:var(--danger)}}.letter-bank-complete{color:var(--success)!important;font-weight:600;cursor:default;-webkit-user-select:none;user-select:none}.letter-bank-conceded{color:var(--muted)!important;font-weight:600;cursor:default;-webkit-user-select:none;user-select:none}@media(max-width:480px){.topBar{flex-wrap:wrap;padding-left:var(--space-unit);padding-right:var(--space-unit)}.topBar--single-row .topBar-actions{flex-basis:100%;justify-content:center;order:3}.topBar-title{font-size:1.3rem}.game-panel{padding:16px}}.game-screen-action-buttons{display:flex;align-items:center;gap:0;flex-shrink:0}.game-screen-action-divider{width:1px;height:1.25rem;background:var(--border);margin:0 calc(var(--space-unit) * .75);cursor:default;-webkit-user-select:none;user-select:none}.confirm-modal{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 2)}.confirm-modal p{margin:0;font-size:.95rem;color:var(--text);line-height:1.5}.confirm-modal-actions{display:flex;justify-content:flex-end;gap:var(--space-unit)}.win-modal{display:flex;flex-direction:column;align-items:center;gap:calc(var(--space-unit) * 2)}.win-modal-results{display:block;margin:0 auto;padding-block:var(--space-unit);padding-inline:calc(var(--space-unit) * 2);font-size:.8rem;font-family:var(--font-sans);white-space:pre-wrap;word-break:break-all;text-align:center;background:var(--surface2);border-radius:8px;border:1px solid var(--border);color:var(--text);cursor:default;-webkit-user-select:none;user-select:none;max-height:200px;overflow-y:auto;width:100%;box-sizing:border-box}.win-modal-actions{display:flex;flex-direction:column;align-items:center;gap:var(--space-unit)}.win-modal-actions-row{display:flex;flex-wrap:wrap;gap:var(--space-unit);justify-content:center}.new-puzzle-modal{display:flex;flex-direction:column;align-items:center;gap:calc(var(--space-unit) * 2);text-align:center;cursor:default;-webkit-user-select:none;user-select:none}.new-puzzle-modal-difficulty-label{margin:0;font-size:.9rem;color:var(--color-text-muted);cursor:default;-webkit-user-select:none;user-select:none}.new-puzzle-modal-difficulty{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-unit)}.new-puzzle-modal-actions{display:flex;justify-content:center;margin-top:var(--space-unit)}.onboarding-modal{display:flex;flex-direction:column;align-items:center;gap:calc(var(--space-unit) * 2);text-align:center;cursor:default;-webkit-user-select:none;user-select:none}.onboarding-step-title{margin:0;font-size:1.1rem;font-weight:600;color:var(--text)}.onboarding-step-desc{margin:0;font-size:.95rem;color:var(--muted);line-height:1.5}.onboarding-actions{display:flex;justify-content:center;gap:var(--space-unit);margin-top:var(--space-unit)}.letter-bank{width:100%}.letter-bank-empty{margin:0;text-align:center;cursor:default;-webkit-user-select:none;user-select:none}.bank-key{--key-size: 44px;position:relative;width:var(--key-size);height:var(--key-size);min-width:var(--key-size);min-height:var(--key-size);display:flex;align-items:center;justify-content:center;padding:0;font-size:1.15rem;font-weight:600;color:var(--text);background:var(--surface2);border:2px solid var(--border);border-radius:10px;cursor:pointer;transition:border-color var(--transition-tile),box-shadow var(--transition-tile),transform .1s ease;box-shadow:0 1px 2px #0000001f}.bank-key:hover{border-color:var(--accent)}.bank-key:active{transform:scale(.97)}.bank-key[draggable=true]{cursor:grab}.bank-key-letter{display:block;line-height:1}.bank-key-badge{position:absolute;top:2px;right:4px;font-size:.65rem;font-weight:600;color:var(--muted);background:var(--bg);border-radius:6px;padding:1px 4px;line-height:1.2;min-width:1.1em;text-align:center}.bank-key:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.bank-erase{min-height:44px;padding:0 calc(var(--space-unit) * 1.5);font-weight:600;background:var(--surface2);border:2px solid var(--border);border-radius:10px;box-shadow:0 1px 2px #0000001f;transition:border-color var(--transition-tile),box-shadow var(--transition-tile)}.bank-erase:hover{border-color:var(--accent)}.shell-footer{margin-top:calc(var(--space-unit) * 3);font-size:.75rem;color:var(--color-text-muted)}.app-footer{margin-top:auto;padding-top:calc(var(--space-unit) * 3);width:100%;max-width:1000px;font-size:.8rem;color:var(--muted);display:flex;flex-direction:column;align-items:center;cursor:default;-webkit-user-select:none;user-select:none}.app-footer-divider{width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--border),transparent);margin:0 0 calc(var(--space-unit) * 3);cursor:default;-webkit-user-select:none;user-select:none}.app-footer-columns{display:flex;flex-wrap:wrap;justify-content:center;gap:calc(var(--space-unit) * 3);margin-bottom:calc(var(--space-unit) * 2);width:100%}.app-footer-column{min-width:100px;display:flex;flex-direction:column;align-items:center}.app-footer-heading{margin:0 0 calc(var(--space-unit) * .75);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text);cursor:default;-webkit-user-select:none;user-select:none}.app-footer-links{margin:0;padding:0;list-style:none;cursor:default;-webkit-user-select:none;user-select:none}.app-footer-links li{margin-bottom:calc(var(--space-unit) * .5)}.app-footer-link,.app-footer-link--btn{color:var(--muted);text-decoration:none;transition:color .15s ease;cursor:pointer}.app-footer-link:hover,.app-footer-link--btn:hover{color:var(--accent)}.app-footer-link--btn{background:none;border:none;padding:0;font:inherit;cursor:pointer}.app-footer-text{color:var(--muted);cursor:default;-webkit-user-select:none;user-select:none}.app-footer-copyright{margin:0;padding-top:calc(var(--space-unit) * 2);border-top:1px solid var(--border);font-size:.75rem;color:var(--muted);text-align:center;width:100%;cursor:default;-webkit-user-select:none;user-select:none}.dev-tools{margin-top:0}.dev-tools-title{margin:0 0 var(--space-unit);font-size:.9rem;font-weight:600;color:var(--color-text-muted)}.dev-tools-result{margin:var(--space-unit) 0 0;font-size:.85rem;color:var(--color-text-muted)}.common-board-generator{margin-top:calc(var(--space-unit) * 2);padding-top:calc(var(--space-unit) * 2);border-top:1px solid var(--color-text-muted)}.common-board-generator-title{margin:0 0 var(--space-unit);font-size:.9rem;font-weight:600;color:var(--color-text-muted)}.common-board-generator-controls{display:flex;flex-wrap:wrap;gap:var(--space-unit);align-items:center;margin-bottom:var(--space-unit)}.common-board-generator-field{display:inline-flex;align-items:center;gap:calc(var(--space-unit) / 2);font-size:.85rem;color:var(--color-text-muted)}.common-board-generator-field input{width:4.5rem;padding:2px 6px;background:var(--color-bg);border:1px solid var(--color-text-muted);border-radius:4px;color:var(--color-text);font-size:.85rem}.common-board-generator-stats{display:flex;flex-wrap:wrap;gap:calc(var(--space-unit) * 2);font-size:.85rem;color:var(--color-text-muted);margin-bottom:var(--space-unit)}.common-board-generator-progress{display:flex;align-items:center;gap:var(--space-unit);margin-bottom:var(--space-unit)}.common-board-generator-progress progress{flex:1;min-width:80px;height:8px}.common-board-generator-preview{margin-bottom:var(--space-unit);font-size:.85rem;color:var(--color-text-muted)}.common-board-generator-grid-preview{margin:4px 0 0;padding:6px;background:var(--color-bg);border-radius:4px;font-family:ui-monospace,monospace;font-size:.8rem;letter-spacing:.05em}.common-board-generator-export{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-unit)}.common-board-generator-copy-status{font-size:.85rem;color:var(--color-success)}@keyframes dropdown-in{0%{opacity:0;transform:scaleY(.7) translateY(-8px)}to{opacity:1;transform:scaleY(1) translateY(0)}}@keyframes dropdown-item-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes modal-in{0%{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes modal-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(12px) scale(.97)}}.how-to-play{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 2)}.how-to-play-intro{margin:0;font-size:.95rem;color:var(--text);line-height:1.6}.how-to-play-indicators{margin:0;padding-left:1.4em;display:flex;flex-direction:column;gap:calc(var(--space-unit) * .5)}.how-to-play-indicators li{font-size:.9rem;color:var(--text);line-height:1.5}.how-to-play-indicator-emoji,.how-to-play-indicator-icon{display:inline-block;margin-right:.5em}.how-to-play-indicator-icon{color:var(--success);font-weight:600}.how-to-play-ruleset-title{margin:calc(var(--space-unit) * 1.5) 0 calc(var(--space-unit) * .5);font-size:.9rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.how-to-play-ruleset{margin-bottom:calc(var(--space-unit) * 1)}.how-to-play-ruleset-name{margin:0 0 calc(var(--space-unit) * .5);font-size:.95rem;font-weight:600;color:var(--text)}.how-to-play-rules{margin:0;padding-left:1.2em;font-size:.88rem;color:var(--muted);line-height:1.5}.how-to-play-view-tutorial{display:flex;justify-content:center}.tutorial-prompt-modal{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 2)}.tutorial-prompt-question{margin:0;font-size:1rem;color:var(--text)}.tutorial-prompt-actions{display:flex;gap:var(--space-unit);justify-content:flex-end}.main-menu-btn--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.about-modal{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 1.5)}.about-modal-name{margin:0;font-size:1.1rem;font-weight:600;color:var(--text)}.about-modal-desc{margin:0;font-size:.9rem;color:var(--muted);line-height:1.5}.about-modal-divider{margin:calc(var(--space-unit) * 1) 0;height:1px;background:var(--border)}.about-modal-privacy-title{margin:0;font-size:.9rem;font-weight:600;color:var(--text)}.about-modal-privacy{margin:0;font-size:.85rem;color:var(--muted);line-height:1.5}.about-modal-credits,.about-modal-version{margin:0;font-size:.85rem;color:var(--muted)}.info-modal{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 1.5)}.info-modal-line{margin:0;font-size:.9rem;color:var(--text)}.info-modal-social{display:flex;flex-wrap:wrap;gap:calc(var(--space-unit) * 1)}.info-modal-link{color:var(--accent);text-decoration:none;font-size:.9rem;cursor:pointer}.info-modal-link:hover{text-decoration:underline}.tutorial-overlay{position:fixed;inset:0;pointer-events:none;z-index:1000}.tutorial-window{pointer-events:auto;max-width:260px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:calc(var(--space-unit) * 2);box-shadow:var(--shadow-panel);position:relative}.tutorial-pointer{position:absolute;width:0;height:0;top:50%;transform:translateY(-50%)}.tutorial-pointer--left{right:-9px;border-top:9px solid transparent;border-bottom:9px solid transparent;border-left:10px solid var(--surface);filter:drop-shadow(1px 0 0 var(--border))}.tutorial-pointer--right{left:-9px;border-top:9px solid transparent;border-bottom:9px solid transparent;border-right:10px solid var(--surface);filter:drop-shadow(-1px 0 0 var(--border))}.tutorial-content{cursor:default;-webkit-user-select:none;user-select:none}.tutorial-title{margin:0 0 calc(var(--space-unit) * 1);font-size:1rem;font-weight:600;color:var(--text);line-height:1.4}.tutorial-body{margin:0 0 calc(var(--space-unit) * 1.5);font-size:.9rem;color:var(--muted);line-height:1.5}.tutorial-actions{display:flex;justify-content:flex-end}
