@media (max-width: 350px) {
  .game-shell { padding-left: 12px; padding-right: 12px; }
  .screen { padding-top: 12px; padding-bottom: 16px; }
  .screen-title { gap: 8px; }
  .title-copy { gap: 4px; }
  .title-copy h1 { font-size: 28px; }
  .plakai-stage { min-height: 150px; }
  img.plakai { width: 145px; height: 164px; }
  .screen-thinking { gap: 12px; }
  .screen-thinking .plakai-stage { min-height: 176px; }
  .screen-thinking img.plakai-thinking { height: 180px; }
  .meal-card { width: 50px; height: 65px; border-width: 2px; border-radius: 11px; }
  .meal-card:nth-child(1), .meal-card:nth-child(5) { top: 58%; }
  .thinking-status { min-width: 0; width: 100%; min-height: 46px; padding: 10px 14px; font-size: 13px; }
  .filters { padding: 10px; }
  .filters legend { margin-bottom: 7px; }
  .filter-list { gap: 5px; }
  .filter-chip { min-height: 36px; padding: 6px 7px; font-size: 11.5px; }
  .category-filter-panel summary { min-height: 34px; padding-top: 8px; padding-bottom: 6px; }
  .button { min-height: 46px; }
  .result-card-view .category-label { display: none; }
  .result-meta { grid-column: 1 / -1; justify-self: center; }
  .result-meta span { padding-left: 6px; padding-right: 6px; font-size: 9.5px; }
  .result-visual { min-height: 208px; padding: 8px; }
  .food-art { width: 200px; border-radius: 18px; }
  .plakai-comment { min-height: 62px; padding: 5px 9px; font-size: 11.5px; }
  img.mini-plakai { flex-basis: 46px; width: 46px; height: 52px; }
  .result-plakai-lock { flex-basis: 52px; min-height: 58px; }
  .result-choice-card { width: 24px; height: 31px; }
}

@media (max-height: 700px) and (orientation: portrait) {
  .screen { padding-top: 10px; padding-bottom: 14px; }
  .screen-result { padding-bottom: 4px; }
  .screen-title, .screen-result { gap: 7px; }
  .topbar { min-height: 36px; }
  .title-copy { gap: 3px; }
  .title-copy h1 { font-size: clamp(27px, 7vw, 33px); }
  .title-copy > p:last-child { font-size: 12px; line-height: 1.35; }
  .plakai-stage { min-height: 142px; }
  .plakai-stage::before { width: 160px; }
  .plakai-stage::after { bottom: 2px; width: 115px; }
  img.plakai, img.plakai-thinking { width: 138px; height: 152px; }
  .screen-thinking { gap: 11px; }
  .screen-thinking .plakai-stage { min-height: 164px; }
  .meal-card { width: 48px; height: 62px; }
  .thinking-status { min-height: 44px; padding: 9px 14px; font-size: 13px; }
  .filters { padding: 9px; }
  .filters legend { margin-bottom: 6px; }
  .filter-list { gap: 5px; }
  .filter-chip { min-height: 35px; padding: 5px 7px; font-size: 11.5px; }
  .button { min-height: 44px; padding-top: 8px; padding-bottom: 8px; }
  .result-visual { min-height: 192px; padding: 7px; }
  .food-art { width: 184px; border-radius: 17px; }
  .screen-result h2 { font-size: 27px; }
  .category-label { padding: 3px 8px; }
  .plakai-comment { min-height: 60px; padding: 4px 9px; font-size: 11.5px; }
  img.mini-plakai { flex-basis: 44px; width: 44px; height: 50px; }
  .result-plakai-lock { flex-basis: 50px; min-height: 56px; }
  .result-actions { gap: 5px; }
  .utility-button { min-height: 32px; padding-top: 5px; padding-bottom: 5px; }
}

@media (min-width: 700px) {
  body { padding: 28px; }
  .game-shell { min-height: 820px; border: 1px solid rgba(255,255,255,.7); border-radius: 34px; }
  .screen { min-height: 820px; }
}

@media (max-height: 700px) and (orientation: landscape) {
  .game-shell, .screen { min-height: 680px; }
  .plakai-stage { min-height: 150px; }
  img.plakai { height: 160px; }
}
