.bus-tabs{gap:var(--s-2);flex-wrap:wrap;display:flex}.bus-period{margin-top:var(--s-2);color:var(--c-text-2);font-size:13px}.bus-next-grid{gap:var(--s-3);margin-top:var(--s-3);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.bus-next{padding:var(--s-4);border:1px solid var(--c-line);border-left:3px solid var(--c-accent);border-radius:var(--r-lg);background:var(--c-bg-raised)}.bus-next--soon{border-left-color:var(--c-warn)}.bus-next-label{color:var(--c-text-3);font-size:12.5px;font-weight:700}.bus-next-time{margin-top:var(--s-1);color:var(--c-accent);font-variant-numeric:tabular-nums;font-size:22px;font-weight:800;line-height:1.25}.bus-next--soon .bus-next-time{color:var(--c-warn)}.bus-next-sub{color:var(--c-text-2);margin-top:2px;font-size:12.5px}.bus-details{margin-top:var(--s-3);border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-bg-raised);overflow:hidden}.bus-details>summary{padding:var(--s-3) var(--s-4);color:var(--c-accent);cursor:pointer;font-size:13.5px;font-weight:700}.bus-table-wrap{padding:0 var(--s-3) var(--s-3);overflow-x:auto}.bus-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;min-width:380px;font-size:13.5px}.bus-table th,.bus-table td{padding:var(--s-2) var(--s-3);text-align:center;border-bottom:1px solid var(--c-line-soft)}.bus-table th{color:var(--c-text-3);border-bottom-color:var(--c-line);font-size:12.5px;font-weight:700}.bus-table tbody tr:last-child td{border-bottom:none}.bus-meta,.bus-message{margin-top:var(--s-3);color:var(--c-text-3);font-size:12.5px}.bus-message--error{color:var(--c-warn);font-weight:600}@media (width<=640px){.bus-next{padding:var(--s-3)}.bus-next-time{font-size:19px}.bus-table{min-width:340px}}:root{--sh-node:16px;--sh-node-ring:4px;--sh-map-h:460px}.sh-head-meta{gap:var(--s-1) var(--s-4);margin-top:var(--s-3);flex-wrap:wrap;display:flex}.sh-visual{text-align:center}.sh-route{aspect-ratio:5;width:100%;max-width:800px;margin:0 auto;position:relative}.sh-svg{width:100%;height:100%}.sh-road{fill:var(--c-line-soft);stroke:var(--c-line-soft);stroke-width:30px;stroke-linecap:round}.sh-dash{stroke:var(--c-line);stroke-width:2px;stroke-dasharray:8 4}.sh-arc{fill:none;stroke:var(--c-accent);stroke-width:2px;stroke-dasharray:6 6;opacity:.6}.route-node{width:var(--sh-node);height:var(--sh-node);border:var(--sh-node-ring) solid var(--c-line);background:var(--c-bg-raised);z-index:10;transition:border-color .3s var(--ease), background .3s var(--ease);border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.route-node.active{border-color:var(--c-accent);background:var(--c-accent)}.node-label{white-space:nowrap;color:var(--c-text-2);font-size:12.5px;font-weight:600;position:absolute;top:28px;left:50%;transform:translate(-50%)}.sh-status{color:var(--c-accent);font-size:14px;font-weight:700}.moving-bus{z-index:20;color:var(--c-accent);transition:left 1s linear, top 1s linear, transform .5s var(--ease);margin-top:-8px;font-size:28px;animation:2s ease-in-out infinite sh-bus-pulse;position:absolute;transform:translate(-50%,-100%)}.moving-bus.returning{animation:2s ease-in-out infinite sh-bus-pulse-back;transform:translate(-50%,-100%)scaleX(-1)}@keyframes sh-bus-pulse{0%,to{transform:translate(-50%,-100%)scale(1)}50%{transform:translate(-50%,-100%)scale(1.15)}}@keyframes sh-bus-pulse-back{0%,to{transform:translate(-50%,-100%)scaleX(-1)scale(1)}50%{transform:translate(-50%,-100%)scaleX(-1)scale(1.15)}}.sh-arrival-title{font-size:15px;font-weight:700}.sh-live{animation:1.5s infinite sh-blink}@keyframes sh-blink{0%,to{opacity:.65}50%{opacity:1}}.sh-time{letter-spacing:-.03em;font-size:30px;font-weight:800;line-height:1.1}.sh-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.sh-panel>.sh-panel-title{margin:var(--s-4) var(--s-4) 0}.sh-panel>.sh-panel-desc{margin:var(--s-1) var(--s-4) var(--s-3)}.sh-panel>.list-rows{margin-top:0}.sh-stop{flex-direction:column;align-items:stretch;gap:2px}.sh-stop-head{align-items:center;gap:var(--s-2);flex-wrap:wrap;font-size:14px;font-weight:600;display:flex}.sh-stop-btn{text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:stretch;gap:2px;width:100%;padding:0;display:flex}.sh-stop-btn:hover .sh-stop-head{color:var(--c-accent)}.sh-panel-plain .data-table th{width:40%;color:var(--c-text-3)}.sh-panel-plain .btn{align-self:flex-start}.sh-map{width:100%;height:var(--sh-map-h);border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-bg-sunken);overflow:hidden}@media (width<=768px){:root{--sh-map-h:320px}.sh-visual{overflow:hidden}.sh-route{width:180%;margin-left:-70%}.sh-svg{-webkit-mask-image:linear-gradient(90deg,#0000 40%,#000 44%);mask-image:linear-gradient(90deg,#0000 40%,#000 44%)}#node-a-dong,#node-m-dong{display:none!important}.node-label{font-size:10.5px;top:22px}.sh-time{font-size:26px}}@media (prefers-reduced-motion:reduce){.moving-bus,.moving-bus.returning,.sh-live,.route-node{transition:none;animation:none}}.sh-map--fallback{height:auto;padding:var(--s-4)}.sh-map-fallback>*+*{margin-top:var(--s-3)}.sh-map-links{gap:var(--s-2);flex-direction:column;font-size:13.5px;font-weight:600;display:flex}
