/* Korea123 map — measured from map.kakao.com (2026-10): panel 390px at 12px inset, header #206DEF with 18px top radius,
   tab pill #0058CD r3, search 46px 1px #4CA3FF r3, white pill chips 36px with 0 1px 4px shadow, 36px tool column with 8px labels */
:root{
  --blue:#206DEF; --blue-tab:#0058CD; --blue-line:#4CA3FF; --link:#1A6DD8; --pin:#3D7DF5;
  --ink:#222; --text:#333; --sub:#666; --muted:#888; --line:#E6E6E6; --gap:#F1F1F1; --red:#E5302F; --green:#0B9C4A;
  --sh:0 0 4px rgba(0,0,0,.2); --sh-btn:0 1px 4px rgba(0,0,0,.2); --fs:14px;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0;height:100%;overflow:hidden;color:var(--text);font:400 var(--fs)/1.45 'IBM Plex Sans','IBM Plex Sans KR',system-ui,sans-serif}
body.big{--fs:16px}
button{font:inherit;color:inherit}
.sr{position:absolute;left:-9999px}
svg:not(.leaflet-zoom-animated){flex:0 0 auto;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

#map{position:fixed;inset:0;background:#F2EFE9}
.leaflet-layer.light{filter:grayscale(.9) brightness(1.06) contrast(.92)}
.leaflet-control-scale{margin:0 64px 14px 0!important}
.leaflet-control-scale-line{border:1px solid #333;border-top:0;background:transparent;font-size:10px;color:#222;text-shadow:0 0 2px #fff}
.leaflet-control-attribution{font-size:10px}

/* ── left panel ── */
.panel{position:fixed;z-index:1000;left:12px;top:12px;bottom:12px;width:390px;background:#fff;border-radius:18px;box-shadow:var(--sh);display:flex;flex-direction:column;transition:transform .25s ease}
.panel.hidden{transform:translateX(calc(-100% - 12px))}
.p-top{background:var(--blue);border-radius:18px 18px 0 0;color:#fff}
.p-head{display:flex;align-items:center;gap:8px;height:61px;padding:0 16px 0 14px}
.p-menu{width:32px;height:32px;margin-left:2px;border:0;background:transparent;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.p-menu svg{width:24px;height:24px;stroke-width:2}
.p-logo{color:#fff;text-decoration:none;font-size:21px;font-weight:500;letter-spacing:-.6px;margin-left:6px}
.p-logo b{font-weight:700}
.p-logo span{font-weight:700;margin-left:1px}
.p-grab{display:none}
.tabs{display:flex;justify-content:space-between;height:54px;padding:0 20px 12px}
.tab{height:30px;padding:0 11px;border:0;border-radius:3px;background:transparent;color:#fff;font-size:15px;font-weight:500;cursor:pointer;white-space:nowrap}
.tab[aria-selected="true"]{background:var(--blue-tab);font-weight:600}
.p-search{padding:20px 20px 0}
.search{display:flex;align-items:center;height:46px;border:1px solid var(--blue-line);border-radius:3px;background:#fff;margin:0}
.search input{flex:1;min-width:0;height:44px;border:0;outline:0;padding:0 0 0 16px;font:700 16px/1 inherit;font-family:inherit;color:#000;background:transparent}
.search input::-webkit-search-cancel-button{display:none}
.s-go{width:44px;height:44px;border:0;background:transparent;color:#888;cursor:pointer;display:flex;align-items:center;justify-content:center}
.p-body{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin}
.p-foot{display:flex;justify-content:center;gap:26px;height:34px;align-items:center;background:#F8F8F8;border-top:1px solid var(--line);border-radius:0 0 18px 18px;font-size:12.5px}
.p-foot a{color:#666;text-decoration:none}
.p-foot b{color:#333;font-weight:600}
.p-collapse{position:absolute;right:-22px;top:50%;width:22px;height:48px;margin-top:-24px;border:0;border-radius:0 6px 6px 0;background:#fff;box-shadow:2px 0 4px rgba(0,0,0,.15);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--blue);padding:0}
.p-collapse svg{width:14px;height:14px;stroke-width:3;fill:currentColor}
.panel.hidden .p-collapse svg{transform:rotate(180deg)}

/* home sections */
.sec{padding:20px 26px;border-bottom:1px solid var(--line)}
.sec:last-child{border-bottom:0}
.sec h3{margin:0 0 14px;font-size:15px;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:2px}
.sec h3 svg{width:16px;height:16px;stroke-width:2.4}
.here{display:flex;justify-content:space-between;align-items:baseline}
.here b{font-size:15px;color:var(--ink)}
.here a{font-size:12px;color:#999;text-decoration:none}
.here-sub{font-size:12px;color:#444;margin-top:6px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.here-sub em{font-style:normal;font-weight:700;font-size:13px;color:#000}
.here-sub i{width:1px;height:10px;background:#ccc}
.here-sub .ok{color:var(--link)}
.grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px 0}
.gbtn{border:0;background:transparent;display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer;font-size:11px;color:#555;padding:0;line-height:1.2;text-align:center}
.gbtn i{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #E2E2E2;color:#333}
.gbtn i svg{width:17px;height:17px;stroke-width:2}
.gbtn:hover i{border-color:#bbb}
.myp{list-style:none;margin:0;padding:0}
.myp li button,.myp li span{display:flex;align-items:center;gap:8px;width:100%;padding:7px 0;border:0;background:transparent;text-align:left;color:#999;font-size:13px;cursor:pointer}
.myp li button{color:var(--text)}
.myp i{width:18px;height:18px;border-radius:50%;background:#C8C8C8;display:flex;align-items:center;justify-content:center;color:#fff;flex:0 0 auto}
.myp i svg{width:11px;height:11px;stroke-width:2.6}

/* result view (after a search or a category) */
.subtabs{display:flex;align-items:stretch;border-bottom:1px solid var(--line);padding:0 8px 0 14px;margin-top:6px}
.subtabs .st-scroll{flex:1;display:flex;overflow-x:auto;scrollbar-width:none}
.st{flex:0 0 auto;height:44px;padding:0 12px;border:0;border-bottom:2px solid transparent;background:transparent;color:#555;font-size:14px;cursor:pointer;white-space:nowrap}
.st.on{border-bottom-color:var(--blue);color:#1257D2;font-weight:700}
.st-x{width:36px;border:0;background:transparent;cursor:pointer;color:#333;display:flex;align-items:center;justify-content:center}
.st-x svg{width:18px;height:18px;stroke-width:2.2}
.rhead{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:8px solid var(--gap)}
.region{height:38px;padding:0 10px 0 12px;border:1px solid #D8D8D8;border-radius:3px;display:flex;align-items:center;gap:6px;font-size:13.5px;color:#222;white-space:nowrap;background:#fff}
.region svg{width:14px;height:14px}
.rhead p{margin:0;font-size:13.5px;color:#333}
.rhead p b{color:var(--link);font-weight:500}
.rcount{display:flex;justify-content:space-between;align-items:baseline;padding:20px 20px 6px}
.rcount b{font-size:16px;color:var(--ink)}
.rcount b small{font-size:15px;font-weight:400;color:#555;margin-left:4px}
.sorts{font-size:12px;color:#999}
.sorts button{border:0;background:transparent;padding:0 2px;color:#888;cursor:pointer;font-size:12px}
.sorts button.on{color:var(--link);font-weight:600}
.rows{list-style:none;margin:0;padding:0}
.row{position:relative;padding:16px 20px 16px 20px;border-bottom:1px solid var(--line);cursor:pointer}
.row:hover{background:#F8FAFF}
.row.sel{background:#EEF4FF}
.row-t{display:flex;align-items:baseline;gap:6px;padding-right:86px;line-height:1.3}
.row-l{font-size:18px;font-weight:700;color:var(--pin);width:16px;flex:0 0 auto}
.row-t b{font-size:17px;font-weight:700;color:#000}
.row-c{font-size:13px;color:#888;white-space:nowrap}
.row-a{font-size:13px;color:#333;margin-top:6px;padding-left:22px}
.row-s{font-size:12.5px;color:#888;margin-top:3px;padding-left:22px}
.row-d{font-size:13px;margin-top:6px;padding-left:22px;display:flex;gap:6px;align-items:center;flex-wrap:wrap;color:#444}
.row-d .tag{font-size:11px;border:1px solid #CFCFCF;border-radius:2px;padding:0 4px;color:#555}
.row-d .tag.live{border-color:#F4B3AD;color:var(--red)}
.row-d .tag.k{border-color:#A9D8C2;color:#0B7A55}
.row-m{font-size:13px;margin-top:6px;padding-left:22px}
.row-m a,.row-m span{color:var(--link);text-decoration:none}
.row-btns{position:absolute;right:20px;top:14px;display:flex;gap:6px}
.row-btns button{width:32px;height:32px;border:1px solid #D5D5D5;border-radius:3px;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#555;padding:0}
.row-btns button svg{width:17px;height:17px}
.row-btns button.on{color:var(--blue);border-color:var(--blue-line)}
.row-btns button.on svg{fill:currentColor}
.pager{display:flex;justify-content:center;gap:2px;padding:18px 0 22px}
.pager button{min-width:28px;height:28px;border:0;background:transparent;color:#555;cursor:pointer;font-size:14px;border-radius:3px}
.pager button.on{color:var(--link);font-weight:700}
.pager button:disabled{color:#ccc;cursor:default}
.empty{padding:40px 20px;text-align:center;color:var(--muted)}
.skel{height:96px;margin:12px 20px;border-radius:4px;background:linear-gradient(90deg,#f6f6f6,#ececec,#f6f6f6);background-size:200% 100%;animation:sk 1.2s infinite}
@keyframes sk{to{background-position:-200% 0}}

/* detail */
.d-bar{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:2}
.d-back{height:32px;padding:0 10px 0 6px;border:1px solid #D5D5D5;border-radius:3px;background:#fff;display:inline-flex;align-items:center;gap:2px;cursor:pointer;font-size:13px}
.d-back svg{width:16px;height:16px}
.d-url{flex:1;min-width:0;font:500 11.5px ui-monospace,Menlo,monospace;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none}
.d-save{width:32px;height:32px;border:1px solid #D5D5D5;border-radius:3px;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#555;padding:0}
.d-save svg{width:17px;height:17px}
.d-save.on{color:var(--blue);border-color:var(--blue-line)}.d-save.on svg{fill:currentColor}
.d-wrap{padding:16px 20px 22px}

/* directions */
.rt-box{border:1px solid #D5D5D5;border-radius:3px;overflow:hidden}
.rt-pt{display:flex;align-items:center;gap:10px;padding:12px 14px;font-size:14px}
.rt-pt+.rt-pt{border-top:1px solid var(--line)}
.rt-pt i{width:12px;height:12px;border-radius:50%;flex:0 0 auto}
.rt-pt span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rt-pt button{border:1px solid #D5D5D5;background:#fff;border-radius:3px;padding:3px 8px;font-size:12px;color:var(--link);cursor:pointer}
.modes{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);margin:16px -26px 0}
.mode{height:44px;border:0;border-bottom:2px solid transparent;background:#fff;cursor:pointer;color:#555}
.mode.on{border-bottom-color:var(--blue);color:#1257D2;font-weight:700}
.rt-res{display:flex;align-items:baseline;gap:10px;margin:16px 0 4px}
.rt-res b{font-size:24px;color:#000}
.rt-res span{color:var(--sub)}
.rt-note{font-size:12.5px;color:var(--muted);line-height:1.45;margin:6px 0 14px}
.go{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.go a{height:44px;border-radius:3px;display:flex;align-items:center;justify-content:center;font-weight:700;text-decoration:none}
.go .naver{background:#03C75A;color:#fff}
.go .kakao{background:#FEE500;color:#191600}
.hint{font-size:13.5px;color:var(--sub);line-height:1.5;margin:0}
.allm .rt-pt{padding:9px 0}
.allm .rt-pt b{color:#000}

/* my */
.mylinks{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mylinks a,.mylinks button{height:42px;border:1px solid #D5D5D5;border-radius:3px;background:#fff;display:flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;color:var(--ink);cursor:pointer;font-size:13.5px}
.mylinks .help{background:var(--red);border-color:var(--red);color:#fff;font-weight:700}

/* ── chips on the map ── */
.topchips{position:fixed;z-index:900;left:418px;right:130px;top:12px;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:2px 4px 6px}
body.poff .topchips{left:16px}
.chip{flex:0 0 auto;height:36px;padding:0 14px 0 10px;border:0;border-radius:99px;background:#fff;box-shadow:var(--sh-btn);display:inline-flex;align-items:center;gap:5px;font-size:14px;color:#000;cursor:pointer;white-space:nowrap}
.chip svg{width:18px;height:18px;stroke-width:2.2}
.chip:hover{background:#F7F7F7}
.chip.on{background:#3B3B3B;color:#fff}
.chip.more{width:36px;padding:0;justify-content:center}
.chip.more svg{width:18px;height:18px}
.topright{position:fixed;z-index:900;right:12px;top:14px;display:flex;gap:8px}
.rbtn{height:36px;min-width:36px;border:0;border-radius:99px;background:#fff;box-shadow:var(--sh-btn);display:flex;align-items:center;justify-content:center;gap:4px;cursor:pointer;color:#333;padding:0}
.rbtn svg{width:19px;height:19px}
.rbtn.lang{padding:0 12px 0 9px;font-weight:700;font-size:13px}

/* ── right tool column ── */
.tools{position:fixed;z-index:900;right:12px;top:196px;display:flex;flex-direction:column;gap:10px}
.zooms{position:fixed;z-index:900;right:12px;bottom:36px;display:flex;flex-direction:column;gap:10px}
.tgroup{display:flex;flex-direction:column;background:#fff;border-radius:3px;box-shadow:var(--sh-btn);overflow:hidden}
.tool{width:36px;height:40px;border:0;border-bottom:1px solid #EEE;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;cursor:pointer;color:#333;text-decoration:none;padding:0}
.tool:last-child{border-bottom:0}
.tool svg{width:17px;height:17px}
.tool span{font-size:8px;font-weight:700;color:#111;line-height:1}
.tool:hover{background:#F6F6F6}
.tool.on{color:var(--blue)}
.tool.help,.tool.help span{color:var(--red)}
.zbtn{width:36px;height:36px;border:0;border-bottom:1px solid #EEE;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#333;padding:0}
.zbtn:last-child{border-bottom:0}
.zbtn svg{width:18px;height:18px}
.zbtn:hover{background:#F6F6F6}

/* ── bottom of map ── */
.wx{position:fixed;z-index:900;left:414px;bottom:12px;padding:8px 14px 7px;border-radius:8px;background:#fff;box-shadow:var(--sh-btn);display:flex;flex-direction:column;gap:1px;min-width:80px}
.wx b{font-size:18px;font-weight:500;color:#000;display:flex;align-items:center;gap:5px}
.wx b svg{width:20px;height:20px;color:#F2B01E;fill:#FFC93C;stroke-width:1.4}
.wx small{font-size:10.5px;color:#555;display:flex;align-items:center;gap:4px}
.wx small i{width:7px;height:7px;border-radius:50%;background:#2FB45A}
body.poff .wx{left:14px}
.addr{position:fixed;z-index:850;left:calc(50% + 200px);bottom:18px;transform:translateX(-50%);font-size:14px;font-weight:700;color:#111;text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 3px #fff;pointer-events:none;white-space:nowrap}
body.poff .addr{left:50%}
.search-area{position:fixed;z-index:900;left:calc(50% + 200px);bottom:44px;transform:translateX(-50%);height:38px;padding:0 16px 0 12px;border:0;border-radius:99px;background:#3C8AF7;color:#fff;box-shadow:var(--sh-btn);font-weight:700;font-size:14px;cursor:pointer;display:flex;align-items:center;gap:5px}
.search-area svg{width:17px;height:17px;stroke-width:2.4}
body.poff .search-area{left:50%}
.toast{position:fixed;z-index:3000;left:50%;bottom:100px;transform:translateX(-50%);background:rgba(0,0,0,.8);color:#fff;padding:10px 16px;border-radius:4px;font-size:13.5px}

/* markers: blue drop with letter (selected = red, larger) */
.pin{position:relative;width:26px;height:36px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}
.pin>svg{position:absolute;inset:0;z-index:0;width:26px;height:36px;stroke:#fff;stroke-width:1.5}
.pin>svg path{fill:var(--pin)}
.pin em{position:absolute;z-index:1;display:flex;justify-content:center;left:0;right:0;top:4px;text-align:center;font:700 13px/18px 'IBM Plex Sans',sans-serif;color:#fff;font-style:normal}
.pin em svg{position:static;width:13px;height:13px;margin-top:2px;stroke:#fff;stroke-width:2.4}
.pin.sel{transform:scale(1.25);transform-origin:50% 100%}
.pin.sel>svg path{fill:var(--red)}
.me{width:16px;height:16px;border-radius:50%;background:#2F7BF5;border:3px solid #fff;box-shadow:0 0 0 7px rgba(47,123,245,.22),0 1px 3px rgba(0,0,0,.3)}

/* drawer */
.drawer{position:fixed;inset:0;z-index:4000;background:rgba(0,0,0,.35)}
.drawer-in{position:absolute;left:0;top:0;bottom:0;width:300px;background:#fff;padding:0 0 20px;display:flex;flex-direction:column;overflow-y:auto}
.drawer-head{height:61px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;background:var(--blue);color:#fff;font-size:20px;letter-spacing:-.5px}
.drawer-head b{font-weight:500}.drawer-head span{font-weight:700}
.drawer-head button{border:0;background:transparent;color:#fff;font-size:18px;cursor:pointer;width:40px;height:40px}
.drawer-in>a{padding:14px 20px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}
.drawer-sec{padding:16px 20px 8px;font-size:12.5px;color:var(--muted)}
.langs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:0 12px}
.langs a{padding:9px 10px;border-radius:3px;color:var(--ink);text-decoration:none;font-size:14px}
.langs a.on,.langs a:hover{background:#EEF4FF;color:var(--blue)}

/* ── mobile: bottom sheet (KakaoMap app pattern) ── */
@media (max-width: 860px){
  .panel{left:0;right:0;top:auto;bottom:0;width:auto;height:48vh;border-radius:16px 16px 0 0;transition:height .25s ease}
  .panel.full{height:90vh}
  .panel.hidden{transform:none;height:150px}
  .p-top{border-radius:16px 16px 0 0}
  .p-head{height:50px}
  .p-grab{display:flex;margin-left:auto;width:44px;height:40px;border:0;background:transparent;align-items:center;justify-content:center;cursor:pointer}
  .p-grab span{width:36px;height:5px;border-radius:3px;background:rgba(255,255,255,.7)}
  .tabs{height:44px;padding:0 12px 10px}
  .tab{font-size:14px;padding:0 9px}
  .p-search{padding:12px 14px 0}
  .p-foot,.p-collapse{display:none}
  .sec{padding:16px 18px}
  .topchips{left:8px;right:8px;top:8px}
  body.poff .topchips{left:8px}
  .topright{top:56px;right:10px;flex-direction:column}
  .tools{top:148px;right:10px}
  .zooms{bottom:auto;top:332px;right:10px}
  .zooms .tgroup:first-child{display:none}
  .wx,.addr{display:none!important}
  .search-area,body.poff .search-area{left:50%;bottom:auto;top:56px}
}

/* ── home extras ── */
.here-tip{margin:10px 0 0;font-size:12.5px;color:#888}
/* ── events tab ── */
.ev-note{margin:0;padding:0 20px 10px;font-size:12px;color:#888;border-bottom:8px solid var(--gap)}
.ev-h{margin:0;padding:16px 20px 4px;font-size:14px;color:var(--ink)}
.ev-h small{font-weight:400;color:#888;margin-left:4px}
.row.ev{display:flex;gap:12px}
.ev-m{flex:1;min-width:0}
.ev-d{font-size:13px;margin-top:6px;display:flex;gap:6px;align-items:center;color:#222;font-weight:500}
.ev-d .tag{font-size:11px;border:1px solid #CFCFCF;border-radius:2px;padding:0 4px;color:#555;font-weight:400}
.ev-d .tag.live{border-color:#F4B3AD;color:var(--red)}
.ev-ph{flex:0 0 76px;height:76px;border-radius:4px;overflow:hidden;background:#F3F3F3;display:flex;align-items:center;justify-content:center;color:#E5484D}
.ev-ph img{width:100%;height:100%;object-fit:cover}
/* ── directions (KakaoMap 길찾기) ── */
.rt-top{padding:16px 20px 18px;border-bottom:8px solid var(--gap)}
.rt-modes{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #DCDCDC;border-radius:4px;overflow:hidden}
.rm{height:46px;border:0;border-left:1px solid #DCDCDC;background:#fff;display:flex;align-items:center;justify-content:center;gap:5px;font-size:14px;color:#333;cursor:pointer;padding:0}
.rm:first-child{border-left:0}
.rm svg{width:18px;height:18px}
.rm.on{background:#1E6CF2;color:#fff;font-weight:600}
.rt-io{position:relative;margin-top:14px;border:1px solid #9C9C9C;border-radius:3px;padding-right:52px}
.rt-f{display:flex;align-items:center;gap:10px;height:52px;padding:0 14px}
.rt-f+.rt-f{border-top:1px solid #E5E5E5}
.rt-f input{flex:1;min-width:0;border:0;outline:0;font:500 16px/1 inherit;font-family:inherit;color:#111;background:transparent}
.o{width:11px;height:11px;border-radius:50%;border:2px solid;flex:0 0 auto}
.o.g{border-color:#1BAA4C}.o.r{border-color:#E5302F}
.rt-swap{position:absolute;right:10px;top:50%;margin-top:-18px;width:36px;height:36px;border:1px solid #C9C9C9;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#555;padding:0}
.rt-swap svg{width:17px;height:17px}
.rt-sug{position:absolute;left:-1px;right:-1px;top:calc(100% + 4px);z-index:5;background:#fff;border:1px solid #CFCFCF;border-radius:3px;box-shadow:0 6px 18px rgba(0,0,0,.15);max-height:330px;overflow-y:auto}
.rt-sug button{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border:0;border-bottom:1px solid #F0F0F0;background:#fff;text-align:left;cursor:pointer}
.rt-sug button:hover{background:#F5F8FF}
.rt-sug span{display:flex;flex-direction:column;min-width:0}
.rt-sug b{font-size:14px;font-weight:600;color:#111;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rt-sug small{font-size:12px;color:#888;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.si{width:28px;height:28px;border-radius:50%;background:#F1F3F6;color:#555;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.si svg{width:15px;height:15px}
.si.me{background:#E7F0FF;color:#1E6CF2}.si.map{background:#FFECEB;color:#E5302F}.si.k{background:#FFF8D6;color:#7A6400}
.sug-none{margin:0;padding:12px 14px;color:#999;font-size:13px}
.rt-act{display:flex;justify-content:space-between;margin-top:14px}
.rt-reset{height:44px;padding:0 16px;border:1px solid #C9C9C9;border-radius:3px;background:#fff;display:flex;align-items:center;gap:6px;cursor:pointer;font-size:14px;color:#333}
.rt-reset svg{width:16px;height:16px;color:#1E6CF2}
.rt-go{height:44px;padding:0 14px 0 20px;border:0;border-radius:3px;background:#1E6CF2;color:#fff;display:flex;align-items:center;gap:4px;cursor:pointer;font-size:16px;font-weight:600}
.rt-go svg{width:18px;height:18px;stroke-width:2.4}
.rt-empty{padding:22px 24px;font-size:13.5px;color:#666;line-height:1.6}
.rt-empty p{margin:0 0 10px}
.rt-when{display:flex;align-items:center;gap:8px;padding:14px 20px;border-bottom:1px solid var(--line);font-size:14px;color:#1E6CF2;font-weight:500}
.rt-when>span:last-child{margin-left:auto;color:#333;font-weight:400;font-size:13px}
.on-badge{background:#1E6CF2;color:#fff;font-size:11px;font-weight:700;border-radius:10px;padding:1px 7px}
.rc{padding:18px 20px 20px;border-bottom:1px solid var(--line);cursor:pointer}
.rc.on{background:#F1F6FF;box-shadow:inset 3px 0 0 #1E6CF2}
.rc-lab{font-size:13px;font-weight:700;color:#1E6CF2}
.rc-lab em{font-style:normal;font-weight:400;color:#999;font-size:11.5px;border:1px solid #DDD;border-radius:2px;padding:0 4px;margin-left:4px}
.rc-h{display:flex;align-items:baseline;gap:10px;margin:4px 0 10px;flex-wrap:wrap;color:#333;font-size:14px}
.rc-h b{font-size:34px;font-weight:700;color:#000;line-height:1.1}
.rc-h b small{font-size:18px;font-weight:600;margin-left:1px}
.rc-h span+span:before{content:"";display:inline-block;width:1px;height:11px;background:#CCC;margin-right:10px}
.rbar{display:flex;height:20px;border-radius:10px;background:#EEF0F3;overflow:hidden;gap:2px}
.seg{display:flex;align-items:center;justify-content:center;gap:3px;font-size:11px;color:#666;min-width:0}
.seg i{font-style:normal;white-space:nowrap}
.seg svg{width:12px;height:12px}
.seg.ride,.seg.car,.seg.bike{background:#3567E8;color:#fff;border-radius:10px}
.seg.walk{color:#777}
.rc-note{margin:10px 0 0;font-size:12.5px;color:#666;line-height:1.5}
.rc-via{margin:8px 0 0;font-size:13px;color:#333;display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.rc-via svg{width:15px;height:15px;color:#E5302F}
.rc-via a{color:var(--link);text-decoration:none;margin-left:2px}
.nav{display:flex;align-items:center;gap:6px;margin-top:14px;flex-wrap:wrap}
.nav>span{font-size:12px;color:#888;margin-right:2px}
.nv{height:36px;padding:0 14px;border-radius:3px;display:inline-flex;align-items:center;font-weight:700;font-size:13.5px;text-decoration:none;border:0;cursor:pointer}
.nv.kakao{background:#FEE500;color:#191600}
.nv.naver{background:#03C75A;color:#fff}
.nv.knavi{background:#1B1B1B;color:#FEE500}
.tx-open{margin-top:12px;width:100%;height:48px;border:0;border-radius:4px;background:#FFC300;color:#111;font-weight:700;font-size:15px;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}
.tx-open svg{width:20px;height:20px}
.rt-src{margin:0;padding:14px 20px 22px;font-size:11.5px;color:#999;line-height:1.5}
.ep{position:relative;width:44px;height:50px}
.ep span{position:absolute;left:0;top:0;width:44px;height:28px;border-radius:14px;color:#fff;font:700 12px/28px 'IBM Plex Sans',sans-serif;text-align:center;box-shadow:0 1px 4px rgba(0,0,0,.35)}
.ep:after{content:"";position:absolute;left:19px;top:26px;width:6px;height:18px;border-radius:0 0 3px 3px}
.ep.st span,.ep.st:after{background:#1BAA4C}
.ep.en span,.ep.en:after{background:#E5302F}
body.picking #map{cursor:crosshair}
/* ── taxi card (show the driver) ── */
.taxi{position:fixed;inset:0;z-index:5000;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;padding:16px}
.tx-in{width:min(560px,100%);max-height:100%;overflow-y:auto;background:#fff;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.4);display:flex;flex-direction:column}
.tx-top{display:flex;align-items:center;justify-content:space-between;padding:12px 12px 12px 18px;background:#FFC300;border-radius:16px 16px 0 0;font-weight:700;font-size:14px;color:#111}
.tx-top span{display:flex;align-items:center;gap:8px}
.tx-top svg{width:20px;height:20px}
.tx-top button{width:40px;height:40px;border:0;background:rgba(0,0,0,.08);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center}
.tx-body{padding:24px 24px 18px;font-family:'IBM Plex Sans KR','IBM Plex Sans',system-ui,sans-serif}
.tx-ask{margin:0 0 14px;font-size:22px;font-weight:600;color:#333}
.tx-name{margin:0;font-size:44px;line-height:1.15;font-weight:700;color:#000;word-break:keep-all}
.tx-addr{margin:14px 0 0;font-size:26px;line-height:1.3;font-weight:600;color:#111;word-break:keep-all}
.tx-load{color:#999;font-size:18px}
.tx-jibun{margin:6px 0 0;font-size:16px;color:#555}
.tx-en{margin:12px 0 0;font-size:14px;color:#888}
.tx-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.tx-meta span{font-size:13px;background:#F3F3F3;border-radius:3px;padding:4px 8px;color:#444}
.tx-ph{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}
.tx-ph button{border:1px solid #DDD;border-radius:8px;background:#FAFAFA;padding:10px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:2px}
.tx-ph b{font-size:15px;color:#111}
.tx-ph small{font-size:11.5px;color:#888}
.tx-foot{display:flex;gap:8px;padding:0 24px 22px}
.tx-foot a,.tx-foot button{flex:1;height:46px;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:6px;font-weight:700;font-size:14px;text-decoration:none;cursor:pointer}
.tx-foot a{background:var(--red);color:#fff;border:0}
.tx-foot a svg{width:18px;height:18px}
.tx-foot button{background:#fff;border:1px solid #CCC;color:#333}
.taxi.xl .tx-name{font-size:64px}.taxi.xl .tx-addr{font-size:34px}.taxi.xl .tx-ask{font-size:28px}
@media (max-width:860px){
  .taxi{padding:0}
  .tx-in{border-radius:0;height:100%;max-height:none}
  .tx-top{border-radius:0}
  .tx-name{font-size:40px}
  .rt-top{padding:12px 14px 14px}
  .rm{font-size:13px;gap:3px}
}
