#gameScreen{--game-board-bg:#142642}.game-topline{display:flex;justify-content:space-between;align-items:end;gap:20px}.game-heading h1{font-family:Georgia,serif;font-size:34px;letter-spacing:-.025em;margin:4px 0 0}.game-status{display:flex;align-items:center;gap:8px}.status-chip{height:38px;padding:0 13px;border:1px solid var(--line);background:var(--surface);border-radius:999px;display:flex;align-items:center;font-size:12px;font-weight:900;color:var(--muted)}.progress-line{height:5px;background:var(--surface-2);border-radius:999px;overflow:hidden;margin:13px 0 16px}.progress-line span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--theme-accent),var(--gold));transition:width .25s}
.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 318px;gap:16px;align-items:start}.board-column{min-width:0}.board-stage{position:relative}.grid-toolbar{position:absolute;right:11px;top:11px;z-index:8;display:flex;gap:5px;padding:4px;border-radius:13px;background:color-mix(in srgb,var(--navy) 70%,transparent);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.10)}.mini-btn{height:33px;min-width:34px;border:0;background:rgba(255,255,255,.08);color:#eef2fb;border-radius:9px;font-weight:900;padding:0 9px;display:flex;align-items:center;justify-content:center;gap:5px}.mini-btn:hover{background:rgba(255,255,255,.16)}.mini-btn svg{width:15px;height:15px}.fit-control span{font-size:10px}.grid-viewport{width:100%;height:clamp(430px,calc(100vh - 300px),690px);min-height:430px;overflow:auto;display:flex;align-items:center;justify-content:center;border-radius:24px;background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--theme-accent) 15%,#182b49),#0d1b31 72%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.07),inset 0 0 90px rgba(0,0,0,.18),0 18px 52px rgba(15,31,58,.18);padding:28px;touch-action:pan-x pan-y;overscroll-behavior:contain}.grid-paper{padding:10px;border-radius:16px;background:rgba(255,255,255,.055);box-shadow:0 16px 35px rgba(0,0,0,.16);flex:none}.crossword-grid{display:grid;gap:2px;transform:scale(var(--grid-scale,1));transform-origin:center center;transition:transform .15s ease;flex:none;--cell-size:38px;grid-template-columns:repeat(var(--cols),var(--cell-size));grid-template-rows:repeat(var(--rows),var(--cell-size));padding:2px;border-radius:8px;background:rgba(255,255,255,.07)}
.cell{position:relative;display:grid;place-items:center;width:var(--cell-size);height:var(--cell-size)}.cell.block{background:transparent;border:0}.cell.playable{border:0;background:linear-gradient(145deg,#fffefa,#f8f3e9);color:#152039;border-radius:4px;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(15,31,58,.16),0 1px 1px rgba(0,0,0,.06);transition:background .12s,transform .12s,box-shadow .12s,filter .12s}.cell.playable:hover{filter:brightness(1.02)}.cell.playable.in-word{background:color-mix(in srgb,var(--theme-soft) 70%,#fff)}.cell.playable.selected{background:#ffe07e;box-shadow:inset 0 0 0 2px #765d0e,0 5px 12px rgba(0,0,0,.16);z-index:3;transform:scale(1.055)}.cell.playable.solved:not(.selected){background:#e5f6ee}.cell.playable.revealed .cell-letter{color:#4569bd}.cell.playable.pencil .cell-letter{font-weight:650;color:#697389;font-style:italic;transform:scale(.91)}.cell.playable.error{animation:cellError .36s ease;background:#ffe5e2!important}.cell-num{position:absolute;left:2px;top:2px;font-size:clamp(6px,calc(var(--cell-size)*.20),10px);font-weight:900;line-height:1;color:#687186;pointer-events:none}.cell-letter{font-size:clamp(12px,calc(var(--cell-size)*.51),24px);font-weight:950;line-height:1;pointer-events:none;transition:transform .12s ease}.cell.has-new-letter .cell-letter{animation:letterIn .16s ease}.cell.playable.revealed:after{content:"•";position:absolute;right:3px;bottom:0;color:#4569bd;font-size:9px}.cell.word-pop{animation:wordPop .42s ease}.cell.word-pop .cell-letter{animation:letterCelebrate .42s ease}
@keyframes cellError{0%,100%{transform:none}25%{transform:translateX(-2px)}50%{transform:translateX(2px)}75%{transform:translateX(-1px)}}@keyframes wordPop{40%{background:#d8f1e5;box-shadow:inset 0 0 0 2px var(--success)}}@keyframes letterIn{0%{transform:scale(.76);opacity:.45}100%{transform:scale(1);opacity:1}}@keyframes letterCelebrate{45%{transform:translateY(-2px) scale(1.08)}}
.clue-dock{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:stretch;background:var(--surface);border:1px solid var(--line);border-radius:18px;margin-top:10px;overflow:hidden;box-shadow:var(--shadow-xs)}.clue-nav{border:0;background:transparent;color:var(--muted);display:grid;place-items:center}.clue-nav svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.clue-nav:hover{background:var(--surface-2)}.clue-main{border:0;background:transparent;color:var(--text);padding:11px 8px;text-align:left;min-width:0}.clue-label{display:block;font-size:9.5px;font-weight:950;letter-spacing:.12em;color:var(--theme-accent);text-transform:uppercase;margin-bottom:2px}.clue-main strong{display:block;font-size:14px;line-height:1.32;font-weight:800;white-space:normal}.clue-helper{display:block;margin-top:4px;color:var(--faint);font-size:9.5px}.action-bar{display:flex;gap:7px;margin:9px 0}.action-btn{flex:1;min-width:0;min-height:44px;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:12px;font-weight:850;font-size:12px;display:flex;align-items:center;justify-content:center;gap:7px;padding:0 10px;transition:.14s background,.14s transform,.14s border-color}.action-btn svg{width:17px;height:17px}.action-btn:hover{background:var(--surface-2)}.action-btn:active{transform:translateY(1px)}.action-btn.primary-action{border-color:color-mix(in srgb,var(--theme-accent) 20%,var(--line))}.action-btn.is-active{background:var(--theme-soft);color:var(--theme-accent);border-color:color-mix(in srgb,var(--theme-accent) 45%,var(--line))}.action-btn.compact{flex:0 0 46px}.clues-mobile-btn{display:none}.keyboard{display:grid;gap:6px;max-width:720px;margin:0 auto;padding-bottom:max(2px,env(safe-area-inset-bottom))}.kb-row{display:flex;gap:5px;justify-content:center}.kb-key{height:45px;flex:1;max-width:52px;border:1px solid var(--line);border-bottom-width:3px;background:linear-gradient(180deg,var(--surface),var(--surface-2));color:var(--text);border-radius:10px;font-weight:900;box-shadow:0 2px 4px rgba(30,37,56,.05);transition:.08s transform,.08s border-width,.08s background}.kb-key:hover{background:var(--surface)}.kb-key:active{transform:translateY(2px);border-bottom-width:1px}.kb-key.wide{max-width:76px;flex:1.35}.clues-panel{background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-xs);overflow:hidden;position:sticky;top:calc(var(--header-h) + 14px);max-height:calc(100vh - var(--header-h) - 34px)}.clues-panel-header{display:flex;justify-content:space-between;gap:12px;padding:17px 17px 11px}.clues-panel-header h2{font-family:Georgia,serif;font-size:19px;margin:3px 0 0}.close-clues{display:none}.clue-tabs{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.clue-tab{border:0;background:transparent;color:var(--muted);padding:10px;font-weight:900;font-size:11.5px}.clue-tab.is-active{color:var(--theme-accent);box-shadow:inset 0 -2px var(--theme-accent)}.clue-lists{overflow:auto;max-height:calc(100vh - 195px);scrollbar-width:thin}.clue-list{display:none;padding:7px}.clue-list.is-active{display:block}.clue-item{display:grid;grid-template-columns:37px 1fr;gap:7px;width:100%;border:0;background:transparent;color:var(--text);text-align:left;border-radius:11px;padding:9px 8px}.clue-item:hover{background:var(--surface-2)}.clue-item.is-active{background:var(--theme-soft)}.clue-item.is-solved{color:var(--faint)}.clue-item-num{font-weight:950;color:var(--theme-accent);font-size:10.5px;padding-top:2px}.clue-item-text{font-size:12.2px;line-height:1.36}.clue-item.is-solved .clue-item-num:after{content:" ✓";color:var(--success)}
