.jenga-game{--jenga-border: #dce1e6;--jenga-muted: #64748b;--jenga-panel: #fff;--jenga-text: #334155;color:var(--jenga-text);font-family:system-ui,-apple-system,sans-serif}.dark .jenga-game{--jenga-border: #3d414c;--jenga-muted: #a5adba;--jenga-panel: #222630;--jenga-text: #e2e8f0}.jenga-game .jenga-stage{width:100%;min-height:360px;border-radius:10px;overflow:hidden;border:1px solid var(--jenga-border)}.jenga-game canvas:focus-visible{outline:3px solid #b78b4d;outline-offset:-4px}.jenga-game .jenga-instructions{color:var(--jenga-muted);font-size:.8rem;text-align:center;margin:.75rem 0 1rem}.jenga-game .jenga-stats{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.jenga-game .jenga-stats>div{padding:.8rem;border:1px solid var(--jenga-border);border-radius:8px;background:var(--jenga-panel);text-align:center}.jenga-game .jenga-stats span{display:block;color:var(--jenga-muted);font-size:.65rem;text-transform:uppercase;letter-spacing:.07em}.jenga-game .jenga-stats strong{display:block;font-size:1.3rem;margin-top:.2rem}.jenga-game .jenga-message{min-height:3em;margin:1rem 0 .5rem;text-align:center;font-family:ui-monospace,monospace;font-size:.8rem;line-height:1.5;overflow-wrap:anywhere}.jenga-game .jenga-danger{color:#c24135}.dark .jenga-game .jenga-danger{color:#f59c92}.jenga-game .jenga-actions{display:flex;gap:.75rem}.jenga-game button{min-height:44px;padding:.65rem 1rem;border-radius:7px;border:1px solid var(--jenga-border);background:var(--jenga-panel);color:var(--jenga-text);font:inherit;font-size:.85rem;cursor:pointer}.jenga-game .jenga-actions button:first-child{flex:1}.jenga-game button:hover:not(:disabled){border-color:#b78b4d}.jenga-game button:focus-visible,.jenga-game summary:focus-visible{outline:2px solid #b78b4d;outline-offset:3px}.jenga-game button:disabled{opacity:.5;cursor:default}.jenga-game .jenga-keyboard{margin-top:1rem;font-size:.78rem;color:var(--jenga-muted)}.jenga-game summary{cursor:pointer;width:-moz-fit-content;width:fit-content}.jenga-game .jenga-keyboard p{margin:.6rem 0;line-height:1.6}.jenga-game .jenga-stage{position:relative}.jenga-game .jenga-hand{position:absolute;pointer-events:none;z-index:1;width:90px;--hand-fill: #fff4dd;--hand-stroke: #765c3b;filter:drop-shadow(0 2px 3px #0002)}.jenga-game .jenga-hand svg{display:block}.jenga-game .jenga-hand span{display:block;width:-moz-max-content;width:max-content;padding:3px 5px;border-radius:4px;background:var(--jenga-panel);color:var(--jenga-text);font-size:10px}.jenga-game .jenga-hand[data-mode=push] .jenga-hand-grip,.jenga-game .jenga-hand[data-mode=grip] .jenga-hand-push{display:none}.jenga-game .jenga-hand[data-active=true]{--hand-fill: #ead3a8}.jenga-game .jenga-best{margin:.6rem 0 0;text-align:center;color:var(--jenga-muted);font-size:.75rem}.jenga-game .jenga-manipulation{margin:0 0 1rem;padding:.75rem;border:1px solid var(--jenga-border);border-radius:8px}.jenga-game .jenga-selection{min-height:1.4em;margin-bottom:.65rem;font-size:.78rem;color:var(--jenga-muted)}.jenga-game .jenga-move-actions{display:flex;gap:.75rem}.jenga-game .jenga-mode{display:flex}.jenga-game .jenga-mode button{border-radius:0}.jenga-game .jenga-mode button:first-child{border-radius:6px 0 0 6px}.jenga-game .jenga-mode button:last-child{border-radius:0 6px 6px 0}.jenga-game .jenga-mode button[aria-pressed=true]{background:#b78b4d22;border-color:#b78b4d}.jenga-game .jenga-start{flex:1}.jenga-game progress{display:block;width:100%;height:5px;margin-top:.7rem;accent-color:#b78b4d}.jenga-game .jenga-hint{font-size:.72rem;color:var(--jenga-muted);line-height:1.5;margin:.5rem 0 0}.jenga-game .jenga-replay-open{width:100%;margin:0 0 .75rem;border-color:#b78b4d}.jenga-game .jenga-replay{padding:1rem;border:1px solid var(--jenga-border);border-radius:8px;margin-bottom:1rem}.jenga-game .jenga-replay-heading{display:flex;justify-content:space-between;margin-bottom:.5rem;font-size:.85rem}.jenga-game .jenga-replay input{display:block;width:100%;margin:1rem 0;accent-color:#b78b4d}.jenga-game .jenga-replay-actions{display:flex;flex-wrap:wrap;gap:.4rem}.jenga-game .jenga-replay-actions button{padding:.5rem .7rem}.jenga-game progress{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:99px;background:#b78b4d20;overflow:hidden}.jenga-game progress::-webkit-progress-bar{background:#b78b4d20;border-radius:99px}.jenga-game progress::-webkit-progress-value{background:#b78b4d;border-radius:99px}.jenga-game progress::-moz-progress-bar{background:#b78b4d;border-radius:99px}.jenga-game .jenga-viewport{position:relative;padding-top:54px;border:1px solid var(--jenga-border);border-radius:10px;overflow:hidden;background:var(--jenga-panel)}.jenga-game .jenga-viewport .jenga-stage{border:0;border-radius:0}.jenga-game .jenga-toolbar-label{position:absolute;left:14px;top:18px;font-size:.75rem;color:var(--jenga-muted)}.jenga-game .jenga-mode-overlay{position:absolute;right:8px;top:6px;z-index:2}.jenga-game .jenga-mode-overlay button{min-height:42px;padding:.5rem .7rem}.jenga-game kbd{margin-left:.3rem;padding:1px 4px;border:1px solid var(--jenga-border);border-radius:3px;font:.65rem ui-monospace,monospace;color:var(--jenga-muted)}
