.matrix-toolbar{grid-template-columns:minmax(210px,420px) 1fr}
.matrix-key{justify-content:flex-end;flex-wrap:wrap}
.matrix-key b{margin-right:3px;color:var(--ink);font-size:.68rem}
button.matrix-cell{margin:0;border-top:0;border-left:0;padding:0;color:var(--ink);cursor:pointer}
button.matrix-cell.level-4{color:#fff}
button.matrix-cell.level-5{color:var(--lime)}
button.matrix-cell:hover,button.matrix-cell:focus-visible{position:relative;z-index:1;outline:3px solid var(--coral);outline-offset:-2px}
.route-popover{position:fixed;z-index:30;max-height:min(420px,calc(100vh - 24px));overflow:auto;border:1px solid #3a5267;border-radius:13px;padding:18px;background:var(--ink);color:#fff;box-shadow:0 18px 55px rgb(0 0 0 / 35%)}
.route-popover[hidden]{display:none}
.route-popover>strong{display:block;padding-right:24px;font-size:1rem}.route-popover>strong i{color:var(--coral);font-style:normal}.route-popover>small{display:block;margin-top:3px;color:#aebdca}.route-popover>p{margin:15px 0 0;color:#c6d2dc}
.popover-close{position:absolute;top:8px;right:8px;width:30px;height:30px;border:0;background:transparent;color:#fff;font-size:1.35rem;cursor:pointer}
.popover-schedules{display:grid;gap:0;margin-top:14px;border-top:1px solid #3e5366}
.popover-schedules div{display:grid;grid-template-columns:42px 52px 1fr;gap:10px;padding:8px 0;border-bottom:1px solid #3e5366;font-size:.78rem}.popover-schedules span{color:var(--lime)}.popover-schedules time{color:#fff}.popover-schedules b{text-align:right;color:#dce6ec;font-weight:700}
@media(max-width:640px){.matrix-toolbar{grid-template-columns:1fr}.matrix-key{justify-content:flex-start}}
