.tram-station-frame{position:relative;width:2px;height:2px;overflow:visible}
.tram-station-hit{position:absolute;left:1px;top:1px;transform:translate(-50%,-50%);width:30px;height:30px;border:0;background:transparent;border-radius:50%;padding:0;display:grid;place-items:center;cursor:pointer;touch-action:manipulation;font:700 11px/1.3 Arial,"Noto Sans KR",sans-serif;color:#63390c;overflow:visible}
.tram-station-dot{width:8px;height:8px;box-sizing:border-box;background:#fff7df;border:2px solid #a16207;border-radius:50%;box-shadow:0 1px 3px #0004;pointer-events:none}
.tram-station-hit.is-active .tram-station-dot{width:12px;height:12px;background:#a16207;border-color:#fff;box-shadow:0 0 0 2px #a16207}
.tram-station-label{position:absolute;left:29px;top:0;max-width:220px;overflow:hidden;text-overflow:ellipsis;background:#fffdf7ed;border:1px solid #d4bb8c;border-radius:4px;padding:3px 5px;white-space:nowrap;box-shadow:0 1px 3px #0002;pointer-events:none}
.tram-station-hit:focus-visible{outline:3px solid #1464f4;outline-offset:1px;background:#ffffffab}
#map[data-tram-stations-zooming] .tram-station-label{visibility:hidden}
.tram-stations-key{position:absolute;left:14px;bottom:47px;z-index:61;background:#fffaf0ed;border:1px solid #d4bb8c;border-radius:7px;box-shadow:0 2px 10px #0001;padding:7px 10px;font-size:11px;color:#713f12;max-width:calc(100% - 105px);pointer-events:none}
.tram-stations-key[hidden]{display:none}
.tram-station-popup{position:absolute;left:14px;bottom:82px;z-index:100;width:min(330px,calc(100% - 100px));box-sizing:border-box;background:#fff;border:1px solid #d4bb8c;border-radius:12px;box-shadow:0 8px 30px #0b2d5c30;padding:14px;color:#17385c;font-size:12px;line-height:1.55;max-height:calc(100% - 170px);overflow:auto;overscroll-behavior:contain;touch-action:pan-y}
.tram-station-popup-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.tram-station-popup-head strong{display:block;font-size:16px;line-height:1.4;overflow-wrap:anywhere}
.tram-station-popup small{color:#65758a;font-size:10px}
.tram-station-popup p{margin:9px 0;overflow-wrap:anywhere}
.tram-station-close{flex:0 0 32px;width:32px;height:32px;border:1px solid #d8e2ee;border-radius:8px;background:#f6f8fb;font-size:23px;line-height:1;color:#17385c;cursor:pointer}
.tram-station-source a{display:block;color:#1464f4;text-decoration:underline;text-underline-offset:3px}
.tram-station-popup a:focus-visible,.tram-station-close:focus-visible{outline:3px solid #1464f4;outline-offset:2px}
@media(max-width:899px){.tram-station-hit{width:34px;height:34px}.tram-station-label{left:31px;top:2px;font-size:10px}.tram-station-popup{left:10px;width:calc(100% - 90px);padding:12px;bottom:77px}.tram-stations-key{left:10px;bottom:45px;font-size:10px;max-width:calc(100% - 96px)}}
@media(prefers-reduced-motion:reduce){.tram-station-hit,.tram-station-popup{scroll-behavior:auto}}
