#screen.route-screen{background:linear-gradient(100deg,#080705e8,#080705cf),url('assets/stages/basement.webp') center/cover;padding:3%;align-items:flex-start;container-type:size}
.campaign-route{width:100%;max-height:100%;overflow:auto;color:#ded8cb;padding:1%}
.route-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}
.route-heading h1{font:italic 900 clamp(24px,4cqw,58px)/1 Impact,Arial,sans-serif;margin:0;color:#e5dfd2}
.route-heading .overline{color:#bcb4a6;font-size:clamp(7px,.8cqw,12px);letter-spacing:3px;margin-bottom:10px}
.route-kicker{font-size:clamp(8px,1cqw,14px);letter-spacing:3px;margin:8px 0 0}
.route-count{text-align:right;color:#ddd3c0;font:clamp(20px,3cqw,42px) Impact,Arial;white-space:nowrap}
.route-count small{display:block;font:8px Arial;letter-spacing:2px;margin-top:5px}
.route-subtitle{color:#b4aa9c;font-size:clamp(8px,.9cqw,12px);line-height:1.4;margin:9px 0}
.route-progress{height:2px;background:#494034;margin:10px 0 16px}.route-progress span{display:block;height:100%;background:#c72e25}
.route-layout{display:grid;grid-template-columns:30% 1fr;gap:3%;align-items:stretch}
.route-stops{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:5px}
.route-stop{position:relative;min-height:40px;padding:5px 26% 5px 42px;border:1px solid #a59a8577;background:linear-gradient(90deg,#060605fa 55%,#07060533),var(--venue) right center/cover}
.route-number{position:absolute;left:10px;top:7px;font:22px Impact;color:#c5bcae}
.route-stop h2{font:clamp(12px,1.3cqw,19px) Impact,'Arial Narrow',sans-serif;margin:0;line-height:1.1}
.route-venue{font-size:clamp(6px,.65cqw,9px);color:#a99f8e;letter-spacing:.5px;margin-top:3px}
.route-stop p{display:none}
.route-state{position:absolute;right:5px;bottom:4px;font:bold 6px Arial;letter-spacing:.4px;color:#9e9485;background:#000b;padding:2px}
.route-stop.current{border-color:#ff6655;box-shadow:0 0 10px #ec201777,inset 0 0 9px #a1141066;color:#ffeadb}
.route-stop.current .route-state{color:#ffb7a5}
.route-stop.cleared{opacity:.65}.route-stop.cleared .route-state{color:#d9cda9}
.route-stop.finale .route-number{color:#d2b989}
.route-preview{position:relative;min-height:365px;background-size:cover;background-position:center;border:2px solid #b4a68a;box-shadow:inset 0 0 0 5px #0009,inset 0 0 45px #000}
.route-preview-caption{position:absolute;bottom:0;left:0;width:100%;padding:14% 4% 4%;text-align:right;background:linear-gradient(transparent,#000d)}
.route-preview-caption h2{font:italic 900 clamp(22px,3cqw,46px) Impact,Arial;margin:7px 0;color:#eee5d7}
.route-preview-caption p{font-size:clamp(9px,1.1cqw,16px);letter-spacing:2px;margin:5px 0 12px}
.route-preview-caption small,.route-preview-caption span{font-size:clamp(7px,.8cqw,11px);letter-spacing:2px;color:#bbb19f}
.route-toolbar{display:flex;gap:12px;align-items:center;margin-top:16px;flex-wrap:wrap}
.route-toolbar button{border:1px solid #a39680;background:#090705cc;color:#ddd3c0;font-size:clamp(9px,1cqw,14px)}
.route-toolbar .primary{border-color:#ec5141;box-shadow:0 0 10px #d8241633}
.route-toolbar button:hover,.route-toolbar button:focus-visible{background:#390c08;color:#fff3df;outline:2px solid #ff5745}
.route-toolbar small{color:#aaa090;font-size:9px}
@media(max-width:700px){.route-layout{grid-template-columns:42% 1fr;gap:2%}.route-stop{padding-left:30px;padding-right:8px;min-height:38px}.route-number{font-size:17px;left:6px}.route-state{position:static;float:right;font-size:5px}.route-preview{min-height:300px}.route-heading .overline{letter-spacing:1px}.route-toolbar button{padding:9px}.route-preview-caption p{letter-spacing:1px}}
@media(max-width:420px){.route-layout{grid-template-columns:1fr}.route-preview{min-height:190px;grid-row:1}.route-stops{margin-top:10px}.route-stop{min-height:39px}.route-preview-caption{padding-top:8%}}
.training-stages .route-layout{margin-top:16px}
.training-stages .route-stop{text-align:left;color:#ded8cb;letter-spacing:0;min-height:43px}
.training-stages .stage-name{display:block;font:clamp(12px,1.3cqw,19px) Impact,'Arial Narrow',sans-serif}
.training-stages .route-venue{display:block}
.training-stages .route-stop:hover,.training-stages .route-stop:focus-visible{outline:2px solid #ff6655;outline-offset:-2px;color:#fff0dc;box-shadow:0 0 10px #ec201755}
