.game-art--fifteen-puzzle.fp-stage{padding:16px}.game-art--fifteen-puzzle>.game-art-content{display:flex;width:100%;height:100%;min-height:0;align-items:center;justify-content:center}.fp-shell [data-slot=button]{min-width:40px;min-height:40px}.fp-shell [data-slot=select-trigger]{min-height:40px}.fp-shell .fp-level-picker{display:flex;align-items:center;gap:8px}.game-art--fifteen-puzzle .fp-layout{display:flex;align-items:center;justify-content:center;gap:32px}.game-art--fifteen-puzzle .fp-board,.game-art--fifteen-puzzle .fp-grid{width:270px;height:270px;flex:0 0 auto}.game-art--fifteen-puzzle .fp-grid{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));gap:4px;padding:6px;box-sizing:border-box;touch-action:manipulation;-webkit-user-select:none;user-select:none;outline:none}.game-art--fifteen-puzzle .fp-grid:focus-visible{outline:3px solid var(--art-focus);outline-offset:4px}.game-art--fifteen-puzzle .fp-art{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.game-art--fifteen-puzzle .fp-cell{position:relative;z-index:1;display:flex;min-width:40px;min-height:40px;align-items:center;justify-content:center;overflow:hidden;padding:0;border:0;border-radius:0;background:transparent;color:var(--art-text);font-family:var(--font-mono);font-size:var(--art-fs-title);font-weight:700;font-variant-numeric:tabular-nums;line-height:1;cursor:pointer}.game-art--fifteen-puzzle .fp-cell:disabled{cursor:default}.game-art--fifteen-puzzle .fp-cell:focus-visible{outline:3px solid var(--art-focus);outline-offset:-4px}.game-art--fifteen-puzzle .fp-cell:not(:disabled):hover{background:#ffffff1f}.game-art--fifteen-puzzle .fp-cell span{max-width:100%;overflow-wrap:anywhere}.game-art--fifteen-puzzle .fp-panel{box-sizing:border-box;padding-inline:12px;display:flex;width:min(220px,100%);flex-direction:column;align-items:center;gap:16px;color:var(--art-text);font-family:var(--font-sans)}.game-art--fifteen-puzzle .fp-instructions,.game-art--fifteen-puzzle .fp-status{margin:0;font-size:var(--art-fs-body);line-height:1.45;text-align:center;overflow-wrap:anywhere}.game-art--fifteen-puzzle .fp-instructions{color:var(--art-muted)}.game-art--fifteen-puzzle .fp-status{min-height:1.45em;font-weight:600}.game-art--fifteen-puzzle .fp-direction-pad{display:grid;min-width:0;margin:0;padding:0;border:0;grid-template-columns:repeat(3,44px);grid-template-rows:repeat(2,44px);align-items:center;justify-items:center;gap:6px}.game-art--fifteen-puzzle .fp-direction{width:44px;min-width:44px;height:44px;min-height:44px;padding:0;border-color:var(--sketch-ink);background:var(--sketch-paper);color:var(--art-text);font-family:var(--font-mono);font-size:var(--art-fs-value);line-height:1}.game-art--fifteen-puzzle .fp-direction:hover:not(:disabled){background:var(--sketch-ground)}.game-art--fifteen-puzzle .fp-direction:focus-visible{outline:3px solid var(--art-focus);outline-offset:3px}@media(max-width:1023px){.game-art--fifteen-puzzle.fp-stage{height:auto;padding:16px}.game-art--fifteen-puzzle>.game-art-content{height:auto}.game-art--fifteen-puzzle .fp-layout{width:100%;flex-direction:column;gap:20px}.game-art--fifteen-puzzle .fp-board,.game-art--fifteen-puzzle .fp-grid{width:min(270px,100%);height:auto;aspect-ratio:1}.game-art--fifteen-puzzle .fp-panel{width:min(100%,320px)}}@media(max-width:767px){.game-art--fifteen-puzzle.fp-stage{padding:12px 0}}
