@font-face{font-family:Fraunces;src:url(/fonts/fraunces-var.woff2)format("woff2");font-weight:400 800;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter-var.woff2)format("woff2");font-weight:400 700;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-var.woff2)format("woff2");font-weight:500 700;font-display:swap}:root{--paper:#fbf5ea;--paper-deep:#f3e8d4;--card:#fffcf6;--ink:#2b1d14;--ink-soft:#5c4a3d;--line:#dccdb5;--tomato:#d9472b;--tomato-dark:#b5361d;--potato:#f2b33d;--basil:#3f6b4a;--font-display:"Fraunces", Georgia, serif;--font-body:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, Consolas, monospace;--gutter:16px;--measure:68ch;--radius:14px;--shadow:0 1px 0 #2b1d140f, 0 8px 24px -12px #2b1d1440}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font:400 1.0625rem/1.65 var(--font-body);margin:0;overflow-x:hidden}img{max-width:100%;height:auto}a{color:var(--tomato-dark);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{color:var(--tomato)}:focus-visible{outline:3px solid var(--potato);outline-offset:2px;border-radius:4px}h1,h2,h3{font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.01em;margin:0 0 .5em;line-height:1.12}h1{font-size:clamp(2.1rem,7.5vw,3.6rem);font-weight:700}h2{font-size:clamp(1.55rem,5vw,2.2rem);font-weight:650}h3{font-size:1.25rem;font-weight:650}p{margin:0 0 1em}.wrap{width:100%;max-width:1120px;padding:0 var(--gutter);margin:0 auto}.narrow{max-width:calc(var(--measure) + 2 * var(--gutter))}.section{padding:48px 0}@media (width>=768px){.section{padding:80px 0}}.eyebrow{font:600 .78rem/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--tomato-dark);margin-bottom:12px;display:block}.lead{color:var(--ink-soft);font-size:1.15rem}.skip{position:absolute;left:-999px}.skip:focus{left:var(--gutter);z-index:10;background:var(--card);padding:8px 12px;top:8px}.btn{min-height:48px;font:600 1rem/1 var(--font-body);border:2px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 20px;text-decoration:none;display:inline-flex}.btn:hover{background:var(--tomato-dark);border-color:var(--tomato-dark);color:var(--paper)}.btn-ghost{color:var(--ink);background:0 0}.btn-ghost:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}.receipt{background:var(--card);box-shadow:var(--shadow);font-family:var(--font-mono);--tear:10px;margin:0 0 var(--tear);border-radius:6px;padding:20px 20px 24px;font-size:.92rem;position:relative}.receipt:after{content:"";left:0;right:0;bottom:calc(-1 * var(--tear));height:var(--tear);background:linear-gradient(-45deg, transparent 70%, var(--card) 70%) 0 0 / 14px 14px repeat-x, linear-gradient(45deg, transparent 70%, var(--card) 70%) 0 0 / 14px 14px repeat-x;position:absolute}.receipt-title{letter-spacing:.1em;text-transform:uppercase;text-align:center;margin:0 0 4px;font-weight:700}.receipt-sub{text-align:center;color:var(--ink-soft);margin:0 0 12px;font-size:.8rem}.receipt hr{border:0;border-top:2px dashed var(--line);margin:12px 0}.receipt dl{grid-template-columns:minmax(0,1fr) auto;gap:6px clamp(6px,3vw,16px);margin:0;display:grid}.receipt dt{color:var(--ink-soft)}.receipt dd{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;margin:0;font-weight:700}.receipt .total dt,.receipt .total dd{color:var(--ink);font-size:1.05rem}.receipt .good,.receipt .bad{border-radius:4px;padding:1px 6px}.receipt .good{color:var(--basil);background:#e3efe4}.receipt .bad{color:var(--tomato-dark);background:#f9e0da}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px}.grid{gap:16px;display:grid}@media (width>=640px){.grid-2{grid-template-columns:repeat(2,1fr)}}@media (width>=960px){.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}}@media (width>=640px) and (width<=959px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}.prose{max-width:var(--measure)}.prose h2{margin-top:1.8em;font-size:clamp(1.4rem,4.5vw,1.85rem)}.prose h3{margin-top:1.6em}.prose ul,.prose ol{margin:0 0 1em;padding-left:1.3em}.prose li{margin-bottom:.35em}.prose blockquote{border-left:4px solid var(--potato);background:var(--paper-deep);border-radius:0 10px 10px 0;margin:1.4em 0;padding:14px 18px}.prose blockquote p:last-child{margin-bottom:0}.prose img{border-radius:10px}.prose table{border-collapse:collapse;width:100%;margin:1.2em 0;font-size:.95rem;display:block;overflow-x:auto}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--line);padding:8px 10px}.prose td:not(:first-child),.prose th:not(:first-child){font-family:var(--font-mono);font-variant-numeric:tabular-nums}.prose code{font-family:var(--font-mono);background:var(--paper-deep);border-radius:4px;padding:.1em .35em;font-size:.9em}.note{background:var(--paper-deep);border:1px dashed var(--tomato);border-radius:10px;padding:12px 16px;font-size:.95rem}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.logo[data-astro-cid-f7espo7c]{align-items:center;gap:8px;display:inline-flex}.logo-text[data-astro-cid-f7espo7c]{font:700 1.3rem/1 var(--font-display);letter-spacing:-.02em;color:var(--ink)}.site-header[data-astro-cid-hkbrpulz]{border-bottom:1px solid var(--line);background:var(--paper)}.header-inner[data-astro-cid-hkbrpulz]{grid-template-columns:1fr auto;align-items:center;gap:6px 16px;padding-top:12px;padding-bottom:6px;display:grid}.home-link[data-astro-cid-hkbrpulz]{text-decoration:none}.lang[data-astro-cid-hkbrpulz]{font:600 .85rem/1 var(--font-mono);color:var(--ink);padding:10px 0 10px 10px}nav[data-astro-cid-hkbrpulz]{grid-column:1/-1}nav[data-astro-cid-hkbrpulz] ul[data-astro-cid-hkbrpulz]{gap:4px;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}nav[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]{color:var(--ink);white-space:nowrap;border-radius:999px;padding:10px 12px;font-weight:600;text-decoration:none;display:block}nav[data-astro-cid-hkbrpulz] li[data-astro-cid-hkbrpulz]:first-child a[data-astro-cid-hkbrpulz]{margin-left:-12px}nav[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]:hover,nav[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz][aria-current=page]{background:var(--paper-deep)}@media (width>=768px){.header-inner[data-astro-cid-hkbrpulz]{grid-template-columns:auto 1fr auto;padding-top:14px;padding-bottom:14px}nav[data-astro-cid-hkbrpulz]{grid-area:1/2;justify-self:end}nav[data-astro-cid-hkbrpulz] li[data-astro-cid-hkbrpulz]:first-child a[data-astro-cid-hkbrpulz]{margin-left:0}}.site-footer[data-astro-cid-hkbrpulz]{background:var(--ink);color:var(--paper-deep);margin-top:48px;padding:40px 0 28px;font-size:.95rem}.site-footer[data-astro-cid-hkbrpulz] .logo-text{color:var(--paper)}.footer-inner[data-astro-cid-hkbrpulz]{gap:20px;display:grid}.site-footer[data-astro-cid-hkbrpulz] ul[data-astro-cid-hkbrpulz]{gap:4px;margin:0;padding:0;list-style:none;display:grid}.site-footer[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]{color:var(--paper);padding:6px 0;display:inline-block}.site-footer[data-astro-cid-hkbrpulz] p[data-astro-cid-hkbrpulz]{margin:10px 0 0}.copy[data-astro-cid-hkbrpulz]{font:500 .8rem/1 var(--font-mono);opacity:.7}@media (width>=768px){.footer-inner[data-astro-cid-hkbrpulz]{grid-template-columns:2fr 1fr}.copy[data-astro-cid-hkbrpulz]{grid-column:1/-1}}
