:root{color-scheme:light;--shell:#e6e9ec;--surface:#fff;--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:#11141709;--r-card:8px;--r-row:10px;--r-panel:16px;--r-media:16px;--r-pill:14px;--sh-pill:0 1px 2px #1114170d, 0 4px 14px #11141712;--sh-card:0 1px 3px #1114170d, 0 12px 30px #11141712;--sh-surface:0 2px 10px #1114170a, 0 30px 70px #11141712;--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{color:var(--ink-0);background:#15c47a38}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{z-index:-1;pointer-events:none;background:linear-gradient(135deg,#ffffff70,#fff0 38%),linear-gradient(#edf1f3 0%,#e4e8eb 100%);position:fixed;inset:0}.scene:before{content:"";background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);background-size:30px 30px;position:absolute;inset:0;mask-image:linear-gradient(#00000014,#00000080 18%,#00000052 76%,#00000014)}.shell{grid-template-columns:248px minmax(0,1fr);align-items:start;gap:16px;width:min(100%,1380px);min-height:100vh;margin:0 auto;padding:16px;display:grid}.sidebar{flex-direction:column;gap:10px;min-width:0;height:calc(100vh - 32px);padding:8px 4px;display:flex;position:sticky;top:16px}.surface{background:var(--surface);border-radius:var(--r-panel);min-width:0;min-height:calc(100vh - 32px);box-shadow:var(--sh-surface);border:1px solid #ffffffbd;padding:clamp(24px,3.4vw,52px)}: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{padding:var(--space-16) 0;position:relative}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{background:var(--line);height:1px;margin:var(--space-8) 0}.brand{color:var(--ink-0);align-items:center;gap:11px;padding:8px 10px 18px;font-weight:700;text-decoration:none;display:flex}.brand-mark{background:var(--surface);width:34px;height:34px;box-shadow:var(--sh-pill);color:var(--mint);font:800 18px/1 var(--font-display);border:1px solid #1114171a;border-radius:8px;flex:0 0 34px;place-items:center;display:grid;position:relative}.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{flex-direction:column;gap:4px;display:flex}.nav-row{--focus-radius:var(--r-row);border-radius:var(--r-row);min-height:44px;color:var(--ink-1);font:680 .96rem/1 var(--font-body);transition:background var(--dur-1) var(--ease), color var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease);align-items:center;gap:12px;padding:11px 14px;text-decoration:none;display:flex;position:relative}.nav-row svg,.btn svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}.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:"";background:var(--signal);border-radius:50%;width:7px;height:7px;margin-left:auto;box-shadow:0 0 0 3px #15c47a2e}.side-cta{flex-direction:column;gap:8px;margin-top:auto;padding-top:12px;display:flex}h1,h2,h3,h4,h5{color:var(--ink-0);font-family:var(--font-display);letter-spacing:0;margin:0 0 14px;font-weight:780;line-height:1.1}h1{font-size:clamp(2.7rem,5.4vw,4.25rem);font-weight:820;line-height:1.02}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{color:var(--ink-1);margin:0 0 14px}p.lead{color:var(--ink-1);font-size:1.13rem;line-height:1.62}em{color:var(--ink-0);font-style:normal;font-weight:inherit}.h-mute{color:var(--ink-1)}.sig{color:var(--ink-0);box-decoration-break:clone;background:linear-gradient(#0000 62%,#15c47a33 0);padding:0 .04em .02em;display:inline}.gradient-title{color:var(--ink-0);-webkit-text-fill-color:currentColor;background:0 0}.muted{color:var(--ink-2)}.accent{color:var(--mint)}.eyebrow{color:var(--ink-2);margin-bottom:14px;font-size:.9rem;display:inline-block}.btn{--focus-radius:var(--r-pill);border-radius:var(--r-pill);background:var(--surface);min-height:44px;color:var(--ink-0);font:700 .95rem/1 var(--font-body);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);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:11px 18px;text-decoration:none;display:inline-flex}.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{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chip{border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--line);min-height:30px;color:var(--ink-1);font:700 .76rem/1 var(--font-technical);letter-spacing:.01em;white-space:nowrap;align-items:center;padding:7px 12px;display:inline-flex}.chip:before{display:none}.grid{gap:18px;display:grid}.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{border-radius:var(--r-card);background:var(--surface);border:1px solid var(--line);min-width:0;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);padding:clamp(18px,2vw,26px);position:relative}.card:hover{box-shadow:var(--sh-card);border-color:var(--line-strong)}.card .icon{width:36px;height:36px;color:var(--mint);background:#15c47a1f;border-radius:8px;place-items:center;margin-bottom:16px;display:grid}.card .icon svg{width:19px;height:19px}.card .ord{font:700 .72rem/1 var(--font-technical);color:var(--ink-3);letter-spacing:.03em;position:absolute;top:16px;right:18px}.media-frame{background:var(--surface);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);padding:14px}.media-frame:hover{border-color:var(--line-strong);box-shadow:var(--sh-card)}.media-frame .inner{border-radius:calc(var(--r-media) - 4px);background:#0d1117;overflow:hidden}.tabs{border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface-2);gap:6px;width:max-content;max-width:100%;margin-bottom:24px;padding:4px;display:flex;overflow:auto}.tabs button{--focus-radius:var(--r-pill);appearance:none;color:var(--ink-1);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);background:0 0;border:0;padding:10px 15px}.tabs button:hover{color:var(--ink-0)}.tabs button.active{background:var(--surface);color:var(--mint);box-shadow:var(--sh-pill)}.panel{animation:fade var(--dur-3) var(--ease);display:none}.panel.active{display:block}@keyframes fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.pull{border-left:3px solid var(--signal);font-family:var(--font-editorial);color:var(--ink-0);border-radius:0;padding:28px 0 28px 28px;font-size:1.3rem;font-style:normal;font-weight:600;line-height:1.5}.pull small{font:700 .74rem/1 var(--font-technical);color:var(--ink-2);text-transform:uppercase;letter-spacing:.08em;margin-top:18px;display:block}code{font-family:var(--font-technical);color:var(--mint-ink);background:#0e6e5c14;border-radius:5px;padding:2px 5px;font-size:.9em}pre{border-radius:var(--r-card);color:#e8ece9;font-family:var(--font-technical);background:#101417;border:1px solid #11141724;padding:18px;font-size:13.5px;line-height:1.6;overflow-x:auto}pre code{color:inherit;background:0 0;padding:0}.reveal{transition:opacity var(--dur-3) var(--ease), transform var(--dur-3) var(--ease);transition-delay:var(--reveal-delay,0s)}.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{flex-wrap:wrap;gap:8px;margin-top:32px;display:flex}.strip span{border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--line);min-height:30px;color:var(--ink-1);align-items:center;padding:7px 13px;font-size:13px;display:inline-flex}.strip span b{color:var(--ink-0);font-weight:750}.post-list{flex-direction:column;gap:10px;margin-top:30px;display:flex}.post-link{border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--sh-pill);transition:box-shadow var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease), background var(--dur-1) var(--ease);grid-template-columns:120px 1fr auto;align-items:start;gap:22px;padding:18px;text-decoration:none;display:grid}.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{color:var(--ink-0);font-family:var(--font-display);margin:0 0 6px;font-size:1.25rem;font-weight:780;line-height:1.2}.post-link p{color:var(--ink-1);margin:0;font-size:.95rem;line-height:1.5}.post-link .arrow{color:var(--mint);font:800 18px/1 var(--font-technical);transition:transform var(--dur-1) var(--ease);align-self:center}.post-link:hover .arrow{transform:translate(2px)}.article{background:0 0;border:0;margin:0 auto;padding:0}.article header{border-bottom:1px solid var(--line);margin-bottom:36px;padding-bottom:24px}.article h1{margin-bottom:16px;font-size:clamp(2.3rem,4.4vw,3.5rem)}.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-underline-offset:3px;text-decoration:underline 1px #0e6e5c59}.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{border-left:3px solid var(--signal);font-family:var(--font-body);color:var(--ink-0);background:0 0;margin:26px 0;padding:8px 0 8px 24px;font-size:1.04rem;font-style:normal;line-height:1.68}.article table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:min(980px,100%);color:var(--ink-1);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--sh-pill);margin:30px 0 34px;font-size:.96rem;line-height:1.55;overflow:hidden}.article th,.article td{vertical-align:top;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 18px}.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);text-align:left;font-weight:800}.article th:first-child,.article td:first-child{width:22%;color:var(--ink-0);font-weight:750}.article td code{white-space:nowrap;font-size:.92em}.article hr{background:var(--line);border:0;height:1px;margin:36px 0}.article figure{margin:32px 0}.article img,.article picture,.article figure>svg{border-radius:var(--r-media);border:1px solid var(--line);max-width:100%;height:auto;box-shadow:var(--sh-card);display:block;overflow:hidden}.article figcaption{color:var(--ink-2);font:700 .76rem/1.45 var(--font-technical);margin-top:10px}.sym{vertical-align:middle;color:currentColor;width:18px;height:18px;display:inline-flex}.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{grid-template-columns:2fr 1fr 1fr;gap:36px;display:grid}.site-footer h5{font:760 .74rem/1 var(--font-technical);color:var(--ink-2);text-transform:uppercase;letter-spacing:.08em;margin:0 0 14px}.site-footer a{color:var(--ink-1);transition:color var(--dur-1) var(--ease);text-decoration:none}.site-footer a:hover{color:var(--mint)}.site-footer .bottom{border-top:1px solid var(--line);font:700 .76rem/1.4 var(--font-technical);color:var(--ink-2);letter-spacing:.03em;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:36px;padding-top:18px;display:flex}.link-ink{color:var(--ink-0);text-underline-offset:4px;transition:text-decoration-color var(--dur-1) var(--ease), text-underline-offset var(--dur-1) var(--ease);text-decoration:underline 1px #0e6e5c73}.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 (width<=1040px){.shell{grid-template-columns:220px minmax(0,1fr)}}@media (width<=860px){body{font-size:16px}.shell{grid-template-columns:1fr;gap:10px;padding:10px}.sidebar{background:var(--surface);border-radius:var(--r-panel);height:auto;box-shadow:var(--sh-surface);flex-flow:wrap;align-items:center;gap:8px;padding:8px;position:static}.brand{padding:6px 8px}.links{flex-flow:wrap;flex:100%;order:3;gap:4px}.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{flex-direction:row;margin:0 0 0 auto;padding:0}.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{table-layout:auto;width:100%;min-width:0;display:block;overflow-x: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 (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 (width<=480px){.surface{border-radius:14px}.side-cta{flex-direction:column;flex:100%}.side-cta .btn{width:100%}.links{grid-template-columns:repeat(4,minmax(0,1fr));width:100%;padding-bottom:0;display:grid;overflow:visible}.nav-row{border-radius:var(--r-row);flex-direction:column;justify-content:center;gap:5px;min-height:54px;padding:8px 4px;font-size:.75rem}.nav-row svg{width:17px;height:17px}.nav-row span{white-space:nowrap}.btn{width:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.reveal{transition:none;opacity:1!important;transform:none!important}.post-link:hover .arrow{transform:none}::view-transition-old(root),::view-transition-new(root){animation:none!important}}.skip-link{z-index:100;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);transition:top var(--dur-1) var(--ease);padding:10px 16px;text-decoration:none;position:absolute;top:-60px;left:12px}.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{gap:0;width:auto;min-height:0;margin:0;padding:0;display:block}.surface{min-height:0;box-shadow:none;background:#fff;border:0;border-radius:0;padding:0}body{color:#000;print-color-adjust:exact}section{border-top:1px solid #ccc;padding:18px 0}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) ")";color:#555;font-size:.85em}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}.social-links[data-astro-cid-y2qsmizv]{flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}.social-links--center[data-astro-cid-y2qsmizv]{justify-content:center}.social-links[data-astro-cid-y2qsmizv] a[data-astro-cid-y2qsmizv]{border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--line);min-height:42px;box-shadow:var(--sh-pill);color:var(--ink-1);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);align-items:center;gap:9px;padding:10px 14px;text-decoration:none;display:inline-flex}.social-links[data-astro-cid-y2qsmizv] a[data-astro-cid-y2qsmizv]:hover{color:var(--ink-0);background:var(--surface);border-color:var(--line-strong);box-shadow:var(--sh-pill)}.social-links[data-astro-cid-y2qsmizv] .icon[data-astro-cid-y2qsmizv]{width:18px;height:18px;color:var(--ink-2);place-items:center;transition:color .2s;display:inline-grid}.social-links[data-astro-cid-y2qsmizv] a[data-astro-cid-y2qsmizv]:hover .icon[data-astro-cid-y2qsmizv]{color:var(--mint)}.social-links--icons[data-astro-cid-y2qsmizv] a[data-astro-cid-y2qsmizv]{border-radius:var(--r-card);justify-content:center;width:42px;height:42px;padding:0}.social-links--icons[data-astro-cid-y2qsmizv] .label[data-astro-cid-y2qsmizv]{display:none}.visually-hidden[data-astro-cid-y2qsmizv]{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
