/* draw.css - the signal map drawing's look (draw.js), shared by the admin editor and the website's map viewer (2026-10-21). Colours are
   variables: light by default, .dark = the dark background (SimSig-style black). */
.vrmap{--vm-bg:#fcfcf9;--vm-trk:#000;--vm-txt:#111;--vm-lbl:#41454c;--vm-loc:#0735e2;--vm-grid:#dce2e0;--vm-sep:#8d969e;--vm-card:#f2f4f6;--vm-card2:#eaeef2;--vm-card-line:#d3d9df;--vm-plat-off:#c4cad0;--vm-plat-off-txt:#50575e}
/* dark,.vrmap easy on the eye (2026-10-22): a slate background,.vrmap light grey (not white) track,.vrmap muted text; the platforms and headcodes a shade
   softer. Signal aspects keep their full colours. */
.vrmap.dark{--vm-bg:#161b22;--vm-trk:#b7c0c9;--vm-txt:#c9d1d9;--vm-lbl:#8b96a1;--vm-loc:#79a6dc;--vm-grid:#1f262e;--vm-sep:#4a545e;--vm-card:#1b2129;--vm-card2:#1f262f;--vm-card-line:#2c3540;--vm-plat-off:#36404a;--vm-plat-off-txt:#9aa4ae}
.vrmap{background:var(--vm-bg)}.vrmap .grid-line{stroke:var(--vm-grid)}.vrmap.dark .berth{fill:#2a313a;stroke:#3e4752;stroke-width:1}.vrmap.dark .platform:not(.platform-off){fill:#d98a35}.vrmap.dark .berth-text:not(.real){fill:#efd85a}.vrmap.dark .berth-text.real{fill:#f07ad0}
.vrmap .track{fill:none;stroke:var(--vm-trk);stroke-width:var(--vm-trk-w,4);stroke-linejoin:round;stroke-linecap:round;cursor:pointer}
.vrmap .track-knock{fill:none;stroke:var(--vm-bg);stroke-width:calc(var(--vm-trk-w,4) * 2.6);stroke-linecap:butt;pointer-events:none}
.vrmap .track-portal{fill:none;stroke:#8a8a8a;stroke-width:calc(var(--vm-trk-w,4) * .9);stroke-linejoin:miter;stroke-linecap:square;pointer-events:none}
.vrmap .crossings .track{pointer-events:none}
.vrmap .track.occupied{stroke:#f03c37;stroke-width:var(--vm-occ-w,7)}
.vrmap .platform{fill:#ff8a00;cursor:move}
.vrmap .platform-occupied{fill:#e34f4f}
.vrmap .platform-text{fill:#000;font-size:16px;font-weight:800;pointer-events:none;text-anchor:middle}
.vrmap .loc{fill:var(--vm-loc);font-weight:800;font-size:19px;letter-spacing:.2px;text-anchor:middle;cursor:move}
.vrmap .line-label{font-size:12px;font-weight:700;fill:var(--vm-lbl);cursor:move}
/* a platform Virtual Rail does not use (2026-10-21: Peterborough P1 / P6 / P7): greyed out,.vrmap 'NOT IN USE' added to its label */
.vrmap .platform.platform-off{fill:var(--vm-plat-off)}.vrmap .platform-text.off{fill:var(--vm-plat-off-txt);font-size:13px;font-weight:700}
.vrmap .section-card{fill:var(--vm-card);stroke:var(--vm-card-line);stroke-width:1;vector-effect:non-scaling-stroke;pointer-events:none}.vrmap .section-card.alt{fill:var(--vm-card2)}
.vrmap .card-cont{pointer-events:none}.vrmap .card-cont.c0{fill:#1fa85a}.vrmap .card-cont.c1{fill:#2f7cf6}.vrmap .card-cont.c2{fill:#e8920c}.vrmap .card-cont.c3{fill:#9a55ee}
.vrmap .card-cont-txt{fill:#fff;font-size:20px;font-weight:800;text-anchor:middle;dominant-baseline:central;pointer-events:none;font-family:Inter,Arial,sans-serif}
.vrmap .sep-rule{stroke:var(--vm-sep);stroke-width:1.5;stroke-dasharray:12 8;fill:none;vector-effect:non-scaling-stroke;pointer-events:none}
.vrmap .sep-hit{stroke:transparent;stroke-width:18;fill:none;cursor:move}
.vrmap .sep-label{font-size:13px;font-weight:700;letter-spacing:.06em;fill:var(--vm-lbl)}
.vrmap .line-arrow{fill:var(--vm-lbl);stroke:var(--vm-lbl);stroke-width:1;stroke-linejoin:round}
.vrmap .line-arrow-shaft{stroke:var(--vm-lbl);stroke-width:3.2;fill:none}
.vrmap .signal-post{stroke:var(--vm-txt);stroke-width:2}
.vrmap .signal-head{stroke:var(--vm-trk);stroke-width:2;cursor:move}
.vrmap .signal-number{font-size:11px;text-anchor:middle;fill:var(--vm-txt);pointer-events:none}
.vrmap .berth{fill:black;cursor:move}
.vrmap .berth-text{fill:#ffea36;font-size:20px;font-weight:800;text-anchor:middle;pointer-events:none;font-family:Consolas,monospace}
/* a REAL PLAYER's train (2026-10-21) - yellow is a timetabled one */
.vrmap .berth-text.real{fill:#ff5fd7}
.vrmap .point-symbol{fill:white;stroke:var(--vm-txt);stroke-width:2;cursor:move}
.vrmap .point-reverse{fill:#e9a322}
.vrmap .junction-dot{fill:#fff;stroke:var(--vm-txt);stroke-width:2;pointer-events:none}
.vrmap .track-hit{fill:none;stroke:transparent;stroke-width:var(--vm-hit-w,26);cursor:move;pointer-events:stroke}
.vrmap .track{pointer-events:none}
.vrmap .signal-post,.vrmap .signal-number{pointer-events:none}
.vrmap .shunt-triangle{fill:#d72626;stroke:#7b0f0f;stroke-width:1.2;cursor:move}
.vrmap .shunt-triangle.proceed{fill:#f4f4f4;stroke:#666}
/* Compact panel-style symbols based on the supplied reference. */
.vrmap .signal-post{stroke:var(--vm-trk);stroke-width:2;fill:none;stroke-linejoin:miter;stroke-linecap:square;pointer-events:none}
.vrmap .signal-head{stroke:var(--vm-trk);stroke-width:1.2;cursor:move}
.vrmap .panel-shunt{fill:#f5212c;stroke:#bc0e1a;stroke-width:.7;cursor:move}
.vrmap .panel-shunt.proceed{fill:#f2f2f2;stroke:#7d7d7d}
.vrmap .signal-annotation{font-family:Consolas,monospace;font-size:12px;font-weight:700;fill:#00bdfb;pointer-events:none}
