@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/cormorant-garamond-latin-300-normal-Cw-E_7L1.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-300-normal-BuXLI6C0.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-500-normal-BsRWmXhO.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-500-normal-zIXX3Q-H.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cormorant-garamond-latin-700-normal-DajfzrDU.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-700-normal-O25Qpphb.woff)format("woff")}@font-face{font-family:Karla;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/karla-latin-400-normal-C_jajTY_.woff2)format("woff2"),url(/assets/karla-latin-400-normal-iWRxgclR.woff)format("woff")}@font-face{font-family:Karla;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/karla-latin-700-normal-DFuMffT3.woff2)format("woff2"),url(/assets/karla-latin-700-normal-CospC10L.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}@font-face{font-family:Noto Serif TC;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/noto-serif-tc-subset-400-o3G23AZW.woff2)format("woff2");unicode-range:U+20-7E,U+4E9E,U+57E0,U+5927,U+7279,U+83EF,U+862D}:root{--ink:#0f1c19;--celadon:#d6dfd8;--celadon-deep:#c3cec6;--rice:#efefe7;--jade:#1e6b52;--cinnabar:#b23a1f;--concrete:#8a928d;--hair:#0f1c1938;--jade-lt:#7fb79c;--cinnabar-lt:#d9764f;--rice-dim:#c9d4cd;--rice-mute:#93a49b;--hair-lt:#efefe733;--display:"Cormorant Garamond", Georgia, serif;--body:"Karla", "Helvetica Neue", Arial, sans-serif;--mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--han:"Noto Serif TC", "Songti SC", "Songti TC", "Noto Serif CJK SC", "Source Han Serif SC", "SimSun", serif;--rail:70px;--pad:clamp(20px, 5vw, 72px)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--celadon);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.62}img,svg{max-width:100%}a{color:inherit}.eyebrow{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--jade);margin:0 0 18px;font-size:11px}.h2{font-family:var(--display);letter-spacing:-.02em;max-width:16ch;margin:0 0 14px;font-size:clamp(30px,4.4vw,52px);font-weight:500;line-height:1.08}.lede{color:#243430;max-width:60ch;margin:0 0 44px;font-size:clamp(17px,1.5vw,20px)}.han{font-family:var(--han)}.mono{font-family:var(--mono)}.band{padding:clamp(64px,9vw,132px) var(--pad);border-top:1px solid var(--hair);position:relative}.band--rice{background:var(--rice)}.wrap{max-width:1180px;margin:0 auto}.index{width:var(--rail);border-right:1px solid var(--hair);z-index:20;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#d6dfd8d1;flex-direction:column;justify-content:center;align-items:center;gap:34px;display:none;position:fixed;top:0;bottom:0;left:0}.index a{writing-mode:vertical-rl;font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--concrete);padding:6px 4px;font-size:11px;text-decoration:none;transition:color .25s}.index a:hover,.index a.on{color:var(--ink)}.index a.on:after{content:"";background:var(--cinnabar);border-radius:50%;width:5px;height:5px;margin:8px auto 0;display:block}@media (width>=1080px){.index{display:flex}body{padding-left:var(--rail)}}.hero{padding:clamp(38px,6vw,76px) var(--pad) clamp(48px,6vw,90px);border-top:0}.hero-grid{grid-template-columns:1fr;align-items:end;gap:clamp(36px,5vw,64px);max-width:1180px;margin:0 auto;display:grid}@media (width>=900px){.hero-grid{grid-template-columns:minmax(320px,.86fr) 1.14fr}}.kicker{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--concrete);border-bottom:1px solid var(--hair);flex-wrap:wrap;justify-content:space-between;gap:16px;margin:0 0 30px;padding-bottom:12px;font-size:11px;display:flex}.hero h1{font-family:var(--display);letter-spacing:-.02em;margin:0 0 6px;font-size:clamp(46px,7.8vw,94px);font-weight:700;line-height:.98}.hero h1 em{color:var(--jade);font-style:normal;font-weight:300;display:block}.hero .han-title{font-family:var(--han);letter-spacing:.24em;color:var(--cinnabar);margin:0 0 22px;font-size:clamp(20px,2.6vw,29px)}.thesis{max-width:44ch;margin:0 0 34px;font-size:clamp(17px,1.6vw,21px)}.titleblock{border:1px solid var(--ink);font-family:var(--mono);background:var(--rice);grid-template-columns:1fr 1fr;font-size:12px;display:grid}.titleblock div{border-right:1px solid var(--hair);border-bottom:1px solid var(--hair);padding:11px 13px}.titleblock div:nth-child(2n){border-right:0}.titleblock div:nth-last-child(-n+2){border-bottom:0}.titleblock dt{letter-spacing:.16em;text-transform:uppercase;color:var(--concrete);margin-bottom:3px;font-size:9.5px;display:block}.plan-shell{position:relative}.plan-frame{border:1px solid var(--ink);background:var(--rice);padding:14px}.plan-frame svg{width:100%;height:auto;display:block}.draw{stroke-dasharray:2400;stroke-dashoffset:2400px;animation:2.4s cubic-bezier(.6,.05,.2,1) forwards plot}.draw-2{animation-delay:.55s}.draw-3{animation-delay:1s}@keyframes plot{to{stroke-dashoffset:0}}.fade-in{opacity:0;animation:.8s 1.5s forwards fade}@keyframes fade{to{opacity:1}}.hot{cursor:pointer}.hot circle.pin{fill:var(--rice);stroke:var(--ink);stroke-width:1.2px;transition:fill .18s,r .18s}.hot text{font-family:var(--mono);fill:var(--ink);text-anchor:middle;dominant-baseline:central;pointer-events:none;font-size:10px}.hot:hover circle.pin,.hot.active circle.pin,.hot:focus-visible circle.pin{fill:var(--cinnabar)}.hot:hover text,.hot.active text,.hot:focus-visible text{fill:var(--rice)}.hot:focus{outline:none}.hot:focus-visible circle.pin{stroke-width:2.4px}.plan-note{border-top:1px solid var(--hair);align-items:flex-start;gap:14px;min-height:92px;margin-top:14px;padding-top:14px;display:flex}.plan-note .key{font-family:var(--mono);background:var(--ink);color:var(--rice);flex:none;place-items:center;width:26px;height:26px;font-size:13px;display:grid}.plan-note h3{font-family:var(--body);margin:2px 0 4px;font-size:15px;font-weight:700}.plan-note p{color:#31423d;max-width:56ch;margin:0;font-size:14.5px;line-height:1.55}.caption{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--concrete);margin:10px 0 0;font-size:10.5px}.compare{border-collapse:collapse;background:var(--rice);border:1px solid var(--ink);width:100%;font-size:15.5px}.compare th,.compare td{text-align:left;border-bottom:1px solid var(--hair);vertical-align:top;padding:14px 16px}.compare thead th{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid var(--ink);color:var(--ink);font-size:11px}.compare tbody th{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--concrete);width:22%;font-size:11.5px;font-weight:400}.compare tr:last-child th,.compare tr:last-child td{border-bottom:0}.compare td.this-one{color:var(--jade);font-weight:500}.table-scroll{overflow-x:auto}.split{grid-template-columns:1fr;gap:clamp(30px,4vw,60px);display:grid}@media (width>=900px){.split{grid-template-columns:1.05fr 1fr}}.pullnote{border-left:2px solid var(--cinnabar);color:#31423d;max-width:48ch;margin:34px 0 0;padding:2px 0 2px 20px;font-size:16px}.pullnote strong{color:var(--ink);font-weight:700}.stations{border-left:1px solid var(--hair);margin-top:8px}.station{grid-template-columns:1fr;gap:4px 28px;padding:22px 0 22px 24px;display:grid;position:relative}@media (width>=760px){.station{grid-template-columns:120px 1fr;padding-left:34px}}.station:before{content:"";background:var(--celadon);border:1px solid var(--ink);border-radius:50%;width:7px;height:7px;position:absolute;top:32px;left:-4px}.station.key:before{background:var(--cinnabar);border-color:var(--cinnabar)}.band--rice .station:before{background:var(--rice)}.band--rice .station.key:before{background:var(--cinnabar)}.station .yr{font-family:var(--mono);letter-spacing:.04em;color:var(--jade);padding-top:2px;font-size:15px}.station h3{font-family:var(--display);letter-spacing:-.015em;margin:0 0 6px;font-size:clamp(20px,2.2vw,26px);font-weight:500;line-height:1.2}.station p{color:#31423d;max-width:58ch;margin:0;font-size:16px}.phase{margin-top:52px}.phase:first-of-type{margin-top:0}.phase-head{border-top:1px solid var(--ink);flex-wrap:wrap;align-items:baseline;gap:6px 24px;margin-bottom:24px;padding-top:12px;display:flex}.phase-head h3{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;flex:none;margin:0;font-size:11px;font-weight:400}.phase-head p{color:#4a5a55;max-width:60ch;margin:0;font-size:14.5px}.sheet{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:26px 22px;margin:0;padding:0;list-style:none;display:grid}.plate{appearance:none;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;width:100%;padding:0;display:block}.plate picture{display:block}.plate img{aspect-ratio:3/2;object-fit:cover;border:1px solid var(--ink);background:var(--celadon-deep);filter:saturate(.92);width:100%;height:auto;transition:filter .25s,transform .25s;display:block}.plate:hover img,.plate:focus-visible img{filter:saturate(1.06);transform:translateY(-2px)}.plate .pn{font-family:var(--mono);letter-spacing:.16em;color:var(--cinnabar);margin:10px 0 5px;font-size:10px;display:block}.plate .cap{color:#31423d;font-size:13.5px;line-height:1.5;display:block}.lightbox{background:var(--ink);max-width:min(1100px,94vw);max-height:92vh;color:var(--rice);border:0;padding:0;overflow:auto}.lightbox::backdrop{background:#0f1c19db}.lightbox figure{margin:0}.lightbox-img{object-fit:contain;background:#000;width:100%;height:auto;max-height:70vh;display:block}.lightbox figcaption{gap:8px;padding:18px 22px 20px;display:grid}.lightbox figcaption .pn{font-family:var(--mono);letter-spacing:.16em;color:var(--cinnabar-lt);font-size:10px}.lightbox figcaption p{color:var(--rice-dim);max-width:70ch;margin:0;font-size:15.5px;line-height:1.55}.lightbox-nav{gap:10px;margin-top:6px;display:flex}.lightbox-nav button{appearance:none;color:inherit;font-family:var(--mono);letter-spacing:.1em;cursor:pointer;background:0 0;border:1px solid #efefe759;padding:8px 15px;font-size:12px;transition:background .2s,color .2s}.lightbox-nav button:hover{background:var(--rice);color:var(--ink)}.lightbox-nav .close{text-transform:uppercase;margin-left:auto}.band--ink{background:var(--ink);color:var(--rice);border-top-color:#efefe72e}.band--ink .eyebrow{color:var(--jade-lt)}.band--ink .lede{color:var(--rice-dim)}.band--ink .caption{color:var(--rice-mute);margin-top:16px}.band--ink .pullnote{border-left-color:var(--cinnabar-lt);color:var(--rice-dim);margin-top:42px}.band--ink .pullnote strong{color:var(--rice)}.voices{background:var(--hair-lt);border:1px solid #efefe747;grid-template-columns:1fr;gap:1px;display:grid}@media (width>=880px){.voices{grid-template-columns:288px 1fr}}.voice-list{background:var(--ink);margin:0;padding:0;list-style:none}.voice-list li+li{border-top:1px solid #efefe724}.voice-list button{appearance:none;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-left:2px solid #0000;grid-template-columns:auto 1fr;gap:1px 14px;width:100%;padding:15px 18px;transition:background .2s,border-color .2s;display:grid}.voice-list button:hover{background:#efefe70f}.voice-list button[aria-current=true]{border-left-color:var(--cinnabar-lt);background:#efefe71a}.voice-list .n{font-family:var(--mono);letter-spacing:.14em;color:var(--rice-mute);grid-row:1/span 2;padding-top:6px;font-size:10.5px}.voice-list .role{font-family:var(--display);letter-spacing:-.01em;font-size:19px;font-weight:500;line-height:1.2}.voice-list .zh{letter-spacing:.24em;color:var(--rice-mute);font-size:11.5px}.voice-list button[aria-current=true] .zh{color:var(--cinnabar-lt)}.voice-panel{background:var(--ink);padding:clamp(24px,3.4vw,40px)}.voice-panel .zh-name{letter-spacing:.3em;color:var(--cinnabar-lt);margin:0 0 10px;font-size:12px}.voice-panel h3{font-family:var(--display);letter-spacing:-.02em;max-width:22ch;margin:0 0 26px;font-size:clamp(23px,2.9vw,33px);font-weight:500;line-height:1.12}.voice-meta{background:var(--hair-lt);border:1px solid var(--hair-lt);font-family:var(--mono);grid-template-columns:repeat(auto-fit,minmax(152px,1fr));gap:1px;margin:0 0 32px;font-size:12px;display:grid}.voice-meta div{background:var(--ink);padding:10px 13px}.voice-meta dt{letter-spacing:.16em;text-transform:uppercase;color:var(--rice-mute);margin-bottom:3px;font-size:9.5px}.voice-meta dd{margin:0;line-height:1.45}.voice-quotes{gap:28px;display:grid}.qt{border-left:1px solid #efefe747;margin:0;padding-left:22px}.qt .on{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--rice-mute);margin-bottom:11px;font-size:10px;display:block}.qt .en{font-family:var(--display);letter-spacing:-.01em;max-width:46ch;margin:0;font-size:clamp(19px,2.05vw,24px);font-weight:300;line-height:1.34}.qt .zh{color:var(--rice-mute);max-width:40ch;margin:11px 0 0;font-size:13.5px;line-height:1.8}.voice-source{border-top:1px solid #efefe733;flex-wrap:wrap;gap:10px;margin-top:34px;padding-top:24px;display:flex}.voice-source a{border:1px solid #efefe759;gap:3px;padding:11px 16px;text-decoration:none;transition:background .2s,color .2s,border-color .2s;display:grid}.voice-source a:hover,.voice-source a:focus-visible{background:var(--rice);color:var(--ink);border-color:var(--rice)}.voice-source .lbl{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;font-size:11.5px}.voice-source .fmt{font-family:var(--mono);letter-spacing:.12em;color:var(--rice-mute);font-size:10px}.voice-source a:hover .fmt,.voice-source a:focus-visible .fmt{color:#5a6b64}.cards{background:var(--hair);border:1px solid var(--hair);grid-template-columns:1fr;gap:1px;display:grid}@media (width>=720px){.cards{grid-template-columns:repeat(3,1fr)}}.card{background:var(--rice);padding:26px 24px 30px}.band--rice .card{background:var(--celadon)}.card .tag{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--cinnabar);margin-bottom:14px;font-size:10px;display:block}.card h3{font-family:var(--display);letter-spacing:-.01em;margin:0 0 8px;font-size:22px;font-weight:500}.card p{color:#31423d;margin:0;font-size:15.5px}@media (width>=720px){.cards--feature{grid-template-columns:1.3fr 1fr;grid-auto-rows:1fr}.card--feature{grid-row:1/span 2}}.card--feature{flex-direction:column;justify-content:center;padding:34px 32px 38px;display:flex}.card--feature h3{font-size:28px}.card--feature p{max-width:42ch;font-size:16.5px}.measures{background:var(--hair);border:1px solid var(--hair);grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:1px;margin-top:34px;display:grid}.measure{background:var(--rice);padding:20px}.band--rice .measure{background:var(--celadon)}.measure .d{font-family:var(--mono);letter-spacing:.14em;color:var(--concrete);font-size:10px}.measure h4{font-family:var(--display);margin:6px 0;font-size:20px;font-weight:500}.measure p{color:#31423d;margin:0;font-size:14px;line-height:1.5}.speed{border:1px solid var(--ink);background:var(--ink);color:var(--rice);margin-top:38px;padding:28px 26px}.speed .row{font-family:var(--mono);letter-spacing:.08em;align-items:center;gap:14px;margin-bottom:12px;font-size:12px;display:flex}.speed .track{flex:auto;min-width:60px}.speed .bar{background:var(--concrete);width:0;height:9px;transition:width 1.1s cubic-bezier(.4,0,.2,1);display:block}.speed .row.after .bar{background:var(--cinnabar)}.speed p{color:#c9d4cd;max-width:56ch;margin:16px 0 0;font-size:15px}@media (width<=560px){.speed .row{gap:9px;font-size:10px}.speed .row span:first-child{width:82px!important}}.footer{background:var(--ink);color:var(--rice);padding:clamp(56px,7vw,96px) var(--pad)}.footer h2{font-family:var(--display);letter-spacing:-.02em;max-width:22ch;margin:0 0 30px;font-size:clamp(26px,3.6vw,42px);font-weight:300;line-height:1.15}.footer-links{flex-wrap:wrap;gap:12px;margin-bottom:44px;display:flex}.footer-links a{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid #efefe759;padding:11px 16px;font-size:12px;text-decoration:none;transition:background .2s,color .2s}.footer-links a:hover{background:var(--rice);color:var(--ink)}.colophon{font-family:var(--mono);letter-spacing:.06em;color:#9aa8a1;border-top:1px solid #efefe733;flex-wrap:wrap;justify-content:space-between;gap:18px;padding-top:22px;font-size:11.5px;display:flex}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(14px)}.reveal.seen{opacity:1;transform:none}:focus-visible{outline:2px solid var(--cinnabar);outline-offset:3px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.draw{stroke-dasharray:none;stroke-dashoffset:0;animation:none}.fade-in{opacity:1;animation:none}.reveal{opacity:1;transition:none;transform:none}.speed .bar{transition:none}}
