:root{
--red:#D02F3A;--red-d:#B5252F;--coral:#FF8F8A;--ink:#1A1C22;--paper:#FBFBF9;--surface:#FDFDFC;--ice:#DDE9F2;--ice-ink:#0F2A3D;--ice-mute:#3E5669;--sand:#EFEBE3;--sand-ink:#2A2620;--sand-mute:#5E574C;--slate:#22252D;--slate-ink:#F3F4F6;--slate-mute:#A3A9B5;--sage:#E4E8DF;--sage-ink:#1F2A1C;--sage-mute:#4B5845;--muted:#4A4F5A;--muted-small:#5B606B;--white:#FFFFFF;--copy-dark:#C7CCD5;--panel-dark:#2C3039;
--hair:rgba(26,28,34,.12);--hair-d:rgba(243,244,246,.16);--line-ice:rgba(15,42,61,.18);--line-sand:rgba(42,38,32,.14);--line-sage:rgba(31,42,28,.18);--control-line:#7C838D;--ghost-line:color-mix(in srgb,currentColor 18%,transparent);
--f-head:"Sora",-apple-system,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK TC","Hiragino Kaku Gothic ProN","Yu Gothic","Apple SD Gothic Neo","Malgun Gothic",sans-serif;
--f-body:"Inter",-apple-system,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK TC","Hiragino Kaku Gothic ProN","Yu Gothic","Apple SD Gothic Neo","Malgun Gothic",sans-serif;
--f-mono:"JetBrains Mono","SFMono-Regular","Menlo","Consolas","Liberation Mono",-apple-system,"PingFang SC","Microsoft YaHei",monospace;
--text-xs:.75rem;--text-sm:.9375rem;--text-base:1rem;--text-lg:1.125rem;--text-card:1.3125rem;--text-section:2.5rem;--text-display:3.5rem;
--lh-tight:1.15;--lh-heading:1.25;--lh-body:1.6;--lh-label:1.4;
--space-1:.25rem;--space-2:.5rem;--space-3:1rem;--space-4:1.5rem;--space-5:2rem;--space-6:2.5rem;--space-7:3rem;--space-8:4rem;--space-9:5rem;--space-10:6rem;--space-11:7rem;--space-12:8rem;--space-close:10rem;--space-hero:4.5rem;--space-crumb:3rem;--space-field:.5rem;
--radius-sm:.5rem;--radius-md:1rem;--radius-lg:1.5rem;--radius-stage:1.75rem;--radius-arc:2.5rem;--radius-pill:999px;
--width-narrow:48rem;--width-standard:80rem;--width-wide:90rem;--gutter:5rem;
--shadow-menu:0 16px 40px rgba(10,12,16,.28);--shadow-card:0 24px 48px rgba(0,0,0,.32);--focus:0 0 0 3px rgba(208,47,58,.28);
--ease:cubic-bezier(.2,.7,.3,1);--duration:200ms;--header-z:100;--hero-gap:4rem;--hero-media-height:34rem;--control-height:3.25rem;--control-small:2.75rem;--icon-size:1.25rem;--read-heading:1.5rem
}
*{box-sizing:border-box}
html{margin:0;scroll-padding-top:8rem;text-size-adjust:100%;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--f-body);font-size:var(--text-sm);line-height:var(--lh-body);color:var(--ink);background:var(--surface);-webkit-font-smoothing:antialiased}
main{overflow-x:clip}
h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0}
h1,h2,h3,h4,h5,h6{font-family:var(--f-head);font-weight:400;overflow-wrap:break-word}
h1{font-size:var(--text-display);line-height:var(--lh-tight);letter-spacing:-.02em}
h2{font-size:var(--text-section);line-height:var(--lh-tight);letter-spacing:-.02em}
h3{font-size:var(--text-card);line-height:var(--lh-heading)}
h4,h5,h6{font-size:var(--text-base);line-height:var(--lh-heading)}
p,li,figcaption,blockquote,th,td,dt,dd,label{font-size:var(--text-sm);line-height:var(--lh-body)}
small{font-size:var(--text-xs);line-height:var(--lh-label)}
code{font-family:var(--f-mono);font-size:var(--text-sm);line-height:var(--lh-body)}
ul,ol{margin:0;padding:0;list-style:none}
a{color:inherit;text-underline-offset:.2em}
img{display:block;max-width:100%}
svg{vertical-align:middle;flex-shrink:0}
button,input,select,textarea{font-family:var(--f-body);font-size:var(--text-sm);line-height:var(--lh-label)}
button{cursor:pointer}
button,input,select,textarea{margin:0}
button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:.5}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--red);outline-offset:4px}
::selection{background:var(--ice);color:var(--ice-ink)}
.container,.wrap,.container-wide,.container-narrow{width:min(var(--width-standard),calc(100% - var(--gutter)*2));margin-inline:auto}
.container-wide{width:min(var(--width-wide),calc(100% - var(--gutter)*2))}
.container-narrow{width:min(var(--width-narrow),calc(100% - var(--gutter)*2))}
.grid{display:grid;gap:var(--space-4)}
.grid>*,:where(article,section,div,li,dl,form){min-width:0}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.mono,.price,output{font-family:var(--f-mono);font-variant-numeric:tabular-nums lining-nums}
.lead{font-size:var(--text-lg);line-height:var(--lh-body)}
.h2{font-size:var(--text-section);line-height:var(--lh-tight);letter-spacing:-.02em}
.text-muted{color:var(--muted)}
.text-small{font-size:var(--text-xs);line-height:var(--lh-body)}
.stack{display:flex;flex-direction:column;gap:var(--space-4)}
.gap-2{gap:var(--space-2)}
.gap-3{gap:var(--space-3)}
.gap-5{gap:var(--space-5)}
.mt-3{margin-top:var(--space-3)}
.mt-4{margin-top:var(--space-4)}
.mt-6{margin-top:var(--space-6)}
.mt-8{margin-top:var(--space-8)}
.py-section{padding-block:var(--space-12)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.c-reading{max-width:var(--width-narrow);font-size:var(--text-base);line-height:var(--lh-body)}
.c-reading :where(p,li,blockquote){font-size:var(--text-base);line-height:var(--lh-body)}
.c-reading :where(h2,h3){font-size:var(--read-heading);line-height:var(--lh-heading);margin-block:var(--space-6) var(--space-3)}
.c-reading>p+p{margin-top:var(--space-4)}
pre{max-width:100%;overflow-x:auto;background:var(--slate);color:var(--slate-ink);border-radius:var(--radius-md);padding:var(--space-4);font:var(--text-sm)/var(--lh-body) var(--f-mono)}
code{max-width:100%;overflow-x:auto}
p code,li code{display:inline-block;vertical-align:middle}
.reveal{opacity:1;transform:none}
.reveal.is-pending{opacity:0;transform:translateY(16px)}
.reveal.is-pending.reveal-left{transform:translateX(-16px)}
.reveal.is-pending.reveal-right{transform:translateX(16px)}
.reveal.is-observed{transition:opacity 500ms var(--ease),transform 500ms var(--ease)}
@media(max-width:64rem){
:root{--gutter:2rem;--text-display:3rem;--hero-gap:2rem}
.grid-4,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:42rem){
:root{--gutter:1.25rem;--text-display:2.25rem;--text-section:1.875rem;--space-12:4rem;--space-close:5rem;--space-hero:3rem}
.grid-2,.grid-3,.grid-4{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){
*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
.reveal.is-pending,.reveal.is-pending.reveal-left,.reveal.is-pending.reveal-right{opacity:1;transform:none}
}
