body{background:#34483c}.shell{max-width:1060px}.map{background:#b7c39a;border:3px inset #eee;padding:12px 6px}.station-label{text-align:center;font:bold 15px Georgia,serif;letter-spacing:2px;padding:8px;background:#e6dec7;border:2px solid #756446;margin:0 35px 12px}.rail-map{display:grid;grid-template-columns:32px minmax(0,1fr) 47px;align-items:center;gap:3px}.entry,.exit{font:bold 10px monospace;color:#183326;text-align:center}.exit{background:#eee1b3;padding:6px 0}#board{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px}#board button{position:relative;padding:0;aspect-ratio:1;min-width:0;background:#d1cfb0;border:1px solid #8d9373}#board svg{display:block;width:100%;height:100%}#board button.visited{background:#f2dfa1}#board button.train:after{content:'🚂';position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(20px,3vw,32px);background:#ffe97d55}#board button:disabled{opacity:1}.map-note{text-align:center;font-size:11px;margin-bottom:0}.dispatch{display:flex;gap:10px;margin-top:12px}.dispatch button{flex:1}#status{min-height:60px}.toolbar{gap:12px}.toolbar output{font-size:23px}@media(max-width:740px){.rail-map{grid-template-columns:25px minmax(0,1fr) 37px;gap:2px}.station-label{margin:0 20px 10px;font-size:12px}.map{padding:8px 2px}#board{gap:2px}.toolbar{gap:8px}.toolbar output{font-size:19px;min-width:35px}.toolbar>div{font-size:10px}.entry,.exit{font-size:8px}}
