:root{
--bg:#F6F6F3;--paper:#F6F6F3;--white:#FFFFFF;--ink:#1C1D17;--ink2:#3E3F36;--muted:#626357;--soft:#68695D;
--olive:#6A6B1E;--brass:#A06F09;--brass-hover:#8C6107;--brass-hi:#B07A0A;--amber:#A06F09;--price:#23506B;
--s1:#E8EEF3;--i1:#22384A;--s2:#EEE9F2;--i2:#3D2E52;--s3:#E6F0EC;--i3:#1F4237;--s4:#F3E9E4;--i4:#5A3324;
--line:#E4E4DC;--line-dark:#505147;--control-line:#898B7E;--focus:#6A6B1E;--selection:#E8DCA7;--selected-row:#FBF6EA;--row:#FAFAF7;
--sans:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","PingFang TC","Microsoft JhengHei","Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo","Apple SD Gothic Neo","Malgun Gothic",sans-serif;
--mono:"SFMono-Regular","SF Mono","Menlo","Consolas","Liberation Mono",monospace;
--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.125rem;--text-lg:1.35rem;--text-section:2.5rem;--text-display:3.75rem;
--leading-body:1.7;--leading-copy:1.75;--leading-title:1.25;--leading-display:1.16;--leading-control:1.4;
--space-1:.25rem;--space-2:.5rem;--space-3:1rem;--space-4:1.5rem;--space-5:2rem;--space-6:2.5rem;--space-7:3.5rem;--space-8:4rem;--space-9:6rem;--space-10:8rem;
--field-gap:.5rem;--kicker-gap:1.25rem;--action-gap:2rem;--action-follow:2rem;--hero-pad:6rem;--hero-crumb-pad:3rem;--crumb-gap:1.5rem;
--gutter:1.5rem;--width-read:60rem;--width-standard:75rem;--width-wide:85rem;
--r-s:6px;--r-m:12px;--r-l:20px;--r-xl:32px;--radius-sm:6px;--radius-pill:999px;
--shadow-card:0 1px 2px rgba(28,29,23,.05),0 14px 34px -20px rgba(28,29,23,.22);
--shadow-hover:0 2px 4px rgba(28,29,23,.05),0 22px 40px -22px rgba(28,29,23,.3);
--shadow-stage:0 34px 70px -34px rgba(40,42,20,.32),0 2px 6px rgba(40,42,20,.05);
--ease:cubic-bezier(.2,.7,.2,1);--duration:200ms;--header-height:4.5rem;--z-header:100;--z-dialog:200;
}
*,:before,:after{box-sizing:border-box}
html{scroll-padding-top:calc(var(--header-height) + var(--space-4));-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:var(--text-base);line-height:var(--leading-body);-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(--sans);font-weight:800;overflow-wrap:break-word}
h1{font-size:clamp(2.25rem,4.17vw,var(--text-display));line-height:var(--leading-display);letter-spacing:-.027em}
h2{font-size:clamp(1.75rem,3vw,var(--text-section));line-height:var(--leading-title);letter-spacing:-.025em}
h3{font-size:var(--text-lg);line-height:1.35;letter-spacing:-.014em}
h4{font-size:var(--text-md);line-height:var(--leading-title)}
h5{font-size:var(--text-base);line-height:var(--leading-title)}
h6{font-size:var(--text-sm);line-height:var(--leading-title)}
p,li{font-size:var(--text-base);line-height:var(--leading-body)}
small{font-size:var(--text-sm);line-height:var(--leading-control)}
figcaption{font-size:var(--text-sm);line-height:var(--leading-body)}
blockquote{font-size:var(--text-md);line-height:var(--leading-copy)}
code{font-family:var(--mono);font-size:var(--text-sm);line-height:var(--leading-body);font-variant-numeric:tabular-nums}
th,td,dt,dd{font-size:var(--text-sm);line-height:var(--leading-body)}
label{font-size:var(--text-sm);line-height:var(--leading-control)}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
img,svg{vertical-align:middle;max-width:100%}
img{height:auto}
svg{flex-shrink:0}
button svg,a svg{width:1.25rem;height:1.25rem}
button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:.6}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--focus);outline-offset:4px}
::selection{background:var(--selection);color:var(--ink)}
.container,.wrap{width:min(calc(100% - var(--gutter)*2),var(--width-standard));margin-inline:auto}
.container--read,.narrow{width:min(calc(100% - var(--gutter)*2),var(--width-read));margin-inline:auto}
.container--wide{width:min(calc(100% - var(--gutter)*2),var(--width-wide));margin-inline:auto}
.grid{display:grid;gap:var(--space-4);align-items:stretch}
.grid>*{min-width:0}
.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid--3{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr))}
.grid--4{grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr))}
.stack{display:flex;flex-direction:column;gap:var(--space-4)}
.cluster{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3)}
.mono,.price{font-family:var(--mono);font-variant-numeric:tabular-nums}
.price{color:var(--price);font-weight:600}
.hl{color:var(--amber)}
.center{text-align:center}
.muted{color:var(--muted)}
.mt-3{margin-top:var(--space-3)}
.mt-4{margin-top:var(--space-4)}
.mt-5{margin-top:var(--space-5)}
.mt-8{margin-top:var(--space-8)}
.gap-2{gap:var(--space-2)}
.gap-4{gap:var(--space-4)}
.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-read);font-size:var(--text-base);line-height:var(--leading-copy)}
.c-reading :where(h2,h3){font-size:1.5rem;line-height:1.4;margin-block:var(--space-6) var(--space-3)}
.c-reading :where(p,ul,ol,blockquote,figure,.table-scroll){margin-block:var(--space-4)}
.c-reading :where(a){text-decoration:underline;text-underline-offset:.2em}
.c-reading :where(ul,ol){padding-inline-start:var(--space-5)}
pre{max-width:100%;overflow-x:auto;padding:var(--space-4);border-radius:var(--r-m);background:var(--white);color:var(--ink);font-size:var(--text-sm);line-height:var(--leading-body)}
code{overflow-wrap:break-word}
:not(pre)>code{display:inline-block;max-width:100%;overflow-x:auto;vertical-align:middle}
.reveal{opacity:1;transform:none}
.reveal.is-pending{opacity:0;transform:translateY(var(--space-4));transition:opacity 650ms var(--ease),transform 650ms var(--ease)}
.reveal.reveal-left.is-pending{transform:translateX(calc(-1 * var(--space-4)))}
.reveal.reveal-right.is-pending{transform:translateX(var(--space-4))}
@media(max-width:64rem){.grid--2{gap:var(--space-4)}}
@media(max-width:42rem){:root{--gutter:1rem;--hero-pad:4rem;--space-10:5rem}.grid--2{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal.is-pending{opacity:1;transform:none}}
