.demo main{display:block;max-width:1120px;margin-top:22px}.demo .site-header{max-width:1240px;padding-top:19px;padding-bottom:19px}.demo footer{max-width:1120px;margin-top:17px}.demo .level-heading h1{font:600 24px "Kaiti SC",KaiTi,"Songti SC",serif;margin:0 0 5px}.demo .game-top{padding-top:13px;padding-bottom:13px}.demo .game-bottom{padding-bottom:10px}.demo-stamp{display:inline-block;margin:24px auto 10px;padding:14px;border:2px solid #ce8067;border-radius:5px;color:#ce8067;font:25px "Kaiti SC",KaiTi,serif;transform:rotate(-7deg)}.demo .pad{min-height:48px}.demo #attempts{font-variant-numeric:tabular-nums}.demo .dialog-copy{white-space:pre-line}@media(max-width:740px){.demo main{margin-top:12px}.demo .edition{max-width:85px;text-align:right;line-height:1.7}.demo .desktop-tip{display:none}.demo .level-heading h1{font-size:20px}.demo .game-bottom{min-height:40px}.demo .site-header{padding:15px 17px}}@media(max-height:540px) and (orientation:landscape){.demo main{margin-top:0}.demo .game-top{padding:5px 12px}.demo .level-heading h1{font-size:16px;margin:0}.demo .pad{min-height:38px}.demo-stamp{display:none}.demo .game-wrap{max-width:calc((100dvh - 105px)*1.92)}}

.progress-bar{max-width:1028px;margin:12px auto;display:flex;align-items:center;gap:12px;padding:0 12px;font-size:12px;color:#777970}.progress-bar select{min-height:40px;max-width:240px;background:#fff8e9;border:1px solid #c2cbb9;border-radius:7px;padding:6px;color:#293448;font:inherit}.progress-bar #save-status{margin-left:auto;font-size:11px}@media(max-width:740px){.progress-bar{flex-wrap:wrap;margin:8px 12px;padding:0;gap:8px}.progress-bar #save-status{width:100%;margin:0}}

/* The playfield grows with the desktop viewport; map and phone retain their layout. */
@media(min-width:900px) and (min-height:650px){
 .demo:not(.on-map) .site-header{max-width:none;height:52px;padding:8px 24px}
 .demo:not(.on-map) #play-screen{width:min(calc(100vw - 24px),calc((100dvh - 220px)*1.92));max-width:none;padding:0;margin:8px auto 0}
 .demo:not(.on-map) .game-top{padding:8px 20px}
 .demo:not(.on-map) .level-heading h1{font-size:22px}
 .demo:not(.on-map) .controls{padding:6px 20px}
 .demo:not(.on-map) .pad{height:48px;min-height:48px}
 .demo:not(.on-map) .game-bottom{min-height:25px;padding:2px 20px 5px}
}
@media(min-width:900px) and (min-height:650px){.demo:not(.on-map) #play-screen>main{width:100%;max-width:none;padding:0;margin:0;display:block}}

