:root{--ink: #0B0B0F;--ink-2: #13131A;--ink-3: #1B1B22;--paper: #E9E2D1;--paper-2: #F3ECD9;--paper-dim: #8F897B;--paper-mute:#5B574C;--rule: rgba(233, 226, 209, .14);--rule-soft: rgba(233, 226, 209, .08);--rule-strong: rgba(233, 226, 209, .28);--accent: #B683AE;--accent-soft: rgba(182, 131, 174, .12);--accent-hover: #CA98C3;--amber: #C89A4B;--danger: #B06177;--serif: ui-serif, "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Cascadia Mono", monospace;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, system-ui, sans-serif;--measure: 62ch;--measure-wide: 78ch;--s-1: .25rem;--s-2: .5rem;--s-3: .75rem;--s-4: 1rem;--s-5: 1.5rem;--s-6: 2rem;--s-7: 3rem;--s-8: 4.5rem;--s-9: 6rem;--t-fast: .12s;--t-med: .22s}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{font-size:clamp(15.5px,.35vw + 14px,17.5px);line-height:1.62;color-scheme:dark;-webkit-text-size-adjust:100%;scrollbar-color:var(--paper-mute) var(--ink);scrollbar-width:thin}body{background:var(--ink);color:var(--paper);font-family:var(--serif);font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;min-height:100vh;display:flex;flex-direction:column}::selection{background:var(--accent);color:var(--paper-2)}main{flex:1}h1,h2,h3,h4,h5,h6{font-family:var(--serif);font-weight:600;line-height:1.18;color:var(--paper-2);letter-spacing:-.01em}h1{font-size:clamp(1.85rem,2.4vw + 1rem,2.85rem);font-weight:600}h2{font-size:clamp(1.35rem,1vw + 1rem,1.7rem)}h3{font-size:1.18rem}h4{font-size:1rem}p,li,blockquote{max-width:var(--measure)}a{color:inherit;text-decoration:none;text-decoration-color:var(--rule-strong);text-underline-offset:.18em;transition:color var(--t-fast),text-decoration-color var(--t-fast)}a:hover{text-decoration-color:var(--accent)}img,svg,video{display:block;max-width:100%;height:auto}hr{border:0;height:1px;background:var(--rule);margin:var(--s-6) 0}button,input,select,textarea{font:inherit;color:inherit}code,pre,kbd{font-family:var(--mono)}.wrap{width:100%;max-width:1100px;margin-inline:auto;padding-inline:clamp(1rem,3vw,2rem)}.col-read{max-width:var(--measure)}.col-wide{max-width:var(--measure-wide)}.stack>*+*{margin-top:var(--s-4)}.stack-tight>*+*{margin-top:var(--s-2)}.stack-loose>*+*{margin-top:var(--s-6)}.classbar{font-family:var(--mono);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--paper-dim);padding:var(--s-3) 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);display:flex;gap:var(--s-4);align-items:baseline;flex-wrap:wrap}.classbar .sep{color:var(--rule-strong)}.classbar .accent{color:var(--accent)}.stamp{display:inline-block;font-family:var(--mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--paper-dim)}.stamp--accent{color:var(--accent)}.stamp--amber{color:var(--amber)}.stamp--rule{border:1px solid var(--rule-strong);padding:2px 7px}.meta{font-family:var(--mono);font-size:.76rem;color:var(--paper-dim);letter-spacing:.08em;text-transform:uppercase;display:flex;flex-wrap:wrap;gap:var(--s-3);align-items:baseline}.meta .sep{color:var(--rule-strong)}.meta a{color:var(--paper-dim)}.meta a:hover{color:var(--paper-2)}.masthead{border-bottom:1px solid var(--rule);background:var(--ink)}.masthead-inner{max-width:1100px;margin-inline:auto;padding:var(--s-4) clamp(1rem,3vw,2rem);display:flex;align-items:baseline;gap:var(--s-4) var(--s-5);flex-wrap:wrap}.wordmark{font-family:var(--serif);font-weight:600;font-size:1.08rem;letter-spacing:-.01em;color:var(--paper-2);margin-right:auto}.wordmark .amp{color:var(--accent);font-style:italic;font-weight:400}.masthead-nav{display:flex;gap:var(--s-4);align-items:baseline;font-family:var(--mono);font-size:.78rem;letter-spacing:.06em;flex-wrap:wrap}.masthead-nav a{color:var(--paper-dim);padding-bottom:2px;border-bottom:1px solid transparent;transition:color var(--t-fast),border-color var(--t-fast)}.masthead-nav a:hover{color:var(--paper)}.masthead-nav a.is-active{color:var(--paper-2);border-bottom-color:var(--accent)}.masthead-nav a.is-accent{color:var(--accent)}.masthead-nav a.is-accent:hover{color:var(--accent-hover)}.masthead-nav .mh-sep{height:.85em;width:1px;background:var(--rule-strong);display:inline-block;align-self:center;margin:0 var(--s-1)}.masthead-lang{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}.hero{padding:clamp(3rem,9vw,5.5rem) 0 clamp(2rem,6vw,3.5rem);max-width:var(--measure-wide)}.hero h1{font-family:var(--serif);font-weight:600;font-size:clamp(2.1rem,4vw + .6rem,3.5rem);letter-spacing:-.015em;color:var(--paper-2);line-height:1.05}.hero .lede{margin-top:var(--s-4);font-family:var(--serif);font-size:clamp(1.05rem,.5vw + .95rem,1.18rem);line-height:1.55;color:var(--paper);max-width:52ch}.hero .meta{margin-bottom:var(--s-4)}.index{display:grid;border-top:1px solid var(--rule)}.index-row{display:grid;grid-template-columns:4.5ch 11ch 1fr auto;gap:var(--s-4);align-items:baseline;padding:var(--s-5) 0;border-bottom:1px solid var(--rule-soft);color:var(--paper);transition:background var(--t-fast),border-color var(--t-fast)}.index-row:hover{background:var(--ink-2)}.index-row .idx{font-family:var(--mono);font-size:.72rem;color:var(--paper-mute);letter-spacing:.1em;padding-top:.35em}.index-row .date{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;color:var(--paper-dim);text-transform:uppercase;padding-top:.35em}.index-row h2{font-family:var(--serif);font-size:clamp(1.15rem,.5vw + 1rem,1.35rem);font-weight:600;letter-spacing:-.005em;color:var(--paper-2);line-height:1.25}.index-row .sub{font-family:var(--serif);margin-top:var(--s-1);color:var(--paper-dim);font-size:.98rem;line-height:1.45;max-width:58ch}.index-row .flag{font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;color:var(--paper-dim);align-self:start;padding-top:.5em}.index-row .flag[data-state=paid]{color:var(--accent)}@media (max-width: 720px){.index-row{grid-template-columns:auto 1fr auto;gap:var(--s-2) var(--s-3);padding:var(--s-4) 0}.index-row .idx{display:none}.index-row .date{grid-column:1;padding-top:.2em}.index-row .flag{padding-top:.3em}.index-row h2{grid-column:1 / -1;font-size:1.1rem}.index-row .sub{grid-column:1 / -1;font-size:.92rem}}.dossier{max-width:var(--measure);margin:0 auto var(--s-6);padding-top:var(--s-5)}.dossier-top{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;color:var(--paper-dim);display:flex;justify-content:space-between;align-items:baseline;gap:var(--s-3);padding-bottom:var(--s-3);border-bottom:1px solid var(--rule);margin-bottom:var(--s-5);flex-wrap:wrap}.dossier-top .stamp-id{color:var(--paper-2)}.dossier-top .dossier-lang{color:var(--paper-dim);border-bottom:1px solid transparent}.dossier-top .dossier-lang:hover{color:var(--paper-2);border-bottom-color:var(--accent)}.dossier-title{font-family:var(--serif);font-weight:600;font-size:clamp(1.85rem,2.4vw + .9rem,2.7rem);line-height:1.1;letter-spacing:-.015em;color:var(--paper-2)}.dossier-sub{margin-top:var(--s-3);font-family:var(--serif);font-style:italic;font-size:clamp(1.02rem,.3vw + .98rem,1.15rem);line-height:1.5;color:var(--paper-dim);max-width:54ch}.dossier-meta{margin-top:var(--s-5);font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;color:var(--paper-dim);display:flex;gap:var(--s-3);flex-wrap:wrap}.dossier-meta .sep{color:var(--rule-strong)}.dossier-meta .kind{color:var(--accent)}.prose{max-width:var(--measure);margin:0 auto;font-family:var(--serif);font-size:1.075rem;line-height:1.72;color:var(--paper)}.prose>*+*{margin-top:1.15em}.prose>p:first-of-type:first-letter{font-family:var(--serif);float:left;font-size:3.6em;line-height:.86;padding:.08em .1em 0 0;margin-right:.08em;color:var(--paper-2);font-weight:600}.prose h2{font-family:var(--serif);font-size:1.45rem;font-weight:600;margin-top:2em;color:var(--paper-2);letter-spacing:-.005em}.prose h2:before{content:"§ ";color:var(--paper-mute);font-weight:400}.prose h3{font-family:var(--serif);font-size:1.15rem;font-weight:600;margin-top:1.6em;color:var(--paper-2)}.prose a{color:var(--paper-2);text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:1px;text-underline-offset:.22em}.prose a:hover{color:var(--accent)}.prose blockquote{margin-left:0;padding-left:var(--s-5);border-left:2px solid var(--accent);color:var(--paper-dim);font-style:italic}.prose code{font-family:var(--mono);font-size:.9em;background:var(--ink-2);padding:.1em .35em;border-radius:2px;color:var(--paper-2)}.prose pre{font-family:var(--mono);background:var(--ink-2);padding:var(--s-4);overflow-x:auto;border-left:2px solid var(--rule-strong);font-size:.88rem;line-height:1.55}.prose pre code{background:transparent;padding:0}.prose ul,.prose ol{padding-left:1.5em}.prose li+li{margin-top:.4em}.prose hr{margin:2em 0;background:var(--rule)}.prose img{margin:var(--s-5) 0;border:1px solid var(--rule)}.prose figure{margin:var(--s-5) 0}.prose figcaption{margin-top:var(--s-2);color:var(--paper-dim);font-family:var(--mono);font-size:.75rem;letter-spacing:.08em}.fence-shell{position:relative;max-width:var(--measure);margin:0 auto var(--s-6)}.prose.fenced{max-height:26em;overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(to bottom,#000 55%,transparent);mask-image:linear-gradient(to bottom,#000 55%,transparent)}.fence-seal{max-width:var(--measure);margin:calc(-1 * var(--s-8)) auto 0;border:1px solid var(--rule-strong);background:var(--ink-2);padding:var(--s-6);position:relative;z-index:2}.fence-title{font-family:var(--serif);font-size:clamp(1.15rem,.7vw + 1rem,1.4rem);font-weight:600;color:var(--paper-2);margin-bottom:var(--s-3);letter-spacing:-.005em}.fence-note{font-family:var(--serif);color:var(--paper-dim);max-width:48ch;margin:0 0 var(--s-5);font-size:.98rem;line-height:1.55}.fence-actions{display:flex;gap:var(--s-3);flex-wrap:wrap}.progress{position:fixed;top:0;left:0;right:0;height:2px;background:transparent;z-index:60;pointer-events:none}.progress-bar{height:100%;background:var(--accent);width:var(--_w, 0%);transition:width var(--t-fast) linear}.input,input[type=email],input[type=text],input[type=password]{font-family:var(--mono);font-size:.95rem;background:var(--ink-2);color:var(--paper-2);border:1px solid var(--rule-strong);padding:.75em .9em;width:100%;border-radius:2px;transition:border-color var(--t-fast)}.input:focus,input:focus{outline:none;border-color:var(--accent)}.btn{display:inline-block;font-family:var(--mono);font-size:.78rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;background:var(--accent);color:var(--paper-2);border:1px solid var(--accent);padding:.82em 1.4em;cursor:pointer;border-radius:2px;transition:background var(--t-fast),border-color var(--t-fast)}.btn:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn--ghost{background:transparent;color:var(--paper);border:1px solid var(--rule-strong)}.btn--ghost:hover{border-color:var(--paper);color:var(--paper-2);background:transparent}.card{background:var(--ink-2);border:1px solid var(--rule-strong);padding:var(--s-6);border-radius:3px;max-width:var(--measure)}.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--s-4);margin-top:var(--s-5)}.plan{background:var(--ink-2);border:1px solid var(--rule-strong);padding:var(--s-5);border-radius:3px;display:flex;flex-direction:column;gap:var(--s-3);position:relative}.plan h3{font-family:var(--mono);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--paper-dim);font-weight:500}.plan .price{font-family:var(--serif);font-size:2rem;font-weight:600;color:var(--paper-2);letter-spacing:-.015em}.plan .price small{font-family:var(--mono);font-size:.7rem;color:var(--paper-dim);font-weight:400;margin-left:.3em;letter-spacing:.12em;text-transform:uppercase}.plan .price-alt{font-size:.72rem;color:var(--paper-dim);letter-spacing:.14em;margin-top:-.2rem}.plan .note{color:var(--paper-dim);font-size:.94rem;line-height:1.5;flex:1;font-family:var(--serif)}.plan[data-featured=true]{border-color:var(--accent)}.plan[data-featured=true]:before{content:"BEST VALUE";position:absolute;top:-.7em;left:var(--s-4);background:var(--ink);color:var(--accent);font-family:var(--mono);font-size:.65rem;letter-spacing:.28em;padding:0 .5em}.dl{display:grid;grid-template-columns:minmax(10ch,max-content) 1fr;gap:var(--s-3) var(--s-6);font-family:var(--mono);font-size:.88rem;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:var(--s-5) 0}.dl dt{color:var(--paper-dim);font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;padding-top:.3em}.dl dd{color:var(--paper-2)}.dl dd.muted{color:var(--paper-dim)}.dl dd.accent{color:var(--accent)}.dl dd.amber{color:var(--amber)}.section{margin-top:var(--s-7)}.section-head{font-family:var(--mono);font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;color:var(--paper-dim);padding-bottom:var(--s-3);border-bottom:1px solid var(--rule);margin-bottom:var(--s-5)}.notice{border:1px solid var(--rule-strong);background:var(--ink-2);padding:var(--s-4) var(--s-5);display:grid;grid-template-columns:auto 1fr auto;gap:var(--s-4);align-items:center;font-family:var(--serif);color:var(--paper)}.notice[data-kind=warn]{border-color:var(--amber)}.notice[data-kind=warn] .notice-label{color:var(--amber)}.notice[data-kind=danger]{border-color:var(--accent)}.notice[data-kind=danger] .notice-label{color:var(--accent)}.notice-label{font-family:var(--mono);font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--paper-dim)}.notice-body{font-size:.96rem;line-height:1.5}@media (max-width: 640px){.notice{grid-template-columns:1fr}}.foot{margin-top:var(--s-9);border-top:1px solid var(--rule-soft);padding:var(--s-5) 0 var(--s-6);font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--paper-dim)}.foot-inner{max-width:1100px;margin-inline:auto;padding-inline:clamp(1rem,3vw,2rem);display:flex;flex-wrap:wrap;gap:var(--s-4) var(--s-5);justify-content:space-between;align-items:baseline}.foot a{color:var(--paper-dim)}.foot a:hover{color:var(--paper)}.foot .links{display:flex;flex-wrap:wrap;gap:var(--s-5)}.mono{font-family:var(--mono)}.sans{font-family:var(--sans)}.serif{font-family:var(--serif)}.dim{color:var(--paper-dim)}.bright{color:var(--paper-2)}.accent{color:var(--accent)}.amber{color:var(--amber)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition-duration:0ms!important;animation-duration:0ms!important}html{scroll-behavior:auto}}
