@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(/portfolio/fonts/instrument-serif-400-italic-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(/portfolio/fonts/instrument-serif-400-normal-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist;font-style:normal;font-weight:300 700;font-display:swap;src:url(/portfolio/fonts/geist-var-normal-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400 500;font-display:swap;src:url(/portfolio/fonts/geist-mono-var-normal-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Serif SC;font-style:normal;font-weight:400 700;font-display:swap;src:url(/portfolio/fonts/noto-serif-sc-600-latin.woff2)format("woff2");unicode-range:U+20-7E}@font-face{font-family:Noto Serif SC;font-style:normal;font-weight:400 700;font-display:swap;src:url(/portfolio/fonts/noto-serif-sc-600-en.woff2)format("woff2");unicode-range:U+A7,U+B6-B7,U+2014,U+2019,U+201C-201D,U+2197,U+25A6,U+25CE,U+27F7,U+4E2D,U+4E8E,U+4E91,U+4F18,U+5207,U+5230,U+5916,U+5B66,U+6362,U+6587,U+667A,U+6CD5,U+6D77,U+7384,U+754C,U+77E9,U+8FDE,U+9635,U+9F99}@font-face{font-family:Noto Serif SC;font-style:normal;font-weight:400 700;font-display:swap;src:url(/portfolio/fonts/noto-serif-sc-600-zh-1.woff2)format("woff2");unicode-range:U+2018,U+2026,U+3001-3002,U+300A-300D,U+3010-3011,U+4E00,U+4E07,U+4E09-4E0B,U+4E0D-4E0E,U+4E16,U+4E1A,U+4E1C,U+4E24,U+4E2A,U+4E3A-4E3B,U+4E45,U+4E48,U+4E4B,U+4E5F,U+4E66,U+4E86,U+4E8B,U+4E92,U+4E9B,U+4EA4,U+4EA7,U+4EAC,U+4EBA,U+4EC0,U+4ECA,U+4ECD-4ECE,U+4ED6,U+4ED8,U+4EE3,U+4EE5,U+4EEC,U+4EF6,U+4EFB,U+4EFD,U+4F01,U+4F17,U+4F1A,U+4F20,U+4F46,U+4F4D-4F4E,U+4F53,U+4F55,U+4F5C,U+4F60,U+4F7F,U+4F8B,U+4F9B,U+4FBF,U+4FDD,U+4FE1,U+4FEE,U+5019,U+501F,U+503C,U+504F,U+505A,U+505C,U+5143,U+5148,U+5165,U+5168,U+516C,U+5173,U+5176-5177,U+517C,U+5185,U+518D,U+5199,U+51B3,U+51CF,U+51D1,U+51E0,U+51FA-51FB,U+5206,U+5212,U+5219,U+521D,U+5224,U+5229,U+522B,U+5236,U+524D,U+526A,U+529B,U+529F-52A1,U+52A8-52A9,U+5305,U+5316-5317,U+533A,U+5341,U+5347,U+534A,U+534F,U+5355,U+5386,U+539F,U+53BB,U+53C2,U+53CA,U+53CC-53CD,U+53D1,U+53D6,U+53D8,U+53E3,U+53E6,U+53EA-53EB,U+53EF-53F0,U+53F3,U+53F7-53F8,U+5408,U+540C,U+540E,U+5411,U+5426,U+542B,U+5448,U+5468,U+548C,U+54C1,U+54CD,U+54EA,U+5524,U+56DB,U+56DE,U+56E2,U+56FD-56FE,U+5728,U+5730,U+573A,U+5782,U+578B,U+57DF,U+5883,U+589E,U+5904,U+590D,U+591A,U+5927,U+5929,U+5931,U+5957,U+597D,U+59CB,U+5B57-5B58,U+5B83,U+5B89,U+5B8C,U+5B98,U+5B9A,U+5B9E,U+5BA1,U+5BA3,U+5BB6,U+5BB9,U+5BBF,U+5BC6,U+5BF9,U+5BFC,U+5C0F,U+5C11,U+5C31,U+5C40,U+5C42,U+5C4F,U+5C55,U+5C5E,U+5DE5-5DE6,U+5DF1-5DF2,U+5E02-5E03,U+5E08,U+5E26,U+5E2E,U+5E38,U+5E73-5E74,U+5E76,U+5E8F,U+5E93-5E94,U+5E9C,U+5EA6,U+5EFA,U+5F00,U+5F03,U+5F0F,U+5F15,U+5F1B,U+5F20,U+5F53,U+5F55,U+5F62,U+5F71,U+5F80,U+5F84-5F85,U+5F88,U+5F8B,U+5F97,U+5FAE,U+5FC3,U+5FEB,U+6001,U+600E,U+601D,U+6027,U+603B,U+6062,U+606F,U+60C5}@font-face{font-family:Noto Serif SC;font-style:normal;font-weight:400 700;font-display:swap;src:url(/portfolio/fonts/noto-serif-sc-600-zh-2.woff2)format("woff2");unicode-range:U+60F3,U+610F,U+61C2,U+6210-6211,U+6216,U+622A,U+6237,U+6240,U+624B,U+624D,U+6251,U+6253,U+627E-6280,U+628A,U+6293,U+62A4,U+62C5,U+62CD,U+62D3,U+62D6,U+62FF,U+6301,U+6307,U+6309,U+636E,U+6377,U+6388-6389,U+6392,U+63A5,U+63A7,U+63D0,U+63D2,U+641C,U+642C-642D,U+64AD,U+64CD,U+652F,U+6536,U+6539,U+653E-653F,U+6548,U+6570,U+6574,U+6599,U+65AD,U+65B0,U+65B9,U+65CB,U+65E0,U+65E2,U+65E5,U+65E9,U+65F6,U+660E,U+662F,U+6682,U+66F4,U+66FF-6700,U+6708-6709,U+670D,U+671F,U+672A,U+672C,U+673A,U+6743,U+6761,U+6765,U+677F,U+6784,U+6790,U+679C,U+67B6,U+67E5,U+6807-6808,U+680F,U+6837,U+684C,U+6863,U+68C0,U+695A,U+6A21,U+6B21,U+6B63-6B66,U+6BCF,U+6BD4,U+6C42,U+6CA1,U+6CE8,U+6D3B,U+6D41,U+6D45,U+6D6E,U+6DF1,U+6E05,U+6E10,U+6E90,U+6EDA,U+6F14,U+70B9,U+7167,U+7247-7248,U+72B6,U+72EC,U+7387,U+73AF-73B0,U+73BB,U+7406,U+7483,U+751F,U+7528-7529,U+7531,U+7535,U+753B,U+7559,U+7565,U+767B,U+767D,U+7684,U+76D1,U+76D6,U+76D8,U+76EE,U+76F4,U+76F8,U+770B,U+771F,U+7740,U+7763,U+77E5,U+7801,U+7814,U+786E,U+793A,U+79BB,U+79C1,U+79CD,U+79D1,U+79EF,U+7A0B,U+7A33,U+7A3F,U+7A7A,U+7A97,U+7ACB,U+7AD9,U+7AEF,U+7B49,U+7B56,U+7B5B,U+7B7E,U+7B97,U+7BA1,U+7BB1,U+7C7B,U+7C98,U+7CBE,U+7CFB,U+7D22,U+7D27,U+7D2F,U+7EA7,U+7EB3,U+7EBF,U+7EC4,U+7EC6-7EC7,U+7ECF,U+7ED3,U+7ED5,U+7ED9,U+7EDC,U+7EDF,U+7EE7,U+7EED,U+7EF4,U+7F16,U+7F29,U+7F51,U+7F6E,U+7F72,U+7FFB,U+8003,U+800C,U+804A,U+804C,U+8054,U+80CC,U+80FD,U+811A,U+81EA,U+81F3-81F4,U+820D,U+822A,U+8272,U+8282,U+82B1,U+82F1,U+8303,U+8349,U+83DC,U+8425,U+85CF,U+884C,U+8868,U+88AB,U+88C1,U+88C5,U+897F,U+8981,U+8986,U+89C1-89C2,U+89C4,U+8A00,U+8BA1,U+8BA4,U+8BA9,U+8BAE,U+8BB0,U+8BBE-8BBF,U+8BC1,U+8BC6,U+8BCD}@font-face{font-family:Noto Serif SC;font-style:normal;font-weight:400 700;font-display:swap;src:url(/portfolio/fonts/noto-serif-sc-600-zh-3.woff2)format("woff2");unicode-range:U+8BD1,U+8BDD,U+8BE2,U+8BE5-8BE6,U+8BED,U+8BF4,U+8BFB,U+8BFE,U+8D1F,U+8D23,U+8D25-8D26,U+8D28,U+8D34,U+8D44,U+8D77,U+8DDD,U+8DEF,U+8DF3,U+8EAB,U+8F66,U+8F6C,U+8F6E,U+8F7D,U+8F91,U+8FB9,U+8FBE,U+8FC7,U+8FD0,U+8FD8-8FD9,U+8FDB,U+8FED,U+8FF0,U+9000,U+9009,U+900F,U+901A,U+901F,U+90AE,U+90BB,U+90E8,U+90FD,U+914D,U+9192,U+91CC-91CD,U+91CF,U+9274,U+949F,U+94FE,U+952E,U+957F,U+95ED-95EE,U+95F4,U+9605,U+961F,U+9636,U+9645-9646,U+9648,U+9650,U+9664,U+9690,U+9694,U+9700,U+9759,U+975E,U+9762,U+97F3,U+9875-9876,U+9879-987A,U+987E,U+9884,U+9886,U+9891,U+9898,U+9970,U+9988,U+9996,U+9A8C,U+9AA4,U+9AD8,U+FF01,U+FF08-FF09,U+FF0C,U+FF1A-FF1B,U+FF1F}@property --amb{syntax:"<color>";inherits:true;initial-value:#f05a42}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:76px}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}html.pf-locked,html.pf-locked body{overflow:hidden}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0}img,svg,canvas{max-width:100%;display:block}img{height:auto}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:0}a{color:inherit;-webkit-tap-highlight-color:transparent}h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote{margin:0}ul,ol{padding:0;list-style:none}[hidden]{display:none!important}:root{--bg:#f1f0ec;--bg-2:#e8e6e0;--paper:#fbfaf7;--ink:#111214;--ink-2:#4b4c52;--ink-3:#6b6c72;--ok:#0d7a47;--line:#1112141a;--line-2:#11121429;--focus:#3b45ff;--amb:#f05a42;--f-zh-serif:"Noto Serif SC", "Songti SC", "STSong", "SimSun", serif;--f-zh-sans:"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "Noto Sans SC", sans-serif;--f-display:"Instrument Serif", "Iowan Old Style", "Times New Roman", serif;--f-sans:"Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", var(--f-zh-sans);--f-mono:"Geist Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--cw:300px;--ch:188px;--ease:cubic-bezier(.2, .8, .2, 1);color-scheme:light;transition:--amb 1.1s}body{background:var(--bg);min-width:320px;color:var(--ink);font-family:var(--f-sans);font-size:16px;line-height:1.6}:root[data-lang=zh] body{line-break:strict;text-autospace:normal;line-height:1.8}:root[data-lang=zh] :is(h1,h2,h3,h4){word-break:keep-all;overflow-wrap:anywhere}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}body:after{content:"";z-index:200;pointer-events:none;opacity:.055;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");position:fixed;inset:0}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip{z-index:1000;background:var(--ink);color:var(--paper);border-radius:999px;padding:10px 16px;text-decoration:none;transition:transform .2s;position:fixed;top:12px;left:16px;transform:translateY(-160%)}.skip:focus{transform:none}:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.wrap{width:min(1240px,100% - 64px);margin-inline:auto}.eyebrow{font-family:var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-size:12px}:root[data-lang=zh] .eyebrow{letter-spacing:.16em}section[id],article[id]{scroll-margin-top:76px}.top{z-index:50;grid-template-columns:1fr auto 1fr;align-items:center;height:68px;padding:0 28px;transition:background .4s,box-shadow .4s,backdrop-filter .4s;display:grid;position:fixed;inset:0 0 auto}.top.is-solid,:root:not(.js) .top{background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(16px)saturate(1.3);box-shadow:0 1px 0 var(--line)}.brand{justify-self:start;align-items:baseline;gap:10px;text-decoration:none;display:inline-flex}.brand-dot{background:conic-gradient(from 0deg, var(--amb), #3b45ff, var(--amb));width:9px;height:9px;box-shadow:0 0 0 3px color-mix(in srgb, var(--amb) 18%, transparent);border-radius:50%;align-self:center;animation:6s linear infinite spin}.brand-n1{font-family:var(--f-zh-serif);letter-spacing:.04em;font-size:18px;font-weight:600}:root[data-lang=en] .brand-n1{font-family:var(--f-display);letter-spacing:0;font-size:23px;font-weight:400}.brand-n2{font-family:var(--f-display);color:var(--ink-3);font-size:19px;font-style:italic}:root[data-lang=en] .brand-n2{font-family:var(--f-zh-serif);letter-spacing:.06em;font-size:14px;font-style:normal}.nav{background:color-mix(in srgb, var(--paper) 55%, transparent);box-shadow:inset 0 0 0 1px var(--line);border-radius:999px;gap:4px;padding:5px;display:flex}.nav a{color:var(--ink-2);border-radius:999px;padding:6px 16px;font-size:14px;text-decoration:none;transition:color .2s,background .2s}.nav a:hover{color:var(--ink);background:color-mix(in srgb, var(--paper) 90%, transparent)}.top-actions{justify-self:end;align-items:center;gap:10px;display:flex}.lang{isolation:isolate;height:34px;box-shadow:inset 0 0 0 1px var(--line-2);font-family:var(--f-mono);color:var(--ink);border-radius:999px;grid-auto-columns:40px;grid-auto-flow:column;font-size:12px;text-decoration:none;display:inline-grid;position:relative}.lang-opt{z-index:1;place-items:center;transition:color .3s;display:grid}.lang-thumb{background:var(--ink);width:34px;height:28px;transition:transform .45s var(--ease);border-radius:999px;position:absolute;top:3px;left:3px}:root[data-lang=zh] .lang-opt[data-l=zh],:root[data-lang=en] .lang-opt[data-l=en]{color:var(--paper)}:root[data-lang=en] .lang-thumb{transform:translate(40px)}.lang:hover .lang-thumb{box-shadow:0 0 0 3px color-mix(in srgb, var(--amb) 22%, transparent)}.hero{position:relative}.stage{isolation:isolate;position:relative}.js .hero{height:230svh}.js .stage{height:100svh;min-height:560px;position:sticky;top:0;overflow:hidden}.ambient{z-index:-1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.ambient i{top:var(--y0,55%);background:radial-gradient(closest-side, color-mix(in srgb, var(--amb) 26%, transparent), transparent 72%);width:120vmax;height:70vmax;opacity:var(--amb-o,1);border-radius:50%;transition:opacity .6s;position:absolute;left:50%;translate:-50% -50%}.ambient i:nth-child(2){top:calc(var(--y0,55%) + 14vh);background:radial-gradient(closest-side,#ffffffe6,#0000 75%);width:70vmax;height:30vmax}.intro{z-index:6;text-align:center;width:min(980px,100% - 48px);margin:0 auto;position:relative}.js .intro{top:var(--intro-y,28.5%);pointer-events:none;margin:0;position:absolute;left:50%;translate:-50% -50%}.js .intro>*{pointer-events:auto}.intro:before{content:"";z-index:-1;background:radial-gradient(closest-side, color-mix(in srgb, var(--bg) 92%, transparent), transparent);filter:blur(8px);position:absolute;inset:-12% -8%}.kicker{background:color-mix(in srgb, var(--paper) 70%, transparent);box-shadow:inset 0 0 0 1px var(--line);backdrop-filter:blur(6px);font-family:var(--f-mono);letter-spacing:.06em;color:var(--ink-2);border-radius:999px;align-items:center;gap:10px;padding:6px 14px 6px 10px;font-size:12px;display:inline-flex}.pulse{background:#18b26b;border-radius:50%;width:7px;height:7px;position:relative}.pulse:after{content:"";animation:ping 2.2s var(--ease) infinite;border:1px solid #18b26b;border-radius:50%;position:absolute;inset:-4px}.name{flex-wrap:wrap;justify-content:center;align-items:baseline;column-gap:.32em;margin-top:16px;font-weight:400;line-height:1;display:flex}.name-1{font-family:var(--f-zh-serif);letter-spacing:.03em;text-shadow:0 1px #fff9;font-size:clamp(52px,min(7.9vw,14.5vh),122px);font-weight:600}.name-2{font-family:var(--f-display);letter-spacing:-.01em;color:var(--ink-2);font-size:clamp(32px,4vw,60px);font-style:italic}:root[data-lang=en] .name-1{font-family:var(--f-display);letter-spacing:-.035em;font-size:clamp(68px,min(11vw,18vh),172px);font-weight:400}:root[data-lang=en] .name-2{font-family:var(--f-zh-serif);letter-spacing:.08em;color:var(--ink-3);font-size:clamp(22px,2.4vw,34px);font-style:normal;font-weight:600}.line{max-width:40em;color:var(--ink-2);margin:14px auto 0;font-size:clamp(15px,1.25vw,17px);line-height:1.75}:root[data-lang=en] .line{font-size:clamp(15px,1.2vw,17px);line-height:1.5}:root:not(.js) .stage,.pf-static-hero .stage{height:auto;min-height:0;padding:150px 0 80px;position:relative;overflow:visible}.pf-static-hero .hero{height:auto}.pf-static-hero .intro{margin:0 auto;position:relative;top:auto;left:auto;translate:none}:root:not(.js) .ambient,.pf-static-hero .ambient{-webkit-mask-image:linear-gradient(#000 50%,#0000);mask-image:linear-gradient(#000 50%,#0000)}:root:not(.js) :is(.scene,.grid-layer,.hud,.cursor),.pf-static-hero :is(.scene,.grid-layer,.hud,.cursor){display:none}.scene{z-index:4;perspective:var(--persp,1700px);perspective-origin:50% var(--y0,55%);touch-action:pan-y;cursor:grab;outline:none;position:absolute;inset:0}.scene.is-drag{cursor:grabbing}.ring{top:var(--y0,55%);width:0;height:0;transform-style:preserve-3d;position:absolute;left:50%}.cards{transform-style:preserve-3d;position:absolute}.dial{pointer-events:none;transform-style:flat;position:absolute;-webkit-mask-image:linear-gradient(#000 0% 42%,#0000 76%);mask-image:linear-gradient(#000 0% 42%,#0000 76%)}.dial svg{transform-origin:50%;width:100%;height:100%;overflow:visible}.dial text{font-family:var(--f-mono);letter-spacing:.1em;fill:var(--ink-3);font-size:15px}.card{top:calc(var(--ch) / -2);left:calc(var(--cw) / -2);width:var(--cw);height:var(--ch);transform-style:preserve-3d;will-change:transform;position:absolute}.face{border-radius:calc(var(--cw) * .05);background:var(--paper);-webkit-backface-visibility:hidden;backface-visibility:hidden;position:absolute;inset:0;overflow:hidden;box-shadow:0 0 0 1px #11121412,0 24px 50px -24px #1e1e3c6b}.face.back{background:linear-gradient(150deg, color-mix(in srgb, var(--tint) 16%, #fff), color-mix(in srgb, var(--tint) 34%, #f3f1ec));color:color-mix(in srgb, var(--tint) 70%, #000);align-content:center;place-items:center;gap:10px;display:grid;transform:rotateY(180deg)}.face.back .bk-no{font-family:var(--f-mono);font-size:calc(var(--cw) * .036);letter-spacing:.2em;opacity:.7}.face.back .bk-name{font-family:var(--f-display);font-size:calc(var(--cw) * .11);line-height:1}:root[data-lang=zh] .face.back .bk-name{font-family:var(--f-zh-serif);font-size:calc(var(--cw) * .085);font-weight:600}.face.back img{width:calc(var(--cw) * .2);height:calc(var(--cw) * .2);object-fit:contain;border-radius:22%}.fog{z-index:3;background:var(--bg);opacity:var(--fog,0);pointer-events:none;position:absolute;inset:0}.media{background:var(--paper);position:absolute;inset:0}.media img.shot{object-fit:cover;object-position:0 0;width:100%;height:100%}.media.is-icon{background:radial-gradient(120% 100% at 50% 0%, color-mix(in srgb, var(--tint) 22%, #fff), color-mix(in srgb, var(--tint) 8%, var(--paper)) 70%);place-items:center;display:grid}.media.is-icon img{aspect-ratio:1;object-fit:contain;width:38%;height:auto;filter:drop-shadow(0 14px 22px color-mix(in srgb, var(--tint) 45%, transparent))}.media .art{--art-tint:var(--tint)}.lab{z-index:2;padding:calc(var(--cw) * .045) calc(var(--cw) * .05);font-size:calc(var(--cw) * .042);opacity:var(--lab,0);background:linear-gradient(#0000,#fbfaf7d1 40%,#fbfaf7f5);justify-content:space-between;align-items:flex-end;gap:8px;line-height:1.25;transition:opacity .35s;display:flex;position:absolute;inset:auto 0 0}.lab b{font-size:1.08em;font-weight:600;display:block}.lab small{color:var(--ink-3);font-size:.86em}.lab .lab-k{font-family:var(--f-mono);letter-spacing:.06em;white-space:nowrap;color:var(--ink-3);flex:none;font-size:.74em}.badge{top:calc(var(--cw) * .035);left:calc(var(--cw) * .035);z-index:2;font-size:calc(var(--cw) * .034);white-space:nowrap;background:#ffffffdb;border-radius:999px;align-items:center;gap:6px;padding:3px 8px 3px 4px;font-weight:500;display:inline-flex;position:absolute;box-shadow:0 0 0 1px #0000000f,0 4px 10px -4px #0003}.badge img{object-fit:contain;border-radius:28%;width:1.5em;height:1.5em}.badge .dotk{background:var(--tint);border-radius:50%;width:.8em;height:.8em;margin-left:4px}.gloss{z-index:2;pointer-events:none;mix-blend-mode:soft-light;opacity:.9;transform:translateX(calc(var(--gx,0) * -42%));background:linear-gradient(105deg,#0000 38%,#ffffff61 47%,#ffffff14 53%,#0000 60%);position:absolute;inset:-20% -60%}.shadow{height:calc(var(--ch) * .5);margin-top:calc(var(--ch) * -.25);opacity:var(--sh,1);pointer-events:none;background:radial-gradient(closest-side,#1919284d,#0000);position:absolute;top:100%;left:8%;right:8%;transform:rotateX(90deg)}.card.is-hover .face.front{box-shadow:0 0 0 1.5px color-mix(in srgb, var(--tint) 70%, #fff), 0 34px 60px -24px color-mix(in srgb, var(--tint) 50%, #1e1e3c80)}.card.is-kbfocus .face.front{box-shadow:0 0 0 3px var(--focus), 0 0 0 7px color-mix(in srgb, var(--focus) 22%, transparent), 0 34px 60px -24px #1e1e3c80}.grid-layer{z-index:5;opacity:var(--g,0);pointer-events:none;position:absolute;inset:0}.grid-head{top:var(--gh-y,96px);width:min(1240px,100% - 48px);translate:-50%;transform:translateY(calc((1 - var(--g,0)) * 24px));justify-content:space-between;align-items:baseline;gap:24px;display:flex;position:absolute;left:50%}.grid-title{font-family:var(--f-zh-serif);letter-spacing:.02em;font-size:clamp(24px,2.6vw,38px);font-weight:600;line-height:1.2}:root[data-lang=en] .grid-title{font-family:var(--f-display);letter-spacing:-.015em;font-size:clamp(30px,3.4vw,52px);font-weight:400}.grid-rows .row-label{font-family:var(--f-mono);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;color:var(--ink-3);align-items:center;gap:10px;font-size:12px;display:flex;position:absolute}.grid-rows .row-label:after{content:"";background:var(--line-2);width:64px;height:1px}.grid-labels .gl{text-align:left;pointer-events:auto;transform:translateY(calc((1 - var(--g,0)) * 10px));gap:2px;line-height:1.35;display:grid;position:absolute}.grid-labels .gl b{font-size:15px;font-weight:600}.grid-labels .gl span{color:var(--ink-3);font-size:12.5px}.grid-labels .gl:hover b{text-underline-offset:3px;text-decoration:underline}.stage.is-grid .scene{cursor:default}.hud{z-index:7;opacity:var(--hud,1);pointer-events:none;grid-template-columns:1fr auto;align-items:end;gap:16px;padding:0 28px 24px;transition:opacity .2s;display:grid;position:absolute;inset:auto 0 0}.hud>*{pointer-events:auto}.stage:not(.is-live) .hud{opacity:0;pointer-events:none}.cap{flex-wrap:wrap;align-items:baseline;gap:6px 14px;min-width:0;display:flex}.cap-no{font-family:var(--f-mono);letter-spacing:.08em;color:var(--ink-3);font-size:12px}.cap-main{align-items:baseline;gap:10px;min-width:0;display:inline-flex}.cap-main b{font-family:var(--f-zh-serif);letter-spacing:.02em;white-space:nowrap;font-size:22px;font-weight:600}:root[data-lang=en] .cap-main b{font-family:var(--f-display);letter-spacing:-.01em;font-size:28px;font-weight:400}.cap-main span{color:var(--ink-2);font-size:14px}.cap-tag{box-shadow:inset 0 0 0 1px var(--line);white-space:nowrap;color:var(--ink-3);border-radius:999px;padding:3px 10px;font-size:12px}.cap.is-swap :is(.cap-main,.cap-tag){animation:capin .5s var(--ease)}.ctrl{align-items:center;gap:8px;display:flex}.ctrl>*{flex-shrink:0}.seg{background:color-mix(in srgb, var(--paper) 70%, transparent);box-shadow:inset 0 0 0 1px var(--line);backdrop-filter:blur(8px);border-radius:999px;padding:4px;display:inline-flex}.seg button{height:34px;color:var(--ink-2);border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-size:13.5px;transition:background .3s,color .3s;display:inline-flex}.seg button i{font-family:var(--f-mono);color:var(--ink-3);font-size:11px;font-style:normal}.seg button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.seg button[aria-pressed=true] i{color:color-mix(in srgb, var(--paper) 60%, transparent)}.round{background:color-mix(in srgb, var(--paper) 70%, transparent);width:42px;height:42px;box-shadow:inset 0 0 0 1px var(--line-2);border-radius:50%;place-items:center;transition:background .2s,transform .2s;display:grid}.round:hover{background:var(--paper)}.round:active{transform:scale(.94)}.play .i-play,.play.is-stopped .i-pause{display:none}.play.is-stopped .i-play{display:inline}.reduced .play{display:none}.open{background:var(--ink);height:42px;color:var(--paper);box-shadow:0 10px 24px -12px color-mix(in srgb, var(--amb) 80%, #000);transition:transform .25s var(--ease), box-shadow .4s;border-radius:999px;align-items:center;gap:8px;padding:0 18px 0 20px;font-size:14px;font-weight:500;display:inline-flex}.open:hover{transform:translateY(-1px)}.telemetry{font-family:var(--f-mono);font-variant-numeric:tabular-nums;letter-spacing:.06em;color:var(--ink-3);opacity:.8;font-size:11px;position:absolute;bottom:74px;left:28px}.scroll-hint{letter-spacing:.04em;color:var(--ink-3);pointer-events:none;align-items:center;gap:8px;font-size:12px;display:flex;position:absolute;bottom:74px;right:28px}.scroll-hint:before{content:"↓";font-family:var(--f-mono);animation:nudge 2s var(--ease) infinite}.cursor{z-index:60;background:var(--ink);color:var(--paper);font-family:var(--f-mono);letter-spacing:.04em;white-space:nowrap;opacity:0;pointer-events:none;border-radius:999px;padding:6px 12px;font-size:12px;transition:opacity .25s;position:fixed;top:0;left:0;transform:translate(-100px,-100px)scale(.6)}.cursor.is-on{opacity:1}.js .intro>*{transition:opacity 1.1s var(--ease), transform 1.1s var(--ease)}.js .intro>:nth-child(2){transition-delay:.12s}.js .intro>:nth-child(3){transition-delay:.26s}.js .stage:not(.is-ready) .intro>*{opacity:0;transform:translateY(18px)}.pf-static-hero .stage .intro>*{opacity:1;transform:none}.index-list{z-index:2;background:var(--bg);padding:40px 0 24px;position:relative}.idx-head{justify-content:space-between;align-items:baseline;gap:16px;padding:0 4px 16px;display:flex}.idx-head h2{font-family:var(--f-zh-serif);font-size:22px;font-weight:600}:root[data-lang=en] .idx-head h2{font-family:var(--f-display);font-size:30px;font-weight:400}.idx-head p{color:var(--ink-3);font-size:13px}.idx-wrap{border-top:1px solid var(--line-2)}.idx-row{border-bottom:1px solid var(--line);color:inherit;transition:background .25s, padding .35s var(--ease);grid-template-columns:64px minmax(0,1.25fr) minmax(0,1fr) minmax(0,1fr) 40px;align-items:center;gap:16px;padding:18px 4px;text-decoration:none;display:grid}.idx-row:hover,.idx-row:focus-visible{background:color-mix(in srgb, var(--tint) 8%, transparent);padding-left:14px}.idx-no{font-family:var(--f-mono);color:var(--ink-3);font-size:12px}.idx-name{align-items:center;gap:12px;font-size:17px;font-weight:600;display:flex}.idx-name img,.idx-name .idx-sw{object-fit:contain;border-radius:8px;flex:none;width:28px;height:28px}.idx-name .idx-sw{background:color-mix(in srgb, var(--tint) 18%, #fff);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--tint) 30%, transparent);font-family:var(--f-zh-serif);color:var(--tint);place-items:center;font-size:14px;display:grid}.idx-k,.idx-m{color:var(--ink-2);font-size:14px}.idx-m{color:var(--ink-3)}.idx-go{width:32px;height:32px;box-shadow:inset 0 0 0 1px var(--line-2);transition:background .25s, color .25s, transform .35s var(--ease);border-radius:50%;justify-self:end;place-items:center;display:grid}.idx-row:hover .idx-go{background:var(--ink);color:var(--paper);transform:rotate(-45deg)}.js .pf-archive{display:none}.pf-archive{z-index:2;background:var(--bg);padding:48px 0 32px;position:relative}.archive-title{font-family:var(--f-zh-serif);margin-bottom:8px;font-size:22px;font-weight:600}:root[data-lang=en] .archive-title{font-family:var(--f-display);font-size:30px;font-weight:400}.pf-detail{background:var(--paper);box-shadow:0 0 0 1px var(--line), 0 30px 60px -50px #14143273;border-radius:24px;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);margin-top:20px;display:grid;overflow:hidden}.pf-detail__media{background:radial-gradient(120% 90% at 30% 10%, color-mix(in srgb, var(--tint) 14%, var(--paper)), color-mix(in srgb, var(--tint) 5%, var(--bg)) 70%);align-items:start;padding:28px;display:grid}.pf-detail__shot{width:100%;position:sticky;top:96px}.pf-detail__shot img,.pf-detail__art{background:var(--paper);border-radius:14px;width:100%;box-shadow:0 0 0 1px #0000000f,0 24px 50px -30px #14143c73}.pf-detail__art{aspect-ratio:1.6;--art-tint:var(--tint);overflow:hidden}.pf-detail__shot figcaption{color:var(--ink-2);background:#ffffffeb;border-radius:999px;padding:5px 11px;font-size:12px;position:absolute;bottom:12px;left:12px;box-shadow:0 0 0 1px #0000000f}.pf-detail__body{flex-direction:column;gap:22px;padding:34px 36px 30px;display:flex}.sb-kicker{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sheet-body .sb-kicker{padding-right:48px}.sb-kind{background:color-mix(in srgb, var(--tint) 12%, transparent);color:color-mix(in srgb, var(--tint) 70%, #000);border-radius:999px;align-items:center;gap:7px;padding:4px 11px;font-size:12.5px;font-weight:500;display:inline-flex}.sb-kind:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.sb-tag{box-shadow:inset 0 0 0 1px var(--line-2);color:var(--ink-2);border-radius:999px;padding:3px 10px;font-size:12.5px}.sb-title{font-family:var(--f-zh-serif);letter-spacing:.01em;font-size:clamp(30px,3vw,44px);font-weight:600;line-height:1.2}:root[data-lang=en] .sb-title{font-family:var(--f-display);letter-spacing:-.02em;font-size:clamp(38px,3.8vw,58px);font-weight:400;line-height:1}.sb-alt{color:var(--ink-3);margin-top:8px;font-size:14.5px}.sb-note{color:var(--ink-3)}.sb-meta{font-family:var(--f-mono);letter-spacing:.03em;color:var(--ink-3);margin-top:6px;font-size:12px}.sb-sum{color:var(--ink-2);font-size:16.5px;line-height:1.85}:root[data-lang=en] .sb-sum{font-size:17px;line-height:1.55}.sb-h{font-family:var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:10px;font-size:11.5px}.sb-facts li{border-top:1px solid var(--line);padding:10px 0 10px 26px;font-size:14.5px;line-height:1.7;position:relative}.sb-facts li:before{content:"";border-bottom:1.6px solid var(--tint);border-left:1.6px solid var(--tint);width:9px;height:5px;position:absolute;top:19px;left:4px;transform:rotate(-45deg)}.sb-topics{flex-wrap:wrap;gap:8px;display:flex}.sb-topics li{background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);border-radius:999px;padding:6px 12px;font-size:13px}.sb-links{flex-wrap:wrap;gap:8px;display:flex}.sb-links a{background:var(--ink);height:38px;color:var(--paper);transition:transform .25s var(--ease);border-radius:999px;align-items:center;gap:6px;padding:0 16px;font-size:13.5px;text-decoration:none;display:inline-flex}.sb-links a+a{color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-2);background:0 0}.sb-links a:hover{transform:translateY(-1px)}.sb-honest{background:var(--bg);color:var(--ink-3);border-radius:14px;gap:10px;padding:12px 14px;font-size:12.5px;line-height:1.65;display:flex}.sb-honest:before{content:"i";width:18px;height:18px;box-shadow:inset 0 0 0 1px var(--line-2);font-family:var(--f-display);color:var(--ink-2);border-radius:50%;flex:none;place-items:center;font-size:13px;font-style:italic;display:grid}.sb-nav{grid-template-columns:1fr 1fr;gap:10px;margin-top:auto;padding-top:8px;display:grid}.sb-nav a{box-shadow:inset 0 0 0 1px var(--line);color:inherit;text-align:left;border-radius:14px;gap:2px;padding:12px 14px;text-decoration:none;transition:background .25s;display:grid}.sb-nav a:last-child{text-align:right}.sb-nav a:hover{background:var(--bg)}.sb-nav small{color:var(--ink-3);font-size:11.5px}.sb-nav b{font-size:14.5px;font-weight:600}.about{z-index:2;background:var(--bg);padding:120px 0 80px;position:relative}.about-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;display:grid}.avatar{width:84px;height:84px;box-shadow:0 0 0 1px var(--line), 0 18px 36px -22px #2c124680;border-radius:50%;margin-bottom:28px;display:block}.h2{font-family:var(--f-zh-serif);letter-spacing:.01em;margin-top:14px;font-size:clamp(30px,3.4vw,50px);font-weight:600;line-height:1.3}:root[data-lang=en] .h2{font-family:var(--f-display);letter-spacing:-.02em;font-size:clamp(40px,4.6vw,70px);font-weight:400;line-height:1.02}.lead{color:var(--ink-2);font-size:18px;line-height:1.95}:root[data-lang=en] .lead{font-size:19px;line-height:1.6}.facts{border-top:1px solid var(--line-2);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:36px;display:grid}.facts div{border-bottom:1px solid var(--line);padding:16px 0}.facts div:nth-child(odd){padding-right:16px}.facts dt{font-family:var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-size:11.5px}.facts dd{margin-top:4px;font-size:16px;font-weight:500}.timeline{margin-top:96px;position:relative}.tl-axis{border-bottom:1px solid var(--line-2);height:64px;position:relative}.tl-year{font-family:var(--f-mono);color:var(--ink-3);justify-items:center;gap:8px;font-size:12px;display:grid;position:absolute;bottom:0;translate:-50%}.tl-year:after{content:"";background:var(--line-2);width:1px;height:10px}.tl-now{color:var(--ink)}.tl-now:before{content:"";background:#18b26b;border-radius:50%;width:7px;height:7px;position:absolute;top:-16px;box-shadow:0 0 0 4px #18b26b2e}.tl-bars{height:14px;margin-top:-7px;position:relative}.tl-bar{background:var(--tint);height:14px;box-shadow:0 6px 18px -8px var(--tint);transform-origin:0;border-radius:999px;position:absolute;top:0}.js .tl-bar{transition:transform 1.4s var(--ease);transform:scaleX(0)}.js .timeline.is-in .tl-bar{transform:scaleX(1)}.tl-bar.is-earlier{background:repeating-linear-gradient(90deg, var(--line-2) 0 6px, transparent 6px 11px);box-shadow:none}.tl-cards{grid-template-columns:1.1fr 1.6fr 1.1fr;gap:20px;margin-top:28px;display:grid;position:relative}.tl-card{background:var(--paper);box-shadow:0 0 0 1px var(--line), 0 20px 40px -30px #14142866;border-radius:20px;padding:24px}.tl-card.is-earlier{box-shadow:inset 0 0 0 1px var(--line);background:0 0}.tl-period{font-family:var(--f-mono);letter-spacing:.04em;color:var(--ink-3);font-size:12px}.tl-org{margin-top:8px;font-size:20px;font-weight:600;line-height:1.35}.tl-span{background:color-mix(in srgb, var(--tint) 12%, transparent);color:color-mix(in srgb, var(--tint) 75%, #000);vertical-align:3px;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:12px;font-weight:500;display:inline-block}.tl-text{color:var(--ink-2);margin-top:10px;font-size:14.5px;line-height:1.75}:root[data-lang=en] .tl-text{line-height:1.55}.tl-projects{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.chip{background:var(--bg);height:34px;box-shadow:inset 0 0 0 1px var(--line-2);color:inherit;transition:background .25s, transform .25s var(--ease);border-radius:999px;align-items:center;gap:8px;padding:0 14px 0 6px;font-size:13.5px;font-weight:500;text-decoration:none;display:inline-flex}.chip:hover{background:color-mix(in srgb, var(--tint) 12%, var(--paper));transform:translateY(-1px)}.chip .sw{background:color-mix(in srgb, var(--tint) 16%, #fff);width:24px;height:24px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--tint) 30%, transparent);font-family:var(--f-zh-serif);color:var(--tint);border-radius:50%;flex:none;place-items:center;font-size:13px;display:grid}.notes{z-index:2;background:var(--bg);padding:80px 0 120px;position:relative}.sec-head{grid-template-columns:minmax(0,1fr) minmax(0,.8fr);align-items:end;gap:12px 64px;display:grid}.sec-head .eyebrow{grid-column:1/-1}.sec-head .h2{margin-top:0}.sec-sub{color:var(--ink-3);font-size:15px}.note-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:48px;display:grid}.note-list li{display:grid}.note-list .is-feature{grid-column:1/-1}.is-feature .note{min-height:250px;padding:32px 36px}.is-feature .note:before{width:42%;inset:auto -6% -80% auto}.is-feature .note-title{max-width:20em;font-size:32px}:root[data-lang=en] .is-feature .note-title{max-width:16em;font-size:44px}.is-feature .note-lede{max-width:40em;font-size:16px}.note{background:var(--paper);min-height:300px;box-shadow:0 0 0 1px var(--line), 0 30px 50px -40px #14142880;color:inherit;transition:transform .5s var(--ease), box-shadow .5s var(--ease);border-radius:22px;grid-template-rows:auto 1fr auto;gap:18px;padding:26px;text-decoration:none;display:grid;position:relative;overflow:hidden}.note:before{content:"";aspect-ratio:1;background:radial-gradient(closest-side, color-mix(in srgb, var(--tint) 22%, transparent), transparent);width:70%;transition:transform .8s var(--ease);border-radius:50%;position:absolute;inset:auto -30% -60% auto}.note:hover{box-shadow:0 0 0 1px color-mix(in srgb, var(--tint) 40%, var(--line)), 0 40px 60px -36px color-mix(in srgb, var(--tint) 60%, #14142880);transform:translateY(-6px)}.note:hover:before{transform:scale(1.4)}.note-top{color:var(--ink-3);justify-content:space-between;align-items:center;font-size:12.5px;display:flex}.note-top .tag{font-family:var(--f-mono);letter-spacing:.06em}.note-main{align-content:start;gap:12px;display:grid}.note-title{font-family:var(--f-zh-serif);letter-spacing:.01em;font-size:24px;font-weight:600;line-height:1.45}:root[data-lang=en] .note-title{font-family:var(--f-display);letter-spacing:-.01em;font-size:32px;font-weight:400;line-height:1.08}.note-lede{color:var(--ink-2);font-size:15px}.note-foot{color:var(--ink-2);justify-content:space-between;align-items:center;font-size:13px;display:flex;position:relative}.note-foot img{object-fit:contain;border-radius:7px;width:26px;height:26px}.notes-archive{background:0 0;padding:64px 0 0}.pf-note-full{background:var(--paper);max-width:760px;box-shadow:0 0 0 1px var(--line);border-radius:24px;margin-top:20px;padding:44px 48px 36px}.rd-top{color:var(--ink-3);align-items:center;gap:10px;font-size:12.5px;display:flex}.rd-title{font-family:var(--f-zh-serif);margin-top:18px;font-size:clamp(28px,4vw,44px);font-weight:600;line-height:1.3}:root[data-lang=en] .rd-title{font-family:var(--f-display);letter-spacing:-.02em;font-size:clamp(38px,5vw,60px);font-weight:400;line-height:1.02}.rd-lede{font-family:var(--f-zh-serif);color:var(--ink-2);margin-top:18px;font-size:19px;font-weight:600}:root[data-lang=en] .rd-lede{font-family:var(--f-display);font-size:24px;font-style:italic;font-weight:400}.rd-body{gap:18px;margin-top:30px;font-size:17px;line-height:1.95;display:grid}:root[data-lang=en] .rd-body{font-size:18px;line-height:1.65}.rd-body p:last-child{background:var(--bg);color:var(--ink-2);border-radius:14px;padding:14px 16px;font-size:15px}.rd-foot{border-top:1px solid var(--line);color:var(--ink-3);justify-content:space-between;gap:12px;margin-top:36px;padding-top:18px;font-size:13px;display:flex}.rd-foot a{color:var(--ink-2);text-underline-offset:3px}.contact{z-index:2;background:var(--paper);box-shadow:0 -1px 0 var(--line), 0 -30px 60px -50px #1414284d;border-radius:36px 36px 0 0;padding:120px 0 0;position:relative;overflow:hidden}.contact:before{content:"";aspect-ratio:1.4;background:radial-gradient(closest-side, color-mix(in srgb, var(--amb) 22%, transparent), transparent);pointer-events:none;width:80%;position:absolute;top:-30%;right:-10%}.contact:after{content:"";aspect-ratio:1.3;pointer-events:none;background:radial-gradient(closest-side,#3b45ff1a,#0000);width:70%;position:absolute;bottom:-40%;left:-20%}.contact-in{z-index:1;position:relative}.contact-h{max-width:14em;font-family:var(--f-zh-serif);letter-spacing:.01em;margin-top:18px;font-size:clamp(36px,5.6vw,84px);font-weight:600;line-height:1.18}:root[data-lang=en] .contact-h{max-width:11em;font-family:var(--f-display);letter-spacing:-.03em;font-size:clamp(48px,7.6vw,120px);font-weight:400;line-height:.96}.contact-row{flex-wrap:wrap;align-items:center;gap:12px;margin-top:56px;display:flex}.mail{background:var(--ink);height:64px;color:var(--paper);box-shadow:0 18px 36px -18px color-mix(in srgb, var(--amb) 70%, #000);border-radius:999px;align-items:center;gap:16px;padding:0 10px 0 26px;font-size:clamp(17px,1.8vw,22px);font-weight:500;display:inline-flex}.mail:has(.mail-act[hidden]){padding-right:26px}.mail-addr{color:inherit;text-decoration:none}.mail-addr:hover{text-underline-offset:4px;text-decoration:underline}.mail-act{background:var(--paper);height:44px;color:var(--ink);border-radius:999px;place-items:center;padding:0 18px;font-size:13px;transition:background .3s,color .3s;display:grid}.mail-act[data-state=copied]{background:var(--ok);color:#fff}.pill-link{height:64px;box-shadow:inset 0 0 0 1px var(--line-2);border-radius:999px;align-items:center;gap:6px;padding:0 26px;font-size:15px;text-decoration:none;transition:background .3s;display:inline-flex}.pill-link:hover{background:var(--bg)}.mail-note{color:var(--ink-3);margin-top:14px;font-size:12.5px}.foot{z-index:1;border-top:1px solid var(--line);color:var(--ink-3);justify-content:space-between;gap:24px;margin-top:120px;padding:26px 0 30px;font-size:12.5px;display:flex;position:relative}.foot a{color:var(--ink-2);text-decoration:none}.foot a:hover{text-underline-offset:3px;text-decoration:underline}.sheet,.reader{z-index:80;place-items:center;display:grid;position:fixed;inset:0}.sheet-back{background:color-mix(in srgb, var(--bg) 70%, transparent);-webkit-backdrop-filter:blur(22px)saturate(1.2);opacity:0;transition:opacity .45s var(--ease);position:absolute;inset:0}.is-open .sheet-back{opacity:1}.sheet-panel{background:var(--paper);width:min(1280px,100% - 56px);height:min(820px,100% - 56px);box-shadow:0 0 0 1px var(--line), 0 60px 120px -50px #1414328c;opacity:0;transition:opacity .45s var(--ease), transform .6s var(--ease);border-radius:28px;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);display:grid;position:relative;overflow:hidden;transform:translateY(18px)scale(.985)}.is-open .sheet-panel{opacity:1;transform:none}.sheet-media{background:radial-gradient(120% 90% at 30% 10%, color-mix(in srgb, var(--tint) 14%, var(--paper)), color-mix(in srgb, var(--tint) 5%, var(--bg)) 70%);grid-template-rows:1fr auto;gap:18px;min-height:0;padding:34px;display:grid;position:relative}.viewer{place-items:center;min-height:0;display:grid;position:relative;container-type:size}.viewer-in{width:min(100cqw, calc(100cqh * var(--r,1.6)));aspect-ratio:var(--r,1.6);background:var(--paper);border-radius:16px;position:relative;overflow:hidden;box-shadow:0 0 0 1px #0000000f,0 30px 60px -30px #14143c73}.viewer-in>img{object-fit:contain;width:100%;height:100%}.viewer-in .art{--art-tint:var(--tint)}.viewer-in.is-icon{background:radial-gradient(100% 100% at 50% 0%, color-mix(in srgb, var(--tint) 22%, #fff), var(--paper));place-items:center;display:grid}.viewer-in.is-icon>img{width:34%;height:auto;filter:drop-shadow(0 24px 40px color-mix(in srgb, var(--tint) 50%, transparent))}.viewer-note{color:var(--ink-2);background:#ffffffe6;border-radius:999px;padding:5px 11px;font-size:12px;position:absolute;bottom:14px;left:14px;box-shadow:0 0 0 1px #0000000f}.thumbs{scrollbar-width:none;gap:10px;padding:2px;display:flex;overflow-x:auto}.thumb{width:108px;box-shadow:0 0 0 1px var(--line);opacity:.6;transition:opacity .25s, box-shadow .25s, transform .3s var(--ease);border-radius:10px;flex:none;overflow:hidden}.thumb-media{aspect-ratio:16/10;background:var(--paper);--art-tint:var(--tint);display:block;overflow:hidden}.thumb-media img{object-fit:cover;object-position:0 0;width:100%;height:100%}.thumb-icon{place-items:center;height:100%;display:grid}.thumb-icon img{object-fit:contain;width:40%;height:auto}.thumb[aria-pressed=true]{opacity:1;box-shadow:0 0 0 2px var(--tint)}.thumb:hover{opacity:1;transform:translateY(-2px)}.thumb-cap{background:var(--paper);text-align:left;color:var(--ink-2);padding:4px 6px;font-size:11px;display:block}.sheet-body{overscroll-behavior:contain;flex-direction:column;gap:26px;padding:38px 40px 32px;display:flex;position:relative;overflow-y:auto}.sheet-x{z-index:4;background:color-mix(in srgb, var(--paper) 85%, transparent);width:44px;height:44px;box-shadow:inset 0 0 0 1px var(--line-2);transition:transform .35s var(--ease), background .2s;border-radius:50%;place-items:center;display:grid;position:absolute;top:18px;right:18px}.sheet-x:hover{background:var(--paper);transform:rotate(90deg)}.flyer{z-index:90;background:var(--paper);pointer-events:none;border-radius:14px;position:fixed;overflow:hidden;box-shadow:0 40px 80px -30px #14143c80}.flyer>*,.flyer img{width:100%;height:100%}.flyer img{object-fit:cover;object-position:0 0}.flyer .media.is-icon img{width:38%;height:auto}.flyer-art{--art-tint:var(--tint)}.reader-panel{background:var(--paper);width:min(760px,100% - 40px);max-height:calc(100% - 56px);box-shadow:0 0 0 1px var(--line), 0 60px 120px -50px #1414328c;opacity:0;transition:opacity .45s var(--ease), transform .6s var(--ease);overscroll-behavior:contain;border-radius:28px;padding:56px 64px 48px;position:relative;overflow-y:auto;transform:translateY(24px)}.reader.is-open .reader-panel{opacity:1;transform:none}.art{--art-paper:#f3f2ee;--art-sheet:#fff;--art-ink:#17181c;--art-line:#17181c24;width:100%;height:100%}svg.art .a-glyph{font-family:var(--f-zh-serif);font-weight:600}svg.art .a-mono{font-family:var(--f-mono);letter-spacing:.08em}.art-contract .a-seal{transform-box:fill-box;transform-origin:50%;animation:28s linear infinite a-spin}.art-lawyer .a-beam{transform-origin:0 0;animation:5.6s ease-in-out infinite a-sway}.art-matrix .a-cell{fill:var(--art-ink);opacity:.08;animation:3.6s ease-in-out infinite a-wave;animation-delay:var(--d)}.art-matrix .a-cell.is-lit{fill:var(--art-tint);opacity:.85;animation-name:a-lit}.art-globe{background:var(--art-paper);position:relative}.art-globe .globe-still,.art-globe canvas{width:100%;height:100%;position:absolute;inset:0}@keyframes spin{to{rotate:360deg}}@keyframes ping{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(2.2)}}@keyframes capin{0%{opacity:0;transform:translateY(6px)}}@keyframes nudge{0%,to{transform:translateY(-1px)}50%{transform:translateY(3px)}}@keyframes a-spin{to{transform:rotate(360deg)}}@keyframes a-sway{0%,to{transform:rotate(-3.2deg)}50%{transform:rotate(3.2deg)}}@keyframes a-wave{0%,to{opacity:.07}40%{opacity:.32}}@keyframes a-lit{0%,to{opacity:.85}50%{opacity:.45}}.js .reveal{opacity:0;transition:opacity .9s var(--ease), transform .9s var(--ease), box-shadow .5s var(--ease);transform:translateY(24px)}.js .reveal.is-in{opacity:1;transform:none}.js .reveal.is-in:hover{transform:translateY(-6px)}@media (width<=1100px),(height<=780px){.telemetry,.scroll-hint{display:none}}@media (width<=1080px){.about-grid,.sec-head{grid-template-columns:1fr;gap:24px}.tl-cards,.note-list{grid-template-columns:1fr}.note{min-height:0}.is-feature .note{padding:26px}.is-feature .note-title{font-size:26px}:root[data-lang=en] .is-feature .note-title{font-size:34px}.sheet-panel{display:block;overflow-y:auto}.sheet-media{grid-template-rows:auto auto;min-height:auto}.sheet-body{overflow:visible}.viewer{container-type:inline-size}.viewer-in{width:min(100cqw, calc(72svh * var(--r,1.6)))}}@media (width<=860px){.pf-detail{grid-template-columns:1fr}}@media (width<=760px){.top{grid-template-columns:1fr auto;height:58px;padding:0 16px}.nav{display:none}.wrap{width:calc(100% - 32px)}.hud{grid-template-columns:1fr;gap:12px;padding:0 16px 16px}.cap{text-align:center;justify-content:center}.cap-main b{white-space:normal}.cap-tag,.telemetry,.scroll-hint{display:none}.ctrl{justify-content:center}.seg button{height:32px;padding:0 11px}.seg button i{display:none}.round{width:38px;height:38px}.open{height:38px;padding:0 14px}.open span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.br-wide{display:none}:root[data-lang=zh] .line{font-size:14.5px}.kicker{letter-spacing:.02em;font-size:11px}.grid-head,.idx-head{flex-direction:column;gap:4px}.grid-labels .gl b{font-size:14px}.grid-labels .gl span{text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.idx-row{grid-template-columns:34px minmax(0,1fr) 32px;gap:10px}.idx-k,.idx-m{display:none}.about{padding:80px 0 60px}.facts{grid-template-columns:1fr}.facts div:nth-child(odd){padding-right:0}.timeline{margin-top:56px}.contact{border-radius:26px 26px 0 0;padding-top:80px}.contact-row{flex-direction:column;align-items:stretch}.mail{justify-content:space-between;height:58px;padding-left:20px;font-size:16px}.pill-link{justify-content:center;height:52px}.foot{flex-direction:column;margin-top:72px}.pf-detail__body{padding:24px 20px}.pf-note-full{padding:32px 22px 26px}.sheet-panel{border-radius:0;width:100%;height:100%}.sheet-media{padding:64px 16px 16px}.sheet-body{padding:24px 20px 32px}.reader-panel{border-radius:0;width:100%;height:100%;max-height:100%;padding:64px 22px 40px}.thumb{width:84px}}@media (width<=380px){.ctrl{gap:6px}.seg{padding:3px}.seg button{height:30px;padding:0 9px}.round{width:36px;height:36px}.open{height:36px;padding:0 11px}}@media (width<=340px){.ctrl{flex-wrap:wrap}.seg{flex-basis:100%}.seg button{flex:1;justify-content:center}}.reduced .brand-dot,.reduced .pulse:after,.reduced .scroll-hint:before{animation:none}.reduced .intro>*{transition:none}.reduced .reveal{opacity:1;transition:none;transform:none}.reduced .tl-bar{transition:none}.reduced :is(.art,.art *){animation:none!important}@media (prefers-reduced-motion:reduce){.brand-dot,.pulse:after,.scroll-hint:before,.art,.art *{animation:none!important}}
