@media (max-width: 680px){
  .puzzle-page .puzzle-heading-copy p{display:none}
  .puzzle-page .puzzle-header-stats article{min-width:0}
}
@media (max-width: 520px){
  .puzzle-app-page{padding-block:0 10px}
  .puzzle-app-container{padding-inline:0;max-width:none}
  .puzzle-app-header{padding:10px 12px 8px;margin-bottom:6px;gap:8px}
  .puzzle-page .puzzle-heading-copy h1{font-size:1.08rem;line-height:1.35;margin-bottom:4px}
  .puzzle-page .puzzle-heading-copy .eyebrow{font-size:.68rem;margin-bottom:4px}
  .puzzle-page .puzzle-header-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:100%}
  .puzzle-page .puzzle-header-stats article{padding:8px 9px;border-radius:14px}
  .puzzle-page .puzzle-header-stats small{font-size:.68rem}
  .puzzle-page .puzzle-header-stats strong{font-size:.96rem}
  .puzzle-category-toolbar{display:flex;gap:6px;padding:0 10px 8px;margin:0;overflow:auto hidden;scrollbar-width:none}
  .puzzle-category-toolbar::-webkit-scrollbar{display:none}
  .puzzle-category-toolbar button{white-space:nowrap;padding:8px 10px;font-size:.76rem;border-radius:999px}
  .puzzle-studio{display:flex;flex-direction:column;gap:0;align-items:stretch;padding:0;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none}
  .puzzle-board-column{width:100vw;max-width:100vw;margin-inline:calc(50% - 50vw);padding:0}
  .puzzle-board-shell{width:100vw;max-width:100vw;aspect-ratio:1/1;border-radius:0;border-inline:0}
  .puzzle-board-shell .chessboard{border-radius:0}
  .puzzle-side-panel{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;align-content:start;min-height:0;padding:9px 10px 12px;border:0;border-top:1px solid rgba(0,0,0,.06);border-radius:0;background:transparent;box-shadow:none}
  .puzzle-panel-topline{gap:8px;align-items:center}
  .puzzle-kicker{font-size:.66rem}
  .puzzle-title{font-size:.95rem;line-height:1.45}
  .puzzle-meta{font-size:.69rem;gap:6px;flex-wrap:wrap}
  .puzzle-instruction{font-size:.79rem;line-height:1.55;margin:0}
  .puzzle-progress{min-height:6px}
  .puzzle-result-card{padding:8px 10px;font-size:.78rem;line-height:1.55;border-radius:12px}
  .puzzle-board-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}
  .puzzle-board-actions .button{min-height:42px;padding:9px 10px;font-size:.76rem}
  .puzzle-history-controls{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:6px}
  .puzzle-login-note,.puzzle-keyboard-help{display:none}
  .puzzle-side-panel [data-board-preferences]{margin-top:2px}
  html[data-theme="dark"] .puzzle-side-panel{border-top-color:rgba(255,255,255,.08)}
}

@media (max-width: 720px){
  .mastery-shell .mastery-mascot-assistant{background:transparent!important;border:0!important;box-shadow:none!important;padding:4px 2px!important;min-height:auto!important;gap:10px!important;overflow:visible}
  .mastery-shell .mastery-assistant-pawn{width:74px;min-width:74px;flex-basis:74px;height:78px}
  .mastery-shell .mastery-assistant-speech{font-size:.79rem!important;line-height:1.52!important;color:var(--text,#173d34)!important;font-weight:850!important;padding-inline-end:0;display:block;max-width:100%;text-wrap:pretty}
  .mastery-shell .mastery-placement-side [data-placement-message]{font-size:.79rem!important;line-height:1.56!important}
  .mastery-shell .mastery-placement-side .board-preferences-card,
  .mastery-shell .mastery-lesson-panel .board-preferences-card{margin-top:2px}
}
@media (max-width: 520px){
  .mastery-shell .mastery-mascot-assistant{gap:8px!important;padding:2px 0!important;margin-bottom:2px!important;align-items:center!important}
  .mastery-shell .mastery-assistant-pawn{width:64px;min-width:64px;flex-basis:64px;height:68px}
  .mastery-shell .mastery-assistant-speech{font-size:.74rem!important;line-height:1.45!important}
  .mastery-shell .mastery-lesson-panel{gap:6px!important}
  .mastery-shell .mastery-placement-side{gap:6px!important}
}
html[data-theme="dark"] .mastery-shell .mastery-mascot-assistant .mastery-assistant-speech{color:#dbfff4!important}
@media (max-width: 520px){
  body.puzzle-page-body main#mainContent{overflow:hidden}
  body.puzzle-page-body .puzzle-app-page{min-height:calc(100dvh - var(--header-height));overflow:hidden}
  body.puzzle-page-body .puzzle-app-container{display:flex;flex-direction:column;min-height:calc(100dvh - var(--header-height))}
  body.puzzle-page-body .puzzle-studio{flex:1 1 auto;min-height:0}
}
