#zmp-game.zmp-trains{background:radial-gradient(ellipse at 50% 15%,#546276,#273649 75%)}
#zmp-game.zmp-trains [data-game-audio-repeat],#zmp-game.zmp-trains [data-game-audio-mute]{color:#503a23;background:#f1e2c7;border-color:#d0b78d}
#zmp-game.zmp-trains .zmp-g-start,#zmp-game.zmp-trains .zmp-g-done{background:radial-gradient(ellipse at 50% 15%,#546276,#273649 85%);padding:5.5rem 1rem 1.5rem;gap:.7rem;overflow-y:auto;justify-content:center}
#zmp-game.zmp-trains .zmp-g-start .zmp-mascot{width:auto;height:clamp(65px,14dvh,115px);filter:drop-shadow(0 6px 12px #1118)}
#zmp-game.zmp-trains .zmp-g-start h2{font-size:clamp(1.3rem,5vw,1.9rem);margin:0;text-align:center}
#zmp-game.zmp-trains .zmp-g-start p{margin:0;font-size:.95rem;text-align:center;color:#e5e5e3}
#zmp-game.zmp-trains .zmp-rich-modes{border:0;padding:0;margin:.25rem 0;width:min(100%,23rem);display:grid;gap:.4rem}
#zmp-game.zmp-trains .zmp-rich-modes legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
#zmp-game.zmp-trains .zmp-rich-modes label{display:flex;align-items:center;gap:.7rem;min-height:58px;border:1px solid #fff4;border-radius:.85rem;padding:.55rem .8rem;background:#fff1;cursor:pointer}
#zmp-game.zmp-trains .zmp-rich-modes label:has(:checked){background:#f5d291;color:#473b31;border-color:#f5d291}
#zmp-game.zmp-trains .zmp-rich-modes input{width:1.15rem;height:1.15rem;accent-color:#765535;flex-shrink:0}
#zmp-game.zmp-trains .zmp-rich-modes span{font-weight:650;line-height:1.25}
#zmp-game.zmp-trains .zmp-rich-modes small{display:block;font-weight:400;font-size:.78rem;margin-top:.2rem}
#zmp-game.zmp-trains .zmp-rich-begin{border:0;border-radius:1.4rem;min-height:48px;padding:.65rem 1.6rem;background:#f6cf80;color:#503a23;font:inherit;font-weight:700;cursor:pointer;box-shadow:0 4px 0 #bc8c49}
#zmp-game.zmp-trains button:focus-visible,#zmp-game.zmp-trains input:focus-visible{outline:3px solid #fff2c4;outline-offset:4px}
#zmp-game.zmp-trains .zmp-g-stage{min-height:0;padding-bottom:1.5rem}
#zmp-game.zmp-trains .zmp-slog{gap:1.5rem;padding-bottom:.8rem}
#zmp-game.zmp-trains .zmp-train-caption{font-size:1.1rem;line-height:1.3;min-height:2.6em;margin:0;text-align:center;color:#fff1d1}
#zmp-game.zmp-trains .zmp-slog__card{width:min(40vw,20dvh,10rem);padding:1rem;border:3px solid #dcc198}
#zmp-game.zmp-trains .zmp-slog__rail{gap:1.1rem;width:100%;align-items:center}
#zmp-game.zmp-trains .zmp-tr{--car:clamp(1.9rem,9vw,3.2rem);position:relative;min-height:64px;padding:.5rem .35rem 1.25rem}
#zmp-game.zmp-trains .zmp-tr::after{content:"";position:absolute;left:.2rem;right:.2rem;bottom:.8rem;height:4px;border-radius:2px;background:#b59a78;box-shadow:0 4px 0 #b59a7866}
#zmp-game.zmp-trains .zmp-tr--won{background:#efd39722}
#zmp-game.zmp-trains .zmp-train-load{position:absolute;left:12%;right:12%;bottom:32%;height:92%;opacity:0;pointer-events:none;z-index:1;transition:opacity .2s}
#zmp-game.zmp-trains .zmp-train-load img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 3px 3px #24324244)}
#zmp-game.zmp-trains .zmp-train-load--visible{opacity:1}
#zmp-game.zmp-trains .zmp-train-syllable{position:absolute;top:110%;left:50%;transform:translateX(-50%);z-index:2;background:#ffe3a6;color:#503a23;font-weight:700;border-radius:.4rem;padding:.08rem .4rem;font-size:.95rem;white-space:nowrap}
#zmp-game.zmp-trains .zmp-tr__car--lit{animation:none}
#zmp-game.zmp-trains .zmp-slog--solved .zmp-slog__card{opacity:.35;transition:opacity .2s}
#zmp-game.zmp-trains button:disabled{cursor:default}
@media(max-height:580px){#zmp-game.zmp-trains .zmp-g-start{justify-content:flex-start}#zmp-game.zmp-trains .zmp-g-start .zmp-mascot{height:55px}#zmp-game.zmp-trains .zmp-g-stage{overflow-y:auto;justify-content:flex-start}#zmp-game.zmp-trains .zmp-slog{flex-direction:column}#zmp-game.zmp-trains .zmp-slog__card{width:80px}#zmp-game.zmp-trains .zmp-tr{--car:1.8rem}}
@media(prefers-reduced-motion:reduce){#zmp-game.zmp-trains .zmp-tr,#zmp-game.zmp-trains .zmp-slog__card,#zmp-game.zmp-trains .zmp-train-load,#zmp-game.zmp-trains .zmp-tr__car{transition:none;animation:none}#zmp-game.zmp-trains .zmp-tr--hint{background:#ffcf6b33}}
@media print{#zmp-train-answers{font-size:11pt;line-height:1.4}#zmp-print-sheet .zmp-pr__task p{margin:0 0 2mm;font-size:11pt}}
