body[data-page=block-puzzle] .hub-main{max-width:800px;padding-top:8px}.block-game{width:min(100%,540px);margin:auto}.block-score{display:flex;align-items:center;gap:24px;padding:3px 5px 9px}.block-score>div{font-size:11px;color:var(--muted);line-height:1.3}.block-score span{display:block;color:var(--ink);font:600 clamp(20px,5vw,28px)/1.4 'Martian Mono',monospace}.block-score>div:first-child span{color:var(--accent)}.block-score #block-new{margin-left:auto;font-size:12px;min-height:32px;padding:4px 12px}.block-board-wrap{position:relative}.block-board{display:grid;grid-template-columns:repeat(8,1fr);gap:5px;padding:9px;border-radius:18px;background:#080e1d;border:1px solid #2b3b57;box-shadow:inset 0 3px 12px #0007,0 5px 0 #050916}.block-board .block-cell{aspect-ratio:1;min-height:0!important;min-width:0;padding:0!important;border-radius:7px;border:1px solid #25324b;background:#152038;box-shadow:inset 0 2px 3px #0003;transition:background .12s,transform .15s;touch-action:manipulation}.block-board .block-cell[data-color="1"],.piece-grid i[data-color="1"]{background:linear-gradient(#ffe19a,#eab646);border-color:#f5cb73;box-shadow:inset 0 2px 0 #fff6,0 2px 0 #9b6825}.block-board .block-cell[data-color="2"],.piece-grid i[data-color="2"]{background:linear-gradient(#a4e4d7,#54b8ae);border-color:#9cd8ca;box-shadow:inset 0 2px 0 #fff6,0 2px 0 #2a6f72}.block-board .block-cell[data-color="3"],.piece-grid i[data-color="3"]{background:linear-gradient(#b6bdff,#8088d5);border-color:#b8bcf4;box-shadow:inset 0 2px 0 #fff6,0 2px 0 #4b508b}.block-board .block-cell.preview{background:#f6c96388!important;border-color:#ffe1a0!important}.block-board .block-cell.invalid{background:#b85c6966!important}.block-board .block-cell.cleared{animation:block-clear .45s ease-out}.block-hand{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:13px 4px 0;touch-action:none;user-select:none}.block-hand .block-piece{height:104px;min-width:0;padding:9px!important;border-radius:13px;display:grid;place-items:center;background:#121d31;border:1px solid #2e3d58;box-shadow:inset 0 1px 0 #ffffff0a,0 3px 0 #060d19;touch-action:none}.block-hand .block-piece[aria-pressed=true]{border-color:#f6c963;background:#263043;box-shadow:0 0 0 2px #f6c96355}.piece-grid{display:grid;gap:3px;width:fit-content;grid-auto-columns:21px;grid-auto-rows:21px}.piece-grid i{display:block;width:21px;height:21px;border:1px solid;border-radius:4px}.block-used{color:#7688a5}.block-message{text-align:center;font-size:12px;line-height:1.5;min-height:36px;margin:9px 0 0;color:var(--muted);word-break:keep-all}.block-end{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#080f22e8;border-radius:18px;backdrop-filter:blur(5px)}.block-end strong{font-size:28px;color:var(--accent)}.block-end p{font-size:14px}.block-confirm{padding:10px;text-align:center;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.block-confirm p{font-size:12px;margin-bottom:8px}.block-confirm button{min-height:32px;padding:4px 12px;font-size:12px;margin:0 4px}.block-game [hidden]{display:none!important}.solo-grid{margin:auto}.home-grid .tile:nth-last-child(-n+2){grid-column:span 2}.home-grid .tile:last-child{grid-column:span 2}@keyframes block-clear{0%{background:#fff6bd;transform:scale(.8)}45%{background:#f6c963aa;transform:scale(1.04)}100%{transform:none}}@media(max-width:760px){.home-grid .tile:nth-last-child(-n+2),.home-grid .tile:last-child{grid-column:auto}}@media(max-width:360px){.block-board{gap:4px;padding:7px;border-radius:13px}.block-hand{gap:7px}.block-hand .block-piece{height:92px}.piece-grid i{width:17px;height:17px}.piece-grid{gap:2px;grid-auto-columns:17px;grid-auto-rows:17px}}@media(orientation:landscape) and (max-height:550px){.block-game{display:grid;grid-template-columns:minmax(220px,310px) 180px;column-gap:16px;max-width:520px}.block-score{grid-column:1/-1;padding-bottom:5px}.block-board-wrap{grid-column:1;grid-row:2/5}.block-hand{grid-column:2;grid-template-columns:1fr;padding:0;gap:6px}.block-hand .block-piece{height:68px;padding:4px!important}.piece-grid i{width:15px;height:15px}.piece-grid{gap:2px;grid-auto-columns:15px;grid-auto-rows:15px}.block-message{grid-column:2}.block-confirm{grid-column:1/-1}}@media(prefers-reduced-motion:reduce){.block-cell{animation:none!important;transition:none!important}}
@media(min-width:900px){.block-game{width:min(540px,max(360px,calc(100svh - 310px)))}}
/* The held piece uses the same cell geometry as its board preview. */
.block-drag-ghost{position:fixed;left:0;top:0;z-index:25;pointer-events:none;user-select:none;filter:drop-shadow(0 7px 7px #0009);transform-origin:top left;will-change:left,top;opacity:.97}.block-drag-ghost .piece-grid{display:grid;width:100%;height:100%;gap:var(--drag-gap)}.block-drag-ghost .piece-grid i{width:var(--drag-cell);height:var(--drag-cell);border-radius:7px}.block-drag-ghost.cannot-place{opacity:.82}.block-hand .block-piece.is-lifted .piece-grid{opacity:.15}.block-hand.is-dragging{cursor:grabbing}.block-drag-ghost .piece-grid{animation:block-lift .14s ease-out}@keyframes block-lift{from{transform:scale(.86);opacity:.45}to{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.block-drag-ghost .piece-grid{animation:none}}
.block-board-wrap{isolation:isolate;overflow:hidden;border-radius:18px}.block-burst{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}.block-clear-badge{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);z-index:3;pointer-events:none;text-align:center;white-space:nowrap;padding:8px 13px;border-radius:13px;background:#0b1428da;border:1px solid #f6c96360;box-shadow:0 4px 18px #0005;text-shadow:0 2px 1px #000}.block-clear-badge strong{display:block;color:#fff0bd;font-size:clamp(20px,5.5vw,30px);font-weight:800;line-height:1.2}.block-clear-badge span{display:block;color:#9fe1d3;font-size:clamp(15px,4vw,21px);font-weight:700;margin-top:3px}.block-end{z-index:4}.block-game [hidden]{display:none!important}@media(prefers-reduced-motion:reduce){.block-clear-badge{animation:none!important}}
