:root{color-scheme:light;--shell:#e6e9ec;--surface:#ffffff;--surface-2:#f4f6f7;--surface-3:#edf1f3;--ink-0:#111417;--ink-1:#5d6873;--ink-2:#6e7882;--ink-3:#7e8893;--mint:#0e6e5c;--mint-ink:#0a5848;--signal:#15c47a;--signal-ink:#0a8a54;--amber:#8a6a2b;--azure:#426b7f;--line:#e2e6e9;--line-strong:#cfd7dd;--grid:rgba(17,20,23,.035);--r-card:8px;--r-row:10px;--r-panel:16px;--r-media:16px;--r-pill:14px;--sh-pill:0 1px 2px rgba(17,20,23,.05), 0 4px 14px rgba(17,20,23,.07);--sh-card:0 1px 3px rgba(17,20,23,.05), 0 12px 30px rgba(17,20,23,.07);--sh-surface:0 2px 10px rgba(17,20,23,.04), 0 30px 70px rgba(17,20,23,.07);--font-display:ui-rounded,"SF Pro Rounded","Hiragino Maru Gothic ProN",system-ui,-apple-system,sans-serif;--font-body:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-technical:ui-monospace,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;--font-editorial:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--container:1060px;--measure:720px;--ease:cubic-bezier(.22,.61,.36,1);--dur-1:.16s;--dur-2:.26s;--dur-3:.42s}*{box-sizing:border-box}html,body{margin:0;padding:0}html{scroll-behavior:smooth;background:var(--shell)}body{min-height:100vh;font:16.5px/1.6 var(--font-body);color:var(--ink-0);background:var(--shell);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}::selection{background:#15c47a38;color:var(--ink-0)}a{color:inherit}:where(a,button,.btn,.nav-row):focus-visible{outline:2px solid var(--mint);outline-offset:3px;border-radius:var(--focus-radius, var(--r-card));corner-shape:squircle}.scene{position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(135deg,#ffffff70,#fff0 38%),linear-gradient(180deg,#edf1f3,#e4e8eb)}.scene:before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:30px 30px;mask-image:linear-gradient(180deg,#00000014,#00000080 18%,#00000052 76%,#00000014);-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.5) 18%,rgba(0,0,0,.32) 76%,rgba(0,0,0,.08))}.shell{display:grid;grid-template-columns:248px minmax(0,1fr);gap:16px;width:min(100%,1380px);min-height:100vh;margin:0 auto;padding:16px;align-items:start}.sidebar{position:sticky;top:16px;min-width:0;height:calc(100vh - 32px);display:flex;flex-direction:column;gap:10px;padding:8px 4px}.surface{min-width:0;min-height:calc(100vh - 32px);padding:clamp(24px,3.4vw,52px);background:var(--surface);border:1px solid rgba(255,255,255,.74);border-radius:var(--r-panel);box-shadow:var(--sh-surface)}:where(.surface,.brand-mark,.nav-row,.btn,.chip,.strip span,.card,.card .icon,.media-frame,.media-frame .inner,.tabs,.tabs button,.post-link,.article table,.article img,.article picture,.article figure>svg,.taxonomy-link,.bio-side,.social-links a,.topo,.topo svg,.wp-subnav-wrap,.wp-subnav a){corner-shape:squircle}.wrap{width:min(var(--container),100%);margin:0 auto}.wrap-narrow{width:min(var(--measure),100%);margin:0 auto}main{position:relative}section{position:relative;padding:var(--space-16) 0}section:first-child{padding-top:0}section+section{border-top:1px solid var(--line)}.section-head{max-width:var(--measure);margin-bottom:var(--space-10)}.divider{height:1px;background:var(--line);margin:var(--space-8) 0}.brand{display:flex;align-items:center;gap:11px;padding:8px 10px 18px;color:var(--ink-0);font-weight:700;text-decoration:none}.brand-mark{position:relative;width:34px;height:34px;flex:0 0 34px;border-radius:8px;background:var(--surface);border:1px solid rgba(17,20,23,.1);box-shadow:var(--sh-pill);display:grid;place-items:center;color:var(--mint);font:800 18px/1 var(--font-display)}.brand-mark:after{content:"L";transform:translateY(-1px)}.brand-name{font:780 1.04rem/1 var(--font-display);letter-spacing:0}.brand-name .muted{color:var(--ink-2);font-weight:650}.links{display:flex;flex-direction:column;gap:4px}.nav-row{--focus-radius:var(--r-row);position:relative;display:flex;align-items:center;gap:12px;min-height:44px;padding:11px 14px;border-radius:var(--r-row);color:var(--ink-1);font:680 .96rem/1 var(--font-body);text-decoration:none;transition:background var(--dur-1) var(--ease),color var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease)}.nav-row svg,.btn svg{width:20px;height:20px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nav-row:hover{color:var(--ink-0);background:#1114170b}.nav-row:active{transform:translateY(1px)}.nav-row[aria-current=page]{color:var(--ink-0);background:var(--surface);box-shadow:var(--sh-pill)}.nav-row[aria-current=page] svg{color:var(--mint)}.nav-row[aria-current=page]:after{content:"";width:7px;height:7px;margin-left:auto;border-radius:50%;background:var(--signal);box-shadow:0 0 0 3px #15c47a2e}.side-cta{margin-top:auto;display:flex;flex-direction:column;gap:8px;padding-top:12px}h1,h2,h3,h4,h5{margin:0 0 14px;color:var(--ink-0);font-family:var(--font-display);line-height:1.1;font-weight:780;letter-spacing:0}h1{font-size:clamp(2.7rem,5.4vw,4.25rem);line-height:1.02;font-weight:820}h2{font-size:clamp(1.85rem,3vw,2.55rem);line-height:1.08}h3{font-size:1.18rem;line-height:1.2}h4{font-size:1.05rem}p{margin:0 0 14px;color:var(--ink-1)}p.lead{font-size:1.13rem;line-height:1.62;color:var(--ink-1)}em{color:var(--ink-0);font-style:normal;font-weight:inherit}.h-mute{color:var(--ink-1)}.sig{display:inline;padding:0 .04em .02em;background:linear-gradient(transparent 62%,#15c47a33 0);color:var(--ink-0);-webkit-box-decoration-break:clone;box-decoration-break:clone}.gradient-title{color:var(--ink-0);background:none;-webkit-text-fill-color:currentColor}.muted{color:var(--ink-2)}.accent{color:var(--mint)}.eyebrow{display:inline-block;margin-bottom:14px;color:var(--ink-2);font-size:.9rem}.btn{--focus-radius:var(--r-pill);display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:11px 18px;border-radius:var(--r-pill);border:1px solid transparent;background:var(--surface);color:var(--ink-0);font:700 .95rem/1 var(--font-body);text-decoration:none;cursor:pointer;box-shadow:var(--sh-pill);transition:box-shadow var(--dur-1) var(--ease),background var(--dur-1) var(--ease),color var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease)}.btn:hover{border-color:var(--line-strong);box-shadow:var(--sh-pill)}.btn:active{box-shadow:0 1px 2px #1114170d}.btn-primary,.btn.primary{background:var(--mint);color:#fff;border-color:var(--mint)}.btn-primary:hover,.btn.primary:hover{background:var(--mint-ink);border-color:var(--mint-ink)}.btn-ghost,.btn.ghost{background:var(--surface);color:var(--ink-0);border-color:var(--line)}.chip-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.chip{display:inline-flex;align-items:center;min-height:30px;padding:7px 12px;border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--line);color:var(--ink-1);font:700 .76rem/1 var(--font-technical);letter-spacing:.01em;white-space:nowrap}.chip:before{display:none}.grid{display:grid;gap:18px}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{position:relative;min-width:0;padding:clamp(18px,2vw,26px);border-radius:var(--r-card);background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-card);transition:box-shadow var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease),background var(--dur-1) var(--ease)}.card:hover{box-shadow:var(--sh-card);border-color:var(--line-strong)}.card .icon{width:36px;height:36px;border-radius:8px;display:grid;place-items:center;margin-bottom:16px;background:#15c47a1f;color:var(--mint)}.card .icon svg{width:19px;height:19px}.card .ord{position:absolute;top:16px;right:18px;font:700 .72rem/1 var(--font-technical);color:var(--ink-3);letter-spacing:.03em}.media-frame{background:var(--surface);padding:14px;border-radius:var(--r-media);border:1px solid var(--line);box-shadow:var(--sh-card);transition:border-color var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease)}.media-frame:hover{border-color:var(--line-strong);box-shadow:var(--sh-card)}.media-frame .inner{border-radius:calc(var(--r-media) - 4px);overflow:hidden;background:#0d1117}.tabs{display:flex;gap:6px;width:max-content;max-width:100%;padding:4px;margin-bottom:24px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface-2);overflow:auto}.tabs button{--focus-radius:var(--r-pill);appearance:none;border:0;background:transparent;color:var(--ink-1);padding:10px 15px;border-radius:var(--r-pill);font:750 13.5px/1 var(--font-body);cursor:pointer;white-space:nowrap;transition:color var(--dur-1) var(--ease),background var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease)}.tabs button:hover{color:var(--ink-0)}.tabs button.active{background:var(--surface);color:var(--mint);box-shadow:var(--sh-pill)}.panel{display:none;animation:fade var(--dur-3) var(--ease)}.panel.active{display:block}@keyframes fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.pull{padding:28px 0 28px 28px;border-left:3px solid var(--signal);border-radius:0;font-family:var(--font-editorial);font-style:normal;font-size:1.3rem;line-height:1.5;font-weight:600;color:var(--ink-0)}.pull small{display:block;margin-top:18px;font:700 .74rem/1 var(--font-technical);color:var(--ink-2);text-transform:uppercase;letter-spacing:.08em}code{font-family:var(--font-technical);font-size:.9em;color:var(--mint-ink);background:#0e6e5c14;padding:2px 5px;border-radius:5px}pre{background:#101417;border:1px solid rgba(17,20,23,.14);border-radius:var(--r-card);padding:18px;overflow-x:auto;color:#e8ece9;font-family:var(--font-technical);font-size:13.5px;line-height:1.6}pre code{background:none;color:inherit;padding:0}.reveal{transition:opacity var(--dur-3) var(--ease),transform var(--dur-3) var(--ease);transition-delay:var(--reveal-delay, 0ms)}.js-reveal .reveal{opacity:0;transform:translateY(8px)}.js-reveal .reveal.in,.js-reveal .hero .reveal,.js-reveal .hero.reveal{opacity:1;transform:none}.strip{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px}.strip span{display:inline-flex;align-items:center;min-height:30px;padding:7px 13px;border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--line);color:var(--ink-1);font-size:13px}.strip span b{color:var(--ink-0);font-weight:750}.post-list{display:flex;flex-direction:column;gap:10px;margin-top:30px}.post-link{display:grid;grid-template-columns:120px 1fr auto;gap:22px;align-items:start;padding:18px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--sh-pill);text-decoration:none;transition:box-shadow var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease),background var(--dur-1) var(--ease)}.post-link:hover{box-shadow:var(--sh-card);border-color:var(--line-strong)}.post-link .meta{color:var(--ink-2);font:.78rem/1.35 var(--font-technical);letter-spacing:.03em;margin:0;padding-top:3px}.post-link h3{margin:0 0 6px;color:var(--ink-0);font-family:var(--font-display);font-size:1.25rem;font-weight:780;line-height:1.2}.post-link p{margin:0;color:var(--ink-1);font-size:.95rem;line-height:1.5}.post-link .arrow{align-self:center;color:var(--mint);font:800 18px/1 var(--font-technical);transition:transform var(--dur-1) var(--ease)}.post-link:hover .arrow{transform:translate(2px)}.article{margin:0 auto;padding:0;background:transparent;border:0}.article header{margin-bottom:36px;padding-bottom:24px;border-bottom:1px solid var(--line)}.article h1{font-size:clamp(2.3rem,4.4vw,3.5rem);margin-bottom:16px}.article .meta{color:var(--ink-2);font:.78rem/1.4 var(--font-technical);letter-spacing:.06em;text-transform:uppercase}.article :where(h2,h3,h4){margin-top:36px}.article h2{font-size:2rem}.article p,.article li{font-family:var(--font-body);font-size:1.02rem;line-height:1.7}.article a{color:var(--mint-ink);text-decoration:underline;text-decoration-color:#0e6e5c59;text-decoration-thickness:1px;text-underline-offset:3px}.article a:hover{text-decoration-color:var(--mint)}.article ul,.article ol{color:var(--ink-1);padding-left:22px}.article li{margin-bottom:8px}.article blockquote{margin:26px 0;padding:8px 0 8px 24px;border-left:3px solid var(--signal);font-family:var(--font-body);font-style:normal;font-size:1.04rem;line-height:1.68;color:var(--ink-0);background:transparent}.article table{width:min(980px,100%);margin:30px 0 34px;border-collapse:separate;border-spacing:0;table-layout:fixed;color:var(--ink-1);font-size:.96rem;line-height:1.55;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;box-shadow:var(--sh-pill)}.article th,.article td{padding:16px 18px;vertical-align:top;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.article th:last-child,.article td:last-child{border-right:0}.article tr:last-child td{border-bottom:0}.article th{color:var(--ink-0);background:var(--surface-2);font-family:var(--font-body);font-weight:800;text-align:left}.article th:first-child,.article td:first-child{width:22%;color:var(--ink-0);font-weight:750}.article td code{font-size:.92em;white-space:nowrap}.article hr{border:0;height:1px;background:var(--line);margin:36px 0}.article figure{margin:32px 0}.article img,.article picture,.article figure>svg{display:block;max-width:100%;height:auto;border-radius:var(--r-media);border:1px solid var(--line);box-shadow:var(--sh-card);overflow:hidden}.article figcaption{margin-top:10px;color:var(--ink-2);font:700 .76rem/1.45 var(--font-technical)}.sym{display:inline-flex;width:18px;height:18px;vertical-align:middle;color:currentColor}.sym svg{width:100%;height:100%}.site-footer{margin-top:var(--space-16);padding:var(--space-12) 0 0;border-top:1px solid var(--line);color:var(--ink-2);font-size:14px}.site-footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:36px}.site-footer h5{margin:0 0 14px;font:760 .74rem/1 var(--font-technical);color:var(--ink-2);text-transform:uppercase;letter-spacing:.08em}.site-footer a{color:var(--ink-1);text-decoration:none;transition:color var(--dur-1) var(--ease)}.site-footer a:hover{color:var(--mint)}.site-footer .bottom{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-top:36px;padding-top:18px;border-top:1px solid var(--line);font:700 .76rem/1.4 var(--font-technical);color:var(--ink-2);letter-spacing:.03em}:global(.link-ink),.link-ink{color:var(--ink-0);text-decoration:underline;text-decoration-color:#0e6e5c73;text-decoration-thickness:1px;text-underline-offset:4px;transition:text-decoration-color var(--dur-1) var(--ease),text-underline-offset var(--dur-1) var(--ease)}:global(.link-ink:hover),.link-ink:hover{text-decoration-color:var(--mint);text-underline-offset:6px}@media (prefers-reduced-motion: no-preference){::view-transition-old(root){animation:page-out .18s var(--ease) both}::view-transition-new(root){animation:page-in .32s var(--ease) both}@keyframes page-out{0%{opacity:1}to{opacity:0}}@keyframes page-in{0%{opacity:0;transform:translateY(6px) scale(.995)}to{opacity:1;transform:none}}}@media (max-width:1040px){.shell{grid-template-columns:220px minmax(0,1fr)}}@media (max-width:860px){body{font-size:16px}.shell{grid-template-columns:1fr;gap:10px;padding:10px}.sidebar{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px;padding:8px;background:var(--surface);border-radius:var(--r-panel);box-shadow:var(--sh-surface)}.brand{padding:6px 8px}.links{flex:1 1 100%;flex-direction:row;flex-wrap:wrap;gap:4px;order:3}.nav-row{min-height:38px;padding:9px 11px;font-size:.9rem}.nav-row svg{width:18px;height:18px}.nav-row[aria-current=page]:after{display:none}.side-cta{margin:0 0 0 auto;padding:0;flex-direction:row}.surface{min-height:auto;padding:clamp(18px,5vw,28px)}section{padding:var(--space-12) 0}.grid.cols-3,.grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.article table{display:block;width:100%;min-width:0;overflow-x:auto;table-layout:auto}.article th,.article td{min-width:210px;padding:14px 16px}.article td:first-child{min-width:170px}.site-footer .cols{grid-template-columns:1fr}}@media (max-width:680px){.grid.cols-2,.grid.cols-3,.grid.cols-4{grid-template-columns:1fr}.brand-name{font-size:1rem}.post-link{grid-template-columns:1fr;gap:8px}.post-link .arrow{display:none}}@media (max-width:480px){.surface{border-radius:14px}.side-cta{flex:1 1 100%;flex-direction:column}.side-cta .btn{width:100%}.links{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible;padding-bottom:0}.nav-row{min-height:54px;flex-direction:column;justify-content:center;gap:5px;padding:8px 4px;font-size:.75rem;border-radius:var(--r-row)}.nav-row svg{width:17px;height:17px}.nav-row span{white-space:nowrap}.btn{width:auto}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}.reveal{opacity:1!important;transform:none!important;transition:none}.post-link:hover .arrow{transform:none}::view-transition-old(root),::view-transition-new(root){animation:none!important}}.skip-link{position:absolute;left:12px;top:-60px;z-index:100;padding:10px 16px;border-radius:var(--r-pill);background:var(--surface);color:var(--ink-0);border:1px solid var(--line-strong);box-shadow:var(--sh-card);font:700 .9rem/1 var(--font-body);text-decoration:none;transition:top var(--dur-1) var(--ease)}.skip-link:focus-visible{top:12px}.stack-sm{margin-top:var(--space-4)}.stack-md{margin-top:var(--space-6)}.section-top{padding-top:var(--space-20)}@media print{html,body{background:#fff}.scene,.sidebar,.side-cta,.wp-subnav-wrap,.site-footer,.skip-link{display:none!important}.shell{display:block;width:auto;min-height:0;margin:0;padding:0;gap:0}.surface{min-height:0;padding:0;border:0;border-radius:0;box-shadow:none;background:#fff}body{color:#000;-webkit-print-color-adjust:exact;print-color-adjust:exact}section{padding:18px 0;border-top:1px solid #ccc}section:first-child{border-top:0}.card,.tl-item,.flow,.principio,.pull,figure,.topo,table{break-inside:avoid}section>.wrap>.section-head h2{break-after:avoid}.topo svg{background:#fff!important}.topo svg [fill="#f1ead9"]{fill:#111!important}.topo svg [fill="#c8c3b3"]{fill:#444!important}.topo svg [fill="#8d8a7d"]{fill:#666!important}.article a[href^=http]:after{content:" (" attr(href) ")";font-size:.85em;color:#555}}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}.social-links[data-astro-cid-zamss57n]{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px}.social-links--center[data-astro-cid-zamss57n]{justify-content:center}.social-links[data-astro-cid-zamss57n] a[data-astro-cid-zamss57n]{display:inline-flex;align-items:center;gap:9px;min-height:42px;padding:10px 14px;border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-pill);color:var(--ink-1);text-decoration:none;font-size:13px;line-height:1;font-family:var(--font-technical);transition:border-color var(--dur-1) var(--ease),color var(--dur-1) var(--ease),background var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease)}.social-links[data-astro-cid-zamss57n] a[data-astro-cid-zamss57n]:hover{color:var(--ink-0);background:var(--surface);border-color:var(--line-strong);box-shadow:var(--sh-pill)}.social-links[data-astro-cid-zamss57n] .icon[data-astro-cid-zamss57n]{display:inline-grid;place-items:center;width:18px;height:18px;color:var(--ink-2);transition:color .2s ease}.social-links[data-astro-cid-zamss57n] a[data-astro-cid-zamss57n]:hover .icon[data-astro-cid-zamss57n]{color:var(--mint)}.social-links--icons[data-astro-cid-zamss57n] a[data-astro-cid-zamss57n]{padding:0;width:42px;height:42px;justify-content:center;border-radius:var(--r-card)}.social-links--icons[data-astro-cid-zamss57n] .label[data-astro-cid-zamss57n]{display:none}.visually-hidden[data-astro-cid-zamss57n]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
