/* Artwork always uses one scale in both axes, in every orientation. */
.board-wrap{max-height:none!important;max-width:100%;flex:none;margin-inline:auto;aspect-ratio:var(--scene-ratio);}
.board{width:100%;height:100%;gap:0;grid-template-columns:repeat(var(--cols),minmax(0,1fr));grid-template-rows:repeat(var(--rows),minmax(0,1fr));}
.tile{border-radius:0;box-shadow:inset 0 0 0 1px #ffffff75;}
.tile.is-selected{box-shadow:inset 0 0 0 5px #c3e867;}
.board.is-complete .tile{box-shadow:none;}
.full-image{object-fit:contain;}
.helper figure img,.scene-card img{object-fit:contain!important;}
body.puzzle-is-fullscreen{background:#201824;overflow:hidden;}
body[data-kd-game="puzzle"] .puzzle-stage.is-fullscreen{inset:0;width:100%;height:100vh;height:100dvh;padding:0!important;margin:0;gap:0;border:0;border-radius:0;box-shadow:none;background:#201824;display:block;overflow:hidden;}
.puzzle-stage.is-fullscreen>.scene-heading,.puzzle-stage.is-fullscreen>.level-bar,.puzzle-stage.is-fullscreen .helper{display:none!important;}
.puzzle-stage.is-fullscreen .game-layout{position:absolute;inset:0;display:block;overflow:hidden;}
.puzzle-stage.is-fullscreen .board-column{position:absolute;inset:0;display:grid;place-items:center;grid-template-rows:1fr;overflow:hidden;}
.puzzle-stage.is-fullscreen .board-wrap{margin:0;max-height:none;max-width:none;border-radius:0;box-shadow:none;overflow:hidden;}
.puzzle-stage.is-fullscreen .status{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);}
.puzzle-stage.is-fullscreen .win{display:none!important;}
.puzzle-stage.is-fullscreen .tile.is-correct:after{display:none;}
.puzzle-menu-toggle{position:absolute;z-index:20;top:max(8px,env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right));width:44px;height:44px;min-height:44px;border:1px solid #ffffffa0;border-radius:50%;background:#241c2dcc;color:white;box-shadow:0 2px 10px #0003;font:700 22px/1 sans-serif;cursor:pointer;}
.puzzle-gallery-toggle{position:absolute;z-index:20;top:max(8px,env(safe-area-inset-top));left:max(8px,env(safe-area-inset-left));min-height:44px;padding:8px 13px;border:1px solid #ffffffa0;border-radius:999px;background:#241c2de8;color:white;box-shadow:0 2px 10px #0003;font:800 14px/1.1 inherit;cursor:pointer;}
.puzzle-gallery-toggle span{font-size:19px;margin-right:5px;vertical-align:-1px;}
.puzzle-gallery-toggle:focus-visible{outline:3px solid #c3e867;outline-offset:3px;}
.puzzle-menu-toggle:focus-visible{outline:3px solid #c3e867;outline-offset:3px;}
.puzzle-menu{width:min(420px,calc(100vw - 24px));max-height:calc(100dvh - 24px);margin:auto;padding:22px;border:0;border-radius:22px;background:#fffdf8;color:#43215f;overflow:auto;box-shadow:0 12px 60px #0005;}
.puzzle-menu::backdrop{background:#171020a6;}
.puzzle-menu form{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.puzzle-menu h2{font-size:22px;}
.puzzle-menu button,.puzzle-menu select,.puzzle-menu a{min-height:44px;border:1px solid #d8c7e6;border-radius:12px;padding:10px;background:#fff;color:#43215f;font:700 15px/1.3 inherit;cursor:pointer;}
.puzzle-menu form button{font-size:24px;min-width:44px;}
.puzzle-menu p{margin:12px 0;font-size:14px;}
.puzzle-menu label{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:14px 0;}
.puzzle-menu-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.puzzle-menu-actions a{text-decoration:none;text-align:center;display:grid;place-items:center;}
.puzzle-stage.is-fullscreen .start-panel{background:linear-gradient(transparent,#0006);}
@media(orientation:portrait){.puzzle-menu{padding:18px;}}
@media(max-width:380px){.puzzle-gallery-toggle{max-width:calc(100vw - 72px);padding-inline:10px;font-size:12px;}}
@media(orientation:landscape) and (max-height:500px){.puzzle-menu{width:min(620px,calc(100vw - 32px));padding:14px;}.puzzle-menu-actions{grid-template-columns:repeat(3,1fr);}.puzzle-menu p,.puzzle-menu label{margin:8px 0;}}
