:root{--page:#e9ece8;--shell:#f7f4eb;--panel:#fffdf8;--ink:#1e2925;--muted:#68716d;--line:#cfd5cf;--green:#345c46;--green-dark:#244232;--rail:#51483c;--shadow:0 10px 28px rgba(26,37,31,.10)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--page);color:var(--ink);font:16px/1.45 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:inherit}
.site-shell{width:90%;max-width:1800px;margin:0 auto;min-height:100vh}
.sim-header{padding:24px 4px 16px;display:flex;align-items:end;justify-content:space-between;gap:24px}
.sim-brand h1{margin:0;font-size:clamp(1.55rem,2.3vw,2.6rem);letter-spacing:-.03em}.sim-brand p{margin:.3rem 0 0;color:var(--muted)}
.sim-badge{white-space:nowrap;padding:.45rem .7rem;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:.85rem;color:var(--muted)}
.sim-nav-wrap{position:sticky;top:0;z-index:500;background:rgba(233,236,232,.94);backdrop-filter:blur(10px);padding:8px 0 10px}
.sim-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:8px;background:#26352e;border-radius:14px;box-shadow:var(--shadow)}
.sim-nav button{border:0;border-radius:9px;background:transparent;color:#eef4ef;padding:13px 12px;font:inherit;font-weight:700;cursor:pointer}.sim-nav button:hover{background:rgba(255,255,255,.08)}.sim-nav button[aria-selected="true"]{background:#fff;color:#203128}
.rail-game{max-width:none!important;width:100%;margin:16px 0 28px!important;padding:18px!important;border-color:var(--line)!important;border-radius:16px!important;background:var(--shell)!important;color:var(--ink)!important;box-shadow:var(--shadow)}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}.section-head h2{margin:0;font-size:1.35rem}.section-head p{margin:0;color:var(--muted)}
.workspace-grid{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:14px;align-items:start}.workspace-side{display:grid;gap:10px}.sim-card{background:rgba(255,255,255,.78);border:1px solid var(--line);border-radius:12px;padding:12px}.sim-card h3{font-size:1rem;margin:0 0 .65rem}.sim-card label{display:grid;gap:.3rem;margin:.5rem 0;font-size:.9rem;font-weight:650}.sim-card select,.sim-card input{width:100%;padding:.6rem .65rem;border:1px solid #bcc6be;border-radius:8px;background:#fff;font:inherit}.sim-actions{display:grid;gap:7px}.sim-actions button,.sim-card button,.office-actions button,.office-actions .rail-game__import-label{width:100%}
.rail-game__statusbar{grid-template-columns:repeat(7,minmax(0,1fr))!important;margin:0 0 12px!important}.rail-game__statusbar>div{display:grid!important;justify-content:initial!important;gap:2px!important}.rail-game__statusbar span{font-size:.76rem;color:var(--muted)}.rail-game__statusbar strong{font-size:1rem}
.map-stage{min-width:0}.rail-game__map-wrap{min-height:min(500px,90vh);max-height:90vh;overflow:hidden}.rail-game__map{min-height:500px;height:auto;max-height:none;object-fit:initial}
.train-grid,.office-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.train-card,.office-card{background:rgba(255,255,255,.72);border:1px solid var(--line);border-radius:12px;padding:14px}.train-card h3,.office-card h3{margin:0 0 .75rem;font-size:1.05rem}.train-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.train-controls label{display:grid;gap:.3rem;font-weight:650}.train-controls select{width:100%;padding:.6rem;border:1px solid #bcc6be;border-radius:8px;background:#fff}.train-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.office-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.office-actions .rail-game__import-label{position:relative}
.site-footer{border-top:1px solid #bcc6be;padding:20px 4px 30px;display:flex;justify-content:space-between;align-items:center;gap:20px;color:#59635e;font-size:.92rem}.site-footer nav{display:flex;gap:18px}.site-footer a{text-decoration:none}.site-footer a:hover{text-decoration:underline}
.placeholder-note{padding:12px;border-left:4px solid var(--green);background:#fff;border-radius:8px;color:#4c5751}
@media(max-width:1050px){.workspace-grid{grid-template-columns:1fr}.workspace-side{grid-template-columns:repeat(2,minmax(0,1fr))}.rail-game__statusbar{grid-template-columns:repeat(4,minmax(0,1fr))!important}.train-grid,.office-grid{grid-template-columns:1fr}}
@media(max-width:700px){.site-shell{width:96%}.sim-header{align-items:flex-start;flex-direction:column}.sim-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-side{grid-template-columns:1fr}.rail-game__statusbar{grid-template-columns:repeat(2,minmax(0,1fr))!important}.train-controls,.office-actions{grid-template-columns:1fr}.map-stage .rail-game__map-wrap{min-height:min(360px,90vh)}.rail-game__map{min-height:360px}.site-footer{align-items:flex-start;flex-direction:column}}

/* Kartenzoom 0.11.1 */
.rail-game__map-wrap{position:relative}
.map-zoom-hud{position:absolute;top:10px;right:10px;z-index:5;display:flex;align-items:center;gap:7px;padding:5px 6px 5px 9px;border:1px solid rgba(32,49,40,.22);border-radius:9px;background:rgba(255,255,255,.90);box-shadow:0 3px 12px rgba(25,36,30,.12);font-size:.82rem;font-weight:700;pointer-events:auto}
.map-zoom-hud button{width:auto!important;padding:.34rem .5rem!important;border-radius:6px!important;font-size:.78rem!important;background:#fff!important;color:var(--ink)!important}
.map-zoom-help{position:absolute;right:10px;bottom:10px;z-index:4;padding:4px 7px;border-radius:7px;background:rgba(32,49,40,.76);color:#fff;font-size:.75rem;pointer-events:none}
.map-attribution{position:absolute;left:8px;bottom:7px;z-index:4;padding:3px 6px;border-radius:5px;background:rgba(255,255,255,.84);color:#34443a;font-size:.66rem;text-decoration:none;box-shadow:0 1px 4px rgba(25,36,30,.10)}
.map-attribution:hover,.map-attribution:focus{text-decoration:underline;background:#fff}
@media(max-width:700px){.map-attribution{bottom:42px;max-width:calc(100% - 16px)}}
.rail-game__map{touch-action:none;cursor:pointer;user-select:none}
.rail-game__map.is-panning{cursor:grabbing}


/* 0.11.6: Landschaftsbau auf der Feinkoordinatenebene. */
.sim-card__hint{margin:-.25rem 0 .65rem;color:var(--muted);font-size:.82rem}
.landscape-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.landscape-tools button,.landscape-secondary button{width:100%}
.landscape-secondary{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:7px;padding-top:7px;border-top:1px solid var(--line)}
.landscape-status{margin:.65rem 0 0;color:var(--muted);font-size:.8rem;text-align:center}
.sim-card--landscape button[aria-pressed="true"]{background:var(--green)!important;color:#fff!important;border-color:var(--green)!important}
@media(max-width:700px){.landscape-tools,.landscape-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* 0.12.9 – eigener Hauptbereich Bank */
.bank-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.bank-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1rem;box-shadow:0 6px 18px rgba(26,39,51,.06)}.bank-card h3{margin:.05rem 0 .7rem}.bank-card--summary,.bank-card--wide{grid-column:1/-1}.bank-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.bank-kpis>div{padding:.8rem;border-radius:10px;background:#f4f6f7;border:1px solid #e0e5e8}.bank-kpis span,.bank-kpis strong{display:block}.bank-kpis span{font-size:.88rem;color:var(--muted);margin-bottom:.2rem}.bank-kpis strong{font-size:1.15rem}.bank-rating,.bank-help{color:var(--muted);line-height:1.5}.bank-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:.8rem 0}.bank-products button{display:flex;min-height:110px;flex-direction:column;align-items:flex-start;justify-content:center;gap:.2rem;padding:.85rem;text-align:left}.bank-products button strong{font-size:1.18rem}.bank-products button span{font-weight:600}.bank-products button small{line-height:1.3;color:var(--muted)}.bank-products button:disabled{opacity:.5;cursor:not-allowed}.bank-loans{display:grid;gap:.65rem}.bank-loan-row{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;padding:.8rem;border:1px solid var(--line);border-radius:10px;background:#fafbfb}.bank-loan-row>div{display:flex;flex-direction:column;gap:.15rem}.bank-loan-row>div:last-child{text-align:right}.bank-loan-row span,.bank-loan-row small{color:var(--muted)}.bank-special{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.8rem}@media(max-width:760px){.bank-overview{grid-template-columns:1fr}.bank-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.bank-products{grid-template-columns:1fr}.bank-loan-row{grid-template-columns:1fr}.bank-loan-row>div:last-child{text-align:left}}

/* 0.12.24 – Zugverwaltung: scharfe Bilder, Führerstand korrigiert, Auswahl stabil */
.train-management{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:14px;align-items:start}.train-catalog-panel,.train-order-panel,.train-fleet-panel,.train-selected-panel{background:rgba(255,255,255,.74);border:1px solid var(--line);border-radius:14px;padding:14px}.train-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.train-panel-head h3,.train-order-panel h3,.train-selected-panel h3{margin:0 0 .25rem}.train-panel-head p{margin:0;color:var(--muted);font-size:.9rem}.train-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.train-catalog-card{display:grid;gap:8px;padding:8px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;text-align:left}.train-catalog-card.is-selected{outline:3px solid rgba(52,92,70,.28);border-color:var(--green)}.train-catalog-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:9px}.train-catalog-card strong{font-size:1rem}.train-catalog-card small{color:var(--muted)}.train-catalog-price{font-weight:800;color:var(--green-dark)}.train-catalog-detail{display:grid;gap:10px}.train-detail-title{display:flex;align-items:end;justify-content:space-between;gap:8px}.train-detail-title h4{margin:0;font-size:1.2rem}.train-detail-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.train-detail-kpis div{padding:8px;background:#f5f5f0;border-radius:9px}.train-detail-kpis span,.train-detail-kpis strong{display:block}.train-detail-kpis span{font-size:.75rem;color:var(--muted)}.train-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.train-gallery figure{margin:0}.train-gallery img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:8px}.train-gallery figcaption{margin-top:3px;color:var(--muted);font-size:.75rem;text-align:center}.train-delivery-controls{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end;margin-top:12px}.train-delivery-controls label,.train-disposition label{display:grid;gap:.3rem;font-weight:650}.train-delivery-controls select,.train-disposition select{width:100%;padding:.6rem;border:1px solid #bcc6be;border-radius:8px;background:#fff}.train-order-message{min-height:1.4em;color:var(--muted);margin:.55rem 0 0}.train-fleet-panel{margin-top:14px}.train-fleet-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.train-fleet-card{display:grid;grid-template-columns:96px 1fr;gap:9px;padding:8px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;text-align:left;min-width:0}.train-fleet-card.is-selected{border-color:var(--green);outline:3px solid rgba(52,92,70,.22)}.train-fleet-card img{width:96px;height:72px;object-fit:cover;border-radius:8px}.train-fleet-card strong,.train-fleet-card span,.train-fleet-card small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.train-fleet-card span{font-size:.86rem}.train-fleet-card small{color:var(--muted)}.train-status-dot{display:inline-block!important;width:8px;height:8px;border-radius:50%;background:#43865e;margin-right:5px}.train-status-dot.is-maintenance{background:#bf7b28}.train-status-dot.is-standby{background:#77817d}.train-selected-panel{margin-top:14px}.train-selected-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:14px}.train-selected-summary{display:grid;grid-template-columns:150px 1fr;gap:12px;align-items:start}.train-selected-summary img{width:150px;aspect-ratio:4/3;object-fit:cover;border-radius:10px}.train-selected-meta{display:grid;gap:5px}.train-selected-meta p{margin:0}.train-selected-line{padding:8px;border-radius:8px;background:#eef4ef;border:1px solid #d4dfd7}.train-disposition{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.train-disposition-block{display:grid;gap:8px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fafbf9}.train-depot-actions{display:flex;flex-wrap:wrap;gap:7px}.train-disposition button,.train-delivery-controls button{padding:.62rem .8rem}.train-disposition button:disabled{opacity:.5;cursor:not-allowed}.train-maintenance-card{margin-top:12px;padding:10px;border:1px solid var(--line);border-radius:12px;background:#f8f7f2}.train-maintenance-card img{display:block;width:100%;max-width:320px;aspect-ratio:4/3;object-fit:cover;border-radius:10px;margin-bottom:8px}.train-maintenance-card strong,.train-maintenance-card span{display:block}.train-maintenance-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}.train-maintenance-meta div{padding:8px;background:#fff;border:1px solid #e0e4dc;border-radius:8px}.train-maintenance-meta span{font-size:.75rem;color:var(--muted)}
@media(max-width:1200px){.train-management{grid-template-columns:1fr}.train-fleet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* 0.12.98 – iPad/Tablet: Zugkauf darf zwischen 701 und 1024 px nicht im Desktop-Raster bleiben. */
@media(max-width:1024px){
  .train-purchase-section,.train-management--catalog,.train-catalog-panel,.train-order-panel{min-width:0;max-width:100%}
  .train-category-picker{grid-template-columns:repeat(3,minmax(0,1fr))}
  .train-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}
  .train-catalog-card{min-width:0;overflow:hidden}
  .train-catalog-card strong,.train-catalog-card small,.train-catalog-price{min-width:0;overflow-wrap:anywhere}
  .train-detail-title{align-items:flex-start;flex-wrap:wrap}
  .train-detail-title h4{min-width:0;overflow-wrap:anywhere}
  .train-detail-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .train-detail-kpis div{min-width:0}
  .train-detail-kpis strong{overflow-wrap:anywhere}
  .train-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  .train-delivery-controls{grid-template-columns:minmax(0,1fr) auto}
  .train-delivery-controls label,.train-delivery-controls select{min-width:0;max-width:100%}
  .train-order-panel{overflow:hidden}
}
@media(max-width:700px){.train-catalog{grid-template-columns:1fr}.train-fleet-grid{grid-template-columns:1fr}.train-selected-layout,.train-disposition{grid-template-columns:1fr}.train-selected-summary{grid-template-columns:110px 1fr}.train-selected-summary img{width:110px}.train-delivery-controls{grid-template-columns:1fr}.train-detail-kpis{grid-template-columns:1fr}.train-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 0.12.26 – Bahnhofspacht, Newsticker und Aufgaben. */
.sim-nav{grid-template-columns:repeat(7,minmax(0,1fr))}
.overview-alerts{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.75fr);gap:10px;margin:10px 0 12px}
.overview-news,.overview-tasks{border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.82);padding:10px 12px}
.overview-news{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center}.overview-news>strong{color:var(--green-dark)}
.overview-news [data-news-ticker]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.overview-tasks>strong{display:block;margin-bottom:7px}.overview-task-list{display:grid;gap:6px}
.overview-task-button{width:100%;text-align:left;padding:8px 10px;border:1px solid #d7b66f;border-radius:8px;background:#fff8df;cursor:pointer;font-weight:700;animation:taskPulse 1.6s ease-in-out infinite}
@keyframes taskPulse{0%,100%{box-shadow:0 0 0 0 rgba(199,135,27,.05)}50%{box-shadow:0 0 0 4px rgba(199,135,27,.20)}}
.station-management-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.65fr);gap:14px;align-items:start}
.station-list-panel,.station-detail-panel{background:rgba(255,255,255,.74);border:1px solid var(--line);border-radius:14px;padding:14px}
.station-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.station-card{display:grid;grid-template-columns:112px 1fr;gap:10px;align-items:start;padding:8px;border:1px solid var(--line);border-radius:11px;background:#fff;text-align:left;cursor:pointer}
.station-card.is-selected{border-color:var(--green);outline:3px solid rgba(52,92,70,.2)}
.station-card.has-attention{border-color:#c88d28;box-shadow:0 0 0 3px rgba(200,141,40,.14)}
.station-card img{width:112px;height:78px;object-fit:cover;border-radius:8px}.station-card strong,.station-card span,.station-card small{display:block}.station-card span,.station-card small{color:var(--muted);margin-top:3px}
.station-detail-panel{position:sticky;top:92px}.station-detail-panel>img{display:block;width:100%;max-height:440px;height:auto;object-fit:contain;border-radius:10px;margin:.5rem 0 .8rem}
.station-detail-meta{margin:0}.station-detail-meta div{display:grid;grid-template-columns:130px 1fr;gap:8px;padding:6px 0;border-bottom:1px solid #edf0ec}.station-detail-meta dt{color:var(--muted)}.station-detail-meta dd{margin:0;font-weight:700}
.station-detail-note{padding:9px;border-radius:8px;background:#f4f5f1;color:var(--muted);line-height:1.4}.station-detail-actions{display:grid;gap:8px}.station-detail-actions button{padding:.65rem .75rem}
@media(max-width:1100px){.station-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.station-management-layout{grid-template-columns:1fr}.station-detail-panel{position:static}.overview-alerts{grid-template-columns:1fr}}
@media(max-width:700px){.sim-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.station-card-grid{grid-template-columns:1fr}.station-card{grid-template-columns:96px 1fr}.station-card img{width:96px;height:68px}.overview-news{grid-template-columns:1fr}.overview-news [data-news-ticker]{white-space:normal}}


/* 0.12.27 – Newsticker-Verlauf und Bahnhofskostenhistorie. */
.overview-news{display:block}.overview-news__head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:7px}.overview-news__head span{font-size:.78rem;color:var(--muted)}
.overview-news-list{display:grid;gap:5px;max-height:154px;overflow:auto}.overview-news-item{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:start;width:100%;padding:7px 8px;border:1px solid #e4e7e2;border-radius:8px;background:#fff;text-align:left}.overview-news-item.is-clickable{cursor:pointer}.overview-news-item.is-clickable:hover{border-color:#9bb0a2;background:#f7faf7}.overview-news-day{font-size:.72rem;color:var(--muted);white-space:nowrap}.overview-news-text{font-size:.86rem;line-height:1.35}.overview-news-empty{margin:0;color:var(--muted);font-size:.86rem}
.station-history{margin-top:10px;padding:9px;border:1px solid var(--line);border-radius:9px;background:#fafbf9}.station-history>strong{display:block;margin-bottom:6px}.station-history [data-station-detail-history]{display:grid;gap:4px}.station-history-row{display:flex;justify-content:space-between;gap:10px;font-size:.82rem;border-top:1px solid #ecefea;padding-top:4px}.station-history-row:first-child{border-top:0;padding-top:0}.station-history-row span:last-child{font-weight:700;white-space:nowrap}

/* 0.12.28 – Bahnhofspacht: verfügbare Standorte und Auslastung */
.station-available-section{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.station-available-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.station-available-card{display:grid;grid-template-columns:96px 1fr;gap:10px;align-items:start;padding:8px;border:1px dashed #9fb1a5;border-radius:11px;background:#f8faf7;text-align:left}
.station-available-card img{width:96px;height:68px;object-fit:cover;border-radius:8px}.station-available-card strong,.station-available-card span,.station-available-card small{display:block}.station-available-card span,.station-available-card small{color:var(--muted);margin-top:3px}.station-available-card button{margin-top:7px;width:100%;padding:.52rem .7rem}
.station-utilization-good{color:#2f704b}.station-utilization-medium{color:#8b6a16}.station-utilization-low{color:#8b4a32}
@media(max-width:1100px){.station-available-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.station-available-grid{grid-template-columns:1fr}}


.landscape-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.landscape-tools button,.landscape-secondary button{width:100%}
.train-depot-card{margin-top:12px;padding:10px;border:1px solid var(--line);border-radius:12px;background:#f8f7f2}
.train-depot-card img{display:block;width:100%;max-width:320px;aspect-ratio:4/3;object-fit:cover;border-radius:10px;margin-bottom:8px}
.train-depot-card strong,.train-depot-card span{display:block}
.train-depot-card small{display:block;color:var(--muted)}
.train-depot-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}
.train-depot-meta div{padding:8px;background:#fff;border:1px solid #e0e4dc;border-radius:8px}
.train-depot-meta span{font-size:.75rem;color:var(--muted)}
/* 0.12.32 – Depotbau mit Abstell- und Großwartungsfunktion. */
.station-detail-renewal-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0;padding:10px;border:1px solid #d6b86e;border-radius:10px;background:#fff8df}
.station-detail-renewal-actions>strong{grid-column:1/-1;color:#765413}
.station-detail-renewal-actions button{padding:.65rem .75rem}
.station-detail-renewal-actions[hidden]{display:none}
@media(max-width:700px){.station-detail-renewal-actions{grid-template-columns:1fr}}

/* 0.12.34 – Depotkapazität, Wartungshistorie und Warnstufen */
.depot-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;margin:10px 0 16px}
.depot-overview-card{border:1px solid var(--line);border-radius:12px;background:#fff;padding:10px;display:grid;gap:8px}
.depot-overview-card img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:9px}
.depot-overview-card h4{margin:0}.depot-overview-card p{margin:0;color:var(--muted)}
.depot-capacity{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.depot-capacity div{padding:8px;border-radius:8px;background:#f5f6f3;border:1px solid #e2e5de}.depot-capacity span,.depot-capacity strong{display:block}.depot-capacity span{font-size:.76rem;color:var(--muted)}
.depot-train-list{display:grid;gap:4px;font-size:.84rem}.depot-train-list span{padding:5px 7px;background:#f7f8f6;border-radius:6px}
.maintenance-history{margin-top:10px;border-top:1px solid #e3e6df;padding-top:8px}.maintenance-history strong{display:block;margin-bottom:5px}.maintenance-history-list{display:grid;gap:4px}.maintenance-history-list span{font-size:.8rem;color:var(--muted)}
.maintenance-warning--soon{color:#946800}.maintenance-warning--due{color:#a94d00}.maintenance-warning--overdue{color:#a00000;font-weight:700}

/* 0.12.36 – Ersatzzug aus Depot */
.rail-game__line-reserve{display:grid;grid-template-columns:minmax(150px,.6fr) minmax(220px,1fr) auto;gap:8px;align-items:center;margin-top:10px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#f5f7f3}.rail-game__line-reserve select{min-width:0;padding:.55rem;border:1px solid #bcc6be;border-radius:8px;background:#fff}.rail-game__line-reserve small{grid-column:1/-1;color:var(--muted)}@media(max-width:700px){.rail-game__line-reserve{grid-template-columns:1fr}.rail-game__line-reserve small{grid-column:auto}}

/* 0.12.37 – eigener Depot-Karteireiter */
.depot-management-panel{display:grid;gap:14px}
.depot-create-card{background:rgba(255,255,255,.78);border:1px solid var(--line);border-radius:14px;padding:14px;display:grid;gap:10px}
.depot-create-card h3,.depot-create-card p{margin:0}.depot-create-card p{color:var(--muted)}
.depot-create-controls{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px;align-items:end}
.depot-create-controls label{display:grid;gap:.35rem;font-weight:650}.depot-create-controls select{width:100%;padding:.65rem;border:1px solid #bcc6be;border-radius:8px;background:#fff}
.depot-create-message{min-height:1.4em}
.depot-status-groups{display:grid;gap:7px}.depot-status-group{border-top:1px solid #e2e5de;padding-top:7px}.depot-status-group:first-child{border-top:0;padding-top:0}.depot-status-group strong{display:block;margin-bottom:4px}.depot-status-empty{color:var(--muted);font-size:.84rem}
@media(max-width:700px){.depot-create-controls{grid-template-columns:1fr}}

/* 0.12.38 – Depot-Betriebszentrale */
.depot-operations{display:grid;gap:8px;padding:9px;border:1px solid #dce2dd;border-radius:9px;background:#f8faf8}
.depot-operations strong{font-size:.9rem}
.depot-operations-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:end}
.depot-operations-row label{display:grid;gap:3px;font-size:.82rem;color:var(--muted)}
.depot-operations-row select{width:100%;padding:.55rem;border:1px solid #bcc6be;border-radius:8px;background:#fff}
.depot-operations-row button{padding:.55rem .7rem}
.depot-train-action-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:center;padding:6px 0;border-top:1px solid #edf0ed}
.depot-train-action-row:first-child{border-top:0}
.depot-train-action-row__text{display:grid;gap:2px;min-width:0}
.depot-train-action-row__text strong,.depot-train-action-row__text small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.depot-train-action-row__text small{color:var(--muted)}
.depot-train-action-buttons{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}
.depot-train-action-buttons button{padding:.42rem .58rem;font-size:.8rem}
@media(max-width:700px){.depot-operations-row,.depot-train-action-row{grid-template-columns:1fr}.depot-train-action-buttons{justify-content:flex-start}}

/* 0.12.39 – Depotbauzeit und HU-Vorlauf */
.depot-overview-card.is-under-construction{opacity:.88}.depot-construction-notice{padding:9px;border-radius:8px;background:#f5f1e6;border:1px solid #ded1b0;font-size:.86rem}.depot-overview-card.is-under-construction img{filter:saturate(.7)}

/* 0.12.43 – linienbezogene Wiedereinsatz-Auswahl für pausierte leere Linien */
.rail-game__line-rejoin{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px;border:1px solid #cfd9d1;border-radius:10px;background:#f4f8f4}
.rail-game__line-rejoin strong,.rail-game__line-rejoin small{grid-column:1/-1}
.rail-game__line-rejoin select{min-width:0;width:100%;padding:.55rem;border:1px solid #bcc6be;border-radius:8px;background:#fff}
@media (max-width:700px){.rail-game__line-rejoin{grid-template-columns:1fr}.rail-game__line-rejoin strong,.rail-game__line-rejoin small{grid-column:1}.rail-game__line-rejoin button{width:100%}}

.train-catalog-description{margin:8px 0 12px;color:var(--muted);line-height:1.45}

/* 0.12.47 – lokale Ersatzzugauswahl direkt in der Linienkachel */
.rail-game__line-replacement{display:grid;grid-template-columns:minmax(130px,.45fr) minmax(210px,1fr) auto;gap:8px;align-items:center;width:100%;margin-top:8px;padding:9px;border:1px solid #d4ddd6;border-radius:10px;background:#f7f9f6}
.rail-game__line-replacement select{min-width:0;width:100%;padding:.55rem;border:1px solid #bcc6be;border-radius:8px;background:#fff}
.rail-game__line-replacement small{grid-column:1/-1;color:var(--muted)}
@media(max-width:700px){.rail-game__line-replacement{grid-template-columns:1fr}.rail-game__line-replacement small{grid-column:auto}.rail-game__line-replacement button{width:100%}}

/* 0.12.48 – verständliche Zugaktionen direkt in jeder Linienkachel */
.rail-game__line-train-head{display:flex;flex-wrap:wrap;gap:.35rem .65rem;align-items:baseline;margin-bottom:6px}.rail-game__line-train-head strong{font-size:1rem}.rail-game__line-train-head span{color:var(--muted)}
.rail-game__line-remove{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;margin-top:8px}.rail-game__line-remove small{color:var(--muted)}
.rail-game__line-add{display:grid;grid-template-columns:minmax(160px,.65fr) minmax(220px,1fr) auto;gap:8px;align-items:center;margin-top:12px;padding:12px;border:1px solid #cfd9d1;border-radius:10px;background:#f4f8f4}.rail-game__line-add select{min-width:0;width:100%;padding:.55rem;border:1px solid #bcc6be;border-radius:8px;background:#fff}.rail-game__line-add small{grid-column:1/-1;color:var(--muted)}
@media(max-width:700px){.rail-game__line-remove,.rail-game__line-add{grid-template-columns:1fr}.rail-game__line-add small{grid-column:auto}.rail-game__line-remove button,.rail-game__line-add button{width:100%}}

/* 0.12.61: Eigene Flotte zuerst; zweistufiger, regionsneutraler Fahrzeugkatalog. */
.train-fleet-panel--primary{margin-top:0;border:2px solid rgba(52,92,70,.18);background:rgba(255,255,255,.88)}
.train-purchase-section{margin-top:18px;padding-top:16px;border-top:2px solid var(--line)}
.train-category-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 12px}
.train-category-picker button{padding:.85rem .9rem;border:1px solid var(--line);border-radius:12px;background:#fff;font-weight:750;cursor:pointer}
.train-category-picker button.is-selected{border-color:var(--green);outline:3px solid rgba(52,92,70,.22);background:#eef4ef}
.train-management--catalog{margin-top:0}
.train-catalog-empty{margin:.4rem 0;color:var(--muted)}
.train-catalog-panel h4,.train-order-panel h4{margin:0 0 .25rem}
@media(max-width:700px){.train-category-picker{grid-template-columns:1fr}.train-management--catalog{grid-template-columns:1fr}}

.game-mode-note{margin:.55rem 0;padding:.65rem .75rem;border-radius:9px;background:rgba(255,255,255,.62);color:var(--muted);font-size:.88rem;line-height:1.35}



/* 0.12.97: verpflichtende Spielmoduswahl + Startbrief */
.rail-game__startup-modal,.rail-game__intro-modal{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:20px}.rail-game__startup-modal[hidden],.rail-game__intro-modal[hidden]{display:none}.rail-game__startup-backdrop,.rail-game__intro-backdrop{position:absolute;inset:0;background:rgba(20,25,25,.72);backdrop-filter:blur(3px)}.rail-game__startup-dialog{position:relative;width:min(760px,94vw);background:#f7f4e8;border:1px solid rgba(71,63,42,.35);border-radius:18px;padding:28px;box-shadow:0 24px 70px rgba(0,0,0,.38);color:#302d24}.rail-game__startup-kicker{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:800;color:#6f674e;margin:0 0 6px}.rail-game__startup-dialog h2{margin:0 0 8px;font-size:clamp(1.6rem,3vw,2.25rem)}.rail-game__startup-lead{margin:0 0 18px;color:#5d5848}.rail-game__startup-region{display:grid;gap:6px;margin:0 0 22px;font-weight:800;color:#3c392e}.rail-game__startup-region span{font-size:.86rem;text-transform:uppercase;letter-spacing:.06em;color:#6f674e}.rail-game__startup-region select{width:100%;padding:.72rem .8rem;border:1px solid #b8af91;border-radius:10px;background:#fffdf4;color:#302d24;font:inherit}.rail-game__startup-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.rail-game__startup-mode{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:10px;min-height:150px;text-align:left;border:1px solid #b8af91;border-radius:14px;background:linear-gradient(160deg,#fffdf4,#e9e2c8);padding:20px;cursor:pointer;box-shadow:0 5px 15px rgba(65,58,37,.10);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.rail-game__startup-mode:hover,.rail-game__startup-mode:focus-visible{transform:translateY(-2px);box-shadow:0 9px 22px rgba(65,58,37,.18);border-color:#6e7d49;outline:none}.rail-game__startup-mode strong{display:block;width:100%;font-size:1.18rem;line-height:1.2;color:#26311d}.rail-game__startup-mode-break{display:block;width:100%;height:0;line-height:0}.rail-game__startup-mode span{display:block;width:100%;line-height:1.45;color:#5b584b}.rail-game__intro-letter{position:relative;width:min(700px,94vw);max-height:90vh;overflow:auto;background:#f4ecd2;background-image:linear-gradient(rgba(255,255,255,.18),rgba(119,91,49,.04));border:1px solid #b5a57c;border-radius:6px;padding:clamp(24px,5vw,46px);box-shadow:0 28px 80px rgba(0,0,0,.48),inset 0 0 45px rgba(118,92,50,.08);color:#393225;font-family:Georgia,'Times New Roman',serif}.rail-game__intro-letterhead{text-align:center;text-transform:uppercase;letter-spacing:.16em;font-size:.76rem;color:#756647;border-bottom:1px solid rgba(117,102,71,.45);padding-bottom:12px;margin-bottom:20px}.rail-game__intro-letter h2{text-align:center;margin:0 0 22px;font-size:2rem}.rail-game__intro-salutation{font-weight:700}.rail-game__intro-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:22px 0;border:1px solid rgba(102,86,56,.32)}.rail-game__intro-facts div{padding:11px 14px;border-bottom:1px solid rgba(102,86,56,.22)}.rail-game__intro-facts div:nth-child(odd){border-right:1px solid rgba(102,86,56,.22)}.rail-game__intro-facts dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#796d54}.rail-game__intro-facts dd{margin:3px 0 0;font-weight:700}.rail-game__intro-steps{padding-left:1.4rem;line-height:1.5}.rail-game__intro-steps li{margin:.5rem 0}.rail-game__intro-closing{margin-top:20px}.rail-game__intro-signature{text-align:right;font-style:italic;margin:18px 0}.rail-game__intro-start{display:block;margin:24px auto 0;min-width:180px;font-family:inherit}@media(max-width:680px){.rail-game__startup-mode-grid{grid-template-columns:1fr}.rail-game__startup-mode{min-height:auto}.rail-game__intro-facts{grid-template-columns:1fr}.rail-game__intro-facts div:nth-child(odd){border-right:0}.rail-game__intro-letter{padding:24px 20px}}

.office-new-game{margin-bottom:.75rem}.office-new-game button{width:100%;font-weight:800;padding:.7rem .85rem}

/* 0.12.117 – Landing-Page im Aufbauprinzip des Nibelungen-Projekts */
.landing-page--rail{min-height:100vh;background:#171b1a;color:#2d281f;font-family:Georgia,'Times New Roman',serif}
.rail-landing-hero{position:relative;min-height:clamp(420px,62vw,760px);overflow:hidden;background:#101615}
.rail-landing-hero__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 54%}
.rail-landing-hero__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,14,14,.08) 20%,rgba(10,14,14,.34) 58%,rgba(10,14,14,.9) 100%),linear-gradient(90deg,rgba(9,13,13,.42),transparent 48%,rgba(9,13,13,.14))}
.rail-landing-hero__title{position:absolute;left:50%;bottom:clamp(34px,6vw,74px);transform:translateX(-50%);width:min(980px,calc(100% - 36px));text-align:center;color:#fff9e7;text-shadow:0 3px 16px rgba(0,0,0,.74)}
.rail-landing-hero__eyebrow{margin:0 0 8px;text-transform:uppercase;letter-spacing:.18em;font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:clamp(.72rem,1.3vw,.9rem);font-weight:800;color:#f2d8a2}
.rail-landing-hero__title h1{margin:0;font-size:clamp(2.5rem,7vw,5.9rem);line-height:.98;font-weight:700;letter-spacing:.015em}
.rail-landing-hero__title>p:last-child{margin:14px 0 0;font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:clamp(.9rem,1.8vw,1.18rem);font-weight:650;letter-spacing:.05em}
.rail-landing-content{position:relative;z-index:2;width:min(1120px,calc(100% - 32px));margin:-22px auto 0;padding:0 0 48px}
.rail-landing-panel{position:relative;background:linear-gradient(135deg,#f5ead1 0,#fffaf0 48%,#eee0bf 100%);border:1px solid #a88755;box-shadow:0 14px 40px rgba(0,0,0,.35),inset 0 0 0 4px rgba(255,255,255,.28);border-radius:3px}
.rail-landing-panel:before,.rail-landing-panel:after{content:"";position:absolute;pointer-events:none;width:34px;height:34px;border-color:#8f6d3a}
.rail-landing-panel:before{top:10px;left:10px;border-top:2px solid;border-left:2px solid}
.rail-landing-panel:after{right:10px;bottom:10px;border-right:2px solid;border-bottom:2px solid}
.rail-landing-welcome{padding:clamp(28px,5vw,54px);text-align:center}
.rail-landing-panel__kicker{margin:0 0 7px;text-transform:uppercase;letter-spacing:.17em;font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:.76rem;font-weight:800;color:#88632e}
.rail-landing-welcome h2,.rail-landing-legal h2{margin:0 0 16px;color:#602b1f;font-size:clamp(1.65rem,4vw,2.55rem);font-weight:700}
.rail-landing-welcome__development{max-width:800px;margin:0 auto;font-size:clamp(1rem,2vw,1.15rem);line-height:1.65;color:#443b2d}
.rail-landing-ornament{display:flex;align-items:center;justify-content:center;gap:12px;margin:22px auto;color:#8d6c38}.rail-landing-ornament span{width:min(180px,24vw);height:1px;background:linear-gradient(90deg,transparent,#9e7d48)}.rail-landing-ornament span:last-child{background:linear-gradient(90deg,#9e7d48,transparent)}.rail-landing-ornament b{font-size:.78rem}
.rail-landing-consent{max-width:900px;margin:0 auto;padding:24px;border:1px solid rgba(120,89,48,.36);background:rgba(255,252,242,.66);text-align:left}
.rail-landing-consent__intro{display:grid;grid-template-columns:52px 1fr;gap:16px;align-items:start;padding-bottom:20px;border-bottom:1px solid rgba(126,94,52,.3)}
.rail-landing-consent__icon{display:grid;place-items:center;width:48px;height:48px;border:2px solid #8e6a35;border-radius:50%;background:#dbc28d;color:#664621;box-shadow:inset 0 0 0 5px rgba(255,255,255,.36)}
.rail-landing-consent h3{margin:0 0 7px;color:#4a3020;font-size:1.15rem}
.rail-landing-consent p{margin:0;line-height:1.58;color:#4d4437}
.rail-landing-consent a,.rail-landing-more{color:#672d21;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.rail-landing-consent__intro a{display:inline-block;margin-top:8px}
.rail-landing-consent__decision{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.58fr);gap:24px;align-items:center;padding-top:20px}
.rail-landing-checkbox{display:grid;grid-template-columns:26px 1fr;gap:12px;align-items:start;padding:15px;border:1px solid rgba(128,95,51,.35);background:rgba(255,255,255,.45);font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:.94rem;line-height:1.48;color:#403b34;cursor:pointer}
.rail-landing-checkbox input{width:21px;height:21px;margin:2px 0 0;accent-color:#45633f}
.rail-landing-start{text-align:center}.rail-landing-start__button{width:100%;min-height:58px;padding:12px 18px;border:1px solid #324b30;border-radius:3px;background:linear-gradient(#5b7b50,#3f613d);color:#fff9e9;font-family:Georgia,'Times New Roman',serif;font-size:1.08rem;font-weight:700;box-shadow:0 5px 0 #2f472e,0 9px 18px rgba(0,0,0,.18);cursor:pointer}.rail-landing-start__button:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.rail-landing-start__button:disabled{background:#aaa28e;border-color:#8e8778;color:#eee9dc;box-shadow:0 4px 0 #807a6c;cursor:not-allowed;opacity:.78}.rail-landing-start p{margin:10px 0 0;font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:.85rem;color:#6a6255}
.rail-landing-legal{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:28px}
.rail-landing-legal__card{padding:30px 32px;min-height:260px}.rail-landing-legal__card h2{font-size:1.8rem}.rail-landing-legal__card h3{margin:.1rem 0 .45rem;color:#513722;font-size:1.05rem}.rail-landing-legal__card p{line-height:1.6;color:#443d33}.rail-landing-imprint-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:24px}.rail-landing-more{display:inline-block;margin-top:8px}
.rail-landing-footer{padding:30px 20px 36px;text-align:center;color:#d9c7a2;background:#111514;border-top:1px solid rgba(213,184,132,.28);font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.rail-landing-footer__ornament{color:#b99455}.rail-landing-footer p{margin:8px 0 12px}.rail-landing-footer nav{display:flex;justify-content:center;gap:22px}.rail-landing-footer a{color:#ead9b8;text-decoration:none}.rail-landing-footer a:hover{text-decoration:underline}
@media(max-width:820px){.rail-landing-consent__decision,.rail-landing-legal,.rail-landing-imprint-grid{grid-template-columns:1fr}.rail-landing-hero{min-height:500px}.rail-landing-hero__image{object-position:center center}.rail-landing-content{margin-top:-12px}}
@media(max-width:560px){.rail-landing-content{width:min(100% - 20px,1120px)}.rail-landing-welcome{padding:26px 18px}.rail-landing-consent{padding:17px}.rail-landing-consent__intro{grid-template-columns:1fr}.rail-landing-consent__icon{margin:0 auto}.rail-landing-consent__intro>div:last-child{text-align:center}.rail-landing-legal__card{padding:25px 20px}.rail-landing-hero__title{width:calc(100% - 24px)}.rail-landing-hero__title>p:last-child{line-height:1.5}}

/* Keep catalogue buttons independent of the general inline-flex button rule. */
.rail-game .train-catalog-card{display:grid;grid-template-columns:minmax(0,1fr);align-content:start;justify-items:stretch;min-width:0;max-width:100%;overflow:hidden;text-align:left;color:var(--ink)}
.rail-game .train-catalog-card img{min-width:0;max-width:100%;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.rail-game .train-catalog-card strong,.rail-game .train-catalog-card small,.rail-game .train-catalog-price{min-width:0;white-space:normal;overflow-wrap:anywhere}
.rail-game .train-fleet-card{display:grid;min-width:0}
.rail-game .train-category-picker button.is-selected{color:var(--green-dark);background:#eef4ef}
.train-catalog-panel,.train-order-panel{min-width:0}

/* Compact line overview with native, keyboard-accessible disclosure controls. */
[data-lines]{display:flex;flex-direction:column;gap:18px}
[data-lines]>.rail-game__line-section{margin:0;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fffdf9}
[data-lines]>.rail-game__line-section--service{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:16px 28px;background:#eef3ed}
[data-lines]>.rail-game__line-section--service h3{margin:0}
[data-lines] .rail-game__line-service-control{margin:0}
[data-line-list]{display:grid;gap:10px}
[data-lines] details.rail-game__line-card{padding:0;margin:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}
[data-lines] summary.rail-game__line-card-head{display:list-item;list-style-position:inside;cursor:pointer;padding:18px;font-weight:750;background:#f1f5ef;color:var(--ink)}
[data-lines] .rail-game__line-card-heading{display:inline}
[data-lines] .rail-game__line-card-heading span{display:inline;font-size:1.05rem;color:inherit;overflow-wrap:anywhere}
[data-lines] .rail-game__line-card[open]>summary{border-bottom:1px solid var(--line)}
[data-lines] .rail-game__line-body{padding:18px}
[data-lines] .rail-game__line-body>strong{display:block;font-size:1.1rem;margin-bottom:8px}
[data-lines] .rail-game__line-card-badges{justify-content:flex-start;margin-bottom:12px}
.line-stop-sequence{display:block;margin:12px 0;line-height:1.6;overflow-wrap:anywhere}
.line-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:16px 0}
.line-metrics>div{padding:12px;background:#f3f5f1;border-radius:9px;min-width:0}
.line-metrics dt{font-size:.82rem;color:var(--muted)}
.line-metrics dd{margin:5px 0 0;font-weight:750;overflow-wrap:anywhere}
.line-infrastructure-note{color:var(--muted);font-size:.9rem}
[data-lines] .line-editor-summary{cursor:pointer;font-size:1.1rem;font-weight:750;list-style-position:inside}
.line-editor-content{margin-top:18px}
[data-lines] summary:focus-visible{outline:3px solid var(--green);outline-offset:-3px}
[data-line-editor]{scroll-margin-top:120px}
@media(max-width:700px){[data-lines]>.rail-game__line-section--service{display:block}[data-lines]>.rail-game__line-section{padding:12px}[data-lines] .rail-game__line-body{padding:12px}[data-lines] summary.rail-game__line-card-head{padding:16px 12px}.line-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 0.12.132: separate fleet operations and purchasing on every screen size. */
.train-view-switch{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}
.rail-game .train-view-switch button{flex:1 1 180px;min-height:46px;color:var(--ink);background:#fff;border:1px solid #c8d2cc;font-weight:700}
.rail-game .train-view-switch button[aria-pressed="true"]{background:var(--green-dark,#24392f);color:#fff;border-color:var(--green-dark,#24392f)}
.rail-game .train-view-switch button:focus-visible{outline:3px solid #b88b3d;outline-offset:3px}
.rail-game [data-train-view-panel][hidden]{display:none!important}
.rail-game [data-train-view-panel="purchase"]{margin-top:0;padding-top:0;border-top:0}
.train-view-message:empty{display:none}
.train-view-message{padding:12px 14px;background:#edf4ed;border-left:4px solid #486f51;border-radius:6px}
/* 0.12.133: modal vehicle catalogue, with a readable spread on large screens. */
html.train-catalog-open{overflow:hidden}
.rail-game .train-catalog-lightbox{box-sizing:border-box;width:min(1060px,94vw);max-width:94vw;max-height:90dvh;overflow:auto;padding:24px;border:1px solid #c8c5b5;border-radius:16px;background:#fcfaf3;color:#24332e;box-shadow:0 24px 80px #0005}
.train-catalog-lightbox::backdrop{background:rgba(15,28,24,.72)}
.train-book-header,.train-book-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px}
.train-book-header h2{margin:4px 0 16px}
.train-book-header small{letter-spacing:.15em}
.train-book-navigation{padding:12px 0;border-block:1px solid #d8d7ca;margin-bottom:20px}
.train-book-navigation span{text-align:center;font-weight:700}
.rail-game .train-catalog-lightbox .train-order-panel{border:0;padding:0;background:transparent;min-width:0}
.train-catalog-lightbox .train-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.train-catalog-lightbox .train-gallery img{width:100%;height:auto;max-height:300px;object-fit:contain}
.train-catalog-lightbox .train-gallery figure{margin:0;min-width:0}
.train-book-assessment{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}
.train-book-assessment>h3{grid-column:1/-1;margin-bottom:0}
.train-book-assessment>div{padding:14px;background:#f0f2e8;border-radius:10px}
.train-book-assessment h4{margin:0 0 10px}
.train-book-assessment ul{padding-left:18px;line-height:1.6}
.train-catalog-lightbox .train-delivery-controls{padding:18px;background:#e7eee7;border-radius:10px}
.rail-game .train-management--catalog{grid-template-columns:minmax(0,1fr)}
@media(max-width:650px){
 .rail-game .train-catalog-lightbox{padding:14px;width:96vw;max-width:96vw;max-height:94dvh}
 .train-book-navigation{flex-wrap:wrap}.train-book-navigation span{order:-1;width:100%}
 .train-book-navigation button{flex:1;min-height:44px}
 .train-book-assessment{grid-template-columns:1fr}
 .train-catalog-lightbox .train-gallery{grid-template-columns:1fr}
 .train-catalog-lightbox .train-delivery-controls{display:grid;grid-template-columns:minmax(0,1fr)}
}

/* 0.12.136: compact stop selection on desktop, full usable width on mobile. */
@media(min-width:701px){.rail-game__line-via-editor{width:100%;max-width:640px;justify-self:start}.rail-game__line-via-editor button{width:auto;white-space:nowrap}}

.station-picture-credit{display:block;font-size:.75rem;line-height:1.4;color:#53645b;margin:.35rem 0 .8rem}.station-picture-credit[hidden]{display:none}
