/* Integration only: do not enlarge split clue buttons beyond their cells. */
@media screen {
  .archive-tools {display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-block:16px;}
  .archive-tools input {font:inherit;min-height:44px;max-width:100%;padding:8px;}
  .board-tools {flex-wrap:wrap;gap:10px;}
  .board-tools select,.filters select,.filters input,summary {min-height:44px;}
  summary {display:list-item;padding-block:12px;cursor:pointer;}
  .timer-control {min-height:44px;display:flex;align-items:center;gap:8px;}
  .timer-control input {min-width:24px;min-height:24px;}
  .progress-export {width:100%;}
  #clue-dialog {width:min(92vw,42rem);max-height:85dvh;overflow:auto;}
  #full-clue {font-size:clamp(1.5rem,5vw,2.4rem);line-height:1.5;overflow-wrap:anywhere;white-space:pre-wrap;}
  #clue-dialog::backdrop {background:#172b25b8;}
  #expand-clue {white-space:normal;}
  /* Bounded workspace panels may scroll; the full text also has its own dialog.
     No fixed overlay, keyboard displacement or touch-action restriction. */
  .clue-panel {min-height:0;}
  @media (max-width:700px), (max-height:620px) {
    .play-workspace .clue-panel #expand-clue {font-size:.8rem;padding:8px;}
  }
  /* Keep the desktop typing area within one viewport too: the former 74vh
     board plus keyboard pushed the selected word and sticky clue offscreen. */
  @media (min-width:701px) and (min-height:621px) {
    .play-workspace {display:grid;grid-template-rows:minmax(180px,1fr) auto;height:calc(100svh - 16px);min-height:500px;}
    .play-workspace .board-scroll {height:100%;min-height:0;max-height:none;}
    .play-panel {max-height:calc(100svh - 16px);overflow:auto;top:8px;}
  }
  @media (prefers-reduced-motion:reduce) {
    html {scroll-behavior:auto;}
    *,*::before,*::after {animation-duration:0s!important;transition-duration:0s!important;}
  }
}
@media print {#export-progress,.progress-export,#clue-dialog,.archive-tools,#expand-clue {display:none!important;}}
