/* KishMat v58.82 — compact desktop puzzle studio.
   The *page* never scrolls at normal desktop heights; the panel can scroll
   internally on unusually small displays or when explanations expand.
   Existing tablet/mobile (<901px) layouts are intentionally untouched. */
@media (min-width:901px) and (min-height:590px) {
  body.puzzle-page-body {height:100dvh;overflow:hidden;}
  body.puzzle-page-body .site-footer {display:none;}
  body.puzzle-page-body main#mainContent {height:calc(100dvh - var(--header-height, 4rem));min-height:0;overflow:hidden;}
  body.puzzle-page-body .puzzle-app-page {
    height:100%;min-height:0;padding:clamp(5px,1.1dvh,13px) 0;overflow:hidden;
  }
  body.puzzle-page-body .puzzle-app-container {
    display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;
    width:min(calc(100% - 24px),1400px);max-width:1400px;height:100%;min-height:0;gap:6px;
  }
  body.puzzle-page-body .puzzle-app-header {flex:0 0 auto;min-height:0;margin:0;gap:10px;align-items:center;}
  body.puzzle-page-body .puzzle-heading-copy .eyebrow,
  body.puzzle-page-body .puzzle-heading-copy p {display:none;}
  body.puzzle-page-body .puzzle-heading-copy h1 {font-size:clamp(1rem,1.45vw,1.38rem);line-height:1.4;margin:0;}
  body.puzzle-page-body .puzzle-header-stats {gap:7px;}
  body.puzzle-page-body .puzzle-header-stats article {padding:4px 12px;min-width:86px;}
  body.puzzle-page-body .puzzle-header-stats strong {font-size:1rem;line-height:1.25;}
  body.puzzle-page-body .puzzle-header-stats small {font-size:.65rem;}
  body.puzzle-page-body .puzzle-category-toolbar {flex:0 0 auto;min-height:0;margin:0;padding:2px 0 4px;gap:5px;overflow-y:hidden;}
  body.puzzle-page-body .puzzle-category-toolbar button {min-height:30px;padding:3px 10px;font-size:.76rem;}
  body.puzzle-page-body .mastery-puzzle-return {flex:0 0 auto;min-height:0;margin:0;padding:6px 12px;}
  body.puzzle-page-body .mastery-puzzle-return p {display:none;}
  body.puzzle-page-body .puzzle-studio {
    --puzzle-layout-gap:clamp(10px,1.4vw,22px);
    --puzzle-board-size:min(760px,calc(100dvh - var(--header-height, 4rem) - 125px),calc(100vw - 445px));
    flex:1 1 auto;min-height:0;width:100%;
    display:grid;grid-template-columns:minmax(0,var(--puzzle-board-size)) minmax(315px,380px);
    justify-content:center;align-content:center;align-items:center;gap:var(--puzzle-layout-gap);
  }
  body.puzzle-page-body .puzzle-app-container:has(.mastery-puzzle-return) .puzzle-studio {
    --puzzle-board-size:min(740px,calc(100dvh - var(--header-height, 4rem) - 188px),calc(100vw - 445px));
  }
  body.puzzle-page-body .puzzle-board-column,
  body.puzzle-page-body .puzzle-board-shell {width:var(--puzzle-board-size);height:var(--puzzle-board-size);max-height:100%;min-height:0;}
  body.puzzle-page-body .puzzle-side-panel {
    height:min(100%,var(--puzzle-board-size));max-height:100%;min-height:0;
    overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;
    padding:clamp(10px,1.3vw,18px);gap:7px;
  }
  body.puzzle-page-body .puzzle-panel-topline {padding-block-end:6px;}
  body.puzzle-page-body .puzzle-title-row {margin-block-start:2px;align-items:center;}
  body.puzzle-page-body .puzzle-title-row h2 {font-size:1.08rem;margin:2px 0 0;}
  body.puzzle-page-body .puzzle-instruction {min-height:0;margin:5px 0 3px;padding:9px 12px;line-height:1.55;font-size:.85rem;}
  body.puzzle-page-body .puzzle-progress {margin:2px 0;}
  body.puzzle-page-body .puzzle-board-actions {padding-block-start:4px;gap:7px;}
  body.puzzle-page-body .puzzle-board-actions .button {min-height:38px;}
  body.puzzle-page-body .puzzle-keyboard-help {margin-block-start:5px;}
  body.puzzle-page-body .puzzle-result-card,
  body.puzzle-page-body .puzzle-explanation,
  body.puzzle-page-body .puzzle-login-note {margin-block-start:6px;padding:8px 10px;}
}
/* Prefer content access rather than clipping if the viewport is genuinely tiny. */
@media (min-width:901px) and (max-height:589px) {
  body.puzzle-page-body .puzzle-app-page {padding-block:9px;}
  body.puzzle-page-body .puzzle-heading-copy p {display:none;}
  body.puzzle-page-body .puzzle-studio {--puzzle-board-size:min(470px,calc(100dvh - var(--header-height,4rem) - 30px),calc(100vw - 445px));}
}
