/* One bounded play surface. The board uses the space actually left by the HUD. */
html,body{height:100%;min-height:0;overflow:hidden}
body{min-width:0}
.page-shell{height:100svh;height:100dvh;display:flex;flex-direction:column;padding:env(safe-area-inset-top,0px) max(8px,env(safe-area-inset-right,0px)) env(safe-area-inset-bottom,0px) max(8px,env(safe-area-inset-left,0px));max-width:1100px}
.topbar{width:100%;height:48px;min-height:48px;gap:8px;flex:none;margin:0 auto;max-width:600px}
.topbar-note{display:none}.brand{font-size:23px;min-width:0;flex:1;gap:4px}.brand img{width:28px;height:28px}.utilities{gap:4px}.icon-button{box-shadow:none}
.game-layout{display:flex;flex:1;min-height:0;margin:0;width:100%;justify-content:center;align-items:stretch;gap:0}
.play-area{display:flex;flex-direction:column;align-items:stretch;width:min(100%,460px);height:100%;min-height:0;margin:0}
.scoreboard{display:grid;grid-template-columns:1fr 1fr 1.25fr;flex:none;gap:8px;margin:0 0 4px;order:1}
.scoreboard>div{flex-direction:row;justify-content:center;gap:6px;padding:0;background:transparent;border:0;box-shadow:none}
.scoreboard .record-stat{display:none}.free-mode .scoreboard{grid-template-columns:1fr 1fr 1fr 1.25fr}.free-mode .record-stat{display:flex}
.scoreboard strong,.scoreboard .record-stat strong{font-size:18px;line-height:1.1;overflow:visible}
.scoreboard .stat-label{font-size:12px;letter-spacing:0}
.scoreboard .commerce-shelf{font-size:12px;min-height:44px;padding:3px;margin:0;box-shadow:none}
.mission-panel{flex:none;order:0;padding:0 10px 8px;border-radius:15px;margin-bottom:4px;box-shadow:none}
.mission-top{flex-wrap:nowrap;gap:8px}.mission-top button{min-height:44px;font-size:12px}.mission-top .next-block{height:auto;padding:0;border:0;gap:3px;background:transparent;flex:none;flex-direction:column}.queue-label{display:block!important;font-size:12px;letter-spacing:0}
.mission-target{gap:8px}.mission-target>strong{font-size:16px;line-height:1.25}.mission-target .goal-candy{height:26px;width:26px;font-size:17px}
.mission-bottom{margin-top:4px;gap:5px;flex-wrap:wrap}.mission-meter{height:6px;flex:1;min-width:30px}#mission-count{font-size:12px;color:#684356;white-space:normal}
#mission-compact-count{display:none}
.piece-strip,.power-hint,.jar-shadow{display:none}
.jar-wrap{flex:1;min-height:0;order:2;display:flex;justify-content:center;align-items:center;padding:0;width:100%}
.play-area>.jar-wrap{padding:0}
.jar{flex:none;width:calc(var(--cell)*6 + 12px);padding:3px;border-radius:16px;border-width:3px;box-shadow:inset 2px 0 #fff7}
.board{width:calc(var(--cell)*6);height:calc(var(--cell)*10);aspect-ratio:auto}
.jar-lid{display:none}
.learning-guide{order:3;flex:none;display:flex;min-height:48px;margin:4px 0 2px;padding:2px 8px!important;font-size:13px!important;line-height:18px;gap:6px}
.learning-guide span{min-width:0}.learning-guide button{flex:none;font-size:12px;min-height:44px;padding:3px 6px}
.game-status{position:absolute;width:1px;height:1px;margin:0;padding:0;overflow:hidden;clip-path:inset(50%)}
.result-return{order:4;flex:none;min-height:44px;margin:0;padding:8px;font-size:14px}
.board-overlay{padding:6px;overflow:auto;overscroll-behavior:contain}.board-overlay>div{padding:12px;box-shadow:none;max-width:300px}.board-overlay .pause-art,.board-overlay .eyebrow{display:none}.board-overlay h2{font-size:24px;margin:0 0 8px}.board-overlay p{font-size:14px;line-height:1.4;margin-bottom:10px}.board-overlay .primary-button{min-height:44px;font-size:16px}.overlay-strategy{display:none}
.game-dialog,.legal-dialog{max-height:calc(100dvh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overscroll-behavior:contain}.game-dialog p,.game-dialog details,.help-list{font-size:14px;line-height:1.5}.game-dialog .eyebrow{font-size:12px}.dialog-close{position:sticky;top:0;float:right;z-index:5}.game-dialog h2{clear:both}
.map-piece-intro,.map-art{display:none}.levels-dialog #levels-summary{font-size:14px}.map-featured>p{font-size:14px}.map-featured>.eyebrow{font-size:12px}.levels-dialog .stars-guide{font-size:14px}.world-navigation{display:flex;align-items:center;gap:6px;margin-top:8px}.world-navigation button{min-width:44px;min-height:44px;border:1px solid #d5a5b7;background:#fff8ec;border-radius:12px;font:inherit}.world-navigation label{flex:1}.world-navigation input{width:100%;min-height:44px;border:1px solid #d5a5b7;border-radius:12px;padding:8px;font:inherit}.world-progress{font-weight:800;color:#365361}
.commerce-body h3{font-size:22px;margin:5px 0}.commerce-nav{display:flex;gap:8px;margin-bottom:12px}.commerce-nav button{flex:1}.commerce-nav [aria-pressed=true]{background:#884565;color:#fff8ec}.commerce-body p{font-size:14px}.commerce-action{font-size:14px}.commerce-insufficient{color:#93435d;font-weight:800}
.game-dialog summary{min-height:44px;padding:10px 0;cursor:pointer;box-sizing:border-box}
#beta-enabled{width:20px;height:20px;flex:none}#beta-enabled:focus-visible{outline:3px solid #365361;outline-offset:3px}
#help-dialog label:has(#beta-enabled){display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer}
@media(max-width:370px){.brand{font-size:18px}.brand img{display:none}.utilities{gap:2px}.mission-target>strong{font-size:15px}.scoreboard{gap:4px}.scoreboard>div{gap:3px}.free-mode .scoreboard>div{flex-direction:column}.free-mode .scoreboard .stat-label{font-size:11px}}
@media(orientation:portrait) and (max-height:650px){
  .mission-panel{padding:0 8px 4px;margin-bottom:2px}
  .mission-top{gap:4px}
  .mission-top .next-block{justify-content:center}
  .mission-top .queue-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .mission-target{gap:6px}
  .mission-bottom{margin-top:2px}
  #mission-count{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  #mission-compact-count{display:inline;font-size:12px;color:#684356}
  body:not(.free-mode):not(.points-goal) .scoreboard{grid-template-columns:1fr 1.25fr}
  body:not(.free-mode):not(.points-goal) .scoreboard>div:first-child{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
}
@media(orientation:landscape) and (max-height:550px){.topbar{max-width:none}.game-layout{padding:0}.play-area{display:grid;grid-template-columns:minmax(0,1fr) minmax(245px,1fr);grid-template-rows:auto auto 1fr;width:min(100%,850px);gap:5px 12px}.jar-wrap{grid-column:1;grid-row:1/4;height:100%}.mission-panel{grid-column:2;grid-row:1;margin:0}.scoreboard{grid-column:2;grid-row:2;margin:0}.learning-guide{grid-column:2;grid-row:3;align-self:start}.board-overlay h2{font-size:21px}.board-overlay p{font-size:13px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}}
@media(orientation:landscape) and (max-height:550px){.result-return{grid-column:2;grid-row:3;align-self:end}}
