
:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#e8ecee;background:#080c10;font-synthesis:none;--muted:#84919b;--border:#ffffff12;--panel:#10171e;--accent:#bce2cd}*{box-sizing:border-box}body{margin:0}button,input,a{ -webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;border:1px solid var(--border);color:#d5dfe5;background:#172129;border-radius:7px;padding:9px 14px;transition:background .2s,transform .2s}button:hover{background:#26333f}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #d8eee2;outline-offset:4px}button:disabled{opacity:.4}a{color:inherit;text-decoration:none}[hidden]{display:none!important}header{height:88px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--border);padding:0 4.5vw}.wordmark{font-size:23px;font-weight:650;letter-spacing:-1px;display:flex;align-items:center;gap:0}.wordmark>span:last-child{font-weight:350;color:#95a2aa}.mark{font-family:Georgia,serif;font-style:italic;font-size:32px;background:#c4e5cf;color:#10221b;border-radius:50%;width:38px;height:38px;display:grid;place-content:center;margin-right:12px;padding-bottom:5px}.edition,.eyebrow{font-size:10px;letter-spacing:2.2px;color:#8f9ca5;font-weight:650}.connection{font:11px "Consolas",monospace;display:flex;gap:10px;align-items:center;color:#a9b7bf}.connection time{border-left:1px solid #34404a;padding-left:18px;margin-left:10px}.dot{width:6px;height:6px;background:#9a9b92;border-radius:50%}.dot.live{background:#b0ddbd;box-shadow:0 0 10px #b0ddbd50}main{padding:36px 4.5vw 20px;max-width:1900px;margin:auto}.intro{display:flex;justify-content:space-between;gap:28px;align-items:flex-end;margin-bottom:28px}h1{font-weight:450;letter-spacing:-2.2px;font-size:clamp(30px,3.1vw,48px);margin:10px 0 9px}h1 span{color:#badfc7}p{color:var(--muted);line-height:1.7;font-size:12px;margin:0}.overview{display:flex;gap:34px;padding-bottom:5px}.overview>div{display:flex;flex-direction:column;gap:8px}.overview strong{font:28px "Consolas",monospace;letter-spacing:-1px;font-weight:400}.overview span{font-size:10px;color:var(--muted)}.line-nav{display:flex;gap:8px;align-items:center;margin:22px 0 20px;flex-wrap:wrap}.line-nav button{padding:0;min-width:35px;height:35px;border-radius:50%;background:transparent;border-color:transparent}.line-nav button.all{width:auto;min-width:82px;border-radius:20px;font-size:11px;color:#ccd6dc;margin-right:6px}.line-nav button.selected{box-shadow:0 0 0 1px #b9c4cc;padding:3px}.line-nav button.all.selected{background:#e8f0ee;color:#0c1713;box-shadow:none}.line-badge{width:29px;height:29px;border-radius:50%;font-weight:750;font-size:14px;display:inline-grid;place-items:center;background:var(--line);color:var(--ink,#111);flex-shrink:0}.line-badge.bis{font-size:10px}.stage{border:1px solid #ffffff13;border-radius:12px;background:radial-gradient(ellipse at 43% 42%,#141f29 0%,#0d141c 48%,#0a1118 100%);position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr)}.stage.with-detail{grid-template-columns:minmax(0,1fr) 350px}.map-toolbar{height:53px;padding:0 22px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff08;grid-column:1/-1}.map-toolbar>div:last-child{display:flex;gap:7px}.view-label{font:10px "Consolas",monospace;color:#a9b7c1;letter-spacing:1.4px;display:flex;gap:10px;align-items:center}.live-pulse{width:5px;height:5px;border:1px solid #b4d5c1;border-radius:50%}.quiet{font-size:11px;background:transparent;padding:7px 10px}.icon{font-size:17px;line-height:1;width:29px;height:29px;padding:0;background:transparent;color:#9baab6}.map-wrap{position:relative;height:620px;min-height:400px;overflow:hidden}canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}.map-note{position:absolute;bottom:18px;left:23px;right:23px;display:flex;justify-content:space-between;gap:14px;font:8px "Consolas",monospace;letter-spacing:1px;color:#677988;pointer-events:none}.tooltip{position:absolute;pointer-events:none;max-width:260px;border:1px solid #ffffff24;border-radius:8px;background:#111c26ee;padding:11px 14px;box-shadow:0 15px 40px #0006;font-size:11px;color:#cfdae0;line-height:1.65;z-index:3;backdrop-filter:blur(10px)}.tooltip strong{font-size:12px;color:#f1f5f6}.map-empty{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;flex-direction:column;gap:14px;padding:30px;border-radius:15px;background:#101820cc;pointer-events:none}.map-empty strong{font-size:15px;font-weight:450}.map-empty>span:last-child{font-size:11px;color:var(--muted)}.orbit{border:1px solid #a3c9b34d;border-top-color:#c6e8d0;border-radius:50%;width:34px;height:34px;animation:spin 3s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}aside{border-left:1px solid var(--border);background:#0d151ddd;padding:23px;max-height:620px;overflow:auto}.detail-heading{display:flex;gap:12px;margin-bottom:24px}.detail-heading .line-badge{width:40px;height:40px;font-size:19px}h2{font-weight:450;font-size:22px;letter-spacing:-.6px;margin:8px 0}.detail-heading h2{font-size:18px}.health-big{display:flex;align-items:baseline;gap:10px}.health-big strong{font-size:45px;letter-spacing:-2px;font-weight:350;font-variant-numeric:tabular-nums}.health-big span{font-size:11px;color:var(--muted)}.tag{font-size:9px;letter-spacing:.5px;border:1px solid #748b7950;border-radius:4px;padding:4px 6px;color:#a9c2b1;display:inline-block;margin:8px 0}.direction-card{padding:17px 0;border-top:1px solid var(--border);margin-top:16px}.direction-card h3{font-size:12px;font-weight:500;color:#dce4e9;margin:0 0 12px}.direction-title{display:flex;justify-content:space-between;gap:15px}.direction-title strong{font:22px Consolas,monospace;color:#cee1d7}.kv{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:var(--muted);padding:4px 0}.kv span:last-child{text-align:right;color:#d0dce3}.incident{border-left:2px solid #a99b77;background:#c4b78908;padding:10px 12px;margin:14px 0;font-size:11px;line-height:1.65;color:#d0c9b6}.incident small{display:block;color:#a09780;margin-bottom:5px}.cause{font-size:10px;color:#9aa9b3;margin-top:12px;line-height:1.7}.below{display:grid;grid-template-columns:270px 1fr;gap:42px;padding:35px 0}.health-intro h2{margin:13px 0}.health-intro p{font-size:11px}.legend{font-size:9px;color:#91a0aa;display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}.legend>span{display:flex;align-items:center;gap:6px}.train-key{display:inline-block;background:#edf8f0;width:10px;height:4px;border-radius:3px}.train-key.uncertain{opacity:.35}.health-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0 20px}.health-card{background:none;border:none;border-radius:0;padding:12px 0;border-bottom:1px solid #ffffff0b;display:flex;align-items:center;gap:10px;text-align:left}.health-card:hover{background:#ffffff04}.health-card .status{font-size:9px;color:#82939e;line-height:1.65;min-width:0;flex:1}.health-card .status strong{color:#b9c7d0;font-weight:450;font-size:11px}.health-card .health-num{font:20px Consolas,monospace;color:#c5d6cd;min-width:26px;text-align:right}.spark{width:45px;height:19px;opacity:.55}details{border:1px solid var(--border);border-radius:9px;margin-top:12px}summary{padding:16px 20px;cursor:pointer;font-size:12px;color:#bdc8cf}summary::marker{color:#738590}summary>span:first-child{margin-left:8px}.summary-meta{float:right;font:9px Consolas,monospace;letter-spacing:.8px;color:#788e9c}.debug-body{padding:0 20px 20px}.quota-note{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:4px 0 20px}.quota-note p{max-width:800px;font-size:11px}.quota-note strong{color:#a9bdb2;font-weight:500}table{width:100%;border-collapse:collapse;font-size:10px;text-align:left}th{color:#8295a3;font-weight:500;font-size:9px;letter-spacing:.5px}td,th{padding:11px 10px;border-bottom:1px solid var(--border);vertical-align:top}td{color:#b6c4ce;font-variant-numeric:tabular-nums}td small{display:block;color:#748895;padding-top:3px}.table-scroll{overflow:auto;max-height:450px}#pipeline{padding:16px 10px;color:#879da9;font:11px Consolas,monospace;line-height:1.9}pre{white-space:pre-wrap;color:#a4b7c0;font-size:10px;padding:10px}footer{margin:0 4.5vw;padding:24px 0 30px;border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:20px;color:#78909e;font-size:9px;letter-spacing:.3px}.muted{color:#596c78}.key-panel{background:#142019;border:1px solid #76988240;border-radius:8px;padding:18px;margin-top:20px}.key-panel label{display:block;font-size:12px;margin-bottom:12px;color:#b8d0bf}.key-panel form>div{display:flex;gap:10px}.key-panel input{background:#0b1510;color:#deede2;border:1px solid #506357;border-radius:5px;padding:12px;max-width:450px;flex:1;min-width:0}.key-panel button{background:#b8d7c2;color:#17291c}.key-panel p{margin-top:8px}
@media(min-width:1700px){.map-wrap{height:700px}aside{max-height:700px}}
@media(max-width:1100px){.edition{display:none}.overview{gap:20px}.below{grid-template-columns:220px 1fr;gap:25px}.health-grid{grid-template-columns:repeat(3,1fr)}.stage.with-detail{grid-template-columns:minmax(0,1fr) 310px}.map-wrap{height:560px}}
@media(max-width:760px){header{height:65px;padding:0 20px}.wordmark{font-size:19px}.mark{width:30px;height:30px;font-size:26px}.connection time{display:none}main{padding:24px 18px}.intro{display:block}.overview{margin-top:25px;justify-content:space-between}.overview strong{font-size:25px}.line-nav{gap:7px}.line-nav button{min-width:31px;width:31px;height:31px}.line-badge{width:26px;height:26px;font-size:13px}.stage.with-detail{grid-template-columns:1fr}.map-wrap{height:510px}.stage.with-detail .map-wrap{height:420px}aside{border-left:0;border-top:1px solid var(--border);max-height:none}.map-toolbar{padding:0 12px}.view-label{font-size:8px;letter-spacing:.5px}.map-note{font-size:7px;left:12px;right:12px;bottom:12px}.below{grid-template-columns:1fr;gap:18px}.health-grid{grid-template-columns:repeat(2,1fr);gap:0 18px}.health-intro p{max-width:500px}.health-card{padding:15px 0}.quota-note{display:block}.quota-note button{margin-top:12px}.summary-meta{display:none}.debug-body{padding:0 10px 14px}.spark{width:35px}footer{flex-wrap:wrap;margin:0 18px;line-height:1.7}.key-panel form>div{flex-direction:column}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}



.control-buttons{display:flex;gap:8px;flex-wrap:wrap;flex-shrink:0}

.experience-controls{display:flex;justify-content:flex-end;gap:8px}.public-status{font-size:22px;margin:5px 0 14px}#why ul{padding:0 22px 12px 30px;color:#a8b8c1;font-size:12px;line-height:1.7}#why li{margin:10px 0}.picker-label{display:block;font-size:11px;color:#8eaaa1;margin:24px 0 8px}select{width:100%;max-width:100%;background:#14212a;color:#d8e6e1;border:1px solid #ffffff20;border-radius:7px;padding:10px;font:11px inherit}.tooltip{width:250px;max-width:calc(100% - 16px);line-height:1.65}.tooltip.pinned{pointer-events:auto;border-color:#b8d7c250}.tooltip strong,.tooltip small{display:block}.tooltip small{font-size:10px;color:#94a9ae}.tooltip p{font-size:11px}.tooltip .passage{margin:12px 0;border-top:1px solid #ffffff0d;padding-top:9px}.passage b{display:block;font:24px Consolas,monospace;color:#e3f4eb;margin:4px 0}.hint{margin-top:12px;opacity:.7}.close-tip{float:right;border:0;background:none;padding:0 0 8px 12px}#activity{padding:0 20px 14px}#activity p{font-size:11px;margin:6px 0}#activity time{color:#becdc5}.local-anomaly{border-left:2px solid #d8ba7d;padding-left:8px}@media(max-width:760px){.experience-controls{justify-content:flex-start}.tooltip{width:225px}.health-grid{gap:0 12px}.health-card .status strong{font-size:10px}}

.tooltip{max-height:calc(100% - 50px);overflow-y:auto}

.wordmark{letter-spacing:.12em;font-size:16px}.train-confidence{display:flex;justify-content:space-between;gap:24px;margin:12px 0;color:#aebdc8;font-size:12px}.train-confidence b{color:#d9e5e9;font-weight:500}.health-history{margin-top:20px;border-top:1px solid #ffffff12;padding-top:14px;font-size:12px;color:#aebdc8}.history-bars{display:block;font:12px monospace;letter-spacing:1px;white-space:nowrap;overflow:hidden;color:#8ea6ac;margin:8px 0}.health-history small{display:block;line-height:1.6}

/* Persistent evidence states: neutral, legible, independent of line colour. */
.health-card .health-num{font-size:11px;line-height:1.5;max-width:150px;color:#abc1cc;font-family:inherit}.health-summary{font-size:14px;color:#c7d9e3;margin:8px 0 14px}.train-confidence b{font-size:12px;letter-spacing:.03em}

/* The network Health overview gives each line one readable, self-contained place. */
.below{display:block;padding:46px 0 52px}
.health-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:30px;align-items:end;margin-bottom:25px}
.health-intro .eyebrow,.health-intro h2,.health-intro p{grid-column:1}
.health-intro h2{font-size:clamp(22px,2.3vw,30px);margin:10px 0 7px}
.health-intro p{max-width:620px;font-size:12px}
.health-intro .legend{grid-column:2;grid-row:1/4;max-width:290px;justify-content:flex-end;margin:0 0 3px;font-size:10px}
.health-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.health-card{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:0;min-width:0;min-height:164px;padding:16px 17px;border:1px solid #ffffff16;border-radius:12px;background:linear-gradient(145deg,#17212a,#101820 72%);box-shadow:0 8px 24px #00000016;overflow:hidden;transition:background .2s,border-color .2s,transform .2s,box-shadow .2s}
.health-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--line);opacity:.82}
.health-card:hover{background:linear-gradient(145deg,#1d2b35,#14202a 72%);border-color:#ffffff36;box-shadow:0 12px 30px #0003;transform:translateY(-2px)}
.health-card:focus-visible{outline-offset:3px}
.health-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:11px}
.health-card-kicker{font:9px Consolas,monospace;letter-spacing:1.7px;color:#8295a1}
.health-card-score{font:34px Consolas,monospace;letter-spacing:-1.5px;line-height:1;color:#e6f0ed;font-variant-numeric:tabular-nums;margin-bottom:10px}
.health-card-score small{font:10px Consolas,monospace;letter-spacing:0;color:#7f949e;margin-left:5px}
.health-card-status{font-size:12px;line-height:1.3;color:#c7d6dd;font-weight:500;flex:1}
.health-card-meta{font-size:10px;line-height:1.35;color:#90a3ad;margin-top:10px}
.service-score-value{display:flex;align-items:baseline;gap:5px;flex-shrink:0}.service-score-value small{font-size:9px;color:#a9b6b9;font-style:normal}.service-card-direction strong.service-score-low,.service-detail-top strong.service-score-low{color:#bec9c5}.service-card-direction strong.service-score-very-low,.service-detail-top strong.service-score-very-low{color:#81939a}
.service-card-directions{display:grid;gap:6px;flex:1}.service-card-direction{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:6px 0;border-top:1px solid #ffffff12;color:#b9cbd0;font-size:10px;text-align:left}.service-card-direction span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.service-card-direction strong{font:19px Consolas,monospace;color:#e7eee9}.service-detail{border-top:1px solid #ffffff1b;padding:15px 0 19px}.service-detail-top{display:flex;align-items:start;justify-content:space-between;gap:12px}.service-detail-top h2{font-size:16px;line-height:1.3;margin:0}.service-detail-top strong{font:29px Consolas,monospace;color:#e2eee8}.service-detail>small{display:block;color:#90a7ae;font-size:10px;margin:5px 0 10px}.service-components{display:grid;gap:5px;margin:13px 0}.service-components span{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:#afc0c7}.service-components b{color:#dbe9e2;font-weight:500;font-variant-numeric:tabular-nums}
.health-summary{display:inline-block;border:1px solid #ffffff20;border-radius:6px;padding:7px 10px;background:#ffffff08;color:#d0e0e3}
@media(max-width:760px){.below{padding:34px 0 42px}.health-intro{display:block;margin-bottom:18px}.health-intro .legend{justify-content:flex-start;max-width:none;margin-top:18px}.health-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.health-card{min-height:160px;padding:13px 12px}.health-card-score{font-size:30px}.health-card-status{font-size:11px}}

.refresh-status{display:flex;gap:8px 18px;flex-wrap:wrap;margin:-9px 0 15px;padding:0 3px;color:#adc0c8;font:11px Consolas,monospace;line-height:1.5}
.refresh-status span{display:inline-flex;align-items:center;gap:7px}
.refresh-status span::before{content:"";width:5px;height:5px;flex:none;border-radius:50%;background:#9ecbb4;box-shadow:0 0 8px #9ecbb450}
.refresh-status span:nth-child(2)::before{background:#d3b890;box-shadow:0 0 8px #d3b89050}
.refresh-status span:nth-child(3)::before{background:#94afcf;box-shadow:0 0 8px #94afcf50}

.history-track{display:grid;grid-template-columns:repeat(60,minmax(0,1fr));gap:1px;height:25px;padding:2px;margin:10px 0 5px;border:1px solid #ffffff17;border-radius:4px;background:#090e12;overflow:hidden}
.history-minute{display:block;min-width:0;border-radius:1px}
.tone-light-green{background:#8bcf94}.tone-dark-green{background:#34795b}.tone-yellow{background:#e0c45b}.tone-orange{background:#d9894d}.tone-red{background:#c95458}.tone-absent{background:#030608}
.history-times{display:flex;justify-content:space-between;color:#748995;font:9px Consolas,monospace;margin-bottom:9px}
.health-history small{color:#9aafb8}
@media(max-width:760px){.refresh-status{gap:5px 14px;font-size:9px;margin:-5px 0 14px}}

/* Health V1: one verdict, then the evidence and its separate diagnostic quality. */
.health-overview{padding:2px 0 17px}.health-section-label{display:block;font:9px Consolas,monospace;letter-spacing:1.5px;color:#8ba2ad;margin-bottom:12px}.health-verdict{display:flex;align-items:center;gap:17px;margin:0 0 8px}.health-verdict>strong{font:44px Consolas,monospace;font-weight:400;letter-spacing:-2px;color:#e0ede8;font-variant-numeric:tabular-nums}.health-verdict h2{font-size:19px;line-height:1.15;margin:0 0 4px}.health-verdict small,.health-diagnostic small{font-size:10px;color:#91a6b1;line-height:1.5}.health-overview p{font-size:11px;line-height:1.6}.health-directions{border-top:1px solid #ffffff16;padding-top:17px;margin-top:2px}.health-direction{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1px 12px;padding:10px 0;border-bottom:1px solid #ffffff0d;color:#d2dfe3;font-size:11px}.health-direction>span{overflow-wrap:anywhere}.health-direction strong{font:17px Consolas,monospace;color:#e1eee8}.health-direction small{grid-column:1/-1;font-size:10px;color:#8ea2ac}.health-diagnostic{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 10px;padding:17px 0;border-bottom:1px solid #ffffff16;font-size:11px;color:#adbfc8}.health-diagnostic strong{font-weight:500;color:#dae8e3}.health-diagnostic small{flex-basis:100%}.health-incident-note{padding:9px 11px;margin-top:14px;background:#bda57811;border-left:2px solid #bda578;color:#c9bd9f;font-size:11px}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.time-machine{display:grid;gap:9px;margin:0 0 16px;padding:12px 15px;border:1px solid #ffffff16;border-radius:10px;background:#111a21}.time-machine-heading{display:flex;align-items:center;gap:12px}.time-mode{font:10px Consolas,monospace;letter-spacing:1px;color:#bce2cd;border:1px solid #bce2cd55;border-radius:4px;padding:4px 7px}.time-machine.replaying .time-mode{color:#e8c99d;border-color:#e8c99d66}.time-machine-heading strong{font:12px Consolas,monospace;color:#d4e1e5;font-weight:500}.time-machine-heading button{margin-left:auto;padding:5px 9px;background:#bce2cd;color:#122017;font-size:10px}.time-machine-controls{display:flex;align-items:center;gap:12px}.time-presets{display:flex;flex-wrap:wrap;gap:4px}.time-presets button,.time-machine-controls>button{padding:6px 8px;background:#1a2831;font-size:10px;white-space:nowrap}.time-machine input[type=range]{flex:1;min-width:90px;accent-color:#bce2cd}.time-machine select{width:57px;padding:6px 4px;font-size:10px}.time-machine>small{font-size:10px;color:#8197a4}.replaying .refresh-status{visibility:visible}.time-machine button:disabled{opacity:.35}@media(max-width:760px){.time-machine{padding:11px}.time-machine-controls{display:grid;grid-template-columns:1fr auto auto;gap:8px}.time-presets{grid-column:1/-1}.time-machine input[type=range]{width:100%}.time-machine-heading{flex-wrap:wrap}.time-machine-heading button{margin-left:auto}}

/* Thumb-first navigation and a compact, truthful service summary. */
#historyToggle{display:none}.explore-panel{border:1px solid #ffffff20;border-radius:12px;background:#111c25;padding:16px;margin:10px 0;box-shadow:0 18px 45px #0005}.explore-heading,.explore-tabs{display:flex;align-items:center;justify-content:space-between;gap:8px}.explore-heading strong{font-size:17px;font-weight:500}.explore-tabs{justify-content:flex-start;margin:14px 0}.explore-tabs button[aria-pressed=true]{background:#c4dfd0;color:#122018}.explore-lines{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.explore-lines button{display:flex;align-items:center;gap:9px;text-align:left}.explore-panel label{display:block;font-size:12px;margin:5px 0 8px}.explore-panel input{width:100%;padding:13px;border-radius:8px;border:1px solid #ffffff36;color:#edf4f0;background:#0b141c;font:16px inherit}.station-results{display:grid;gap:4px;max-height:320px;overflow:auto;margin-top:10px}.station-results button{display:flex;justify-content:space-between;align-items:center;gap:15px;text-align:left;min-height:45px}.station-results small{color:#9eb0b9}.explore-station-detail{padding:16px 18px;border:1px solid #ffffff1b;border-radius:10px;background:#111b23;margin-top:12px}.explore-station-detail>div:first-child{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}.explore-station-detail strong{font-size:16px}.explore-station-detail span{color:#aebfc6}.station-line-actions{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.station-line-actions button{display:flex;align-items:center;gap:8px}.station-live{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:11px;color:#aebfc6}.station-live b{color:#e4efe8;margin-left:6px}.service-card-direction span{min-width:0;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}.service-branch{padding-left:11px;color:#9bb4b5;font-size:10px}.service-branch-list{display:grid;gap:5px;margin:10px 0}.service-branch-list span{display:flex;justify-content:space-between;gap:12px;color:#b7c9ce;font-size:12px}.service-branch-list b{font:16px Consolas,monospace;color:#e4f0e9}.score-evidence{margin-top:13px;border-top:1px solid #ffffff16;padding-top:10px}.score-evidence summary{cursor:pointer;font-size:11px;color:#a9c1bc}.score-evidence>small{display:block;margin-top:11px;color:#91a4ac}
@media(max-width:600px){header{height:auto;min-height:55px;padding:10px 16px;gap:8px}.edition{display:none}.connection{font-size:10px;gap:5px}.connection time{display:none}main{padding:15px 14px 25px}.intro{display:block;margin-bottom:12px}.intro .eyebrow{display:none}.intro h1{font-size:27px;letter-spacing:-1px;margin:0 0 5px}.intro p{font-size:11px;line-height:1.45}.overview{gap:18px;margin-top:12px}.overview>div{gap:2px}.overview strong{font-size:18px}.overview span{font-size:9px}.overview>div:nth-child(2){display:none}.experience-controls{justify-content:space-between}.experience-controls button{min-height:42px}#exploreButton{flex:1;background:#c4dfd0;color:#102018;font-weight:600}.line-nav{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:11px -14px 12px;padding:0 14px}.line-nav::-webkit-scrollbar{display:none}.line-nav button{flex:none;min-width:39px;height:39px}.refresh-status{margin:0 0 8px;font-size:10px;display:block}.refresh-status span{display:flex;margin:2px 0}.refresh-status span:nth-child(3){display:flex}.time-machine{padding:8px 11px;gap:4px;margin-bottom:9px}.time-machine-heading{flex-wrap:nowrap}.time-machine-heading strong{font-size:11px}.time-machine-heading button{margin-left:0}#historyToggle{display:block;margin-left:auto;background:transparent;color:#bfd8cd;border-color:#ffffff25;min-height:34px}.time-machine:not(.mobile-open):not(.replaying) .time-machine-controls,.time-machine:not(.mobile-open):not(.replaying)>small{display:none}.time-presets{max-height:90px;overflow:auto}.map-toolbar{height:49px;padding:0 8px;gap:5px}.map-toolbar>div:last-child{gap:2px}.map-toolbar .quiet{padding:6px;font-size:10px}.view-label{font-size:9px;min-width:0}.map-wrap{height:min(58vh,510px);min-height:340px}.stage.with-detail .map-wrap{height:min(53vh,460px);min-height:320px}.map-note span:first-child{display:none}.tooltip.pinned{max-height:45%;max-width:75%;padding:8px 10px}.health-grid{grid-template-columns:1fr;gap:8px}.health-card{min-height:0;padding:12px 15px}.health-card-top{margin-bottom:5px}.service-card-direction{font-size:12px}.service-card-direction strong{font-size:19px}.below{padding-top:28px}.health-intro h2{font-size:21px}.health-intro p{font-size:11px}.health-intro .legend{display:none}.explore-panel{position:fixed;z-index:20;inset:auto 0 0;margin:0;border-radius:18px 18px 0 0;padding:18px 16px max(20px,env(safe-area-inset-bottom));max-height:82dvh;overflow:auto}.explore-lines{grid-template-columns:repeat(2,minmax(0,1fr))}.explore-lines button{min-height:47px}.station-results button{min-height:49px}.station-results small{font-size:10px}}

/* Map-first phone layout. Marker size stays small; touch geometry is in explore.js. */
@media(max-width:600px){
 main{display:flex;flex-direction:column;min-width:0;padding:10px 10px max(20px,env(safe-area-inset-bottom))}
 .intro{order:0;margin-bottom:6px}.intro h1{font-size:22px}.intro p{display:none}.overview{margin-top:5px}
 .experience-controls{order:1}.experience-controls button{min-height:37px}
 .line-nav{order:2;margin:7px -10px 8px;padding:0 10px}
 .stage{order:3;min-width:0}.map-wrap,.stage.with-detail .map-wrap{height:min(68dvh,680px);min-height:390px}
 .refresh-status{order:4;margin:8px 2px 4px}.time-machine{order:5;margin-bottom:8px}
 .explore-station-detail{order:6}.below{order:7}#eventFeed{order:8}#technical{order:9}
 .tooltip.pinned{width:224px;max-width:calc(100% - 12px);max-height:56%;border-radius:10px;background:#0d1821ed;padding:0;box-shadow:0 10px 32px #0008;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
 .tooltip.pinned strong{font-size:13px}.tooltip.pinned p{margin:5px 0}.tooltip.pinned .passage{display:flex;align-items:center;gap:8px;margin:5px 0;padding:4px 0}.tooltip.pinned .passage span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tooltip.pinned .passage b{font-size:14px;white-space:nowrap}.tooltip.pinned .passage small{white-space:nowrap}
 .train-freshness{display:flex;flex-wrap:wrap;gap:2px 10px;margin-top:5px;color:#9fb7ba;font-size:10px}.train-freshness span{white-space:nowrap}
 .explore-panel{padding:14px 14px max(16px,env(safe-area-inset-bottom));background:#101b24e8;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
 .health-card{background:#ffffff08}.map-toolbar .quiet{min-height:36px}
}

/* Compact movable info cards. The drag header survives live body updates. */
.tooltip.pinned{padding:0;overflow:hidden;display:flex;flex-direction:column;max-height:70%;line-height:1.5}
.tip-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;border-bottom:1px solid #ffffff16;cursor:move;touch-action:none;flex:none;color:#8fa5ad;font-size:9px;user-select:none}
.tip-head .close-tip{float:none;padding:0;width:28px;height:24px;font-size:17px;flex:none}
.tip-body{padding:10px 12px;overflow:auto;overscroll-behavior:contain;min-height:0}
.tooltip:not(.pinned) .tip-body{padding:0}
.train-next{display:grid;grid-template-columns:1fr auto;gap:1px 12px;margin:12px 0}.train-next small{grid-column:1/-1}.train-next b{font:12px Consolas,monospace;color:#cee7d8;align-self:center}.train-next strong{font-size:12px}
.train-confidence{margin:8px 0;font-size:10px}.train-confidence b{font-size:10px}.train-after{font-size:10px!important;margin:9px 0!important}
.train-evidence{margin-top:10px;border:none;border-top:1px solid #ffffff13;border-radius:0}.train-evidence summary{padding:8px 0;font-size:10px}.train-freshness{display:grid;gap:4px;padding-bottom:4px;font-size:10px;color:#98aeb6}.train-freshness span{display:flex;justify-content:space-between;gap:10px;white-space:normal}.train-freshness b{font-weight:400;color:#c3d5dc}
.map-choices{display:grid;gap:6px;margin-top:9px}.map-choices button{display:grid;gap:3px;font-size:11px;min-height:48px;text-align:left;padding:9px 10px;touch-action:manipulation;overflow-wrap:anywhere}.map-choices button small{font-size:9px;color:#9eb3bb;line-height:1.4}
.score-status{display:block;color:#90a6ad;font-size:10px;line-height:1.45;margin:5px 0 2px}#activity{max-height:360px;overflow:auto}#activity p{padding:8px 0;border-bottom:1px solid #ffffff0a}
@media(max-width:600px){.tooltip.pinned{max-height:56%}.tip-body{padding:8px 10px}.train-next{margin:8px 0}.experience-controls{gap:5px}.experience-controls button{padding:7px 10px;font-size:11px;min-height:32px}.line-nav button{min-width:33px;width:33px;height:33px}.line-nav .line-badge{width:26px;height:26px}.line-nav button.all{min-width:65px}.map-toolbar{height:40px}.health-card{padding:9px 11px;border-radius:8px}.service-card-direction{font-size:11px}.service-card-direction strong{font-size:16px}.service-detail{padding:12px 0}.health-grid{gap:6px}.overview strong{font-size:17px}.overview span{font-size:9px}.refresh-status{font-size:9px}}

.data-provenance,.score-dates,.source-refresh{display:block;font-size:10px;line-height:1.5;color:#9db3b8;white-space:normal;overflow-wrap:anywhere}.tooltip.pinned .passage{display:block}.tooltip.pinned .passage span,.tooltip.pinned .passage small{white-space:normal}.passage-arrival{margin:6px 0}.service-branch{flex-wrap:wrap}.service-branch small{width:100%;font-size:9px;color:#92aab0}.service-branch-list small{display:block;font-size:10px;color:#92aab0}.overview strong#freshness{font-size:16px}.refresh-status span{overflow-wrap:anywhere}

/* Keep investigation available without filling the public view. */
.health-card-data{display:block;font-size:10px;line-height:1.4;color:#92a7ad;margin-top:7px}.train-anchors{display:block;font-size:10px;color:#a7bdb5;margin:8px 0;line-height:1.5}.train-evidence p,.score-evidence p{font-size:11px;margin:9px 0;line-height:1.5}.evidence-stations{display:grid;gap:5px;font-size:10px}.evidence-stations>span{display:flex;justify-content:space-between;gap:12px}.evidence-stations small{color:#8da9a0}.data-provenance{font-size:10px;margin-top:2px}.service-detail .score-dates{margin-top:2px}.service-branch-list>span>span{display:block}.service-branch-list>span>span small{font-size:9px}.health-card .service-card-directions{gap:5px}.train-evidence summary{padding:9px 0;font-size:11px}.train-evidence{border:0;border-top:1px solid #ffffff16;border-radius:0;margin-top:10px}.tooltip.pinned .tip-head{font-size:9px}

.service-card-direction .service-wait,.service-detail-top .service-wait,.service-branch-list .service-wait{font-size:11px;font-weight:400;color:#92a7ad;white-space:nowrap}
/* Beginner reading aids; keep branch breakdowns out of the network grid. */
.visitor-guide{margin:0 0 18px;color:var(--muted);font-size:12px}
.visitor-guide>summary{cursor:pointer;padding:8px 0;width:fit-content;color:#b5cfc7;font-size:12px}
.visitor-guide[open]{padding:0 16px 16px;border:1px solid #ffffff12;border-radius:12px;background:#ffffff03}
.visitor-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 28px;padding-top:8px}
.visitor-guide-grid h2{font-size:14px;color:#dce6e4;margin:0 0 7px;font-weight:500}
.visitor-guide-grid p{line-height:1.6;margin:6px 0;color:#a2b5bd}
.health-grid{align-items:start}
.health-card{min-height:198px;text-align:left}
.service-card-directions{align-content:start;flex:none;gap:0}
.service-card-direction{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;min-height:48px}
.service-card-direction>span{min-width:0;overflow-wrap:break-word;line-height:1.45}
.service-card-direction>strong{white-space:nowrap;align-self:center}
.health-card-data{margin-top:auto;padding-top:12px}
.health-card-action{display:flex;justify-content:space-between;gap:5px;padding-top:9px;color:#a6c3b9;font-size:9px;border-top:1px solid #ffffff09;margin-top:9px}
.service-detail-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}
.service-detail-top h2{min-width:0;overflow-wrap:break-word;line-height:1.45}
.service-detail-top>strong{white-space:nowrap}
.branch-breakdown{border-top:1px solid #ffffff10;border-bottom:1px solid #ffffff10;margin:12px 0;padding:9px 0}
.branch-breakdown>summary{font-size:11px;color:#b6d2c9;cursor:pointer;line-height:1.5}
.branch-scope{font-size:11px;line-height:1.65;color:#acbbc2;margin:10px 0}
.branch-score{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;padding:11px 0;border-top:1px solid #ffffff0b}
.branch-score>div{min-width:0;font-size:11px;line-height:1.5;overflow-wrap:break-word}
.branch-score small{display:block;margin-top:5px;font-size:10px;color:#8298a4}
.branch-score>strong{font-family:Georgia,serif;font-size:23px;white-space:nowrap;font-weight:400}
.branch-score .service-wait{font-family:Consolas,monospace;font-size:10px;white-space:normal;max-width:64px}
.score-reading>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:10px 0;border-bottom:1px solid #ffffff0b}
.score-reading>div>span{color:#d0dbde;font-size:11px;line-height:1.5}
.score-reading>div>b{font-size:11px;color:#c8d9d1;white-space:nowrap}
.score-reading>div>p{grid-column:1/-1;margin:0;font-size:11px;line-height:1.6}
.train-evidence p{font-size:11px;line-height:1.65;margin:9px 0}
.train-evidence p>b{font-weight:500;color:#d3e3df}
.guide-evidence{color:#97aaa9}
.guide-fold{border-top:1px solid #ffffff10;padding:8px 0;margin:0}
.guide-fold>summary{font-size:11px;line-height:1.5;color:#b6d2c9;cursor:pointer}
.matching-steps{padding-left:17px;font-size:11px;line-height:1.65;color:#acbbc2}
.matching-steps li{margin:9px 0}
.matching-steps b{color:#d3e3df;font-weight:500}
.evidence-stations>span{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:baseline;font-size:10px;line-height:1.5}
.evidence-stations>span>small{white-space:nowrap}
@media(max-width:760px){.visitor-guide{order:1;margin-bottom:10px}.visitor-guide-grid{grid-template-columns:1fr;gap:13px}.health-card{min-height:191px}.health-card-action{font-size:9px}.service-card-direction{min-height:48px;gap:6px}}

/* Product information stays outside the map and wraps on small screens. */
.about p{max-width:75ch;line-height:1.6}.about a{color:var(--gold,#d7be7a);text-underline-offset:3px}.product-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin:16px 0}.product-links a{padding:8px 0}footer{flex-wrap:wrap;gap:12px}
@media(max-width:760px){.about{order:20}}

/* Product pass: public actions and mobile reading. */
.support-cta{color:var(--text,#dce7e6);font-size:12px;text-decoration:none;white-space:nowrap;padding:10px;border:1px solid #314147;border-radius:8px}
@media(max-width:600px){header{gap:6px}.support-cta{font-size:11px;padding:8px}.tooltip.pinned{width:calc(100% - 20px);max-width:340px}.tooltip .tip-body{max-height:44vh}.data-provenance{font-size:12px}.visitor-guide p{font-size:13px;line-height:1.6}}

.train-bearing{font-size:12px;color:#c7d8d2}.tooltip .train-bearing{margin-bottom:6px}

/* Predictable touch targets; map symbols remain independent of UI target sizes. */
.lines button,.map-controls button,.zoom-controls button,.map-toolbar button,.time-machine button,.tooltip button,.support-cta,.guide-fold>summary,.train-evidence>summary{min-width:44px;min-height:44px;box-sizing:border-box}
button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #e7d6a6;outline-offset:3px}
.support-cta{display:inline-flex;align-items:center}.score-scale{font-size:10px;font-weight:400;color:#a8bcc6}.train-line{color:#d5e4df;font-size:12px;margin-bottom:5px}
.evidence-stations>span{grid-template-columns:1fr;gap:3px;padding:8px 0}.evidence-stations>span>small{white-space:normal}
@media(max-width:760px){.lines button{flex:0 0 44px}.map-toolbar{flex-wrap:wrap}.map-toolbar select{min-height:44px;min-width:0}.map-controls button{min-height:44px}.time-machine button{min-height:44px}.time-machine select{min-height:44px}header{flex-wrap:wrap}.support-cta{min-height:44px}.tooltip .close-tip{min-height:44px;min-width:44px}.tooltip .tip-body{max-height:48vh}}

#lines button{min-width:44px;min-height:44px;flex-shrink:0}#exploreButton,#debugMode,#historyToggle,.explore-panel button,.station-line-actions button,.visitor-guide>summary,#eventFeed>summary,#about>summary,.branch-breakdown>summary,.score-evidence>summary{min-height:44px;box-sizing:border-box}
#lines{overflow-x:auto}#timeSlider{min-height:44px}.time-machine-heading{flex-wrap:wrap}.time-machine-heading strong{overflow-wrap:anywhere}
@media(max-width:760px){#lines button{width:44px;height:44px;flex:0 0 44px}#lines button:first-child{width:70px;flex-basis:70px}.explore-panel button{min-height:44px}.tooltip .tip-head{min-height:44px}}

.true-line-coverage>summary{min-height:44px;cursor:pointer}.true-line-coverage p{max-width:75ch;line-height:1.6}

/* Keep information cards usable during map gestures and native phone zoom. */
.map-wrap{touch-action:pan-y}.tooltip,.tooltip *{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.tooltip .tip-body{touch-action:pan-y;max-height:none}
@media(max-width:760px){input,select,.station-search input{font-size:16px}}

.network-mode{display:flex;gap:8px;margin:20px 0 8px}.network-mode button{min-height:44px;padding:10px 20px;border:1px solid #526669;border-radius:24px;background:#101b20;color:#b5c8cf;font:inherit;cursor:pointer}.network-mode button[aria-pressed="true"]{background:#d8ece3;color:#10221b;border-color:#d8ece3}.network-mode button:focus-visible{outline:2px solid #eef5e9;outline-offset:3px}.rer-card>strong{display:block;font-size:22px;margin:18px 0 8px}.rer-card>span:not(.health-card-top){display:block;color:#b5c8cf}.rer-explanation,.rer-score-note{color:#b7c9ce;line-height:1.6}.rer-score-note{font-size:12px}.rer-calls{margin:12px 0;border-top:1px solid #293b42;padding-top:10px}.rer-calls summary{cursor:pointer}.rer-calls p{font-size:11px;color:#9eb6be}.rer-calls ol{padding-left:20px;font-size:12px}.rer-calls li{margin:8px 0}.rer-calls b{white-space:nowrap;color:#d9ece4}.train-mission{display:block;color:#b5cbd3;margin:4px 0}

/* Map gestures are initially active; a scroll exit appears above zoom x4. */
.touch-map-controls{display:none}
@media(max-width:760px),(pointer:coarse){
 #map{touch-action:pan-y}
 .map-touch-active #map{touch-action:none}
 .map-scroll-offer .touch-map-controls{display:block}
 #mapTouchMode{position:fixed;bottom:calc(14px + env(safe-area-inset-bottom));right:14px;z-index:30;min-height:44px;max-width:calc(100vw - 28px);padding:8px 12px;font-size:12px;background:#d8ece3;color:#10221b;border-color:#8cbaaa;box-shadow:0 4px 24px #0008;touch-action:manipulation}
}
/* Translucent backgrounds leave text and controls fully opaque. */
.tooltip,.tooltip.pinned{background:rgba(13,24,33,.86);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
/* Compact score rows retain direction, value and source age. */
.health-card{display:grid;grid-template-columns:29px minmax(0,1fr);column-gap:10px;row-gap:2px;min-height:0;padding:10px 12px;border-radius:8px}
.health-card-top{grid-column:1;grid-row:1/3;align-self:start;margin:0}.health-card-kicker{display:none}
.service-card-directions,.health-card-data{grid-column:2;min-width:0}
.health-card .service-card-direction{min-height:31px;padding:3px 0;gap:8px;font-size:10px;border-top:0}
.health-card .service-card-direction strong{font-size:16px}
.health-card-data{margin:2px 0 0;padding:0;font-size:9px}
.rer-card>strong{grid-column:2;font-size:20px;margin:0}.rer-card>span:not(.health-card-top){grid-column:2;font-size:10px;line-height:1.4}
.service-detail{padding:10px 0}.service-detail-top h2{font-size:14px}.service-detail-top>strong{font-size:24px}.health-overview{padding:0 0 3px}.health-section-label{margin-bottom:5px}.detail-heading{margin-bottom:12px}
.header-actions{display:flex;align-items:center;gap:20px;margin-left:auto}.connection{white-space:nowrap;gap:8px}#onlineVisitors{padding-left:8px;border-left:1px solid #34404a;color:#9cb3a9}
@media(max-width:760px){
 header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;height:auto;padding:8px 14px}.header-actions{display:contents}.wordmark{grid-column:1;grid-row:1}.support-cta{grid-column:2;grid-row:1;justify-self:end;padding:6px 9px}.connection{grid-column:1/-1;grid-row:2;justify-content:flex-end;min-height:20px;font-size:10px}.connection time{display:none}
 .health-card{min-height:0;padding:8px 10px}.health-card .service-card-direction{min-height:29px;font-size:11px}.health-grid{gap:6px}
}

/* One surface for a train: explanation and attached observations are immediate. */
.train-reading{border-top:1px solid #ffffff16;margin-top:10px;padding-top:4px}.train-reading p{font-size:11px;line-height:1.5;margin:8px 0}.train-reading h3{font-size:10px;letter-spacing:.08em;color:#aec3bd;margin:14px 0 8px}.recent-markers{display:grid;gap:7px}.recent-markers>span{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;padding:5px 0;border-bottom:1px solid #ffffff0b;font-size:11px}.recent-markers small{font-size:10px;color:#9fb6b0}.recent-markers .marker-age{grid-column:1/-1}.contact-cta{color:#c6ddd2;text-decoration:none;border:1px solid #ffffff28;border-radius:6px;padding:8px 10px;font-size:11px;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;min-height:44px;box-sizing:border-box}.header-actions{gap:10px}.train-reading .guide-fold{margin-top:12px}.train-reading .kv{font-size:10px;overflow-wrap:anywhere}
@media(max-width:760px){header{grid-template-columns:minmax(0,1fr) auto auto;gap:3px 6px}.wordmark{font-size:13px}.support-cta{grid-column:2;grid-row:1}.contact-cta{grid-column:3;grid-row:1;padding:6px 8px}.connection{grid-column:1/-1}}

.train-summary{font-size:11px;line-height:1.5;margin:7px 0}.train-next{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 8px;padding:8px 0}.train-next>small{grid-column:1/-1}.train-next>strong{font-size:13px;grid-column:1;grid-row:2}.train-next>b{font-size:20px;grid-column:2;grid-row:2;align-self:center}.train-confidence{margin-top:10px}.train-reading h3{margin-top:8px}

.score-reading>div{padding:8px 0;border-bottom:1px solid #ffffff12}.score-reading>div>p{margin:4px 0;font-size:11px;line-height:1.5}

/* Producer ages stay visible, independently of the retired operator panel. */
.refresh-status{display:block;margin:4px 0 14px;padding:10px 12px;border:1px solid #ffffff12;border-radius:8px;background:#101b2266;font:10px "Segoe UI",sans-serif;line-height:1.5}.refresh-sources{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px}.refresh-source{display:grid;gap:2px;min-width:0}.refresh-status strong{font-weight:600;color:#d3e4dc}.refresh-status span{display:block;overflow-wrap:anywhere}.refresh-status span::before{display:none}.refresh-source small,.refresh-note,.refresh-archive{font-size:9px;color:#8ea6ad}.refresh-note{display:block;margin-top:6px}.refresh-units{margin-top:8px;border-top:1px solid #ffffff0d;padding-top:6px}.refresh-units ol{padding:0;margin:4px 0 0;list-style:none;display:grid;gap:2px}.refresh-units li{display:flex;justify-content:space-between;gap:12px;font-size:10px}.refresh-units li span:last-child{text-align:right;flex-shrink:0;color:#b8cfbf}@media(max-width:600px){.refresh-status{padding:8px 9px;margin:8px 0;font-size:9px}.refresh-sources{gap:7px}.refresh-units li{font-size:9px}.refresh-source span{line-height:1.4}}

/* The same animation key is readable on small screens. */
.health-intro .legend{display:flex;flex-wrap:wrap;gap:10px 18px}.legend svg{flex:none}.animation-hint{display:block;color:var(--muted);font-size:11px;margin-top:10px}.refresh-source strong{line-height:1.6}.refresh-source span{line-height:1.6}.refresh-units li{align-items:start}.refresh-units li small{font-size:11px;line-height:1.6}.train-reading h3{text-transform:none;letter-spacing:0;font-size:12px;line-height:1.5}
@media(max-width:760px){.health-intro .legend{display:flex;font-size:11px;gap:10px}.refresh-sources{grid-template-columns:1fr}.refresh-units li{display:flex;flex-direction:column;gap:2px}.refresh-note{line-height:1.6}.health-intro .legend span{display:flex;align-items:center;gap:7px}}

/* Legends belong to the map, including before line details on narrow screens. */
#mapLegend{grid-column:1;padding:12px 18px;border-top:1px solid #ffffff12}#mapLegend .legend{margin:0;max-width:none;justify-content:flex-start;font-size:10px;gap:8px 16px}#mapLegend .animation-hint{margin-top:6px;font-size:10px}.stage.with-detail #detail{grid-column:2;grid-row:2/4}
.replaying #mapLegend .legend>span:nth-child(n+3),.replaying #mapLegend .animation-hint{display:none}.replaying .live-pulse{animation:none}
@media(max-width:760px),(pointer:coarse){#mapTouchMode{right:auto;bottom:auto;transform-origin:top left;max-width:100px;min-width:88px;z-index:60}.stage.with-detail #detail{grid-column:1;grid-row:auto}#mapLegend{padding:10px 12px}#mapLegend .legend{font-size:10px;gap:7px 12px}#mapLegend svg{width:18px;height:18px}.replaying *{animation:none!important}}

.replaying *{animation:none!important;transition:none!important}

.map-empty .empty-description{font-size:11px;color:var(--muted)}.map-empty button{pointer-events:auto;max-width:100%;white-space:nowrap}.map-empty{max-width:calc(100% - 24px);text-align:center}

/* Cards stay within the screen and scroll separately from the map. */
.tooltip,.tooltip.pinned{background:rgba(13,24,33,.62);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);text-shadow:0 1px 3px #000}
.tooltip.floating-card{position:fixed;z-index:60;box-sizing:border-box;max-height:none;box-shadow:0 8px 30px #0006;line-height:1.5}
.floating-card .tip-head{min-height:44px;padding:0 6px 0 12px;box-sizing:border-box;gap:6px}
.floating-card .tip-head>span{margin-right:auto;color:#b9cdce;font-size:11px}
.floating-card .expand-tip{padding:4px 8px;background:transparent;font-size:11px;color:#c6ddd2;border:0}
.floating-card .tip-body{overflow:auto;overscroll-behavior:contain;max-height:none;min-height:0;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
button,a,summary,select,input{touch-action:manipulation}
@media(max-width:760px){.map-touch-active #map{touch-action:pan-y}.map-touch-active.map-magnified #map{touch-action:none}.tooltip.floating-card .tip-body{font-size:12px}}

/* A language choice fits below the mobile header links, with no iOS input zoom. */
.language-control{display:flex;align-items:center}.language-control select{width:108px;min-height:44px;padding:7px 8px;border:1px solid #314147;border-radius:8px;background:#111a21;color:#dce7e6;font-size:14px;font-family:inherit}.operator-original{margin-top:8px}.operator-original summary{font-size:11px;cursor:pointer;color:#a9c1bc}.operator-original p{line-height:1.5}
@media(max-width:760px){.language-control{grid-column:1;grid-row:2}.language-control select{width:105px;font-size:16px}.connection{grid-column:2/-1;grid-row:2;justify-self:end;min-width:0;flex-wrap:wrap;justify-content:flex-end}.header-actions{gap:8px}}

.activity-row{padding:8px 0;border-bottom:1px solid #ffffff0d;font-size:11px;color:#aebfc6}.activity-row>small{display:block;color:#8197a4;margin-top:4px}
