.game-screen[data-current-game="block-fit"] .local-game-content{display:block;max-width:660px}
.game-screen[data-current-game="block-fit"] .game-guide a{display:inline-block;min-height:44px;padding:8px 0}
#block-game{--ink:#1c2b22;--muted:#58665b;--lime:#c5ef69;--board:#192a21;min-width:0;width:min(100%,560px);margin:0 auto;text-align:left;color:var(--ink)}
#block-game,#block-game *{box-sizing:border-box}
#block-game button{font:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
#block-game { min-width: 0; padding: clamp(14px, 4vw, 26px); border: 1px solid #dce0d2; border-radius: 24px; background: #fffef7; box-shadow: 0 12px 40px #1c2b2209; }
#block-game .block-eyebrow { margin: 0 0 6px; color: #556d40; font-size: 12px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; }
#block-game #block-title { margin: 0; font-size: clamp(28px, 6vw, 36px); line-height: 1.15; letter-spacing: -1px; font-weight: 800; }
#block-game .block-intro { margin: 10px 0 0; color: var(--muted); font-size: 15px; line-height: 1.5; }
#block-game .block-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 20px 0 16px; }
#block-game .block-stat { display: flex; flex-direction: column; gap: 2px; min-width: 0; margin: 0; padding: 9px 12px; border: 1px solid #dce2d1; border-radius: 10px; background: #f4f6eb; }
#block-game .block-stat > span { color: var(--muted); font-size: 11px; font-weight: 700; }
#block-game .block-stat strong { max-width: 100%; color: var(--ink); font-size: 25px; line-height: 1.25; font-weight: 800; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
#block-game #block-tray { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
#block-game .block-piece { display: flex; flex-direction: column; align-items: center; justify-content: space-between; gap: 3px; min-width: 0; min-height: 112px; padding: 8px 5px; border: 2px solid #d5ddc9; border-radius: 12px; background: #f3f5eb; color: var(--ink); cursor: pointer; }
#block-game .block-piece-name { font-size: 13px; line-height: 1.25; font-weight: 800; }
#block-game .block-mini-wrap { display: grid; place-items: center; width: 100%; height: 56px; }
#block-game .block-mini { display: grid; gap: 2px; width: max-content; height: max-content; }
#block-game .block-mini[data-rows="1"] { grid-template-rows: repeat(1, 12px); }
#block-game .block-mini[data-rows="2"] { grid-template-rows: repeat(2, 12px); }
#block-game .block-mini[data-rows="3"] { grid-template-rows: repeat(3, 12px); }
#block-game .block-mini[data-rows="4"] { grid-template-rows: repeat(4, 12px); }
#block-game .block-mini[data-columns="1"] { grid-template-columns: repeat(1, 12px); }
#block-game .block-mini[data-columns="2"] { grid-template-columns: repeat(2, 12px); }
#block-game .block-mini[data-columns="3"] { grid-template-columns: repeat(3, 12px); }
#block-game .block-mini[data-columns="4"] { grid-template-columns: repeat(4, 12px); }
#block-game .block-mini-cell { min-width: 0; min-height: 0; border: 1px solid #21472d; border-radius: 2px; background: #3e6844; }
#block-game .block-mini-cell[data-row="0"] { grid-row: 1; }
#block-game .block-mini-cell[data-row="1"] { grid-row: 2; }
#block-game .block-mini-cell[data-row="2"] { grid-row: 3; }
#block-game .block-mini-cell[data-row="3"] { grid-row: 4; }
#block-game .block-mini-cell[data-column="0"] { grid-column: 1; }
#block-game .block-mini-cell[data-column="1"] { grid-column: 2; }
#block-game .block-mini-cell[data-column="2"] { grid-column: 3; }
#block-game .block-mini-cell[data-column="3"] { grid-column: 4; }
#block-game .block-piece-note { font-size: 11px; line-height: 1.3; font-weight: 700; color: var(--muted); }
#block-game .block-piece.is-selected { border-color: #537e31; background: #e7f4d1; box-shadow: inset 0 0 0 1px #537e31; }
#block-game .block-piece.is-unavailable { border-style: dashed; }
#block-game .block-piece.is-unavailable .block-piece-note { color: #7b4b27; }
#block-game .block-piece:disabled { cursor: default; }
#block-game .block-piece.is-used { border-color: #e1e5d8; background: #f0f1e8; color: #7b8674; }
#block-game .block-used-mark { color: #7c8c6e; font-size: 26px; }
#block-game #block-board { position: relative; width: min(100%, 440px); aspect-ratio: 1; margin: 18px auto 0; border-radius: 11px; outline: 1px solid #14251b; background: var(--board); }
#block-game #block-grid { position: absolute; inset: 0; display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); grid-template-rows: repeat(8, minmax(0, 1fr)); gap: 4px; padding: 4px; }
#block-game .block-cell { position: relative; min-width: 24px; min-height: 24px; padding: 0; border: 1px solid #3e5746; border-radius: 5px; background: #2c4234; color: #f7f7e7; cursor: pointer; transition: background-color 100ms, border-color 100ms; }
#block-game .block-cell.is-filled { border-color: var(--lime); background: var(--lime); }
#block-game .block-cell.is-filled::before { content: ""; position: absolute; inset: 32%; border: 1px solid #33532b; border-radius: 2px; }
#block-game .block-cell.is-preview-ok { border: 2px dashed #f0ffd4; background: #63884b; }
#block-game .block-cell.is-preview-ok::after, #block-game .block-cell.is-preview-bad::after { position: absolute; inset: 0; display: grid; place-items: center; font-size: clamp(16px, 4vw, 22px); font-weight: 800; line-height: 1; }
#block-game .block-cell.is-preview-ok::after { content: "+"; }
#block-game .block-cell.is-preview-bad { border: 2px dashed #ffcea8; background: #78533c; }
#block-game .block-cell.is-preview-bad::after { content: "×"; }
#block-game .block-cell.is-preview-bad::before { display: none; }
#block-game .block-cell.is-anchor { box-shadow: inset 3px 3px 0 #71c7d5; }
#block-game .block-cell:focus-visible { outline: 2px solid #ffd681; outline-offset: 1px; z-index: 1; }
#block-game .block-cell:disabled { cursor: default; }
#block-game[data-over="true"] #block-board { opacity: .85; }
#block-game #block-preview-hint { min-height: 3em; margin: 12px 0 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
#block-game #block-status { min-height: 3em; margin: 10px 0 14px; color: #415345; font-size: 14px; font-weight: 800; line-height: 1.5; }
#block-game #block-new { width: 100%; min-height: 46px; padding: 10px 14px; border: 1px solid var(--ink); border-radius: 10px; background: var(--ink); color: #fffef7; font-size: 15px; font-weight: 800; cursor: pointer; }
#block-game #block-new:disabled { border-color: #d9dfcf; background: #e8ebdf; color: #697366; cursor: default; }
#block-game .block-piece:focus-visible, #block-game #block-new:focus-visible { outline: 3px solid #668e2c; outline-offset: 3px; }
#block-game .block-instructions { margin-top: 20px; padding-top: 15px; border-top: 1px solid #e2e6d8; color: var(--muted); font-size: 13px; line-height: 1.6; }
#block-game .block-instructions p { margin: 0; }
#block-game .block-instructions p + p { margin-top: 8px; }
#block-game .block-noscript { color: #793713; font-size: 14px; }
@media(max-width:400px){#block-game{padding:10px}}
@media(prefers-reduced-motion:reduce){#block-game *,#block-game *::before,#block-game *::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
