.switch-btn.braking{background:var(--hi);box-shadow:0 0 0 3px var(--panel2),5px 5px 0 var(--ink2);animation:trainBrakePulse .55s steps(2,end) infinite}.game-screen,#trainCanvas,.switch-btn{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.diorama-demo{background:linear-gradient(90deg,rgba(52,66,38,.08),rgba(156,171,114,.18),rgba(52,66,38,.08))}.diorama-demo::before{left:49%;right:auto;top:-12%;width:4px;height:124%;background:var(--ink);transform:none;box-shadow:-5px 0 0 -2px var(--panel),5px 0 0 -2px var(--panel)}.diorama-demo::after{left:50%;right:auto;top:35%;width:32%;height:4px;background:var(--ink2);transform:rotate(-31deg);box-shadow:0 -5px 0 -2px var(--panel2),0 5px 0 -2px var(--panel2)}.demo-train{left:45%;top:46px;width:20px;height:28px;transform:none}.demo-train::before{left:3px;top:-13px;width:14px;height:14px}.demo-train::after{left:-4px;right:-4px;bottom:4px;height:18px;background:linear-gradient(90deg,var(--ink) 0 3px,transparent 3px 17px,var(--ink) 17px 20px);opacity:.9}.demo-tree{right:17%;top:13px;border-left-width:10px;border-right-width:10px;border-bottom-width:27px}.route-card{will-change:transform}.status-led{transition:box-shadow .2s ease}.switch-btn{touch-action:none}.control-deck{grid-template-columns:1fr minmax(360px,520px) 1fr}.action-cluster{display:grid;grid-template-columns:minmax(128px,.62fr) minmax(210px,1fr);gap:9px;align-items:stretch}.action-cluster .pixel-btn{width:100%}.speed-btn{background:var(--panel2);font-size:11px;touch-action:manipulation;white-space:nowrap}.speed-btn:not(:disabled):hover{background:var(--panel)}.speed-btn.maxed:disabled{opacity:.82;background:var(--hi);box-shadow:3px 3px 0 var(--ink2)}@keyframes trainBrakePulse{50%{filter:brightness(1.12);transform:translateY(1px)}}@media(max-width:760px){.control-deck{grid-template-columns:1fr minmax(285px,1.35fr)}.action-cluster{grid-template-columns:minmax(110px,.58fr) minmax(175px,1fr);gap:7px}.speed-btn{font-size:10px}}@media(max-width:420px){.control-deck{grid-template-columns:1fr}.action-cluster{grid-template-columns:minmax(105px,.68fr) minmax(160px,1fr);gap:6px}.speed-btn{font-size:9px;min-height:52px}}@media(max-width:340px){.action-cluster{grid-template-columns:1fr}.speed-btn{min-height:43px}.switch-btn{min-height:48px}}@media(orientation:landscape) and (max-height:560px){.control-deck{grid-template-columns:1fr minmax(350px,470px) 1fr}.action-cluster{gap:6px}.speed-btn,.switch-btn{min-height:38px}}@media(prefers-reduced-motion:reduce){.switch-btn.braking{animation:none}}
