@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial}}}:root{--c-paper:#e7e4e0;--c-paper-2:#dcd8d3;--c-paper-3:#d0cbc5;--c-ink:#1c1a17;--c-ink-2:#46423d;--c-muted:#635e58;--c-line:#cfc9c2;--c-line-strong:#87817a;--c-accent:#8a3d20;--c-accent-hover:#7a3319;--c-accent-active:#6b2b13;--c-danger:#a6332c;--c-success:#3f6b49;--c-warn:#8f6220;--c-band:#1c1a17;--c-band-ink:#e7e4e0}.dark{--c-paper:#171513;--c-paper-2:#232019;--c-paper-3:#2e2a24;--c-ink:#e9e5df;--c-ink-2:#b6b1a9;--c-muted:#a39c93;--c-line:#38332c;--c-line-strong:#6a635b;--c-accent:#c26a3f;--c-accent-hover:#c97347;--c-accent-active:#d8834f;--c-danger:#e0756c;--c-success:#83ad8d;--c-warn:#c3964f;--c-band:#100e0c;--c-band-ink:#ddd8d1}:root{--surface-page:var(--c-paper);--surface-sunken:var(--c-paper-2);--surface-hover:var(--c-paper-3);--text-primary:var(--c-ink);--text-secondary:var(--c-ink-2);--text-tertiary:var(--c-muted);--text-on-accent:var(--c-paper);--border-hairline:var(--c-line);--border-control:var(--c-line-strong);--accent-default:var(--c-accent);--accent-hover:var(--c-accent-hover);--accent-active:var(--c-accent-active);--accent-subtle:var(--c-accent)}@supports (color:color-mix(in lab, red, red)){:root{--accent-subtle:color-mix(in oklab, var(--c-accent) 12%, transparent)}}:root{--status-draft:var(--c-muted);--status-published:var(--c-ink);--status-scheduled:var(--c-accent);--status-error:var(--c-danger);--paper:var(--surface-page);--paper-2:var(--surface-sunken);--ink:var(--text-primary);--ink-2:var(--text-secondary);--muted:var(--text-tertiary);--band:var(--c-band);--band-ink:var(--c-band-ink);--accent:var(--accent-default);--accent-ink:var(--text-on-accent);--rule:var(--c-ink)}@supports (color:color-mix(in lab, red, red)){:root{--rule:color-mix(in oklab, var(--c-ink) 14%, transparent)}}:root{--selection:var(--c-accent)}@supports (color:color-mix(in lab, red, red)){:root{--selection:color-mix(in oklab, var(--c-accent) 22%, transparent)}}:root{--band-muted:var(--c-band-ink)}@supports (color:color-mix(in lab, red, red)){:root{--band-muted:color-mix(in oklab, var(--c-band-ink) 66%, transparent)}}:root{--footer-muted:var(--c-band-ink)}@supports (color:color-mix(in lab, red, red)){:root{--footer-muted:color-mix(in oklab, var(--c-band-ink) 58%, transparent)}}:root{--accent-on-band:#cb8e72;--hero-ink-ghost:var(--c-ink)}@supports (color:color-mix(in lab, red, red)){:root{--hero-ink-ghost:color-mix(in oklab, var(--c-ink) 22%, transparent)}}:root{--code-bg:#23211c;--code-ink:#ddd9d0;--code-comment:#7e7a71;--code-keyword:#d9a184;--code-string:#a8b98c;--code-number:#c9ab74;--code-title:#cfc0a8;--code-type:#d8c2a2;--code-var:#c2bcb0;--code-meta:#97918a;--code-copy-bg:#ddd9d01f;--code-copy-bg-hover:#ddd9d03d}.dark{--surface-page:var(--c-paper);--surface-sunken:var(--c-paper-2);--surface-hover:var(--c-paper-3);--text-primary:var(--c-ink);--text-secondary:var(--c-ink-2);--text-tertiary:var(--c-muted);--text-on-accent:var(--c-paper);--border-hairline:var(--c-line);--border-control:var(--c-line-strong);--accent-default:var(--c-accent);--accent-hover:var(--c-accent-hover);--accent-active:var(--c-accent-active);--accent-subtle:var(--c-accent)}@supports (color:color-mix(in lab, red, red)){.dark{--accent-subtle:color-mix(in oklab, var(--c-accent) 16%, transparent)}}.dark{--status-draft:var(--c-muted);--status-published:var(--c-ink);--status-scheduled:var(--c-accent);--status-error:var(--c-danger);--paper:var(--surface-page);--paper-2:var(--surface-sunken);--ink:var(--text-primary);--ink-2:var(--text-secondary);--muted:var(--text-tertiary);--band:var(--c-band);--band-ink:var(--c-band-ink);--accent:var(--accent-default);--accent-ink:var(--text-on-accent);--rule:var(--c-ink)}@supports (color:color-mix(in lab, red, red)){.dark{--rule:color-mix(in oklab, var(--c-ink) 16%, transparent)}}.dark{--selection:var(--c-accent)}@supports (color:color-mix(in lab, red, red)){.dark{--selection:color-mix(in oklab, var(--c-accent) 26%, transparent)}}.dark{--band-muted:var(--c-band-ink)}@supports (color:color-mix(in lab, red, red)){.dark{--band-muted:color-mix(in oklab, var(--c-band-ink) 66%, transparent)}}.dark{--footer-muted:var(--c-band-ink)}@supports (color:color-mix(in lab, red, red)){.dark{--footer-muted:color-mix(in oklab, var(--c-band-ink) 58%, transparent)}}.dark{--accent-on-band:var(--c-accent);--hero-ink-ghost:var(--c-ink)}@supports (color:color-mix(in lab, red, red)){.dark{--hero-ink-ghost:color-mix(in oklab, var(--c-ink) 22%, transparent)}}.dark{--code-bg:#1b1916;--code-ink:#ddd9d0;--code-comment:#7e7a71;--code-keyword:#d9a184;--code-string:#a8b98c;--code-number:#c9ab74;--code-title:#cfc0a8;--code-type:#d8c2a2;--code-var:#c2bcb0;--code-meta:#97918a;--code-copy-bg:#ddd9d01f;--code-copy-bg-hover:#ddd9d03d}:root{--page-pad:clamp(20px, 4.5vw, 72px);--page-max:1320px;--page-max-prose:760px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:40px;--space-9:48px;--space-10:64px;--space-11:80px;--space-12:112px;--space-13:160px;--section-y:clamp(56px, 7vw, 112px);--stack-l:var(--space-7);--stack-m:var(--space-4);--stack-s:var(--space-2);--rail-w:40px;--measure:34em;--measure-narrow:22em;--fs-scale:1;--fs-display:calc(clamp(36px, 5.6vw, 64px) * var(--fs-scale));--fs-h:calc(clamp(21px, 2.2vw, 28px) * var(--fs-scale));--fs-body:calc(clamp(16px, 1.05vw, 17px) * var(--fs-scale));--fs-small:calc(14px * var(--fs-scale));--fs-note:calc(13px * var(--fs-scale));--fs-display-zh:var(--fs-display);--fs-h1:var(--fs-h);--fs-h2:var(--fs-h);--fs-h3:var(--fs-body);--fs-lead:var(--fs-body);--fs-micro:var(--fs-note);--font-display:var(--font-noto-serif), "Songti SC", "Noto Serif CJK SC", "SimSun", Georgia, serif;--font-body:"Inter", "Segoe UI Variable Text", "Segoe UI", "PingFang SC", "Microsoft YaHei UI", "Microsoft YaHei", system-ui, -apple-system, sans-serif;--font-code:"Cascadia Mono", "Consolas", ui-monospace, monospace;--radius-s:2px;--radius-m:4px;--radius-pill:999px;--border-w:1px;--shadow-overlay:0 8px 24px -8px #211d1a2e, 0 2px 6px #211d1a0f;--dur-press:.12s;--dur-hover:.18s;--dur-enter:.24s;--dur-route:.32s;--dur-ui:var(--dur-hover);--dur-surface:var(--dur-enter);--dur-exit:var(--dur-hover);--dur-story:.6s;--ease:cubic-bezier(.22, 1, .36, 1);--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-drawer:cubic-bezier(.32, .72, 0, 1);--press-scale:.98;--enter-shift:12px;--viewer-bg:var(--surface-sunken);--viewer-h:min(72vh, 720px);--viewer-h-mobile:48vh;--viewer-radius:var(--radius-m);--viewer-ui:var(--text-secondary);--viewer-progress:var(--accent-default);--viewer-skeleton:var(--c-paper-3)}@media (max-width:767px){:root{--viewer-h:var(--viewer-h-mobile)}}:root{--z-base:0;--z-sticky:30;--z-header:50;--z-overlay:60;--z-dialog:70;--z-toast:80;--dw-bg:#000;--dw-room-top:#15171c;--dw-room-mid:#07080a;--dw-surface:#09090b;--dw-surface-2:#111114;--dw-ink:#f4f4f1;--dw-ink-2:#cbcbc6;--dw-muted:#929293;--dw-line:#ffffff26;--dw-glass-veil:#ffffff0e;--dw-glass-sheen:#ffffff17;--dw-glass-edge:#ffffff1a;--dw-glass-rim:#ffffff0f;--dw-glass-rim-soft:#ffffff0d;--dw-glass-lit:#ffffff24;--dw-glass-drop:#0009;--dw-glass-chip:#0000009e;--dw-glass-chip-strong:#000000c7;--dw-control-shadow:0 1px 6px #0000008c;--dw-line-strong:#fff6;--dw-white:#fff;--dw-black:#000;--dw-fringe-warm:#ffb45c;--dw-fringe-cool:#66b7ff;--dw-fringe-hot:#ff6d9d;--dw-selection:#fff3;--dw-font-display:"Poppins", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", system-ui, sans-serif;--dw-font-body:"Poppins", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", system-ui, sans-serif}.dw-site{--surface-page:var(--dw-bg);--surface-sunken:var(--dw-surface);--surface-hover:var(--dw-surface-2);--text-primary:var(--dw-ink);--text-secondary:var(--dw-ink-2);--text-tertiary:var(--dw-muted);--text-on-accent:var(--dw-bg);--border-hairline:var(--dw-line);--border-control:var(--dw-line-strong);--accent-default:var(--dw-ink);--accent-hover:var(--dw-white);--accent-active:var(--dw-white);--accent-subtle:var(--dw-selection);--status-draft:var(--dw-muted);--status-published:var(--dw-ink);--status-scheduled:var(--dw-ink);--status-error:var(--dw-fringe-hot);--paper:var(--dw-bg);--paper-2:var(--dw-surface);--paper-3:var(--dw-surface-2);--ink:var(--dw-ink);--ink-2:var(--dw-ink-2);--muted:var(--dw-muted);--band:var(--dw-bg);--band-ink:var(--dw-ink);--accent:var(--dw-ink);--accent-ink:var(--dw-bg);--rule:var(--dw-line);--selection:var(--dw-selection);--band-muted:var(--dw-muted);--footer-muted:var(--dw-muted);--accent-on-band:var(--dw-ink);--code-bg:#131316;--code-ink:#ecece8;--code-comment:#8d8d92;--code-keyword:#ffb45c;--code-string:#9ad3a4;--code-number:#83c2ff;--code-title:#f2f2ed;--code-type:#d0c9ff;--code-var:#d6d6d1;--code-meta:#9c9ca0;--code-copy-bg:#ffffff14;--code-copy-bg-hover:#ffffff29;--font-display:var(--dw-font-display);--font-body:var(--dw-font-body);--fs-display:clamp(56px, 7.4vw, 128px);--fs-display-zh:clamp(48px, 7vw, 112px);--fs-h:clamp(24px, 2.9vw, 44px);--fs-h1:var(--fs-h);--fs-h2:var(--fs-h);--fs-h3:clamp(18px, 1.6vw, 22px);--fs-lead:clamp(17px, 1.4vw, 21px);--fs-body:clamp(16px, 1.02vw, 17px);--fs-small:14px;--fs-note:12px;--fs-micro:11px;--page-pad:clamp(20px, 6.95vw, 120px);--page-max:1600px;--page-max-prose:780px;--measure:36em;--measure-narrow:22em;--radius-s:2px;--radius-m:4px;--radius-pill:999px;--shadow-overlay:0 24px 80px #000000b8, 0 2px 12px #00000085;--viewer-bg:var(--dw-surface);--viewer-ui:var(--dw-ink-2);--viewer-progress:var(--dw-ink);--viewer-skeleton:var(--dw-surface-2);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--dw-bg);color:var(--dw-ink)}@media (prefers-reduced-motion:reduce){:root{--enter-shift:0px;--dur-route:1ms;--dur-enter:1ms}}@layer theme{:root,:host{--spacing:.25rem;--font-weight-medium:500;--leading-tight:1.25;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-body);--default-mono-font-family:var(--font-code)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--rule)}html{background:var(--paper);color:var(--ink);scroll-behavior:smooth;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scroll-padding-top:96px}html.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{min-height:100dvh;color:var(--ink);font-family:var(--font-body);font-size:var(--fs-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background:0 0;line-height:1.7;overflow-x:clip}@supports (padding:max(0px)){body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.page-shell{padding-bottom:env(safe-area-inset-bottom)}}::selection{background:var(--selection)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.025em;text-wrap:balance;scroll-margin-top:96px;font-weight:400;line-height:1.08}p{text-wrap:pretty}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}:where(button,[role=button],a[href]):not(:disabled){transition:transform var(--dur-press) var(--ease-out)}:where(button,[role=button],a[href]):not(:disabled):active{transform:scale(.97)}:where(a[href]):active{transform:none}:where(button,[role=button]):not(:disabled):active{transform:scale(.97)}@media (prefers-reduced-motion:reduce){:where(button,[role=button],a[href]):not(:disabled){transition:none}:where(button,[role=button]):not(:disabled):active{opacity:.82;transform:none}}img{max-width:100%;height:auto}code,kbd,pre,samp{font-family:var(--font-code)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}}@layer components{.page-shell{width:100%;max-width:var(--page-max);padding-inline:var(--page-pad);margin-inline:auto}.t-display{font-family:var(--font-display);font-size:var(--fs-display);letter-spacing:-.03em;text-wrap:balance;font-weight:400;line-height:.98}.t-display:lang(zh),.t-display-zh{font-size:var(--fs-display-zh);letter-spacing:.012em;line-height:1.02}.t-h2{font-family:var(--font-display);font-size:var(--fs-h2);letter-spacing:.008em;text-wrap:balance;font-weight:400;line-height:1.32}.t-h3{font-family:var(--font-display);font-size:var(--fs-h3);letter-spacing:-.025em;font-weight:400;line-height:1.35}.t-lead{font-size:var(--fs-lead);letter-spacing:-.011em;text-wrap:pretty;line-height:1.6}.t-body{font-size:var(--fs-body);letter-spacing:-.006em;text-wrap:pretty;line-height:1.75}.t-small{font-size:var(--fs-small);line-height:1.55}.t-note{font-size:var(--fs-note);line-height:1.5}.band{background:var(--band);color:var(--band-ink)}.band-muted{color:var(--band-muted)}.band .link-underline{text-decoration-color:currentColor}@supports (color:color-mix(in lab, red, red)){.band .link-underline{-webkit-text-decoration-color:color-mix(in srgb, currentColor 55%, transparent);-webkit-text-decoration-color:color-mix(in srgb, currentColor 55%, transparent);-webkit-text-decoration-color:color-mix(in srgb, currentColor 55%, transparent);text-decoration-color:color-mix(in srgb, currentColor 55%, transparent)}}@media (hover:hover) and (pointer:fine){.band .link-underline:hover{color:var(--band-ink)}}.text-balance{text-wrap:balance}.btn{border-radius:var(--radius-m);background:var(--ink);min-height:44px;color:var(--paper);font-size:var(--fs-small);letter-spacing:-.005em;transition:background-color var(--dur-ui) var(--ease), color var(--dur-ui) var(--ease), transform var(--dur-ui) var(--ease);justify-content:center;align-items:center;gap:8px;padding-inline:20px;font-weight:500;display:inline-flex}@media (hover:hover) and (pointer:fine){.btn:hover{background:var(--ink-2);color:var(--paper)}}.btn:active{transform:scale(.97)}.btn-accent{background:var(--ink);color:var(--paper)}@media (hover:hover) and (pointer:fine){.btn-accent:hover,.btn:hover{background:var(--ink-2);color:var(--paper)}}.btn-quiet{background:var(--paper-2);color:var(--ink)}@media (hover:hover) and (pointer:fine){.btn-quiet:hover{background:var(--ink);color:var(--paper)}}.link-underline{text-underline-offset:3px;text-decoration-line:underline;text-decoration-color:currentColor;text-decoration-thickness:1px}@supports (color:color-mix(in lab, red, red)){.link-underline{-webkit-text-decoration-color:color-mix(in oklab, currentColor 34%, transparent);-webkit-text-decoration-color:color-mix(in oklab, currentColor 34%, transparent);-webkit-text-decoration-color:color-mix(in oklab, currentColor 34%, transparent);text-decoration-color:color-mix(in oklab, currentColor 34%, transparent)}}.link-underline{transition:color var(--dur-ui) var(--ease), text-decoration-color var(--dur-ui) var(--ease)}@media (hover:hover) and (pointer:fine){.link-underline:hover{color:var(--accent);text-decoration-color:currentColor}}.meta{color:var(--muted);font-size:var(--fs-small);line-height:1.5}.field-label{color:var(--ink-2);font-size:var(--fs-small);margin-bottom:8px;font-weight:500;display:block}.field{width:100%;min-height:48px;color:var(--ink);border:0;border-bottom:2px solid var(--ink);background:0 0;padding:12px 0}@supports (color:color-mix(in lab, red, red)){.field{border-bottom:2px solid color-mix(in srgb, var(--ink) 44%, transparent)}}.field{transition:border-color var(--dur-ui) var(--ease);font-size:max(16px, var(--fs-body));border-radius:0}.field::placeholder{color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.field::placeholder{color:color-mix(in srgb, var(--muted) 80%, transparent)}}.field:focus{border-color:var(--accent);outline:none}.field-area{background:var(--paper-2);border:0;border-bottom:2px solid var(--ink);width:100%;min-height:220px;padding:16px}@supports (color:color-mix(in lab, red, red)){.field-area{border-bottom:2px solid color-mix(in srgb, var(--ink) 44%, transparent)}}.field-area{color:var(--ink);resize:vertical;transition:border-color var(--dur-ui) var(--ease);font-size:max(16px, var(--fs-body));border-radius:0}.field-area::placeholder{color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.field-area::placeholder{color:color-mix(in srgb, var(--muted) 80%, transparent)}}.field-area:focus{border-color:var(--accent);outline:none}.field-error{color:var(--accent);font-size:var(--fs-small);margin-top:8px;line-height:1.45}.prose-blog{color:var(--ink);font-size:var(--fs-body);line-height:1.85}.prose-blog>p,.prose-blog>ul,.prose-blog>ol,.prose-blog>blockquote,.prose-blog>h2,.prose-blog>h3,.prose-blog>h4,.prose-blog>hr{max-width:var(--measure)}.prose-blog pre,.prose-blog table,.prose-blog .code-block,.prose-blog img{max-width:calc(var(--measure) + 16em)}.prose-blog>p:has(>img){max-width:calc(var(--measure) + 16em)}.prose-blog>p:first-of-type:first-letter{float:left;font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin:.04em .1em 0 0;font-size:3.1em;font-weight:800;line-height:.86}.prose-blog>h2+p:first-letter,.prose-blog>h3+p:first-letter{float:none;font-size:inherit;font-weight:inherit;line-height:inherit;margin:0}.prose-blog>*+*{margin-top:1.35em}.prose-blog h2{color:var(--ink);font-size:var(--fs-h);margin-top:2.4em;line-height:1.2}.prose-blog h3{color:var(--ink);font-size:var(--fs-h);margin-top:2em;line-height:1.35}.prose-blog h2:first-child,.prose-blog h3:first-child{margin-top:0}.prose-blog p,.prose-blog ul,.prose-blog ol,.prose-blog blockquote{margin-block:1.35em}.prose-blog a{color:var(--accent);text-underline-offset:4px;text-decoration-line:underline;text-decoration-thickness:1px}.prose-blog strong{color:var(--ink);font-weight:600}.prose-blog ul,.prose-blog ol{padding-left:1.35em}.prose-blog li+li{margin-top:.45em}.prose-blog ul{list-style:square}.prose-blog ol{list-style:decimal}.prose-blog blockquote{border-left:1px solid var(--ink);margin-inline:0;padding-left:clamp(18px,2vw,28px)}@supports (color:color-mix(in lab, red, red)){.prose-blog blockquote{border-left:1px solid color-mix(in oklab, var(--ink) 32%, transparent)}}.prose-blog blockquote{color:var(--ink-2);letter-spacing:0;font-size:1.15em;line-height:1.65}.prose-blog blockquote p{margin:0}.prose-blog :not(pre)>code{background:var(--paper-2);color:var(--ink);padding:.15em .38em;font-size:.88em}.prose-blog pre{background:var(--code-bg);color:var(--code-ink);font-size:var(--fs-small);tab-size:2;padding:22px;line-height:1.7;overflow-x:auto}.prose-blog pre code{color:inherit;font-size:inherit;background:0 0;padding:0}.prose-blog table{border-collapse:collapse;width:100%;font-size:var(--fs-small);line-height:1.6}.prose-blog th,.prose-blog td{border-bottom:1px solid var(--rule);text-align:left;vertical-align:top;padding:10px 12px}.prose-blog th{color:var(--ink);font-weight:600}.prose-blog img{cursor:zoom-in;width:100%;margin-block:2.2rem}.prose-blog img+p:has(>em:only-child){color:var(--muted);font-size:var(--fs-note);margin-top:-1.4rem;line-height:1.5}.prose-blog .code-block+p:has(>em:only-child){color:var(--muted);font-size:var(--fs-note);margin-top:-1.4rem;line-height:1.5}.prose-blog img+p:has(>em:only-child) em{font-style:normal}.prose-blog hr{background:var(--accent);border:0;width:72px;height:4px;margin:3rem 0}.prose-blog input[type=checkbox]{accent-color:var(--accent);margin-right:8px}.prose-blog .heading-anchor{color:var(--muted);opacity:0;transition:opacity var(--dur-ui) var(--ease), color var(--dur-ui) var(--ease);margin-left:.35em;font-family:inherit;font-size:.55em;font-weight:400;text-decoration:none}.prose-blog .heading-anchor:focus-visible{opacity:1}@media (hover:hover) and (pointer:fine){.prose-blog h2:hover .heading-anchor,.prose-blog h3:hover .heading-anchor{opacity:1}}.code-block{margin-block:1.6em;position:relative}.code-block pre{margin:0;padding-top:44px}.code-copy{background:var(--code-copy-bg);min-height:34px;color:var(--code-ink);font-size:var(--fs-note);transition:background-color var(--dur-ui) var(--ease);padding:4px 10px;position:absolute;top:10px;right:10px}@media (hover:hover) and (pointer:fine){.code-copy:hover{background:var(--code-copy-bg-hover)}}.hljs-comment,.hljs-quote{color:var(--code-comment)}.hljs-keyword,.hljs-selector-tag,.hljs-literal{color:var(--code-keyword)}.hljs-string,.hljs-attr,.hljs-template-variable{color:var(--code-string)}.hljs-number,.hljs-symbol,.hljs-bullet{color:var(--code-number)}.hljs-title,.hljs-section,.hljs-built_in{color:var(--code-title)}.hljs-type,.hljs-class .hljs-title{color:var(--code-type)}.hljs-variable,.hljs-params{color:var(--code-var)}.hljs-meta{color:var(--code-meta)}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.search-mark{background:var(--selection);color:var(--ink);padding:0 2px}.footer-muted{color:var(--footer-muted)}.site-footer{color:var(--ink);background:0 0}.footer-inner{max-width:720px}.footer-link{color:inherit;text-underline-offset:4px;transition:color var(--dur-ui) var(--ease), text-decoration-color var(--dur-ui) var(--ease);text-decoration-line:underline;text-decoration-color:#0000;text-decoration-thickness:1px}@media (hover:hover) and (pointer:fine){.footer-link:hover{color:var(--accent);text-decoration-color:currentColor}}.admin-nav-link{min-height:44px;color:var(--ink-2);font-size:var(--fs-small);transition:background-color var(--dur-ui) var(--ease), color var(--dur-ui) var(--ease);align-items:center;gap:12px;padding-inline:14px;display:flex}@media (hover:hover) and (pointer:fine){.admin-nav-link:hover{background:var(--paper-2);color:var(--ink)}}.admin-nav-link[data-active=true]{background:var(--paper-2);color:var(--accent)}.admin-table{border-collapse:collapse;width:100%;font-size:var(--fs-small)}.admin-table th,.admin-table td{border-bottom:1px solid var(--rule);text-align:left;vertical-align:middle;padding:14px 12px}.admin-table th{color:var(--muted);font-size:var(--fs-note);font-weight:500}.admin-table tbody tr{transition:background-color var(--dur-ui) var(--ease)}@media (hover:hover) and (pointer:fine){.admin-table tbody tr:hover{background:var(--paper-2)}}.admin-tab{min-height:40px;color:var(--muted);font-size:var(--fs-small);transition:color var(--dur-ui) var(--ease);padding:8px 0}.admin-tab[data-active=true]{color:var(--ink);text-underline-offset:6px;text-decoration-line:underline;text-decoration-thickness:2px;-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.status-published{color:var(--accent)}.status-draft{color:var(--muted)}}@layer utilities{.\!visible{visibility:visible!important}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-3{top:calc(var(--spacing) * 3)}.right-0{right:0}.right-2{right:calc(var(--spacing) * 2)}.left-4{left:calc(var(--spacing) * 4)}.z-10{z-index:10}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows), 0 3px 0 var(--tw-prose-kbd-shadows);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.prose{--tw-prose-body:#364153;--tw-prose-headings:#101828;--tw-prose-lead:#4a5565;--tw-prose-links:#101828;--tw-prose-bold:#101828;--tw-prose-counters:#6a7282;--tw-prose-bullets:#d1d5dc;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#101828;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6a7282;--tw-prose-kbd:#101828;--tw-prose-kbd-shadows:#1018281a;--tw-prose-code:#101828;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1e2939;--tw-prose-th-borders:#d1d5dc;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5dc;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#99a1af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#99a1af;--tw-prose-invert-bullets:#4a5565;--tw-prose-invert-hr:#364153;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#364153;--tw-prose-invert-captions:#99a1af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5dc;--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:#4a5565;--tw-prose-invert-td-borders:#364153;font-size:1rem;line-height:1.75}@supports (color:lab(0% 0 0)){.prose{--tw-prose-body:lab(27.1134% -.956401 -12.3224);--tw-prose-headings:lab(8.11897% .811279 -12.254);--tw-prose-lead:lab(35.6337% -1.58697 -10.8425);--tw-prose-links:lab(8.11897% .811279 -12.254);--tw-prose-bold:lab(8.11897% .811279 -12.254);--tw-prose-counters:lab(47.7841% -.393182 -10.0268);--tw-prose-bullets:lab(85.1236% -.612259 -3.7138);--tw-prose-hr:lab(91.6229% -.159115 -2.26791);--tw-prose-quotes:lab(8.11897% .811279 -12.254);--tw-prose-quote-borders:lab(91.6229% -.159115 -2.26791);--tw-prose-captions:lab(47.7841% -.393182 -10.0268);--tw-prose-kbd:lab(8.11897% .811279 -12.254);--tw-prose-kbd-shadows:lab(8.11897% .811279 -12.254/.1);--tw-prose-code:lab(8.11897% .811279 -12.254);--tw-prose-pre-code:lab(91.6229% -.159115 -2.26791);--tw-prose-pre-bg:lab(16.1051% -1.18239 -11.7533);--tw-prose-th-borders:lab(85.1236% -.612259 -3.7138);--tw-prose-td-borders:lab(91.6229% -.159115 -2.26791);--tw-prose-invert-body:lab(85.1236% -.612259 -3.7138);--tw-prose-invert-lead:lab(65.9269% -.832707 -8.17473);--tw-prose-invert-counters:lab(65.9269% -.832707 -8.17473);--tw-prose-invert-bullets:lab(35.6337% -1.58697 -10.8425);--tw-prose-invert-hr:lab(27.1134% -.956401 -12.3224);--tw-prose-invert-quotes:lab(96.1596% -.0823438 -1.13575);--tw-prose-invert-quote-borders:lab(27.1134% -.956401 -12.3224);--tw-prose-invert-captions:lab(65.9269% -.832707 -8.17473);--tw-prose-invert-pre-code:lab(85.1236% -.612259 -3.7138);--tw-prose-invert-th-borders:lab(35.6337% -1.58697 -10.8425);--tw-prose-invert-td-borders:lab(27.1134% -.956401 -12.3224)}}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-14{margin-top:calc(var(--spacing) * 14)}.mb-0{margin-bottom:0}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.aspect-\[4\/3\]{aspect-ratio:4/3}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-9{height:calc(var(--spacing) * 9)}.h-11{height:calc(var(--spacing) * 11)}.h-\[17px\]{height:17px}.h-\[64px\]{height:64px}.h-\[120px\]{height:120px}.h-auto{height:auto}.h-full{height:100%}.min-h-\[70svh\]{min-height:70svh}.min-h-\[120px\]{min-height:120px}.min-h-\[520px\]{min-height:520px}.min-h-svh{min-height:100svh}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-9{width:calc(var(--spacing) * 9)}.w-11{width:calc(var(--spacing) * 11)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-\[17px\]{width:17px}.w-\[120px\]{width:120px}.w-\[160px\]{width:160px}.w-full{width:100%}.max-w-\[42ch\]{max-width:42ch}.max-w-\[420px\]{max-width:420px}.max-w-\[900px\]{max-width:900px}.min-w-0{min-width:0}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[1fr_96px\]{grid-template-columns:1fr 96px}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:var(--spacing)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-7{gap:calc(var(--spacing) * 7)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-10{gap:calc(var(--spacing) * 10)}.gap-12{gap:calc(var(--spacing) * 12)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-10>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 10) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 10) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-8{column-gap:calc(var(--spacing) * 8)}.gap-y-9{row-gap:calc(var(--spacing) * 9)}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-\[var\(--radius-m\)\]{border-radius:var(--radius-m)}.rounded-\[var\(--radius-s\)\]{border-radius:var(--radius-s)}.border{border-style:var(--tw-border-style);border-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-\[var\(--dw-line\)\]{border-color:var(--dw-line)}.bg-\[var\(--dw-surface\)\]{background-color:var(--dw-surface)}.bg-\[var\(--dw-surface-2\)\]{background-color:var(--dw-surface-2)}.bg-ink{background-color:var(--ink)}.bg-paper-2{background-color:var(--paper-2)}.object-cover{object-fit:cover}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-24{padding-block:calc(var(--spacing) * 24)}.pr-12{padding-right:calc(var(--spacing) * 12)}.pl-4{padding-left:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-right{text-align:right}.font-\[family-name\:var\(--font-display\)\],.font-serif{font-family:var(--font-display)}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[26px\]{font-size:26px}.text-\[clamp\(26px\,3vw\,36px\)\]{font-size:clamp(26px,3vw,36px)}.text-\[clamp\(28px\,3\.4vw\,42px\)\]{font-size:clamp(28px,3.4vw,42px)}.text-\[clamp\(30px\,3\.2vw\,42px\)\]{font-size:clamp(30px,3.2vw,42px)}.text-\[clamp\(64px\,11vw\,144px\)\]{font-size:clamp(64px,11vw,144px)}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.leading-\[0\.85\]{--tw-leading:.85;line-height:.85}.leading-none{--tw-leading:1;line-height:1}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.tracking-\[-0\.03em\]{--tw-tracking:-.03em;letter-spacing:-.03em}.tracking-\[-0\.05em\]{--tw-tracking:-.05em;letter-spacing:-.05em}.text-wrap{text-wrap:wrap}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.text-\[var\(--dw-ink\)\]{color:var(--dw-ink)}.text-\[var\(--dw-ink-2\)\]{color:var(--dw-ink-2)}.text-\[var\(--dw-muted\)\]{color:var(--dw-muted)}.text-accent{color:var(--accent)}.text-ink{color:var(--ink)}.text-ink-2{color:var(--ink-2)}.text-muted{color:var(--muted)}.text-paper{color:var(--paper)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.accent-\[var\(--accent\)\]{accent-color:var(--accent)}.accent-\[var\(--dw-ink\)\]{accent-color:var(--dw-ink)}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}@media (hover:hover){.hover\:border-\[var\(--dw-line-strong\)\]:hover{border-color:var(--dw-line-strong)}.hover\:bg-paper-2:hover{background-color:var(--paper-2)}.hover\:text-\[var\(--dw-ink\)\]:hover{color:var(--dw-ink)}.hover\:text-muted:hover{color:var(--muted)}}.focus\:not-sr-only:focus{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.focus\:fixed:focus{position:fixed}.focus\:top-4:focus{top:calc(var(--spacing) * 4)}.focus\:left-4:focus{left:calc(var(--spacing) * 4)}.focus\:z-\[100\]:focus{z-index:100}.focus\:bg-ink:focus{background-color:var(--ink)}.focus\:px-4:focus{padding-inline:calc(var(--spacing) * 4)}.focus\:py-2:focus{padding-block:calc(var(--spacing) * 2)}.focus\:text-paper:focus{color:var(--paper)}.disabled\:opacity-60:disabled{opacity:.6}@media (min-width:40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-\[160px_1fr\]{grid-template-columns:160px 1fr}}@media (min-width:48rem){.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:64rem){.lg\:block{display:block}.lg\:hidden{display:none}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-\[minmax\(0\,1fr\)_320px\]{grid-template-columns:minmax(0,1fr) 320px}}.hero-title{position:relative}.hero-glyph{vertical-align:top;margin-block:-.05em -.07em;padding-block:.05em .07em;display:inline-block;position:relative;overflow:hidden}.hero-title[data-ready=true] .hero-glyph{overflow:visible}.hero-glyph-in{display:block}.hero-glyph-char{transform-origin:50% 82%;will-change:transform;display:block}.has-js .hero-glyph-in{animation:glyph-rise var(--dur-story) var(--ease-out) forwards;animation-delay:calc(var(--boot-lead,0s) + var(--i) * 34ms + 40ms);transform:translateY(112%)}@keyframes glyph-rise{to{transform:translateY(0)}}.has-js [data-reveal]{opacity:0;transition:opacity .32s var(--ease-out), transform .32s var(--ease-out);transform:translateY(12px)}.has-js [data-reveal].is-visible{opacity:1;transform:none}.has-js [data-reveal]:nth-of-type(2){transition-delay:60ms}.has-js [data-reveal]:nth-of-type(3){transition-delay:.12s}.has-js [data-reveal]:nth-of-type(4){transition-delay:.18s}.has-js [data-reveal]:nth-of-type(n+5){transition-delay:.24s}.reveal-delay-1{transition-delay:80ms!important}.reveal-delay-2{transition-delay:.16s!important}@keyframes quote-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.quote-in{animation:quote-in .42s var(--ease) both}@keyframes modal-panel-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.modal-panel{animation:modal-panel-in .32s var(--ease) both}@media (prefers-reduced-motion:reduce){.modal-panel{animation:none}}@media (prefers-reduced-motion:no-preference){::view-transition-old(root){animation:vt-page-out .32s var(--ease-in-out) both}::view-transition-new(root){animation:vt-page-in .42s var(--ease-out) both}::view-transition-group(*){animation-duration:.32s;animation-timing-function:var(--ease-in-out)}}[data-vt=running]:after{content:"";z-index:96;background:var(--ink);height:1px;transform:scaleX(var(--vt-progress,0));transform-origin:0;opacity:.55;pointer-events:none;inset-inline:0;position:fixed;bottom:0}[data-vt=running]:before{content:"拾光集";z-index:96;font-family:var(--font-display);font-size:var(--fs-note);letter-spacing:.18em;color:var(--ink);opacity:.5;pointer-events:none;text-shadow:1px 0 0 var(--ink), -1px 1px 0 var(--ink);font-weight:700;position:fixed;bottom:18px;left:50%;translate:-50%}@supports (color:color-mix(in lab, red, red)){[data-vt=running]:before{text-shadow:1px 0 0 color-mix(in oklab, var(--ink) 35%, transparent), -1px 1px 0 color-mix(in oklab, var(--ink) 22%, transparent)}}[data-vt-takeover]::view-transition-old(root){animation:vt-page-out .12s var(--ease-out) both}@keyframes vt-page-out{0%{opacity:1}to{opacity:0}}@keyframes vt-page-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:no-preference){html[data-theme-vt]::view-transition-old(root){animation:none}html[data-theme-vt]::view-transition-new(root){animation:theme-reveal .48s var(--ease) both}}@keyframes theme-reveal{0%{clip-path:circle(0 at var(--vt-x,50%) var(--vt-y,50%))}to{clip-path:circle(150vmax at var(--vt-x,50%) var(--vt-y,50%))}}@media (prefers-reduced-motion:reduce){.has-js .hero-glyph-in{animation:none;transform:none}.hero-glyph-char{text-shadow:none!important;transform:none!important}.has-js [data-reveal]{opacity:1;transition:none;transform:none}.quote-in{animation:none}}.post-row{transition:background-color var(--dur-ui) var(--ease);position:relative}.post-row:before{content:"";background:var(--ink);transform-origin:50%;width:2px;transition:transform var(--dur-ui) var(--ease-out);position:absolute;top:4px;bottom:4px;left:0;transform:scaleY(0)}.post-row-title{transition:color var(--dur-ui) var(--ease)}@media (hover:hover) and (pointer:fine){.post-row:hover{background:var(--paper-2)}.post-row:hover:before{transform:scaleY(1)}.post-row:hover .post-row-title{color:var(--ink-2)}}.post-row:focus-visible{background:var(--paper-2)}.post-row:focus-visible:before{transform:scaleY(1)}.copy-link{height:30px;color:var(--muted);font-size:var(--fs-note);white-space:nowrap;transition:background-color var(--dur-ui) var(--ease), color var(--dur-ui) var(--ease);background:0 0;align-items:center;padding:0 10px;display:inline-flex}@media (hover:hover) and (pointer:fine){.copy-link:hover{background:var(--selection);color:var(--accent)}}.card-media-img{transition:transform .42s var(--ease-out)}@media (hover:hover) and (pointer:fine){.group:hover .card-media-img{transform:scale(1.028)}}@media (prefers-reduced-motion:reduce){.card-media-img{transition:none}@media (hover:hover) and (pointer:fine){.group:hover .card-media-img{filter:brightness(1.04);transform:none}}}@media print{.site-header,.site-masthead,.site-footer,.no-print{display:none!important}body{color:#000;background:#fff;font-size:12pt}.prose-blog,.prose-blog a{color:#000}}}.backdrop{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.backdrop-grain{opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");background-size:140px 140px;position:absolute;inset:0}.dark .backdrop-grain{opacity:.035}html[data-backdrop=off] .backdrop{display:none}.boot-overlay{z-index:95;background:var(--paper);overscroll-behavior:contain;place-items:center;display:none;position:fixed;inset:0;overflow:hidden}.boot-overlay[data-playing]{display:grid}html.booting,html.booting body{overflow:hidden}.boot-stack{animation:boot-settle .5s var(--ease-out) .9s both;place-items:center;display:grid;position:relative}.boot-layer{white-space:nowrap;font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(40px,11vw,132px);line-height:1;font-weight:calc(320 + var(--layer) * 160);color:var(--ink);grid-area:1/1;justify-content:center;gap:.02em;display:flex}@supports (color:color-mix(in lab, red, red)){.boot-layer{color:color-mix(in oklab, var(--ink) calc(92% - var(--layer) * 20%), transparent)}}.boot-layer{transform:translate(calc(var(--layer) * 4px + var(--layer) * var(--layer) * .9px), calc(var(--layer) * 1.4px - var(--layer) * var(--layer) * .4px))}.boot-layer:first-child{clip-path:inset(100% 0 0);animation:.4s cubic-bezier(.16,1,.3,1) both boot-reveal}.boot-layer:nth-child(2){animation:boot-lift .7s var(--ease-out) .2s both}.boot-layer:nth-child(3){animation:boot-lift .7s var(--ease-out) .26s both}.boot-layer:nth-child(4){animation:boot-lift .7s var(--ease-out) .32s both}.boot-glyph{display:block}@keyframes boot-reveal{0%{clip-path:inset(100% 0 0)}to{clip-path:inset(0)}}@keyframes boot-lift{0%{opacity:0;translate:0 12px}to{translate:0}}@keyframes boot-settle{0%{scale:1.02}to{scale:1}}.boot-overlay[data-playing]{animation:.6s cubic-bezier(.76,0,.24,1) 1.4s both boot-unveil}@keyframes boot-unveil{0%{clip-path:inset(0);translate:0}to{clip-path:inset(0 0 100%);translate:0 -2%}}.boot-overlay[data-skipping]{animation:boot-skip .22s var(--ease-out) both!important}@keyframes boot-skip{to{opacity:0;clip-path:inset(0 0 100%);translate:0 -1.5%}}@media (prefers-reduced-motion:reduce){.boot-overlay,.boot-overlay[data-playing]{display:none!important}}@media print{.boot-overlay,.backdrop{display:none}}.daylight-horizon{stroke:var(--rule);stroke-width:1px}.daylight-track{stroke:var(--ink)}@supports (color:color-mix(in lab, red, red)){.daylight-track{stroke:color-mix(in oklab, var(--ink) 16%, transparent)}}.daylight-track{stroke-width:1.5px}.daylight-elapsed{stroke:var(--accent);stroke-width:2px;stroke-linecap:round;transition:d .9s var(--ease)}.daylight-halo{fill:var(--accent)}@supports (color:color-mix(in lab, red, red)){.daylight-halo{fill:color-mix(in oklab, var(--accent) 16%, transparent)}}.daylight-sun{fill:var(--accent);transition:cx .9s var(--ease), cy .9s var(--ease)}@media (prefers-reduced-motion:reduce){.daylight-elapsed,.daylight-sun{transition:none}}.daylight-arc-on-paper .daylight-horizon{stroke:var(--paper)}@supports (color:color-mix(in lab, red, red)){.daylight-arc-on-paper .daylight-horizon{stroke:color-mix(in oklab, var(--paper) 30%, transparent)}}.daylight-arc-on-paper .daylight-track{stroke:var(--paper)}@supports (color:color-mix(in lab, red, red)){.daylight-arc-on-paper .daylight-track{stroke:color-mix(in oklab, var(--paper) 40%, transparent)}}.daylight-arc-on-paper .daylight-elapsed{stroke:var(--paper)}.daylight-arc-on-paper .daylight-sun,.daylight-arc-on-paper .daylight-halo{fill:var(--paper)}@supports (color:color-mix(in lab, red, red)){.daylight-arc-on-paper .daylight-halo{fill:color-mix(in oklab, var(--paper) 22%, transparent)}}.appearance-scrim{background:var(--ink)}@supports (color:color-mix(in lab, red, red)){.appearance-scrim{background:color-mix(in oklab, var(--ink) 32%, transparent)}}.appearance-scrim{animation:.2s both appearance-scrim-in}.appearance-panel{animation:appearance-panel-in .28s var(--ease) both}@keyframes appearance-scrim-in{0%{opacity:0}to{opacity:1}}@keyframes appearance-panel-in{0%{transform:translate(100%)}to{transform:none}}@media (prefers-reduced-motion:reduce){.appearance-scrim,.appearance-panel{animation:none}}.hero-lead{background:var(--paper-2);width:100%;height:clamp(220px,34vh,380px);display:block;position:relative;overflow:hidden}.hero-lead-image{object-fit:cover;width:100%;height:100%;transition:transform var(--dur-surface) var(--ease-out)}.hero-lead-caption{color:#f7f4f0;font-size:var(--fs-note);letter-spacing:0;inset-inline:0;background:linear-gradient(#0000,#0000009e);background:linear-gradient(#0000,lab(0% 0 0/.62));padding:48px 20px 16px;line-height:1.5;position:absolute;bottom:0}.hero-index{border-top:1px solid var(--rule);grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.3vw,20px);margin-top:clamp(12px,1.4vw,18px);padding-top:clamp(12px,1.4vw,18px);display:grid}.hero-index-item{color:var(--ink-2);transition:color var(--dur-ui) var(--ease);align-items:baseline;gap:10px;display:flex}.hero-index-num{color:var(--muted);font-size:var(--fs-note);letter-spacing:.06em;transition:color var(--dur-ui) var(--ease)}.hero-index-text{font-size:var(--fs-small);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.45;display:-webkit-box;overflow:hidden}@media (hover:hover) and (pointer:fine){.hero-lead:hover .hero-lead-image{transform:scale(1.02)}.hero-index-item:hover,.hero-index-item:hover .hero-index-num{color:var(--ink)}}@media (max-width:767px){.hero-film{scroll-snap-type:x mandatory;scrollbar-width:none;gap:10px;padding-bottom:4px;display:flex;overflow-x:auto}.hero-film::-webkit-scrollbar{display:none}.hero-film-item{aspect-ratio:3/4;background:var(--paper-2);scroll-snap-align:start;flex:0 0 42%;overflow:hidden}}@media (prefers-reduced-motion:reduce){.hero-lead-image{transition:none}}.tuner-seg{min-height:44px;color:var(--ink-2);background:var(--paper-2);transition:background-color var(--dur-ui) var(--ease), color var(--dur-ui) var(--ease);align-items:center;padding-inline:16px;display:inline-flex}@media (hover:hover) and (pointer:fine){.tuner-seg:hover{color:var(--ink);background:var(--ink)}@supports (color:color-mix(in lab, red, red)){.tuner-seg:hover{background:color-mix(in oklab, var(--ink) 10%, var(--paper-2))}}}.tuner-seg.is-active{color:var(--ink);background:var(--ink)}@supports (color:color-mix(in lab, red, red)){.tuner-seg.is-active{background:color-mix(in oklab, var(--ink) 12%, var(--paper-2))}}.tuner-label{font-size:var(--fs-note);letter-spacing:.08em;color:var(--muted)}.site-masthead{width:100%;max-width:var(--page-max);padding:26px var(--page-pad) 14px;align-items:baseline;gap:40px;margin-inline:auto;display:none}@media (min-width:1024px){.site-masthead{justify-content:space-between;display:flex}}.masthead-brand{font-family:var(--font-display);font-size:var(--fs-h);letter-spacing:.16em;color:var(--ink);transition:color var(--dur-ui) var(--ease);line-height:1.2;text-decoration:none}.masthead-brand:hover{color:var(--ink-2)}.masthead-nav{font-size:var(--fs-small);align-items:baseline;gap:28px;display:flex}.masthead-nav a,.masthead-nav button{color:var(--ink-2);transition:color var(--dur-ui) var(--ease);text-decoration:none}.masthead-nav a[aria-current=page]{color:var(--accent)}@media (hover:hover) and (pointer:fine){.masthead-nav a:hover,.masthead-nav button:hover{color:var(--ink)}.masthead-nav a[aria-current=page]:hover{color:var(--accent)}}.masthead-tools{color:var(--muted);align-items:center;gap:14px;display:flex}.rail-label{writing-mode:vertical-rl;text-orientation:upright;font-family:var(--font-display);font-size:var(--fs-small);letter-spacing:.52em;color:var(--accent);-webkit-user-select:none;user-select:none;padding-top:14px;line-height:1}@media (max-width:767px){.rail-label{writing-mode:horizontal-tb;letter-spacing:.3em;padding-top:0}}.sheet{display:block}.plate{grid-template-columns:minmax(0,1fr) 236px;align-items:end;gap:clamp(20px,3vw,40px);margin:0;display:grid}@media (max-width:1023px){.plate{grid-template-columns:minmax(0,1fr)}}.plate img{width:100%;height:auto;display:block}.plate-cap{padding-bottom:4px}.plate-cap .k{font-size:var(--fs-note);letter-spacing:.1em;color:var(--accent);margin-bottom:10px;display:block}.plate-cap .t{font-family:var(--font-display);font-size:var(--fs-h);margin-bottom:8px;line-height:1.6;display:block}.plate-cap .m{font-size:var(--fs-note);color:var(--muted);line-height:1.9;display:block}.idx{margin:0;padding:0;list-style:none}.idx li+li{margin-top:4px}.idx-link{color:var(--ink);grid-template-columns:76px minmax(0,1fr) 172px;align-items:baseline;gap:clamp(14px,2.4vw,34px);padding:22px 0;text-decoration:none;display:grid}@media (max-width:767px){.idx-link{grid-template-columns:minmax(0,1fr);gap:4px;padding:18px 0}}.idx-year{font-size:var(--fs-note);letter-spacing:.06em;color:var(--accent);white-space:nowrap}.idx-title{font-family:var(--font-display);font-size:var(--fs-h);letter-spacing:.01em;transition:color var(--dur-ui) var(--ease);line-height:1.45}.idx-role{font-size:var(--fs-note);color:var(--muted);text-align:right;line-height:1.8}@media (max-width:767px){.idx-role{text-align:left}}.idx-link--two{grid-template-columns:76px minmax(0,1fr)}@media (max-width:767px){.idx-link--two{grid-template-columns:minmax(0,1fr)}}@media (hover:hover) and (pointer:fine){.idx-link:hover .idx-title{color:var(--accent)}}.idx-link:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.colophon{background:var(--band);color:var(--band-ink);margin-top:clamp(40px,6vw,88px)}.colophon-inner{max-width:var(--page-max);padding:clamp(48px, 6vw, 88px) var(--page-pad) clamp(36px, 4vw, 56px);margin-inline:auto}.colophon .rail-label{color:var(--accent-on-band)}.colophon-title{font-family:var(--font-display);font-size:var(--fs-display);letter-spacing:.06em;margin:0 0 clamp(24px,3vw,38px);font-weight:400;line-height:1.2}.colophon-grid{font-size:var(--fs-note);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:22px 30px;margin:0;display:grid}.colophon-grid dt{letter-spacing:.08em;color:var(--band-muted);margin-bottom:4px}.colophon-grid dd{margin:0}.colophon-fine{font-size:var(--fs-note);letter-spacing:.03em;color:var(--footer-muted);margin:clamp(28px,4vw,44px) 0 0;line-height:1.9}.colophon-fine a{color:inherit;text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}@media (hover:hover) and (pointer:fine){.colophon-fine a:hover{color:var(--band-ink)}}.stain{pointer-events:none;z-index:0;position:absolute}.prose-blog p{text-indent:2em}.prose-blog li p,.prose-blog blockquote p,.prose-blog td p,.prose-blog th p,.prose-blog figcaption p,.prose-blog>p:first-of-type{text-indent:0}.prose-blog>p:first-of-type:first-letter{float:left;font-family:var(--font-display);color:var(--accent);padding:.06em .12em 0 0;font-size:3.1em;line-height:.94}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}
html:has(.dw-site){background:var(--dw-bg);scroll-behavior:smooth;scroll-padding-top:104px}html:has(.dw-site) body{background:var(--dw-bg);color:var(--dw-ink)}.dw-site{background:var(--dw-bg);min-height:100svh;color:var(--dw-ink);font-family:var(--font-body);font-size:var(--fs-body);line-height:1.7;position:relative;overflow-x:clip}.dw-site ::selection{background:var(--dw-selection);color:var(--dw-white)}.dw-site :focus-visible{outline:2px solid var(--dw-ink);outline-offset:4px}.dw-site main{min-height:60svh}@media (prefers-reduced-motion:reduce){html:has(.dw-site){scroll-behavior:auto}}.dw-site .page-shell,.dw-shell{width:100%;max-width:var(--page-max);padding-inline:var(--page-pad);margin-inline:auto}.dw-site h1,.dw-site h2,.dw-site h3,.dw-site h4{font-family:var(--font-display);letter-spacing:-.035em;text-wrap:balance;word-break:auto-phrase;font-weight:500;line-height:1.02}.dw-site p{text-wrap:pretty;word-break:auto-phrase}.dw-site .t-display,.dw-site .t-display-zh{font-family:var(--font-display);font-size:var(--fs-display);letter-spacing:-.045em;text-wrap:balance;font-weight:500;line-height:.94}.dw-site .t-display-zh{font-size:var(--fs-display-zh);letter-spacing:-.03em;line-height:1.05}.dw-site .t-h2{font-family:var(--font-display);font-size:var(--fs-h);letter-spacing:-.03em;font-weight:500;line-height:1.1}.dw-site .t-h3{font-family:var(--font-display);font-size:var(--fs-h3);letter-spacing:-.02em;font-weight:500;line-height:1.25}.dw-site .t-lead{font-family:var(--font-body);font-size:var(--fs-lead);letter-spacing:-.015em;line-height:1.65}.dw-site .t-body{font-size:var(--fs-body);letter-spacing:-.005em;line-height:1.75}.dw-site .t-small{font-size:var(--fs-small);line-height:1.55}.dw-site .t-note{font-size:var(--fs-note);line-height:1.5}.dw-site .link-underline{text-underline-offset:4px;text-decoration-line:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--dw-line-strong);text-decoration-color:var(--dw-line-strong);transition:color .18s,text-decoration-color .18s}@media (hover:hover) and (pointer:fine){.dw-site .link-underline:hover{color:var(--dw-ink);-webkit-text-decoration-color:var(--dw-ink);text-decoration-color:var(--dw-ink)}}.dw-site .btn{border:1.5px solid var(--dw-line-strong);border-radius:var(--radius-m);min-height:48px;color:var(--dw-ink);font-family:var(--font-body);font-size:var(--fs-small);letter-spacing:0;background:0 0;justify-content:center;align-items:center;gap:10px;padding-inline:20px;font-weight:500;transition:background-color .22s,color .22s,border-color .22s;display:inline-flex}.dw-site .btn-accent{border-color:var(--dw-ink);background:var(--dw-ink);color:var(--dw-bg)}@media (hover:hover) and (pointer:fine){.dw-site .btn:hover{border-color:var(--dw-ink);background:var(--dw-ink);color:var(--dw-bg)}.dw-site .btn-accent:hover{color:var(--dw-ink);background:0 0}}.dw-site .btn-quiet{border:1.5px solid var(--dw-line);border-radius:var(--radius-m);color:var(--dw-ink);background:0 0;transition:background-color .22s,color .22s,border-color .22s}@media (hover:hover) and (pointer:fine){.dw-site .btn-quiet:hover{border-color:var(--dw-ink);background:var(--dw-ink);color:var(--dw-bg)}}.dw-site .field{border:0;border-bottom:1.5px solid var(--dw-line-strong);width:100%;min-height:56px;color:var(--dw-ink);font-size:max(16px, var(--fs-body));background:0 0;border-radius:0;padding:12px 0;transition:border-color .18s}.dw-site .field::placeholder{color:var(--dw-muted)}.dw-site .field:focus{border-color:var(--dw-ink);outline:none}.dw-site .field-area{border:1px solid var(--dw-line);border-radius:var(--radius-m);background:var(--dw-surface);width:100%;min-height:220px;color:var(--dw-ink);font-size:max(16px, var(--fs-body));resize:vertical;padding:16px}.dw-site .meta,.dw-site .text-muted{color:var(--dw-muted)}.dw-site .bg-paper-2{background:var(--dw-surface)}.dw-site .bg-paper-3{background:var(--dw-surface-2)}.dw-site .search-mark{background:var(--dw-ink);color:var(--dw-bg);padding:0 .08em}.dw-header{isolation:isolate;z-index:var(--z-header);pointer-events:none;width:100%;position:fixed;inset:0 0 auto}.dw-header-inner{width:100%;max-width:var(--page-max);padding:clamp(20px, 3.2vh, 32px) calc(var(--page-pad) - 13px);justify-content:space-between;align-items:center;gap:28px;margin-inline:auto;display:flex;position:relative}.dw-header a,.dw-header button,.dw-mobile-nav a,.dw-mobile-nav button{pointer-events:auto}.dw-logo{min-width:0;color:var(--dw-ink);flex:none;align-items:center;gap:10px;margin-left:-14px;padding:7px 12px 7px 4px;text-decoration:none;display:inline-flex}.dw-logo-mark{border-radius:0 var(--radius-pill) var(--radius-pill) 0;background:var(--dw-ink);width:14px;height:30px;transition:transform .3s var(--ease-out);flex:none;display:block}.dw-logo:hover .dw-logo-mark{transform:scaleX(.72)}.dw-logo-title{font-family:var(--font-display);letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:600;line-height:1.2;overflow:hidden}.dw-logo-sub{color:var(--dw-muted);letter-spacing:-.01em;margin-left:2px;font-size:14px;font-weight:300;line-height:1.2}.dw-nav{align-items:center;gap:clamp(6px,.9vw,12px);margin-left:auto;display:flex}.dw-nav[data-empty],.dw-menu-toggle.is-hidden{display:none}.dw-logo,.dw-nav-link,.dw-menu-toggle{isolation:isolate;border-radius:0;position:relative}.dw-nav-link:before,.dw-menu-toggle:before{z-index:-1;content:"";background:linear-gradient(135deg, var(--dw-glass-sheen) 0%, transparent 38%, transparent 62%, var(--dw-glass-veil) 100%), var(--dw-glass-chip);-webkit-backdrop-filter:blur(20px)saturate(1.7)brightness(.38);box-shadow:inset 0 1px 0 0 var(--dw-glass-edge), inset 0 -1px 0 0 var(--dw-glass-rim-soft), inset 1px 0 0 0 var(--dw-glass-rim), inset -1px 0 0 0 var(--dw-glass-rim), 0 6px 20px -8px var(--dw-glass-drop);background-position:0 0,0 0;background-size:160% 160%,auto;transition:background-position .6s;position:absolute;inset:-8px -13px}.dw-nav-link[aria-current=page]:before{background:linear-gradient(135deg, var(--dw-glass-lit) 0%, transparent 42%, transparent 58%, var(--dw-glass-sheen) 100%), var(--dw-glass-chip-strong)}@media (hover:hover) and (pointer:fine){.dw-nav-link:hover:before{background-position:100% 100%,0 0}}@media (prefers-reduced-transparency:reduce){.dw-nav-link:before,.dw-menu-toggle:before{background:var(--dw-bg);-webkit-backdrop-filter:none}}.dw-nav-link{color:var(--dw-ink-2);font-family:var(--font-body);cursor:pointer;background:0 0;border:0;align-items:center;padding:7px 12px;font-size:14px;font-weight:500;line-height:1.2;text-decoration:none;transition:color .18s;display:inline-flex;position:relative}.dw-nav-link:after{content:"";transform-origin:100%;height:1px;transition:transform .3s var(--ease-out);background:currentColor;position:absolute;bottom:0;left:12px;right:12px;transform:scaleX(0)}.dw-nav-link[aria-current=page]{color:var(--dw-ink)}.dw-nav-link[aria-current=page]:after{transform:scaleX(1)}@media (hover:hover) and (pointer:fine){.dw-nav-link:hover{color:var(--dw-ink)}.dw-nav-link:hover:after{transform-origin:0;transform:scaleX(1)}}.dw-menu-toggle:before{inset:0}.dw-menu-toggle{border:1.5px solid var(--dw-line-strong);width:42px;height:42px;color:var(--dw-ink);cursor:pointer;background:0 0;border-radius:999px;flex:none;justify-content:center;align-items:center;transition:background-color .18s,color .18s,border-color .18s;display:none}.dw-menu-toggle:hover{border-color:var(--dw-ink);background:var(--dw-ink);color:var(--dw-bg)}.dw-mobile-nav{z-index:calc(var(--z-header) - 1);padding:120px var(--page-pad) max(28px, env(safe-area-inset-bottom));background:color-mix(in srgb, var(--dw-bg) 72%, transparent);-webkit-backdrop-filter:blur(30px)saturate(1.6);opacity:0;visibility:hidden;flex-direction:column;transition:opacity .26s,visibility 0s linear .26s;display:flex;position:fixed;inset:0}.dw-mobile-nav.is-open{opacity:1;visibility:visible;transition:opacity .26s,visibility}.dw-mobile-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.dw-mobile-link{border-bottom:1px solid var(--dw-line);color:var(--dw-ink);font-family:var(--font-display);letter-spacing:-.045em;text-align:left;align-items:baseline;gap:16px;padding:12px 0;font-size:clamp(40px,10.6vw,76px);font-weight:300;line-height:1.1;text-decoration:none;display:flex}.dw-mobile-link:hover{color:var(--dw-ink-2)}.dw-mobile-link-index{width:2ch;color:var(--dw-muted);font-family:var(--font-body);letter-spacing:.04em;flex:none;font-size:11px;font-weight:400}.dw-mobile-meta{color:var(--dw-muted);flex-wrap:wrap;gap:16px 24px;margin-top:auto;padding-top:32px;font-size:13px;display:flex}.dw-mobile-meta a{text-underline-offset:4px;text-decoration:underline}@media (max-width:900px){.dw-logo-sub{display:none}.dw-logo{margin-left:-4px}.dw-nav{display:none}.dw-menu-toggle{display:inline-flex}}@media (min-width:901px){.dw-mobile-nav{display:none}}.dw-player{z-index:2;background:var(--dw-glass-chip);width:clamp(84px,8vw,100px);height:30px;box-shadow:inset 0 0 0 1px var(--dw-line), 0 10px 28px -18px var(--dw-glass-drop);-webkit-backdrop-filter:blur(18px)saturate(1.5)brightness(.6);pointer-events:auto;transition:width .46s var(--ease), height .46s var(--ease), border-radius .46s var(--ease), background-color .32s var(--ease), box-shadow .32s var(--ease);border-radius:999px;display:block;position:absolute;top:50%;left:50%;overflow:hidden;translate:-50% -50%}.dw-player.is-open{width:min(560px,100vw - 40px);height:84px;box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border-radius:28px}.dw-player-glass{border-radius:inherit;-webkit-backdrop-filter:blur(26px)saturate(180%);opacity:0;transition:opacity .32s var(--ease);background:#0e0f129e;position:absolute;inset:0;box-shadow:0 26px 64px -26px #000000eb,inset 0 0 0 1px #ffffff1f,inset 0 1px #fff3}.dw-player.is-open .dw-player-glass{opacity:1}.dw-player-tap{color:var(--dw-ink);cursor:pointer;transition:color .18s ease, opacity .2s var(--ease);background:0 0;border:0;align-items:center;padding:0 12px 0 4px;display:flex;position:absolute;inset:0}.dw-player-tap:hover{color:var(--dw-white)}.dw-player.is-open .dw-player-tap{opacity:0;pointer-events:none}.dw-player-mouth{pointer-events:none;justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.dw-player-cover{border-radius:var(--radius-s);background:var(--dw-surface-2);width:22px;height:22px;box-shadow:inset 0 0 0 1px var(--dw-line);flex:none;place-items:center;display:grid;position:relative;overflow:hidden}.dw-player-cover img{object-fit:cover;width:100%;height:100%;display:block}.dw-player-mark{border-radius:0 var(--radius-pill) var(--radius-pill) 0;background:var(--dw-ink);width:5px;height:11px;display:block}.dw-player-wave{flex:none;width:22px;height:18px;display:block}.dw-player-wave-bar{stroke:var(--dw-ink);stroke-width:2px;stroke-linecap:round;transition:stroke .64s var(--ease)}.dw-player-body{visibility:hidden;opacity:0;transition:opacity .24s var(--ease) 60ms, translate .32s var(--ease) 60ms, visibility 0s linear .38s;grid-template-columns:auto minmax(0,1fr) auto auto auto;grid-template-areas:"art meta controls volume collapse";align-items:center;gap:12px;padding:0 12px;display:grid;position:absolute;inset:0;translate:0 6px}.dw-player.is-open .dw-player-body{visibility:visible;opacity:1;transition:opacity .28s var(--ease) .11s, translate .38s var(--ease) .11s, visibility 0s;translate:none}.dw-player-art{background:#1b1d21;border-radius:15px;grid-area:art;width:56px;height:56px;display:block;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff17}.dw-player-art img{object-fit:cover;width:100%;height:100%;display:block}.dw-player-monogram{width:100%;height:100%;color:var(--dw-ink-2);font-family:var(--font-display);place-items:center;font-size:20px;font-weight:600;display:grid}.dw-player-meta{grid-area:meta;min-width:0}.dw-player-title{color:var(--dw-ink);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:13.5px;font-weight:600;line-height:1.3;display:block;overflow:hidden}.dw-player-artist{color:var(--dw-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11.5px;line-height:1.35;display:block;overflow:hidden}.dw-player-controls{grid-area:controls;align-items:center;gap:2px;display:flex}.dw-player-icon{width:30px;height:30px;color:var(--dw-ink-2);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;transition:background-color .18s,color .18s,transform .18s;display:grid}.dw-player-icon:hover{color:var(--dw-ink);background:#ffffff17}.dw-player-icon:active{transform:scale(.94)}.dw-player-icon.is-main{background:var(--dw-ink);color:#0b0c0e;width:38px;height:38px}.dw-player-icon.is-main:hover{color:#000;background:#fff}.dw-player-volume{color:var(--dw-muted);grid-area:volume;align-items:center;gap:7px;display:flex}.dw-player-collapse{grid-area:collapse;width:24px;height:24px}.dw-player-seek,.dw-player-volume input{appearance:none;cursor:pointer;background:0 0;height:14px;margin:0}.dw-player-seek{width:100%;margin-top:4px}.dw-player-volume input{width:56px}.dw-player-seek::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--dw-ink) 0 var(--p), #ffffff2e var(--p) 100%);border-radius:2px;height:2px}.dw-player-volume input::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--dw-ink) 0 var(--p), #ffffff2e var(--p) 100%);border-radius:2px;height:2px}.dw-player-seek::-moz-range-track{background:#ffffff2e;border-radius:2px;height:2px}.dw-player-volume input::-moz-range-track{background:#ffffff2e;border-radius:2px;height:2px}.dw-player-seek::-moz-range-progress{background:var(--dw-ink);border-radius:2px;height:2px}.dw-player-volume input::-moz-range-progress{background:var(--dw-ink);border-radius:2px;height:2px}.dw-player-seek::-webkit-slider-thumb{appearance:none;background:var(--dw-ink);opacity:0;border:0;border-radius:50%;width:9px;height:9px;margin-top:-3.5px;transition:opacity .16s}.dw-player-volume input::-webkit-slider-thumb{appearance:none;background:var(--dw-ink);opacity:0;border:0;border-radius:50%;width:9px;height:9px;margin-top:-3.5px;transition:opacity .16s}.dw-player-seek::-moz-range-thumb{background:var(--dw-ink);border:0;border-radius:50%;width:9px;height:9px}.dw-player-volume input::-moz-range-thumb{background:var(--dw-ink);border:0;border-radius:50%;width:9px;height:9px}.dw-player-seek:hover::-webkit-slider-thumb{opacity:1}.dw-player-seek:focus-visible::-webkit-slider-thumb{opacity:1}.dw-player-volume input:hover::-webkit-slider-thumb{opacity:1}.dw-player-volume input:focus-visible::-webkit-slider-thumb{opacity:1}.dw-player-seek:focus-visible,.dw-player-volume input:focus-visible,.dw-player-icon:focus-visible,.dw-player-tap:focus-visible{outline:1.5px solid var(--dw-ink);outline-offset:2px}@media (max-width:760px){.dw-player{top:max(18px, env(safe-area-inset-top,0px));translate:-50%}.dw-player.is-open{border-radius:26px;width:calc(100vw - 24px);height:96px}.dw-player-body{grid-template-columns:auto minmax(0,1fr) auto auto;grid-template-areas:"art meta controls collapse""volume volume volume volume";align-content:center;row-gap:2px;padding:8px 14px}.dw-player-art{border-radius:11px;width:42px;height:42px}.dw-player-volume{justify-content:flex-end;padding-top:2px}.dw-player-volume input{width:100%;max-width:190px}.dw-header:has(.dw-player.is-open) .dw-logo{opacity:0}.dw-logo{transition:opacity .2s var(--ease)}}.dw-hero{z-index:2;isolation:isolate;pointer-events:none;background:0 0;width:100%;height:100svh;min-height:640px;position:relative}.dw-hero-stage{z-index:0;pointer-events:none;background:radial-gradient(120% 78% at 50% 0%, var(--dw-room-top) 0%, var(--dw-room-mid) 46%, var(--dw-bg) 100%);width:100%;height:100svh;min-height:640px;position:absolute;top:0;left:0}.dw-hero-canvas{cursor:grab;touch-action:pan-y;opacity:0;width:100%;height:100%;transition:opacity .22s;display:block;position:absolute;inset:0}.dw-hero.is-ready .dw-hero-canvas{opacity:1}.dw-hero-stage:has(+.dw-hero.is-ready) .dw-hero-canvas{opacity:1}.dw-hero.is-dragging .dw-hero-canvas{cursor:grabbing}.dw-hero-fallback{color:var(--dw-ink);opacity:0;pointer-events:none;-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:center;align-items:center;padding-bottom:6vh;transition:opacity .5s;display:flex;position:absolute;inset:0}.dw-hero.is-fallback .dw-hero-fallback{opacity:.88}.dw-hero.is-booting .dw-hero-title,.dw-hero.is-booting .dw-hero-description,.dw-hero.is-booting .dw-hero-cta,.dw-hero.is-booting .dw-hero-hint{opacity:0}@keyframes dw-boot-rise{0%{opacity:0;filter:blur(6px);translate:0 18px}to{opacity:1;filter:blur();translate:0}}@keyframes dw-boot-fade{0%{opacity:0}to{opacity:1}}.dw-hero.is-booted .dw-hero-copy{animation:.52s cubic-bezier(.16,1,.3,1) both dw-boot-rise}.dw-hero.is-booted .dw-hero-description{animation:.52s cubic-bezier(.16,1,.3,1) .14s both dw-boot-rise}.dw-hero.is-booted .dw-hero-cta{animation:.52s cubic-bezier(.16,1,.3,1) .28s both dw-boot-rise}.dw-hero.is-booted .dw-hero-arrows,.dw-hero.is-booted .dw-hero-dots{animation:.46s .42s both dw-boot-fade}.dw-hero.is-booted .dw-hero-hint{animation:.46s .5s both dw-boot-fade}body:has(.dw-hero.is-booting) .dw-header{opacity:0}body:has(.dw-hero.is-booted) .dw-header{animation:.56s cubic-bezier(.16,1,.3,1) both dw-boot-down}@keyframes dw-boot-down{0%{opacity:0;translate:0 -14px}to{opacity:1;translate:0}}@media (prefers-reduced-motion:reduce){.dw-hero.is-booted .dw-hero-copy,.dw-hero.is-booted .dw-hero-description,.dw-hero.is-booted .dw-hero-cta,.dw-hero.is-booted .dw-hero-arrows,.dw-hero.is-booted .dw-hero-dots,.dw-hero.is-booted .dw-hero-hint{opacity:1;filter:none;animation:none;translate:none}body:has(.dw-hero.is-booted) .dw-header{opacity:1;filter:none;animation:none;translate:none}}html[data-boot=done] .dw-hero.is-booting .dw-hero-title,html[data-boot=done] .dw-hero.is-booting .dw-hero-description,html[data-boot=done] .dw-hero.is-booting .dw-hero-cta,html[data-boot=done] .dw-hero.is-booting .dw-hero-hint,html[data-boot=done] .dw-hero.is-booting .dw-hero-arrows,html[data-boot=done] .dw-hero.is-booting .dw-hero-dots{opacity:1}html[data-boot=done] body:has(.dw-hero.is-booting) .dw-header{opacity:1}.dw-hero.is-instant .dw-hero-copy,.dw-hero.is-instant .dw-hero-description,.dw-hero.is-instant .dw-hero-cta,.dw-hero.is-instant .dw-hero-hint,.dw-hero.is-instant .dw-hero-arrows,.dw-hero.is-instant .dw-hero-dots{opacity:1;filter:none;animation:none;translate:none}.dw-hero-fallback-line{font-family:var(--font-display);letter-spacing:-.05em;text-align:center;font-size:min(21vh,11.8vw);font-weight:800;line-height:1.07}.dw-hero-ui{z-index:2;pointer-events:none;position:absolute;inset:0}.dw-hero-hit{z-index:1;left:calc(var(--hit-x,.5) * 100%);top:calc(var(--hit-y,.5) * 100%);width:calc(var(--hit-d,.46) * 100%);aspect-ratio:1;border-radius:var(--radius-pill);pointer-events:auto;cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;position:absolute;translate:-50% -50%}.dw-hero-hit:active,.dw-hero.is-dragging .dw-hero-hit{cursor:grabbing}.dw-hero-ui a,.dw-hero-ui button{pointer-events:auto}.dw-hero-copy{bottom:clamp(44px,7.4vh,72px);left:var(--page-pad);max-width:min(390px, calc(100vw - var(--page-pad) * 2));position:absolute}.dw-hero-eyebrow{color:var(--dw-muted);font-family:var(--font-body);letter-spacing:.16em;text-transform:uppercase;margin:0 0 18px;font-size:11px;font-weight:400;line-height:1.4}.dw-hero-title{color:var(--dw-ink);font-family:var(--font-display);font-size:var(--fs-h);letter-spacing:-.035em;text-wrap:balance;text-shadow:0 0 1.15em color-mix(in srgb, var(--dw-bg) 94%, transparent);margin:0;font-weight:300;line-height:1.18}.dw-hero-title strong{font-weight:700;display:block}.dw-hero-description{max-width:27em;color:var(--dw-ink-2);font-size:var(--fs-small);letter-spacing:0;text-shadow:0 0 1.1em color-mix(in srgb, var(--dw-bg) 94%, transparent);margin:18px 0 0;font-weight:300;line-height:1.8}.dw-hero-hint{color:var(--dw-muted);letter-spacing:.12em;margin:0;font-size:11px;font-weight:400;position:absolute;bottom:clamp(160px,19vh,206px);left:50%;transform:translate(-50%)}@media (max-width:900px),(max-aspect-ratio:1){.dw-hero{min-height:620px}.dw-hero-fallback{padding-bottom:0}.dw-hero-fallback-line{font-size:min(17vh,17vw)}.dw-hero-copy{max-width:min(430px, calc(100vw - var(--page-pad) * 2));bottom:clamp(150px,19vh,196px)}.dw-hero-description{max-width:22em;margin-top:12px}.dw-hero-hint{bottom:clamp(150px,19vh,210px)}}@media (max-width:900px) and (max-height:700px){.dw-hero-copy{bottom:230px}.dw-hero-description,.dw-hero-hint{display:none}}@media (max-width:640px) and (max-height:720px){.dw-hero-copy{bottom:160px}}@media (max-width:640px){.dw-hero-eyebrow{letter-spacing:.12em;margin-bottom:12px;font-size:10px}.dw-hero-description{font-size:var(--fs-note);line-height:1.7}.dw-hero-hint{display:none}}.dw-site .sheet{width:100%;display:block}.dw-site .plate{grid-template-columns:minmax(0,1fr) 250px;align-items:end;gap:clamp(20px,3vw,44px);display:grid}.dw-site .plate img{width:100%;height:auto;display:block}.dw-site .plate-cap{padding-bottom:4px}.dw-site .plate-cap .k{color:var(--dw-muted);letter-spacing:.08em;margin-bottom:12px;font-size:11px;line-height:1.4;display:block}.dw-site .plate-cap .t{color:var(--dw-ink);font-family:var(--font-display);letter-spacing:-.03em;margin-bottom:10px;font-size:clamp(22px,2vw,30px);font-weight:400;line-height:1.3;display:block}.dw-site .plate-cap .m{color:var(--dw-muted);font-size:11px;line-height:1.8;display:block}.dw-site .idx{border-top:1px solid var(--dw-line);margin:0;padding:0;list-style:none}.dw-site .idx li+li{margin-top:0}.dw-site .idx-link{border-bottom:1px solid var(--dw-line);color:var(--dw-ink);transition:padding-left .26s var(--ease-out), border-color .2s ease;grid-template-columns:5.5rem minmax(0,1fr) minmax(120px,.4fr);align-items:baseline;gap:clamp(14px,2.4vw,34px);padding:18px 0;text-decoration:none;display:grid}.dw-site .idx-link--two{grid-template-columns:7.2rem minmax(0,1fr)}.dw-site .idx-link:hover{border-color:var(--dw-line-strong);padding-left:10px}.dw-site .idx-year{color:var(--dw-muted);white-space:nowrap;font-size:11px;line-height:1.5}.dw-site .idx-title{font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(20px,2.3vw,32px);font-weight:400;line-height:1.35;transition:color .22s,text-shadow .22s}.dw-site .idx-link:hover .idx-title{color:var(--dw-ink);text-shadow:-2px 0 var(--dw-fringe-warm), 2px 0 var(--dw-fringe-cool)}.dw-site .idx-role{color:var(--dw-muted);text-align:right;font-size:11px;line-height:1.7}.dw-site .post-row{border-bottom:1px solid var(--dw-line);transition:padding-left .24s var(--ease-out), border-color .2s ease}.dw-site .post-row:hover{border-color:var(--dw-line-strong)}.dw-site .post-row-title{font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(20px,2.3vw,32px);font-weight:400;line-height:1.35}.dw-site .post-row:hover .post-row-title{text-shadow:-2px 0 var(--dw-fringe-warm), 2px 0 var(--dw-fringe-cool)}.dw-site .tag-list{flex-wrap:wrap;gap:10px;display:flex}.dw-site .tag-list a{border:1px solid var(--dw-line);border-radius:var(--radius-pill);min-height:32px;color:var(--dw-ink-2);align-items:center;padding:5px 11px;font-size:12px;text-decoration:none;transition:border-color .18s,color .18s;display:inline-flex}.dw-site .tag-list a:hover{border-color:var(--dw-line-strong);color:var(--dw-ink)}.dw-site .site-masthead,.dw-site .site-header{display:none!important}.dw-site .bg-paper{background:var(--dw-bg)}.dw-site .text-accent{color:var(--dw-ink)}.dw-site .border-rule{border-color:var(--dw-line)}.dw-site .prose-blog{color:var(--dw-ink-2);font-size:16px;line-height:1.9}.dw-site .prose-blog>p,.dw-site .prose-blog>ul,.dw-site .prose-blog>ol,.dw-site .prose-blog>blockquote,.dw-site .prose-blog>h2,.dw-site .prose-blog>h3,.dw-site .prose-blog>h4,.dw-site .prose-blog>hr{max-width:38em}.dw-site .prose-blog p{text-indent:0}.dw-site .prose-blog>p:first-of-type:first-letter{color:var(--dw-ink);font-family:var(--font-display);font-size:2.8em;font-weight:600;line-height:.86}.dw-site .prose-blog>p:first-of-type{color:var(--dw-ink);font-size:1.06em;line-height:1.85}.dw-site .prose-blog h2,.dw-site .prose-blog h3,.dw-site .prose-blog h4{color:var(--dw-ink);letter-spacing:-.03em;font-weight:500}.dw-site .prose-blog h2{margin-top:2.5em;font-size:clamp(26px,2.7vw,38px);line-height:1.15}.dw-site .prose-blog h3{font-size:clamp(21px,2vw,28px);line-height:1.25}.dw-site .prose-blog a{color:var(--dw-ink);-webkit-text-decoration-color:var(--dw-line-strong);text-decoration-color:var(--dw-line-strong);transition:color .18s,text-decoration-color .18s}.dw-site .prose-blog a:hover{color:var(--dw-white);-webkit-text-decoration-color:var(--dw-ink);text-decoration-color:var(--dw-ink)}.dw-site .prose-blog strong{color:var(--dw-ink);font-weight:600}.dw-site .prose-blog blockquote{border-left:1px solid var(--dw-line-strong);color:var(--dw-ink);font-family:var(--font-display);letter-spacing:-.02em;padding-left:clamp(18px,2vw,28px);font-size:1.18em;font-weight:300;line-height:1.6}.dw-site .prose-blog :not(pre)>code{border:1px solid var(--dw-line);border-radius:var(--radius-s);background:var(--dw-surface);color:var(--dw-ink)}.dw-site .prose-blog pre{border:1px solid var(--dw-line);border-radius:var(--radius-m);background:var(--code-bg);color:var(--code-ink)}.dw-site .prose-blog img{border-radius:var(--radius-m);filter:none}.dw-site .prose-blog hr{background:var(--dw-line);width:100%;height:1px}.dw-site .prose-blog img+p:has(>em:only-child){color:var(--dw-muted)}.dw-site .prose-blog .code-block+p:has(>em:only-child){color:var(--dw-muted)}.dw-site .code-copy{border:1px solid var(--dw-line);border-radius:var(--radius-s);background:var(--code-copy-bg);color:var(--code-ink)}.dw-site .heading-anchor{color:var(--dw-muted)}.dw-site .colophon{display:none}.dw-site article{color:var(--dw-ink-2)}.dw-site article header h1,.dw-site article h1,.dw-site article h2,.dw-site article h3{color:var(--dw-ink)}.dw-site article .bg-paper-2,.dw-site article details{background:var(--dw-surface)}.dw-site article details{border:1px solid var(--dw-line);border-radius:var(--radius-m)}.dw-site blockquote{color:var(--dw-ink-2)}.dw-site .quote-in{color:var(--dw-ink)}.dw-site .t-small.text-muted,.dw-site .text-muted{color:var(--dw-muted)}.dw-site [data-command-overlay]{background:color-mix(in srgb, var(--dw-bg) 84%, transparent);-webkit-backdrop-filter:blur(20px)saturate(.7);backdrop-filter:blur(20px)saturate(.7)}.dw-site [data-command-palette],.dw-site .command-palette,.dw-site .command-dialog{background:var(--dw-surface);color:var(--dw-ink)}.dw-site table,.dw-site th,.dw-site td{border-color:var(--dw-line)}.dw-site input,.dw-site textarea,.dw-site select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.dw-floor{z-index:2;min-height:100svh;max-width:var(--page-max);padding:clamp(88px, 13vh, 152px) var(--page-pad) clamp(56px, 9vh, 104px);flex-direction:column;justify-content:center;gap:clamp(24px,4.5vh,44px);margin-inline:auto;display:flex;position:relative}.dw-site .dw-floor-lead{max-width:16ch;font-family:var(--dw-font-display);font-size:var(--fs-display);letter-spacing:-.01em;color:var(--dw-ink);text-wrap:balance;font-weight:500;line-height:1.06}.dw-floor-note{max-width:40ch;font-size:var(--fs-small);color:var(--dw-muted);text-wrap:pretty;margin-top:-.6em;line-height:1.78}.dw-floor-links{border-top:1px solid var(--dw-line);max-width:760px;margin-top:clamp(4px,1.6vh,16px);display:grid}.dw-floor-link{border-bottom:1px solid var(--dw-line);color:var(--dw-ink);transition:border-color var(--dur-hover) var(--ease);align-items:baseline;gap:16px;padding:clamp(13px,2vh,19px) 0;text-decoration:none;display:flex}.dw-floor-kicker{min-width:6.5em;font-size:var(--fs-note);letter-spacing:.14em;color:var(--dw-muted);transition:color var(--dur-hover) var(--ease);flex:none}.dw-site .dw-floor-title{font-family:var(--dw-font-body);font-size:var(--fs-small);word-break:keep-all;overflow-wrap:anywhere;line-height:1.45}@media (hover:hover) and (pointer:fine){.dw-floor-link:hover{border-color:var(--dw-line-strong)}.dw-floor-link:hover .dw-floor-kicker{color:var(--dw-ink)}}.dw-footer{z-index:2;max-width:var(--page-max);padding:18px var(--page-pad) 34px;font-size:var(--fs-note);letter-spacing:.06em;color:var(--dw-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 24px;margin-inline:auto;display:flex;position:relative}.dw-footer:before{content:"";background:var(--dw-line);height:1px;position:absolute;inset:0 0 auto}.dw-footer-line,.dw-footer-reg{flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}.dw-footer-dot{border-radius:var(--radius-pill);background:var(--dw-line-strong);width:3px;height:3px}.dw-footer-reg a{color:inherit;transition:color var(--dur-hover) var(--ease), border-color var(--dur-hover) var(--ease);border-bottom:1px solid #0000;text-decoration:none}.dw-footer-reg a:hover{color:var(--dw-ink-2);border-color:var(--dw-line-strong)}@media (max-width:767px){.dw-floor{gap:20px;padding-top:96px}.dw-floor-link{flex-direction:column;gap:6px}.dw-floor-kicker{min-width:0}.dw-footer{flex-direction:column;align-items:flex-start}}.dw-sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.dw-sheet{width:100%;max-width:var(--page-max);padding:clamp(112px, 15vh, 172px) var(--page-pad) clamp(56px, 8vh, 96px);margin-inline:auto}.dw-sheet-kicker{color:var(--dw-muted);font-size:var(--fs-micro);letter-spacing:.18em;line-height:1.4}.dw-site .dw-sheet-title{color:var(--dw-ink);font-size:var(--fs-display-zh);letter-spacing:-.04em;margin-top:14px;font-weight:500;line-height:1}.dw-sheet-lead{max-width:46ch;color:var(--dw-ink-2);font-size:var(--fs-lead);letter-spacing:-.015em;margin-top:clamp(14px,1.6vh,22px);line-height:1.6}.dw-filters{border-bottom:1px solid var(--dw-line);flex-wrap:wrap;align-items:baseline;gap:6px 22px;margin-top:clamp(28px,4vh,44px);padding-bottom:18px;display:flex}.dw-filter{color:var(--dw-muted);font-size:var(--fs-small);transition:color var(--dur-hover) var(--ease);align-items:baseline;gap:7px;padding:6px 0;text-decoration:none;display:inline-flex;position:relative}.dw-filter:after{content:"";transform-origin:100%;height:1px;transition:transform .3s var(--ease);background:currentColor;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.dw-filter[aria-current=page]{color:var(--dw-ink)}.dw-filter[aria-current=page]:after{transform:scaleX(1)}@media (hover:hover) and (pointer:fine){.dw-filter:hover{color:var(--dw-ink)}.dw-filter:hover:after{transform-origin:0;transform:scaleX(1)}}.dw-filter-count{color:var(--dw-muted);font-size:var(--fs-note);font-variant-numeric:tabular-nums}.dw-archive{flex-direction:column;gap:clamp(40px,6vh,72px);margin-top:clamp(28px,4vh,48px);display:flex}.dw-archive-year{grid-template-columns:clamp(88px,10vw,148px) minmax(0,1fr);align-items:start;gap:clamp(16px,3vw,44px);display:grid}.dw-site .dw-archive-num{color:var(--dw-muted);letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:clamp(28px,3.4vw,46px);font-weight:300;line-height:1;position:sticky;top:clamp(104px,13vh,132px)}.dw-empty{border:1px solid var(--dw-line);border-radius:var(--radius-m);background:var(--dw-surface);flex-direction:column;align-items:flex-start;gap:12px;max-width:52ch;margin-top:clamp(32px,5vh,56px);padding:clamp(24px,3.4vw,40px);display:flex}.dw-site .dw-empty-title{color:var(--dw-ink);font-family:var(--font-display);font-size:var(--fs-h3);letter-spacing:-.02em;font-weight:500;line-height:1.2}.dw-empty-note{color:var(--dw-muted);font-size:var(--fs-small);line-height:1.7}.dw-empty-action{border:1px solid var(--dw-line-strong);border-radius:var(--radius-m);min-height:44px;color:var(--dw-ink);font-size:var(--fs-small);transition:background-color var(--dur-hover) var(--ease), color var(--dur-hover) var(--ease), border-color var(--dur-hover) var(--ease);align-items:center;margin-top:4px;padding:0 18px;text-decoration:none;display:inline-flex}@media (hover:hover) and (pointer:fine){.dw-empty-action:hover{border-color:var(--dw-ink);background:var(--dw-ink);color:var(--dw-bg)}}.dw-skeleton{border-radius:var(--radius-s);background:var(--dw-surface-2);height:12px;margin-bottom:12px;display:block}.dw-skeleton-title{height:clamp(38px,5vw,76px);margin:22px 0 20px}.dw-skeleton-rows{border-top:1px solid var(--dw-line);margin-top:clamp(32px,5vh,52px);padding-top:8px}.dw-skeleton-row{height:26px;margin-top:22px;margin-bottom:22px}@media (prefers-reduced-motion:no-preference){.dw-skeleton{animation:1.8s ease-in-out infinite dw-skeleton-breathe}@keyframes dw-skeleton-breathe{50%{opacity:.55}}}.dw-progress{z-index:calc(var(--z-header) + 1);pointer-events:none;background:0 0;height:2px;position:fixed;inset:0 0 auto}.dw-progress-bar{background:var(--dw-ink);transform-origin:0;width:100%;height:100%;display:block;transform:scaleX(0)}.dw-post{width:100%;max-width:var(--page-max);padding:clamp(104px, 14vh, 164px) var(--page-pad) clamp(48px, 7vh, 88px);margin-inline:auto}.dw-post-kicker{color:var(--dw-muted);font-size:var(--fs-micro);letter-spacing:.16em;flex-wrap:wrap;align-items:baseline;gap:8px;line-height:1.4;display:flex}.dw-post-back{color:var(--dw-muted);transition:color var(--dur-hover) var(--ease);text-decoration:none}@media (hover:hover) and (pointer:fine){.dw-post-back:hover{color:var(--dw-ink)}}.dw-site .dw-post-title{max-width:22ch;color:var(--dw-ink);letter-spacing:-.04em;text-wrap:balance;margin-top:clamp(16px,2.4vh,26px);font-size:clamp(34px,5.2vw,76px);font-weight:500;line-height:1.04}.dw-post-lead{max-width:48ch;color:var(--dw-ink-2);font-size:var(--fs-lead);letter-spacing:-.015em;margin-top:clamp(16px,2.2vh,24px);line-height:1.6}.dw-post-meta{color:var(--dw-muted);font-size:var(--fs-note);letter-spacing:.04em;flex-wrap:wrap;align-items:center;gap:8px;margin-top:clamp(18px,2.4vh,26px);display:flex}.dw-post-tags{flex-wrap:wrap;gap:6px;display:inline-flex}.dw-post-tag{border:1px solid var(--dw-line);border-radius:var(--radius-pill);min-height:24px;color:var(--dw-ink-2);font-size:var(--fs-micro);letter-spacing:0;align-items:center;padding:2px 9px;display:inline-flex}.dw-post-cover{margin-top:clamp(28px,4.4vh,52px)}.dw-post-cover img{border-radius:var(--radius-m);object-fit:cover;width:100%;max-height:62vh;display:block}.dw-post-grid{width:100%;max-width:calc(var(--page-max-prose) + 232px + clamp(32px, 5vw, 88px));grid-template-columns:minmax(0,1fr) minmax(0,232px);align-items:start;gap:clamp(32px,5vw,88px);margin-top:clamp(36px,5.4vh,64px);display:grid}.dw-post-body{min-width:0;max-width:var(--page-max-prose);grid-area:1/1}.dw-post-aside{border-left:1px solid var(--dw-line);grid-area:1/2;max-height:calc(100vh - 180px);padding-left:20px;position:sticky;top:clamp(104px,13vh,132px);overflow:auto}.dw-post-aside nav>p{color:var(--dw-muted);font-size:var(--fs-micro);letter-spacing:.16em}.dw-post-aside nav a{font-size:var(--fs-note)}.dw-post-collection{border-left:2px solid var(--dw-line-strong);color:var(--dw-muted);font-size:var(--fs-note);margin-bottom:26px;padding:12px 16px;line-height:1.6}.dw-post-adjacent{max-width:var(--page-max-prose);border-top:1px solid var(--dw-line);grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,3vw,40px);margin-top:clamp(48px,7vh,88px);padding-top:22px;display:grid}.dw-post-adjacent-link{color:var(--dw-ink);flex-direction:column;gap:8px;text-decoration:none;display:flex}.dw-post-adjacent-link--next{text-align:right}.dw-post-adjacent-kicker{color:var(--dw-muted);font-size:var(--fs-micro);letter-spacing:.16em}.dw-site .dw-post-adjacent-title{font-family:var(--font-display);letter-spacing:-.02em;transition:color var(--dur-hover) var(--ease), text-shadow var(--dur-hover) var(--ease);font-size:clamp(17px,1.7vw,22px);font-weight:400;line-height:1.35}@media (hover:hover) and (pointer:fine){.dw-post-adjacent-link:hover .dw-post-adjacent-title{text-shadow:-2px 0 var(--dw-fringe-warm), 2px 0 var(--dw-fringe-cool)}}.dw-post-adjacent-blank{display:block}.dw-post-related{max-width:var(--page-max-prose);margin-top:clamp(48px,7vh,88px)}.dw-site .dw-post-related-title{color:var(--dw-muted);font-family:var(--font-body);font-size:var(--fs-micro);letter-spacing:.16em;margin-bottom:18px;font-weight:400;line-height:1.4}.dw-comments{max-width:var(--page-max-prose);border-top:1px solid var(--dw-line);margin-top:clamp(56px,8vh,104px);padding-top:26px}.dw-site .dw-comments-title{color:var(--dw-ink);font-family:var(--font-display);font-size:var(--fs-h3);letter-spacing:-.02em;font-weight:500;line-height:1.2}.dw-comments-note{color:var(--dw-muted);font-size:var(--fs-note);margin-top:8px;line-height:1.7}.dw-comments-body{margin-top:24px}@media (max-width:900px){.dw-sheet,.dw-post{padding-top:108px}.dw-archive-year{grid-template-columns:minmax(0,1fr);gap:12px}.dw-site .dw-archive-num{font-size:30px;position:static}.dw-post-grid{grid-template-columns:minmax(0,1fr);gap:26px}.dw-post-aside{border-left:0;border-bottom:1px solid var(--dw-line);grid-area:1/1;max-height:38vh;padding:4px 0 16px;position:static}.dw-post-body{grid-area:2/1}.dw-post-adjacent{grid-template-columns:minmax(0,1fr)}.dw-post-adjacent-link--next{text-align:left}.dw-post-adjacent-blank{display:none}}@media (max-width:720px){.dw-site .idx-link,.dw-site .idx-link--two{grid-template-columns:minmax(0,1fr);gap:6px;padding:16px 0}.dw-site .idx-year{order:-1}.dw-site .idx-role{text-align:left}.dw-site .idx-link:hover{padding-left:6px}}.dw-header:before{background:linear-gradient(to bottom, var(--dw-bg) 0%, var(--dw-bg) 58%, color-mix(in srgb, var(--dw-bg) 72%, transparent) 82%, transparent 100%);content:"";opacity:0;transition:opacity var(--dur-enter) var(--ease);pointer-events:none;position:absolute;inset:0 0 -20px}body:has(.dw-sheet) .dw-header:before{opacity:1}body:has(.dw-post) .dw-header:before{opacity:1}.dw-tag-index{margin-top:clamp(28px,4vh,48px)}.dw-site .dw-tag-index .idx-year{font-variant-numeric:tabular-nums}.dw-site .dw-tag-index .idx-link--two{grid-template-columns:5.5rem minmax(0,1fr)}a.dw-post-tag{transition:border-color var(--dur-hover) var(--ease), color var(--dur-hover) var(--ease);text-decoration:none}@media (hover:hover) and (pointer:fine){a.dw-post-tag:hover{border-color:var(--dw-line-strong);color:var(--dw-ink)}}.dw-search{max-width:var(--page-max-prose);border-bottom:1.5px solid var(--dw-line-strong);transition:border-color var(--dur-hover) var(--ease);align-items:center;gap:14px;margin-top:clamp(26px,3.6vh,40px);display:flex}.dw-search:focus-within{border-color:var(--dw-ink)}.dw-search-input{min-width:0;min-height:56px;color:var(--dw-ink);font-size:max(16px, var(--fs-body));background:0 0;border:0;flex:auto;padding:10px 0}.dw-search-input::placeholder{color:var(--dw-muted)}.dw-search-input:focus{outline:none}.dw-search-input::-webkit-search-cancel-button{cursor:pointer;filter:invert()opacity(.45)}.dw-search-submit{border:1px solid var(--dw-line-strong);border-radius:var(--radius-m);min-height:44px;color:var(--dw-ink);font-family:var(--font-body);font-size:var(--fs-small);cursor:pointer;transition:background-color var(--dur-hover) var(--ease), color var(--dur-hover) var(--ease), border-color var(--dur-hover) var(--ease);background:0 0;flex:none;padding:0 18px}@media (hover:hover) and (pointer:fine){.dw-search-submit:hover{border-color:var(--dw-ink);background:var(--dw-ink);color:var(--dw-bg)}}.dw-search-count,.dw-hits{max-width:var(--page-max-prose)}.dw-search-count{color:var(--dw-muted);font-size:var(--fs-note);letter-spacing:.04em;margin-top:22px}.dw-hits{border-top:1px solid var(--dw-line);margin:16px 0 0;padding:0;list-style:none}.dw-hit{border-bottom:1px solid var(--dw-line);color:var(--dw-ink);transition:padding-left .26s var(--ease-out), border-color .2s ease;flex-direction:column;gap:9px;padding:22px 0;text-decoration:none;display:flex}.dw-hit:hover{border-color:var(--dw-line-strong);padding-left:8px}.dw-site .dw-hit-title{font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(19px,2vw,27px);font-weight:400;line-height:1.3}.dw-hit-snippet{max-width:64ch;color:var(--dw-ink-2);font-size:var(--fs-small);line-height:1.75}.dw-hit-meta{color:var(--dw-muted);font-size:var(--fs-micro);letter-spacing:.06em}@media (max-width:720px){.dw-search{gap:10px}.dw-search-submit{padding:0 14px}}
