:root { --mono:'IBM Plex Mono',monospace;--sans:'IBM Plex Sans',sans-serif;--mint:#7fe0a8;--pink:#ff52e5;--yellow:#f6d242 }
* { box-sizing:border-box }
body { margin:0;-webkit-font-smoothing:antialiased }
a { color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent }
a:focus-visible { outline:3px solid #218fe2;outline-offset:4px }
.bus-body { background:#d8dede;color:#263234;font:14px var(--sans) }
.rack { position:relative;max-width:980px;margin:6px auto 0;padding:21px 49px 0;background:linear-gradient(100deg,#363f42,#414b4d 36%,#30393c);border:1px solid #182326;border-right:8px solid #202b2e;border-radius:8px 7px 3px 3px;box-shadow:inset 1px 1px #839093,0 5px 0 #222d2f,0 20px 30px #1931312e;color:#e5ebe5 }
.rail { position:absolute;top:27px;bottom:27px;width:12px;background:repeating-linear-gradient(180deg,transparent 0 19px,#152124 19px 25px,transparent 25px 46px);border-left:1px solid #536264;border-right:1px solid #1f2c2e }
.rail-left { left:14px }
.rail-right { right:14px }
.rack-header { padding:9px 23px 20px;background:linear-gradient(110deg,#313c3d,#293536);border:1px solid #17272a;box-shadow:inset 0 1px #637274,0 2px 0 #152123;border-radius:3px;position:relative }
.rack-header:before, .rack-header:after { content:'−';position:absolute;top:10px;width:9px;height:9px;border-radius:50%;background:#253031;color:#83918c;box-shadow:inset 0 1px 2px #132221;border:1px solid #52615e;font:9px var(--mono);line-height:6px;text-align:center }
.rack-header:before { left:9px }
.rack-header:after { right:9px }
.rack-mark { display:flex;justify-content:space-between;gap:15px;font:9px var(--mono);letter-spacing:.1em;color:#c1cec5;margin:11px 0 23px }
.rack-mark>span { color:var(--mint) }
.rack-header h1 { font:500 33px/1.14 var(--sans);letter-spacing:-.8px;margin:0;color:#f0f1e9 }
.rack-header p { font:12px/1.55 var(--sans);color:#aebeb7;margin:14px 0 22px }
.rack-display { display:flex;justify-content:space-between;gap:18px;padding:16px 19px 17px;background:linear-gradient(115deg,#0c201b,#102920);border:3px solid #152523;border-top:5px solid #152320;border-bottom-color:#657772;border-right-color:#5c7169;border-radius:3px;box-shadow:inset 1px 3px 9px #0008;min-height:116px;color:#a9e9c4 }
.rack-display>div:first-child { display:flex;flex-direction:column;gap:9px;min-width:0 }
.display-label { font:8px var(--mono);letter-spacing:.07em;color:#82b69d }
.rack-display strong { font:19px/1.2 var(--mono);letter-spacing:-.6px;text-shadow:0 0 7px #98f0bc1f }
.rack-display #rack-purpose { font:11px var(--mono);color:#9ab9a8;line-height:1.4;min-height:16px }
.rack-count { flex-shrink:0;display:flex;flex-direction:column;justify-content:center;align-items:center;border-left:1px solid #3b594b;padding-left:22px;gap:6px }
.rack-count strong { font:35px/.9 var(--mono);color:#84c4a1 }
.rack-count>span { font:8px var(--mono);color:#89b39c }
.rack-directory { margin-top:15px;background:#182629;border:1px solid #132022;border-top:4px solid #122023;padding:0 8px 9px;box-shadow:inset 0 1px 6px #0007;border-radius:2px }
.column-labels { display:grid;grid-template-columns:31px 185px 1fr 65px;gap:14px;padding:12px 15px;font:8px var(--mono);letter-spacing:.09em;color:#889e99 }
.column-labels>span:last-child { text-align:center }
.modules { display:grid;gap:7px }
.module { display:grid;grid-template-columns:31px 185px 1fr 65px;align-items:center;gap:14px;min-height:79px;padding:13px 15px;background:linear-gradient(105deg,#444f50,#3b4849 80%,#334142);border:1px solid #637070;border-bottom:4px solid #233335;border-right:3px solid #293b3b;border-radius:3px;box-shadow:inset 0 1px #8b999544,0 2px 1px #0b1616;transition:transform .09s,background .12s;position:relative }
.module-address { font:9px var(--mono);color:#9eaead;display:flex;flex-direction:column;gap:10px;align-items:flex-start }
.module-address i { display:block;width:5px;height:5px;border-radius:50%;background:#6e8580;border:1px solid #223c31;box-shadow:inset 0 1px 1px #142621 }
.module.indicated .module-address i { background:#8bedb6;box-shadow:0 0 7px #78ecac60 }
.module-title { font:500 15px/1.2 var(--mono);letter-spacing:-.3px;color:#e8eee6 }
.module-purpose { font:13px/1.45 var(--sans);color:#bac8c1 }
.run-key { display:flex;justify-content:center;gap:8px;font:10px var(--mono);padding:11px 7px;color:#133c2e;background:linear-gradient(#c1efd4,#8ad0a6);border:1px solid #071e14;border-bottom:4px solid #608771;border-radius:3px;box-shadow:inset 0 1px #eafff0,0 1px 1px #0b181299;transition:transform .09s,box-shadow .09s }
.module.indicated { background:linear-gradient(105deg,#4c5e58,#41574c 80%,#3d5348);border-color:#718f7e;border-bottom-color:#274535 }
.module:active { transform:translateY(2px);box-shadow:none }
.module:active .run-key { transform:translateY(2px);box-shadow:inset 0 1px 3px #22483155;border-bottom-width:2px;margin-bottom:2px }
.rack-footer { display:flex;gap:25px;align-items:center;padding:22px 8px 24px;font:9px var(--mono);color:#abbeb6 }
.rack-footer a { margin-left:auto }
.rack-vents { width:80px;height:25px;margin-left:5px;background:repeating-linear-gradient(90deg,#182b2c 0 3px,transparent 3px 7px);border-top:1px solid #566763;border-bottom:1px solid #243e39;border-radius:3px }
@media(max-width:1040px) {
.rack { margin-inline:20px }
.rack { padding-inline:42px }
.module, .column-labels { grid-template-columns:24px 160px 1fr 60px;gap:11px }
.module { padding:12px }
.module-title { font-size:14px }
.rack-footer { gap:15px }
.rack-vents { width:55px }
}
@media(max-width:700px) {
.rack { margin:2px 10px 0 }
.rack { padding:15px 22px 0;border-right-width:5px }
.rail { width:6px;top:22px;bottom:23px }
.rail-left { left:6px }
.rail-right { right:6px }
.rack-header { padding:10px 14px 15px }
.rack-mark { font-size:7px;gap:10px;letter-spacing:.05em;margin-bottom:19px;flex-wrap:wrap }
.rack-header h1 { font-size:27px;letter-spacing:-.7px }
.rack-header p { font-size:11px;line-height:1.5;margin:12px 0 18px }
.rack-display { padding:12px 10px;gap:10px;min-height:128px }
.display-label { font-size:7px }
.rack-display strong { font-size:16px;line-height:1.3;min-height:41px;letter-spacing:-.4px }
.rack-display #rack-purpose { font-size:9px;line-height:1.4;min-height:26px }
.rack-count { padding-left:10px }
.rack-count strong { font-size:28px;min-height:auto }
.rack-count>span { font-size:7px }
.rack-directory { padding:0 6px 7px }
.column-labels { display:flex;justify-content:space-between;padding:11px 8px;font-size:7px }
.column-labels>span:first-child, .column-labels>span:nth-child(3) { display:none }
.column-labels>span:nth-child(2) { margin-left:23px }
.module { grid-template-columns:17px 1fr 51px;gap:6px 9px;padding:13px 8px;min-height:97px }
.module-address { grid-column:1;grid-row:1/3;align-self:center;font-size:8px }
.module-title { grid-column:2;grid-row:1;font-size:13px;align-self:end }
.module-purpose { grid-column:2;grid-row:2;font-size:12px;line-height:1.35;align-self:start }
.run-key { grid-column:3;grid-row:1/3;padding:10px 4px;font-size:9px;gap:5px }
.rack-footer { padding:18px 3px 20px;gap:13px;font-size:8px;align-items:flex-start }
.rack-footer a { max-width:102px;text-align:right;line-height:1.6 }
.rack-footer>span { line-height:1.6 }
.rack-vents { display:none }
}
@media(prefers-reduced-motion:reduce) {
* { transition:none!important;animation:none!important }
}

body { padding: 32px 0 46px; }
@media(max-width:700px) { body { padding: 14px 0 32px; } }

/* A discreet return link still needs a usable touch target. */
.rack-footer a { min-height: 44px; display: inline-flex; align-items: center; justify-content: flex-end; font-size: 11px; }
