/* Fit the complete playable card, including its HUD and actions. */
.puzzle-shell{padding:14px 18px;display:flex;flex-direction:column;gap:7px;align-items:stretch}
.puzzle-shell .puzzle-top{margin:0;min-height:20px}
.puzzle-shell h4{font-size:22px;line-height:1.25;margin:0}
.puzzle-shell .vault-progress{gap:8px}
.puzzle-shell .vault-progress #puzzle-count{font-size:13px}
.puzzle-shell .gem-targets{gap:12px;margin:0;height:34px}
.puzzle-shell .gem-target{flex:0 0 34px}
.puzzle-shell .puzzle-instructions{margin:0;padding:7px 10px;border-radius:9px}
.puzzle-shell .puzzle-instructions p{font-size:13px;line-height:1.5}
.puzzle-shell .native-board{width:min(100%,var(--level-board-size,340px));margin:0 auto;flex:none}
.puzzle-shell .keyboard-help{margin:0;font-size:11px;line-height:1.4}
.puzzle-shell #puzzle-response{min-height:36px;padding:0;margin:0;font-size:13px;line-height:1.4}
.puzzle-shell .puzzle-bottom{margin:0;gap:10px;min-height:40px}
.puzzle-shell .puzzle-bottom .button{min-height:40px;padding:10px 16px;font-size:13px}
.puzzle-shell .puzzle-bottom .text-button{font-size:13px;min-height:40px}
.puzzle-shell .puzzle-bottom>button{gap:7px;white-space:nowrap;line-height:1.4;flex-shrink:0}
.puzzle-shell .puzzle-bottom .ui-icon{width:18px;height:18px}
.puzzle-shell:focus{outline:none}
.sample-copy>.puzzle-instructions{margin-top:24px}
@media(max-width:760px){.puzzle-shell{padding:12px;gap:6px}.puzzle-shell h4{font-size:20px}.puzzle-shell .keyboard-help{display:none}}
@media(min-width:600px) and (max-height:600px){
 .sample-panel{grid-template-columns:1fr}.puzzle-shell{max-width:780px;justify-self:center;display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,1fr);gap:5px 18px}
 .puzzle-shell .native-board{grid-column:1;grid-row:1/9;align-self:center;width:min(100%,calc(100svh - 130px))}
 .puzzle-shell>:not(.native-board){grid-column:2}.puzzle-shell .keyboard-help{display:none}
}
