:root{color-scheme:light;--page: var(--color-canvas);--paper: var(--color-surface);--ink: var(--color-text);--muted: var(--color-text-muted);--soft: var(--color-text-soft);--line: var(--color-border);--accent: var(--color-accent);--accent-strong: var(--color-accent-strong);--accent-soft: var(--color-accent-soft);--success: var(--color-success);--warning: var(--color-warning);--hairline: color-mix(in srgb, var(--color-border) 78%, transparent);--surface-shadow: var(--shadow-subtle);--focus-ring: 0 0 0 3px color-mix(in srgb, var(--accent) 28%, transparent);--font-sans: "Geist", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-mono: "Geist Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--font-serif: "Songti SC", "Noto Serif CJK SC", "Source Han Serif SC", "STSong", "SimSun", Georgia, serif;--font-display: "Brand Song", var(--font-serif);--font-accent: "Instrument Serif", "Brand Song", Georgia, serif;--site-content: 1120px;--site-rail: 248px;--site-gap: 32px;--site-shell: 1120px;--site-header: 64px;--site-wide: 1360px;--brand-gutter: clamp(32px, 4.7vw, 72px);--radius-none: 0px;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-pill: 999px;--space-0: 0px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--space-24: 96px;--space-32: 128px;--space-page-y: 88px;--space-page-x: 18px;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.5rem;--text-2xl: 2rem;--text-3xl: clamp(2rem, 4vw, 3rem);--text-display: clamp(3rem, 8.5vw, 6rem);--text-hero: clamp(3.25rem, 11vw, 9.5rem);--leading-display: 1.08;--leading-heading: 1.3;--leading-body: 1.8;--leading-compact: 1.5;--tracking-tight: -.025em;--tracking-normal: 0em;--tracking-wide: .1em;--motion-fast: .16s;--motion-standard: .24s;--motion-expressive: .7s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--ease-expressive: cubic-bezier(.22, 1, .36, 1);--layer-base: 0;--layer-raised: 1;--layer-sticky: 50;--layer-overlay: 100;--target-min: 44px;--color-canvas: #f4f0e8;--color-canvas-muted: #ece6da;--color-surface: #f8f5ee;--color-surface-elevated: #fcfaf5;--color-surface-muted: #ece6da;--color-text: #14231f;--color-text-muted: #5b6159;--color-text-soft: #666a62;--color-border: #dcd5c6;--color-border-strong: #bfb8a7;--color-accent: #1d5a4f;--color-accent-strong: #103c34;--color-accent-soft: #e1e8dd;--color-accent-contrast: #ffffff;--color-fill-primary: #0b1113;--color-fill-primary-hover: #1d2a2b;--color-fill-primary-text: #ffffff;--color-success: #047857;--color-success-soft: #e3efe7;--color-warning: #b45309;--color-warning-soft: #fff3da;--color-danger: #a33828;--color-danger-soft: #f9e8e2;--color-tag-bg: #ebe5d8;--color-tag-text: #545b54;--color-disabled-surface: var(--color-surface-muted);--color-text-disabled: var(--color-text-soft);--color-seal: #b8432f;--color-thread: #e2d9c6;--shadow: rgba(0, 0, 0, .08);--shadow-subtle: 0 1px 2px rgba(0, 0, 0, .04);--shadow-surface: 0 1px 2px rgba(0, 0, 0, .04), 0 4px 8px rgba(0, 0, 0, .04);--shadow-hover: 0 4px 12px rgba(0, 0, 0, .08)}@media screen and (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--color-canvas: #0c1411;--color-canvas-muted: #101a16;--color-surface: #131e1a;--color-surface-elevated: #192621;--color-surface-muted: #16221d;--color-text: #ebe7da;--color-text-muted: #a9b2a4;--color-text-soft: #9aa597;--color-border: #26342e;--color-border-strong: #3e5046;--color-accent: #9fd3c0;--color-accent-strong: #c6e8da;--color-accent-soft: #1b332a;--color-accent-contrast: #0c1411;--color-fill-primary: #ededed;--color-fill-primary-hover: #cccccc;--color-fill-primary-text: #0a0a0a;--color-success: #0cce6b;--color-success-soft: #19392a;--color-warning: #f5a623;--color-warning-soft: #392d1b;--color-danger: #ffb4a8;--color-danger-soft: #3b2726;--color-tag-bg: #18251f;--color-tag-text: #bbc6b5;--color-disabled-surface: var(--color-surface-muted);--color-text-disabled: var(--color-text-soft);--color-seal: #ff8f76;--color-thread: #22302a;--shadow: rgba(0, 0, 0, .4);--shadow-subtle: 0 1px 2px rgba(0, 0, 0, .4);--shadow-surface: 0 1px 2px rgba(0, 0, 0, .4), 0 4px 8px rgba(0, 0, 0, .3);--shadow-hover: 0 4px 12px rgba(0, 0, 0, .5)}}:root[data-theme=dark]{color-scheme:dark;--color-canvas: #0c1411;--color-canvas-muted: #101a16;--color-surface: #131e1a;--color-surface-elevated: #192621;--color-surface-muted: #16221d;--color-text: #ebe7da;--color-text-muted: #a9b2a4;--color-text-soft: #9aa597;--color-border: #26342e;--color-border-strong: #3e5046;--color-accent: #9fd3c0;--color-accent-strong: #c6e8da;--color-accent-soft: #1b332a;--color-accent-contrast: #0c1411;--color-fill-primary: #ededed;--color-fill-primary-hover: #cccccc;--color-fill-primary-text: #0a0a0a;--color-success: #0cce6b;--color-success-soft: #19392a;--color-warning: #f5a623;--color-warning-soft: #392d1b;--color-danger: #ffb4a8;--color-danger-soft: #3b2726;--color-tag-bg: #18251f;--color-tag-text: #bbc6b5;--color-disabled-surface: var(--color-surface-muted);--color-text-disabled: var(--color-text-soft);--color-seal: #ff8f76;--color-thread: #22302a;--shadow: rgba(0, 0, 0, .4);--shadow-subtle: 0 1px 2px rgba(0, 0, 0, .4);--shadow-surface: 0 1px 2px rgba(0, 0, 0, .4), 0 4px 8px rgba(0, 0, 0, .3);--shadow-hover: 0 4px 12px rgba(0, 0, 0, .5)}@media(min-width:981px)and (max-width:1200px){:root{--brand-gutter: 32px}}@media(max-width:980px){:root{--brand-gutter: 28px}}@media(max-width:680px){:root{--brand-gutter: 22px}}@media(max-width:360px){:root{--brand-gutter: 18px}}@media(prefers-reduced-motion:reduce){:root{--motion-fast: 0ms;--motion-standard: 0ms;--motion-expressive: 0ms}}@media print{:root,:root[data-theme]{color-scheme:light;--color-canvas: #ffffff;--color-canvas-muted: #ffffff;--color-surface: #ffffff;--color-surface-elevated: #ffffff;--color-surface-muted: #ffffff;--color-text: #000000;--color-text-muted: #333333;--color-text-soft: #555555;--color-border: #cccccc;--color-border-strong: #999999;--color-accent: #171717;--color-accent-strong: #000000;--color-accent-soft: #ffffff;--color-accent-contrast: #ffffff;--color-fill-primary: #171717;--color-fill-primary-hover: #000000;--color-fill-primary-text: #ffffff;--color-success: #171717;--color-success-soft: #ffffff;--color-warning: #171717;--color-warning-soft: #ffffff;--color-danger: #171717;--color-danger-soft: #ffffff;--color-tag-bg: #ffffff;--color-tag-text: #333333;--color-disabled-surface: var(--color-surface-muted);--color-text-disabled: var(--color-text-soft);--color-seal: #171717;--color-thread: #ffffff;--shadow: none;--shadow-subtle: none;--shadow-surface: none;--shadow-hover: none}}@font-face{font-family:Brand Song;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/brand-song-core/00.woff2) format("woff2");unicode-range:U+20-7e,U+a9,U+b7,U+d7,U+2013-2014,U+2018-2019,U+201c-201d,U+2026,U+2190-2193,U+2197,U+3001-3002,U+300c-300d,U+3400,U+4e00,U+4e03,U+4e09-4e0b,U+4e0d-4e0e,U+4e13,U+4e19-4e1a,U+4e1c,U+4e24,U+4e2a,U+4e2d,U+4e30,U+4e32,U+4e3a-4e3b,U+4e45,U+4e48-4e49,U+4e4b,U+4e59,U+4e5d,U+4e5f-4e60,U+4e66,U+4e86,U+4e8b-4e8c,U+4e8e,U+4e91-4e92,U+4e94,U+4e9a-4e9b,U+4ea4,U+4ea7,U+4eab-4eac,U+4eae,U+4eba,U+4ec0,U+4ec5,U+4eca-4ecb,U+4ecd-4ece,U+4ed3,U+4ed6,U+4ed8,U+4ee3-4ee5,U+4eec,U+4ef6-4ef7,U+4efb,U+4efd,U+4f18,U+4f1a,U+4f20,U+4f30,U+4f3c,U+4f46,U+4f4d-4f4f,U+4f53,U+4f55,U+4f59,U+4f5c,U+4f60,U+4f73,U+4f7f,U+4f8b,U+4f9b,U+4f9d,U+4fbf,U+4fdd,U+4fe1,U+4fee,U+5019,U+501f,U+503c,U+5047,U+504f,U+505a,U+505c,U+5065,U+50cf,U+5143,U+5145,U+5148,U+514b,U+514d,U+5165,U+5168,U+516b-516d,U+5171,U+5173,U+5176-5177,U+517c,U+5185,U+518c-518d,U+5192,U+5199,U+51b2-51b3,U+51b7,U+51c6,U+51cf,U+51d1,U+51e0,U+51ed,U+51fa-51fb,U+5200,U+5206-5207,U+5212,U+5217,U+5219-521b,U+521d,U+5220,U+5224,U+522b,U+5230,U+5236,U+523b,U+524d,U+5269,U+526f,U+5272,U+529b,U+529e-52a1,U+52a8-52a9,U+52bf,U+5305,U+5316-5317,U+5339-533a,U+5341,U+5347,U+534f,U+5355,U+535a,U+5360-5361,U+5370,U+5373-5374,U+537f,U+5382,U+5385-5386,U+539f,U+53bb,U+53c2,U+53ca,U+53cc-53cd,U+53d1,U+53d6-53d8,U+53e0,U+53e3,U+53e5-53e6,U+53ea,U+53ef-53f0,U+53f2-53f3,U+53f7-53f8,U+5404,U+5408,U+540c-540e,U+5411,U+5426-5427,U+542b,U+542f,U+5438,U+5448,U+544a,U+5458,U+547c-547d,U+548c,U+54c1,U+54c8,U+54cd,U+54ea,U+5546,U+5584,U+55bb,U+5668,U+566a,U+56ca,U+56db,U+56de,U+56e0,U+56e2,U+56f4,U+56fa,U+56fe,U+5706,U+5728,U+5730,U+573a,U+5740,U+5747,U+574f-5750,U+5757,U+578b,U+57ce,U+57df,U+57fa,U+5806,U+5883,U+589e,U+58a8,U+58f0,U+5904,U+5907,U+590d,U+5916,U+591a,U+591f,U+5927,U+5929,U+5931,U+5934,U+5947,U+594f,U+5951,U+5956-5957,U+597d,U+5982,U+59cb,U+5a92,U+5b50,U+5b57-5b58,U+5b66,U+5b83,U+5b89,U+5b8b-5b8c,U+5b98,U+5b9a,U+5b9e,U+5ba1-5ba2,U+5bb6,U+5bb9,U+5bbd,U+5bc6,U+5bcc,U+5bdf,U+5bf8-5bf9,U+5bfc,U+5c01,U+5c06,U+5c0f,U+5c11,U+5c1a,U+5c1d,U+5c31,U+5c3a,U+5c40,U+5c42,U+5c45,U+5c55,U+5c5e,U+5de5-5de6,U+5dee,U+5df1-5df2,U+5e03,U+5e08,U+5e0c,U+5e26-5e27,U+5e2e,U+5e38,U+5e42,U+5e45,U+5e55,U+5e73-5e74,U+5e76,U+5e7f,U+5e8f,U+5e93-5e95,U+5ea6,U+5eb7,U+5efa,U+5f00,U+5f02,U+5f0f,U+5f15,U+5f20,U+5f26,U+5f31,U+5f39-5f3a,U+5f52-5f53,U+5f55,U+5f62,U+5f66,U+5f71,U+5f80,U+5f84-5f85,U+5f88,U+5f97,U+5faa,U+5fae,U+5fc3,U+5fc5,U+5fd7,U+5feb,U+5ff5,U+6001,U+600e,U+601d,U+6027,U+6062,U+606f,U+60ac,U+60c5,U+60ef,U+60f3,U+6108,U+610f,U+614e,U+6210-6211,U+6216,U+622a,U+6237,U+6240,U+624b,U+624d,U+6253,U+6258,U+6267,U+6269,U+626b,U+6279,U+627e-6280,U+628a,U+6293,U+6296,U+62a4-62a5,U+62b5,U+62c5-62c6,U+62c9,U+62d2,U+62df,U+62e5-62e6,U+62e8-62e9,U+62ff,U+6301-6302,U+6307,U+6309,U+6362,U+636e,U+6377,U+6388,U+6392,U+63a2,U+63a5,U+63a7-63a8,U+63cf-63d0,U+63d2,U+641c,U+6458,U+6491,U+64ad,U+64cd,U+652f,U+6536,U+6539,U+653b,U+653e,U+6545,U+6548,U+654f,U+6559,U+6563,U+6570,U+6574,U+6587,U+6599,U+65ad,U+65b0,U+65b9,U+65bd,U+65e0,U+65e2,U+65e5,U+65e9,U+65f6,U+660e,U+6613,U+662f,U+663e,U+666e-6670,U+667a,U+6682,U+6696,U+66b4,U+66f4,U+66ff-6700,U+6709,U+670d,U+671b,U+671f,U+6728,U+672a,U+672c,U+672f,U+6731,U+673a,U+6742-6743,U+674e,U+6750,U+675f,U+6761,U+6765,U+677f,U+6784,U+6790,U+6797,U+679c,U+67b6,U+67d3,U+67e5,U+6807-6808,U+680f,U+6821,U+6837-6839,U+683c,U+6846,U+6848,U+684c,U+6863,U+68ad,U+68c0,U+68ee,U+695a,U+6982,U+6a21,U+6a2a,U+6b21-6b22,U+6b3e,U+6b62-6b65,U+6bb5,U+6bcd,U+6bcf,U+6bd4,U+6c14,U+6c42,U+6c7d,U+6c89,U+6ca1,U+6cbb,U+6cbf,U+6cc4,U+6cd5,U+6ce8,U+6d01,U+6d3b,U+6d41,U+6d45,U+6d4b,U+6d4f,U+6d88,U+6dc0,U+6df1,U+6e05,U+6e10,U+6e20,U+6e29,U+6e32,U+6e56,U+6e90,U+6eaf,U+6eda,U+6f02,U+6f0f,U+6f14,U+70b9,U+70c1,U+70df,U+7126,U+7136,U+7167,U+7247-7248,U+724c,U+7269,U+72b6,U+72ec,U+732b,U+732e,U+7387,U+73af-73b0,U+73cd,U+73ed,U+7406,U+7422,U+751f,U+7528,U+7531-7532,U+753b,U+754c,U+7559,U+7565,U+767b,U+767d,U+7684,U+76d1,U+76d6,U+76d8,U+76ee,U+76f4,U+76f8,U+7701,U+770b,U+771f,U+7740,U+77e5,U+77e9,U+77ed,U+7801-7802,U+7814,U+7834,U+7840,U+786e,U+78e8,U+793a,U+793e,U+7981,U+79bb,U+79c1,U+79cd,U+79d1-79d2,U+79df,U+79ef-79f0,U+79fb,U+7a00,U+7a0b,U+7a0d,U+7a33,U+7a3f,U+7a76,U+7a7a,U+7a7f,U+7a81,U+7a97,U+7acb,U+7ad9,U+7ae0,U+7aef,U+7b14,U+7b26,U+7b2c,U+7b49,U+7b54,U+7b56,U+7b5b,U+7b7e,U+7b80,U+7b97,U+7ba1,U+7bb1,U+7bc7,U+7c7b,U+7c92,U+7cbe,U+7cfb,U+7d20,U+7d22,U+7d27,U+7ea2,U+7ea6-7ea7,U+7eaa,U+7eac,U+7eaf,U+7eb3,U+7eb9,U+7ebf,U+7ec3-7ec4,U+7ec6-7ec8,U+7ecd,U+7ecf,U+7ed1,U+7ed3,U+7ed5,U+7ed8-7ed9,U+7edc-7edd,U+7edf,U+7ee7,U+7ee9-7eea,U+7eed,U+7ef4,U+7efc,U+7eff-7f00,U+7f0e,U+7f13,U+7f16,U+7f1d,U+7f20,U+7f3a,U+7f51,U+7f6e,U+7f72,U+7f8e,U+8003,U+8005,U+800c,U+8017,U+8026,U+804a,U+804c,U+8054,U+805a,U+80b2,U+80cc,U+80f6,U+80fd,U+8106,U+811a,U+8131,U+817e,U+81ea,U+81f3-81f4,U+820d,U+8212,U+822a,U+826f,U+8272,U+8282,U+82f1,U+8303,U+8349,U+8350,U+83b7,U+83dc,U+8425,U+843d,U+8457,U+84dd,U+85cf,U+884c,U+8854,U+8861,U+8865,U+8868,U+88ab,U+88c2,U+88c5,U+897f,U+8981,U+8986,U+89c1-89c2,U+89c4,U+89c6,U+89c8-89c9,U+89d2,U+89e3,U+89e6,U+8a00,U+8b66,U+8ba1-8ba2,U+8ba4,U+8ba9,U+8bad-8bb0,U+8bba,U+8bbe-8bbf,U+8bc1,U+8bc4,U+8bc6,U+8bca,U+8bcd,U+8bd5,U+8bda,U+8bdd,U+8be2,U+8be5-8be6,U+8bed,U+8bef,U+8bf4,U+8bf7,U+8bfb,U+8c01,U+8c03,U+8c28,U+8c61,U+8d1f,U+8d21,U+8d23,U+8d25-8d26,U+8d28,U+8d39,U+8d44,U+8d56,U+8d5b,U+8d70,U+8d77,U+8d85,U+8d8b,U+8db3,U+8dd1,U+8ddd,U+8ddf,U+8de8,U+8def,U+8df3,U+8df5,U+8e2a,U+8f66,U+8f68,U+8f6c,U+8f6e-8f6f,U+8f7b,U+8f7d,U+8f83,U+8f85,U+8f91,U+8f93,U+8fb9,U+8fbe,U+8fc1,U+8fc7,U+8fce,U+8fd0-8fd1,U+8fd4,U+8fd8-8fd9,U+8fdb-8fdc,U+8fde,U+8fed,U+8ff0,U+8ff9,U+8ffd,U+9000,U+9002,U+9009,U+9010,U+9014,U+901a,U+901f-9020,U+9047,U+9053,U+9057,U+9065,U+907f,U+90ae,U+90e8,U+90fd,U+914d,U+91ca,U+91cc-91cf,U+9488,U+949f,U+94ae,U+94fe,U+9500,U+9519-951a,U+952e,U+955c,U+957f,U+95e8,U+95ea,U+95ed-95ee,U+95f4,U+9605,U+9608,U+961f,U+9632-9633,U+9635-9636,U+9644-9645,U+964d,U+9650,U+9662,U+9664,U+9669,U+9677,U+968f-9690,U+9694,U+969c,U+96be,U+96c6,U+96f6,U+9700,U+9732,U+9752,U+9759,U+975e,U+9760,U+9762,U+97f3,U+9875,U+9879-987b,U+9884,U+9891,U+9898,U+989c-989d,U+98ce,U+98de-98df,U+9970,U+9988,U+9996,U+9a71,U+9a8c,U+9aa4,U+9ad8,U+9ebb,U+9ed1,U+9ed8,U+9f50,U+9fff,U+ff08-ff09,U+ff0c,U+ff1a-ff1b,U+ff1f,U+ff5c}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/geist-latin-variable.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,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-display:swap;font-weight:100 900;src:url(/fonts/geist-mono-latin-variable.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-gutter:stable}body{margin:0;min-width:0;background:var(--color-canvas);color:var(--ink)}a{color:inherit;text-decoration-color:color-mix(in srgb,var(--accent) 35%,transparent);text-underline-offset:3px}.skip-link{position:absolute;display:inline-flex;min-height:44px;align-items:center;left:-9999px;top:0;z-index:100;padding:10px 16px;background:var(--accent);color:var(--color-accent-contrast);font-size:14px;font-weight:700;border-radius:0 0 8px}.skip-link:focus{left:0}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.theme-toggle{position:relative;display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--muted);font-size:13px;font-weight:560;cursor:pointer;transition:color .2s}.theme-toggle:hover{background:color-mix(in srgb,var(--color-accent-soft) 70%,transparent);color:var(--ink)}.theme-toggle svg{width:15px;height:15px}.theme-toggle span{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.lab-button{display:inline-flex;min-width:44px;min-height:44px;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border:1px solid transparent;border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--text-sm);line-height:1.4;font-weight:550;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background var(--motion-fast),color var(--motion-fast),border-color var(--motion-fast),transform var(--motion-fast)}.lab-button--primary{background:var(--color-accent);color:var(--color-accent-contrast)}.lab-button--primary:is(:hover,[data-preview-state=hover]){background:var(--color-accent-strong);color:var(--color-accent-contrast)}.lab-button--secondary{color:var(--color-text);background:transparent;border-color:var(--color-border-strong)}.lab-button--secondary:hover{background:var(--color-accent-soft);border-color:var(--color-accent)}.lab-button--quiet{color:var(--color-accent-strong);background:transparent;padding-inline:var(--space-2)}.lab-button--quiet:hover{text-decoration:underline;text-underline-offset:5px}.lab-button:is(:active,[data-preview-state=active]){transform:translateY(1px) scale(.98)}.lab-button--primary:is(:active,[data-preview-state=active]){background:var(--color-accent-strong);color:var(--color-accent-contrast)}.lab-button--secondary:is(:active,[data-preview-state=active]){background:var(--color-accent-soft);border-color:var(--color-accent)}.lab-button--quiet:is(:active,[data-preview-state=active]){background:var(--color-accent-soft)}.lab-button[data-preview-state=focus]{outline:2px solid var(--color-accent);outline-offset:4px}.lab-button:disabled{background:var(--color-canvas-muted);color:var(--color-text-muted);border-color:var(--color-border);cursor:not-allowed;transform:none}.lab-button[aria-busy=true]{background:var(--color-accent-soft);color:var(--color-accent-strong);border-color:transparent}.lab-button__busy-mark{display:block;width:var(--space-2);height:var(--space-2);background:currentColor;border-radius:var(--radius-xs)}@media(prefers-reduced-motion:reduce){.lab-button{transition:none}.lab-button:is(:active,[data-preview-state=active]){transform:none}}.page{padding:28px var(--space-page-x) 56px}.site-tab-page>.content-page,.article-main-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-surface)}.top{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);gap:28px;padding:38px 38px 28px;border-bottom:1px solid var(--line)}.identity h1{margin:0;color:var(--ink);font-size:44px;line-height:1;font-weight:640;letter-spacing:-.03em}.contact{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 0;align-content:start;color:var(--muted);font-size:13px;line-height:1.45}.contact>*{display:inline-flex;align-items:center}.contact>*+*{margin-left:14px;padding-left:14px;border-left:1px solid var(--color-border-strong)}.contact a{color:var(--ink)}.summary{display:grid;grid-template-columns:1fr;gap:22px;padding:30px 38px;border-bottom:1px solid var(--line)}.summary h2{max-width:720px;margin:0;font-size:26px;line-height:1.22;font-weight:640}.summary p{max-width:760px;margin:12px 0 0;color:var(--muted);font-size:14.5px;line-height:1.78}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:1px;margin:0;background:var(--color-border);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.metrics div{min-height:86px;padding:15px;background:var(--color-surface-elevated)}.metrics dt{margin:0;color:var(--ink);font-size:25px;line-height:1;font-weight:600}.metrics dd{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.45}.section{padding:28px 38px;border-bottom:1px solid var(--line)}.ability,.asset-grid article{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-elevated);padding:15px;transition:border-color .2s,box-shadow .2s,transform .2s}.ability:hover,.asset-grid article:hover{border-color:color-mix(in srgb,var(--accent) 46%,var(--color-border));box-shadow:var(--shadow-hover);transform:translateY(-2px)}.ability h3,.asset-grid h3,.entry h3,.stack-list h3{margin:0;color:var(--ink);font-size:15px;line-height:1.35;font-weight:600}.ability p,.asset-grid p,.entry li,.stack-list p,.side-text,.edu-list{color:var(--muted);font-size:13.5px;line-height:1.65}.ability p,.asset-grid p,.stack-list p,.side-text{margin:7px 0 0}.core-project{display:grid;grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);gap:22px}.structure{display:grid;gap:0;margin-top:18px;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md)}.structure div{display:grid;grid-template-columns:68px 1fr;gap:12px;padding:10px 12px;border-bottom:1px solid var(--color-border);background:var(--color-surface-elevated)}.structure div:last-child{border-bottom:0}.structure strong{color:var(--accent);font-size:13px}.structure span{color:var(--muted);font-size:13px;line-height:1.5}.entry{break-inside:avoid;transition:border-color .2s;border-radius:4px}.entry-head span,.entry time{color:var(--accent);font-size:12.5px;line-height:1.45;font-weight:560}.entry time{flex:0 0 auto;white-space:nowrap}.entry ul{margin:0;padding-left:18px}.entry li{margin:4px 0}.stack-list{display:grid;gap:16px}.case-index-row{display:grid;grid-template-columns:112px minmax(0,1fr);gap:24px;align-items:start;padding:30px 0;border-top:1px solid var(--hairline);color:inherit;text-decoration:none}.case-index-row:first-child{border-top:0}.case-index-row__meta{display:grid;gap:8px;color:var(--muted);font-family:var(--font-mono);font-size:11.5px}.case-index-row__meta span{color:var(--accent-strong)}.case-index-row h2{margin:0;color:var(--ink);font-size:clamp(22px,2.4vw,29px);line-height:1.28;font-weight:580;letter-spacing:-.025em}.case-index-row__content{min-width:0}.case-index-row p{max-width:680px;margin:12px 0 0;color:var(--muted);font-size:14px;line-height:1.72}.case-index-row__action{display:inline-flex;margin-top:16px;color:var(--accent-strong);font-size:13px;font-weight:620}.case-index-row:hover h2,.case-index-row:hover .case-index-row__action{color:var(--accent)}.case-empty{max-width:760px}.case-empty h2{margin:0;font-size:24px;line-height:1.35;font-weight:590}.case-empty>p:not(.page-kicker){margin:14px 0 0;color:var(--muted);font-size:15px;line-height:1.75}.case-section>p:not(.case-section__label),.case-decisions p,.case-evidence-grid p{margin:0 0 16px;color:var(--muted);font-size:14.5px;line-height:1.78}.case-scope__grid>div,.case-boundaries>div{padding:20px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted)}.case-scope h3,.case-boundaries h3,.case-decisions h3,.case-evidence-grid h3{margin:0;color:var(--ink);font-size:15px;line-height:1.4;font-weight:650}.case-scope ul,.case-boundaries ul,.case-plain-list{margin:14px 0 0;padding-left:20px}.case-scope li,.case-boundaries li,.case-plain-list li{margin:8px 0;color:var(--muted);font-size:14px;line-height:1.68}.case-decisions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-border)}.case-decisions article{padding:20px;background:var(--color-surface)}.case-decisions article:last-child:nth-child(odd){grid-column:1 / -1}.case-decisions p{margin:10px 0 0;font-size:13.5px}.case-boundaries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.case-boundaries>.case-section__label,.case-boundaries>h2{grid-column:1 / -1}.article-workspace{display:grid;grid-template-columns:var(--site-rail) minmax(0,1fr);align-items:start;gap:var(--site-gap);justify-content:center;width:min(var(--site-shell),100%);margin:0 auto}.article-main-card{width:100%;margin:0}.article-workspace:has(.article-directory.is-collapsed){grid-template-columns:48px minmax(0,1fr);width:min(var(--site-shell),100%)}.article-dir-trigger,.article-dir-overlay{display:none}.article-directory{position:sticky;top:72px;z-index:20;width:100%;max-height:calc(100dvh - 88px);overflow:auto;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-surface) 88%,transparent);box-shadow:var(--shadow-subtle);transition:width .2s;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--color-border) 86%,transparent) transparent}.article-directory__head{display:flex;align-items:center;justify-content:flex-end;padding:2px 0 14px;border-bottom:1px solid var(--hairline)}.article-directory__title{margin-right:auto;color:var(--ink);font-size:12.5px;line-height:1.2;font-weight:680;letter-spacing:.04em}.article-directory__collapse,.article-directory__close,.article-dir__toggle{border:0;background:transparent;color:var(--muted);font:inherit;cursor:pointer}.article-directory__collapse,.article-directory__close{min-width:44px;min-height:44px;align-items:center;justify-content:center;padding:5px 8px;border-radius:var(--radius-sm);font-size:12px;font-weight:620}.article-directory__close{display:none}.article-directory__collapse:hover,.article-directory__close:hover,.article-dir__toggle:hover{background:var(--accent-soft);color:var(--accent)}.article-directory__body{padding:4px 0 0}.article-directory.is-collapsed{width:48px;padding:0;overflow:visible}.article-directory.is-collapsed .article-directory__head{display:block;padding:0;border-bottom:0}.article-directory.is-collapsed .article-directory__collapse{width:100%;min-height:74px;border-radius:var(--radius-lg);writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:0}.article-dir__section{border-top:1px solid var(--hairline)}.article-dir__section:first-child{border-top:0}.article-dir__toggle{display:flex;width:100%;min-height:44px;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;text-align:left;font-size:12.5px;line-height:1.2;font-weight:680}.article-dir__chevron{width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-1px);transition:transform .2s}.article-dir__toggle[aria-expanded=false] .article-dir__chevron{transform:rotate(-45deg)}.article-dir__panel{display:grid;gap:2px;padding:0 0 12px}.article-dir__panel[hidden]{display:none}.article-dir__link{position:relative;display:grid;gap:4px;align-content:center;min-width:0;min-height:var(--target-min);padding:6px 0;border:0;border-radius:0;color:var(--muted);font-size:12.5px;line-height:1.45;text-decoration:none;transition:color .2s}.article-dir__link span{min-width:0}.article-dir__link small{color:var(--soft);font-size:11.5px;line-height:1.3}.article-dir__link:hover,.article-dir__tag:hover{color:var(--accent)}.article-dir__link.is-active{color:var(--ink);font-weight:680}.article-dir__link.is-active:before{position:absolute;left:-7px;top:10px;bottom:10px;width:2px;border-radius:999px;background:var(--accent);content:""}.article-dir__tag.is-active{border-color:var(--accent);background:transparent;color:var(--accent-strong)}.article-dir__tags{display:flex;flex-wrap:wrap;gap:6px}.article-dir__tag{display:inline-flex;padding:5px 8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-tag-bg);color:var(--color-tag-text);font-size:12px;line-height:1;font-weight:700;text-decoration:none}.tag-nav a,.inline-tags a,.inline-tags span,.draft-mark{display:inline-flex;align-items:center;padding:5px 8px;border:1px solid color-mix(in srgb,var(--color-border) 86%,transparent);border-radius:var(--radius-sm);background:var(--color-tag-bg);color:var(--color-tag-text);font-size:12px;line-height:1;font-weight:650;text-decoration:none;transition:border-color .2s,color .2s,background .2s}.draft-mark{margin-left:8px;border-color:color-mix(in srgb,var(--warning) 32%,var(--color-border));color:var(--warning)}.project-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:3px 6px;border:1px solid color-mix(in srgb,var(--color-border) 90%,transparent);border-radius:var(--radius-lg);background:var(--color-surface-muted)}.project-toolbar[hidden]{display:none}.project-toolbar__segments{display:flex;flex-wrap:wrap;align-items:center;gap:2px;min-width:0;padding:0;border:1px solid color-mix(in srgb,var(--color-border) 76%,transparent);border-radius:var(--radius-md);background:var(--color-surface)}.project-segment{display:inline-flex;min-height:var(--target-min);align-items:center;gap:7px;padding:4px 13px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--muted);font:inherit;font-size:13px;font-weight:600;line-height:1.2;white-space:nowrap;cursor:pointer;transition:background .18s,color .18s}.project-segment small{color:var(--soft);font-size:11.5px;font-weight:650;line-height:1;transition:color .18s}.project-segment:hover{background:var(--color-surface-muted);color:var(--ink)}.project-segment.is-active{background:var(--accent-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 26%,transparent);color:var(--accent-strong)}.project-segment.is-active small{color:var(--accent)}.project-facet-trigger{display:inline-flex;min-height:var(--target-min);align-items:center;gap:8px;padding:4px 12px;border:1px solid color-mix(in srgb,var(--color-border) 90%,transparent);border-radius:var(--radius-md);background:var(--color-surface);color:var(--ink);font:inherit;font-size:13px;font-weight:600;line-height:1.2;white-space:nowrap;cursor:pointer;transition:border-color .18s,color .18s,background .18s}.project-facet-trigger:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--color-border));color:var(--accent-strong)}.project-facet-trigger[aria-expanded=true]{border-color:color-mix(in srgb,var(--accent) 46%,var(--color-border));background:var(--accent-soft);color:var(--accent-strong)}.project-facet-trigger__count{display:inline-flex;min-width:18px;height:18px;align-items:center;justify-content:center;border-radius:999px;background:var(--accent);color:var(--color-accent-contrast);font-size:11px;font-weight:700;line-height:1}.project-facet-trigger__count[hidden]{display:none}.project-facet-trigger__chevron{width:7px;height:7px;margin-top:-3px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .2s,margin-top .2s}.project-facet-trigger[aria-expanded=true] .project-facet-trigger__chevron{margin-top:3px;transform:rotate(225deg)}.project-facet-panel{display:grid;gap:20px;margin-top:10px;padding:20px 22px 22px;border:1px solid color-mix(in srgb,var(--color-border) 90%,transparent);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-surface)}.project-facet-panel[hidden]{display:none}.project-facet-panel__head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--hairline)}.project-facet-panel__head h2{margin:0;color:var(--ink);font-size:13px;font-weight:680;line-height:1.3}.project-facet-search{display:block;min-width:0}.project-facet-search input{width:100%;min-height:40px;padding:7px 12px;border:1px solid color-mix(in srgb,var(--color-border) 90%,transparent);border-radius:var(--radius-sm);background:var(--color-canvas);color:var(--ink);font:inherit;font-size:13px;line-height:1.2}.project-facet-search input::placeholder{color:var(--soft)}.project-facet-search input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.project-facet-panel__close{display:inline-flex;min-width:44px;min-height:44px;align-items:center;justify-content:center;padding:5px 10px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--muted);font:inherit;font-size:12.5px;font-weight:620;cursor:pointer;transition:background .18s,color .18s}.project-facet-panel__close:hover{background:var(--accent-soft);color:var(--accent-strong)}.project-facet-group{display:grid;gap:10px}.project-facet-group h3{margin:0;color:var(--soft);font-size:11.5px;font-weight:680;letter-spacing:.08em;line-height:1.2}.project-facet-group__chips{display:flex;flex-wrap:wrap;gap:7px}.project-chip{display:inline-flex;min-height:var(--target-min);align-items:center;gap:7px;padding:5px 11px;border:1px solid color-mix(in srgb,var(--color-border) 90%,transparent);border-radius:var(--radius-sm);background:var(--color-canvas);color:var(--muted);font:inherit;font-size:12.5px;font-weight:560;line-height:1.2;cursor:pointer;transition:border-color .18s,background .18s,color .18s}.project-chip small{color:var(--soft);font-size:11px;font-weight:650;line-height:1;transition:color .18s}.project-chip:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--color-border));color:var(--accent-strong)}.project-chip.is-active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong);font-weight:650}.project-chip.is-active small{color:var(--accent)}.project-facet-group[hidden],.project-chip[hidden]{display:none}.project-facet-more{display:inline-flex;min-height:44px;align-items:center;justify-self:start;padding:0;border:0;background:transparent;color:var(--accent);font:inherit;font-size:12.5px;font-weight:620;cursor:pointer}.project-facet-more:hover{text-decoration:underline;text-underline-offset:4px}.project-facet-more[hidden]{display:none}.project-facet-empty{margin:0;color:var(--muted);font-size:13px;line-height:1.7}.project-facet-empty[hidden]{display:none}.project-results-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 16px;margin:14px 0}.project-results-summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin:0}.project-results-summary strong{color:var(--ink);font-size:14px;font-weight:650;line-height:1.4}.project-results-summary span{color:var(--soft);font-size:12.5px;line-height:1.4}.project-results-summary span:empty{display:none}.project-results-reset{position:relative;display:inline-flex;min-height:32px;align-items:center;padding:0;border:0;background:transparent;color:var(--accent);font:inherit;font-size:12.5px;font-weight:620;cursor:pointer}.project-results-reset:after{content:"";position:absolute;inset:-6px -8px}.project-results-reset:hover{text-decoration:underline;text-underline-offset:4px}.project-results-reset[hidden]{display:none}.project-results-note{margin:0 0 18px;color:var(--muted);font-size:13px;line-height:1.7}.project-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 16px;min-width:0}[data-project-card][hidden]{display:none}.project-card{display:block;min-width:0;color:inherit;text-decoration:none;transition:color .18s,transform .18s}.project-card:hover{transform:translateY(-2px)}.project-card p{display:-webkit-box;min-height:42px;margin:0;overflow:hidden;color:var(--muted);font-size:13.5px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2;text-wrap:pretty}.post-row h3{margin:0;color:var(--ink);font-size:17px;line-height:1.35;font-weight:650;text-wrap:pretty}.post-row h3 a{text-decoration:none;transition:color .18s}.post-row h3 a:hover{color:var(--accent)}.post-row p{margin:8px 0 0;color:var(--muted);font-size:13.5px;line-height:1.7}.post-list{display:grid;gap:0;border-top:1px solid var(--hairline)}.post-row{display:block;padding:22px 0;border-bottom:1px solid var(--hairline)}.post-row time{color:var(--muted);font-size:13px;line-height:1.45;font-weight:650}.pagination{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;padding:26px 0 0}.pagination[hidden]{display:none}.pagination__button{display:inline-flex;min-width:34px;min-height:34px;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-elevated);color:var(--muted);font:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:border-color .18s,background .18s,color .18s,transform .18s}.pagination__button:hover,.pagination__button.is-active{border-color:color-mix(in srgb,var(--accent) 42%,var(--color-border));background:var(--accent-soft);color:var(--accent-strong)}.pagination__button:active{transform:translateY(1px)}.share-actions{display:flex;min-height:34px;align-items:center;gap:12px;margin-top:18px}.share-button{display:inline-flex;min-height:var(--target-min);align-items:center;gap:7px;padding:7px 11px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-muted);color:var(--muted);font:inherit;font-size:12.5px;font-weight:680;cursor:pointer;transition:border-color .18s,background .18s,color .18s,transform .18s}.share-button svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.share-button:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--color-border));background:var(--accent-soft);color:var(--accent-strong)}.share-button:active{transform:translateY(1px)}.share-status{color:var(--soft);font-size:12px;line-height:1.4}.prose{max-width:760px;color:var(--ink);font-size:16px;line-height:1.85}.prose :where(h2,h3){color:var(--ink);line-height:1.28;letter-spacing:-.02em;text-wrap:balance}.prose h2{margin:36px 0 12px;font-size:25px}.prose h3{margin:28px 0 10px;font-size:20px}.prose p,.prose ul,.prose ol{margin:0 0 18px}.prose blockquote{margin:0 0 24px;padding:18px 20px;border-left:3px solid var(--accent);border-radius:0 var(--radius-md) var(--radius-md) 0;background:var(--accent-soft);color:var(--muted)}.prose blockquote p{margin:0}.prose blockquote p+p{margin-top:6px}.prose figure{max-width:100%;margin:28px 0}.prose figure img{display:block;max-width:100%;height:auto}.prose li{margin:6px 0}.prose pre{max-width:100%;overflow-x:auto;padding:18px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-canvas-muted);white-space:pre;tab-size:4}.prose pre code{display:block;padding:0;border:0;background:transparent;white-space:inherit;overflow-wrap:normal;word-break:normal}.prose code{padding:2px 6px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-canvas-muted);color:var(--ink);font-family:var(--font-mono);font-size:.86em}.toc{position:sticky;top:76px;align-self:start;display:grid;gap:10px;padding-left:18px;border-left:1px solid var(--color-border)}.toc strong{color:var(--ink);font-size:13px}.toc a{color:var(--muted);font-size:12.5px;line-height:1.45;text-decoration:none}.toc a:hover{color:var(--accent)}@media(max-width:980px){.article-workspace{display:block;width:100%}.article-dir-trigger{position:sticky;top:56px;z-index:45;display:inline-flex;min-height:44px;align-items:center;justify-content:center;margin:0 0 12px;padding:9px 13px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--ink);font-size:13px;font-weight:600;box-shadow:var(--shadow-subtle)}.article-dir-overlay{position:fixed;inset:0;z-index:65;display:block;background:color-mix(in srgb,var(--ink) 28%,transparent)}.article-dir-overlay[hidden]{display:none}.article-directory{position:fixed;inset:0 auto 0 0;z-index:70;width:min(88vw,320px);max-height:none;border:1px solid var(--color-border);border-radius:0 var(--radius-lg) var(--radius-lg) 0;background:var(--color-surface);box-shadow:var(--shadow-surface);transform:translate(-105%);transition:transform .2s ease}.article-directory.is-open{width:min(88vw,320px);padding:12px;transform:translate(0)}.article-directory.is-open .article-directory__head{display:flex;align-items:center;justify-content:flex-end;padding:2px 0 14px;border-bottom:1px solid var(--hairline)}.article-directory__close{display:inline-flex}.article-directory__collapse{display:none}html.has-directory-drawer{overflow:hidden}.project-toolbar{align-items:stretch;gap:8px}.project-toolbar__segments{flex:1 1 auto;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.project-toolbar__segments::-webkit-scrollbar{display:none}.project-facet-trigger{flex:0 0 auto;justify-content:center}.project-facet-panel{padding:18px 18px 20px}.toc{position:static;padding:16px 0 0;border-left:0;border-top:1px solid var(--color-border)}}.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(12px);transition:opacity .5s ease,transform .5s ease}.js .reveal.is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.article-directory,.article-dir__chevron,.home-list__main>span,.github-icon-link,.project-segment,.project-facet-trigger,.project-facet-trigger__chevron,.project-chip,.project-results-reset,.ability,.asset-grid article,.js .reveal{transition:none}}@media(max-width:980px){.site-tab-page{display:block;width:100%;padding-inline:18px}.site-tab-page,.article-page-shell{padding-top:46px;padding-bottom:58px}.site-tab-page>.profile-card{width:min(1120px,100%);margin:0 auto}.site-tab-page>.content-page,.content-page.article-main-card,.article-page.article-main-card{padding:34px 36px 42px}.top,.summary,.core-project,.resume-layout,.content-grid{grid-template-columns:1fr}.home-resume-summary{grid-template-columns:1fr;gap:22px}.home-hero{padding:56px 0 50px}.home-hero h1{font-size:clamp(28px,4vw,34px)}.home-lede{max-width:720px}.home-list article{grid-template-columns:1fr;gap:10px}.contact{justify-content:flex-start}.summary{gap:22px}.ability-grid,.asset-grid,.project-list,.about-paths{grid-template-columns:repeat(2,minmax(0,1fr))}.resume-main,.content-grid>div{border-right:0}}@media(max-width:640px){.page{padding:0 0 32px}.project-list,.about-paths{grid-template-columns:1fr}.top,.summary,.section,.page-head,.article-head,.article-shell,.article-footer{padding-inline:20px}.identity h1{font-size:40px}.summary h2{font-size:24px}.metrics,.ability-grid,.asset-grid,.post-nav{grid-template-columns:1fr}.theme-toggle{flex:0 0 auto;width:38px;height:38px}.entry time{display:block;margin-top:5px}}@media(max-width:640px){.home-case-list,.home-focus ul,.case-scope__grid,.case-decisions,.case-evidence-grid,.case-boundaries,.article-related-cases__list{grid-template-columns:1fr}.case-index-row{grid-template-columns:1fr;gap:12px}.case-index-row__meta{display:flex;flex-wrap:wrap;gap:8px 14px}.case-index-row__action{margin-top:4px}}@media print{.toolbar,.skip-link,.print-hidden{display:none!important}body{background:var(--color-canvas)}.page{padding:0}.resume-card{font-size:10.5px}.top{grid-template-columns:minmax(0,1fr) auto;gap:20px;padding:0 0 10px}.identity h1{font-size:32px}.identity__role{margin-top:6px;font-size:14px}.identity__subtitle{margin-top:3px;font-size:10.5px;line-height:1.4}.contact{max-width:300px;justify-content:flex-end;font-size:9.5px}.contact>*+*{margin-left:8px;padding-left:8px}.summary{gap:0;padding:13px 0 11px}.summary h2{font-size:15px}.summary p{max-width:none;margin-top:4px;font-size:11px;line-height:1.48}.metrics,.loop{display:none}.resume-layout{display:block}.resume-main{border-right:0}.section{padding:9px 0}.section-title{gap:7px;margin-bottom:6px}.section-title span{font-size:8.5px}.section-title h2{font-size:15px}.entry-list{gap:8px}.entry-head{gap:12px;margin-bottom:3px}.entry h3,.stack-list h3{font-size:10.8px;line-height:1.28}.entry-head span,.entry time{font-size:9.3px;line-height:1.3}.entry ul{padding-left:14px}.entry li{margin:1px 0;font-size:9.7px;line-height:1.36}.resume-experience{padding-block:12px}.resume-experience .entry-list{gap:11px}.resume-experience .entry h3{font-size:11.6px}.resume-experience .entry-head span,.resume-experience .entry time{font-size:9.8px}.resume-experience .entry li{margin:2px 0;font-size:10.5px;line-height:1.45}.resume-abilities{display:none!important}.resume-experience .entry--print-break{break-before:page}.resume-experience .entry--print-break:before{display:block;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--color-border);content:"工作经历（续）";font-size:15px;font-weight:700}.resume-projects .entry-list{gap:14px}.resume-projects .entry h3{font-size:11.8px}.resume-projects .entry-head span{font-size:10px}.resume-projects .entry li{margin:3px 0;font-size:10.5px;line-height:1.48}.stack-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 22px}.stack-list p,.side-text,.edu-list{font-size:10.2px;line-height:1.46}.stack-list p{margin-top:3px}.edu-list li{margin:4px 0}.profile-card{border:0;box-shadow:none}.profile-card:before{display:none}.reveal{opacity:1!important;transform:none!important}.ability:hover,.asset-grid article:hover{transform:none;box-shadow:none}a{text-decoration:none}}.site-footer{border-top:1px solid var(--hairline);background:var(--color-canvas)}.site-footer__inner{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:32px;width:min(var(--site-shell),100%);margin:0 auto;padding:44px var(--space-page-x) 32px}@media(max-width:980px){.site-footer__inner{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;padding-inline:18px}}@media(max-width:640px){.site-footer__inner{grid-template-columns:1fr;gap:24px;padding-top:36px}}.portfolio-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;min-width:44px;width:fit-content;color:var(--accent);font-size:13px;line-height:1.6;text-decoration:none}.portfolio-link span[aria-hidden]{transition:transform .18s ease}.portfolio-link:hover span[aria-hidden]{transform:translate(2px,-2px)}.portfolio-link:hover{text-decoration:underline;text-underline-offset:5px}.site-content>.page{padding:58px var(--brand-gutter) 72px;width:100%;max-width:1440px;margin-inline:auto}.site-content .article-workspace{--site-rail: 220px;--site-gap: 36px}.site-content .article-main-card,.site-content .site-tab-page>.content-page{padding:0;border:0;background:transparent;border-radius:0;box-shadow:none}.site-content .article-main-card{overflow:visible}.site-content .article-directory{top:28px;max-height:calc(100dvh - 56px);border-radius:4px;box-shadow:none}.site-content .project-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:32px 22px}.site-content .project-card--text{display:flex;flex-direction:column;justify-content:center;padding:26px;border:1px solid var(--line);border-radius:5px;background:var(--color-canvas-muted)}.site-content .project-card--text p{min-height:0;font-size:13px}.site-content .post-row h2{font:400 25px/1.6 var(--font-serif)}.site-content .post-row h2 a{text-decoration:none}.site-content .post-row h2 a:hover{color:var(--accent);text-decoration:underline}.site-content .article-dir__link small{color:var(--muted)}.site-content .case-section h2[id],.site-content .prose h2[id],.site-content .prose h3[id]{scroll-margin-top:32px}[data-article-card][hidden],[data-project-card][hidden],[data-project-empty][hidden]{display:none!important}.site-content .article-workspace--single{grid-template-columns:minmax(0,1fr)}.content-empty{padding:24px 0;color:var(--muted)}.content-empty h2{margin:0 0 12px;color:var(--ink);font:400 22px/1.6 var(--font-serif)}.content-empty p{margin:0 0 12px;font-size:14px;line-height:1.9}@media(min-width:981px)and (max-width:1200px){.site-content .article-workspace{--site-rail: 180px;--site-gap: 24px}}@media(max-width:980px){.site-content>.page{padding-top:24px}.site-content .article-directory{top:0;max-height:100dvh;border-radius:0 6px 6px 0}.site-content .article-dir-trigger{top:80px}.site-content .case-section h2[id],.site-content .prose h2[id],.site-content .prose h3[id]{scroll-margin-top:140px}}@media(max-width:680px){.site-content .project-list{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.portfolio-link span[aria-hidden]{transition:none}.portfolio-link:hover span[aria-hidden]{transform:none}.project-card,.project-card__media{transition:none}.project-card:hover{transform:none}}@media print{.site-content>.page{padding:0}}.no-js :is(.article-dir-trigger,.article-dir-overlay,.article-directory__head,.article-dir__toggle){display:none}.no-js .article-dir__panel{display:block}.no-js .article-directory{position:static;inset:auto;transform:none;width:100%;max-height:none;overflow:visible;margin-bottom:var(--space-6)}.no-js .article-directory__body{display:block;max-height:none;overflow:visible}@font-face{font-family:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/instrument-serif-italic.woff2) format("woff2")}@font-face{font-family:"Instrument Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/instrument-serif-regular.woff2) format("woff2")}:root{--stitch: repeating-linear-gradient(90deg, currentColor 0 7px, transparent 7px 11px);--weave-fill: repeating-linear-gradient(0deg, color-mix(in srgb, var(--color-canvas) 38%, transparent) 0 1.5px, transparent 1.5px 4.5px), repeating-linear-gradient(90deg, var(--color-accent) 0 3px, color-mix(in srgb, var(--color-accent) 72%, var(--color-text)) 3px 4.5px);--shell-width: var(--site-wide)}body.site{background:var(--color-canvas);color:var(--color-text);font-size:16px}::selection{background:color-mix(in srgb,var(--color-accent) 24%,transparent)}.site-content{min-width:0}.menu-open{overflow:hidden}.seal{display:inline-grid;flex:none;place-items:center;width:32px;height:32px;border-radius:5px;background:var(--color-seal);color:var(--color-canvas);font:500 18px/1 var(--font-display);box-shadow:inset 0 0 0 2px var(--color-seal),inset 0 0 0 3px color-mix(in srgb,var(--color-canvas) 55%,transparent)}.seal--small{width:26px;height:26px;font-size:15px;border-radius:4px}.icon-button{display:inline-grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:999px;background:transparent;color:var(--color-text-muted);cursor:pointer;transition:color var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard)}.icon-button:hover{color:var(--color-text);background:color-mix(in srgb,var(--color-text) 6%,transparent)}.icon-button svg{width:19px;height:19px}.site-header .theme-toggle span{display:none}.lang-switch{width:auto;min-width:44px;padding:0 12px;font-size:13px;letter-spacing:.08em;text-decoration:none}.site-header{position:sticky;top:0;z-index:60;height:var(--site-header);view-transition-name:site-header;transition:background var(--motion-standard) var(--ease-standard),box-shadow var(--motion-standard) var(--ease-standard)}.site-header[data-scrolled]{background:color-mix(in srgb,var(--color-canvas) 84%,transparent);box-shadow:0 1px 0 var(--color-border);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px)}.site-header__inner{display:flex;align-items:center;gap:28px;height:100%;max-width:var(--shell-width);margin-inline:auto;padding-inline:var(--brand-gutter)}.site-mark{display:inline-flex;align-items:center;gap:12px;min-height:44px;color:var(--color-text);text-decoration:none}.site-mark__text{display:grid;line-height:1.05}.site-mark__name{font:500 18px/1.2 var(--font-display);letter-spacing:.08em;white-space:nowrap}.site-mark__roman{color:var(--color-text-muted);font:italic 400 14px/1.1 var(--font-accent);letter-spacing:.01em}.site-mark:hover .seal{transform:rotate(-4deg)}.site-mark .seal{transition:transform var(--motion-standard) var(--ease-expressive)}.site-nav{display:flex;align-items:center;gap:4px;margin-left:auto}.site-nav a,.site-menu__nav a{position:relative;text-decoration:none}.site-nav a{display:inline-flex;align-items:center;min-height:44px;padding-inline:14px;color:var(--color-text-muted);font-size:15px;letter-spacing:.12em;transition:color var(--motion-fast) var(--ease-standard)}.site-nav a:after{content:"";position:absolute;left:14px;right:calc(14px - .12em);bottom:9px;height:1.5px;background:var(--stitch);color:var(--color-accent);clip-path:inset(0 100% 0 0);transition:clip-path var(--motion-standard) var(--ease-expressive)}.site-nav a:hover{color:var(--color-text)}.site-nav a:hover:after,.site-nav a[aria-current=page]:after{clip-path:inset(0 0 0 0)}.site-nav a[aria-current=page]{color:var(--color-text)}.site-actions{display:flex;align-items:center;gap:4px}.site-nav+.site-actions{margin-left:8px}.search-trigger{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 10px 0 14px;border:1px solid var(--color-border);border-radius:999px;background:color-mix(in srgb,var(--color-surface) 70%,transparent);color:var(--color-text-muted);font:inherit;font-size:13px;cursor:pointer;transition:border-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard)}.search-trigger:hover{border-color:var(--color-border-strong);color:var(--color-text)}.search-trigger svg{width:16px;height:16px}kbd,.search-trigger__key{display:inline-flex;align-items:center;min-width:22px;height:22px;padding:0 6px;border:1px solid var(--color-border);border-radius:5px;background:var(--color-canvas);color:var(--color-text-muted);font:500 11px/1 var(--font-mono)}.menu-toggle{display:none}.menu-toggle__bars{display:grid;gap:6px;width:20px}.menu-toggle__bars span{display:block;height:1.5px;background:currentColor;transition:transform var(--motion-standard) var(--ease-expressive)}.site-menu{position:fixed;inset:0 0 0 auto;width:min(84vw,360px);max-width:none;height:100dvh;max-height:none;margin:0;padding:0 var(--brand-gutter) calc(20px + env(safe-area-inset-bottom));border:0;border-left:1px solid var(--color-border);background:var(--color-canvas);color:var(--color-text);box-shadow:-24px 0 60px -30px #00000073;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;transform:translate(var(--drag, 0px))}.site-menu[open]{display:flex;flex-direction:column;gap:24px;animation:drawer-in .32s var(--ease-expressive)}.site-menu:not([data-dragging]){transition:transform .2s var(--ease-standard)}.site-menu.is-closing{animation:drawer-out .22s var(--ease-standard) forwards}.site-menu::backdrop{background:#080e0c61;animation:backdrop-in .32s var(--ease-standard)}.site-menu.is-closing::backdrop{animation:backdrop-out .22s var(--ease-standard) forwards}.site-menu__head{display:flex;align-items:center;justify-content:space-between;min-height:var(--site-header);margin-right:-10px;border-bottom:1px solid var(--color-border)}.site-menu__title{color:var(--color-text-soft);font:500 12px/1 var(--font-mono);letter-spacing:.16em}.site-menu__close svg{width:20px;height:20px}.site-menu__nav{display:grid}.site-menu__nav a{display:flex;align-items:baseline;justify-content:space-between;gap:16px;min-height:52px;padding:13px 0 12px;border-bottom:1px solid color-mix(in srgb,var(--color-border) 75%,transparent);color:var(--color-text);font:500 19px/1.4 var(--font-display);letter-spacing:.08em}.site-menu[open]:not(.is-closing) .site-menu__nav a{animation:menu-in .36s var(--ease-expressive) backwards}.site-menu__nav a:nth-child(2){animation-delay:40ms}.site-menu__nav a:nth-child(3){animation-delay:70ms}.site-menu__nav a:nth-child(4){animation-delay:.1s}.site-menu__nav a:nth-child(5){animation-delay:.13s}.site-menu__nav a:after{content:"";position:absolute;left:0;bottom:-1px;width:3.2em;height:1.5px;background:var(--stitch);color:var(--color-accent);clip-path:inset(0 100% 0 0);transition:clip-path var(--motion-standard) var(--ease-expressive)}.site-menu__nav a[aria-current=page]{color:var(--color-accent-strong)}.site-menu__nav a[aria-current=page]:after,.site-menu__nav a:hover:after{clip-path:inset(0 0 0 0)}.site-menu__roman{color:var(--color-text-soft);font:italic 400 14px/1 var(--font-accent);letter-spacing:0}.site-menu__foot{display:flex;flex-wrap:wrap;gap:0 20px;margin-top:auto;padding-top:12px;border-top:1px dashed var(--color-border)}.site-menu__foot a{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--color-text-muted);font-size:14px;text-decoration:none}.site-menu__foot svg{width:16px;height:16px}@keyframes drawer-in{0%{transform:translate(100%)}}@keyframes drawer-out{to{transform:translate(100%)}}@keyframes backdrop-in{0%{opacity:0}}@keyframes backdrop-out{to{opacity:0}}@keyframes menu-in{0%{opacity:0;transform:translate(16px)}}@media(prefers-reduced-motion:reduce){.site-menu[open],.site-menu::backdrop,.site-menu[open] .site-menu__nav a{animation:none}.site-menu{transition:none}}.no-js :is(.search-trigger,.theme-toggle,.menu-toggle){display:none}@media(max-width:860px){.js .site-nav{display:none}.js .menu-toggle{display:inline-grid}.no-js .site-header{height:auto}.no-js .site-header__inner{flex-wrap:wrap;gap:0 12px;padding-block:10px 2px}.no-js .site-nav{flex-basis:100%;margin-left:-14px;gap:0}.site-actions{margin-left:auto}.search-trigger{width:44px;height:44px;justify-content:center;padding:0;border:0;background:transparent}.search-trigger__label,.search-trigger__key{display:none}.search-trigger svg{width:19px;height:19px}}@media(max-width:380px){.site-mark__roman{display:none}.site-header__inner,.site-mark{gap:8px}.site-actions{gap:0}.lang-switch{padding-inline:6px}}@media(max-width:480px){.js[lang=en] .site-mark{min-width:44px;justify-content:center}.js[lang=en] .site-mark__text{display:none}}.palette{width:min(640px,calc(100% - 32px));max-height:min(560px,calc(100dvh - 96px));margin:max(64px,12vh) auto auto;padding:0;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface-elevated);color:var(--color-text);box-shadow:0 30px 80px -20px #00000059,0 0 0 1px color-mix(in srgb,var(--color-text) 4%,transparent);overflow:hidden}.palette[open]{display:flex;animation:palette-in .22s var(--ease-expressive)}.palette::backdrop{background:color-mix(in srgb,var(--color-canvas) 55%,rgb(0 0 0 / .35));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.palette__panel{display:flex;flex:1;flex-direction:column;min-height:0;width:100%}.palette__field{display:flex;align-items:center;gap:12px;padding:6px 16px;border-bottom:1px solid var(--color-border)}.palette__field svg{width:19px;height:19px;flex:none;color:var(--color-text-muted)}.palette__field input{flex:1;min-width:0;min-height:52px;border:0;background:transparent;color:inherit;font:inherit;font-size:16px;outline:none}.palette__field input::placeholder{color:var(--color-text-soft)}.palette__results{flex:1;min-height:0;margin:0;padding:8px;overflow-y:auto;list-style:none;overscroll-behavior:contain}.palette__group{padding:12px 10px 6px;color:var(--color-text-soft);font:500 11px/1 var(--font-mono);letter-spacing:.12em}.palette__option{display:flex;align-items:baseline;justify-content:space-between;gap:16px;min-height:44px;padding:11px 12px;border-radius:9px;cursor:pointer}.palette__option[aria-selected=true]{background:var(--color-accent-soft)}.palette__option[aria-selected=true] .palette__title{color:var(--color-accent-strong)}.palette__title{min-width:0;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette__detail{flex:none;max-width:45%;overflow:hidden;color:var(--color-text-muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.palette__empty{margin:0;padding:28px 20px;color:var(--color-text-muted);font-size:14px;text-align:center}.palette__foot{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0;padding:10px 16px;border-top:1px solid var(--color-border);color:var(--color-text-soft);font-size:12px}.palette__foot kbd{margin-right:3px}.palette__foot [data-palette-note]{margin-left:auto;color:var(--color-accent)}@keyframes palette-in{0%{opacity:0;transform:translateY(-8px) scale(.985)}}@media(max-width:560px){.palette{margin-top:12px;max-height:calc(100dvh - 24px)}.palette__detail{display:none}.palette__foot span:not([data-palette-note]){display:none}}.site-footer{margin-top:clamp(56px,7vw,96px);border-top:1px solid var(--color-border);background:transparent}.site-footer__inner{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:20px 32px;width:100%;max-width:var(--shell-width);margin-inline:auto;padding:28px var(--brand-gutter) calc(32px + env(safe-area-inset-bottom))}.site-footer__sign{display:flex;flex-wrap:wrap;align-items:center;gap:0 12px}.site-footer__sign p{display:flex;flex-wrap:wrap;gap:4px 14px;margin:0;color:var(--color-text-muted);font-size:13px}.site-footer__resources{display:flex;flex-wrap:wrap;justify-content:flex-end;margin-inline:-10px}.site-footer__resources a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding-inline:10px;color:var(--color-text-muted);font-size:13px;text-decoration:none}.site-footer__resources a:hover{color:var(--color-accent);text-decoration:underline;text-underline-offset:5px}.no-js .self-check{display:none}.self-check summary{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding-inline:4px;color:var(--color-text-soft);font-size:12px;cursor:pointer;list-style:none}.self-check summary::-webkit-details-marker{display:none}.self-check summary:hover,.self-check[open] summary{color:var(--color-text)}.self-check__icon{width:15px;height:15px;color:var(--color-text-soft)}.self-check__tick,.self-check__alert{display:none}.self-check__icon[data-state=pass]{color:var(--color-success)}.self-check__icon[data-state=pass] .self-check__tick{display:inline}.self-check__icon[data-state=warn]{color:var(--color-warning)}.self-check__icon[data-state=warn] .self-check__alert{display:inline}.self-check__body{position:absolute;z-index:20;left:var(--brand-gutter);right:var(--brand-gutter);bottom:calc(100% - 12px);max-height:min(72vh,560px);overflow:auto;padding:20px 24px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface-elevated);box-shadow:0 24px 60px -24px #00000059;overscroll-behavior:contain}.self-check__lede,.self-check__foot{max-width:62ch;margin:0 0 16px;color:var(--color-text-muted);font-size:13px;line-height:1.8}.self-check__foot{margin:16px 0 0;color:var(--color-text-soft);font-size:12px}.self-check__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:0 32px;margin:0;padding:0;list-style:none}.self-check__item{display:grid;grid-template-columns:18px minmax(0,1fr) auto;grid-template-areas:"mark name value" "mark rule rule";gap:2px 10px;padding:10px 0;border-bottom:1px solid color-mix(in srgb,var(--color-border) 70%,transparent)}.self-check__mark{grid-area:mark;color:var(--color-success);font:600 13px/1.5 var(--font-mono)}.self-check__item[data-state=fail] .self-check__mark{color:var(--color-danger)}.self-check__item[data-state=info] .self-check__mark{color:var(--color-text-soft)}.self-check__name{grid-area:name;font-size:13px;line-height:1.5}.self-check__value{grid-area:value;color:var(--color-text);font:500 12px/1.6 var(--font-mono);text-align:right}.self-check__rule{grid-area:rule;color:var(--color-text-soft);font:400 11px/1.4 var(--font-mono)}@media(max-width:720px){.site-footer__inner{grid-template-columns:1fr}.site-footer__resources{justify-content:flex-start}.self-check__list{grid-template-columns:1fr}}.woven-label__ground,.flow-thread__ground{fill:var(--color-canvas-muted)}.woven-label__cloth{fill:var(--label-tone)}.woven-label--accent{--label-tone: var(--color-accent)}.woven-label--ink{--label-tone: var(--color-text)}.woven-label--seal{--label-tone: var(--color-seal)}.woven-label__thread{fill:none;stroke:color-mix(in srgb,var(--color-canvas) 22%,transparent);stroke-width:1.2}.woven-label__dot{fill:color-mix(in srgb,var(--color-canvas) 22%,transparent)}.woven-label__stitch{fill:none;stroke:color-mix(in srgb,var(--color-canvas) 60%,transparent);stroke-width:2;stroke-dasharray:9 7}.woven-label__loose{fill:none;stroke:var(--label-tone);stroke-width:2.5;stroke-linecap:round;opacity:.6}.woven-label__name{fill:var(--color-canvas);font-family:var(--font-display);font-weight:500;letter-spacing:.04em}.woven-label__name.is-latin{font-family:var(--font-accent);font-style:italic;letter-spacing:0}.woven-label__meta{fill:color-mix(in srgb,var(--color-canvas) 75%,transparent);font:500 17px var(--font-mono);letter-spacing:.08em}.woven-label__note,.flow-thread__note{fill:var(--color-text-soft);font:400 14px var(--font-sans)}.flow-thread__warp line{stroke:var(--color-thread);stroke-width:3}.flow-thread__path{fill:none;stroke:var(--color-accent);stroke-width:7;stroke-linecap:round;stroke-linejoin:round}.flow-thread__path--shadow{stroke:color-mix(in srgb,var(--color-text) 16%,transparent);stroke-width:9;transform:translateY(3px)}.flow-thread__node circle{fill:var(--color-canvas);stroke:var(--color-accent);stroke-width:3}.flow-thread__num{fill:var(--color-accent-strong);font:600 14px var(--font-mono)}.flow-thread__stage{fill:var(--color-text);font:500 20px var(--font-display);letter-spacing:.04em}.woven-label--compact .woven-label__note{font-size:18px}@view-transition{navigation:auto}::view-transition-old(root){animation:.16s var(--ease-standard) both vt-out}::view-transition-new(root){animation:.36s var(--ease-expressive) both vt-in}@keyframes vt-out{to{opacity:0}}@keyframes vt-in{0%{opacity:0;transform:translateY(8px)}}@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}.site-menu__nav a,.palette[open]{animation:none}.site-nav a:after,.site-mark .seal,.menu-toggle__bars span{transition:none}}@media print{.site-header,.site-footer,.palette{display:none!important}}
