.portal-traffic-page{max-width:1160px;margin:0 auto;padding:1.5rem 1.25rem 3rem}.portal-traffic-map-row{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:1.25rem;align-items:start;margin-bottom:1.5rem}.portal-traffic-map-main{min-width:0}.portal-traffic-map-main .traffic-map-section{margin-bottom:0}.portal-traffic-map-unavailable{display:flex;align-items:center;justify-content:center;min-height:320px;padding:1.5rem;border-radius:12px;border:1px dashed var(--border);color:var(--muted);text-align:center;line-height:1.5}.portal-traffic-aside{display:flex;flex-direction:column;gap:1rem;position:sticky;top:88px}.portal-traffic-aside-card{padding:1rem 1.1rem;border-radius:12px;border:1px solid var(--border);background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.05)}.dark .portal-traffic-aside-card{background:#0f172a}.portal-traffic-aside-card--score{text-align:center}.portal-traffic-aside-label{margin:0 0 .5rem;font-size:.875rem;color:var(--muted)}.portal-traffic-aside-score{display:flex;align-items:baseline;justify-content:center;gap:.35rem;margin:0}.portal-traffic-aside-score .portal-traffic-level{font-size:2.5rem;line-height:1;min-width:3rem;min-height:3rem;padding:.35rem .65rem}.portal-traffic-aside-score-max{font-size:1rem;color:var(--muted)}.portal-traffic-aside-hint{margin:.75rem 0 0;font-size:.8125rem;color:var(--muted);line-height:1.45}.portal-traffic-aside-title{margin:0 0 .75rem;font-size:1rem;font-weight:700}.portal-traffic-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem;font-size:.875rem}.portal-traffic-legend li{display:flex;align-items:center;gap:.55rem}.portal-traffic-legend-swatch{width:1.25rem;height:.5rem;border-radius:3px;flex-shrink:0}.portal-traffic-legend-swatch--green{background:#22c55e}.portal-traffic-legend-swatch--yellow{background:#eab308}.portal-traffic-legend-swatch--red{background:#ef4444}.portal-traffic-widgets{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.portal-traffic-widget-link{display:flex;flex-direction:column;gap:.15rem;padding:.55rem .65rem;border-radius:8px;text-decoration:none;color:inherit;transition:background .15s ease}.portal-traffic-widget-link:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.portal-traffic-widget-name{font-size:.8125rem;font-weight:600;color:var(--accent)}.portal-traffic-widget-value{font-size:.875rem;color:var(--text);line-height:1.35}.portal-traffic-news{margin-top:2rem}.portal-traffic-news-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1rem}.portal-traffic-news-head h2{margin:0;font-size:1.25rem}.portal-traffic-news-all{font-size:.875rem;color:var(--accent);text-decoration:none;white-space:nowrap}.portal-traffic-news-all:hover{text-decoration:underline}.portal-traffic-news-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:stretch}.portal-traffic-news-grid>li{display:flex;align-items:stretch}.portal-traffic-news-card{display:flex;flex-direction:column;flex:1 1 auto;width:100%;min-height:100%;border-radius:12px;border:1px solid var(--border);background:#fff;overflow:hidden;transition:box-shadow .15s ease,transform .15s ease}.dark .portal-traffic-news-card{background:#0f172a}.portal-traffic-news-card:hover{box-shadow:0 10px 28px rgba(15,23,42,.08);transform:translateY(-1px)}.portal-traffic-news-card-link{display:grid;grid-template-rows:auto minmax(0,1fr);flex:1 1 auto;min-height:100%;text-decoration:none;color:inherit}.portal-traffic-news-card-media{aspect-ratio:16/10;background:#e2e8f0;overflow:hidden}.portal-traffic-news-card-media img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.portal-traffic-news-card-media--placeholder{background:linear-gradient(135deg,#e2e8f0,#cbd5e1)}.portal-traffic-news-card-body{box-sizing:border-box;padding:.85rem 1rem 1rem;display:flex;flex-direction:column;justify-content:space-between;min-height:0}.portal-traffic-news-card-title{flex:0 0 3.796875rem;height:3.796875rem;overflow:hidden}.portal-traffic-news-card-body h3,.portal-traffic-news-card-title h3{margin:0;font-size:.9375rem;line-height:1.35;font-weight:600;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.portal-traffic-news-card-body time,.portal-traffic-news-card-date{flex:0 0 auto;margin:0;padding-top:.5rem;font-size:.75rem;line-height:1.2;color:var(--muted)}.portal-traffic-headline{margin-bottom:1.25rem}.portal-traffic-breadcrumbs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;color:var(--muted);font-size:.875rem}.portal-traffic-breadcrumbs a{color:var(--accent);text-decoration:none}.portal-traffic-headline h1{font-size:clamp(1.5rem,3vw,2rem);line-height:1.2;margin-bottom:.5rem}.portal-traffic-headline h1 span{color:var(--accent)}.portal-traffic-score-line{display:flex;align-items:center;gap:.5rem;font-size:1rem;color:var(--text)}.portal-traffic-note{margin-top:.5rem;color:var(--muted);font-size:.875rem}.portal-traffic-note--error{color:#b91c1c}.traffic-map-section{position:relative;width:100%;margin-bottom:1.5rem;border-radius:12px;overflow:hidden;border:1px solid var(--border);background:#fff}.traffic-map{width:100%;height:clamp(360px,55vh,640px)!important;min-height:clamp(360px,55vh,640px)!important}.traffic-map-status{position:absolute;left:1rem;bottom:1rem;margin:0;padding:.35rem .65rem;border-radius:8px;background:rgba(255,255,255,.92);color:var(--muted);font-size:.875rem}.traffic-map-status--error{color:#b91c1c}.portal-traffic-description h2{font-size:1.25rem;margin-bottom:.75rem}.portal-traffic-description p{color:var(--muted);line-height:1.65}@media (max-width:1024px){.portal-traffic-map-row{grid-template-columns:1fr}.portal-traffic-aside{position:static;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.portal-traffic-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.portal-traffic-page{padding-inline:1rem}.portal-traffic-news-grid{grid-template-columns:1fr}}