/* Поле достигает краёв по высоте; на широком экране отношение не больше2:1. */
html,body{width:100%;height:100%;overflow:hidden;overscroll-behavior:none}body{display:flex;justify-content:center}
.game{--play-top:110px;--play-bottom:130px;position:relative;width:min(100%,200vh);width:min(100%,200dvh);height:100vh;height:100dvh;margin:0;padding:0;overflow:hidden;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:none;isolation:isolate}
.stage{position:absolute;inset:0;height:auto;min-height:0;max-height:none;border:0;border-radius:0;box-shadow:none;background:#f0e8d6}.stage canvas{outline-offset:-5px}
.masthead{position:absolute;z-index:3;top:max(18px,env(safe-area-inset-top));left:max(24px,env(safe-area-inset-left));right:max(24px,env(safe-area-inset-right));padding:0;gap:24px}
.scoreboard{background:#fffcf3f5}.brand{text-shadow:0 1px #fffcf3}
.stage-caption{top:calc(var(--play-top) + 4px);left:24px;right:24px}.notice{bottom:calc(var(--play-bottom) + 6px);white-space:normal}
.overlay{inset:var(--play-top) 0 var(--play-bottom);z-index:1}.panel{max-height:calc(100% - 20px);overflow:auto;overscroll-behavior:contain;touch-action:pan-y}
.fallback{inset:var(--play-top) 0 var(--play-bottom);z-index:2;overflow:auto}
.dock{position:absolute;z-index:3;bottom:max(27px,env(safe-area-inset-bottom));left:max(24px,env(safe-area-inset-left));right:max(24px,env(safe-area-inset-right));margin:0;background:#fffcf3f5}
.route-picker{touch-action:pan-x;overscroll-behavior:contain;padding-top:3px}.credit{position:absolute;z-index:3;bottom:5px;left:10px;right:10px;margin:0;color:#7c826f;pointer-events:none}
.storage-message{position:absolute;z-index:4;bottom:calc(var(--play-bottom) + 38px);left:5%;right:5%;max-width:630px;margin:0 auto;padding:8px;background:#fff6e6;border-radius:8px}
.panel{display:flex;flex-direction:column}.panel>*{flex-shrink:0}.panel-copy{flex:0 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;touch-action:pan-y}
@media(max-width:1000px){.masthead{left:16px;right:16px;gap:14px}.dock{left:16px;right:16px}.scoreboard>div{padding:0 15px;min-width:95px}}
@media(max-width:620px){.masthead{top:max(12px,env(safe-area-inset-top));left:12px;right:12px;gap:10px}.stage{height:auto;min-height:0;max-height:none;border-radius:0}.stage-caption{left:12px;right:12px}.notice{padding:7px 12px;max-width:calc(100% - 24px)}.dock{left:12px;right:12px;bottom:max(24px,env(safe-area-inset-bottom));gap:8px;padding:10px}.dock-label{margin-bottom:5px}}
@media(max-height:650px){.panel{padding:16px 22px}.panel h1{font-size:28px;margin-bottom:9px}.seal{display:none}.eyebrow{margin-bottom:8px}.panel-copy{font-size:12px;line-height:1.4;margin-bottom:13px}.panel-foot{margin-top:10px}.primary{padding:12px 16px}.text-button{margin-top:9px;padding:6px}.notice{font-size:10px;padding:5px 10px}.stage-caption{font-size:10px}.stage-caption span{padding:5px 8px}}
@media(max-height:500px) and (min-width:621px){.masthead{top:9px;left:14px;right:14px;gap:12px}.brand{font-size:20px}.brand-mark{font-size:34px}.scoreboard{padding:6px 0}.scoreboard>div{min-width:88px;padding:0 13px}.scoreboard small{font-size:8px;margin-bottom:2px}.scoreboard strong{font-size:18px}.icon-button{width:38px;height:38px}.dock{bottom:20px;left:14px;right:14px;padding:7px 12px;gap:12px}.dock-label{margin-bottom:4px}.dock-actions p{display:none}.drive-controls{grid-template-columns:38px 38px 38px;grid-template-rows:29px 29px}.route-button{width:28px;height:28px}.route-picker{gap:4px}.credit{font-size:7px}.panel{padding:12px 20px}.panel h1{font-size:25px}.eyebrow,.panel-foot{display:none}.panel-copy{font-size:11px;line-height:1.35;margin-bottom:10px}.primary{padding:10px 14px}.stage-caption,.notice{display:none}}
@media(max-height:500px) and (max-width:620px){.masthead{top:7px;gap:8px;flex-wrap:nowrap}.brand{font-size:18px}.brand-mark{font-size:30px}.scoreboard{order:0;width:auto;margin-left:auto;padding:5px 0}.scoreboard>div{padding:0 9px;min-width:0}.scoreboard small{font-size:7px;letter-spacing:.5px}.scoreboard strong{font-size:16px}.header-tools{margin:0;gap:5px}.icon-button{width:32px;height:32px}.dock{display:flex;bottom:19px;padding:6px 10px;gap:9px}.route-block{flex:1}.dock-label{display:none}.route-button{width:26px;height:26px;font-size:11px}.drive-controls{grid-template-columns:32px 32px 32px;grid-template-rows:25px 25px}.reset-button{width:32px;height:32px}.stage-caption,.notice,.eyebrow,.panel-foot{display:none}.panel{padding:10px 20px}.panel h1{font-size:23px}.panel-copy{font-size:11px;line-height:1.3;margin-bottom:9px}.primary{padding:9px 14px}}
/* Длинные инструкции прокручиваются внутри; основные действия всегда на виду. */
@media(max-height:650px){.panel{max-height:calc(100% - 8px)}.panel .eyebrow,.panel .seal,.panel .panel-foot{display:none}.panel h1{margin-bottom:6px}.panel-copy{margin-bottom:8px}.panel[data-kind="win"]{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto minmax(0,1fr) auto;column-gap:10px;height:calc(100% - 8px)}.panel[data-kind="win"] h1{grid-column:1/-1;grid-row:1}.panel[data-kind="win"] .panel-copy{grid-column:1/-1;grid-row:2}.panel[data-kind="win"] #start{grid-row:3;grid-column:1}.panel[data-kind="win"] #next{grid-row:3;grid-column:2;margin:0;border-radius:10px;background:#e9efe3}.panel[data-kind="win"][data-final="true"] #start{grid-column:1/-1}}
@media(max-height:500px){.panel{width:480px;padding:10px 16px}.panel h1{font-size:23px;line-height:1.03}}
