@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(./archivo-vietnamese-wdth-normal-rJmnGBSt.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(./archivo-latin-ext-wdth-normal-7khWdh9v.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(./archivo-latin-wdth-normal-DY7AcnAa.woff2)format("woff2-variations");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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAfsABQAAAAAEAwAAAeCAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoP0hWQVJbBmA/U1RBVIFiJyYAdC9qEQgKhGSEAAsgADCGCAE2AiQDOgQgBYlMB4EUDAcbLQ4onoexrSC/2ZyLAa8p8VHB8/x3Vue+V0hVJalMJg2nx/TCrQXxBeqLjQG7FyM1WEa/X1tEXN7cFz9EJEMmMUz3RihWSSKeQCbcIou0izz/C8v+fq3VfajEa9gDD11CImXS7qL/RJFVzC1qiB6KmKeD6TZdQ6IRGv78dL6uSVVCfgni5mzu7kcgQBgAEAQTQRCoL++STTYybkJxNfQxAAIAGu8OdEB9teW2jh4BpgDqFjAeSEByW3zFP0CBBgNMsMCGEDjgggdhiEAUAeIIED7ABTDUEnkIE9Q9ahFgKttcVhApo4ACB4qobHaccgDfEjFO6aaWUhjMLt2SyIvHKoDqoA4CSUwEIYQCEjhAO9R1G6keDeDZGjNo+AhxOjCEGTr1WeIF3kYBiLAOKvkJSMiKX0VdAyQt3SDJClCkxJCHkCzfqyVTriJZLcolS32JZHUekq2TYNkYtCtjYHMQXSxGjXDz2t/yLWXzDzxz+o3zFwDEaN23F+13pyMdQAEaSKAR9vcGq4A4MTSKCElGW+M7UcY7xqkggITb28ZJhlqc9q2twYKTt0NjixBgYvO9BIihEBLYuOFXQzfIQ7dXGUEEEgFDooBfAzqiQbpJrhiWSuKJCRFKYbHCyJKI2G5GiZbNAvgAu5pc3vwx4G+g3aDkhklABiSz0BICXrYghtYhx/cdJ+44rY2oZ0aMNRFz3VZjb6W33F3gzltqtOCV8tTHSpOeXuItfvr5lCdfzFpqtEitvqdcdGGFd28ZqqC0tPbeChGXgrIlnhSWu/eUso4uKWFLugyDzQJhflY4659+WjQ++6x72WUMv9G8mw6QJl7BVxX5fe/kpUsOvnZwee9uQ0cGXYd0o89XB2748sDSnt8d2VphdOTTgceDVvOds0v9P/s7HPq15aGun/6Vllb56f1dl0t1LejqrNkpdRZsG8TOnM5vkBG5oiVyVGnS8LHps5cfNWJs6qKPfaNSxiQNBUm3cKNWROr0GSur7Za31k1vieq7LH11VF+jXdRIasRKflc7jkobm1Z9te1IyZA0pDkhLR98+H37Zf1c/8at+dB7x+7GfVyTfJMPiYztsnl59Y5l4j+0n1RXlpHnF3Tq7HecmNF/CJodEMAikruxiyJaGLvHOdAfoA+oDvpjBm2b91cHGRZMU9n25xEU0A8fgEEAdKI3Q1iDtc034sug5YVMkE2jsE+BIkwSoQ3gxXMqz9tELp48bd0cFKOKS7xYjEuXBnZP5ia7DyiO/X/YI+PQSbt2uSdqAkWL9nQbV1XB94/+uPfdZz8dnXYFBYrcTl2SIR/ybxJNJPz/Gupb0JaZeens2ekC7EKr8t+Ls/P5VJPYJdHKyqfg2nqU6bhlidzcddQV/7MmecTzJ5VPcKXkNKSEogHjYFx6QZ7rQ+FSe8njaiNuOnXS8H2ScQ619c2mC3VTtauL0rRbXd/CkSOP37FY9Zkjz8+GibYUMOEWF+RdrFS8Ecv1SHOpPUPZGEIpjPvFyU5cXKjd6OXqorTqy9GwRd++HVufPGnVsW+aO3vggKZ18jR9sXaTC1PWTEsVUaK0FkNySbTQDqlm2PfDjZcu4aalnSLKjnOoYQ0nUlqqXcGpPu/4VgV/xU2pAqW4BW3qzhQ8/hFKhV2qE3+BKAtDqBXjfgnVdH4y0wg5tbVNRenNdTWOrenWLcupQdmsbq5b+18piTe/xRdp1xbILxNPJGInm2z6hoB21Lal0i+ePTtd7B45+3XhFJ329evskXm7qurUVREotqSluSo/L29d3qDhI4YOQqWhI4YNvBNfsMHeXKemXrxQfKeuPOGRVayA3JtkJKEgbPp+dXUDluddutRYLFoXGXWX6N3WFaGLbQtRSitVYNacTNSdy7AaG/HSaUEANcBoGXNdcZvZsOqQ1icBDv21/gzAoYPHH/WDW0qNR3QTYKEAEHig6o13NXbND06CQPlRtYjGNnSktRc09k1mAMDvAlDKfQjgy6fssInlfzmNAjKkDxoxHOBLdVRAIVt9j4qo+hA1w9T1aNBNTUOTTNUHLbqokE+UAfJXCIGw/IxCSL5GRUJeR40rL/UxTm4Q08H6MbCs70ObuNyIIXrINHQYInF06UUlevTjbQzTh5upiDMzMMogUtEnjPs/Y7jAHCJeB0GBHh04tC6FiB6ZFB1oArUSIoFoqhzCeAN6lHwm0T4C3VVPWvjpSMXReuWesMEcoqrmgtNBGd2noWeV0hNAz9rFeShNJxHGsPa3HXeKTk8b55hahySYHaYKKFFLpCfN8rsoaJn01CR04Gkc+5k7KVTCmClX8Q10HCrUEkVlSX+XO33oQR9609tJ516H497WSobWs5Up6TLaS10/dessIskgJSLiDlWvHVUywpkQ7hdPZqGyiEF0uVQerVcPamT1A3eKXdyI1vG9OoflrSXihZ1qqGE3nhmAgiIbRCQgPLEPtOM3UQwTLYaYYomNlpA44opnjV6jkD6id80OOrzf6BzmMD6eEa1zKyeYG1fzfEf16V6jw9XYOaar1/b2kP/IYX8oR2mcFvv2GtBV3JXgd437AQAA)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2)format("woff2-variations");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:italic;font-display:swap;font-weight:400;src:url(./instrument-serif-latin-400-italic-DKMiL14s.woff2)format("woff2"),url(./instrument-serif-latin-400-italic-u__WvvIK.woff)format("woff")}:root{--bg:#08090b;--bg-1:#0d0f12;--bg-2:#13161a;--bg-3:#1b1f25;--fg:#eceae3;--fg-2:#a6a9af;--fg-3:#6a6f78;--line:#ffffff14;--line-2:#ffffff29;--accent:#c8f542;--accent-ink:#0b0d06;--c-shopee:#ff8a4c;--c-ufc:#ff5247;--c-bg:#f2b544;--c-polaris:#a488ff;--font-display:"Archivo Variable", "PingFang TC", "Noto Sans TC", "Microsoft JhengHei", system-ui, sans-serif;--font-mono:"JetBrains Mono Variable", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--font-serif:"Instrument Serif", "Songti TC", "Noto Serif TC", Georgia, serif;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--pad:clamp(18px, 4.2vw, 64px);--maxw:1400px;--bar-h:52px;--radius:14px}:root:lang(zh-Hans){--font-display:"Archivo Variable", "PingFang SC", "Noto Sans SC", "Microsoft YaHei", system-ui, sans-serif;--font-serif:"Instrument Serif", "Songti SC", "Noto Serif SC", Georgia, serif}*,:before,:after{box-sizing:border-box}html{background:var(--bg);color:var(--fg);scroll-behavior:smooth;scroll-padding-top:calc(var(--bar-h) + 20px);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{min-height:100vh;font-family:var(--font-display);font-variation-settings:"wdth" 100;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6,p,ul,ol,figure,dl,dd{margin:0;padding:0}ul,ol{list-style:none}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}img,svg,canvas,iframe{max-width:100%;display:block}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.mono{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-2);font-size:11.5px;line-height:1.5}:lang(zh) .mono{letter-spacing:.04em}.serif{font-family:var(--font-serif);letter-spacing:-.01em;text-transform:none;font-style:italic;font-weight:400}.accent{color:var(--accent)}.wrap{width:100%;max-width:var(--maxw);padding-inline:var(--pad);margin-inline:auto}.section{padding-block:clamp(72px,11vw,150px);position:relative}.crop{position:relative}.crop:before,.crop:after{content:"";pointer-events:none;border-color:var(--crop,var(--accent));opacity:.9;border-style:solid;width:10px;height:10px;position:absolute}.crop:before{border-width:1px 0 0 1px;top:-1px;left:-1px}.crop:after{border-width:0 1px 1px 0;bottom:-1px;right:-1px}.panel{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(#ffffff09,#ffffff03)}.btn{border:1px solid var(--line-2);height:46px;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;transition:background .25s, color .25s, border-color .25s, transform .35s var(--ease-out);border-radius:999px;align-items:center;gap:10px;padding:0 20px;font-size:12px;display:inline-flex}.btn:hover{border-color:var(--fg);transform:translateY(-2px)}.btn--solid{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:700}.btn--solid:hover{background:var(--fg);border-color:var(--fg)}.btn--sm{height:34px;padding:0 14px;font-size:11px}.btn .arrow{transition:transform .35s var(--ease-out);display:inline-block}.btn:hover .arrow{transform:translate(3px,-3px)}.chip{border:1px solid var(--line-2);height:26px;font-family:var(--font-mono);letter-spacing:.04em;color:var(--fg-2);white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:0 10px;font-size:11px;display:inline-flex}.dot{background:var(--accent);border-radius:50%;flex:none;width:7px;height:7px}.dot--live{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 70%, transparent);animation:2s infinite pulse}@keyframes pulse{70%{box-shadow:0 0 0 8px #0000}to{box-shadow:0 0 #0000}}.shead{grid-template-columns:auto 1fr auto;align-items:end;gap:18px 28px;margin-bottom:clamp(36px,5vw,72px);display:grid}.shead__idx{font-family:var(--font-mono);letter-spacing:.1em;color:var(--accent);padding-bottom:.9em;font-size:12px}.shead__title{font-variation-settings:"wdth" 118;letter-spacing:-.035em;text-transform:uppercase;font-size:clamp(40px,7.4vw,112px);font-weight:800;line-height:.86}.shead__note{text-align:right;max-width:30ch;padding-bottom:.7em}.shead.is-closed{margin-bottom:0}.section.is-collapsed{padding-block:clamp(20px,3vw,40px)}.shead__rule{border-top:1px solid var(--line-2);background-image:repeating-linear-gradient(90deg, var(--line-2) 0 1px, transparent 1px 12px);opacity:.9;background-repeat:no-repeat;background-size:100% 5px;grid-column:1/-1;height:9px}@media (max-width:720px){.shead{grid-template-columns:1fr;gap:10px}.shead__idx{padding-bottom:0}.shead__note{text-align:left;padding-bottom:0}}.fold[hidden]{display:none}.fold{animation:fold-in .45s var(--ease-out)}@keyframes fold-in{0%{opacity:0}}.fold-toggle{max-width:100%;font:inherit;line-height:inherit;letter-spacing:inherit;text-transform:inherit;text-rendering:inherit;text-align:left;color:inherit;align-items:center;gap:.2em;display:inline-flex}.fold-toggle__text{min-width:0}.fold-toggle:focus-visible{outline-offset:8px}.fold-mark{border:1px solid var(--line-2);width:34px;height:34px;transition:border-color .25s, background .25s, rotate .45s var(--ease-out);border-radius:50%;flex:none;position:relative}.fold-mark:before,.fold-mark:after{content:"";background:var(--mark,var(--accent));width:12px;height:1.5px;transition:rotate .45s var(--ease-out), background .25s;margin:-.75px 0 0 -6px;position:absolute;top:50%;left:50%}.fold-toggle[aria-expanded=false] .fold-mark:after,.fold-toggle[aria-expanded=false] .fold-mark{rotate:90deg}.fold-toggle:hover .fold-mark{border-color:var(--mark,var(--accent));background:var(--mark,var(--accent))}.fold-toggle:hover .fold-mark:before,.fold-toggle:hover .fold-mark:after{background:var(--accent-ink)}@media (max-width:720px){.fold-mark{width:28px;height:28px}}[data-reveal]{opacity:0;transition:opacity .9s var(--ease-out), transform .9s var(--ease-out);transition-delay:var(--d,0s);transform:translateY(26px)}[data-reveal][data-revealed]{opacity:1;transform:none}[data-inspect=on] [data-c]{outline:1px dashed color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:-1px}[data-inspect=on] *{cursor:crosshair!important}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}[data-reveal]{opacity:1;transform:none}}.hero{min-height:100svh;padding-top:calc(var(--bar-h) + clamp(28px, 6vh, 72px));flex-direction:column;display:flex;position:relative;overflow:hidden}.hero__grid{flex:1;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:clamp(16px,3vw,48px);display:grid}.hero__copy{z-index:2;padding-bottom:24px;position:relative}.hero__eyebrow{flex-wrap:wrap;align-items:center;gap:10px 22px;margin-bottom:clamp(18px,3vh,34px);animation:1s .1s both hero-fade;display:flex}.hero__avail{border:1px solid color-mix(in srgb, var(--accent) 45%, transparent);color:var(--accent);border-radius:999px;align-items:center;gap:9px;padding:5px 12px 5px 10px;display:inline-flex}.hero__name{letter-spacing:-.045em;text-transform:uppercase;-webkit-user-select:none;user-select:none;margin-left:-.04em;font-size:clamp(64px,11.4vw,190px);font-weight:900;line-height:.8}.hero__line{white-space:nowrap;align-items:baseline;display:flex}.hero__line+.hero__line{margin-top:.04em}.hero__ch{font-variation-settings:"wdth" 125, "wght" 900;animation:hero-letter 1.25s var(--ease-out) both;animation-delay:calc(var(--i) * 70ms + .12s);cursor:default;transition:color .3s;display:inline-block}.hero__ch:hover{color:var(--accent)}@keyframes hero-letter{0%{opacity:0;font-variation-settings:"wdth" 62, "wght" 100;transform:translateY(.35em)}}.hero__aside{letter-spacing:-.01em;color:var(--accent);align-self:flex-end;margin-bottom:.1em;margin-left:.22em;font-size:.235em;line-height:1;animation:1s .9s both hero-fade}:lang(zh) .hero__aside{letter-spacing:.02em;margin-bottom:.2em;font-size:.17em;font-style:normal}.hero__role{color:var(--fg);margin-top:clamp(22px,3.4vh,40px);font-size:13px;animation:1s .75s both hero-fade}.hero__lede{letter-spacing:-.01em;max-width:34ch;color:var(--fg-2);margin-top:14px;font-size:clamp(18px,1.75vw,25px);line-height:1.38;animation:1s .9s both hero-fade}:lang(zh) .hero__lede{max-width:22em;line-height:1.6}.hero__cta{flex-wrap:wrap;gap:10px;margin-top:clamp(22px,3.6vh,38px);animation:1s 1.05s both hero-fade;display:flex}@keyframes hero-fade{0%{opacity:0;transform:translateY(14px)}}.hero__stage{align-self:stretch;min-height:520px;position:relative}.xp{perspective:2200px;--gap:0px;--s:.86;place-items:center;display:grid;position:absolute;inset:0}@media (min-width:1700px){.xp{--s:.94}}@media (max-width:1320px){.xp{--s:.76}}@media (max-width:1140px){.xp{--s:.66}}.xp.is-open{--gap:84px}.xp__scene{--rx:58deg;--rz:-38deg;width:232px;height:468px;transform-style:preserve-3d;transform:translate(-22%, 9%) scale(var(--s)) rotateX(var(--rx)) rotateZ(var(--rz));transition:transform .5s var(--ease-out);position:relative}.xp__layer{transform-style:preserve-3d;transform:translateZ(calc(var(--z) * var(--gap)));transition:transform 1.5s var(--ease-out);transition-delay:calc((3 - var(--z)) * 60ms);border-radius:36px;flex-direction:column;gap:9px;padding:14px 12px;display:flex;position:absolute;inset:0}.xp__layer--native{background:linear-gradient(145deg,#1a1e25,#0c0e11);border:1px solid #fff3;box-shadow:-40px 60px 90px #000000a6}.xp__layer--runtime{background:#a488ff12;border:1px solid #a488ff8c}.xp__layer--orch{background:#c8f5420b;border:1px dashed #c8f542bf}.xp__layer--ui{background:linear-gradient(#14181d,#0b0d10);border:1.5px solid #ffffff6b;box-shadow:0 0 0 5px #08090be6}.xp__label{white-space:nowrap;transform-origin:0 100%;transform:rotateZ(calc(-1 * var(--rz))) rotateX(calc(-1 * var(--rx)));font-family:var(--font-mono);opacity:0;grid-template-columns:auto auto;align-items:baseline;column-gap:9px;transition:opacity .6s 1.1s;display:grid;position:absolute;bottom:34px;left:calc(100% + 34px)}.xp.is-open .xp__label{opacity:1}.xp__label:before{content:"";background:var(--fg-3);width:24px;height:1px;position:absolute;bottom:1.5em;right:calc(100% + 8px)}.xp__label-tag{color:var(--accent);letter-spacing:.08em;font-size:10px}.xp__label-name{color:var(--fg);letter-spacing:.06em;text-transform:uppercase;font-size:12px}.xp__label-tech{color:var(--fg-3);letter-spacing:.04em;grid-column:2;font-size:10px}.xp__caption{color:var(--fg-3);font-size:10.5px;position:absolute;bottom:18px;right:0}.xp-status{font-family:var(--font-mono);color:var(--fg-2);justify-content:space-between;align-items:center;padding:0 8px;font-size:8.5px;display:flex}.xp-status__island{background:#000;border:1px solid #ffffff14;border-radius:9px;width:58px;height:15px}.xp-search{background:#ffffff12;border-radius:10px;flex:none;height:20px}.xp-feed{grid-template-columns:1fr 1fr;gap:7px;min-height:0;display:grid}.xp-feed--wire{margin-top:53px}.xp-feed__col{flex-direction:column;gap:7px;display:flex}.xp-card{background:radial-gradient(120% 90% at 20% 10%, hsl(var(--hue) 85% 68% / .9), transparent 60%), linear-gradient(160deg, hsl(calc(var(--hue) + 30) 60% 34%), hsl(calc(var(--hue) - 20) 55% 16%));filter:saturate(.55)brightness(.72);border-radius:9px;transition:box-shadow .4s,filter .4s;position:relative;overflow:hidden}.xp-card.is-active{filter:none;box-shadow:0 0 0 2px var(--accent), 0 0 26px #c8f54273}.xp-card__badge{font-family:var(--font-mono);letter-spacing:.06em;color:#fff;background:#0000008c;border-radius:4px;padding:1px 5px;font-size:7.5px;position:absolute;top:5px;left:5px}.xp-card--live .xp-card__badge{background:#ff3b3b}.xp-card__bar{background:var(--accent);transform-origin:0;width:100%;height:3px;animation:2.4s linear both xp-progress;position:absolute;bottom:0;left:0}@keyframes xp-progress{0%{transform:scaleX(0)}}.xp-feed--wire .xp-card{filter:none;box-shadow:none;background:0 0;border:1px solid #c8f54266}.xp-feed--wire .xp-card--image{border-style:dotted;border-color:#ffffff38}.xp-feed--wire .xp-card.is-active{border-color:var(--accent);background:#c8f5424d}.xp-card__pick{font-family:var(--font-mono);color:var(--accent);place-items:center;font-size:10px;display:grid;position:absolute;inset:0}.xp-window{pointer-events:none;background:repeating-linear-gradient(135deg,#c8f5420d 0 2px,#0000 2px 9px);border:1px solid #c8f5424d;border-radius:12px;position:absolute;inset:44px 6px 60px}.xp-code{flex-direction:column;gap:11px;padding:34px 12px 0;display:flex}.xp-code i{background:#a488ff59;border-radius:3px;height:5px}.xp-code i.is-hot{background:#a488ffd9;animation:2.4s ease-in-out infinite xp-blink}.xp-code b{font-family:var(--font-mono);color:#c9bbff;margin:6px 0;font-size:9.5px;font-weight:500}@keyframes xp-blink{50%{opacity:.35}}.xp-native{grid-template-columns:1fr 1fr;gap:8px;margin-top:auto;padding:0 6px 22px;display:grid}.xp-native span{font-family:var(--font-mono);letter-spacing:.06em;color:var(--fg-3);text-align:center;border:1px solid #ffffff29;border-radius:8px;padding:9px 6px;font-size:7.5px}.xp-native span.is-busy{color:var(--accent);background:#c8f54214;border-color:#c8f54299}.hero__ticker{border-block:1px solid var(--line);margin-top:8px;padding-block:14px;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.hero__ticker-track{width:max-content;animation:48s linear infinite marquee;display:flex}.hero__ticker-track span{font-variation-settings:"wdth" 112;text-transform:uppercase;letter-spacing:-.02em;white-space:nowrap;color:#0000;-webkit-text-stroke:1px var(--fg-3);align-items:center;font-size:clamp(22px,2.6vw,38px);font-weight:800;display:inline-flex}.hero__ticker-track span.is-solid{color:var(--fg);-webkit-text-stroke:0}.hero__ticker-track i{color:var(--accent);-webkit-text-stroke:0;margin-inline:.9em;font-size:.5em;font-style:normal}@keyframes marquee{to{transform:translate(-50%)}}@media (max-width:960px){.hero__grid{grid-template-columns:1fr;align-items:start}.hero__name{font-size:clamp(56px,18.6vw,170px)}.hero__stage{min-height:500px;margin-inline:calc(var(--pad) * -1)}.xp__scene{transform:translate(-24%, 4%) scale(.82) rotateX(var(--rx)) rotateZ(var(--rz))}.xp__caption{right:var(--pad)}}@media (max-width:480px){.xp__scene{transform:translate(-30%, 2%) scale(.68) rotateX(var(--rx)) rotateZ(var(--rz))}.hero__stage{min-height:430px}}.contact{padding-bottom:0}.contact__edu{grid-template-columns:160px 1fr;gap:20px;margin-bottom:clamp(56px,9vw,128px);display:grid}.contact__edu ul{border-top:1px solid var(--line-2)}.contact__edu li{border-bottom:1px solid var(--line);grid-template-columns:190px minmax(0,1.1fr) minmax(0,1fr);align-items:baseline;gap:16px;padding:20px 0;display:grid}.contact__period{color:var(--fg-3)}.contact__school{letter-spacing:-.02em;font-size:clamp(20px,2.2vw,30px);font-weight:700;line-height:1.15}.contact__degree{color:var(--fg);gap:3px;font-size:16px;display:grid}.contact__degree i{color:var(--fg-3);font-size:13.5px;font-style:normal}.contact__cta{justify-items:start;gap:clamp(20px,3vw,36px);display:grid}.contact__headline{letter-spacing:-.04em;font-variation-settings:"wdth" 104;text-wrap:balance;max-width:16ch;font-size:clamp(36px,6.6vw,104px);font-weight:800;line-height:.96}.contact__headline .serif{font-size:1.08em;font-weight:400}:lang(zh) .contact__headline{letter-spacing:-.01em;max-width:12em;line-height:1.15}:lang(zh) .contact__headline .serif{font-family:inherit;font-size:1em;font-style:normal;font-weight:800}.contact__email{font-family:var(--font-mono);letter-spacing:-.01em;border-bottom:1px solid var(--line-2);word-break:break-all;align-items:baseline;gap:.4em;padding-bottom:6px;font-size:clamp(16px,2.3vw,30px);transition:color .2s,border-color .2s;display:inline-flex}.contact__email:hover{color:var(--accent);border-color:var(--accent)}.contact__actions{flex-wrap:wrap;gap:10px;display:flex}.contact__foot{border-top:1px solid var(--line);color:var(--fg-3);text-transform:none;letter-spacing:.03em;flex-wrap:wrap;justify-content:space-between;gap:10px 32px;margin-top:clamp(72px,10vw,140px);padding-block:22px 28px;font-size:10.5px;display:flex}.contact__hint{color:var(--fg-2)}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (max-width:800px){.contact__edu{grid-template-columns:1fr}.contact__edu li{grid-template-columns:1fr;gap:6px}}@media (hover:none){.contact__hint{display:none}}.lab{--crop:var(--c-shopee);padding:clamp(18px,2.4vw,30px)}.lab__head{grid-template-columns:auto minmax(0,1fr);align-items:end;gap:12px 32px;margin-bottom:22px;display:grid}.lab__head h4,.exhibit-title{letter-spacing:-.02em;margin-top:4px;font-size:clamp(22px,2.2vw,30px);font-weight:700;line-height:1.1}.lab__blurb{color:var(--fg-2);justify-self:end;max-width:52ch;font-size:14.5px;line-height:1.55}.lab__body{grid-template-columns:auto minmax(0,1fr);align-items:stretch;gap:clamp(20px,3vw,40px);display:grid}.lab__phone{background:#050607;border:1px solid #ffffff38;border-radius:40px;width:276px;height:520px;padding:10px;position:relative;box-shadow:inset 0 0 0 2px #1c2026,0 30px 80px #0000008c}.lab__notch{z-index:3;background:#000;border-radius:12px;width:74px;height:20px;margin-left:-37px;position:absolute;top:18px;left:50%}.lab__screen{overscroll-behavior:contain;scrollbar-width:none;background:#101318;border-radius:31px;width:100%;height:100%;position:relative;overflow-y:auto}.lab__screen::-webkit-scrollbar{display:none}.lab__feed{grid-template-columns:1fr 1fr;gap:8px;padding:46px 8px 24px;display:grid}.lab__col{flex-direction:column;gap:8px;display:flex}.lab__window{pointer-events:none;border:1px dashed #c8f54259;border-radius:31px;position:absolute;inset:10px}.lab__window span{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#c8f542b3;font-size:8.5px;position:absolute;bottom:8px;right:12px}.lab-card{transition:height .45s var(--ease-out), box-shadow .3s;background:#1a1e25;border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.lab-card__media{background:radial-gradient(120% 90% at 20% 10%, hsl(var(--hue) 85% 66% / .9), transparent 62%), linear-gradient(160deg, hsl(calc(var(--hue) + 30) 58% 34%), hsl(calc(var(--hue) - 20) 55% 15%));filter:saturate(.5)brightness(.7);flex:1;min-height:0;transition:filter .35s;position:relative;overflow:hidden}.lab-card__meta{gap:4px;padding:7px 7px 8px;display:grid}.lab-card__meta i{background:#ffffff24;border-radius:2px;height:4px}.lab-card__meta i:last-child{width:55%}.lab-card__badge{font-family:var(--font-mono);letter-spacing:.05em;color:#fff;background:#0009;border-radius:5px;padding:2px 6px;font-size:8.5px;position:absolute;top:6px;left:6px}.lab-card--live .lab-card__badge{background:#e02d2d}.lab-card__progress{background:var(--accent);transform-origin:0;height:3px;position:absolute;inset:auto 0 0;transform:scaleX(0)}.lab-card__slides{width:300%;display:flex;position:absolute;inset:0}.lab-card__slides i{background:radial-gradient(90% 80% at 50% 30%, hsl(calc(var(--hue) + 40) 80% 62% / .85), transparent 70%);flex:1}.lab-card__slides i:nth-child(2){background:radial-gradient(90% 80% at 50% 60%, hsl(calc(var(--hue) + 110) 80% 62% / .85), transparent 70%)}.lab-card__slides i:nth-child(3){background:radial-gradient(90% 80% at 30% 40%, hsl(calc(var(--hue) - 70) 80% 62% / .85), transparent 70%)}.lab-card.is-playing{box-shadow:0 0 0 2px var(--accent), 0 0 24px #c8f54259}.lab-card.is-playing .lab-card__media{filter:none;animation:2.2s ease-in-out infinite lab-shimmer}.lab-card.is-playing .lab-card__progress{animation:6s linear infinite lab-progress}.lab-card.is-playing .lab-card__slides{animation:lab-swipe 4.5s var(--ease-out) infinite}.lab-card--live.is-playing .lab-card__badge{animation:1.2s ease-in-out infinite xp-blink}@keyframes lab-shimmer{50%{filter:brightness(1.18);background-position:30% 40%,0 0}}@keyframes lab-progress{to{transform:scaleX(1)}}@keyframes lab-swipe{0%,22%{transform:translate(0)}33%,55%{transform:translate(-33.333%)}66%,90%{transform:translate(-66.666%)}to{transform:translate(0)}}.lab__panel{flex-direction:column;gap:18px;min-width:0;display:flex}.lab__now{border-bottom:1px solid var(--line);gap:8px;padding-bottom:18px;display:grid}.lab__now strong{font-family:var(--font-mono);color:var(--fg-3);letter-spacing:-.02em;font-size:clamp(18px,2vw,26px);font-weight:500}.lab__now strong.is-on{color:var(--accent)}.lab__meter{background:#ffffff14;border-radius:3px;height:6px;position:relative}.lab__meter i{background:var(--accent);transform-origin:0;border-radius:3px;transition:transform .12s linear;position:absolute;inset:0}.lab__meter b{background:var(--fg);width:2px;position:absolute;top:-4px;bottom:-4px}.lab__meter-note{color:var(--fg-3);font-size:10.5px}.lab__controls{gap:14px;display:grid}.lab__control{gap:8px;display:grid}.lab__control--row{grid-template-columns:1fr auto;align-items:center}.lab__seg{border:1px solid var(--line-2);border-radius:10px;grid-template-columns:1fr 1fr;padding:3px;display:inline-grid}.lab__seg button{height:32px;font-family:var(--font-mono);letter-spacing:.04em;color:var(--fg-2);border-radius:7px;font-size:11.5px;transition:background .2s,color .2s}.lab__seg button.is-on{background:var(--fg);color:var(--bg)}.lab__control input[type=range]{appearance:none;outline-offset:6px;background:#ffffff24;border-radius:2px;width:100%;height:4px}.lab__control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);border:3px solid var(--bg);width:18px;height:18px;box-shadow:0 0 0 1px var(--accent);cursor:grab;border-radius:50%}.lab__control input[type=range]::-moz-range-thumb{background:var(--accent);border:3px solid var(--bg);width:14px;height:14px;box-shadow:0 0 0 1px var(--accent);border-radius:50%}.lab__switch{appearance:none;cursor:pointer;background:#ffffff24;border-radius:11px;width:40px;height:22px;margin:0;transition:background .2s;position:relative}.lab__switch:after{content:"";background:var(--fg);width:16px;height:16px;transition:transform .3s var(--ease-spring);border-radius:50%;position:absolute;top:3px;left:3px}.lab__switch:checked{background:var(--accent)}.lab__switch:checked:after{background:var(--accent-ink);transform:translate(18px)}.lab__log{flex:1;align-content:start;gap:8px;min-height:118px;display:grid}.lab__log ul{font-family:var(--font-mono);white-space:pre;gap:3px;font-size:12px;display:grid}.lab__log li{color:var(--fg-3);animation:flow-desc .3s var(--ease-out)}.lab__log li.is-play:first-child,.lab__log li.is-play{color:var(--fg)}.lab__log li.is-play:before{content:"▸ ";color:var(--accent)}.lab__log li.is-stop:before{content:"▪ "}.lab__disclaimer{color:var(--fg-3);margin-top:18px;font-size:10px}@media (max-width:720px){.lab__head,.lab__body{grid-template-columns:1fr}.lab__blurb{justify-self:start}.lab__phone{justify-self:center}}.exp__company{grid-template-columns:auto minmax(0,1fr);align-items:end;gap:24px clamp(32px,6vw,96px);margin-bottom:clamp(48px,7vw,96px);display:grid}.exp__company h3{font-variation-settings:"wdth" 108;letter-spacing:-.035em;font-size:clamp(34px,4.6vw,68px);font-weight:800;line-height:.95}.exp__company-name .mono{color:var(--c-shopee);margin-top:12px}.exp__rail{gap:6px;display:flex}.exp__rail li{flex-basis:0;gap:6px;min-width:0;display:grid}.exp__rail-bar{background:repeating-linear-gradient(90deg, var(--fg-3) 0 1px, transparent 1px 8px);border-bottom:1px solid var(--fg-3);border-radius:2px;height:10px}.exp__rail li.is-senior .exp__rail-bar{background:var(--accent);border-color:var(--accent)}.exp__rail-title{letter-spacing:-.01em;margin-top:6px;font-size:clamp(14px,1.4vw,18px);font-weight:600;line-height:1.25}.exp__rail li.is-senior .exp__rail-title{color:var(--accent)}.exp__rail-dates{color:var(--fg-3);font-size:10.5px}.exp__track{border-top:1px solid var(--line);grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);align-items:start;gap:clamp(28px,4.5vw,72px);padding-top:clamp(32px,4vw,56px);display:grid}.exp__copy{top:calc(var(--bar-h) + 28px);position:sticky}.exp__copy h4{letter-spacing:-.025em;text-wrap:balance;font-size:clamp(24px,2.7vw,38px);font-weight:700;line-height:1.05}.exp__bullets{gap:0;margin-top:22px;display:grid}.exp__bullets li{border-top:1px dashed var(--line);color:var(--fg-2);padding:14px 0 14px 26px;font-size:15.5px;line-height:1.62;position:relative}.exp__bullets li:before{content:"";background:var(--accent);width:10px;height:1px;position:absolute;top:1.55em;left:2px}@media (max-width:1000px){.exp__company,.exp__track{grid-template-columns:1fr}.exp__copy{position:static}}.profile__grid{grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);align-items:start;gap:clamp(28px,5vw,80px);display:grid}.profile__statement{letter-spacing:-.03em;font-variation-settings:"wdth" 96;text-wrap:balance;font-size:clamp(28px,3.9vw,58px);font-weight:600;line-height:1.06}.profile__statement .serif{font-size:1.1em;font-weight:400}:lang(zh) .profile__statement{letter-spacing:0;line-height:1.3}:lang(zh) .profile__statement .serif{font-family:inherit;font-size:1em;font-style:normal;font-weight:600}.profile__paras{max-width:62ch;color:var(--fg-2);gap:16px;margin-top:clamp(24px,3vw,40px);font-size:16.5px;line-height:1.7;display:grid}.profile__sheet{top:calc(var(--bar-h) + 24px);padding:6px 22px 10px;position:sticky}.profile__sheet-head{border-bottom:1px solid var(--line);color:var(--fg-3);justify-content:space-between;padding:12px 0;font-size:10.5px;display:flex}.profile__row{border-bottom:1px dashed var(--line);grid-template-columns:84px 1fr;align-items:baseline;gap:14px;padding:13px 0;display:grid}.profile__row:last-child{border-bottom:0}.profile__row dt{color:var(--fg-3);font-size:10.5px}.profile__row dd{font-size:15px;line-height:1.4}.profile__status{color:var(--accent);align-items:center;gap:9px;display:inline-flex}@media (max-width:960px){.profile__grid{grid-template-columns:1fr}.profile__sheet{position:static}}.live{border:1px solid var(--line-2);background:var(--bg-1);border-radius:16px;overflow:hidden;box-shadow:0 40px 120px #00000080}.live__chrome{border-bottom:1px solid var(--line);background:var(--bg-2);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;height:46px;padding:0 14px;display:grid}.live__lights{gap:6px;display:inline-flex}.live__lights i{background:#ffffff29;border-radius:50%;width:10px;height:10px}.live__url{max-width:100%;height:28px;font-family:var(--font-mono);color:var(--fg-2);background:#00000059;border-radius:8px;justify-self:center;align-items:center;gap:9px;padding:0 14px;font-size:11.5px;display:inline-flex}.live__host{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.live__url .dot:not(.dot--live){background:var(--fg-3)}.live__tools{align-items:center;gap:6px;display:flex}.live__seg{border:1px solid var(--line-2);border-radius:8px;padding:2px;display:inline-flex}.live__seg button{height:24px;font-family:var(--font-mono);letter-spacing:.04em;color:var(--fg-2);border-radius:6px;padding:0 10px;font-size:10.5px}.live__seg button.is-on{background:var(--fg);color:var(--bg)}.live__icon{border:1px solid var(--line-2);width:28px;height:28px;color:var(--fg-2);border-radius:7px;place-items:center;font-size:14px;transition:color .2s,border-color .2s;display:grid}.live__icon:hover{color:var(--fg);border-color:var(--fg-2)}.live__stage{transition:height .4s var(--ease-out);background:#0a0a0b;position:relative;overflow:hidden}.live__stage--mobile{background:radial-gradient(600px 400px at 50% 40%, color-mix(in srgb, var(--p-accent,var(--accent)) 14%, transparent), transparent 70%), #0a0a0b;justify-content:center;align-items:center;display:flex}.live__viewport{transform-origin:0 0;background:#111112;position:relative}.live__stage--mobile .live__viewport{transform-origin:50%;border-radius:28px;flex:none;overflow:hidden;box-shadow:0 0 0 8px #050607,0 0 0 9px #ffffff38,0 30px 80px #0009}.live__viewport iframe{pointer-events:none;border:0;width:100%;height:100%}.live__stage.is-interactive iframe{pointer-events:auto}.live__loading{color:var(--fg-3);transform-origin:50%;place-content:center;justify-items:center;gap:14px;font-size:12px;display:grid;position:absolute;inset:0}.live__stage--desktop .live__loading{font-size:20px}.live__spinner{border:2px solid var(--line-2);border-top-color:var(--p-accent,var(--accent));border-radius:50%;width:26px;height:26px;animation:.9s linear infinite live-spin}@keyframes live-spin{to{transform:rotate(360deg)}}.live__shield{cursor:pointer;background:linear-gradient(#0000 60%,#0000008c);place-items:end center;padding-bottom:22px;transition:background .3s;display:grid;position:absolute;inset:0}.live__shield:hover{background:linear-gradient(#0000001f,#0009)}.live__shield-pill{background:var(--fg);height:42px;color:var(--bg);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;transition:transform .4s var(--ease-spring);border-radius:999px;align-items:center;gap:10px;padding:0 20px;font-size:12px;font-weight:600;display:inline-flex;box-shadow:0 10px 40px #00000080}.live__shield-pill .dot{background:var(--p-accent,var(--accent))}.live__shield:hover .live__shield-pill{transform:translateY(-4px)scale(1.04)}.live__hint{color:var(--fg-2);pointer-events:none;white-space:nowrap;background:#000000b3;border-radius:999px;padding:5px 12px;font-size:10px;animation:4s forwards live-hint;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}@keyframes live-hint{0%,70%{opacity:1}to{opacity:0}}.live__note{border-top:1px solid var(--line);color:var(--fg-3);padding:10px 16px;font-size:10px}@media (max-width:560px){.live__lights{display:none}.live__chrome{grid-template-columns:minmax(0,1fr) auto}.live__url{justify-self:start}}.pl-phone{--cream:#f4ede1;--ink:#1e1a14;--paper:#fffaf0;--lime:#d6ee4b;--violet:#8257d6;--orange:#f2a03c;--coral:#e8674c;width:318px;max-width:100%;height:648px;box-shadow:inset 0 0 0 2px #1c2026, 0 40px 100px #0009, 0 0 120px color-mix(in srgb, var(--violet) 22%, transparent);background:#050607;border:1px solid #ffffff3d;border-radius:48px;flex:none;padding:10px;position:relative}.pl-notch{z-index:5;background:#000;border-radius:14px;width:86px;height:24px;margin-left:-43px;position:absolute;top:20px;left:50%}.pl-screen{background:var(--cream);width:100%;height:100%;color:var(--ink);font-family:var(--font-display);font-variation-settings:"wdth" 100;border-radius:39px;position:relative;overflow:hidden}.pl-blob{pointer-events:none;border-radius:50%;position:absolute}.pl-blob--orange{background:color-mix(in srgb, var(--orange) 30%, transparent);width:300px;height:300px;top:-130px;right:-120px}.pl-blob--lime{background:color-mix(in srgb, var(--lime) 50%, transparent);width:320px;height:320px;bottom:-170px;left:-170px}.pl-home{height:100%;animation:pl-in .45s var(--ease-out);flex-direction:column;padding:66px 20px 22px;display:flex;position:relative}.pl-wordmark{font-size:19px;font-style:italic;font-weight:800}.pl-headline{letter-spacing:-.035em;margin-top:34px;font-size:46px;font-weight:800;line-height:1}.pl-headline em{color:var(--violet);font-style:italic;display:block}.pl-squiggle{width:118px;color:var(--orange);margin-top:18px}.pl-copy{max-width:22ch;margin-top:18px;font-size:15px;line-height:1.45}.pl-ring{background:var(--paper);border:2px solid var(--ink);width:190px;height:190px;box-shadow:4px 5px 0 var(--ink);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:96px;right:-78px}.pl-ring i:first-child{background:var(--violet);border:2px solid var(--ink);border-radius:50%;grid-area:1/1;width:112px;height:112px}.pl-ring i:last-child{background:var(--orange);border:2px solid var(--ink);border-radius:50%;grid-area:1/1;width:30px;height:30px;transform:translate(-22px,-26px)}.pl-home__actions{gap:12px;margin-top:auto;display:grid;position:relative}.pl-cta{background:var(--lime);border:2px solid var(--ink);height:62px;box-shadow:3px 5px 0 var(--ink);color:var(--ink);letter-spacing:-.01em;border-radius:999px;font-family:inherit;font-size:23px;font-weight:800;transition:transform .12s,box-shadow .12s}.pl-cta:hover{box-shadow:4px 7px 0 var(--ink);transform:translate(-1px,-2px)}.pl-cta:active{box-shadow:0 0 0 var(--ink);transform:translate(3px,5px)}.pl-cta:focus-visible{outline-color:var(--violet)}.pl-cta--paper{background:var(--paper);height:50px;font-size:17px}.pl-cta--sm{height:46px;padding:0 20px;font-size:16px}.pl-small{text-align:center;font-family:var(--font-mono);letter-spacing:.14em;color:color-mix(in srgb, var(--ink) 70%, transparent);font-size:9.5px}.pl-play{height:100%;animation:pl-in .45s var(--ease-out);grid-template-rows:auto 1fr 1fr auto;gap:12px;padding:56px 16px 18px;display:grid;position:relative}.pl-top{gap:8px;display:grid}.pl-rail{border:2px solid var(--ink);background:var(--paper);border-radius:6px;height:12px;overflow:hidden}.pl-rail i{background:var(--ink);transform-origin:0;height:100%;display:block}.pl-rail.is-hot i{background:var(--coral)}.pl-meta{font-family:var(--font-mono);letter-spacing:.06em;justify-content:space-between;align-items:center;font-size:11px;display:flex}.pl-dots{gap:6px;display:inline-flex}.pl-dots i{border:2px solid var(--ink);background:var(--paper);border-radius:50%;width:13px;height:13px;transition:background .3s}.pl-dots i.is-done{background:var(--lime)}.pl-dots i.is-now{background:var(--ink)}.pl-streak b{font-weight:800}.pl-secs{font-variant-numeric:tabular-nums;font-weight:700}.pl-card{border:2px solid var(--ink);box-shadow:3px 5px 0 var(--ink);color:var(--ink);text-align:left;border-radius:24px;flex-direction:column;justify-content:space-between;min-height:0;padding:14px 16px 16px;font-family:inherit;transition:transform .14s,box-shadow .14s,opacity .35s;display:flex;position:relative}.pl-card--a{background:var(--lime)}.pl-card--b{background:var(--violet);color:var(--paper)}.pl-card:not(:disabled):hover{box-shadow:4px 8px 0 var(--ink);transform:translate(-1px,-3px)}.pl-card:not(:disabled):active{box-shadow:0 0 0 var(--ink);transform:translate(3px,5px)}.pl-card:disabled{cursor:default}.pl-card.is-faded{opacity:.28}.pl-card.is-you{box-shadow:2px 3px 0 var(--ink);transform:translate(1px,2px)}.pl-card.is-match{animation:pl-pop .6s var(--ease-spring)}.pl-card__head{justify-content:space-between;align-items:center;display:flex}.pl-badge{border:2px solid var(--ink);background:var(--paper);width:30px;height:30px;color:var(--ink);border-radius:50%;place-items:center;font-size:14px;font-weight:800;display:grid}.pl-pills{gap:5px;min-height:24px;display:inline-flex}.pl-pill{border:2px solid var(--ink);background:var(--ink);color:var(--paper);font-family:var(--font-mono);letter-spacing:.1em;animation:pl-pop .4s var(--ease-spring);border-radius:999px;padding:3px 9px;font-size:9.5px;font-weight:700}.pl-pill--sim{background:var(--paper);color:var(--ink);animation-delay:.12s;animation-fill-mode:both}.pl-card__text{letter-spacing:-.03em;text-wrap:balance;font-size:27px;font-weight:800;line-height:1.04}.pl-burst{pointer-events:none;position:absolute;top:50%;left:50%}.pl-burst i{background:var(--orange);border:2px solid var(--ink);width:9px;height:9px;animation:pl-burst .8s var(--ease-out) both;border-radius:50%;position:absolute}.pl-burst i:nth-child(odd){background:var(--paper);border-radius:2px}.pl-bottom{align-content:start;justify-items:center;gap:8px;min-height:74px;display:grid}.pl-status{letter-spacing:-.01em;animation:pl-in .3s var(--ease-out);font-size:19px;font-style:italic;font-weight:800}.pl-status.is-good{color:#4a6b00}.pl-status.is-bad{color:var(--coral)}.pl-end{animation:pl-in .4s .1s var(--ease-out) both;gap:10px;display:flex}.pl-play.is-over .pl-bottom,.pl-play.is-perfect .pl-bottom{min-height:104px}@keyframes pl-in{0%{opacity:0;transform:translateY(10px)}}@keyframes pl-pop{0%{transform:scale(.92)}55%{transform:scale(1.04)}}@keyframes pl-burst{0%{transform:rotate(var(--a)) translateX(0) scale(.4);opacity:1}to{transform:rotate(var(--a)) translateX(118px) scale(1);opacity:0}}.gallery{border:1px solid var(--line-2);background:var(--bg-1);border-radius:16px;overflow:hidden;box-shadow:0 40px 120px #00000080}.gallery__stage{aspect-ratio:16/9;background:#1a120c;position:relative;overflow:hidden}.gallery__stage>img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .8s,transform 6s linear;position:absolute;inset:0;transform:scale(1.03)}.gallery__stage>img.is-on{opacity:1;transform:scale(1)}.gallery__hud{color:#ffffffbf;text-shadow:0 1px 6px #000c;pointer-events:none;justify-content:space-between;font-size:10px;display:flex;position:absolute;inset:auto 14px 12px}.gallery__nav{color:#fff;opacity:0;width:44px;height:44px;transition:opacity .25s, transform .35s var(--ease-out), background .2s;background:#08090bb8;border:1px solid #ffffff40;border-radius:50%;margin-top:-22px;font-size:16px;position:absolute;top:50%}.gallery__nav--prev{left:14px;transform:translate(-8px)}.gallery__nav--next{right:14px;transform:translate(8px)}.gallery:hover .gallery__nav,.gallery__nav:focus-visible{opacity:1;transform:none}.gallery__nav:hover{background:var(--p-accent,var(--accent));color:#000}@media (hover:none){.gallery__nav{opacity:1;transform:none}}.gallery__foot{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px 28px;padding:16px 18px;display:grid}.gallery__caption{color:var(--fg-2);animation:flow-desc .4s var(--ease-out);font-size:14.5px;line-height:1.5}.gallery__thumbs{gap:6px;display:flex}.gallery__thumbs button{border:1px solid var(--line-2);opacity:.5;border-radius:6px;width:64px;height:36px;transition:opacity .2s,border-color .2s;position:relative;overflow:hidden}.gallery__thumbs button:hover,.gallery__thumbs button.is-on{opacity:1}.gallery__thumbs button.is-on{border-color:var(--p-accent,var(--accent))}.gallery__thumbs img{object-fit:cover;width:100%;height:100%}.gallery__thumbs i{background:var(--p-accent,var(--accent));transform-origin:0;height:3px;animation:linear both lab-progress;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}@media (max-width:760px){.gallery__foot{grid-template-columns:1fr}.gallery__thumbs button{flex:1;width:auto}}.projects__index{grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);align-items:start;gap:24px clamp(32px,6vw,96px);display:grid}.projects__intro{color:var(--fg-2);max-width:40ch;font-size:17px;line-height:1.65}.projects__agent-note{color:var(--fg-2);gap:8px;margin-top:18px;font-size:15px;line-height:1.6;display:flex}.projects__index ol{border-top:1px solid var(--line-2)}.projects__index a{border-bottom:1px solid var(--line);transition:padding .45s var(--ease-out), color .25s;grid-template-columns:56px minmax(0,1.5fr) minmax(0,1fr) 28px;align-items:baseline;gap:16px;padding:20px 4px;display:grid;position:relative}.projects__index a:before{content:"";background:var(--p-accent);transform-origin:50% 100%;transition:transform .4s var(--ease-out);z-index:-1;position:absolute;inset:0;transform:scaleY(0)}.projects__index a:hover{color:#0b0b0b;padding-inline:18px}.projects__index a:hover:before{transform:scaleY(1)}.projects__index a .mono{color:var(--p-accent);transition:color .25s}.projects__index a:hover .mono,.projects__index a:hover .projects__index-kicker{color:#000000a6}.projects__index strong{font-variation-settings:"wdth" 110;letter-spacing:-.03em;text-transform:uppercase;font-size:clamp(20px,2.2vw,31px);font-weight:800;line-height:1.05}.projects__index-kicker{color:var(--fg-3);font-size:13.5px;transition:color .25s}.projects__index-arrow{transition:transform .4s var(--ease-out);justify-self:end}.projects__index a:hover .projects__index-arrow{transform:translateY(4px)}.accent-p{color:var(--p-accent)}.proj{scroll-margin-top:calc(var(--bar-h) + 16px);margin-top:clamp(72px,10vw,140px)}.proj__topline{border-bottom:1px solid var(--p-accent);flex-wrap:wrap;align-items:center;gap:8px 22px;padding-bottom:14px;display:flex}.proj__idx{background:var(--p-accent);color:#0b0b0b;border-radius:4px;padding:3px 9px;font-weight:700}.proj__status{color:var(--fg);align-items:center;gap:8px;margin-left:auto;display:inline-flex}.proj__status .dot{background:var(--p-accent)}.proj__status .dot--live{box-shadow:0 0 0 0 var(--p-accent)}.proj__name{font-variation-settings:"wdth" 122;letter-spacing:-.045em;text-transform:uppercase;text-wrap:balance;margin-top:clamp(20px,3vw,40px);font-size:clamp(30px,7.5vw,108px);font-weight:900;line-height:.86}.proj__name .fold-toggle{width:100%;padding-right:clamp(40px,4.6vw,64px);display:block;position:relative}.proj__name .fold-mark{width:clamp(30px,3.4vw,46px);height:clamp(30px,3.4vw,46px);position:absolute;top:50%;right:0;translate:0 -50%}.proj__lede{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:20px 40px;margin-top:clamp(20px,3vw,36px);display:grid}.proj__tagline{letter-spacing:-.015em;max-width:40ch;color:var(--fg);font-size:clamp(19px,2.1vw,28px);line-height:1.32}:lang(zh) .proj__tagline{max-width:26em;line-height:1.5}.proj__links{flex-wrap:wrap;gap:10px;display:flex}.proj__links .btn--solid{background:var(--p-accent);border-color:var(--p-accent);color:#0b0b0b}.proj__links .btn--solid:hover{background:var(--fg);border-color:var(--fg)}.proj__overview{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start;gap:32px clamp(32px,6vw,96px);margin-top:clamp(40px,6vw,80px);display:grid}.proj__brief{gap:16px;display:grid}.proj__brief h4,.proj__block-head h4{color:var(--fg);align-items:center;gap:8px;display:inline-flex}.proj__brief>p{color:var(--fg-2);max-width:64ch;font-size:16.5px;line-height:1.72}.proj__brief>p.proj__notice{border:1px dashed var(--line-2);color:var(--fg-3);border-radius:10px;padding:12px 14px;font-size:13px;line-height:1.55}.proj__stack{flex-wrap:wrap;align-items:center;gap:6px;margin-top:20px;display:flex}.proj__stack-label{color:var(--fg-3);margin-right:8px}.proj__stats{border-top:1px solid var(--line-2);border-left:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.proj__stats li{border-right:1px solid var(--line);border-bottom:1px solid var(--line);align-content:start;gap:8px;padding:20px 16px 22px;display:grid}.proj__stats strong{font-variation-settings:"wdth" 110;letter-spacing:-.04em;color:var(--p-accent);font-size:clamp(32px,3.6vw,52px);font-weight:800;line-height:.95}.proj__stats span{color:var(--fg-2);font-size:13.5px;line-height:1.45}.proj__block{margin-top:clamp(40px,6vw,80px)}.proj__block-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 24px;margin-bottom:18px;display:flex}.proj__block-hint{color:var(--fg-3);text-transform:none;letter-spacing:.02em}.proj__highlights{border-top:1px solid var(--line-2);border-left:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.proj__highlights li{border-right:1px solid var(--line);border-bottom:1px solid var(--line);align-content:start;gap:8px;padding:22px 22px 26px;transition:background .3s;display:grid;position:relative}.proj__highlights li:hover{background:color-mix(in srgb, var(--p-accent) 7%, transparent)}.proj__highlights h5{letter-spacing:-.015em;font-size:19px;font-weight:700;line-height:1.2}.proj__highlights p{color:var(--fg-2);font-size:14.5px;line-height:1.62}.proj__metric{border-top:1px dashed var(--line-2);gap:2px;margin-top:6px;padding-top:12px;display:grid}.proj__highlights .proj__metric strong{font-family:var(--font-mono);letter-spacing:0;color:var(--p-accent);font-variant-numeric:tabular-nums;font-size:17px;font-weight:700}.proj__highlights .proj__metric span{color:var(--fg-3);font-size:12.5px;line-height:1.45}.proj__perf-note{color:var(--fg-3);max-width:78ch;margin-top:14px;font-size:13px;line-height:1.55}.proj__outline{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:26px;display:grid}.proj__outline li{border:1px solid var(--line-2);background:#ffffff05;border-radius:12px;align-content:start;gap:8px;padding:18px 18px 20px;display:grid;position:relative}.proj__outline li+li:before{content:"→";text-align:center;width:26px;font-family:var(--font-mono);color:var(--p-accent);font-size:14px;position:absolute;top:50%;left:-26px;translate:0 -50%}.proj__outline li.is-planned{background:0 0;border-style:dashed}.proj__outline-tech{color:var(--p-accent);text-transform:none;letter-spacing:.02em}.proj__outline h5{letter-spacing:-.015em;font-size:19px;font-weight:700;line-height:1.2}.proj__outline p{color:var(--fg-2);font-size:14px;line-height:1.58}.proj__polaris{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(24px,5vw,88px);display:grid}.proj__rules{gap:18px;max-width:52ch;display:grid}.proj__rules h5{color:var(--fg)}.proj__rules ol{border-top:1px solid var(--line-2)}.proj__rules li{border-bottom:1px solid var(--line);grid-template-columns:34px minmax(0,1fr);align-items:baseline;padding:14px 0;font-size:17px;line-height:1.5;display:grid}.proj__polaris-phone{justify-items:center;gap:16px;width:318px;max-width:100%;display:grid}.proj__polaris-note{color:var(--fg-3);font-size:13px;line-height:1.55}@media (max-width:1000px){.projects__index,.proj__overview,.proj__lede{grid-template-columns:1fr}.proj__highlights{grid-template-columns:1fr 1fr}.proj__polaris{grid-template-columns:1fr;justify-items:center}.proj__rules{width:100%}.proj__outline{grid-auto-columns:auto;grid-auto-flow:row;gap:26px}.proj__outline li+li:before{content:"↓";height:26px;line-height:26px;top:-26px;left:50%;translate:-50%}}@media (max-width:640px){.proj__name{font-variation-settings:"wdth" 88;letter-spacing:-.03em;font-size:9.4vw}.projects__index a{grid-template-columns:44px minmax(0,1fr) 20px}.projects__index-kicker{display:none}.proj__highlights{grid-template-columns:1fr}.proj__status{margin-left:0}}.skills__intro{max-width:58ch;color:var(--fg-2);margin-bottom:36px;font-size:17px;line-height:1.65}.skills__grid{border-top:1px solid var(--line-2);border-left:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.skills__group{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 24px 30px}.skills__group h3{color:var(--fg);margin-bottom:18px}.skills__item{border-bottom:1px dashed var(--line);letter-spacing:-.015em;transition:padding .35s var(--ease-out), color .2s;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;font-size:clamp(19px,1.9vw,25px);font-weight:600;display:flex}.skills__item:last-child{border-bottom:0}.skills__item:hover{color:var(--accent);padding-left:8px}@media (max-width:960px){.skills__grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.skills__grid{grid-template-columns:1fr}}.backdrop{z-index:-1;pointer-events:none;--mx:70vw;--my:30vh;background:radial-gradient(1200px 700px at 85% -10%, #c8f54212, transparent 60%), radial-gradient(900px 600px at -10% 110%, #a488ff0f, transparent 60%), var(--bg);position:fixed;inset:0}.backdrop__grid{background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px), linear-gradient(#ffffff06 1px, transparent 1px), linear-gradient(90deg, #ffffff06 1px, transparent 1px);background-size:120px 120px,120px 120px,24px 24px,24px 24px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(90% 80% at 50% 30%,#000 20%,#0000 95%);mask-image:radial-gradient(90% 80% at 50% 30%,#000 20%,#0000 95%)}.backdrop__glow{background:radial-gradient(520px circle at var(--mx) var(--my), #c8f5420e, transparent 65%);position:absolute;inset:0}.backdrop__grain{opacity:.22;mix-blend-mode:overlay;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 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .55 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");position:absolute;inset:0}.palette{z-index:100;-webkit-backdrop-filter:blur(6px);background:#0405069e;place-items:start center;padding:14vh 16px 16px;animation:.18s ease-out palette-fade;display:grid;position:fixed;inset:0}@keyframes palette-fade{0%{opacity:0}}.palette__dialog{background:var(--bg-1);border:1px solid var(--line-2);width:min(600px,100%);animation:palette-rise .28s var(--ease-out);border-radius:14px;overflow:hidden;box-shadow:0 40px 120px #000000b3}@keyframes palette-rise{0%{opacity:0;transform:translateY(14px)scale(.985)}}.palette__input-row{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:0 18px;display:flex}.palette__prompt{color:var(--accent);font-family:var(--font-mono);font-size:18px}.palette__input{min-width:0;height:56px;color:var(--fg);font-family:var(--font-display);background:0 0;border:0;outline:0;flex:1;font-size:17px}.palette__input::placeholder{color:var(--fg-3)}.palette__esc,.palette__foot kbd{font-family:var(--font-mono);border:1px solid var(--line-2);color:var(--fg-2);border-radius:5px;padding:2px 6px;font-size:10.5px}.palette__list{overscroll-behavior:contain;max-height:min(52vh,420px);padding:8px;overflow-y:auto}.palette__group{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3);padding:10px 10px 6px;font-size:10.5px}.palette__item{cursor:pointer;border-radius:9px;justify-content:space-between;align-items:center;gap:16px;padding:10px 12px;font-size:15px;display:flex}.palette__item[aria-selected=true]{background:var(--accent);color:var(--accent-ink)}.palette__hint{font-family:var(--font-mono);opacity:.6;white-space:nowrap;text-overflow:ellipsis;max-width:45%;font-size:11px;overflow:hidden}.palette__empty{text-align:center;color:var(--fg-3);padding:26px 12px}.palette__foot{border-top:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3);gap:18px;padding:10px 18px;font-size:10.5px;display:flex}.palette__foot kbd{margin-right:3px}.inspector{z-index:80;pointer-events:none;font-family:var(--font-mono);font-size:11px;position:fixed;inset:0}.inspector__box{border:1px solid var(--accent);background:#c8f54212;transition:transform .12s ease-out,width .12s ease-out,height .12s ease-out;position:absolute;top:0;left:0}.inspector__tag{background:var(--accent);color:var(--accent-ink);white-space:nowrap;gap:8px;padding:2px 7px;font-weight:600;display:inline-flex;position:absolute;bottom:100%;left:-1px}.inspector__tag.is-inside{top:-1px;bottom:auto}.inspector__tag b{opacity:.7;font-weight:400}.inspector__banner{border:1px solid var(--line-2);color:var(--fg-2);letter-spacing:.05em;white-space:nowrap;text-overflow:ellipsis;background:#0d0f12eb;border-radius:999px;align-items:center;gap:10px;max-width:calc(100vw - 24px);padding:9px 16px;display:inline-flex;position:absolute;bottom:22px;left:50%;overflow:hidden;transform:translate(-50%)}.inspector__banner kbd{font:inherit;border:1px solid var(--line-2);color:var(--fg);border-radius:4px;padding:1px 6px}.bar{z-index:60;height:var(--bar-h);-webkit-backdrop-filter:blur(14px)saturate(1.4);border-bottom:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.06em;background:#08090bb8;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding-inline:clamp(12px,2.4vw,28px);font-size:11.5px;display:grid;position:fixed;inset:0 0 auto}.bar__brand{white-space:nowrap;justify-self:start;align-items:center;gap:10px;display:inline-flex}.bar__mark{background:var(--accent);width:28px;height:28px;color:var(--accent-ink);font-family:var(--font-display);letter-spacing:-.02em;font-variation-settings:"wdth" 110;border-radius:7px;place-items:center;font-size:12px;font-weight:900;display:grid}.bar__dim{color:var(--fg-3)}.bar__nav{border:1px solid var(--line);background:#ffffff05;border-radius:999px;gap:4px;padding:4px;display:flex}.bar__link{height:28px;color:var(--fg-2);text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:0 12px;transition:color .2s,background .2s;display:inline-flex}.bar__link-idx{color:var(--fg-3);font-size:9.5px;transition:color .2s}.bar__link:hover{color:var(--fg)}.bar__link.is-active{background:var(--fg);color:var(--bg)}.bar__link.is-active .bar__link-idx{color:#00000073}.bar__tools{justify-self:end;align-items:center;gap:8px;display:flex}.bar__fps{color:var(--fg-2);white-space:nowrap;align-items:center;gap:7px;margin-right:6px;display:inline-flex}.bar__fps-num{text-align:right;min-width:2ch;color:var(--fg);font-variant-numeric:tabular-nums;display:inline-block}.bar__btn{border:1px solid var(--line-2);height:30px;color:var(--fg-2);text-transform:uppercase;border-radius:8px;align-items:center;gap:6px;padding:0 10px;transition:color .2s,border-color .2s,background .2s;display:inline-flex}.bar__btn:hover{color:var(--fg);border-color:var(--fg-2)}.bar__btn.is-on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.bar__btn .is-cur{color:var(--accent)}.bar__lang{border:1px solid var(--line-2);border-radius:8px;align-items:center;height:30px;padding:0 3px;display:inline-flex}.bar__lang button{min-width:26px;height:22px;color:var(--fg-2);border-radius:5px;padding:0 6px;transition:color .2s,background .2s}.bar__lang button:hover{color:var(--fg)}.bar__lang button.is-cur{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.bar__btn kbd{font:inherit;font-size:11px}.bar__progress{background:var(--accent);transform-origin:0;will-change:transform;height:1px;position:absolute;bottom:-1px;left:0;right:0}@media (max-width:1080px){.bar{grid-template-columns:1fr auto}.bar__nav{display:none}}@media (max-width:560px){.bar__path,.bar__btn-label,.bar__fps{display:none}}
