/* Local train styling. Shared engine remains unchanged. */
:root{--bg:#071b21;--panel:rgba(9,31,37,.94);--gold:#e7b76c;--gold2:#ffe1aa;--sans:Arial,'Segoe UI',sans-serif}
.train.mbox{background:linear-gradient(145deg,#17343b,#081a20)}
.train .paper{color:#30291e;font:500 clamp(15px,1.65vw,19px)/1.45 Arial,sans-serif;padding:8px;gap:8px;overflow:auto;justify-content:flex-start;text-shadow:none}
.train .paper>div{width:100%}.train .paper p{margin:5px 0}.train .paper:has(.note){background:#ffedcec9;border-radius:6px}
.train .paper svg{display:block;width:100%;height:100%;min-height:150px}
.train .diagram{height:100%;min-height:180px}.train .field{width:170px;max-width:100%;text-align:center;letter-spacing:3px}
.train input,.train select{font:inherit}.train select,.train .paper input{background:#fff6e3;color:#28241a;border:1px solid #806240;border-radius:5px;padding:8px;min-height:44px;max-width:100%}
.train .paper input{width:130px;font-variant-numeric:tabular-nums;letter-spacing:1px}
.timetable{border-collapse:collapse;width:100%;margin:auto}.timetable th,.timetable td{padding:8px;border-bottom:1px solid #927950;text-align:left}
.signal-code{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:12px 0}.signal-code span{font:bold clamp(18px,2.3vw,28px) monospace;background:#fffaeccc;border:1px solid #977b50;padding:6px;border-radius:4px;letter-spacing:2px}
.alphabet{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;width:100%;font:600 15px monospace}.alphabet div{display:flex;justify-content:space-between;border-bottom:1px solid #a88a6266;padding:3px 5px;gap:5px}.alphabet code{letter-spacing:1px}
.clues{border-left:3px solid var(--gold);padding:0 16px;margin:16px 0}.clues p{margin:8px 0}
.parcel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.parcel-card{position:relative;border:1px solid #927046;background:#f0dab5e8;border-radius:6px;padding:8px;display:grid;gap:5px;text-align:left;box-shadow:0 3px 6px #432a181c}.parcel-card strong{font-size:21px}.parcel-card img{width:50px;height:40px;object-fit:contain;position:absolute;right:5px;top:3px}.parcel-card small{font-size:14px}.parcel-card select{width:100%}
.wagon-readout{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:15px 0}.wagon-readout p{background:#ffffff0c;border:1px solid #e7b76c66;padding:10px;border-radius:8px;text-align:center}
.controls{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:14px 0}.controls label{display:grid;gap:5px;min-width:120px;text-align:center}.train [aria-pressed=true]{outline:3px solid #a1e0c3;outline-offset:2px}.readout{text-align:center;font-weight:bold;color:var(--gold2);min-height:28px}.train .paper .readout{color:#254d43}
.journal-stamp{padding:7px;border-bottom:1px dashed #8d704c}.route-description{font-size:15px;text-align:center}
.spot.hid::after{content:'';width:22px;height:16px;margin:-8px 0 0 -11px;border-radius:0;background:url('img/ticket.png') center/contain no-repeat!important;box-shadow:none!important}.spot.hid:hover::after{width:26px;height:20px;margin:-10px 0 0 -13px}.spot.hid.done::after{opacity:1;animation:none}
.dust i{background:#fff;box-shadow:0 0 4px #ddf4ff;animation-name:snowfall;bottom:auto;top:-10px}@keyframes snowfall{0%{transform:translate(0,0);opacity:0}10%{opacity:.7}100%{transform:translate(45px,110vh);opacity:0}}
.scene::after{box-shadow:inset 0 0 100px 15px #00151b55}
@media(max-width:650px){.train.mbox{padding:16px 10px}.train .cu{aspect-ratio:auto;min-height:490px;background-size:100% 100%}.train .paper{left:15%!important;top:17%!important;width:70%!important;height:65%!important;padding:4px;font-size:15px}.parcel-grid{grid-template-columns:repeat(2,1fr);gap:5px}.parcel-card{padding:5px}.parcel-card img{width:32px;height:28px}.parcel-card select{padding:4px;font-size:14px}.alphabet{grid-template-columns:repeat(3,1fr);font-size:13px}.alphabet div{padding:2px}.timetable td,.timetable th{padding:6px 2px}.train .paper input{width:100px}.wagon-readout{grid-template-columns:1fr;gap:0}.wagon-readout p{margin:4px 0}.train .map-cu{min-height:370px}.train .diagram{min-width:450px}.train .paper:has(.diagram){align-items:flex-start}.signal-code{gap:4px}.signal-code span{font-size:16px;letter-spacing:0;padding:4px}}
@media print{.diploma{background:white!important}.diploma *{color:#251a12!important}}
.train .map-cu .paper{top:15%!important;height:54%!important}
@media(max-width:650px){.train .diagram{min-width:0}.train .map-cu .diagram{min-width:450px}}

/* Άρης 13/11/2026: ανακατεμένα πλαίσια με αριθμό θέσης (πιο δύσκολο) */
.signal-code{margin-top:26px}.signal-code span{position:relative}.signal-code sup{position:absolute;top:-22px;left:50%;transform:translateX(-50%);font:bold 13px Arial,sans-serif;color:#7a4f25;background:#f3e2bf;border:1px solid #977b50;border-radius:50%;width:20px;height:20px;line-height:18px;text-align:center;letter-spacing:0}
.signal-code{row-gap:30px}
