:root{--bg:#f6f7f9;--surface:#fff;--text:#14181f;--muted:#5b6573;--border:#e2e6eb;--brand:#1565e0;--brand-ink:#fff;--link:#0b5cb8;--focus:#ffbf47;--st-normal:#1a7f37;--st-normal-bg:#e7f5ea;--st-slow:#9a5b00;--st-slow-bg:#fff3dc;--st-congested:#c4271d;--st-congested-bg:#fde8e6;--st-severe:#7a0e12;--st-severe-bg:#f6d9da;--st-works:#6b4bb8;--st-works-bg:#efe9fb;--radius:10px;--shadow:0 1px 2px #1018280f;--max:1120px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);margin:0;font-size:16px;line-height:1.5}a{color:var(--link);text-underline-offset:2px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}h1,h2,h3{margin:0 0 .5rem;line-height:1.25}h1{font-size:1.6rem}h2{margin-top:.25rem;font-size:1.25rem}h3{font-size:1.05rem}p{margin:0 0 .75rem}ul{padding-left:1.2rem}.skip{background:var(--surface);z-index:100;padding:.5rem 1rem;position:absolute;top:0;left:-999px}.skip:focus{top:.5rem;left:.5rem}.wrap{max-width:var(--max);margin:0 auto;padding:0 16px}.site-header{background:var(--surface);color:var(--text);border-bottom:1px solid var(--border);box-shadow:var(--shadow)}.site-header .wrap{flex-wrap:wrap;align-items:center;gap:1rem;min-height:56px;display:flex}.logo{align-items:center;padding:.35rem 0;text-decoration:none;display:inline-flex}.logo img{width:auto;height:40px;display:block}.nav{flex-wrap:wrap;gap:.25rem;margin-left:auto;display:flex}.nav a{color:var(--text);border-radius:6px;padding:.5rem .6rem;font-size:.95rem;font-weight:550;text-decoration:none}.nav a:hover{background:var(--bg);color:var(--brand)}@media (max-width:720px){.site-header .wrap{padding-top:.5rem;padding-bottom:.25rem}.nav{scrollbar-width:none;flex-wrap:nowrap;width:100%;margin-left:0;padding-bottom:.4rem;overflow-x:auto}.nav a{white-space:nowrap;background:var(--bg)}.logo img{height:34px}}main{padding:1rem 0 2.5rem}.crumbs{color:var(--muted);margin:.25rem 0 .75rem;font-size:.85rem}.crumbs ol{flex-wrap:wrap;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.crumbs li:not(:last-child):after{content:"›";color:#9aa3ae;margin-left:.35rem}.crumbs a{color:var(--muted)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:1rem;padding:1rem}.card>h2:first-child{margin-top:0}.grid-2{grid-template-columns:1fr;gap:1rem;display:grid}@media (min-width:900px){.grid-2{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start}}.lead{color:#2c3440;font-size:1.05rem}.muted{color:var(--muted)}.small{font-size:.875rem}.status{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);margin-bottom:1rem;padding:1rem}.status-head{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.5rem;display:flex}.pill{border-radius:999px;align-items:center;gap:.4rem;padding:.25rem .65rem;font-size:.9rem;font-weight:700;display:inline-flex}.pill:before{content:"";background:currentColor;border-radius:50%;width:.6rem;height:.6rem}.pill-normal{color:var(--st-normal);background:var(--st-normal-bg)}.pill-slow{color:var(--st-slow);background:var(--st-slow-bg)}.pill-congested{color:var(--st-congested);background:var(--st-congested-bg)}.pill-severe{color:var(--st-severe);background:var(--st-severe-bg)}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:0;display:grid}@media (min-width:640px){.stats{grid-template-columns:repeat(4,minmax(0,1fr))}}.stat{background:var(--bg);border-radius:8px;padding:.6rem .75rem}.stat dt{color:var(--muted);font-size:.8rem}.stat dd{font-variant-numeric:tabular-nums;margin:0;font-size:1.35rem;font-weight:750}.fresh{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.fresh time{color:var(--text);font-weight:650}.fresh-warn{background:var(--st-slow-bg);color:#5c3700;border-radius:8px;margin-bottom:1rem;padding:.5rem .75rem;font-size:.9rem}.events{margin:0;padding:0;list-style:none}.event{border-top:1px solid var(--border);grid-template-columns:4.2rem minmax(0,1fr);gap:.75rem;padding:.75rem 0;display:grid}.event:first-child{border-top:0;padding-top:.25rem}.road-badge{color:#fff;background:#c4271d;border-radius:6px;justify-content:center;align-items:center;min-width:3.4rem;height:1.9rem;padding:0 .4rem;font-size:.95rem;font-weight:800;text-decoration:none;display:inline-flex}.road-badge.n{color:#1d1d1d;background:#e3b600}.road-badge.none{background:#6b7684;font-size:.75rem}a.road-badge:hover{filter:brightness(1.1)}.event-title{font-weight:650}.event-meta{color:var(--muted);font-size:.9rem}.event-figures{flex-wrap:wrap;gap:.5rem;margin-top:.15rem;display:flex}.tag{background:var(--bg);border-radius:6px;padding:.1rem .5rem;font-size:.8rem;font-weight:650}.tag-delay{background:var(--st-congested-bg);color:var(--st-congested)}.tag-closure{color:#fff;background:#1d2430}.tag-works{background:var(--st-works-bg);color:var(--st-works)}.empty{color:var(--muted);padding:.25rem 0}.chips{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.chips a{border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:.35rem .7rem;font-size:.92rem;text-decoration:none;display:inline-block}.chips a:hover{border-color:var(--link)}.cols{columns:2;column-gap:1.5rem;margin:0;padding:0;list-style:none}@media (min-width:720px){.cols{columns:3}}.cols li{break-inside:avoid;padding:.15rem 0}.route{flex-wrap:wrap;gap:.25rem .5rem;margin:0 0 .5rem;padding:0;font-weight:600;list-style:none;display:flex}.route li:not(:last-child):after{content:"→";color:var(--muted);margin-left:.5rem;font-weight:400}.points{border-left:3px solid var(--border);margin:0;padding:0;list-style:none}.points li{padding:.2rem 0 .2rem .75rem;position:relative}.points li:before{content:"";background:var(--surface);border:3px solid #9aa3ae;border-radius:50%;width:11px;height:11px;position:absolute;top:.7rem;left:-7px}table.data{border-collapse:collapse;width:100%;font-size:.92rem}table.data th,table.data td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.45rem .4rem}table.data th{color:var(--muted);font-size:.8rem;font-weight:650}.table-scroll{overflow-x:auto}.faq details{border-top:1px solid var(--border);padding:.6rem 0}.faq summary{cursor:pointer;font-weight:650}.faq details p{margin:.5rem 0 0}.map-box{border-radius:var(--radius);border:1px solid var(--border);background:#e9eef3;height:380px;position:relative;overflow:hidden}.map-box.tall{height:min(72vh,680px)}.map-legend{color:var(--muted);flex-wrap:wrap;gap:.75rem;margin-top:.4rem;font-size:.8rem;display:flex}.map-legend span:before{content:"";vertical-align:middle;background:var(--c);border-radius:2px;width:.8rem;height:.3rem;margin-right:.3rem;display:inline-block}.map-placeholder{height:100%;color:var(--muted);text-align:center;justify-content:center;align-items:center;padding:1rem;font-size:.9rem;display:flex}.map-popup{font:13px/1.4 system-ui,sans-serif}.search{gap:.5rem;display:flex}.search input{border:1px solid #c7ced6;border-radius:8px;flex:1;min-width:0;padding:.65rem .8rem;font-size:1rem}.btn{font:inherit;background:var(--brand);color:#fff;cursor:pointer;border:0;border-radius:8px;padding:.65rem 1rem;font-weight:650;text-decoration:none;display:inline-block}.btn.secondary{background:var(--surface);color:var(--brand);border:1px solid var(--brand)}.ad-slot{color:#8a94a1;background:#eef1f4;border-radius:8px;justify-content:center;align-items:center;min-height:100px;margin:1rem 0;font-size:.75rem;display:flex}.consent{background:var(--surface);border-top:1px solid var(--border);z-index:50;padding:1rem;position:fixed;inset:auto 0 0;box-shadow:0 -4px 16px #00000014}.consent .wrap{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.consent p{flex:320px;margin:0;font-size:.92rem}.site-footer{color:#cfd6df;background:#1d2430;padding:2rem 0;font-size:.9rem}.site-footer a{color:#e6ebf1}.site-footer .cols{margin-bottom:1rem}.prose{max-width:70ch}.prose h2{margin-top:1.5rem}.admin table.data td{font-variant-numeric:tabular-nums}.ok{color:var(--st-normal);font-weight:700}.warn{color:var(--st-slow);font-weight:700}.bad{color:var(--st-congested);font-weight:700}
