/* KYC导航 · atlas sheet */
:root{
  --paper:#f4eee0;
  --paper-hi:#faf6ec;
  --paper-lo:#e9e0cb;
  --ink:#22281f;
  --ink-soft:#4b5246;
  --moss:#4a6b4f;
  --moss-deep:#2f4934;
  --moss-wash:rgba(74,107,79,.09);
  --sand:#c2a878;
  --sand-deep:#8a7043;
  --sand-wash:rgba(194,168,120,.2);
  --rust:#9c4a2c;
  --hair:rgba(34,40,31,.16);
  --hair-strong:rgba(34,40,31,.42);
  --serif:"Noto Serif SC","Songti SC","STSong",serif;
  --label:"Marcellus SC","Noto Serif SC",Georgia,serif;
  --sans:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",system-ui,sans-serif;
  --nums:lining-nums tabular-nums;
  --lift:0 1px 0 rgba(255,255,255,.7) inset,0 18px 40px -26px rgba(34,40,31,.45);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:5.5rem}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{
  font-variant-numeric:lining-nums;
  margin:0;color:var(--ink);font:400 1.0625rem/1.85 var(--sans);
  background-color:var(--paper);
  background-image:
    url(contours.svg),
    linear-gradient(var(--sand-wash) 1px,transparent 1px),
    linear-gradient(90deg,var(--sand-wash) 1px,transparent 1px);
  background-size:1600px 1000px,96px 96px,96px 96px;
  background-position:center -140px,center top,center top;
  background-repeat:no-repeat,repeat,repeat;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--moss-deep);text-decoration:underline;text-decoration-color:var(--sand);text-decoration-thickness:2px;text-underline-offset:.22em}
a:hover{color:var(--moss);text-decoration-color:var(--moss)}
:focus-visible{outline:2px solid var(--moss);outline-offset:3px}
.kn-skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--paper);padding:.5rem 1rem;z-index:50}
.kn-skip:focus{left:1rem;top:.5rem}

/* ---------- 页头:图幅抬头 ---------- */
.kn-top{position:sticky;top:0;z-index:30;background:rgba(244,238,224,.92);backdrop-filter:saturate(1.2) blur(8px);-webkit-backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid var(--hair-strong)}
.kn-top::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:4px;
  background:repeating-linear-gradient(90deg,var(--hair-strong) 0 1px,transparent 1px 24px),repeating-linear-gradient(90deg,var(--hair-strong) 0 1px,transparent 1px 120px);
  background-size:auto 2px,auto 4px;background-repeat:repeat-x;opacity:.7;pointer-events:none}
.kn-top__in{max-width:82.5rem;margin:0 auto;padding:.7rem clamp(1rem,3vw,2rem);display:flex;align-items:center;justify-content:space-between;gap:1rem}
.kn-mark{display:inline-flex;align-items:center;gap:.6rem;color:var(--ink);text-decoration:none}
.kn-mark svg{width:2.1rem;height:2.1rem;flex:none;color:var(--moss)}
.kn-mark__t{font:700 1.25rem/1 var(--serif);letter-spacing:.06em}
.kn-mark__d{font:400 .78rem/1 var(--label);letter-spacing:.14em;color:var(--sand-deep);border-left:1px solid var(--hair-strong);padding-left:.6rem}
.kn-nav{display:flex;gap:.25rem}
.kn-nav a{font-size:.95rem;color:var(--ink-soft);text-decoration:none;padding:.35rem .75rem;border:1px solid transparent;border-radius:2px}
.kn-nav a:hover{color:var(--moss-deep);border-color:var(--hair)}
.kn-nav a[aria-current=page],
.kn-p-about .kn-nav a[href="/about/"],
.kn-p-contact .kn-nav a[href="/contact/"]{color:var(--moss-deep);border-color:var(--moss);background:var(--paper-hi)}
@media (max-width:30em){.kn-mark__d{display:none}.kn-nav a{padding:.3rem .55rem}}

/* ---------- 主网格(图幅) ---------- */
.kn-main{display:grid;row-gap:0;
  grid-template-columns:[full-s] 1rem [sheet-s wide-s text-s mid] minmax(0,1fr) [text-e wide-e sheet-e] 1rem [full-e];
  padding-bottom:4rem}
.kn-art{display:contents}
.kn-art>*{grid-column:wide-s/wide-e;min-width:0}
.kn-art>[data-part=hero]{grid-row:1;grid-column:sheet-s/sheet-e}
.kn-plate{grid-row:2;grid-column:sheet-s/sheet-e;min-width:0}
.kn-legend{grid-row:3;grid-column:sheet-s/sheet-e;min-width:0}
@media (min-width:47em){
  .kn-main{grid-template-columns:[full-s] minmax(1.5rem,1fr) [sheet-s wide-s] minmax(0,2.5rem) [text-s mid] minmax(0,42.5rem) [text-e] minmax(0,2.5rem) [wide-e sheet-e] minmax(1.5rem,1fr) [full-e]}
}
@media (min-width:72em){
  .kn-main{grid-template-columns:[full-s] minmax(1.5rem,1fr) [sheet-s] minmax(0,10rem) [wide-s] minmax(0,9rem) [text-s] 15rem [mid] 27.5rem [text-e] minmax(0,9rem) [wide-e] minmax(0,10rem) [sheet-e] minmax(1.5rem,1fr) [full-e]}
  .kn-art>[data-part=hero]{grid-row:1;grid-column:sheet-s/mid;align-self:center;padding-right:2.5rem}
  .kn-plate{grid-row:1;grid-column:mid/sheet-e}
  .kn-legend{grid-row:2}
}

/* ---------- 首屏:标题栏 ---------- */
.kn-art>[data-part=hero]{padding:2.25rem 0 1.5rem}
[data-part=kicker]{margin:0 0 1rem;display:flex;align-items:center;gap:.75rem;font:400 .82rem/1.3 var(--label);letter-spacing:.16em;color:var(--moss)}
[data-part=kicker]::before{content:"";width:2.25rem;height:9px;flex:none;
  background:linear-gradient(90deg,var(--ink) 0 25%,transparent 25% 50%,var(--ink) 50% 75%,transparent 75%) center/100% 3px no-repeat;border:1px solid var(--ink);border-width:0 1px}
.kn-art h1{font:700 clamp(1.85rem,1.2rem + 2.6vw,2.9rem)/1.28 var(--serif);letter-spacing:.01em;margin:0 0 1.15rem;color:var(--ink);text-wrap:balance}
[data-part=dek]{font-size:1.1rem;line-height:1.85;color:var(--ink-soft);margin:0 0 1.4rem;max-width:36em}
[data-part=meta]{display:inline-flex;flex-wrap:nowrap;align-items:flex-start;gap:.5rem;margin:0;padding:.45rem .9rem .45rem .6rem;font-size:.88rem;line-height:1.5;color:var(--moss-deep);background:var(--paper-hi);border:1px solid var(--moss);border-left-width:4px}
[data-part=meta]::before{content:"";width:1.05rem;height:1.05rem;flex:none;margin-top:.17rem;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234a6b4f' stroke-width='1.8'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 3v3M12 18v3M3 12h3M18 12h3'/%3E%3Cpath d='m12 7 2 5-2 5-2-5z' fill='%234a6b4f'/%3E%3C/svg%3E") center/contain no-repeat}

/* 主视觉:带图廓与经纬刻度的图版 */
.kn-plate{margin:0 0 1.5rem;padding:0}
.kn-plate__frame{position:relative;padding:10px;background:var(--paper-hi);border:1px solid var(--hair-strong);box-shadow:var(--lift)}
.kn-plate__frame::before{content:"";position:absolute;inset:4px;border:1px solid var(--ink);pointer-events:none}
.kn-plate__frame::after{content:"";position:absolute;inset:10px;pointer-events:none;
  background:
    repeating-linear-gradient(90deg,var(--ink) 0 1px,transparent 1px 10%) top/100% 6px no-repeat,
    repeating-linear-gradient(90deg,var(--ink) 0 1px,transparent 1px 10%) bottom/100% 6px no-repeat,
    repeating-linear-gradient(0deg,var(--ink) 0 1px,transparent 1px 12.5%) left/6px 100% no-repeat,
    repeating-linear-gradient(0deg,var(--ink) 0 1px,transparent 1px 12.5%) right/6px 100% no-repeat;opacity:.55}
.kn-plate img{width:100%;aspect-ratio:16/9;object-fit:cover}
.kn-plate__foot{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:.6rem;font:400 .74rem/1 var(--label);letter-spacing:.14em;color:var(--sand-deep)}
.kn-scale{display:inline-flex;align-items:flex-end;height:.6rem}
.kn-scale i{width:2.2rem;height:5px;border:1px solid var(--ink);border-right:0}
.kn-scale i:nth-child(odd){background:var(--ink)}
.kn-scale i:last-child{border-right:1px solid var(--ink)}
@media (max-width:46.99em){.kn-plate__frame{padding:6px}.kn-plate__frame::after{inset:6px}}

/* ---------- 图例:章节索引 ---------- */
.kn-legend{margin:.5rem 0 3.25rem;position:relative;display:grid;gap:1.25rem 2rem;align-items:center;
  padding:1.5rem;background:var(--paper-hi);border:1px solid var(--hair-strong);box-shadow:var(--lift)}
.kn-legend::before{content:"";position:absolute;inset:5px;border:1px solid var(--hair);pointer-events:none}
.kn-legend__rose{width:7.5rem;justify-self:center}
.kn-legend__rose svg{width:100%;height:auto;display:block}
.kn-legend__h{margin:0 0 .75rem;display:flex;align-items:baseline;gap:.6rem;font:700 1.05rem/1.3 var(--serif)}
.kn-legend__h small{font:400 .74rem/1 var(--label);letter-spacing:.16em;color:var(--sand-deep)}
.kn-legend__list{list-style:none;margin:0;padding:0;display:grid;gap:0 1.75rem;counter-reset:kn-leg}
.kn-legend__list li{counter-increment:kn-leg;border-top:1px dashed var(--hair-strong)}
.kn-legend__list a{display:grid;grid-template-columns:2.6rem 1fr;gap:.6rem;align-items:baseline;padding:.6rem .25rem;color:var(--ink);text-decoration:none;font-size:.95rem;line-height:1.55;transition:background .2s,color .2s}
.kn-legend__list a:hover{background:var(--moss-wash);color:var(--moss-deep)}
.kn-brg{font:400 1.05rem/1 var(--label);font-style:normal;color:var(--moss);display:flex;flex-direction:column;gap:.25rem}
.kn-brg::before{content:counter(kn-leg,decimal-leading-zero)}
.kn-brg::after{content:attr(data-brg);font-size:.68rem;letter-spacing:.08em;color:var(--sand-deep)}
.kn-legend__list a[aria-current=true]{background:var(--moss);color:var(--paper-hi)}
.kn-legend__list a[aria-current=true] .kn-brg,.kn-legend__list a[aria-current=true] .kn-brg::after{color:var(--paper-hi)}
.kn-legend__list li.kn-hit a{box-shadow:inset 3px 0 0 var(--sand)}
.kn-legend__list li.kn-hit a span::after{content:"";display:inline-block;width:.55rem;height:.55rem;margin-left:.45rem;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--sand-deep);vertical-align:.1em}
@media (min-width:47em){
  .kn-legend{grid-template-columns:9rem 1fr;padding:1.75rem 2rem}
  .kn-legend__rose{width:9rem}
  .kn-legend__list{grid-template-columns:1fr 1fr}
}
@media (min-width:72em){
  .kn-legend{grid-template-columns:11rem 1fr;padding:2rem 2.5rem}
  .kn-legend__rose{width:11rem}
  .kn-legend__list{grid-template-columns:repeat(3,1fr);grid-auto-flow:row}
}

/* 罗盘玫瑰 */
.kn-rose{overflow:visible}
.kn-r-ring{fill:none;stroke:var(--ink);stroke-width:1.2}
.kn-r-thin{stroke-width:.6;stroke-dasharray:2 3}
.kn-r-tick{stroke:var(--ink);stroke-width:1}
.kn-r-d{fill:var(--moss)}
.kn-r-s{fill:var(--sand)}
.kn-r-l{fill:var(--paper-hi);stroke:var(--ink);stroke-width:.7}
.kn-r-hub{fill:var(--paper-hi);stroke:var(--ink);stroke-width:1.2}
.kn-r-n{font:400 15px/1 var(--label);fill:var(--rust);text-anchor:middle}
.kn-r-o{font:400 11px/1 var(--label);fill:var(--ink-soft);text-anchor:middle}

/* ---------- 正文 ---------- */
.kn-art>section{counter-increment:kn-sec;position:relative;padding:0 0 1.5rem;margin-bottom:2.5rem}
.kn-art>section>*{max-width:42.5rem;margin-left:auto;margin-right:auto}
.kn-art>section>figure,.kn-art>section>table,.kn-art>section>[data-part=regions]{max-width:none}
.kn-art p{margin-top:0;margin-bottom:1.15em}
.kn-art h2{position:relative;font:700 clamp(1.45rem,1.15rem + 1.1vw,1.9rem)/1.4 var(--serif);margin-top:0;margin-bottom:1.1rem;padding-top:1.4rem;border-top:1px solid var(--ink);text-wrap:balance}
.kn-art h2::before{content:counter(kn-sec,decimal-leading-zero) "  " attr(data-brg);white-space:pre;display:block;margin-bottom:.55rem;font:400 .8rem/1 var(--label);letter-spacing:.16em;color:var(--sand-deep)}
.kn-art h3{font:700 1.18rem/1.5 var(--serif);margin:2rem auto .7rem;color:var(--moss-deep)}
.kn-art ul,.kn-art ol{padding-left:1.35em;margin-top:0;margin-bottom:1.25em}
.kn-art li{margin-bottom:.45em}
.kn-art ul>li::marker{color:var(--sand-deep)}
.kn-art strong{font-weight:650;color:var(--ink)}
@media (min-width:72em){
  .kn-art h2::before{position:absolute;right:calc(100% + 1.4rem);top:1.55rem;width:6.5rem;text-align:right;white-space:pre;line-height:1.6;font-size:.95rem;content:counter(kn-sec,decimal-leading-zero) "\A" attr(data-brg)}
  .kn-art h2::after{content:"";position:absolute;top:-4px;left:-1.4rem;width:7px;height:7px;border:1px solid var(--ink);background:var(--paper);transform:rotate(45deg)}
}

/* 路线高亮(情形卡选中后) */
.kn-art>section.kn-hit::before{content:"";position:absolute;z-index:0;top:0;bottom:0;left:0;width:3px;
  background:repeating-linear-gradient(180deg,var(--sand-deep) 0 10px,transparent 10px 18px)}
.kn-art>section.kn-hit>h2{color:var(--moss-deep)}
.kn-hit-wrap{margin:0 auto .9rem!important}
.kn-hit-tag{display:inline-flex;align-items:center;gap:.4rem;padding:.2rem .65rem .2rem .45rem;font:500 .82rem/1.6 var(--sans);color:var(--paper-hi);background:var(--sand-deep);border-radius:2px}
.kn-hit-tag::before{content:"";width:.55rem;height:.55rem;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--paper-hi)}
@media (max-width:71.99em){.kn-art>section.kn-hit::before{left:-.6rem;width:2px}}
.kn-art>section>figure,.kn-art>section>table,.kn-art>section>ol,.kn-art>section>dl,.kn-art>section>div{position:relative;z-index:1}

/* 截图图版 */
[data-part=shot]{margin:2rem auto 2.25rem;counter-increment:kn-fig}
[data-part=shot] img{width:100%;background:#fff;border:1px solid var(--hair-strong);outline:6px solid var(--paper-hi);outline-offset:0;box-shadow:0 0 0 7px var(--hair),var(--lift)}
[data-part=shot] figcaption{max-width:42.5rem;margin:1.15rem auto 0;font-size:.88rem;line-height:1.7;color:var(--ink-soft);padding-left:3.4rem;position:relative}
[data-part=shot] figcaption::before{content:"图 " counter(kn-fig);position:absolute;left:0;top:.1rem;font:400 .78rem/1.6 var(--label);letter-spacing:.08em;color:var(--moss);border-top:2px solid var(--moss);padding-top:.1rem}
.kn-art{counter-reset:kn-sec kn-fig}
.kn-main{counter-reset:kn-sec kn-fig}
[data-part=shot] img{width:auto;max-height:44rem;margin:0 auto}
@media (min-width:72em){[data-part=shot] img{max-width:56rem}}

/* 三项对照(dl) */
.kn-art dl{display:grid;gap:0;margin:1.25rem auto 1.75rem;border:1px solid var(--hair-strong);background:var(--paper-hi);counter-reset:kn-dl}
.kn-art dt{counter-increment:kn-dl;font:700 1.02rem/1.5 var(--serif);padding:1rem 1.2rem 0 3.4rem;position:relative;color:var(--moss-deep)}
.kn-art dt::before{content:counter(kn-dl,upper-alpha);position:absolute;left:1.1rem;top:.95rem;width:1.6rem;height:1.6rem;display:grid;place-items:center;font:400 .85rem/1 var(--label);color:var(--paper-hi);background:var(--moss);border-radius:50%}
.kn-art dd{margin:0;padding:.3rem 1.2rem 1rem 3.4rem;border-bottom:1px dashed var(--hair-strong);font-size:.98rem}
.kn-art dd:last-child{border-bottom:0}

/* 表格 */
.kn-art table{width:100%;border-collapse:collapse;margin:1.5rem 0 2rem;font-size:.95rem;line-height:1.65;background:var(--paper-hi);border:1px solid var(--ink);display:block;overflow-x:auto}
.kn-art table.kn-tb{display:table}
.kn-art thead th{font:400 .8rem/1.4 var(--label);letter-spacing:.1em;text-align:left;color:var(--paper-hi);background:var(--moss-deep);padding:.75rem 1rem;white-space:nowrap}
.kn-art td{padding:.8rem 1rem;border-top:1px solid var(--hair);vertical-align:top;min-width:8em}
.kn-art td:first-child{font-weight:600;color:var(--moss-deep);background:var(--sand-wash)}
@media (max-width:46.99em){
  .kn-art table.kn-tb,.kn-art table.kn-tb tbody,.kn-art table.kn-tb tr,.kn-art table.kn-tb td{display:block;width:100%}
  .kn-art table.kn-tb thead{display:none}
  .kn-art table.kn-tb tr{border-top:1px solid var(--ink)}
  .kn-art table.kn-tb tr:first-child{border-top:0}
  .kn-art table.kn-tb td{border-top:1px dashed var(--hair);min-width:0}
  .kn-art table.kn-tb td::before{content:attr(data-th);display:block;font:400 .72rem/1.4 var(--label);letter-spacing:.1em;color:var(--sand-deep);margin-bottom:.2rem}
  .kn-art table.kn-tb td:first-child{border-top:0}
}

/* 提示与警示 */
[data-part=note],[data-part=warn]{position:relative;margin:1.75rem auto;padding:1.15rem 1.3rem 1.15rem 3.5rem;font-size:.98rem}
[data-part=note] p:last-child,[data-part=warn] p:last-child{margin-bottom:0}
[data-part=note]{background:var(--moss-wash);border:1px solid rgba(74,107,79,.45)}
[data-part=note]::before{content:"";position:absolute;left:1.1rem;top:1.25rem;width:1.5rem;height:1.5rem;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232f4934' stroke-width='1.7'%3E%3Ccircle cx='12' cy='12' r='9.5'/%3E%3Cpath d='M12 11v6M12 7.5v.5'/%3E%3C/svg%3E") center/contain no-repeat}
[data-part=warn]{background:#f8efe6;border:1px solid var(--rust)}
[data-part=warn]::after{content:"";position:absolute;left:0;top:0;bottom:0;width:.6rem;background:repeating-linear-gradient(-45deg,var(--rust) 0 3px,transparent 3px 7px)}
[data-part=warn]::before{content:"";position:absolute;left:1.35rem;top:1.25rem;width:1.5rem;height:1.5rem;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239c4a2c' stroke-width='1.7'%3E%3Cpath d='M12 3 2.5 20h19z'/%3E%3Cpath d='M12 10v5M12 17.5v.4'/%3E%3C/svg%3E") center/contain no-repeat}
[data-part=warn] strong{color:var(--rust)}

/* ---------- 签名组件:居住地情形卡 ---------- */
[data-part=regions]{display:grid;gap:1rem;margin:1.75rem 0 1rem;counter-reset:kn-reg}
@media (min-width:47em){[data-part=regions]{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:72em){[data-part=regions]{grid-template-columns:repeat(6,minmax(0,1fr))}[data-region]{grid-column:span 2}[data-region]:nth-child(4){grid-column:2/span 2}}
[data-region]{counter-increment:kn-reg;position:relative;padding:3.6rem 1.25rem 1.1rem;background:var(--paper-hi);border:1px solid var(--hair-strong);box-shadow:var(--lift);transition:border-color .2s,box-shadow .2s,transform .2s,background .2s}
[data-region]::before{content:"情形 " counter(kn-reg,upper-alpha);position:absolute;left:1.25rem;top:1.15rem;font:400 .8rem/1 var(--label);letter-spacing:.16em;color:var(--sand-deep);padding:.35rem 0 .35rem 2.4rem;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234a6b4f' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M12 21s-6.5-6.2-6.5-11.2a6.5 6.5 0 0 1 13 0C18.5 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.8' r='2.3'/%3E%3C/svg%3E") left center/1.7rem no-repeat}
[data-region=home]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234a6b4f' stroke-width='1.6' stroke-linejoin='round'%3E%3Cpath d='M3.5 11 12 4l8.5 7v9h-5.5v-5.5h-6V20H3.5z'/%3E%3C/svg%3E")}
[data-region=expat]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234a6b4f' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='5.5' cy='17.5' r='2.5'/%3E%3Ccircle cx='18.5' cy='6.5' r='2.5' fill='%234a6b4f'/%3E%3Cpath d='M7.5 15.5 16.3 8.4' stroke-dasharray='2 2.6'/%3E%3C/svg%3E")}
[data-region=travel]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234a6b4f' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M4 18c3-9 13-9 16 0' stroke-dasharray='2 2.6'/%3E%3Ccircle cx='4' cy='18' r='1.8' fill='%234a6b4f'/%3E%3Cpath d='m18 14.5 2 3.5 2.4-3'/%3E%3C/svg%3E")}
[data-region=missing]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239c4a2c' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='m6 18 12-12'/%3E%3C/svg%3E")}
[data-region=moving]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234a6b4f' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='13' width='6' height='6'/%3E%3Crect x='15.5' y='5' width='6' height='6' fill='%234a6b4f'/%3E%3Cpath d='M8.5 14.5h4.5V9.5h2.5'/%3E%3Cpath d='m13.8 8 1.7 1.5-1.7 1.5'/%3E%3C/svg%3E")}
[data-region] h3{margin:0 0 .55rem;font:700 1.08rem/1.5 var(--serif);color:var(--ink)}
[data-region] p{margin:0;font-size:.95rem;line-height:1.8;color:var(--ink-soft)}
.kn-js [data-region]{cursor:pointer}
.kn-js [data-region]:hover{border-color:var(--moss);transform:translateY(-2px)}
.kn-js [data-region]::after{content:"";position:absolute;right:1.1rem;top:1.15rem;width:1.15rem;height:1.15rem;border:1.5px solid var(--hair-strong);border-radius:50%;background:var(--paper)}
[data-region][aria-pressed=true]{border:2px solid var(--moss);background:linear-gradient(var(--moss-wash),var(--moss-wash)),var(--paper-hi);padding:calc(3.6rem - 1px) calc(1.25rem - 1px) calc(1.1rem - 1px);box-shadow:0 0 0 4px rgba(74,107,79,.16),var(--lift)}
[data-region][aria-pressed=true] h3{color:var(--moss-deep)}
[data-region][aria-pressed=true] p{color:var(--ink)}
.kn-js [data-region][aria-pressed=true]::after{border-color:var(--moss);background:radial-gradient(circle,var(--moss) 0 38%,var(--paper-hi) 42%)}
.kn-routebar{max-width:none!important;margin:0 0 1rem;padding:.85rem 1.1rem;border:1px dashed var(--hair-strong);background:rgba(250,246,236,.7);font-size:.92rem;line-height:1.75;color:var(--ink-soft)}
.kn-routebar b{font:400 .78rem/1 var(--label);letter-spacing:.14em;color:var(--sand-deep);margin-right:.6rem}
.kn-routebar a{margin-right:.25rem}
.kn-routebar a+a::before{content:"→";display:inline-block;margin:0 .45rem 0 .2rem;color:var(--sand-deep);text-decoration:none}
.kn-routebar button{font:inherit;font-size:.85rem;margin-left:.5rem;padding:.1rem .6rem;color:var(--ink-soft);background:none;border:1px solid var(--hair-strong);border-radius:2px;cursor:pointer}
.kn-routebar.is-on{border-style:solid;border-color:var(--sand-deep);background:var(--paper-hi);color:var(--ink)}

/* ---------- 推荐码图签(CTA) ---------- */
.kn-art>[data-part=cta]{position:relative;max-width:46rem;margin:.5rem auto 3.5rem;padding:2rem 1.5rem 1.6rem;background:var(--paper-hi);border:1px solid var(--ink);box-shadow:0 0 0 6px var(--paper-hi),0 0 0 7px var(--sand-deep),var(--lift);text-align:center;width:calc(100% - 14px);justify-self:center}
.kn-art>[data-part=cta]::before{content:"";position:absolute;left:50%;top:-1.15rem;width:2.3rem;height:2.3rem;margin-left:-1.15rem;border-radius:50%;background:var(--paper-hi) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-12 -12 24 24'%3E%3Cpath d='M0-9 2.2 0H-2.2z' fill='%234a6b4f'/%3E%3Cpath d='M0 9 2.2 0H-2.2z' fill='%23c2a878'/%3E%3Ccircle r='10.5' fill='none' stroke='%2322281f'/%3E%3C/svg%3E") center/80% no-repeat;border:1px solid var(--sand-deep)}
[data-part=cta] p{margin:0 auto .9rem;max-width:36rem}
[data-part=cta] p:first-child{font:700 1.5rem/1.4 var(--serif);letter-spacing:.04em}
[data-part=cta] p:first-child strong{font-weight:700}
.kn-code-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.6rem 1rem;margin:.35rem 0 1.15rem}
.kn-code-lab{display:block;font:400 .82rem/1.4 var(--label);letter-spacing:.2em;color:var(--sand-deep);margin-bottom:.4rem}
.kn-code{font:400 clamp(2rem,1.4rem + 2.4vw,2.75rem)/1 var(--label);letter-spacing:.14em;color:var(--moss-deep);padding:.45rem 1rem .5rem;border:1px dashed var(--sand-deep);background:var(--paper)}
.kn-copy{font:500 .92rem/1 var(--sans);padding:.7rem 1rem;color:var(--moss-deep);background:var(--paper);border:1px solid var(--moss);border-radius:2px;cursor:pointer;min-width:6.5rem}
.kn-copy:hover{background:var(--moss-wash)}
.kn-copy.is-done{background:var(--moss);color:var(--paper-hi)}
[data-part=cta] p:nth-child(2){font-size:1rem;color:var(--ink)}
[data-part=cta] a[data-cta]{display:inline-flex;align-items:center;gap:.6rem;padding:.95rem 2rem;font:700 1.08rem/1 var(--serif);letter-spacing:.06em;color:var(--paper-hi);background:var(--moss);border:1px solid var(--moss-deep);text-decoration:none;box-shadow:0 3px 0 var(--moss-deep);border-radius:2px;transition:transform .15s,box-shadow .15s,background .15s}
[data-part=cta] a[data-cta]::after{content:"";width:1rem;height:1rem;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23faf6ec' stroke-width='2'%3E%3Cpath d='M7 17 17 7M9 7h8v8'/%3E%3C/svg%3E") center/contain no-repeat}
[data-part=cta] a[data-cta]:hover{background:var(--moss-deep);transform:translateY(1px);box-shadow:0 2px 0 var(--moss-deep)}
[data-part=cta] p:last-child{margin-top:1.1rem;margin-bottom:0;padding-top:1rem;border-top:1px solid var(--hair);font-size:.94rem;line-height:1.75;color:var(--ink);text-align:left}

/* ---------- 注册步骤:测量点路线 ---------- */
ol[data-part=steps]{list-style:none;padding:0;margin:1.5rem auto 2rem;counter-reset:kn-step;position:relative}
ol[data-part=steps]>li{counter-increment:kn-step;position:relative;padding:0 0 1.6rem 4rem;margin:0}
ol[data-part=steps]>li::before{content:counter(kn-step);position:absolute;left:0;top:0;width:2.75rem;height:2.5rem;display:grid;place-items:center;padding-top:.55rem;font:400 1rem/1 var(--label);color:var(--paper-hi);
  background:var(--moss);clip-path:polygon(50% 0,100% 100%,0 100%)}
ol[data-part=steps]>li::after{content:"";position:absolute;left:1.33rem;top:2.85rem;bottom:.3rem;border-left:2px dashed var(--sand)}
ol[data-part=steps]>li:last-child::after{display:none}
ol[data-part=steps]>li>p{margin:0;padding:.85rem 1.1rem;background:var(--paper-hi);border:1px solid var(--hair)}
ol[data-part=steps]>li>p strong{display:block;font:700 1.08rem/1.5 var(--serif);color:var(--moss-deep);margin-bottom:.3rem}

/* ---------- 常见问题 ---------- */
#faq details{border-top:1px solid var(--hair-strong);background:transparent;transition:background .2s}
#faq details:last-of-type{border-bottom:1px solid var(--hair-strong)}
#faq summary{list-style:none;cursor:pointer;position:relative;padding:1.05rem 2.75rem 1.05rem 0;font:700 1.05rem/1.6 var(--serif);color:var(--ink)}
#faq summary::-webkit-details-marker{display:none}
#faq summary::after{content:"";position:absolute;right:.4rem;top:1.2rem;width:1.35rem;height:1.35rem;border:1px solid var(--ink);border-radius:50%;
  background:linear-gradient(var(--ink),var(--ink)) center/9px 1.5px no-repeat,linear-gradient(var(--ink),var(--ink)) center/1.5px 9px no-repeat;transition:transform .25s}
#faq summary:hover{color:var(--moss-deep)}
#faq details[open]{background:linear-gradient(90deg,var(--moss-wash),transparent 70%)}
#faq details[open] summary{color:var(--moss-deep);padding-left:1rem}
#faq details[open] summary::after{transform:rotate(45deg);border-color:var(--moss)}
#faq details p{margin:0;padding:0 1rem 1.25rem;font-size:.98rem;color:var(--ink-soft)}

/* ---------- 浮动罗盘 ---------- */
.kn-dial{position:fixed;right:clamp(.9rem,2vw,1.75rem);bottom:clamp(.9rem,2vw,1.75rem);z-index:40;width:4.6rem;height:4.6rem;padding:0;border:0;border-radius:50%;cursor:pointer;
  background:radial-gradient(circle at 35% 30%,#e3cf9f,var(--sand) 45%,var(--sand-deep) 100%);box-shadow:0 10px 24px -10px rgba(34,40,31,.6),0 0 0 1px rgba(34,40,31,.35);
  opacity:0;transform:translateY(12px) scale(.9);pointer-events:none;transition:opacity .25s,transform .25s}
.kn-dial.is-shown{opacity:1;transform:none;pointer-events:auto}
.kn-dial__face{position:absolute;inset:6px;border-radius:50%;background:repeating-conic-gradient(from -.5deg,var(--ink) 0 1deg,transparent 1deg 30deg),var(--paper-hi);box-shadow:inset 0 2px 6px rgba(34,40,31,.3)}
.kn-dial__face::before{content:"";position:absolute;inset:5px;border-radius:50%;background:var(--paper-hi)}
.kn-dial__needle{position:absolute;left:50%;top:50%;width:8px;height:2.9rem;margin:-1.45rem 0 0 -4px;transform:rotate(var(--kn-a,0deg));transition:transform .6s cubic-bezier(.3,1.4,.5,1)}
.kn-dial__needle::before,.kn-dial__needle::after{content:"";position:absolute;left:0;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent}
.kn-dial__needle::before{top:0;border-bottom:1.45rem solid var(--rust)}
.kn-dial__needle::after{bottom:0;border-top:1.45rem solid var(--ink-soft)}
.kn-dial__no{position:absolute;left:50%;transform:translateX(-50%);bottom:.55rem;padding:.12rem .3rem;background:var(--paper-hi);border-radius:2px;text-align:center;font:400 .62rem/1 var(--label);letter-spacing:.08em;color:var(--ink);z-index:1}
.kn-dial-pin{position:absolute;left:50%;top:50%;width:7px;height:7px;margin:-3.5px;border-radius:50%;background:var(--paper-hi);border:1.5px solid var(--ink);z-index:2}

.kn-chart{position:fixed;right:clamp(.9rem,2vw,1.75rem);bottom:calc(clamp(.9rem,2vw,1.75rem) + 5.4rem);z-index:41;width:min(25rem,calc(100vw - 1.8rem));max-height:calc(100vh - 8.5rem);overflow:auto;
  background:var(--paper-hi);border:1px solid var(--ink);box-shadow:0 0 0 5px var(--paper-hi),0 0 0 6px var(--sand-deep),0 30px 60px -20px rgba(34,40,31,.55);padding:1.25rem 1.25rem 1rem;
  opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .2s,transform .2s,visibility 0s .2s}
.kn-chart.is-open{opacity:1;visibility:visible;transform:none;transition:opacity .2s,transform .2s}
.kn-chart__h{display:flex;justify-content:space-between;align-items:center;margin:0 0 .25rem;font:700 1rem/1.3 var(--serif)}
.kn-chart__x{width:2rem;height:2rem;border:1px solid var(--hair-strong);background:none;border-radius:50%;cursor:pointer;font:400 1.1rem/1 var(--sans);color:var(--ink)}
.kn-chart__ring{position:relative;width:13.5rem;height:13.5rem;margin:.75rem auto 1rem;border-radius:50%;
  background:radial-gradient(circle,var(--paper-hi) 0 58%,transparent 58.5%),repeating-conic-gradient(var(--hair-strong) 0 .6deg,transparent .6deg 10deg),var(--paper);border:1px solid var(--ink)}
.kn-chart__ring::before{content:"N";position:absolute;left:50%;top:-1.45rem;transform:translateX(-50%);font:400 .9rem/1 var(--label);color:var(--rust)}
.kn-chart__ring::after{content:"";position:absolute;inset:22%;border-radius:50%;border:1px dashed var(--hair-strong)}
.kn-chart__ring .kn-dial__needle{height:5rem;margin-top:-2.5rem;width:10px;margin-left:-5px;z-index:1}
.kn-chart__ring .kn-dial__needle::before{border-left-width:5px;border-right-width:5px;border-bottom-width:2.5rem}
.kn-chart__ring .kn-dial__needle::after{border-left-width:5px;border-right-width:5px;border-top-width:2.5rem}
.kn-wp{position:absolute;left:50%;top:50%;width:1.9rem;height:1.9rem;margin:-.95rem;display:grid;place-items:center;border-radius:50%;
  transform:rotate(var(--a)) translateY(-5.9rem) rotate(calc(var(--a) * -1));font:400 .74rem/1 var(--label);color:var(--ink);background:var(--paper-hi);border:1px solid var(--ink);text-decoration:none;z-index:2}
.kn-wp:hover{background:var(--moss-wash)}
.kn-wp.is-cur{background:var(--moss);color:var(--paper-hi);border-color:var(--moss-deep)}
.kn-wp.kn-hit{box-shadow:0 0 0 3px var(--sand)}
.kn-chart ol{list-style:none;margin:0;padding:0;counter-reset:kn-leg}
.kn-chart li{counter-increment:kn-leg;border-top:1px dashed var(--hair-strong)}
.kn-chart li a{display:grid;grid-template-columns:2.4rem 1fr;gap:.5rem;padding:.5rem .3rem;font-size:.9rem;line-height:1.5;color:var(--ink);text-decoration:none}
.kn-chart li a:hover{background:var(--moss-wash)}
.kn-chart li a[aria-current=true]{background:var(--moss);color:var(--paper-hi)}
.kn-chart li a[aria-current=true] .kn-brg,.kn-chart li a[aria-current=true] .kn-brg::after{color:var(--paper-hi)}
.kn-chart li.kn-hit a{box-shadow:inset 3px 0 0 var(--sand)}
.kn-chart .kn-brg{font-size:.9rem}
@media (max-width:46.99em){
  .kn-chart{left:.9rem;right:.9rem;width:auto;bottom:6.4rem;max-height:calc(100vh - 8rem)}
  .kn-chart__ring{width:11.5rem;height:11.5rem}
  .kn-wp{transform:rotate(var(--a)) translateY(-4.95rem) rotate(calc(var(--a) * -1))}
  .kn-chart__ring .kn-dial__needle{height:4rem;margin-top:-2rem}
  .kn-chart__ring .kn-dial__needle::before{border-bottom-width:2rem}
  .kn-chart__ring .kn-dial__needle::after{border-top-width:2rem}
}

/* ---------- 页脚:图签 ---------- */
.kn-foot{position:relative;padding:3.5rem clamp(1rem,3vw,2rem) 2.5rem;background:var(--paper-lo);border-top:1px solid var(--ink)}
.kn-foot::before{content:"";position:absolute;inset:0;background:url(contours.svg) right -200px top -120px/1300px auto no-repeat;opacity:.7;pointer-events:none}
.kn-foot__in{position:relative;max-width:68rem;margin:0 auto;display:grid;border:1px solid var(--ink);background:var(--paper-hi);box-shadow:0 0 0 5px var(--paper-hi),0 0 0 6px var(--hair-strong)}
.kn-foot__cell{padding:1.1rem 1.25rem;border-bottom:1px solid var(--hair-strong)}
.kn-foot__k{display:block;font:400 .72rem/1.3 var(--label);letter-spacing:.18em;color:var(--sand-deep);margin-bottom:.45rem}
.kn-foot__id{display:flex;gap:.9rem;align-items:center}
.kn-foot__id svg{width:2.8rem;height:2.8rem;flex:none;color:var(--moss)}
.kn-foot__id strong{display:block;font:700 1.2rem/1.3 var(--serif)}
.kn-foot__id span{font-size:.9rem;color:var(--ink-soft);line-height:1.6}
.kn-foot nav{display:flex;flex-wrap:wrap;gap:.3rem 1.1rem}
.kn-foot nav a,.kn-foot__mail{color:var(--ink);font-size:.95rem}
.kn-foot__risk{margin:0;padding:1rem 1.25rem;font-size:.92rem;line-height:1.7;color:var(--ink);background:var(--sand-wash);border-bottom:1px solid var(--hair-strong)}
.kn-foot__c{margin:0;padding:.8rem 1.25rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;font:400 .8rem/1.5 var(--label);letter-spacing:.06em;color:var(--ink-soft)}
@media (min-width:47em){
  .kn-foot__in{grid-template-columns:1.4fr 1fr 1fr}
  .kn-foot__cell{border-right:1px solid var(--hair-strong)}
  .kn-foot__cell:nth-child(3){border-right:0}
  .kn-foot__risk,.kn-foot__c{grid-column:1/-1}
}

/* ---------- 站务页 ---------- */
.kn-doc{max-width:48rem;margin:3rem auto 4.5rem;padding:0 1rem}
.kn-doc__sheet{position:relative;padding:2.5rem clamp(1.25rem,4vw,3rem) 2.25rem;background:var(--paper-hi);border:1px solid var(--ink);box-shadow:0 0 0 6px var(--paper-hi),0 0 0 7px var(--hair-strong),var(--lift)}
.kn-doc__no{position:absolute;right:1.25rem;top:1rem;font:400 .72rem/1 var(--label);letter-spacing:.18em;color:var(--sand-deep)}
.kn-doc h1{font:700 clamp(1.6rem,1.2rem + 1.6vw,2.2rem)/1.35 var(--serif);margin:0 0 1.5rem;padding-bottom:1.1rem;border-bottom:1px solid var(--ink);text-wrap:balance}
.kn-doc h2{font:700 1.25rem/1.5 var(--serif);color:var(--moss-deep);margin:2.1rem 0 .7rem;display:flex;align-items:center;gap:.6rem}
.kn-doc h2::before{content:"";width:.6rem;height:.6rem;border:1.5px solid var(--moss);transform:rotate(45deg);flex:none}
.kn-doc p{margin:0 0 1.05em}
.kn-doc ul{padding-left:1.3em}
.kn-doc li{margin-bottom:.4em}
.kn-doc dl{margin:1rem 0;border-left:3px solid var(--sand)}
.kn-doc dt{font:700 1.02rem/1.5 var(--serif);padding:.2rem 0 0 1rem}
.kn-doc dd{margin:0 0 1rem;padding:.2rem 0 0 1rem;color:var(--ink-soft)}

/* 404 */
.kn-lost{max-width:44rem;margin:0 auto;padding:4.5rem 1rem 5rem;text-align:center}
.kn-lost svg{width:9rem;height:9rem;margin:0 auto 1.5rem;display:block}
.kn-lost .kn-rose{transform:rotate(-28deg)}
.kn-lost__code{font:400 .9rem/1 var(--label);letter-spacing:.3em;color:var(--sand-deep);margin:0 0 .9rem}
.kn-lost h1{font:700 clamp(1.7rem,1.3rem + 1.8vw,2.4rem)/1.35 var(--serif);margin:0 0 1rem}
.kn-lost p{color:var(--ink-soft);margin:0 0 1.75rem}
.kn-lost a.kn-back{display:inline-block;padding:.85rem 1.75rem;background:var(--moss);color:var(--paper-hi);text-decoration:none;font:700 1rem/1 var(--serif);letter-spacing:.06em;border-radius:2px;box-shadow:0 3px 0 var(--moss-deep)}

@media print{.kn-top,.kn-dial,.kn-chart,.kn-legend{display:none}body{background:#fff}}

/* 窄屏收紧 */
@media (max-width:46.99em){
  .kn-art>[data-part=hero]{padding:1.4rem 0 1.1rem}
  [data-part=kicker]{margin-bottom:.7rem}
  .kn-art h1{margin-bottom:.8rem}
  [data-part=dek]{font-size:1.02rem;line-height:1.8;margin-bottom:1rem}
  [data-part=meta]{font-size:.84rem;padding:.4rem .7rem .4rem .55rem}
  .kn-plate{margin-bottom:1.1rem}
  ol[data-part=steps]>li{padding-left:2.9rem}
  ol[data-part=steps]>li::before{width:2.1rem;height:1.95rem;padding-top:.45rem;font-size:.85rem}
  ol[data-part=steps]>li::after{left:1.01rem;top:2.25rem}
  ol[data-part=steps]>li>p{padding:.75rem .85rem}
  [data-part=note],[data-part=warn]{padding:1rem 1rem 1rem 3rem}
  [data-part=note]::before{left:.85rem}
  [data-part=warn]::before{left:1.05rem}
  .kn-art>[data-part=cta]{padding:1.9rem 1.1rem 1.4rem}
  .kn-legend{padding:1.25rem 1.1rem}
  .kn-legend__rose{width:6.5rem}
}
