@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:300;font-display:swap;src:url(data:font/woff2;base64,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)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:300;font-display:swap;src:url(./hanken-grotesk-300-2-CF83jWtU.woff2)format("woff2");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:Hanken Grotesk;font-style:normal;font-weight:300;font-display:swap;src:url(./hanken-grotesk-300-3-BzvT_elb.woff2)format("woff2");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:Hanken Grotesk;font-style:normal;font-weight:300;font-display:swap;src:url(./hanken-grotesk-300-4-KjBMhMia.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:Hanken Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(data:font/woff2;base64,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)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(./hanken-grotesk-300-2-CF83jWtU.woff2)format("woff2");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:Hanken Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(./hanken-grotesk-300-3-BzvT_elb.woff2)format("woff2");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:Hanken Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(./hanken-grotesk-300-4-KjBMhMia.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:Hanken Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(data:font/woff2;base64,d09GMgABAAAAAAZsABIAAAAADDgAAAYHAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbZhwoP0hWQVJpBmA/U1RBVIE4AFwvbBEICoJ8gkMLFAAwhCoBNgIkAyIEIAWGUAdiG68KUdTLyWk1sp+HsTHrsalxlzvidBjtlIpFLBhNN8RP3uqxnuL57/frc+1zbzcPv+FABwhQkbNhRcqE1VRc6hu01ubVCGkjKrZ2KkiH0ImU4M2P2syBhZifOKly6vqvh4qKAVmK2u39jweaQYj9zzHjv7Yqyr9o2vOBDXhCo2jMvMgELPAAiiqaD/Qq8QAP7Jb0Sgo4vUovDyseoWAJKBFNBHMHOl5duLi+j+qTNHJQ1WENQ8gTMnCQRxBdmYqpshEcaJco0URpSojPCtyDHUxuSmIVgjuAQzEA2GhqpLtQHkYdx2n96vbHUFsx8ls0xUuAIGwW9QMcBTjXNPTaj5iKpj6fMsAV8VJyN5pjwdGboNyjS9/cFr4w9wW9tV4D7Xeii0G+BuQf8hNYaSKmCoM5DlSvqFqUAI99aiWKYrBypFNdat81y50HBCQehJxffma2HAltYKXnC1Df1CdH2YP8cd06edLOn7YVc9Y+NG+isuDPUWgYNMGguxSsN1XGVs7z7FjJ1U6MAf0J/BJ/YYlncOJJgQRnt2CjEoOZ6anoAQH5AuxGS5HAPrTCzyCNHAnSyRcgI7IHMqZuBTKhvgGZ0lYgM9qHQGQNwwEzsBlz3AbeBLswgFKfwxV1kd4nfRvllVuzaOvq/kpquXiipLcUa85LS5XFdPzt2wS3xKl07UawHDunnHCnd/HNmy2EFhr8UMmBIw2mm88rxt/0Ktlxp/GtW2DZyNaOoRVdpQil5VLZdSXa7mbA/Xn3B7hVzq8EvXxvineP6y5EXIwIWOGYIzjngKsiSQsKr4pyPLetDRWtO/VLFdnYgtjb+Wa77CHFTTahEIpHhkHYBbfAKsblkQfjlcCOT/bgmyKSoyt9AvODmU0M+Hl2TawcOxHOvsjOSIyNZu3cPez7R8VnxWOQPBiCiYl/XSQHj01fRjdsop5IPcZ3VZFAFA41A0dim5NcYMetyL+7cBx8sQwsLcWSUU9V1btLbf9MpcsIn2zAgvg3Rp4Swfge+oF9Ge0BQGUUruwjX527c0L+Ay5wI+k2eH396jVC9U0ekk26RXonCgaIrms9E65rtddHjAQpSMMW8sMA56iI4QjRw9aT7tM9AHqgqxQs0zm6OuJ+3o+fPFj9jah0CQn+g6V2djzvh1jvSFze10ktfv1gZmx0UuEvHO/FDTBwgTRN/P0h0FJEW39/uHMOjvXst15N69680ZH37pHvP/6T2XgEg9jPXY7+d7LSCuHz+xGBefDbRxS/fOzj5796Hy3x/sYtG430xw+djg89e3QZl7//RVQ6m99//CtQGiMEPcJHbCcIWKJC/D9BlChsPMOwk7Pi02/hi6Njt2VYVrQ10n8+3D6H4ku3flsli5P8b9poO+IiXBiQXn321QggOSBHoM/fw51HgJVj7QEMMCG1Uu8c59Wr30o3Pz+alo4gESI46tsTMP3KhdAI9a/Pyzg5KX89vXxZEP63MUQRi7Vms1l3Z0EcAQgAQKhIS79N19aifskQegsA8GS8myw+//xfDOdbMa1Dz9QGMFYgPEeDowtaaOLGDBBO/2n+1ztD0PBFUfy6Oha24DjHCWbeJfeAzOiLdcHgPynpM/zUU46xV4OxrM/T2JxbJ3ZHRuLILr/j2OG+k693sk/1wtKbGFMvYhnci83czditz9M4snQ5jm10Ok5MHY9Tm61wZm4bzi3NXQtpJ67nslGOFZGkbtFxs0CvYlpwJxKgZrksAjrukWw6hQ0QT4/Z1ulUmmisg93SPo3OcUSC3bdL6p7QqGOWewEX0HmiXKzTC1xW/P8+I6Dqco1F65ZRDpPkWBJwRaSQqcP1JFXMQgUOSYGQzuUgTnC0Yx3nhPHTEdkScYz4sJzhUvPmbBnbgaFk9KsOnOPy3AtOThVxvGP96HFWJ28+Etltz7UUDA8fGz1PfJI97kmYmTj0hEcfobeGY8xwPcD3tHV5ChUQl+WDunAs1OXRla07PJJtURyba2OwLjjDgX4pqaWlZ5Tx+Dz2Bw/dcrGjd3fPdMfP7O2e7S/U8ziSv7LiKjOZ7r7uwa9bAQAA)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(./hanken-grotesk-300-2-CF83jWtU.woff2)format("woff2");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:Hanken Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(./hanken-grotesk-300-3-BzvT_elb.woff2)format("woff2");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:Hanken Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(./hanken-grotesk-300-4-KjBMhMia.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:Hanken Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(data:font/woff2;base64,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)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(./hanken-grotesk-300-2-CF83jWtU.woff2)format("woff2");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:Hanken Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(./hanken-grotesk-300-3-BzvT_elb.woff2)format("woff2");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:Hanken Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(./hanken-grotesk-300-4-KjBMhMia.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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(data:font/woff2;base64,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)format("woff2");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;font-style:normal;font-weight:400;font-display:swap;src:url(./jetbrains-mono-400-2-D2jMJ_bk.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(./jetbrains-mono-400-3-D2nYnAec.woff2)format("woff2");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;font-style:normal;font-weight:400;font-display:swap;src:url(./jetbrains-mono-400-4-CNlsqbWb.woff2)format("woff2");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;font-style:normal;font-weight:400;font-display:swap;src:url(./jetbrains-mono-400-5-Bnd2h4Br.woff2)format("woff2");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;font-style:normal;font-weight:400;font-display:swap;src:url(./jetbrains-mono-400-6-Db4Uuiha.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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(data:font/woff2;base64,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)format("woff2");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;font-style:normal;font-weight:500;font-display:swap;src:url(./jetbrains-mono-400-2-D2jMJ_bk.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(./jetbrains-mono-400-3-D2nYnAec.woff2)format("woff2");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;font-style:normal;font-weight:500;font-display:swap;src:url(./jetbrains-mono-400-4-CNlsqbWb.woff2)format("woff2");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;font-style:normal;font-weight:500;font-display:swap;src:url(./jetbrains-mono-400-5-Bnd2h4Br.woff2)format("woff2");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;font-style:normal;font-weight:500;font-display:swap;src:url(./jetbrains-mono-400-6-Db4Uuiha.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}:root{--color-paper:#f6f4ef;--color-paper-elevated:#faf9f5;--color-code-bg:#efece3;--color-ink:#15140e;--color-ink-soft:#6a6862;--color-ink-softer:#b5b2a8;--color-rule:#1a1a1a;--color-rule-soft:#d8d3c6;--color-accent:#9c4631;--color-accent-deep:#843a28;--font-sans:"Hanken Grotesk", system-ui, sans-serif;--font-zh:"Noto Sans HK", "PingFang HK", sans-serif;--font-serif:"Newsreader", Georgia, serif;--font-zh-serif:"Noto Serif TC", serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--text-xs:.6875rem;--text-sm:.8125rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.5rem;--text-2xl:2rem;--text-3xl:3rem;--text-4xl:4.5rem;--text-display:clamp(4.5rem, 11vw, 6.75rem);--weight-light:300;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--tracking-tighter:-.03em;--tracking-tight:-.02em;--tracking-normal:0;--tracking-wide:.04em;--tracking-wider:.12em;--tracking-widest:.18em;--leading-tight:.92;--leading-snug:1.3;--leading-normal:1.55;--leading-loose:1.95;--measure-reading:680px;--text-reading:1.25rem;--leading-reading:1.62;--text-article-headline:clamp(2.5rem, 6.5vw, 3.75rem);--text-article-sub:1.9375rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--space-24:6rem;--space-32:8rem;--container-max:1180px;--container-padding:clamp(28px, 6vw, 80px);--ease-out:cubic-bezier(.2, .8, .2, 1);--duration-fast:.16s;--duration-base:.35s;--duration-slow:.75s;--border-width:1px;--border-width-bold:2px;--radius:0;--radius-sm:2px;--s-window:#efece4;--s-sidebar:#f1efe8;--s-surface:#f6f4ef;--s-elevated:#fbfaf6;--s-input:#fffefb;--s-hover:#15140e0b;--s-active:#9c46311a;--border:#ddd8cc;--border-strong:#c7c1b2;--t1:#15140e;--t2:#4a473e;--t3:#6a6862;--t4:#aea99e;--accent-tint:#f0e4df;--success:#2f7d51;--success-tint:#e7f0ea;--success-border:#c2dccd;--warning:#8a5f0c;--warning-tint:#f5eedd;--warning-border:#e7d4a9;--error:#c8443a;--error-tint:#f9e8e5;--error-border:#eec6bf;--info:#3f6cc8;--info-tint:#e9eef9;--info-border:#c6d4ee;--on-solid:#fff;--primary-bg:var(--t1);--primary-fg:#f6f4ef;--primary-hover:#2c2820;--scrim:#15140e75;--icon-stroke:1.5px;--icon-grid:24;--chart-1:#15140e;--chart-2:#9c4631;--chart-3:#486089;--chart-4:#9c7a32;--chart-5:#3f7d63;--chart-6:#8a5a4a}[data-viz=vivid]{--chart-1:oklch(55% .17 35);--chart-2:oklch(60% .15 250);--chart-3:oklch(64% .15 150);--chart-4:oklch(74% .14 85);--chart-5:oklch(56% .18 320);--chart-6:oklch(66% .15 195)}[data-theme=dark]{--color-paper:#211d17;--color-paper-elevated:#2a251e;--color-code-bg:#1a1611;--color-ink:#ece7dc;--color-ink-soft:#9d9789;--color-ink-softer:#6a655a;--color-rule:#ece7dc;--color-rule-soft:#39332a;--color-accent:#cf7152;--color-accent-deep:#e2906f;--s-window:#16130e;--s-sidebar:#1c1813;--s-surface:#211d17;--s-elevated:#2a251e;--s-input:#322c24;--s-hover:#ece7dc0e;--s-active:#cf71522e;--border:#39332a;--border-strong:#4a4337;--t1:#ece7dc;--t2:#c2bcae;--t3:#9d9789;--t4:#6a655a;--accent-tint:#3a261d;--success:#57b083;--success-tint:#17271e;--success-border:#2b543b;--warning:#d2a05c;--warning-tint:#2a2113;--warning-border:#56431f;--error:#e4796e;--error-tint:#2d1a17;--error-border:#5a2d27;--info:#6f93d6;--info-tint:#182030;--info-border:#2c4060;--on-solid:#1a1610;--primary-bg:var(--t1);--primary-fg:#211d17;--primary-hover:#fffefb;--scrim:#0c09059e;--chart-1:#ece7dc;--chart-2:#cf7152;--chart-3:#7e9bca;--chart-4:#d2a05c;--chart-5:#5fa37f;--chart-6:#c08977}[data-theme=dark] [data-viz=vivid]{--chart-1:oklch(66% .16 35);--chart-2:oklch(70% .14 250);--chart-3:oklch(74% .14 150);--chart-4:oklch(82% .13 85);--chart-5:oklch(68% .16 320);--chart-6:oklch(76% .14 195)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-paper:#211d17;--color-paper-elevated:#2a251e;--color-code-bg:#1a1611;--color-ink:#ece7dc;--color-ink-soft:#9d9789;--color-ink-softer:#6a655a;--color-rule:#ece7dc;--color-rule-soft:#39332a;--color-accent:#cf7152;--color-accent-deep:#e2906f;--s-window:#16130e;--s-sidebar:#1c1813;--s-surface:#211d17;--s-elevated:#2a251e;--s-input:#322c24;--s-hover:#ece7dc0e;--s-active:#cf71522e;--border:#39332a;--border-strong:#4a4337;--t1:#ece7dc;--t2:#c2bcae;--t3:#9d9789;--t4:#6a655a;--accent-tint:#3a261d;--success:#57b083;--success-tint:#17271e;--success-border:#2b543b;--warning:#d2a05c;--warning-tint:#2a2113;--warning-border:#56431f;--error:#e4796e;--error-tint:#2d1a17;--error-border:#5a2d27;--info:#6f93d6;--info-tint:#182030;--info-border:#2c4060;--on-solid:#1a1610;--primary-bg:var(--t1);--primary-fg:#211d17;--primary-hover:#fffefb;--scrim:#0c09059e;--chart-1:#ece7dc;--chart-2:#cf7152;--chart-3:#7e9bca;--chart-4:#d2a05c;--chart-5:#5fa37f;--chart-6:#c08977}:root:not([data-theme=light]) [data-viz=vivid]{--chart-1:oklch(66% .16 35);--chart-2:oklch(70% .14 250);--chart-3:oklch(74% .14 150);--chart-4:oklch(82% .13 85);--chart-5:oklch(68% .16 320);--chart-6:oklch(76% .14 195)}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);font-weight:var(--weight-regular);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out)}::selection{background:var(--color-ink);color:var(--color-paper)}a{color:var(--color-ink);text-decoration:underline;-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent);text-underline-offset:3px;transition:color var(--duration-fast) var(--ease-out)}a:hover{color:var(--color-accent)}:lang(zh-Hant),.zh{font-family:var(--font-zh);letter-spacing:var(--tracking-wide);line-height:var(--leading-loose)}.zh-serif{font-family:var(--font-zh-serif);letter-spacing:var(--tracking-wide);line-height:var(--leading-loose)}.app-shell{background:var(--s-window);flex-direction:column;min-height:100dvh;display:flex}.topbar{padding:var(--space-3) var(--space-6);border-bottom:var(--border-width) solid var(--border);background:var(--s-sidebar);justify-content:space-between;align-items:center;display:flex}.wordmark{font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight)}.tabs{gap:var(--space-6);display:flex}.tab{font:inherit;cursor:pointer;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--t3);padding:var(--space-2) 0;border:none;border-bottom:var(--border-width-bold) solid transparent;border-radius:var(--radius);background:0 0}.tab.active{color:var(--t1);border-bottom-color:var(--color-accent)}.tab:disabled{color:var(--t4);cursor:default}.layout{flex:1;grid-template-columns:1fr 340px;min-height:0;display:grid}.cube-canvas{touch-action:none;width:100%;height:100%;display:block}.canvas-fallback{height:100%;padding:var(--space-8);color:var(--t2);font-size:var(--text-sm);text-align:center;justify-content:center;align-items:center;display:flex}.panel{border-left:var(--border-width) solid var(--border);background:var(--s-surface);padding:var(--space-6);gap:var(--space-4);flex-direction:column;display:flex;overflow-y:auto}.eyebrow{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--t3)}.timer{font-size:var(--text-4xl);font-weight:var(--weight-light);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);font-variant-numeric:tabular-nums}.status{font-size:var(--text-sm);color:var(--t2)}.status-solved{color:var(--success)}.actions{gap:var(--space-3);display:flex}.btn-primary{background:var(--primary-bg);color:var(--primary-fg);border-radius:var(--radius);padding:var(--space-3) var(--space-6);font:inherit;font-weight:var(--weight-medium);cursor:pointer;border:none}.btn-primary:hover{background:var(--primary-hover)}.btn-hint{color:var(--color-accent);border:var(--border-width) solid var(--border-strong);border-radius:var(--radius);padding:var(--space-3) var(--space-6);font:inherit;font-weight:var(--weight-medium);cursor:pointer;background:0 0}.btn-hint:hover:not(:disabled){background:var(--accent-tint)}.btn-hint:disabled{color:var(--t4);border-color:var(--border);cursor:default}button:focus-visible{outline:var(--border-width) solid var(--color-ink);outline-offset:1px;box-shadow:inset 0 -2px 0 var(--color-accent)}.hint-reason{font-size:var(--text-sm);color:var(--t2);border-left:var(--border-width-bold) solid var(--color-accent);padding-left:var(--space-3)}.history table{border-collapse:collapse;width:100%;font-family:var(--font-mono);font-size:var(--text-sm)}.history td{padding:var(--space-2) 0;border-bottom:var(--border-width) solid var(--border)}.history td.ms{text-align:right;font-variant-numeric:tabular-nums}.history td.meta{color:var(--t3)}.pb{font-size:var(--text-sm);color:var(--t2)}.empty{font-size:var(--text-sm);color:var(--t3)}.stage-list{flex-direction:column;list-style:none;display:flex}.stage-row{gap:var(--space-3);padding:var(--space-2) 0 var(--space-2) var(--space-3);border-left:var(--border-width-bold) solid transparent;border-bottom:var(--border-width) solid var(--border);font-size:var(--text-sm);color:var(--t2);align-items:baseline;display:flex}.stage-row.active{border-left-color:var(--color-accent);color:var(--t1)}button.stage-row{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border-top:0;border-right:0}button.stage-row:hover{background:var(--accent-tint)}.stage-num{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--t3)}.stage-tick{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--success);margin-left:auto}.card{gap:var(--space-3);flex-direction:column;display:flex}.stage-name{font-size:var(--text-xl);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight)}.stage-intro{font-size:var(--text-sm);color:var(--t2);line-height:var(--leading-normal)}.stage-goal{font-size:var(--text-sm);color:var(--t2)}.goal-label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--t3);margin-right:var(--space-2)}.level-group{display:flex}.level-btn{border:var(--border-width) solid var(--border-strong);border-radius:var(--radius);padding:var(--space-2) var(--space-2);font:inherit;font-size:var(--text-sm);color:var(--t2);cursor:pointer;background:0 0;flex:1}.level-btn+.level-btn{border-left:none}.level-btn.active{background:var(--primary-bg);color:var(--primary-fg);border-color:var(--primary-bg)}.instruction{font-size:var(--text-base);color:var(--t1);border-left:var(--border-width-bold) solid var(--color-accent);padding-left:var(--space-3)}.instruction-sub{font-size:var(--text-sm);color:var(--t3)}.recap{font-size:var(--text-sm);color:var(--success)}.situation{font-size:var(--text-base);color:var(--t1);line-height:var(--leading-normal)}.recipe{gap:var(--space-2);flex-direction:column;list-style:none;display:flex}.recipe-step{gap:var(--space-2);font-size:var(--text-sm);color:var(--t3);padding-left:var(--space-3);border-left:var(--border-width-bold) solid transparent;align-items:baseline;display:flex}.recipe-step.current{color:var(--t1);border-left-color:var(--color-accent)}.recipe-num{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--t4)}.notice-warning{font-size:var(--text-sm);color:var(--warning);background:var(--warning-tint);border:var(--border-width) solid var(--warning-border);padding:var(--space-2) var(--space-3)}.btn-secondary{border:var(--border-width) solid var(--border-strong);border-radius:var(--radius);padding:var(--space-2) var(--space-4);font:inherit;color:var(--t2);cursor:pointer;background:0 0;align-self:flex-start}.btn-secondary:disabled{color:var(--t4);border-color:var(--border);cursor:default}.btn-row{gap:var(--space-2);flex-wrap:wrap;display:flex}@media (width<=900px){.layout{grid-template-rows:58dvh auto;grid-template-columns:1fr}.panel{border-left:none;border-top:var(--border-width) solid var(--border)}}
