:root{
  --bg:#ffffff; --fg:#1d1f24; --sub:#6b7079; --line:#e6e8ec; --soft:#f4f5f7;
  --accent:#03c75a; --accent-ink:#ffffff; --warn:#b4530b; --warn-bg:#fff4e5;
  --lr:#d6409f; --radius:14px;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--fg)}
body{font:15px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",sans-serif;-webkit-text-size-adjust:100%}
html[lang="ko"] .en{display:none} html[lang="en"] .ko{display:none}
a{color:#0b6bcb;text-decoration:none} a:hover{text-decoration:underline}
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(6px)}
.brand{display:flex;align-items:center;gap:8px;font-weight:800;color:var(--fg)} .brand:hover{text-decoration:none}
.logo{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:7px;background:var(--accent);color:#fff;font-size:14px}
.lang{height:32px;padding:0 10px;border:0;border-radius:9px;background:var(--soft);font:700 13px/1 inherit;color:var(--fg);cursor:pointer}
.lang b{color:var(--accent)}
main{max-width:760px;margin:0 auto;padding:4px 16px 32px}
.crumbs{font-size:13px;color:var(--sub);padding:10px 0 2px}
.hero{padding:10px 0 14px;border-bottom:3px solid var(--c,var(--line));margin-bottom:14px}
.hero h1{font-size:26px;line-height:1.25;margin:4px 0 6px;letter-spacing:-.01em}
.kicker{font-size:13px;font-weight:700;color:var(--sub)}
.muted{color:var(--sub)} .small{font-size:13px}
.stats{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:8px;font-size:14px;color:var(--sub)} .stats b{color:var(--fg);font-size:17px}
h2{font-size:19px;margin:28px 0 10px} h3{font-size:16px;margin:22px 0 6px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.map{width:100%;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:var(--soft);margin:6px 0 12px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.card{display:block;padding:12px 14px;border:1px solid var(--line);border-radius:12px;color:var(--fg)} .card:hover{border-color:var(--lr);text-decoration:none}
.card .t{font-weight:800;font-size:16px} .card .cnt{margin-top:6px;font-size:13px;font-weight:700;color:var(--c,var(--lr))}
ol.scenes,ol.course,ul.near,ul.regions,ul.hub{padding:0;margin:0;list-style:none}
.scene,.stop{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}
.sc{flex:1;min-width:0} .sc p{margin:4px 0}
.line1{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px}
.num{flex:none;display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--lr);color:#fff;font:800 12px/1 inherit;margin-top:2px}
.ep{display:inline-block;padding:1px 7px;border-radius:6px;background:var(--fg);color:#fff;font-size:12px;font-weight:700;white-space:nowrap}
.ep.unk{background:#9aa0a8}
.pl{font-weight:700}
.dtag{font-size:12px;font-weight:700;color:var(--c)}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}
.chip{display:inline-block;padding:2px 10px;border-radius:999px;background:#fbe9f4;color:#9c2f73;font-size:13px;font-weight:600}
.badge{display:inline-block;padding:1px 7px;border-radius:6px;font-size:12px;font-weight:700;background:var(--soft);color:var(--sub)}
.st-private{background:var(--warn-bg);color:var(--warn)} .st-closed{background:#fde8e8;color:#b42318}
.meta{margin-top:4px}
.home{padding:12px 14px;border-radius:12px;background:#fdf2f8;border:1px solid #f5cfe6;margin-bottom:12px}
.home .kp+.kp{margin-top:10px;padding-top:10px;border-top:1px solid #f5cfe6}
.home .lab{font-size:12px;font-weight:800;color:#9c2f73;text-transform:uppercase;letter-spacing:.04em} .home .t{font-weight:800;font-size:17px}
.warn{padding:10px 12px;border-radius:10px;background:var(--warn-bg);color:var(--warn);font-weight:600;margin:8px 0}
.addr{font-size:16px;font-weight:700;margin:6px 0}
.nav{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.btn{display:inline-flex;align-items:center;height:36px;padding:0 12px;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--fg);font:600 13px/1 inherit;cursor:pointer}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)} .btn:hover{text-decoration:none;filter:brightness(.97)}
.near li,.regions li{padding:6px 0;border-bottom:1px solid var(--line)}
.hub li{padding:8px 0;border-bottom:1px solid var(--line)}
.leg{margin:0 0 0 34px;padding:2px 0;font-size:12px;color:var(--sub)}
.stop{border-bottom:0;padding:6px 0}
.sq{display:inline-block;width:12px;height:12px;border-radius:3px}
.more{font-size:13px;font-weight:600}
details{border-bottom:1px solid var(--line);padding:10px 0} summary{font-weight:700;cursor:pointer} details p{margin:6px 0}
footer{max-width:760px;margin:0 auto;padding:16px;font-size:12px;color:var(--sub);border-top:1px solid var(--line)}
.mk{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--lr);color:#fff;font:800 12px/1 sans-serif;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.35);cursor:pointer}
.mk.dot{width:14px;height:14px;background:#6b7079} .mk.approx{outline:2px dashed var(--lr);outline-offset:2px}
.taxi{position:fixed;inset:0;z-index:100;background:#fff;display:flex;flex-direction:column;justify-content:center;padding:24px;text-align:center}
.taxi .big{font-size:30px;font-weight:800;line-height:1.35;word-break:keep-all} .taxi .say{font-size:20px;margin-bottom:18px}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#1d1f24;color:#fff;padding:8px 14px;border-radius:10px;font-size:13px;z-index:90}
@media (max-width:480px){.hero h1{font-size:22px}.grid{grid-template-columns:1fr 1fr}}

/* ---- trip planning: progress, visit status, areas, filters, famous scenes, episode guide (2026-10-24) ---- */
[hidden]{display:none!important}
.progress{margin-top:12px;padding:10px 12px;border-radius:12px;background:var(--soft)}
.pbar{height:8px;border-radius:99px;background:#e2e4e8;overflow:hidden} .pbar i{display:block;height:100%;width:0;background:var(--c,var(--lr));transition:width .3s}
.prow2{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;font-size:13px;font-weight:600}
.btn.sm{height:30px;padding:0 10px;font-size:12px;flex:none}
.vb{display:inline-block;padding:1px 7px;border-radius:6px;font-size:12px;font-weight:700;white-space:nowrap}
.v-open{background:#e6f7ed;color:#067a3a} .v-biz{background:#e8f1fd;color:#0b5cad} .v-school{background:#efeefe;color:#4b3fb5}
.v-private{background:var(--warn-bg);color:var(--warn)} .v-closed{background:#fde8e8;color:#b42318} .v-unknown{background:var(--soft);color:var(--sub)}
.tip{margin:6px 0;padding:7px 10px;border-radius:8px;background:#fff;border-left:3px solid var(--lr);font-size:13px}
.home .t{margin-right:4px}
.sig{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:8px}
.sigc{display:flex;flex-direction:column;gap:3px;padding:12px;border:1px solid var(--line);border-radius:12px;color:var(--fg)} .sigc:hover{border-color:var(--lr);text-decoration:none}
.sigc .emo{font-size:26px;line-height:1.1} .sigc .st{font-weight:800;font-size:15px;line-height:1.3} .sigc .sp{font-size:13px;line-height:1.4} .sigc .sr{font-size:12px}
.acards{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;margin-bottom:10px}
.acard{display:flex;flex-direction:column;padding:10px 12px;border-radius:12px;background:#fdf2f8;border:1px solid #f5cfe6;color:var(--fg)} .acard:hover{text-decoration:none;border-color:var(--lr)}
.acard span{font-size:13px;color:var(--sub)}
.filters{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 6px}
.fchip{height:32px;padding:0 11px;border-radius:99px;border:1px solid var(--line);background:#fff;font:600 13px/1 inherit;color:var(--fg);cursor:pointer}
.fchip.on{background:var(--fg);border-color:var(--fg);color:#fff} .fchip.on .muted{color:#c9ccd2}
.area{margin-top:6px} .area h3{font-size:17px;margin:22px 0 2px}
ol.places{list-style:none;margin:0;padding:0}
.prow{display:flex;gap:10px;padding:12px 6px;border-bottom:1px solid var(--line);border-radius:8px;scroll-margin-top:70px}
.prow.visited{background:linear-gradient(90deg,#effaf3,rgba(255,255,255,0) 70%)} .prow.visited .num{background:var(--accent)}
.pscenes{list-style:none;margin:6px 0 0;padding:0} .pscenes li{margin:4px 0;font-size:14px}
.chip.sm{font-size:12px;padding:0 8px;white-space:nowrap} .with{font-size:12px;color:var(--sub)}
.mini{margin-left:6px;font-size:12px;font-weight:700;white-space:nowrap}
.visit{flex:none;align-self:flex-start;display:inline-flex;align-items:center;height:32px;padding:0 10px;border-radius:99px;border:1px solid var(--line);background:#fff;font:600 12px/1 inherit;color:var(--sub);cursor:pointer;white-space:nowrap}
.visit .ck{display:inline-grid;place-items:center;width:15px;height:15px;margin-right:6px;border:2px solid #c5c9d0;border-radius:4px;font-size:11px;color:#fff}
.visit[aria-pressed="true"]{background:#e9f9ef;border-color:#9fdfb8;color:#067a3a} .visit[aria-pressed="true"] .ck{background:var(--accent);border-color:var(--accent)} .visit[aria-pressed="true"] .ck::after{content:"✓"}
.prow:target,.stop:target,.flash{animation:flash 1.8s ease-out}
@keyframes flash{0%{background:#fff1b8}100%{background:transparent}}
.epstrip{display:grid;grid-template-columns:repeat(16,1fr);gap:4px;margin:6px 0 10px}
.epc{display:grid;place-items:center;height:32px;border-radius:7px;background:var(--soft);color:#b0b4bb;font-size:12px;font-weight:700}
a.epc.on{background:var(--fg);color:#fff} a.epc.on:hover{text-decoration:none;background:var(--lr)}
.tablewrap{overflow-x:auto} .eptable{width:100%;border-collapse:collapse;font-size:14px}
.eptable td{padding:7px 6px;border-bottom:1px solid var(--line);vertical-align:top} .eptable td:first-child{white-space:nowrap;width:1%}
.eptable tr:target{animation:flash 1.8s ease-out}
.stop{scroll-margin-top:70px}
.mk.done{background:var(--accent)}
@media (max-width:480px){
  .prow,.stop{flex-wrap:wrap} .prow .sc,.stop .sc{flex-basis:calc(100% - 34px)} .prow .visit,.stop .visit{margin-left:34px}
  .epstrip{grid-template-columns:repeat(8,1fr)} .sig{grid-template-columns:1fr 1fr} .acards{grid-template-columns:1fr}
  .prow2{flex-wrap:wrap}
}
@media (max-width:480px){
  .sig{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:62%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;margin-right:-16px;padding-right:16px}
  .sigc{scroll-snap-align:start}
  .acards{grid-template-columns:repeat(3,1fr);gap:6px} .acard{padding:8px 9px} .acard b{font-size:14px} .acard span{font-size:12px;line-height:1.35}
}
.tips{margin:6px 0;padding-left:18px} .tips li{margin:6px 0;font-size:14px}
.clip{font-size:12px;font-weight:700;color:#c4302b;white-space:nowrap}
.ep.set{background:#6d5bd0}

/* ---- site: notice before you start, official / community labels ---- */
.notice{display:flex;align-items:flex-start;gap:10px;margin:10px max(16px,calc((100% - 728px)/2)) 0;padding:10px 12px;border-radius:12px;background:#fff8e6;border:1px solid #f1d998;font-size:13px;line-height:1.55}
.notice p{margin:0;flex:1} .notice.in{margin:12px 0 0}
.notice .nx{flex:none;height:28px;padding:0 10px;border-radius:8px;border:1px solid #e5c977;background:#fff;color:var(--fg);font:600 12px/1 inherit;cursor:pointer}
.kline{margin-top:3px}
.kn{display:inline-block;padding:0 7px;border-radius:6px;border:1px solid var(--line);font-size:12px;font-weight:600;line-height:1.7;color:var(--sub);white-space:nowrap}
.kn-official{border-color:#b7e3c8;background:#f2fbf5;color:#067a3a} .kn-official::before{content:"✓ "}
html[lang="ko"] body{word-break:keep-all;overflow-wrap:anywhere}
.legend{display:flex;flex-wrap:wrap;gap:4px 14px;margin:-6px 0 10px;font-size:12px;color:var(--sub)}
.legend i{display:inline-block;vertical-align:-2px;margin-right:5px;width:12px;height:12px;border-radius:50%;background:var(--lr)}
.legend i.nr{width:10px;height:10px;background:#6b7079} .legend i.ap{background:#fff;outline:2px dashed var(--lr);outline-offset:-2px} .legend i.pv{background:rgba(180,83,11,.14);border:1.5px dashed #b4530b}
