[hidden]{display:none!important}
.hero-grid{grid-template-columns:minmax(0,1fr);min-height:0;padding-block:60px;gap:0}
.hero-lede,.hero-privacy{max-width:none}
@media(max-width:640px){.hero-grid{padding-block:40px}}
.commute-workspace{max-width:980px}
.session-bar{margin-bottom:20px;border:1px solid var(--line);border-radius:12px;background:#eef3ef;padding:15px 20px}
.session-bar summary{cursor:pointer;font-weight:750;color:var(--ink)}
.session-bar form{max-width:580px;margin-top:20px}
.signed-in-heading{display:flex;align-items:center;flex-wrap:wrap;gap:8px 15px}
#joined-routes{display:flex;flex-wrap:wrap;gap:4px 8px;list-style:none;padding:0;margin:9px 0 0;font-size:.76rem;line-height:1.4}
#joined-routes li{border:1px solid var(--line);border-radius:5px;padding:2px 7px;background:#fff}
.commute-workspace .line-choice{margin:0 0 22px}
.commute-workspace .field-tag,.commute-workspace fieldset>legend{color:var(--coral)}
.step-guide{margin:0 0 24px;border:1px solid var(--line);border-radius:10px;padding:12px 15px;background:#f6f8f5}
.step-guide summary{cursor:pointer;color:var(--ink);font-weight:800}
.step-guide ol{margin:14px 0 10px;padding-left:24px;color:var(--muted);font-size:.88rem}
.step-guide li+li{margin-top:6px}
.step-guide p{margin:12px 0 2px;font-size:.84rem}
.commute-workspace .join-card{padding:24px}
.commute-workspace fieldset{margin:0;border:0;padding:0;min-width:0}
.schedule-legend{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0;font-size:.78rem;color:var(--muted)}
.membership-key{color:#24794d}
.commute-table{width:100%;border-collapse:collapse;table-layout:fixed}
.commute-table th:first-child{width:58px}
.commute-table th{background:#edf2ed;color:var(--ink);font-size:.8rem;padding:10px 2px}
.commute-table th,.commute-table td{border:1px solid var(--line)}
.commute-table td{padding:0;background:#fff}
.commute-table td.level-1{background:#e7f4c8}
.commute-table td.level-2{background:#c8e58c}
.commute-table td.level-3{background:#8fc997}
.commute-table td.level-4{background:#459aa0;color:#fff}
.commute-table td.level-5{background:var(--ink);color:var(--lime)}
.commute-table .level-4 .membership-tick,.commute-table .level-5 .membership-tick{color:inherit}
.count-legend{display:flex;align-items:center;gap:6px;margin:8px 0 16px;font-size:.76rem}
.count-legend b{display:grid;place-items:center;min-width:28px;height:26px;border-radius:4px}
#pool-notice{width:min(460px,calc(100% - 32px));border:0;border-radius:16px;padding:24px;color:var(--ink);background:#fff;box-shadow:0 24px 80px #0005}
#pool-notice::backdrop{background:#091b2cb8}
#pool-notice h2{margin:0;font-size:1.5rem;line-height:1.2}
#pool-notice p{font-size:.95rem;line-height:1.55}
.commute-cell{display:grid!important;grid-template-columns:1em minmax(0,1fr) 1em;align-items:center;gap:0;min-height:46px;cursor:pointer;padding:2px}
.commute-cell{position:relative}
.commute-cell input{position:absolute;opacity:0;width:1px;height:1px;min-height:0;padding:0;margin:0}
.commute-cell:has(input:disabled){cursor:default}
.commute-cell:has(input:checked){background:#cdebcf;color:var(--ink);box-shadow:inset 0 0 0 3px #287444}
[data-mode="leave"] .commute-cell:has(input:checked){background:#f9d8d5;box-shadow:inset 0 0 0 3px #b83832}
.pool-mode{display:flex;gap:8px;margin:16px 0}
.action-step{margin:20px 0 8px;color:var(--ink);font-size:.9rem}
.pool-mode button{flex:1;min-height:44px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-weight:750;cursor:pointer}
.pool-mode [data-mode="join"][aria-pressed="true"]{background:#cdebcf;border:2px solid #287444}
.pool-mode [data-mode="leave"][aria-pressed="true"]{background:#f9d8d5;border:2px solid #b83832}
.commute-cell:focus-within{outline:2px solid #38566b;outline-offset:-2px}
.commute-cell:has(input:checked):focus-within{outline:3px solid #287444;outline-offset:-3px}
[data-mode="leave"] .commute-cell:has(input:checked):focus-within{outline-color:#b83832}
.commuter-count{grid-column:2;grid-row:1;min-width:1ch;text-align:center;font-size:1rem;font-weight:750;font-variant-numeric:tabular-nums}
.membership-tick{grid-column:3;grid-row:1;text-align:center;color:#24794d;font-weight:900;font-size:.85rem}
.schedule-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:20px 0 14px}
.schedule-actions #pool-submit{min-height:48px;padding:10px 20px}
.commute-workspace .schedule-picker{overflow:visible}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:640px){
  .commute-workspace .join-card{margin:0;padding:12px;border:1px solid var(--line);border-radius:12px}
  .commute-workspace .route-builder{grid-template-columns:1fr 34px 1fr;gap:4px}
  .commute-workspace .swap-button{width:32px;height:32px}
  .commute-workspace .route-builder select{padding:8px 4px;font-size:.8rem}
  .commute-table th:first-child{width:42px}
  .commute-table th{font-size:.7rem}
  .commute-cell{grid-template-columns:10px minmax(0,1fr) 10px}
  .membership-tick{font-size:.8rem}
  .commuter-count{font-size:.85rem}
  .schedule-actions{display:grid;grid-template-columns:1fr}
  .session-bar{padding:14px}
}
