/* /today/: a departure board for one day. Thin rules, no cards, no shadows; colour only for status. */
.today-page [hidden]{display:none!important}
.today-page{padding-block-end:24px}
.today-page small{display:block;color:var(--muted);font-size:14px;line-height:1.35}
.today-page a{text-underline-offset:3px}
.today-head{padding-block:clamp(24px,3.4vw,40px) 0}
.today-date{margin:0 0 6px;color:var(--muted);font-size:16px}
.today-head h1{margin:0;font-size:var(--t44);line-height:.95}
.today-verdict{margin:14px 0 0;max-width:46ch;font-size:22px;line-height:1.35}
.today-opened{margin:14px 0 0;font-weight:650}
.today-opened::before{content:"";display:inline-block;width:10px;height:10px;margin-inline-end:10px;border-radius:50%;background:#1f8a4c}

.today-pick{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(20px,4vw,56px);margin-block-start:clamp(24px,4vw,40px);padding-block:20px;border-block:2px solid var(--ink)}
.today-pick-name p{margin:0 0 4px;display:flex;align-items:center;color:var(--muted);font-size:16px}
.today-pick-name p::before{content:"";flex:none;width:10px;height:10px;margin-inline-end:10px;border-radius:50%;background:var(--status,#8b95a1)}
.today-pick h2{margin:0;font-size:var(--t44);line-height:1}
.today-pick h2 a{color:inherit;text-decoration:none}
.today-pick h2 a:hover{text-decoration:underline;text-decoration-thickness:2px}
.today-pick small{margin-block-start:8px}
.today-pick dl{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
.today-pick dl div{padding-block:8px;border-block-end:1px solid var(--line)}
.today-pick dl div:nth-last-child(-n+2){border-block-end:0}
.today-pick dt{color:var(--muted);font-size:14px}
.today-pick dd{margin:0;font-size:16px;line-height:1.35;text-align:start}
.today-indoor{margin:14px 0 0}

.today-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 24px;align-items:center;padding-block:24px 12px}
.today-controls ul{display:flex;flex-wrap:wrap;gap:4px 20px;margin:0;padding:0;list-style:none}
.today-controls li a{display:inline-block;padding-block:9px;color:var(--muted);text-decoration:none;border-block-end:2px solid transparent}
.today-controls li a:hover{color:var(--ink)}
.today-controls li a[aria-current]{color:var(--ink);font-weight:650;border-block-end-color:var(--ink)}
.today-controls form{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:16px}
.today-controls label{color:var(--muted)}
.today-controls select{min-height:44px;max-width:220px;padding-inline:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit}
.today-controls .text-button{min-height:44px}
.today-note{grid-column:1/-1;margin:0;color:var(--muted);font-size:14px}

.today-board table{width:100%;border-collapse:collapse;font-size:16px;line-height:1.35}
.today-board thead th{padding:8px 16px 8px 0;border-block-end:2px solid var(--ink);color:var(--muted);font-size:14px;font-weight:600;text-align:start;vertical-align:bottom}
.today-board tbody th,.today-board td{padding:14px 16px 14px 0;border-block-end:1px solid var(--line);text-align:start;vertical-align:top;font-weight:400}
[dir=rtl] .today-board thead th,[dir=rtl] .today-board tbody th,[dir=rtl] .today-board td{padding-inline:0 16px}
.today-board tbody th a{color:var(--ink);font-size:16px;font-weight:650;text-decoration:none}
.today-board tbody th a:hover{text-decoration:underline}
.today-board strong{font-weight:650;font-variant-numeric:tabular-nums}
.today-board td:nth-child(3){white-space:nowrap}
.today-status>span{display:flex;align-items:baseline}
.today-status .season-dot{transform:translateY(1px)}
.today-road i{display:block;width:100%;max-width:120px;height:2px;margin-block:5px;background:linear-gradient(to right,var(--ink) calc(var(--share)*100%),var(--line) 0)}
[dir=rtl] .today-road i{background:linear-gradient(to left,var(--ink) calc(var(--share)*100%),var(--line) 0)}
.today-cost span,.today-cost b{display:block}
.today-cost b{margin-block-start:4px;font-weight:650}
.today-check a,.today-check button{display:block;padding:0;margin-block-end:4px;font-size:14px;text-align:start}
.today-check button[aria-pressed=true]{font-weight:650;color:var(--ink)}
.today-notes{max-width:78ch;padding-block-start:16px;color:var(--muted);font-size:14px}
.today-notes p{margin:0 0 6px}

@media(max-width:1000px){
  .today-pick{grid-template-columns:minmax(0,1fr)}
  .today-controls{grid-template-columns:minmax(0,1fr)}
  .today-board thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .today-board table,.today-board tbody{display:block}
  .today-board tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 16px;padding-block:14px;border-block-end:1px solid var(--line)}
  .today-board tbody th,.today-board td{display:block;padding:0;border:0}
  .today-board tbody th,.today-status,.today-cost{grid-column:1/-1}
  .today-check a,.today-check button{min-height:44px;display:flex;align-items:center}
}
@media(max-width:480px){
  .today-pick dl{grid-template-columns:minmax(0,1fr)}
  .today-pick dl div:nth-last-child(2){border-block-end:1px solid var(--line)}
  .today-controls select{max-width:none;flex:1}
}
@media(max-width:1000px){.today-check{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:0 20px}.today-check a,.today-check button{margin:0}}
[dir=rtl] .today-indoor span{display:inline-block;transform:scaleX(-1)}
