:root{--color-bg-main: 242 241 236;--color-bg-muted: 234 233 225;--color-text-main: 23 23 23;--color-border-main: 23 23 23;--fs-mast-title: clamp(15px, 1.5vw, 17px);--fs-sec-title: clamp(22px, 3.2vw, 36px);--fs-sec-alt: clamp(13px, 1.5vw, 16px);--fs-hero-h1: clamp(34px, 6vw, 60px);--fs-kicker: clamp(28px, 4.6vw, 48px);--fs-kpi-val: clamp(22px, 2.8vw, 30px);--fs-pullquote: clamp(17px, 2vw, 24px);--fs-card-h3: clamp(17px, 1.7vw, 21px);--fs-body: 15px;--fs-small: 12px;--fs-tiny: 10px;--wrap-pad: clamp(16px, 3vw, 32px);--wrap-max: 1200px;--sec-pad-y: clamp(40px, 6vw, 72px);--sec-gap: clamp(16px, 2.2vw, 32px);--r-pill: 999px;--r-card: 6px;--r-tag: 4px;--ochre: #8a6f2c;--petrol: #2d5e6e;--sage: #5d7a5a;--brick: #8a4332;--paper: rgb(var(--color-bg-main));--bg-dim: rgb(var(--color-bg-muted));--code-bg: rgb(var(--color-bg-muted));--ink: rgb(var(--color-text-main));--ink-soft: rgb(var(--color-text-main) / .78);--muted: rgb(var(--color-text-main) / .5);--rule: rgb(var(--color-border-main) / .12);--rule-strong: rgb(var(--color-border-main) / .25);--orange: var(--ochre);--blue: var(--petrol);--green: var(--sage);--red: var(--brick)}:root[data-theme=dark]{--color-bg-main: 23 23 23;--color-bg-muted: 36 36 36;--color-text-main: 242 241 236;--color-border-main: 242 241 236;--ochre: #c89a4a;--petrol: #6da7b8;--sage: #8db489;--brick: #c97a68}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}html,body{background:rgb(var(--color-bg-main));color:rgb(var(--color-text-main));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}body{font-family:Inter,Noto Sans SC,ui-sans-serif,system-ui,sans-serif;font-weight:400;line-height:1.7;font-size:var(--fs-body);overflow-x:hidden}img,svg,canvas,video{max-width:100%;height:auto;display:block}em,i,cite,address{font-style:normal}.wrap{max-width:var(--wrap-max);margin:0 auto;padding:0 var(--wrap-pad);position:relative}.masthead{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(10px,2vw,24px);padding:18px 0 16px;font-family:JetBrains Mono,ui-monospace,monospace}.mast-left,.mast-right{font-size:clamp(11px,1.1vw,12px);letter-spacing:.04em;color:rgb(var(--color-text-main) / .65);font-weight:500;line-height:1.4}.mast-right{text-align:right;display:inline-flex;align-items:center;justify-content:flex-end;gap:12px}.mast-left a,.mast-right a{color:inherit;text-decoration:none;transition:color .2s}.mast-left a:hover,.mast-right a:hover{color:rgb(var(--color-text-main));text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;background:transparent;border:1px solid rgb(var(--color-border-main) / .18);border-radius:var(--r-pill);cursor:pointer;color:rgb(var(--color-text-main) / .7);transition:color .2s,border-color .2s,background-color .2s;flex-shrink:0;-webkit-tap-highlight-color:transparent}.theme-toggle:hover{color:rgb(var(--color-text-main));border-color:rgb(var(--color-border-main) / .55);background:rgb(var(--color-bg-muted) / .6)}.theme-toggle svg{width:14px;height:14px;display:block}.theme-toggle .icon-moon{display:none}:root[data-theme=dark] .theme-toggle .icon-sun{display:none}:root[data-theme=dark] .theme-toggle .icon-moon{display:block}.mast-title{font-family:Inter,Noto Sans SC,sans-serif;font-weight:600;font-size:var(--fs-mast-title);letter-spacing:-.005em;line-height:1.2;white-space:nowrap;color:rgb(var(--color-text-main));display:inline-flex;align-items:center;gap:9px;text-decoration:none;transition:opacity .2s}.mast-title:hover{opacity:.72}.mast-title .dot{display:none}.mast-logo{width:clamp(18px,1.8vw,20px);height:clamp(21px,2.1vw,23.5px);display:block;color:rgb(var(--color-text-main));flex-shrink:0}.mast-title-text{display:inline-block}.nav{position:sticky;top:0;z-index:20;background:rgb(var(--color-bg-main) / .92);backdrop-filter:saturate(140%) blur(8px);-webkit-backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid rgb(var(--color-border-main) / .12);padding:10px 0}.nav-inner{display:flex;gap:clamp(16px,2vw,28px);align-items:center;justify-content:center;flex-wrap:wrap}.nav a{font-family:Inter,Noto Sans SC,sans-serif;font-size:clamp(13px,1.25vw,14px);font-weight:500;color:rgb(var(--color-text-main) / .7);text-decoration:none;letter-spacing:0;padding:4px 0;transition:color .2s;position:relative}.nav a:before{content:attr(data-num);font-family:JetBrains Mono,monospace;font-size:clamp(9px,.95vw,10px);color:rgb(var(--color-text-main) / .4);margin-right:6px;letter-spacing:0;font-weight:500}.nav a:hover,.nav a.active{color:rgb(var(--color-text-main))}section{padding:var(--sec-pad-y) 0 calc(var(--sec-pad-y) * .9);border-bottom:1px solid rgb(var(--color-border-main) / .12)}.section-head{display:grid;grid-template-columns:auto 1fr;gap:clamp(14px,2.5vw,32px);align-items:baseline;padding-bottom:8px;margin-bottom:28px}.sec-num{font-family:JetBrains Mono,monospace;font-size:clamp(10px,1.1vw,11px);letter-spacing:.2em;color:rgb(var(--color-text-main) / .55);font-weight:500;text-transform:uppercase;white-space:nowrap}.sec-title{font-family:Inter,Noto Sans SC,sans-serif;font-size:var(--fs-sec-title);font-weight:600;line-height:1.15;letter-spacing:-.02em}.sec-title .alt{font-size:var(--fs-sec-alt);font-style:normal;font-weight:400;color:rgb(var(--color-text-main) / .55);letter-spacing:0;margin-left:14px}.grid{display:grid;gap:clamp(14px,2vw,24px)}.g-2{grid-template-columns:repeat(2,1fr)}.g-3{grid-template-columns:repeat(3,1fr)}.g-4{grid-template-columns:repeat(4,1fr)}.g-12{grid-template-columns:repeat(12,1fr)}.prose{font-size:clamp(14px,1.4vw,15px);line-height:1.8;color:rgb(var(--color-text-main) / .78);max-width:720px}.prose p{margin-bottom:14px}.prose p:last-child{margin-bottom:0}.prose strong{color:rgb(var(--color-text-main));font-weight:600}.prose em{color:rgb(var(--color-text-main));font-style:normal;font-weight:500}.prose a{color:rgb(var(--color-text-main));text-decoration:underline;text-decoration-color:rgb(var(--color-text-main) / .4);text-underline-offset:3px;text-decoration-thickness:1px;transition:text-decoration-color .2s}.prose a:hover{text-decoration-color:rgb(var(--color-text-main))}.prose .mark,.mark{background:rgb(var(--color-text-main) / .08);padding:0 3px;border-radius:2px}.u-orange,.u-emph{color:rgb(var(--color-text-main));font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.tbl{width:100%;border-collapse:collapse;font-size:clamp(12px,1.2vw,13px);font-variant-numeric:tabular-nums}.tbl th,.tbl td{padding:clamp(8px,.9vw,10px) clamp(8px,1vw,12px);text-align:right;border-bottom:1px solid rgb(var(--color-border-main) / .1);vertical-align:top;line-height:1.6}.tbl th:first-child,.tbl td:first-child{text-align:left}.tbl thead th{font-family:JetBrains Mono,monospace;font-size:clamp(9.5px,1vw,10.5px);text-transform:uppercase;letter-spacing:.1em;font-weight:500;color:rgb(var(--color-text-main) / .55);border-top:1px solid rgb(var(--color-border-main) / .25);border-bottom:1px solid rgb(var(--color-border-main) / .25);white-space:nowrap;background:rgb(var(--color-bg-muted) / .5)}.tbl tbody tr:hover{background:rgb(var(--color-bg-muted) / .6)}.tbl .sum td{font-weight:600;border-top:1px solid rgb(var(--color-border-main) / .25);background:rgb(var(--color-bg-muted) / .6)}.tbl .indent{padding-left:clamp(18px,2.4vw,28px)!important;color:rgb(var(--color-text-main) / .7)}.tbl .pos{color:var(--sage);font-weight:500}.tbl .neg{color:var(--brick);font-weight:500}.tbl-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 calc(-1 * var(--wrap-pad));padding:0 var(--wrap-pad)}.pullquote{font-family:Inter,Noto Sans SC,sans-serif;font-weight:500;font-size:var(--fs-pullquote);line-height:1.45;letter-spacing:-.01em;padding:clamp(20px,3vw,30px) clamp(20px,3vw,34px);border-left:2px solid rgb(var(--color-border-main) / .5);background:rgb(var(--color-bg-muted) / .5);border-radius:0 var(--r-card) var(--r-card) 0;position:relative}.pullquote:before{content:none}.pullquote cite{display:block;font-style:normal;font-family:JetBrains Mono,monospace;font-size:clamp(10px,1vw,11px);letter-spacing:.12em;text-transform:uppercase;color:rgb(var(--color-text-main) / .55);margin-top:14px;font-weight:500}.callout{background:rgb(var(--color-text-main));color:rgb(var(--color-bg-main));border:1px solid rgb(var(--color-text-main));padding:clamp(22px,3vw,32px);border-radius:var(--r-card);position:relative}.callout .lab{font-family:JetBrains Mono,monospace;font-size:clamp(10px,1vw,11px);letter-spacing:.18em;color:rgb(var(--color-bg-main) / .6);text-transform:uppercase;margin-bottom:10px;font-weight:500}.callout h3{font-family:Inter,Noto Sans SC,sans-serif;font-size:clamp(20px,2.4vw,26px);font-weight:600;letter-spacing:-.015em;line-height:1.25;margin-bottom:12px}.callout p{font-size:clamp(13px,1.4vw,14px);color:rgb(var(--color-bg-main) / .78);line-height:1.75}.callout ul{list-style:none;font-size:clamp(13px,1.4vw,14px);color:rgb(var(--color-bg-main) / .85);margin-top:10px}.callout ul li{padding:6px 0 6px 22px;position:relative;line-height:1.65}.callout ul li:before{content:"→";position:absolute;left:0;color:rgb(var(--color-bg-main) / .55);font-family:JetBrains Mono,monospace;font-weight:500}.term{background:rgb(var(--color-bg-muted) / .6);border:1px solid rgb(var(--color-border-main) / .15);padding:clamp(16px,2vw,22px);display:flex;flex-direction:column;gap:10px;border-radius:var(--r-card);position:relative;transition:border-color .2s,background-color .2s}.term:hover{border-color:rgb(var(--color-border-main) / .45);background:rgb(var(--color-bg-muted))}.term:before{content:none}.term .abbr{font-family:Inter,Noto Sans SC,sans-serif;font-weight:700;font-size:clamp(20px,2.2vw,24px);letter-spacing:-.02em;color:rgb(var(--color-text-main));line-height:1.1}.term .en{font-family:JetBrains Mono,monospace;font-style:normal;font-size:clamp(11px,1.1vw,12px);color:rgb(var(--color-text-main) / .55);margin-top:-4px;letter-spacing:.02em}.term .zh{font-family:Inter,Noto Sans SC,sans-serif;font-size:clamp(14px,1.5vw,16px);font-weight:600;letter-spacing:-.005em}.term .formula{font-family:JetBrains Mono,monospace;font-size:clamp(11px,1.1vw,12px);background:rgb(var(--color-bg-main));padding:clamp(7px,.9vw,9px) clamp(9px,1vw,11px);border-left:2px solid rgb(var(--color-border-main) / .4);border-radius:0 var(--r-tag) var(--r-tag) 0;color:rgb(var(--color-text-main));line-height:1.6;word-break:break-word}.term .desc{font-size:clamp(12.5px,1.3vw,13px);color:rgb(var(--color-text-main) / .78);line-height:1.7}.term .eg{font-size:clamp(11px,1.15vw,12px);color:rgb(var(--color-text-main) / .7);border-top:1px dashed rgb(var(--color-border-main) / .2);padding-top:10px;margin-top:4px;line-height:1.6}.term .eg b{color:rgb(var(--color-text-main));font-weight:600}.pill{display:inline-flex;align-items:center;gap:6px;font-family:Inter,Noto Sans SC,sans-serif;font-size:clamp(12px,1.15vw,13px);padding:3px 10px;border-radius:var(--r-tag);border:1px solid rgb(var(--color-border-main) / .18);background:rgb(var(--color-bg-muted) / .6);color:rgb(var(--color-text-main) / .85);text-decoration:none;line-height:1.5;transition:border-color .2s,background-color .2s,color .2s}.pill:hover{border-color:rgb(var(--color-border-main) / .6);background:rgb(var(--color-bg-muted));color:rgb(var(--color-text-main))}.pill-mono{font-family:JetBrains Mono,monospace;font-size:clamp(10px,1vw,11px);letter-spacing:.06em;text-transform:uppercase}footer{padding:clamp(36px,5vw,56px) 0 clamp(40px,5vw,64px);border-top:1px solid rgb(var(--color-border-main) / .15);margin-top:20px;color:rgb(var(--color-text-main) / .7)}footer .fl{display:grid;grid-template-columns:2fr 1fr 1fr;gap:clamp(24px,3vw,40px);font-size:clamp(12px,1.2vw,13px)}footer h5{font-family:JetBrains Mono,monospace;font-size:clamp(10px,1vw,11px);text-transform:uppercase;letter-spacing:.18em;color:rgb(var(--color-text-main) / .55);font-weight:500;margin-bottom:10px}footer p{line-height:1.75;margin-bottom:8px}footer .big{font-family:Inter,Noto Sans SC,sans-serif;font-size:clamp(18px,2vw,22px);font-weight:600;color:rgb(var(--color-text-main));letter-spacing:-.015em;line-height:1.2;margin-bottom:12px}footer .mini{font-family:JetBrains Mono,monospace;font-size:clamp(10px,1vw,11px);letter-spacing:.12em;text-transform:uppercase;color:rgb(var(--color-text-main) / .45);margin-top:24px}footer a{color:rgb(var(--color-text-main));text-decoration:underline;text-decoration-color:rgb(var(--color-text-main) / .35);text-underline-offset:3px;text-decoration-thickness:1px;transition:text-decoration-color .2s}footer a:hover{text-decoration-color:rgb(var(--color-text-main))}@keyframes slideup{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.reveal>*{opacity:0;animation:slideup .6s cubic-bezier(.2,.7,.3,1) forwards}.reveal>*:nth-child(1){animation-delay:.04s}.reveal>*:nth-child(2){animation-delay:.1s}.reveal>*:nth-child(3){animation-delay:.16s}.reveal>*:nth-child(4){animation-delay:.22s}.reveal>*:nth-child(5){animation-delay:.28s}.reveal>*:nth-child(6){animation-delay:.34s}.reveal>*:nth-child(7){animation-delay:.4s}.reveal>*:nth-child(8){animation-delay:.46s}@media(max-width:900px){.g-2,.g-3,.g-4{grid-template-columns:1fr}.g-12>*{grid-column:1 / -1!important}footer .fl{grid-template-columns:1fr}}@media(max-width:640px){.section-head{grid-template-columns:1fr;gap:8px;padding-bottom:12px;margin-bottom:22px}.sec-title .alt{display:block;margin-left:0;margin-top:4px}.nav-inner{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;gap:18px;padding:2px var(--wrap-pad);margin:0 calc(-1 * var(--wrap-pad));-webkit-mask-image:linear-gradient(to right,black 0,black calc(100% - 24px),transparent 100%);mask-image:linear-gradient(to right,black 0,black calc(100% - 24px),transparent 100%)}.nav-inner::-webkit-scrollbar{display:none}.nav a{white-space:nowrap;flex-shrink:0}.pullquote{line-height:1.5}.callout ul li{padding-left:20px}.tbl thead th{letter-spacing:.06em}.nav a,.prose a,footer a{padding-top:3px;padding-bottom:3px;display:inline-block}}@media(max-width:420px){.masthead{padding:14px 0 12px}}
