.traffic-guide{color-scheme:light;--ink:#182d40;--muted:#566879;--blue:#075ec9;--line:#d9e2eb;--soft:#f2f7fc}
.traffic-guide, .traffic-guide *{box-sizing:border-box}
.traffic-guide{color:var(--ink);background:#fff;font:16px/1.65 -apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",sans-serif}
.traffic-guide a{color:var(--blue);text-decoration:none}
.traffic-guide a:hover{text-decoration:underline}
.traffic-guide button, .traffic-guide input{font:inherit}
.traffic-guide button, .traffic-guide a, .traffic-guide input{touch-action:manipulation}
.traffic-guide button{border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);padding:10px 16px;cursor:pointer}
.traffic-guide button:hover:not(:disabled){background:var(--soft)}
.traffic-guide button:disabled{opacity:.5;cursor:default}
.traffic-guide :focus-visible{outline:3px solid #ed9a00;outline-offset:4px}
.traffic-guide [hidden]{display:none!important}
.traffic-guide .skip{position:absolute;left:20px;top:-100px;z-index:100;background:#fff;padding:12px}
.traffic-guide .skip:focus{top:10px}
.traffic-guide .header{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:auto;padding:22px 32px;border-bottom:1px solid var(--line)}
.traffic-guide .brand{font-size:22px;font-weight:800;color:var(--ink);line-height:1.3}
.traffic-guide .brand span{display:block;font-size:10px;letter-spacing:2px;color:var(--muted)}
.traffic-guide.guide{width:100%;max-width:1200px;margin:auto;padding:45px 32px 32px}
.traffic-guide .intro{margin-bottom:36px}
.traffic-guide .eyebrow{color:var(--blue);font-size:12px;letter-spacing:2px;font-weight:800;margin:0 0 12px}
.traffic-guide h1{font-size:40px;line-height:1.35;margin:0 0 14px;letter-spacing:-1px}
.traffic-guide h2{font-size:23px;line-height:1.45;margin:0 0 18px}
.traffic-guide h3{font-size:21px;line-height:1.45}
.traffic-guide .subtitle{font-size:20px;margin:0 0 8px}
.traffic-guide .muted{color:var(--muted);font-size:14px;margin:8px 0}
.traffic-guide .journey{background:var(--soft);border:1px solid var(--line);border-radius:18px;padding:28px;margin-bottom:38px}
.traffic-guide .origin{display:flex;gap:16px;align-items:center;margin-bottom:24px}
.traffic-guide .origin p{margin:0;color:var(--muted);font-size:14px}
.traffic-guide .step{border-radius:6px;color:var(--blue);background:#e3eefc;padding:4px 10px;font-size:13px;font-weight:700;display:inline-block}
.traffic-guide .fixed{margin-left:auto;font-size:13px;color:var(--muted)}
.traffic-guide .search label{font-size:14px;font-weight:700;display:block;margin-bottom:8px}
.traffic-guide .search-row{display:flex;gap:12px}
.traffic-guide .search input{min-width:0;flex:1;border:1px solid #a8bbcc;border-radius:10px;padding:12px 16px;background:white}
.traffic-guide .search button, .traffic-guide .primary{background:var(--blue);color:#fff;border-color:var(--blue);font-weight:700}
.traffic-guide .search button:hover{background:#054ca5}
.traffic-guide .section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}
.traffic-guide .section-heading h2{margin:0}
.traffic-guide .toggle{display:flex;gap:8px;align-items:center;font-size:14px;white-space:nowrap}
.traffic-guide .toggle input{width:18px;height:18px;accent-color:var(--blue)}
.traffic-guide .workspace{display:grid;grid-template-columns:minmax(0,1fr) 300px;border:1px solid var(--line);border-radius:18px;overflow:hidden}
.traffic-guide .map-column{min-width:0}
.traffic-guide .map{height:440px;background:#eef3f7;position:relative}
.traffic-guide .map>p{position:absolute;top:35%;left:8%;right:8%;text-align:center;z-index:5;padding:16px;background:#fff;border-radius:12px}
.traffic-guide .map-controls{display:flex;gap:10px;padding:16px 18px 0;flex-wrap:wrap}
.traffic-guide .map-controls button{font-size:14px}
.traffic-guide .map-hint{padding:0 18px;color:var(--muted);font-size:13px}
.traffic-guide .destination{padding:28px 22px;background:#f8fafc;border-left:1px solid var(--line)}
.traffic-guide .destination h3{margin:16px 0 10px}
.traffic-guide .destination p{font-size:14px;overflow-wrap:anywhere}
.traffic-guide .primary{display:block;text-align:center;padding:13px;border-radius:10px;margin:20px 0 12px;line-height:1.5;font-size:14px}
.traffic-guide .primary:hover{background:#054ca5;text-decoration:none}
.traffic-guide .destination button{width:100%;font-size:14px}
.traffic-guide .route-note{color:var(--muted);border-top:1px solid var(--line);padding-top:18px;margin-top:24px}
.traffic-guide .map-footer{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:16px;font-size:13px;color:var(--muted)}
.traffic-guide .map-footer p{margin:0}
.traffic-guide .map-footer button{margin-left:auto;font-size:13px}
.traffic-guide .map-footer #stale-notice{color:#835300}
.traffic-guide .before{padding-top:38px}
.traffic-guide .tips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.traffic-guide .tips p{margin:0;font-size:14px;color:var(--muted)}
.traffic-guide .tips strong{display:block;font-size:16px;color:var(--ink);margin-bottom:8px}
.traffic-guide .other{display:flex;gap:24px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:36px;padding-top:24px;font-size:14px}
.traffic-guide .footer{background:var(--soft);padding:24px;text-align:center;color:var(--muted);font-size:13px}
.traffic-guide .notice{padding:16px;background:var(--soft)}
.traffic-guide .traffic-marker{background:var(--blue);color:white;font:700 12px/1.4 sans-serif;white-space:nowrap;padding:7px 10px;border-radius:8px;border:2px solid white;box-shadow:0 2px 8px #0003}
.traffic-guide .traffic-marker.destination-marker{background:#b94312}
@media(max-width:760px){
.traffic-guide .header{padding:18px 22px}
.traffic-guide .brand{font-size:20px}
.traffic-guide .header>a:last-child{font-size:14px}
.traffic-guide.guide{padding:30px 22px}
.traffic-guide .intro{margin-bottom:25px}
.traffic-guide h1{font-size:29px}
.traffic-guide .subtitle{font-size:17px}
.traffic-guide h2{font-size:21px}
.traffic-guide .journey{padding:20px;margin-bottom:30px}
.traffic-guide .origin{align-items:flex-start;gap:10px;flex-wrap:wrap}
.traffic-guide .origin strong{font-size:16px}
.traffic-guide .fixed{margin-left:48px}
.traffic-guide .search-row{flex-direction:column;gap:10px}
.traffic-guide .search input{width:100%;font-size:16px}
.traffic-guide .search button{font-size:14px}
.traffic-guide .section-heading{align-items:flex-start;flex-direction:column;gap:8px}
.traffic-guide .workspace{grid-template-columns:minmax(0,1fr)}
.traffic-guide .map{height:340px}
.traffic-guide .destination{border-left:0;border-top:1px solid var(--line);padding:22px}
.traffic-guide .map-controls{gap:8px;padding:12px 12px 0}
.traffic-guide .map-controls button{font-size:13px;padding:10px}
.traffic-guide .map-hint{padding:0 12px}
.traffic-guide .map-footer button{margin-left:0}
.traffic-guide .tips{grid-template-columns:1fr;gap:20px}
.traffic-guide .other{gap:14px 22px}
}
.traffic-guide .languages{display:flex;justify-content:flex-end;gap:16px;font-size:14px;flex-wrap:wrap;margin-bottom:20px}
.traffic-guide .languages [aria-current]{font-weight:800;text-decoration:underline}
.traffic-guide .search-results{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:8px}
.traffic-guide .search-results button{width:100%;text-align:left;background:white;overflow-wrap:anywhere}
.traffic-guide .search-results strong, .traffic-guide .search-results span{display:block}
.traffic-guide .search-results span{font-size:13px;color:var(--muted);font-weight:400;margin-top:4px}
.traffic-guide .search-results button[aria-pressed=true]{border-color:var(--blue);background:#e3eefc}
.traffic-guide .route-result{background:#e3eefc;border-radius:12px;padding:16px;margin:16px 0}
.traffic-guide .route-result>span{font-size:13px}
.traffic-guide .route-result>strong{display:block;font-size:30px;line-height:1.5}
.traffic-guide .route-result p{margin:4px 0}
.traffic-guide #calculate-route{width:100%;cursor:pointer}
.traffic-guide #route-status, .traffic-guide #search-status, .traffic-guide #selection-error{font-size:14px;color:#835300}
html[lang=en] .traffic-guide h1{letter-spacing:normal}
html[lang=en] .traffic-guide .header .brand{font-size:20px}
.traffic-guide #calculate-route:hover:not(:disabled){background:#054ca5;color:#fff}
.traffic-guide .intro{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:16px 40px;align-items:center}
.traffic-guide .intro-copy{min-width:0;grid-column:1;grid-row:1;align-self:end}
.traffic-guide .mascot-guide{display:contents}
.traffic-guide .mascot-speech{grid-column:1;grid-row:2;align-self:start;position:relative;width:100%;max-width:560px;border:1px solid #c6dcef;border-radius:18px;padding:16px 20px;background:var(--soft);font-size:14px;line-height:1.6}
.traffic-guide .mascot-speech::after{content:"";position:absolute;right:-9px;top:30px;width:16px;height:16px;background:var(--soft);border-right:1px solid #c6dcef;border-top:1px solid #c6dcef;transform:rotate(45deg)}
.traffic-guide .mascot-speech strong{display:block;font-size:16px;color:var(--blue);line-height:1.5}
.traffic-guide .mascot-speech p{margin:6px 0 0;color:var(--muted)}
.traffic-guide .mascot-art{grid-column:2;grid-row:1 / span 2;display:block;width:100%;max-width:430px;height:auto;align-self:center;margin:0}
@media(max-width:760px){
.traffic-guide .intro{grid-template-columns:minmax(0,1fr);gap:16px}
.traffic-guide .intro-copy{grid-column:auto;grid-row:auto;align-self:auto}
.traffic-guide .mascot-guide{display:grid;grid-template-columns:112px minmax(0,1fr);gap:10px;align-items:center}
.traffic-guide .mascot-art{grid-column:1;grid-row:1;margin:0;width:112px}
.traffic-guide .mascot-speech{grid-column:2;grid-row:1;padding:12px;border-radius:14px;font-size:12px}
.traffic-guide .mascot-speech strong{font-size:14px}
.traffic-guide .mascot-speech::after{left:-7px;right:auto;top:50%;width:12px;height:12px;border-right:0;border-top:0;border-bottom:1px solid #c6dcef;border-left:1px solid #c6dcef;transform:rotate(45deg)}
}
.traffic-guide{text-align:left}.traffic-guide p{line-height:1.65}.traffic-guide button{height:auto}.traffic-guide .search input{height:auto}.traffic-guide .map img{max-width:none}

.traffic-guide .access-panel{background:#f1f6ff;border:1px solid #c9dafa;border-radius:18px;padding:24px 28px;margin:0 0 28px}.traffic-guide .access-panel h2{margin:0 0 10px}.traffic-guide .access-panel .primary{display:inline-block;margin:12px 0 2px}.traffic-guide .access-panel p{margin:10px 0}@media(max-width:760px){.traffic-guide .access-panel{padding:20px}.traffic-guide .access-panel .primary{display:block}}

/* Related guides: explain each destination and provide an easy full-card target. */
.kg-related{padding-top:36px;border-top:1px solid #d6e5ef}.kg-related .kg-related-intro{word-break:keep-all;margin:12px 0 0;color:#58718a;font-size:16px;line-height:1.7}.kg-related .kg-other{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px}.kg-related .kg-guide-link{display:flex;align-items:flex-start;gap:18px;padding:26px;border:1px solid #d1e2ed;border-radius:16px;background:#fff;text-decoration:none;color:#233e53;min-width:0}.kg-guide-icon{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:13px;background:#eaf6fc;color:#0089b3}.kg-guide-icon svg{width:26px;height:26px}.kg-guide-link-copy{display:flex;flex-direction:column;gap:10px;min-width:0}.kg-guide-link-copy strong{font-size:20px;line-height:1.4}.kg-guide-link-copy>span{color:#58718a;font-size:15px;line-height:1.7;word-break:keep-all}.kg-guide-link-copy .kg-guide-link-action{margin-top:4px;color:#007fa9;font-weight:700}.kg-guide-link-action>span{margin-left:6px}.kg-related .kg-guide-link:hover{border-color:#67b2d3;background:#f7fcff}.kg-related .kg-guide-link:focus-visible{outline:3px solid #0089b3;outline-offset:4px}@media(max-width:800px){.kg-related{padding-top:28px}.kg-related .kg-other{grid-template-columns:1fr;gap:14px;margin-top:20px}.kg-related .kg-guide-link{padding:22px 18px;gap:14px}.kg-guide-link-copy strong{font-size:18px}.kg-related .kg-related-intro{font-size:15px}.kg-guide-icon{flex-basis:42px;width:42px;height:42px}}

.kg-related{margin-top:48px}.kg-related>h2{margin:0;color:#233e53;font-size:28px;font-weight:700;line-height:1.45}.kg-related p{overflow-wrap:normal}.kg-related .kg-guide-link{font-weight:400}.kg-related .kg-guide-link-copy strong{font-weight:700}.traffic-external-links{display:flex;flex-wrap:wrap;margin-top:24px}.traffic-external-links a{display:inline-flex;align-items:center;min-height:44px;padding:10px 16px;border:1px solid #d1e2ed;border-radius:10px;color:#007fa9;background:#fff;text-decoration:none;font-weight:700}.traffic-external-links a:focus-visible{outline:3px solid #0089b3;outline-offset:4px}@media(max-width:800px){.kg-related{margin-top:36px}.kg-related>h2{font-size:24px}}

.kg-related .kg-guide-link:only-child{grid-column:1/-1}
