/* HEFAK · C 量尺橄榄 · HK38-01 */
@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:300 700;font-display:swap;src:url(/assets/fonts/space-grotesk-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{
 --bg:#FBFBF9;--card:#FFFFFF;--ink:#1B1D19;--ink2:#4D5247;--ink3:#8A9082;--rule:#DDE0D6;
 --olive:#5E6B2F;--olive2:#8C9A4F;--olive3:#EEF1E2;--olive4:#F6F7EE;
 --warn:#F3EFDF;--stop:#F1E4E0;--ok:#E6EFE4;
 --sans:"Space Grotesk","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.75 var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
button{font-family:inherit}
.hk-wrap{max-width:1240px;margin:0 auto;padding:0 36px}
.hk-skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:8px 12px;border-radius:4px;z-index:9}
.hk-skip:focus{left:12px}

/* 顶栏 */
.hk-top{display:flex;align-items:center;gap:28px;height:80px}
.hk-mark{font:700 20px/1 var(--sans);letter-spacing:.2em;display:flex;align-items:center;gap:10px;white-space:nowrap}
.hk-mark i{width:26px;height:12px;background:repeating-linear-gradient(90deg,var(--ink) 0 2px,transparent 2px 7px);border-bottom:2px solid var(--ink)}
.hk-nav{display:flex;gap:26px;margin-left:auto;font-size:14.5px;font-weight:600;color:var(--ink2)}
.hk-nav a{white-space:nowrap;padding:6px 0;border-bottom:2px solid transparent}
.hk-nav a:hover,.hk-nav a[aria-current]{color:var(--olive);border-color:var(--olive2)}
.hk-find{display:flex;align-items:center;gap:8px;border:1px solid var(--rule);border-radius:999px;padding:8px 16px;font-size:13.5px;color:var(--ink3);min-width:200px;background:var(--card)}
.hk-find svg{flex:none}
.hk-find input{border:0;outline:0;background:transparent;font:14px var(--sans);width:100%;color:var(--ink)}
.hk-find input::placeholder{color:var(--ink3)}

/* 通用小件 */
.hk-eye{font:700 11px/1.3 var(--sans);letter-spacing:.24em;color:var(--ink3);display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px}
.hk-eye.lit{color:var(--olive)}
.hk-eye span{font:600 13px/1.3 var(--sans);letter-spacing:.04em;color:var(--ink3)}
.hk-tick{font:700 10.5px/1 var(--sans);letter-spacing:.22em;color:var(--olive)}
.hk-count{font-size:13px;color:var(--ink3);font-weight:500;letter-spacing:.04em}
.hk-copy{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border:0;border-radius:4px;padding:0 24px;background:var(--olive2);color:var(--ink);font:700 15px/1 var(--sans);cursor:pointer;width:100%}
.hk-copy:hover{background:#A4B25F}
.hk-copy.is-done{background:#C9D5A0}

/* 首页 */
.hk-hero{display:grid;grid-template-columns:92px 1fr 420px;grid-template-rows:auto 1fr;grid-template-areas:"ruler head stage" "ruler main stage";column-gap:40px;padding:40px 0 56px;align-items:stretch}
.hk-ruler{grid-area:ruler}.hk-head{grid-area:head}.hk-main{grid-area:main}.hk-stage{grid-area:stage}
.hk-head h1{font-size:50px;line-height:1.14;font-weight:700;letter-spacing:-.02em;margin:16px 0 20px}
.hk-head h1 em{font-style:normal;color:var(--olive)}
.hk-ruler{position:relative;border-right:2px solid var(--ink);background:repeating-linear-gradient(180deg,transparent 0 23px,var(--rule) 23px 24px),repeating-linear-gradient(180deg,transparent 0 119px,var(--ink) 119px 120px);background-size:14px 100%,28px 100%;background-repeat:repeat-y;background-position:right top}
.hk-ruler ol{list-style:none;margin:0;padding:0;position:absolute;left:0;top:0;bottom:0;display:flex;flex-direction:column;justify-content:space-between}
.hk-ruler li{font:700 11px/1 var(--sans);letter-spacing:.12em;color:var(--ink3);display:flex;flex-direction:column;gap:4px;padding-right:12px}
.hk-ruler li b{font-size:20px;color:var(--ink);letter-spacing:0}
.hk-ruler li.on b{color:var(--olive)}
.hk-main h1{font-size:50px;line-height:1.14;font-weight:700;letter-spacing:-.02em;margin:16px 0 20px}
.hk-main h1 em{font-style:normal;color:var(--olive)}
.hk-lead{font-size:17px;color:var(--ink2);margin:0 0 26px;max-width:34em}
.hk-answer{border:1px solid var(--rule);border-radius:4px;background:var(--card);padding:18px 22px;position:relative;max-width:40em}
.hk-answer:before{content:"";position:absolute;left:-1px;top:14px;bottom:14px;width:4px;background:var(--olive)}
.hk-answer small{display:block;font:700 10.5px/1 var(--sans);letter-spacing:.24em;color:var(--olive);margin-bottom:8px}
.hk-answer p{margin:0;font-size:15.5px;line-height:1.7}
.hk-answer i{display:block;font-style:normal;font-size:13px;color:var(--ink3);margin-top:8px}
.hk-answer.wide{max-width:860px;margin:0 0 30px}
.hk-answer.wide p{font-size:16.5px}
.hk-twin{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px;max-width:40em}
.hk-twin a{display:block;padding:14px 16px;border:1px solid var(--rule);border-radius:4px;background:var(--olive4)}
.hk-twin a:hover{border-color:var(--olive2)}
.hk-twin a small{font:700 10.5px/1 var(--sans);letter-spacing:.22em;color:var(--ink3)}
.hk-twin a b{display:block;font-size:15px;line-height:1.45;margin-top:6px}
.hk-stage{align-self:start}
.hk-panel{background:var(--ink);color:#F2F3EC;border-radius:6px;padding:28px 28px 24px;position:relative;overflow:hidden}
.hk-panel:before{content:"";position:absolute;left:0;right:0;top:0;height:10px;background:repeating-linear-gradient(90deg,var(--olive2) 0 2px,transparent 2px 10px)}
.hk-panel .hk-eye{margin-top:6px;color:var(--olive2)}
.hk-code{font:700 46px/1 var(--sans);letter-spacing:.1em;margin:16px 0 18px;word-break:break-all}
.hk-gain{margin:16px 0 0;font-size:15px;font-weight:600;line-height:1.5}
.hk-gain small{display:block;font-weight:400;font-size:13px;line-height:1.55;color:#AEB3A6;margin-top:6px}
.hk-go{margin:14px 0 0;font-size:14px}
.hk-go a{color:#fff;border-bottom:1px solid var(--olive2)}
.hk-read{display:block;margin-top:14px;padding:18px 22px;border:1px solid var(--rule);border-radius:6px;background:var(--card)}
.hk-read:hover{border-color:var(--olive2)}
.hk-read i{display:block;font-style:normal;font:700 10.5px/1 var(--sans);letter-spacing:.22em;color:var(--olive);margin-bottom:8px}
.hk-read b{display:block;font-size:15.5px;line-height:1.45}
.hk-read span{display:block;margin-top:6px;font-size:13px;color:var(--ink3)}
.hk-scale{border-top:1px solid var(--rule);padding:56px 0 60px;background:var(--olive4)}
.hk-sec-h{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:26px}
.hk-sec-h h2{font:700 26px/1.25 var(--sans);margin:0}
.hk-sec-h p{margin:6px 0 0;color:var(--ink2)}
.hk-sec-h a{font-size:14px;font-weight:600;border-bottom:1px solid var(--olive2);white-space:nowrap}
.hk-row{display:grid;grid-template-columns:repeat(7,1fr);gap:0;border-top:2px solid var(--ink)}
.hk-row div{padding:16px 14px 18px;border-right:1px solid var(--rule);position:relative}
.hk-row div:last-child{border-right:0}
.hk-row div:before{content:"";position:absolute;left:0;top:-2px;width:2px;height:14px;background:var(--ink)}
.hk-row div small{font:700 11px/1 var(--sans);letter-spacing:.2em;color:var(--olive)}
.hk-row div b{display:block;font-size:14.5px;line-height:1.45;margin:8px 0 10px;font-weight:600;color:var(--ink2)}
.hk-row div a{display:block;font-size:14px;color:var(--ink);line-height:1.45;padding:6px 0;border-top:1px dashed var(--rule)}
.hk-row div a:hover{color:var(--olive)}
.hk-topics{padding:48px 0 56px}
.hk-chips{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.hk-chips a{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid var(--rule);border-radius:4px;background:var(--card);font-size:14px}
.hk-chips a:hover{border-color:var(--olive2)}
.hk-chips small{color:var(--ink3);font-size:12px}

/* 列表页 / 文章页头 */
.hk-crumbs{display:flex;flex-wrap:wrap;gap:8px;padding:22px 0 0;margin:0;list-style:none;font-size:13px;color:var(--ink3)}
.hk-crumbs li+li:before{content:"/";margin-right:8px;color:var(--rule)}
.hk-crumbs a{display:inline-block;padding:10px 0}.hk-crumbs a:hover{color:var(--ink)}
.hk-lhead{padding:30px 0 26px;max-width:860px}
.hk-lhead h1{font-size:38px;line-height:1.24;font-weight:700;letter-spacing:-.015em;margin:12px 0 10px}
.hk-lhead .intro{color:var(--ink2);font-size:16px}
.hk-lhead .intro p{margin:0 0 12px}
.hk-group{margin:0 0 40px}
.hk-group h2{font:700 20px/1.3 var(--sans);margin:0 0 4px;display:flex;align-items:baseline;gap:12px}
.hk-group h2 b{font:700 13px/1 var(--sans);letter-spacing:.2em;color:var(--olive);padding:4px 8px;border:1px solid var(--olive2);border-radius:3px}
.hk-group>p{margin:0 0 12px;font-size:14px;color:var(--ink3)}
.hk-items{margin:0;padding:0;list-style:none;border-top:1px solid var(--rule)}
.hk-items li{border-bottom:1px solid var(--rule)}
.hk-items a{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:16px 4px}
.hk-items a:hover b{color:var(--olive)}
.hk-items b{display:block;font-size:17px;line-height:1.45}
.hk-items i{display:block;font-style:normal;font-size:14px;color:var(--ink2);margin-top:4px;line-height:1.55}
.hk-items time{font-size:13px;color:var(--ink3);white-space:nowrap}
.hk-pager{display:flex;justify-content:space-between;align-items:center;padding:16px 0 50px;font-size:14px}
.hk-pager a{border-bottom:1px solid var(--olive2);font-weight:600}
.hk-ahead{padding:30px 0 26px;max-width:860px}
.hk-ahead h1{font-size:38px;line-height:1.26;font-weight:700;letter-spacing:-.015em;margin:12px 0 14px}
.hk-dek{font-size:17px;line-height:1.7;color:var(--ink2);margin:0 0 16px}
.hk-by{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13.5px;color:var(--ink3)}
.hk-by b{color:var(--ink);font-weight:600}
.hk-by a{border-bottom:1px solid var(--rule)}
.hk-headrow{display:grid;grid-template-columns:minmax(0,1fr);gap:40px;align-items:end}
.hk-headrow.has-cover{grid-template-columns:minmax(0,1fr) 340px}
.hk-headrow .hk-ahead{max-width:none}
.hk-cover{margin:0 0 26px}
.hk-cover img{display:block;width:100%;border:1px solid var(--rule);border-radius:6px;background:var(--olive4)}
.hk-cover figcaption{font-size:13px;color:var(--ink3);margin-top:8px;text-align:right}

/* 正文布局 */
.hk-body{display:grid;grid-template-columns:230px minmax(0,1fr);gap:48px;padding-bottom:60px;align-items:start}
.hk-body.has-rail{grid-template-columns:230px minmax(0,1fr) 220px}
.hk-rail{position:sticky;top:24px;transition:opacity .25s,transform .25s}
.hk-rail.is-hidden{opacity:0;pointer-events:none}
.hk-mini{background:var(--ink);color:#F2F3EC;border-radius:6px;padding:16px 16px 14px;position:relative;overflow:hidden}
.hk-mini:before{content:"";position:absolute;left:0;right:0;top:0;height:8px;background:repeating-linear-gradient(90deg,var(--olive2) 0 2px,transparent 2px 10px)}
.hk-mini .hk-eye{margin-top:4px;color:var(--olive2)}
.hk-mini .hk-code{font-size:26px;letter-spacing:.08em;margin:10px 0 12px}
.hk-mini .hk-copy{width:100%;min-height:44px;font-size:14px;padding:0 12px}
.hk-mini .jump{display:block;margin-top:10px;font-size:13px;line-height:1.5;color:#AEB3A6}
.hk-mini .jump:hover{color:#F2F3EC}
.hk-toc{position:sticky;top:24px;font-size:14px}
.hk-toc .hk-tick{display:block;margin-bottom:14px}
.hk-toc ul{margin:0;padding:0;list-style:none;border-left:2px solid var(--rule)}
.hk-toc li a{display:block;padding:6px 0 6px 16px;margin-left:-2px;border-left:2px solid transparent;color:var(--ink2);line-height:1.5}
.hk-toc li a:hover{color:var(--ink);border-left-color:var(--olive)}
.hk-toc details summary{display:none}
.hk-toc details:not([open]) summary{display:block;cursor:pointer;font-weight:600}
.hk-prose{max-width:66ch;font-size:16.5px;line-height:1.85}
.hk-prose>*:first-child{margin-top:0}
.hk-prose h2{font-size:26px;line-height:1.35;font-weight:700;margin:46px 0 16px;letter-spacing:-.01em;padding-top:14px;border-top:2px solid var(--ink)}
.hk-prose h3{font-size:19px;line-height:1.45;font-weight:700;margin:30px 0 10px}
.hk-prose p{margin:0 0 18px}
.hk-prose ul,.hk-prose ol{padding-left:1.4em;margin:0 0 18px}
.hk-prose li{margin:0 0 8px}
.hk-prose a{border-bottom:1px solid var(--olive2)}
.hk-prose a:hover{color:var(--olive)}
.hk-prose strong{font-weight:700}
.hk-prose ol.steps{list-style:none;padding:0;counter-reset:st}
.hk-prose ol.steps li{position:relative;padding:12px 0 12px 48px;border-top:1px solid var(--rule);counter-increment:st;margin:0}
.hk-prose ol.steps li:before{content:counter(st);position:absolute;left:0;top:12px;width:30px;height:30px;border:2px solid var(--olive);border-radius:4px;font:700 13px/26px var(--sans);text-align:center;color:var(--olive)}
.hk-prose ul.lines{list-style:none;padding:0;margin:0 0 22px;border-top:2px solid var(--ink)}
.hk-prose ul.lines li{padding:12px 0 12px 22px;border-bottom:1px solid var(--rule);position:relative;margin:0}
.hk-prose ul.lines li:before{content:"";position:absolute;left:0;top:22px;width:12px;height:2px;background:var(--olive)}
.hk-prose .kp{background:linear-gradient(180deg,transparent 58%,var(--olive3) 58%)}
.hk-table{overflow-x:auto;margin:0 0 22px;border:1px solid var(--rule);border-radius:4px}
.hk-table table{border-collapse:collapse;width:100%;font-size:15px;line-height:1.55}
.hk-table th,.hk-table td{padding:10px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--rule)}
.hk-table th{background:var(--olive4);font-weight:700;font-size:13.5px;letter-spacing:.02em}
.hk-table tr:last-child td{border-bottom:0}
.hk-quote{margin:0 0 22px;padding:16px 20px 14px 22px;border-left:3px solid var(--ink);background:var(--card);border-radius:0 4px 4px 0;position:relative}
.hk-quote small{display:block;font:700 10.5px/1 var(--sans);letter-spacing:.22em;color:var(--olive);margin-bottom:8px}
.hk-quote p{margin:0 0 10px;font-size:16px;line-height:1.8}
.hk-quote p:last-of-type{margin-bottom:0}
.hk-quote cite{display:block;font-style:normal;font-size:13px;color:var(--ink3);margin-top:10px;padding-top:8px;border-top:1px dashed var(--rule)}
.hk-quote cite a{border-bottom:1px solid var(--rule)}
.hk-quote.case{border-left-color:var(--olive)}
.hk-quote.page{border-left-color:var(--olive2);background:var(--olive4)}
.hk-basis{margin:0 0 22px;padding:14px 18px;border-left:3px solid var(--olive2);background:var(--olive4);font-size:15px;line-height:1.7;color:var(--ink2);border-radius:0 4px 4px 0}
.hk-basis p{margin:0 0 8px}
.hk-basis p:last-child{margin:0}
.hk-basis-line{font-size:14px;color:var(--ink2)}
.hk-basis-line .lab{font:700 10.5px/1 var(--sans);letter-spacing:.22em;color:var(--olive);margin-right:10px}
.hk-note{margin:0 0 22px;padding:14px 18px;border-radius:4px;background:var(--olive4);font-size:15.5px;line-height:1.7;border:1px solid var(--rule)}
.hk-note b{display:block;margin-bottom:4px}
.hk-note p{margin:0 0 8px}
.hk-note p:last-child{margin:0}
.hk-note.warn{background:var(--warn);border-color:#E3D9B8}
.hk-note.stop{background:var(--stop);border-color:#E0C4BB}
.hk-note.ok{background:var(--ok);border-color:#C6D8C2}
.hk-state{margin:0 0 24px;border:1px solid var(--rule);border-radius:4px;background:var(--card)}
.hk-state header{display:flex;flex-direction:column;gap:4px;padding:12px 18px;border-bottom:1px solid var(--rule);background:var(--olive4)}
.hk-state header small{font:700 10.5px/1 var(--sans);letter-spacing:.22em;color:var(--olive)}
.hk-state header b{font-size:16.5px}
.hk-state>div{padding:14px 18px 4px}
.hk-shot{margin:0 0 24px}
.hk-shot .frame{display:block;border:1px solid var(--rule);border-radius:6px;overflow:hidden;background:var(--olive4)}
.hk-shot.phone .frame{max-width:360px;border-radius:22px;border:6px solid var(--ink)}
.hk-shot img{display:block;width:100%}
.hk-shot figcaption,.hk-fig figcaption{font-size:13.5px;color:var(--ink3);margin-top:10px;line-height:1.55}
.hk-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0 0 10px}
.hk-fig{margin:0 0 24px}
.hk-fig img{display:block;width:100%;border-radius:4px}
.hk-faq{margin-top:44px}
.hk-faq details{border-top:1px solid var(--rule);padding:14px 0}
.hk-faq details:last-child{border-bottom:1px solid var(--rule)}
.hk-faq summary{cursor:pointer;font-weight:700;font-size:16.5px;list-style:none;position:relative;padding-right:28px}
.hk-faq summary::-webkit-details-marker{display:none}
.hk-faq summary:after{content:"+";position:absolute;right:4px;top:0;font:400 20px/1.3 var(--sans);color:var(--olive)}
.hk-faq details[open] summary:after{content:"–"}
.hk-faq p{margin:10px 0 0;font-size:15.5px;color:var(--ink2)}
.hk-after{margin-top:48px;border-top:2px solid var(--ink);padding-top:22px}
.hk-tagline{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:22px}
.hk-tagline a,.hk-tagline .t{display:inline-block;padding:6px 12px;border:1px solid var(--rule);border-radius:4px;font-size:13.5px;background:var(--card)}
.hk-tagline a:hover{border-color:var(--olive2);color:var(--olive)}
.hk-tagline .t{color:var(--ink3)}
.hk-unsolved{padding:16px 18px;border:1px dashed var(--olive2);border-radius:4px;font-size:14.5px;line-height:1.7;color:var(--ink2);margin-bottom:22px}
.hk-unsolved b{color:var(--ink)}
.hk-unsolved a{border-bottom:1px solid var(--olive2);color:var(--ink)}
.hk-author{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;margin-bottom:26px}
.hk-author .av{width:46px;height:46px;border-radius:4px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px}
.hk-author p{margin:4px 0 0;font-size:14px;color:var(--ink2);line-height:1.65}
.hk-author a{border-bottom:1px solid var(--olive2)}
.hk-next{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:30px}
.hk-next a{display:block;padding:14px 16px;border:1px solid var(--rule);border-radius:4px;background:var(--card)}
.hk-next a.nx{text-align:right}
.hk-next a:hover{border-color:var(--olive2)}
.hk-next small{display:block;font:700 10.5px/1 var(--sans);letter-spacing:.22em;color:var(--olive);margin-bottom:6px}
.hk-next b{font-size:14.5px;line-height:1.45}
.hk-cc{margin:0 0 26px;max-width:520px}
.hk-cc-fine{font-size:13.5px;color:var(--ink2);line-height:1.6;margin:12px 0 0}
.hk-plain{max-width:66ch;padding-bottom:56px}
.hk-sbox{display:grid;grid-template-columns:1fr auto;gap:12px;margin:10px 0 16px}
.hk-sbox input{border:1px solid var(--rule);border-radius:4px;padding:12px 14px;font:16px var(--sans);background:var(--card);color:var(--ink)}
.hk-sbox .hk-copy{width:auto;padding:0 22px}
.hk-hits{list-style:none;margin:0;padding:0}
.hk-hits li{border-top:1px solid var(--rule);padding:14px 0}
.hk-hits b{font-size:16.5px}
.hk-hits p{margin:4px 0 0;font-size:14px;color:var(--ink2)}
.hk-miss{padding:14px 18px;background:var(--olive4);border-radius:4px;font-size:15px}

/* 工具 */
.hk-tool{border:1px solid var(--rule);border-radius:6px;background:var(--card);margin:0 0 34px;max-width:820px;overflow:hidden}
.hk-tool form{padding:22px 24px 8px}
.hk-tool fieldset{border:0;margin:0 0 18px;padding:0 0 14px;border-bottom:1px solid var(--rule)}
.hk-tool legend{font-weight:700;font-size:16px;margin-bottom:10px;padding:0}
.hk-tool label{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.55;padding:11px 0;cursor:pointer}
.hk-tool input[type=radio]{margin-top:5px;accent-color:var(--olive)}
.hk-out{background:var(--ink);color:#F2F3EC;padding:24px}
.hk-out .hk-tick{color:var(--olive2);display:block;margin-bottom:10px}
.hk-out .big{font:700 28px/1.3 var(--sans);margin:0 0 10px}
.hk-out p{margin:0 0 10px;font-size:15px;line-height:1.7;color:#D9DCCF}
.hk-out p:last-child{margin:0}
.hk-out a{color:#fff;border-bottom:1px solid var(--olive2)}
.hk-out ul{margin:0 0 10px;padding-left:1.2em;color:#D9DCCF;font-size:15px}
.hk-out.idle{background:var(--olive4);color:var(--ink2)}
.hk-out.idle .big{font-size:18px;color:var(--ink)}
.hk-out.idle p{color:var(--ink2)}

/* 页脚 */
.hk-foot{border-top:2px solid var(--ink);background:var(--card);padding:44px 0 30px;margin-top:20px}
.hk-foot .cols{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px}
.hk-foot p{font-size:13.5px;line-height:1.7;color:var(--ink2);margin:14px 0 0;max-width:46em}
.hk-foot p a{border-bottom:1px solid var(--olive2)}
.hk-foot h3{font:700 11px/1 var(--sans);letter-spacing:.24em;color:var(--olive);margin:4px 0 14px}
.hk-foot ul{list-style:none;margin:0;padding:0;font-size:14px}
.hk-foot li{margin:0 0 8px}
.hk-foot li a:hover{color:var(--olive)}
.hk-foot .legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 20px;margin-top:34px;padding-top:16px;border-top:1px solid var(--rule);font-size:13px;color:var(--ink3)}
.hk-foot .legal a{border-bottom:1px solid var(--rule)}

@media (max-width:1100px){
 .hk-hero{grid-template-columns:1fr;grid-template-rows:none;grid-template-areas:"head" "stage" "main";row-gap:28px}.hk-ruler{display:none}
 .hk-row{grid-template-columns:repeat(3,1fr)}.hk-row div{border-bottom:1px solid var(--rule)}
 .hk-headrow.has-cover{grid-template-columns:1fr}.hk-cover{max-width:480px}
 .hk-body{grid-template-columns:1fr;gap:20px}.hk-body.has-rail{grid-template-columns:1fr;padding-bottom:120px}.hk-rail{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:40;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--ink);box-shadow:0 -6px 24px rgba(0,0,0,.18)}.hk-rail.is-hidden{opacity:1;pointer-events:auto;transform:translateY(110%)}.hk-mini{display:flex;align-items:center;gap:12px;padding:0;border-radius:0;background:none;overflow:visible}.hk-mini:before{display:none}.hk-mini .hk-eye{display:none}.hk-mini .hk-code{font-size:20px;margin:0;flex:1;word-break:normal}.hk-mini .hk-copy{width:auto;padding:0 18px;flex:none}.hk-mini .jump{display:none}.hk-toc{position:static}.hk-toc details summary{display:block;cursor:pointer;font-weight:600}.hk-toc .hk-tick{display:none}
 .hk-foot .cols{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
 .hk-wrap{padding:0 16px}.hk-top{height:auto;flex-wrap:wrap;gap:10px 14px;padding:14px 0 8px}.hk-mark{font-size:16px}
 .hk-nav{order:3;width:100%;margin:0;overflow-x:auto;white-space:nowrap;gap:13px;font-size:13.5px;padding-bottom:4px}.hk-nav a{padding:12px 0;display:inline-block}.hk-find{min-width:0;margin-left:auto;padding:10px 12px}
 .hk-hero{padding:18px 0 30px;row-gap:14px}.hk-head h1{font-size:27px;margin:10px 0 0}.hk-lead{font-size:15px;margin-bottom:14px}
 .hk-panel{padding:20px 18px 18px}.hk-code{font-size:32px;margin:12px 0 14px}
 .hk-answer{padding:14px 16px}.hk-answer p{font-size:15px}.hk-twin{grid-template-columns:1fr}
 .hk-scale{padding:40px 0 44px}.hk-row{grid-template-columns:1fr}.hk-sec-h{flex-direction:column;align-items:flex-start}
 .hk-lhead h1,.hk-ahead h1{font-size:27px}.hk-dek{font-size:15.5px}
 .hk-prose{font-size:16px}.hk-prose h2{font-size:22px;margin-top:36px}
 .hk-items a{grid-template-columns:1fr}.hk-items time{display:none}
 .hk-pair{grid-template-columns:1fr}.hk-next{grid-template-columns:1fr}.hk-next a.nx{text-align:left}
 .hk-foot .cols{grid-template-columns:1fr;gap:24px}
 .hk-sbox{grid-template-columns:1fr}.hk-sbox .hk-copy{width:100%}
}
