.disc{margin:12px 0 16px;padding:10px 14px;border:1px solid var(--line);border-left:3px solid var(--rail);border-radius:0 var(--r) var(--r) 0;background:var(--surface);font-size:14px;line-height:1.6;color:var(--muted);max-width:52em}
.disc b{color:var(--ink);margin-right:6px}
.disc em{font-style:normal;font-weight:700;color:var(--ink)}
.collect{display:flex;flex-direction:column;gap:4px;margin:0 0 40px;padding:16px 18px;background:var(--warn-bg);border:1px solid var(--warn-line);border-radius:var(--r);font-size:14px;line-height:1.6}
.collect strong{color:var(--warn-ink)}
.collect span{color:var(--ink)}
.disc a,.how-disc a,.guide-fork a,.rk-bar>span>a{position:relative;display:inline-block}
.disc a::after,.how-disc a::after,.guide-fork a::after,.rk-bar>span>a::after{content:"";position:absolute;inset:-12px -10px}
.tldr{background:var(--sunken);border-left:3px solid var(--rail);border-radius:0 var(--r) var(--r) 0;padding:12px 16px;margin:0 0 18px;font-size:15px;line-height:1.65;color:var(--ink)}
.tldr strong{color:var(--h);margin-right:8px}
.rk-bar{display:flex;flex-wrap:wrap;gap:4px 20px;align-items:center;font-size:14px;color:var(--muted);padding:6px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 0 20px}
.rk-bar>span{display:inline-block;padding:10px 0;line-height:24px}
.rk-bar b{font:600 22px/1 var(--font-d);font-variant-numeric:tabular-nums;color:var(--ink);margin-right:2px}
.rk-bar a{color:var(--link)}
.rk-bar .lnk{margin-left:auto;min-height:44px;padding-block:0;margin-block:0}
.rk-status{font-size:14px;color:var(--muted);margin:-4px 0 12px}
ol.ranks{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:10px}
ol.ranks>li{margin:0}
.rk{display:grid;grid-template-columns:52px 96px minmax(0,1fr) 190px;gap:0 16px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px 16px 12px;position:relative}
.rk:hover{border-color:var(--line-strong)}
.rk.compact{grid-template-columns:44px 64px minmax(0,1fr) 190px;padding:10px 14px 10px 8px}
.rk-n{text-align:center;font:600 30px/1 var(--font-d);font-variant-numeric:tabular-nums;color:var(--muted)}
.rk.compact .rk-n{font-size:24px}
.rk.top .rk-n span{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;font-size:22px}
.rk.compact.top .rk-n span{width:36px;height:36px;font-size:19px}
.rk.r1 .rk-n span{background:linear-gradient(160deg,#ffe08a,#e0a91f);color:#4a3600}
.rk.r2 .rk-n span{background:linear-gradient(160deg,#e3e8ee,#a9b3be);color:#1f2a36}
.rk.r3 .rk-n span{background:linear-gradient(160deg,#ecc4a6,#c58250);color:#3a2008}
.rk-img{display:grid;place-items:center;aspect-ratio:3/2;border-radius:var(--r);overflow:hidden;background:var(--sunken);border:1px solid var(--line);color:var(--muted)}
.rk-img img{width:100%;height:100%;object-fit:cover}
.rk-img .ic{width:28px;height:28px}
.rk.compact .rk-img .ic{width:22px;height:22px}
.rk-main{min-width:0}
.rk-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-bottom:4px}
.rk-h{margin:0;font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;font-family:inherit}
.rk-name{display:inline-block;position:relative;min-width:44px;font:600 18px/1.4 var(--font-d);color:var(--ink);text-decoration:none;letter-spacing:-.01em}
.rk-name::after{content:"";position:absolute;inset:-11px 0}
.rk-name:hover{color:var(--link);text-decoration:underline}
.rk.compact .rk-name{font-size:16px}
.rate{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;font-size:14px;color:var(--ink)}
.rate b{color:var(--rate-ink);font-size:15px}
.rate em{font-style:normal;font-size:12px;color:var(--muted);background:var(--sunken);border-radius:var(--r-s);padding:1px 6px}
.rate time{color:var(--muted);font-size:13px}
.rate.vf b{color:var(--vf-ink)}
.rate.none{color:var(--muted)}
.nosrc{font-size:12px;color:var(--muted);border:1px dashed var(--line-strong);border-radius:var(--r-s);padding:0 6px;margin-left:8px;white-space:nowrap}
.rk-sum{font-size:14px;color:var(--ink);margin:8px 0 6px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rk-meta{display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center;font-size:13px;color:var(--muted)}
.rk-meta .addr{margin-right:6px}
.rk-meta i{font-style:normal;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-s);padding:1px 6px}
.rk-side{display:flex;flex-direction:column;gap:10px;align-items:stretch;border-left:1px dashed var(--line);padding-left:16px;align-self:stretch;justify-content:center}
.rk-act{display:flex;flex-wrap:wrap;gap:6px;align-items:stretch;text-align:center}
.rk-act>a{flex:1 1 auto;min-height:44px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}
.rk-act .lnk{padding-block:0;margin-block:0}
.rk-act .btn.sm{padding:0 12px}
.score{display:block}
.sc-n{display:flex;align-items:baseline;gap:3px;justify-content:flex-end}
.sc-n b{font:600 26px/1 var(--font-d);font-variant-numeric:tabular-nums;color:var(--ink)}
.sc-n span{font-size:12px;color:var(--muted)}
.sbar{display:flex;height:6px;border-radius:3px;overflow:hidden;background:var(--sunken);margin-top:6px}
.sbar i{display:block;height:100%;border-radius:3px;background:var(--fill)}
.score.lg .sc-n{justify-content:flex-start}
.score.lg .sc-n b{font-size:40px}
.score.lg .sbar{height:10px;max-width:520px}
.score.lg+.wts{margin-top:16px}
.wts{margin:0 0 12px;padding:0;border-top:2px solid var(--rail)}
.wts>div{padding:12px 0;border-bottom:1px solid var(--line)}
.wts dt{font:600 16px/1.4 var(--font-d);color:var(--ink);margin:0 0 4px}
.wts dd{margin:0;font-size:14px;line-height:1.6;color:var(--muted)}
@media (min-width:768px){
.wts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:24px}
.wts>div{border-bottom:0;padding:14px 0 4px}
}
.how .note a{font-weight:600}
.how-disc{font-size:15px;line-height:1.7;color:var(--ink);margin:0 0 12px;max-width:52em}
.how-disc a{color:var(--link);font-weight:600;white-space:nowrap}
.wts-l{display:flex;flex-wrap:wrap;gap:4px 18px;margin:0 0 12px;font-size:14px;font-weight:600;color:var(--ink)}
.wts-l span{display:inline-flex;align-items:center;gap:8px}
.wts-l i{display:inline-block;width:6px;height:6px;background:var(--line-strong)}
.how-d{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);padding:0 14px;max-width:52em}
.how-d summary{display:flex;align-items:center;min-height:44px;cursor:pointer;font-size:14px;font-weight:600;color:var(--ink)}
.how-d[open] summary{border-bottom:1px solid var(--line);margin-bottom:12px}
.faq details ol.faq-l{margin:0 0 16px;padding-left:20px;color:var(--ink);font-size:14.5px;line-height:1.65;max-width:52em}
.faq-l li{margin:6px 0}
.faq-l a.src{font-size:13px;color:var(--link);white-space:normal}
.gu-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.gu-grid a,.gu-grid .off{display:flex;flex-direction:column;justify-content:center;gap:2px;min-height:44px;padding:10px 12px;border-radius:var(--r);border:1px solid var(--line);background:var(--surface);text-decoration:none;color:var(--ink)}
.gu-grid a:hover{border-color:var(--line-strong)}
.gu-grid a:hover strong{color:var(--link);text-decoration:underline}
.gu-grid strong{font-size:14.5px;font-weight:600}
.gu-grid span{font-size:12.5px;color:var(--muted)}
.gu-grid .off{border-style:dashed;background:transparent}
.gu-grid .off strong{color:var(--muted);font-weight:400}
.gu-off{margin:10px 0 0;font-size:14px;color:var(--muted)}
.gu-off summary{min-height:44px;padding:11px 0;box-sizing:border-box;cursor:pointer;color:var(--ink);font-weight:600}
.gu-off p{margin:4px 0 8px;line-height:1.7}
.gu-off p b{color:var(--ink);font-weight:600;margin-right:4px}
.cat-head{display:flex;gap:18px;align-items:flex-start;margin:0 0 20px}
.cat-head h1{margin-top:0}
.cat-ic{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:var(--r);background:var(--sunken);color:var(--link)}
.cat-ic .ic{width:22px;height:22px}
.cat-ic.lg{width:56px;height:56px}
.cat-ic.lg .ic{width:30px;height:30px}
.cat-switch{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 40px}
.cat-switch a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;font-size:14px;font-weight:600;border-radius:var(--r);border:1px solid var(--line);background:var(--surface);color:var(--ink);text-decoration:none}
.cat-switch a:not(.on):hover{border-color:var(--line-strong);color:var(--link)}
.cat-switch a.on{background:var(--btn);color:var(--btn-ink);border-color:var(--btn)}
.cat-switch a.off{color:var(--muted);border-style:dashed;border-color:var(--line-strong)}
.cat-switch span.off{display:inline-flex;align-items:center;min-height:44px;font-size:13px;color:var(--muted);padding:0 2px}
.biz-h{display:grid;grid-template-columns:minmax(220px,340px) minmax(0,1fr);gap:28px;align-items:center;margin:8px 0 40px}
.biz-img{border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:var(--sunken)}
.biz-img img{width:100%;aspect-ratio:3/2;object-fit:cover}
.biz-img:has(.vf-ph){display:none}
.biz-h.noimg{grid-template-columns:48px minmax(0,1fr);gap:16px;align-items:start;margin-top:16px}
.biz-ic{width:48px;height:48px;margin:4px 0 0}
.biz-ic .ic{width:26px;height:26px}
.biz-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.biz-t{min-width:0}
.biz-t h1{margin:0 0 8px;overflow-wrap:anywhere}
.biz-rate{margin-bottom:8px;font-size:15px}
.biz-rate .rate b{font-size:18px}
.biz-vf{font-size:14px;line-height:1.6;color:var(--ink);margin:0 0 12px}
.biz-vf b{margin-right:8px}
.biz-best{font-size:14.5px;color:var(--ink);margin:0 0 16px}
.biz-best b{font:600 22px/1 var(--font-d);font-variant-numeric:tabular-nums;color:var(--link);margin:0 2px}
.biz-best span{color:var(--muted);font-size:13px}
.hero-cta{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 14px}
.rank-tbl{overflow-x:auto;overflow-y:hidden;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
.rank-tbl table{font-size:14px}
.rank-tbl td{vertical-align:middle}
.rank-tbl td:nth-child(3){color:var(--muted)}
.rank-tbl td a{position:relative;display:inline-block}
.rank-tbl td a::after{content:"";position:absolute;inset:-12px -10px}
.rn{font:600 18px/1 var(--font-d);font-variant-numeric:tabular-nums;color:var(--ink)}
.rn.top{color:var(--rate-ink)}
.vf-ph{display:grid;place-items:center;aspect-ratio:3/2;background:var(--sunken);color:var(--muted)}
.vf-ph .ic{width:34px;height:34px}
.guide-fork{background:var(--sunken);border-radius:var(--r);padding:12px 16px;margin:16px 0}
.guide-fork p{margin:4px 0}
.guide-list{list-style:none;padding:0}
.guide-list li{border-bottom:1px solid var(--line);padding:12px 0;margin:0}
.guide-list a{display:inline-flex;align-items:center;min-height:44px;font:600 17px/1.4 var(--font-d)}
.guide-list p{margin:4px 0 0;color:var(--muted);font-size:14px}
.guide-biz-l small{color:var(--muted)}
.guide-fees td small{color:var(--muted)}
.guide-fees .m-src{display:none}
@media (max-width:640px){
.guide-fees th:nth-child(4),.guide-fees td:nth-child(4){display:none}
.guide-fees .m-src{display:block;margin-top:4px;font-size:12.5px}
.guide-fees td:nth-child(2){overflow-wrap:anywhere}
}
@media (max-width:960px){
.gu-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.rk{grid-template-columns:44px 80px minmax(0,1fr)}
.rk-side{grid-column:2/-1;border-left:0;padding-left:0;flex-direction:row;align-items:center;justify-content:space-between;margin-top:12px;padding-top:10px;border-top:1px dashed var(--line)}
.rk-side .score{min-width:140px}
.rk-side .rk-act{flex:0 1 auto;min-width:0;justify-content:flex-end}
.rk.compact{grid-template-columns:40px 56px minmax(0,1fr)}
.biz-h{grid-template-columns:1fr}
}
@media (max-width:640px){
.gu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.rk{grid-template-columns:38px minmax(0,1fr);padding:14px 14px 12px 8px;gap:0 10px}
.rk-img{display:none}
.rk-side{grid-column:1/-1}
.rk.compact{grid-template-columns:34px minmax(0,1fr)}
.rk.compact .rk-side{grid-column:1/-1}
.rk-side .score{min-width:110px}
.rk-name{font-size:16.5px}
.rk-n{font-size:24px}
.rk.top .rk-n span{width:36px;height:36px;font-size:19px}
.cat-head{flex-direction:column;gap:10px}
.biz-h.noimg{grid-template-columns:minmax(0,1fr);gap:10px}
.hero-cta .btn{flex:1 1 auto}
.brand{font-size:16px}
}
.home{padding-top:20px}
.home-page .hd-in,.home-page .ft-in{max-width:1280px}
.home section,.sec section{margin:0}
.sec{border-top:1px solid var(--line);padding-top:48px}
.sec h3{margin:24px 0 6px}
.hero h1{font-size:clamp(21px,5.9vw,40px);line-height:1.3;margin:0 0 12px}
.hero h1 .l{display:block}
.def{font-size:16px;line-height:1.7;color:var(--ink);max-width:36em;margin:0 0 8px}
.now{font-size:14px;line-height:1.6;color:var(--muted);max-width:40em;margin:0}
.now .num{color:var(--ink)}
.now time{white-space:nowrap}
.find{margin:18px 0 0}
.find label{display:block;margin:0 0 6px;font:600 15px/1.4 var(--font-d);color:var(--ink)}
.find-box{display:flex;gap:8px}
.find input{flex:1;min-width:0;height:48px;padding:0 14px;border:1.5px solid var(--field);border-radius:var(--r);background:var(--surface);color:var(--ink);font:17px/1.2 var(--font-b);-webkit-appearance:none;appearance:none}
.find input::placeholder{color:var(--muted);opacity:1}
.find button{flex:none;height:48px;min-width:64px;padding:0 20px;border:0;border-radius:var(--r);background:var(--btn);color:var(--btn-ink);font:600 16px/1 var(--font-d);cursor:pointer}
.find button:hover{background:var(--btn-2)}
.find-hint{margin:8px 0 0;font-size:14px;color:var(--muted)}
.dest-wrap{margin:12px 0 0;border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface);box-shadow:var(--shadow-pop);overflow:hidden}
.dest-note{margin:0;padding:12px 16px;font-size:14px;line-height:1.6;color:var(--ink)}
.dest-note a,.dest-miss a{position:relative;display:inline-block}
.dest-note a::after,.dest-miss a::after{content:"";position:absolute;inset:-12px -6px}
.dest-list{display:grid}
.dest+.dest{border-top:6px solid var(--sunken)}
.dest-h{padding:12px 16px 12px 20px;background:var(--plate);color:var(--plate-ink);box-shadow:inset 4px 0 0 var(--gold),inset 0 0 0 3px var(--plate),inset 0 0 0 4px rgba(255,255,255,.55)}
.dest-t{margin:0;font-size:18px;line-height:1.35;color:var(--plate-ink)}
.dest-h p{margin:4px 0 0;font-size:14px;line-height:1.55;color:var(--plate-muted)}
.dest-s{list-style:none;margin:0;padding:0}
.dest-wrap a:focus-visible,.dest-wrap button:focus-visible{outline-offset:-3px}
.dest-s li{margin:0;border-top:1px solid var(--line)}
.dest-s li:first-child{border-top:0}
.dest-s>li>a{display:flex;align-items:center;gap:10px;min-height:48px;padding:4px 16px;color:var(--ink);text-decoration:none;line-height:1.35}
.dest-s>li>a:hover .t{text-decoration:underline}
.dest-s .cnt{margin-left:auto;font:600 17px/1 var(--font-d);font-variant-numeric:tabular-nums;color:var(--link);white-space:nowrap}
.dest-s .cnt small{margin-left:1px;font:400 13px var(--font-b);color:var(--muted)}
.dest-s .hit>a{background:var(--hot)}
.dest-s .sub{display:flex;flex-wrap:wrap;gap:6px;padding:0 16px 10px}
.dest-s .sub a{display:inline-flex;align-items:center;gap:2px;min-height:48px;padding:0 12px;border:1px solid var(--line);border-radius:var(--r);color:var(--ink);text-decoration:none;font-size:14px}
.dest-s .sub b{font-family:var(--font-d);font-weight:600;margin-left:4px}
.dest-miss{margin:0;padding:10px 16px 12px;border-top:1px solid var(--line);font-size:14px;line-height:1.6;color:var(--muted)}
.dest-miss+.dest-s{border-top:1px solid var(--line)}
.ex{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 14px}
.ex button{min-height:44px;padding:0 14px;border:1px solid var(--line-strong);border-radius:var(--r);background:var(--surface);color:var(--ink);font:15px/1.2 var(--font-b);cursor:pointer}
.ex button:hover{background:var(--sunken)}
.ex .last{border:2px solid var(--link)}
.home .regions{margin-top:40px}
.mx-wrap{display:none}
.mx{table-layout:fixed;font-size:14px}
.mx th,.mx td{padding:0;vertical-align:middle;white-space:nowrap}
.mx thead th{position:sticky;top:var(--hd-h);z-index:2;padding:10px 2px;text-align:center;font:600 13px/1.25 var(--font-d);letter-spacing:-.03em}
.mx thead th:first-child{width:96px;text-align:left;padding-left:10px}
.mx thead th:last-child{width:54px;text-align:right;padding-right:8px}
.mx tbody th{padding:0 8px 0 10px;text-align:left;font:600 15px/1.3 var(--font-d);color:var(--ink);background:transparent;white-space:normal}
.mx tr.grp th{padding:8px 10px;background:var(--sunken);font:600 14px/1.4 var(--font-b);color:var(--ink);border-right:0}
.mx td{text-align:center;height:44px;color:var(--muted)}
.mx td a{display:flex;align-items:center;justify-content:center;min-height:44px;color:var(--link);text-decoration:none;font:600 15px/1 var(--font-d);font-variant-numeric:tabular-nums}
.mx td a:hover{text-decoration:underline}
.mx td a:focus-visible{outline-offset:-3px}
.mx td.s2{background:var(--sunken)}
.mx td.s3{background:var(--line)}
.mx td.d{text-align:right;padding-right:8px;font:13px var(--font-b);font-variant-numeric:tabular-nums}
.mx tr.agg>*{border-top:3px double var(--line-strong)}
.mx-note{margin:10px 0 0;font-size:13px;line-height:1.6;color:var(--muted);max-width:52em}
.rgl{position:relative;margin-top:8px}
.rg-grp{margin:0 0 16px}
.rg-h{margin:16px 0 4px;font-size:16px;color:var(--muted)}
.js .rg-h{position:absolute!important;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.js .rgl{padding-top:52px}
.tabs{position:absolute;top:0;left:0;right:0;display:flex;height:48px;border-bottom:1px solid var(--line)}
.tabs button{flex:1;min-height:48px;border:0;border-bottom:3px solid transparent;background:none;color:var(--muted);font:600 16px/1 var(--font-d);cursor:pointer}
.tabs button[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--rail)}
.rg{border-bottom:1px solid var(--line)}
.rg:first-of-type{border-top:1px solid var(--line)}
.rg>summary{display:flex;align-items:center;gap:12px;min-height:54px;padding:0 14px;cursor:pointer;list-style:none;transition:none}
.rg>summary::-webkit-details-marker{display:none}
.rg>summary::after{content:"";flex:none;width:8px;height:8px;margin:-4px 2px 0 0;border:solid var(--muted);border-width:0 2px 2px 0;transform:rotate(45deg)}
.rg-n{font:600 17px/1.3 var(--font-d);color:var(--ink)}
.rg-c{margin-left:auto;font-size:14px;color:var(--muted);white-space:nowrap}
.rg-c .num{color:var(--ink);font-size:15px}
.rg.agg>summary{border-top:3px double var(--line-strong)}
.rg[open]>summary{background:var(--plate);box-shadow:inset 4px 0 0 var(--gold),inset 0 0 0 3px var(--plate),inset 0 0 0 4px rgba(255,255,255,.55)}
.rg[open]>summary .rg-n,.rg[open]>summary .num{color:var(--plate-ink)}
.rg[open]>summary .rg-c{color:var(--plate-muted)}
.rg[open]>summary::after{border-color:var(--plate-ink);transform:rotate(-135deg);margin-top:4px}
.rg-l{list-style:none;margin:0;padding:10px 0 12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.rg-l li{margin:0}
.rg-l a{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;height:100%;padding:6px 12px;border:1px solid var(--line);border-radius:var(--r);color:var(--ink);text-decoration:none;font-size:15px;line-height:1.3}
.rg-l a:hover{border-color:var(--line-strong)}
.rg-l b{font-size:16px;color:var(--link);white-space:nowrap}
.rg-l small{margin-left:1px;font:400 13px var(--font-b);color:var(--muted)}
.rg-miss{margin:0 0 12px;font-size:13px;line-height:1.6;color:var(--muted)}
.board{display:none}
.board-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.board h2{margin:0;font-size:19px;color:var(--plate-ink)}
.board-skip{display:inline-flex;align-items:center;min-height:44px;color:var(--plate-ink);font-size:14px}
.board-hint{margin:0 0 12px;font-size:14px;color:var(--plate-muted)}
.svc-switch{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0 0 12px}
.js .board .svc-switch[hidden]{display:grid!important;visibility:hidden}
.svc-switch button{min-height:44px;padding:0 4px;border:1px solid rgba(255,255,255,.4);border-radius:var(--r-s);background:transparent;color:var(--plate-ink);font:600 14px/1.2 var(--font-d);cursor:pointer}
.svc-switch button:hover{background:rgba(255,255,255,.1)}
.svc-switch button[aria-pressed="true"]{background:var(--gold);border-color:var(--gold);color:var(--navy-ink)}
.map-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0 0 8px}
.js .board .map-tabs[hidden]{display:grid!important;visibility:hidden}
.map-tabs button{display:flex;align-items:baseline;justify-content:center;gap:8px;min-height:44px;padding:0 6px;border:0;border-bottom:1px solid rgba(255,255,255,.3);background:transparent;color:var(--plate-muted);font:600 15px/1.2 var(--font-d);cursor:pointer}
.map-tabs button small{font-size:12px;font-weight:500}
.map-tabs button:hover{color:var(--plate-ink);background:rgba(255,255,255,.06)}
.map-tabs button[aria-pressed="true"]{color:var(--plate-ink);box-shadow:inset 0 -3px 0 var(--gold)}
.map-defs{position:absolute;width:0;height:0;overflow:hidden}
.map-frame{border-radius:var(--r);overflow:hidden;background:var(--m-ctx)}
html:not(.js) .map-frame[hidden]{display:block;margin-top:12px}
.map{display:block;width:100%;height:auto;max-height:min(78vh,760px)}
.map path{stroke:var(--plate);stroke-width:.42;stroke-linejoin:round}
.map .ctx{fill:var(--m-ctx)}
.map .todo path,.map .ar.lvt path{fill:url(#hatch)}
.h-bg{fill:var(--m-todo)}
.h-ln{stroke:var(--m-hatch);stroke-width:.7}
.map.big path{stroke-width:1.1}
.map.big .todo path,.map.big .ar.lvt path{fill:url(#hatch-l)}
.h-ln.l{stroke-width:1.8}
.map .seoul{stroke:rgba(255,255,255,.45);stroke-width:1.2;stroke-dasharray:3 2}
.ar.lv0 path{fill:var(--m0)}.ar.lv1 path{fill:var(--m1)}.ar.lv2 path{fill:var(--m2)}.ar.lv3 path{fill:var(--m3)}.ar.lv4 path{fill:var(--m4)}
.ar[href]{cursor:pointer}
.ar[href]:hover path,.ar:focus-visible path{fill:var(--gold)}
.ar:focus{outline:none}
.hl{fill:var(--gold);stroke:var(--navy-ink);stroke-width:.5;pointer-events:none;opacity:0;filter:drop-shadow(0 1px 0 rgba(3,10,22,.7));transition:transform .15s ease-out,opacity .1s}
.hl.on{opacity:1;transform:translateY(-.9px)}
.map.big .hl{stroke-width:1.3}
.map.big .hl.on{transform:translateY(-2.4px)}
.lb{font-family:var(--font-d);font-weight:600;fill:var(--plate-ink);text-anchor:middle;pointer-events:none}
.lb .nm{font-size:3.7px}
.lb .ct{font-size:4.3px;font-variant-numeric:tabular-nums}
.lb.lv2,.lb.lv3,.lb.lv4,.lb.hot{fill:var(--navy-ink)}
.lb.lg .nm{font-size:10px}
.lb.lg .ct{font-size:11.5px}
.ctxl{font-family:var(--font-d);font-weight:600;font-size:3px;fill:var(--plate-muted);text-anchor:middle;pointer-events:none}
.ctxl.lg{font-size:10px}
.cityl{font-family:var(--font-d);font-weight:700;font-size:11px;fill:var(--plate-ink);text-anchor:middle;pointer-events:none;paint-order:stroke;stroke:var(--plate);stroke-width:3px;stroke-linejoin:round}
.legend{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;color:var(--plate-muted)}
.legend li{display:flex;align-items:center;gap:6px;margin:0}
.sw{display:inline-block;width:16px;height:12px;border-radius:2px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
.sw.lv0{background:var(--m0)}.sw.lv1{background:var(--m1)}.sw.lv2{background:var(--m2)}.sw.lv3{background:var(--m3)}.sw.lv4{background:var(--m4)}
.sw.todo{background:repeating-linear-gradient(45deg,var(--m-todo) 0 2px,var(--m-hatch) 2px 3.5px)}
.readout{min-height:50px;margin:12px 0 0;padding-top:10px;border-top:1px solid rgba(255,255,255,.2);color:var(--plate-ink);font-size:14px;line-height:1.6}
.svc-list{list-style:none;margin:16px 0 0;padding:0;display:grid;column-gap:48px}
.svc{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;column-gap:16px;margin:0;padding:8px 0 16px;border-top:1px solid var(--line)}
.svc h3{margin:0;font-size:18px}
.svc h3 a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink);text-decoration-color:var(--line-strong)}
.svc h3 a:hover{color:var(--link);text-decoration-color:currentColor}
.svc-n{margin:0;font-size:14px;color:var(--muted);white-space:nowrap}
.svc-n .num{font-size:18px;color:var(--ink)}
.svc-reg,.svc-terms{grid-column:1/-1;margin:2px 0 0;font-size:14px;line-height:1.6;color:var(--muted)}
.svc-hubs{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0}
.svc-hubs a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid var(--line);border-radius:var(--r);color:var(--ink);text-decoration:none;font-size:14px}
.svc-hubs a:hover{border-color:var(--line-strong);color:var(--link)}
.duo{display:grid;row-gap:48px}
ol.recent,.glist{list-style:none;margin:16px 0 0;padding:0}
.recent li,.glist li{margin:0}
.recent a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:4px 14px;min-height:48px;padding:8px 0;border-top:1px solid var(--line);color:var(--ink);text-decoration:none;line-height:1.45}
.recent time{font-size:14px;color:var(--muted)}
.rc-t{font-weight:600}
.rc-n{font-size:14px;color:var(--muted);white-space:nowrap}
.rc-n .num{color:var(--ink)}
.recent a:hover .rc-t,.glist a:hover span{text-decoration:underline;text-underline-offset:3px}
#guides h3 a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink)}
.glist{margin-top:8px}
.glist a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:8px 0;border-top:1px solid var(--line);color:var(--ink);text-decoration:none;font-size:15px;line-height:1.45}
.glist time{flex:none;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.pledge{max-width:52em;margin:20px 0 0;padding:14px 0;border-top:3px double var(--line-strong);border-bottom:3px double var(--line-strong);font-size:18px;line-height:1.7;color:var(--ink)}
.pledge p{margin:0}
.pledge p+p{margin-top:8px}
.srcline{max-width:52em;margin:16px 0 0;font-size:15px;line-height:1.7;color:var(--muted)}
.more{display:inline-flex;align-items:center;min-height:44px;font-weight:600}
.status{max-width:860px;margin:12px 0 0}
.status th[scope="row"]{background:transparent;white-space:normal;font:600 15px/1.5 var(--font-b);color:var(--ink)}
.status .def{display:block;margin-top:2px;font:400 14px/1.6 var(--font-b);color:var(--muted)}
.status .def a{position:relative;display:inline-block}
.status .def a::after{content:"";position:absolute;inset:-12px -10px}
.status td.num{text-align:right;white-space:nowrap;font-size:18px;color:var(--ink)}
.status thead th:last-child{text-align:right}
.pending{max-width:52em;margin:12px 0 0;border-bottom:1px solid var(--line)}
.pending summary{position:relative;display:flex;align-items:center;min-height:48px;padding-right:40px;cursor:pointer;list-style:none;font-weight:600}
.pending summary::-webkit-details-marker{display:none}
.pending summary::before,.pending summary::after{content:"";position:absolute;right:8px;top:50%;width:14px;height:2px;margin-top:-1px;background:var(--link)}
.pending summary::after{transform:rotate(90deg)}
.pending[open] summary::after{opacity:0}
.pending p{font-size:14px;line-height:1.7;color:var(--muted)}
#faq h2{margin-bottom:16px}
#faq details>p{padding-top:9px}
#faq details>p a{position:relative;white-space:nowrap}
#faq details>p a::after{content:"";position:absolute;left:-8px;right:-8px;top:50%;height:44px;margin-top:-22px}
@media (max-width:640px){
.find-hint{position:absolute!important;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.status th,.status td{padding:12px 10px}
}
@media (min-width:641px){
.home{padding-top:32px}
.sec{padding-top:72px}
.duo{row-gap:72px}
.home .regions{margin-top:56px}
.mx-wrap{display:block;margin-top:12px}
.rgl{display:none}
.board{display:block;margin:40px 0 0;padding:18px 20px 16px;border:1px solid var(--plate-line);border-radius:var(--r-l);background:var(--plate);color:var(--plate-ink);
box-shadow:inset 0 0 0 4px var(--plate),inset 0 0 0 5px rgba(255,255,255,.55)}
.ex{padding-top:2px}
}
@media (min-width:960px){
.svc-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.duo{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:64px}
.dest-wrap .dest-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.dest+.dest{border-top:0}
.dest{border-bottom:6px solid var(--sunken)}
.dest:nth-child(odd){border-right:6px solid var(--sunken)}
}
@media (min-width:1200px){
.lead-grid{display:grid;grid-template-columns:minmax(0,600px) minmax(0,1fr);grid-template-areas:"hero map" "regions map";column-gap:48px;align-items:start}
.hero{grid-area:hero}
.home .regions{grid-area:regions}
.board{grid-area:map;position:sticky;top:calc(var(--hd-h) + 24px);margin:0}
.svc-switch{grid-template-columns:repeat(8,minmax(0,1fr))}
.map{max-height:calc(100vh - 412px);min-height:340px}
.def{font-size:17px}
.mx[data-on="1"] td:nth-of-type(1),.mx[data-on="1"] thead th:nth-of-type(2),
.mx[data-on="2"] td:nth-of-type(2),.mx[data-on="2"] thead th:nth-of-type(3),
.mx[data-on="3"] td:nth-of-type(3),.mx[data-on="3"] thead th:nth-of-type(4),
.mx[data-on="4"] td:nth-of-type(4),.mx[data-on="4"] thead th:nth-of-type(5),
.mx[data-on="5"] td:nth-of-type(5),.mx[data-on="5"] thead th:nth-of-type(6),
.mx[data-on="6"] td:nth-of-type(6),.mx[data-on="6"] thead th:nth-of-type(7),
.mx[data-on="7"] td:nth-of-type(7),.mx[data-on="7"] thead th:nth-of-type(8),
.mx[data-on="8"] td:nth-of-type(8),.mx[data-on="8"] thead th:nth-of-type(9),
.mx[data-on="9"] td:nth-of-type(9),.mx[data-on="9"] thead th:nth-of-type(10){background:var(--hot)}
}
@media (prefers-reduced-motion:reduce){ .hl.on{transform:none} }
.rn-kind{margin:0 0 6px;font-size:13px;font-weight:600;line-height:1.5;color:var(--muted)}
.rn-q{margin:0 0 12px;font-size:15px;line-height:1.6;color:var(--muted);max-width:52em}
.rn-q span{margin-right:8px;font-weight:700;color:var(--ink)}
.rn-a{margin:0 0 14px;padding:14px 18px;background:var(--sunken);border-left:3px solid var(--rail);border-radius:0 var(--r) var(--r) 0;font-size:16.5px;line-height:1.7;color:var(--ink);max-width:52em}
.rnote .rn-meta{display:flex;flex-wrap:wrap;gap:2px 18px;margin:0 0 28px;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:14px;line-height:1.6;color:var(--muted);max-width:none}
.rn-meta time{font-family:var(--font-d);font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink)}
.rn-fig{margin:16px 0 28px}
.rn-fig.narrow{max-width:760px}
.rn-scroll{overflow-x:auto;border-top:2px solid var(--rail);border-bottom:1px solid var(--line);background:var(--surface)}
.rnote .rn-tbl{display:table;margin:0;font-size:14px}
.rn-tbl caption{position:sticky;left:0;caption-side:top;text-align:left;padding:10px 2px 8px;font-size:14px;line-height:1.6;color:var(--muted);max-width:calc(100vw - 32px)}
.rn-tbl thead th{white-space:normal;vertical-align:bottom;min-width:4.5em}
.rn-tbl th[scope="row"]{background:transparent;font-weight:600;white-space:normal;min-width:7em;border-right:3px double var(--line)}
.rn-tbl td{min-width:6.5em;max-width:30em}
.rn-tbl .w{min-width:20em}
.rn-tbl .n{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.rn-tbl thead th.n{white-space:normal}
.rn-tbl .na{color:var(--muted);background:var(--sunken)}
.rn-src{margin:6px 0 0;font-size:13px;line-height:1.6;color:var(--muted);max-width:52em}
.rn-src a{font-weight:600;white-space:nowrap}
.rn-body h2{margin-top:36px}
.rn-dl{margin:0;padding:0;border-top:3px double var(--line-strong);border-bottom:3px double var(--line-strong);max-width:52em}
.rn-dl>div{display:grid;grid-template-columns:64px minmax(0,1fr);gap:4px 16px;padding:12px 0;border-top:1px solid var(--line)}
.rn-dl>div:first-child{border-top:0}
.rn-dl dt{font-weight:600;color:var(--muted)}
.rn-dl dd{margin:0;font-size:15px;line-height:1.7}
.rn-cite-t{padding:12px 14px;background:var(--sunken);border-radius:var(--r);font-size:14px;line-height:1.6;overflow-wrap:anywhere;user-select:all}
.rn-srcs small{color:var(--muted)}
.rn-rel h3{margin:20px 0 8px}
.article .glist{padding-left:0}
.rn-list{list-style:none;margin:8px 0 40px;padding:0;border-top:3px double var(--line-strong)}
.article .rn-list{padding-left:0}
.rnote .rn-list li{margin:0;padding:14px 0 16px;border-bottom:1px solid var(--line);max-width:none}
.rn-list a{display:inline-flex;align-items:center;min-height:44px;font:600 18px/1.45 var(--font-d);color:var(--ink);text-decoration:none}
.rn-list a:hover{color:var(--link);text-decoration:underline}
.rn-list p{margin:2px 0 0}
.rn-list .q{font-size:15px;line-height:1.6}
.rn-list .m{font-size:13.5px;color:var(--muted)}
@media (max-width:640px){
.rn-a{font-size:16px;padding:12px 14px}
.rn-dl>div{grid-template-columns:minmax(0,1fr)}
.rn-tbl td{min-width:5.5em}
.rn-tbl .w{min-width:15em}
}
