/* Decorative scenery for selection screens. Controls and progress stay in HTML. */
.arcade-page .arcade-game-card { grid-template-columns:112px minmax(0,1fr) auto; column-gap:10px; padding:14px; }
.arcade-page .arcade-game-card>img.scenic-art { grid-column:1; grid-row:1/5; width:112px; height:112px; align-self:center; margin:0; border-radius:10px; object-fit:cover; filter:none; }
.arcade-page .arcade-game-card h2 { font-size:21px; }
#puzzle-workout-setup .workout-choice>img.scenic-art { width:150px; height:150px; border-radius:8px; object-fit:cover; }
.strategy-page .deck-card.has-scenery { grid-template-columns:78px minmax(0,1fr) 32px; grid-template-rows:112px auto 1fr auto auto; row-gap:5px; }
.deck-scenery { position:relative; grid-column:1/-1; grid-row:1; width:calc(100% + 28px); margin:-13px -14px 2px; height:122px; overflow:hidden; border-bottom:1px solid color-mix(in srgb,var(--deck-color),white 60%); }
.deck-scenery img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.strategy-page .deck-card.has-scenery h2 { grid-column:1/-1; grid-row:2; padding-right:22px; }
.strategy-page .deck-card.has-scenery>p { grid-column:1/-1; grid-row:3; }
.strategy-page .deck-card.has-scenery .deck-meta { grid-row:4; }
.strategy-page .deck-card.has-scenery .deck-progress { grid-row:5; }
.strategy-page .deck-card.has-scenery .deck-number { position:absolute; top:8px; right:8px; z-index:3; }
.battle-page .battle-lobby-art>img.scenic-art { border-radius:18px; filter:none; }
.view-puzzles .puzzle-branches>button:has(.scenic-art) { grid-template-columns:64px minmax(0,1fr); min-height:78px; gap:6px; padding:6px; }
.view-puzzles .puzzle-branches>button img.scenic-art { width:64px; height:64px; border-radius:8px; object-fit:cover; filter:none; }
@media(min-width:1024px) {
 .battle-page .battle-lobby-art:has(.scenic-art):before { display:none; }
 .battle-page .battle-lobby-art>img.scenic-art { width:100%; max-width:340px; }
}
@media(max-width:620px) {
 .arcade-page .arcade-game-card { grid-template-columns:78px minmax(0,1fr) auto; column-gap:7px; padding:9px; }
 .arcade-page .arcade-game-card>img.scenic-art { grid-row:1/4; width:78px; height:78px; }
 .arcade-page .arcade-game-card h2 { font-size:18px; }
 .view-puzzles .puzzle-branches>button:has(.scenic-art) { grid-template-columns:55px minmax(0,1fr); min-height:69px; gap:5px; }
 .view-puzzles .puzzle-branches>button img.scenic-art { width:55px; height:55px; }
}
@media(max-width:600px) {
 #puzzle-workout-setup .workout-choice { grid-template-columns:86px minmax(0,1fr); padding:7px 10px; }
 #puzzle-workout-setup .workout-choice>img.scenic-art { grid-row:1/3; width:86px; height:86px; align-self:center; }
}
@media(max-width:360px) {
 .arcade-page .arcade-game-card { grid-template-columns:64px minmax(0,1fr) auto; column-gap:6px; }
 .arcade-page .arcade-game-card>img.scenic-art { width:64px; height:64px; }
 .arcade-page .arcade-game-card h2 { font-size:16px; }
 .view-puzzles .puzzle-branches>button:has(.scenic-art) { grid-template-columns:44px minmax(0,1fr); gap:4px; }
 .view-puzzles .puzzle-branches>button img.scenic-art { width:44px; height:44px; }
}

/* Keep the mobile arena and introduction in one compact card. */
@media(max-width:1023px) {
 .battle-page main .battle-lobby { grid-template-columns:minmax(0,1fr) minmax(100px,40%); align-items:center; gap:14px 10px; margin:12px 8px 28px; padding:18px; border:1px solid #ded6c8; border-radius:var(--radius-card); background:var(--panel-cream); box-shadow:var(--panel-shadow); text-align:left; }
 .battle-page main .battle-lobby-copy { display:contents; }
 .battle-page .battle-lobby #guest-battle-limit { grid-column:1/-1; grid-row:1; justify-self:center; margin:0; }
 .battle-page .battle-lobby h1 { grid-column:1; grid-row:2; margin:0; font-size:clamp(26px,7.4vw,36px); line-height:1.04; letter-spacing:-.05em; }
 .battle-page .battle-lobby-art>img.scenic-art { grid-column:2; grid-row:2; width:100%; height:auto; max-width:200px; justify-self:center; margin:0; border-radius:12px; object-fit:contain; }
 .battle-page .battle-lobby-copy>p:not(.battle-record):not(.guest-access-note) { grid-column:1/-1; grid-row:3; max-width:none; margin:0; font-size:14px; line-height:1.45; }
 .battle-page main .battle-lobby #battle-find-match { grid-column:1/-1; grid-row:4; width:100%; margin:0; min-height:46px; }
 .battle-page .battle-lobby .battle-record { grid-column:1/-1; grid-row:5; margin:2px 0 0; text-align:center; }
}

/* Approved Play, Coach, Notes, daily-focus and Battle-victory scenery. */
.play-level-world .scenic-art,.scenic-coach>.scenic-art,.scenic-notes>.scenic-art,.daily-plan-card-art>.scenic-art,.battle-result-fox.scenic-art { display:block; object-fit:contain; mix-blend-mode:multiply; border-radius:12px; }
.play-level-worlds { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:18px 0 24px; }
.play-level-world { padding:16px; border:1px solid #ded6c8; border-radius:var(--radius-card,14px); background:var(--panel-cream,#fffaf3); box-shadow:var(--panel-shadow); }
.play-world-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.play-world-head h2 { font:800 18px/1.2 var(--sans); margin:0; white-space:nowrap; }
.play-world-head p { font:500 12px/1.4 var(--sans); color:var(--muted); margin:6px 0 0; }
.play-world-head>.scenic-art { width:94px; height:94px; flex:none; }
.play-world-buttons { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:7px; }
.play-world-buttons .play-level-button { width:100%; min-width:0; min-height:64px; padding:8px 4px; }
.coach-site .coach-hero-copy.scenic-coach { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:12px 24px; }
.scenic-coach>.eyebrow { grid-column:1; grid-row:1; margin:0; }
.scenic-coach>h1 { grid-column:1; grid-row:2; margin:0!important; font-size:clamp(36px,4vw,56px)!important; line-height:1.04!important; }
.scenic-coach>p:last-of-type { grid-column:1; grid-row:3; margin:0!important; }
.scenic-coach>.scenic-art { grid-column:2; grid-row:1/4; width:100%; height:auto; align-self:center; }
.notebook-site .notebook-cream-header.scenic-notes { display:flex; flex-direction:row; align-items:center; justify-content:space-between; gap:24px; }
.scenic-notes>div { min-width:0; flex:1; }
.scenic-notes>.scenic-art { width:190px; height:168px; flex:none; }
#daily-plan .daily-plan-card { grid-template-columns:84px minmax(0,1fr) 76px; min-height:152px; height:auto; }
#daily-plan .daily-plan-card-art { width:84px; height:84px; align-self:center; }
#daily-plan .daily-plan-card-art>.scenic-art { width:84px!important; height:84px!important; max-width:none!important; }
.battle-complete .battle-result-fox.scenic-art { width:200px; height:200px; margin:0 auto; }
@media(max-width:760px) {
 .play-level-worlds { grid-template-columns:1fr; gap:14px; margin-top:14px; }
 .play-level-world { padding:12px; }
 .play-world-head { margin-bottom:9px; }
 .play-world-head>.scenic-art { width:82px; height:82px; }
 .play-world-head h2 { font-size:20px; }
 .play-world-buttons .play-level-button { min-height:58px; }
 .coach-site .coach-hero-copy.scenic-coach { grid-template-columns:minmax(0,1fr) 116px; gap:12px 8px; padding:16px; }
 .scenic-coach>.eyebrow { grid-column:1/-1; font-size:10px; }
 .scenic-coach>h1 { grid-column:1; grid-row:2; font-size:30px!important; letter-spacing:-.05em!important; }
 .scenic-coach>.scenic-art { grid-row:2; width:116px; }
 .scenic-coach>p:last-of-type { grid-column:1/-1; font-size:14px; line-height:1.5; }
 .notebook-site .notebook-cream-header.scenic-notes { gap:10px; padding:16px; }
 .scenic-notes>.scenic-art { width:112px; height:112px; }
 .scenic-notes h1 { font-size:28px; }
 .scenic-notes p { font-size:13px!important; }
 #daily-plan .daily-plan-card { grid-template-columns:76px minmax(0,1fr) 72px; min-height:140px; }
 #daily-plan .daily-plan-card-art { width:76px; height:76px; }
 #daily-plan .daily-plan-card-art>.scenic-art { width:76px!important; height:76px!important; }
 .battle-complete .battle-result-fox.scenic-art { width:122px; height:122px; }
}
@media(min-width:761px) and (max-width:1100px) {
 .play-level-worlds { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* Picture and no-script wrappers preserve the existing image grid cell. */
picture.home-puzzle-art { display:contents; }
noscript.home-puzzle-art, picture.home-puzzle-art > source { display:none; }
