/* Route by Route and Compare: additions on top of findings.css */
.title { font-size: clamp(56px, 10vw, 132px); }
.picker { margin-top: 26px; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font-size: 13px; }
.picker label { color: var(--ink-2); font-weight: 700; }
.picker input, .picker select { background: var(--bg-2); color: var(--ink); border: 1px solid var(--hair-2); border-radius: 4px; padding: 7px 10px; font: inherit; min-width: 180px; }
.picker button, .run { background: var(--ours); color: var(--bg); border: 0; border-radius: 4px; padding: 8px 14px; font: inherit; font-weight: 800; cursor: pointer; }
.stats { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 18px 22px; }
.stat .k { font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: var(--ink-3); font-weight: 700; }
.stat .v { font-size: 30px; font-weight: 800; letter-spacing: -0.02em; margin-top: 2px; }
.stat .v i { font-style: normal; font-size: 12px; font-weight: 500; color: var(--ink-3); margin-left: 4px; }
.stat .c { font-size: 12px; margin-top: 2px; }
.stat .s { font-size: 11.5px; color: var(--ink-3); margin-top: 3px; }
.up { color: #57aa4a; } .down { color: #e5484d; } .flat { color: var(--ink-3); }
.empty { color: var(--ink-3); }
.table-wrap { overflow-x: auto; max-height: 640px; overflow-y: auto; border: 1px solid var(--hair); border-radius: 6px; }
.rtable { width: 100%; border-collapse: collapse; font-size: 13px; font-variant-numeric: tabular-nums; }
.rtable th { position: sticky; top: 0; background: var(--bg-2); text-align: left; font-size: 11px; text-transform: uppercase; letter-spacing: .05em; color: var(--ink-3); padding: 8px 10px; border-bottom: 1px solid var(--hair-2); white-space: nowrap; }
.rtable.sortable th { cursor: pointer; }
.rtable th.sorted { color: var(--ours); }
.rtable td { padding: 7px 10px; border-bottom: 1px solid var(--hair); color: var(--ink-2); white-space: nowrap; }
.rtable td a { color: var(--ink); font-weight: 700; }
.rtable .n { text-align: right; }
.rtable td.nm { max-width: 320px; overflow: hidden; text-overflow: ellipsis; font-size: 12px; color: var(--ink-3); }
.rtable tr.nc td { color: var(--ink-3); font-style: italic; }
.ev-key { display: inline-block; width: 10px; height: 5px; margin: 0 4px 1px 6px; vertical-align: middle; }
.ev-key.ev-holiday { background: #9b9fbc; } .ev-key.ev-gap { background: #d2232a; } .ev-key.ev-weather { background: #4fb3e8; } .ev-key.ev-method { background: #dde44c; } .ev-key.ev-network { background: #ff7c53; }
.cmp-form { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 16px 22px; align-items: end; }
.cmp-form fieldset { border: 0; display: flex; flex-direction: column; gap: 6px; }
.cmp-form legend, .cmp-form label.h { font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: var(--ink-3); font-weight: 700; margin-bottom: 4px; }
.cmp-form input, .cmp-form select, .cmp-form textarea { background: var(--bg-2); color: var(--ink); border: 1px solid var(--hair-2); border-radius: 4px; padding: 7px 9px; font: inherit; font-size: 13px; }
.cmp-form textarea { min-height: 56px; resize: vertical; }
.cmp-result { margin-top: 28px; }
.cmp-big { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 18px; }
.cmp-big .stat .v { font-size: 34px; }
.cmp-explain { margin-top: 18px; font-size: 14px; color: var(--ink-2); max-width: 760px; }
.cmp-explain b { color: var(--ink); }
.warn { color: #ff7c53; }
@media (max-width: 760px) {
  .page { padding: 0 16px 60px; }
  .block { grid-template-columns: 1fr; gap: 20px; padding: 36px 0; }
  .stat .v { font-size: 24px; }
}
/* The borough filter sits in the 300px side column: wrap the buttons as
   separate chips instead of one joined bar that spills into the table. */
.side .seg { display: flex; flex-wrap: wrap; gap: 6px; border: 0; margin: 10px 0 0; }
.side .seg button { border: 1px solid var(--hair-2); border-radius: 4px; padding: 6px 10px; white-space: nowrap; }
.side .seg button + button { border-left: 1px solid var(--hair-2); }
