/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@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-border-style:solid;--tw-leading:initial;--tw-font-weight: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-content:""}}}@layer theme{:root,:host{--font-sans:-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";--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-xl:1.25rem;--font-weight-medium:500;--leading-normal:1.5;--radius-sm:3px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--color-border:var(--border)}}@layer utilities{.visible{visibility:visible}.relative{position:relative}.static{position:static}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.flex{display:flex}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-full{width:100%;height:100%}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.w-fit{width:fit-content}.shrink-0{flex-shrink:0}.resize{resize:both}.items-center{align-items:center}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-2{gap:calc(var(--spacing) * 2)}.rounded-full{border-radius:2147483647px}.rounded-md{border-radius:4px}.rounded-sm{border-radius:3px}.border{border-style:var(--tw-border-style);border-width:1px}.border-border{border-color:var(--border)}.border-input{border-color:var(--input)}.border-transparent{border-color:#0000}.bg-accent{background-color:var(--accent)}.bg-background{background-color:var(--background)}.bg-muted{background-color:var(--muted)}.bg-primary{background-color:var(--primary)}.bg-transparent{background-color:#0000}.object-cover{object-fit:cover}.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)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.whitespace-nowrap{white-space:nowrap}.text-accent-foreground{color:var(--accent-foreground)}.text-muted-foreground{color:var(--muted-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.underline-offset-4{text-underline-offset:4px}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);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}.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))}.select-none{-webkit-user-select:none;user-select:none}.group-data-\[size\=sm\]\/avatar\:text-xs:is(:where(.group\/avatar)[data-size=sm] *){font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-0:after{content:var(--tw-content);inset:0}.after\:rounded-full:after{content:var(--tw-content);border-radius:2147483647px}.after\:border:after{content:var(--tw-content);border-style:var(--tw-border-style);border-width:1px}.after\:border-border:after{content:var(--tw-content);border-color:var(--border)}.after\:mix-blend-darken:after{content:var(--tw-content);mix-blend-mode:darken}@media (hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}.hover\:underline:hover{text-decoration-line:underline}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.data-\[size\=lg\]\:size-10[data-size=lg]{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.data-\[size\=sm\]\:size-6[data-size=sm]{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}@media (prefers-color-scheme:dark){.dark\:after\:mix-blend-lighten:after{content:var(--tw-content);mix-blend-mode:lighten}}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}}:root{--background:var(--color-surface);--foreground:var(--color-ink);--primary:var(--color-brand-strong);--primary-foreground:var(--color-on-dark);--secondary:var(--color-surface-subtle);--secondary-foreground:var(--color-text);--muted:var(--color-surface-subtle);--muted-foreground:var(--color-text-muted);--accent:var(--color-brand-soft);--accent-foreground:var(--color-brand-strong);--border:var(--color-border);--input:var(--color-control-border);--ring:var(--color-brand-strong);--destructive:var(--color-danger);--radius:var(--radius-control)}.ui-button{font-family:var(--font-sans);cursor:pointer;line-height:1.5;text-decoration:none}.ui-button:focus-visible{outline:2px solid var(--ring);outline-offset:3px}@media (pointer:coarse){.ui-button{min-height:44px}}:root{--color-ink:#171717;--color-text:#262626;--color-text-secondary:#525252;--color-text-muted:#6b6b6b;--color-canvas:#fcfcfc;--color-surface:#fff;--color-surface-subtle:#f3f3f3;--color-surface-tint:#f8f8f8;--color-border:#e5e5e5;--color-control-border:#8f8f8f;--color-brand:#f4772a;--color-brand-hover:#ff914d;--color-brand-strong:#171717;--color-brand-soft:#f3f3f3;--color-on-dark:#fff;--color-on-dark-secondary:#c2c8cd;--color-border-dark:#354047;--color-success:#206347;--color-warning:#88520f;--color-danger:#a63832;--font-sans:Inter,"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-body:.9375rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-title:2.25rem;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--radius-sm:4px;--radius-control:6px;--radius-card:8px;--section-gap:var(--space-16);--heading-gap:var(--space-6);--block-gap:var(--space-8);--cell-y:var(--space-3);--cell-x:var(--space-4);--page-width:1280px;--page-gutter:32px}@media (width<=1199px){:root{--page-gutter:24px}}@media (width<=767px){:root{--page-gutter:20px;--section-gap:var(--space-12);--heading-gap:var(--space-5);--block-gap:var(--space-6)}}@font-face{font-family:Inter;src:url(/_astro/inter-variable.BnlyiyXY.woff2)format("woff2");font-style:normal;font-weight:100 900;font-display:swap}:root{font-family:var(--font-sans);font-feature-settings:"cv05" 1,"cv08" 1,"ss03" 1;font-optical-sizing:auto;font-synthesis:none;color:var(--color-text);background:var(--color-canvas);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.7}*{box-sizing:border-box}body{background:var(--color-canvas);margin:0}button,input,select,textarea{font:inherit;font-feature-settings:inherit}a{color:inherit;text-underline-offset:3px;text-decoration-color:currentColor;text-decoration-thickness:1px}@supports (color:color-mix(in lab, red, red)){a{-webkit-text-decoration-color:color-mix(in srgb,currentColor 45%,transparent);-webkit-text-decoration-color:color-mix(in srgb,currentColor 45%,transparent);text-decoration-color:color-mix(in srgb,currentColor 45%,transparent)}}a:hover{text-decoration-color:currentColor}:where(a,button,summary,input,select,textarea):focus-visible{outline:2px solid var(--color-ink);outline-offset:3px}h1,h2,h3,h4,h5,p{margin-top:0}h1,h2,h3,h4,h5{color:var(--color-ink);font-weight:500;line-height:1.3}h1{letter-spacing:-.035em;margin-bottom:var(--space-4);max-width:950px;font-size:clamp(1.875rem,3.4vw,2.5rem);line-height:1.15}h2{font-size:var(--text-xl);letter-spacing:-.025em}h3{font-size:var(--text-md);letter-spacing:-.01em}strong{font-weight:600}p{max-width:72ch;margin-bottom:var(--space-4);font-size:var(--text-body);line-height:1.7}main{min-height:65vh}main:focus{outline:none}.masthead,.wrap{width:min(var(--page-width),calc(100% - var(--page-gutter)*2));margin-inline:auto}.masthead{justify-content:space-between;align-items:center;gap:var(--space-8);min-height:64px;display:flex}.brand{letter-spacing:-.04em;color:var(--color-ink);white-space:nowrap;font-size:1.25rem;font-weight:600;text-decoration:none}.brand:after{content:".";color:var(--color-brand)}.masthead nav{gap:var(--space-1);font-size:var(--text-sm);display:flex}.masthead nav a{padding:var(--space-1) var(--space-3);border-radius:var(--radius-control);color:var(--color-text-muted);text-decoration:none}.masthead nav a:hover,.masthead nav a[aria-current]{color:var(--color-ink);background:var(--color-surface-subtle)}.fine,.meta{font-size:var(--text-xs);color:var(--color-text-muted)}.eyebrow{font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:var(--space-4);font-weight:500}.hero{padding:var(--block-gap) 0 0}.hero h1{margin-bottom:var(--space-2);font-size:clamp(1.875rem,3.2vw,2.5rem)}.hero .lede{font-size:var(--text-body);max-width:64ch;color:var(--color-text-muted);margin:0}.button{justify-content:center;align-items:center;gap:var(--space-2);min-height:40px;padding:0 var(--space-4);background:var(--color-ink);border-radius:var(--radius-control);color:var(--color-on-dark);font-size:var(--text-sm);border:0;font-weight:500;text-decoration:none;display:inline-flex}.button:hover{color:var(--color-on-dark);background:#333}.text-link{align-items:center;gap:var(--space-2);font-size:var(--text-md);color:var(--color-ink);display:inline-flex}.crumbs{padding:var(--space-5) 0;font-size:var(--text-xs);color:var(--color-text-muted)}.crumbs a{text-decoration:none}.crumbs a:hover{text-decoration:underline}.crumbs ol{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.crumbs li+li:before{content:"/";margin-right:var(--space-2);color:var(--color-control-border)}.crumbs [aria-current]{color:var(--color-ink)}.source-link{font-size:var(--text-xs);margin-left:var(--space-2);color:var(--color-text-muted)}.skip{background:var(--color-surface);padding:var(--space-3);z-index:20;position:fixed;top:-100px;left:16px}.skip:focus{top:16px}time{white-space:nowrap;font-variant-numeric:tabular-nums}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.icon{vertical-align:-.15em;flex-shrink:0;width:16px;height:16px;display:inline-block}a>.icon{margin-left:var(--space-1)}a>.icon:first-child{margin-left:0;margin-right:var(--space-1)}summary>.icon-chevron-down{margin-left:var(--space-2)}details[open]>summary>.icon-chevron-down{transform:rotate(180deg)}.avatar-placeholder .icon,.avatar-stack .icon{width:60%;height:60%}.home-hero{padding:var(--section-gap) 0 0;margin-bottom:var(--section-gap)}.home-hero h1{letter-spacing:-.04em;max-width:none;margin-bottom:var(--space-6);font-size:clamp(2.25rem,4.6vw,3.5rem);font-weight:400;line-height:1.08}.home-hero h1 span{color:var(--color-text-muted);display:block}.home-photo{margin:var(--block-gap) 0 0}.home-photo img{object-fit:cover;object-position:center 60%;border-radius:var(--radius-card);background:var(--color-surface-subtle);width:100%;height:clamp(220px,28vw,380px);display:block}.home-photo figcaption{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted)}.site-footer{margin-top:var(--section-gap);color:var(--color-text-muted)}.footer-main{grid-template-columns:var(--label-column) minmax(0,1fr);gap:var(--space-6);padding:var(--block-gap) 0 var(--space-4);display:grid}.footer-links{align-items:flex-start;gap:var(--space-2);font-size:var(--text-sm);flex-direction:column;display:flex}.footer-links p{color:var(--color-text-muted);font-size:var(--text-sm);max-width:56ch;margin:0}.footer-links a{color:var(--color-ink)}.footer-bottom{justify-content:space-between;align-items:baseline;gap:var(--space-6);padding:0 0 var(--block-gap);display:flex}.footer-bottom p{font-size:var(--text-xs);margin:0}@media (prefers-reduced-motion:no-preference){a,button{transition:color .14s ease-out,background-color .14s ease-out}}.data-page{gap:var(--section-gap);padding-bottom:var(--space-4);grid-template-columns:minmax(0,1fr);align-content:start;display:grid}.data-page .hero{padding:var(--block-gap) 0 0;margin-bottom:calc(var(--section-gap) * -.5)}.data-page .content-panel{grid-template-columns:var(--label-column) minmax(0,1fr);column-gap:var(--space-6);align-items:start;display:grid}.data-page .content-panel>.content-heading{align-items:flex-start;gap:var(--space-1);flex-direction:column;grid-column:1;margin:0}.data-page .content-panel>:not(.content-heading){grid-column:2;min-width:0}.link-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.link-list a{justify-content:space-between;align-items:baseline;gap:var(--space-3);padding:var(--space-2) var(--space-3);margin-inline:calc(var(--space-3) * -1);border-radius:var(--radius-control);font-size:var(--text-sm);color:var(--color-ink);text-decoration:none;display:flex}.link-list a:hover{background:var(--color-surface-subtle)}.link-list small{font-size:var(--text-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-weight:400}.panel-note{font-size:var(--text-xs);color:var(--color-text-muted);margin:var(--space-4) 0 0;max-width:none}.panel-copy{max-width:none}.panel-copy p{margin-bottom:var(--space-3);max-width:64ch;color:var(--color-text-secondary)}.panel-copy h2{font-size:var(--text-md);margin-bottom:var(--space-2)}.copy-grid{gap:var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width<=1023px){.footer-main,.data-page .content-panel{grid-template-columns:minmax(0,1fr)}.data-page .content-panel>.content-heading,.data-page .content-panel>:not(.content-heading){grid-column:1}.data-page .content-panel>.content-heading{margin-bottom:var(--space-4);flex-direction:row;justify-content:space-between;align-items:baseline}}@media (width<=767px){.masthead{align-items:flex-start;gap:var(--space-2);padding:var(--space-4) 0;flex-direction:column}.masthead nav{margin-inline:calc(var(--space-3) * -1);flex-wrap:wrap}.footer-bottom{gap:var(--space-2);flex-direction:column}.copy-grid{gap:var(--space-4);grid-template-columns:1fr}}@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-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-content{syntax:"*";inherits:false;initial-value:""}
