:root{color-scheme:dark;--dash-ink:#e7eee9;--dash-muted:#a3b3b0;--dash-line:#ffffff18;--dash-gold:#edc491}*{box-sizing:border-box}.dashboard-page{margin:0;background:#0b141a;color:var(--dash-ink);font:15px/1.55 system-ui,sans-serif;padding:32px clamp(18px,4vw,72px)}.dashboard-header{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--dash-line);padding-bottom:22px}.dashboard-header span{font-size:11px;letter-spacing:.18em;color:var(--dash-gold)}.dashboard-header h1{font-weight:500;font-size:clamp(25px,3vw,42px);margin:6px 0 0;letter-spacing:-.04em}#dashboard-connection{color:var(--dash-muted);font-size:12px}body[data-connected=false] #dashboard-connection{color:#f0bc88}.dashboard-top{display:flex;justify-content:space-between;gap:15px;align-items:baseline;margin-bottom:16px}.dashboard-city{font-size:23px;font-weight:500}.dashboard-clock{font-variant-numeric:tabular-nums;color:var(--dash-gold)}.dashboard-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.dashboard-card{border:1px solid var(--dash-line);background:#ffffff04;padding:16px;border-radius:12px;min-width:0}.dashboard-card h3{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--dash-muted);margin:0 0 7px}.dashboard-card strong{display:block;font-size:16px;font-weight:500;overflow-wrap:anywhere}.dashboard-card p{margin:6px 0 0;font-size:12px;color:var(--dash-muted);overflow-wrap:anywhere}.dashboard-card[data-status=live],.dashboard-card[data-status=connected]{border-top-color:#83bca0}.dashboard-card[data-status=holding],.dashboard-card[data-status=unavailable],.dashboard-card[data-status=partial]{border-top-color:#d7a77c}.dashboard-light,.dashboard-note{font-size:12px;color:var(--dash-muted)}.dashboard-controls{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.dashboard-controls button,.dashboard-header button{font:inherit;border:1px solid #ffffff26;border-radius:8px;background:#15232c;color:var(--dash-ink);padding:9px 13px;cursor:pointer}.dashboard-controls button[aria-pressed=true]{border-color:#b99b70;background:#4c412b}.dashboard-controls button:disabled{opacity:.4;cursor:default}.dashboard-controls button:focus-visible{outline:2px solid var(--dash-gold);outline-offset:2px}.dashboard-log-heading{font-size:15px;font-weight:500;border-bottom:1px solid var(--dash-line);padding-bottom:12px}.dashboard-log{list-style:none;padding:0;margin:0}.dashboard-log li{display:grid;grid-template-columns:75px 1fr;gap:15px;padding:11px 0;border-bottom:1px solid #ffffff09;font-size:13px}.dashboard-log time{font-variant-numeric:tabular-nums;color:var(--dash-muted);font-size:11px}.dashboard-log [data-kind=weather] span{color:#add0df}.dashboard-log [data-kind=traffic] span{color:#ebbf91}.dashboard-log [data-kind=train] span{color:#c4d7c7}.dashboard-note{margin-top:20px}.activity-panel{position:fixed;z-index:45;right:24px;top:90px;width:min(500px,calc(100vw - 32px));max-height:calc(100vh - 120px);overflow:auto;background:#0c171ef5;border:1px solid #ffffff24;border-radius:16px;padding:20px;box-shadow:0 15px 70px #0007;color:var(--dash-ink,#e7eee9);font:13px/1.5 system-ui,sans-serif;pointer-events:auto}.activity-panel[hidden]{display:none}.activity-panel .dashboard-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:15px}.activity-heading h2{font-size:17px;font-weight:500;margin:0}.activity-heading button{font:inherit;padding:7px 10px;border:1px solid #ffffff2a;background:#172630;color:#e8eee9;border-radius:7px;cursor:pointer}.activity-heading button:last-child{font-size:20px}.activity-panel .dashboard-card{padding:11px}.activity-panel .dashboard-card strong{font-size:13px}.activity-panel .dashboard-log li{grid-template-columns:61px 1fr;gap:8px}.activity-panel .dashboard-city{font-size:17px}@media(max-width:800px){.dashboard-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-page{padding:20px}.dashboard-header{align-items:flex-start}.activity-panel{right:16px;top:70px}}@media(max-width:480px){.dashboard-cards{grid-template-columns:1fr}.activity-panel .dashboard-cards{grid-template-columns:1fr}}
