:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#e4d8c7;--surface:#eee3d4;--border:#aa927d;--ink:#261b16;--muted:#715b4d;--ocean:#173234;--navy:#173f5f;--verdigris:#3f8580;--signal:#a94b32;--brass:#b88a3d;--lantern:#f4efde;--action-bg:var(--ocean);--action-fg:var(--lantern);--action-hover:var(--navy);--action-active:var(--ocean);--link:var(--ink);--link-hover:var(--ocean);--focus:var(--ocean);--control-border:var(--muted);--selected-bg:var(--ocean);--selected-fg:var(--lantern);--code-bg:var(--ocean);--code-fg:var(--lantern);--sans:"Poppins", sans-serif;--reading:"Literata", Georgia, serif;--mono:"IBM Plex Mono", monospace;--ease-out:cubic-bezier(.16, 1, .3, 1);--route-duration:.26s}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#211d19;--surface:#2c241f;--border:#705b49;--ink:#f3eadc;--muted:#bea78f;--ocean:#10292b;--navy:#1b4668;--verdigris:#69aaa4;--signal:#df6d4d;--brass:#d2ad63;--action-bg:var(--verdigris);--action-fg:var(--ocean);--action-hover:#8cc5be;--action-active:#78b8b1;--link:var(--verdigris);--link-hover:#a4d8d1;--focus:var(--verdigris);--selected-bg:var(--ocean)}*{box-sizing:border-box}html{scrollbar-color:var(--border) var(--bg);scroll-padding-top:36px}body{background:var(--bg);color:var(--ink);font-family:var(--reading);caret-color:var(--focus);margin:0;font-size:16px;line-height:1.75}::selection{background:var(--selected-bg);color:var(--selected-fg)}a{color:var(--link);text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{color:var(--link-hover)}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--focus);outline-offset:5px;border-radius:3px}main:focus{outline:none}svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex:none}.arrow{vertical-align:-.15em;width:18px;height:18px}h1,h2,h3,dt{font-family:var(--sans);text-wrap:balance;font-weight:600;line-height:1.3}h1{letter-spacing:-.035em;margin:0 0 22px;font-size:clamp(36px,4vw,56px)}h2{letter-spacing:-.025em;margin:0 0 14px;font-size:26px}h3{letter-spacing:-.01em;margin:0 0 18px;font-size:17px}p{margin:0 0 20px}code{font-family:var(--mono);font-size:.875em}.site-shell{width:min(1088px,100%);margin-inline:auto;padding:0 36px}.header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;min-height:88px;display:flex}.wordmark{font:600 19px/1.4 var(--sans);letter-spacing:-.025em;color:var(--ink);align-items:baseline;text-decoration:none;display:flex}.wordmark-family{letter-spacing:0;color:var(--muted);margin-left:6px;font-size:12px;font-weight:400}.header-actions{align-items:center;gap:22px;display:flex}.source-link{min-height:44px;font:400 12px/1.4 var(--sans);align-items:center;gap:7px;text-decoration:none;display:inline-flex}.theme-toggle{border:1px solid var(--control-border);width:44px;height:44px;color:var(--ink);background:0 0;border-radius:8px;place-items:center;display:grid}.theme-toggle svg{width:19px;height:19px}.theme-toggle:hover{background:var(--surface)}.theme-toggle:active{background:var(--selected-bg);color:var(--selected-fg)}.reading-layout{grid-template-columns:190px minmax(0,1fr);gap:64px;margin-top:64px;display:grid}.contents{align-self:start;position:sticky;top:36px}.contents-nav{padding-left:17px;display:grid;position:relative}.contents-nav a{min-height:44px;font:400 13px/1.45 var(--sans);color:var(--muted);align-items:center;text-decoration:none;display:flex}.contents-nav a[aria-current]{color:var(--link-hover);font-weight:600}.reading-mark{background:var(--focus);width:1px;height:24px;transform:translateY(var(--mark-y,0px));transition:transform var(--route-duration) var(--ease-out);position:absolute;top:10px;left:0}.contents-nav[data-active=skills]{--mark-y:44px}.contents-nav[data-active=stack]{--mark-y:88px}main{min-width:0;max-width:720px}.intro{scroll-margin-top:36px}.lead{letter-spacing:-.012em;margin-bottom:26px;font-size:23px;line-height:1.6}.intro>p:not(.lead),.article section>p,.closing-note p{max-width:68ch}.collection{margin-top:64px;scroll-margin-top:36px}.section-copy{color:var(--muted);margin-bottom:36px}.skill-group+.skill-group{margin-top:44px}.skill-rows{border-top:1px solid var(--border)}.skill-row{border-bottom:1px solid var(--border);grid-template-columns:185px minmax(0,1fr) 18px;align-items:baseline;gap:22px;padding:23px 0;text-decoration:none;display:grid}.skill-name{font:400 14px/1.6 var(--sans);color:var(--ink)}.skill-summary{color:var(--muted);font-size:14px;line-height:1.7}.skill-row>svg{color:var(--focus);align-self:start;margin-top:3px}.skill-row:hover .skill-name{color:var(--link-hover);text-underline-offset:4px;text-decoration:underline}.skill-row:hover .skill-summary{color:var(--ink)}.closing-note{border-top:1px solid var(--border);margin-top:68px;padding-top:34px}.text-link{min-height:44px;font:400 13px/1.5 var(--sans);align-items:center;gap:7px;display:inline-flex}.footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:24px;margin-top:96px;padding:30px 0 36px;display:flex}.footer-brand{align-items:center;gap:14px;display:flex}.footer-brand img{object-fit:contain;width:44px;height:44px}.footer p{margin:0;font-size:11px;line-height:1.9}.footer .tagline{color:var(--muted);font-size:11px}.footer>a{min-height:44px;font:400 11px/1.5 var(--sans);align-items:center;gap:6px;display:inline-flex}.reference-nav{border-top:1px solid var(--border);margin-top:26px;padding:22px 0 0 17px;display:grid}.reference-nav a{min-height:44px;font:400 11px/1.6 var(--sans);color:var(--muted);align-items:center;padding:8px 0;text-decoration:none;display:flex}.reference-nav a[aria-current]{color:var(--link-hover);font-weight:600}.reference-nav a:hover{color:var(--link-hover);text-decoration:underline}.article-header{margin-bottom:46px}.article-header h1{font-size:clamp(32px,3.4vw,44px)}.skill-id{color:var(--muted);overflow-wrap:anywhere;font-size:12px;display:inline-block}.article>section{margin-top:44px}.method-list{margin:24px 0 0}.method-list div+div{margin-top:26px}.method-list dt{margin-bottom:7px;font-size:14px}.method-list dd{margin:0;font-size:15px}.prompt{background:var(--surface);border:1px solid var(--border);border-radius:8px;margin:22px 0 0;padding:22px 24px}.prompt p{margin:0}.command{background:var(--code-bg);color:var(--code-fg);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;padding:19px 16px 19px 22px;display:grid}.command code{overflow-wrap:anywhere;padding-top:7px;font-size:12px;line-height:1.8}.copy{border:1px solid var(--code-fg);min-width:80px;min-height:44px;color:var(--code-fg);font:400 11px/1.4 var(--sans);background:0 0;border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:8px 12px;display:flex}.copy:hover{color:var(--code-bg);background:var(--code-fg)}.copy:focus-visible{outline-color:var(--code-fg)}.copy svg{width:16px;height:16px}.small-copy{color:var(--muted);margin-top:16px;font-size:13px}.reference-note{border-top:1px solid var(--border);border-bottom:1px solid var(--border);color:var(--muted);margin-top:44px;padding:22px 0;font-size:13px}.reference-note p{margin:0}.origin-list{border-top:1px solid var(--border);margin:24px 0 0;padding:0;list-style:none}.origin-list li{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 24px;padding-block:12px;display:flex}.origin-list a{min-height:44px;font:400 14px/1.5 var(--sans);align-items:center;gap:8px;display:inline-flex}.origin-author{font:400 14px/1.6 var(--sans);color:var(--muted)}.origin-selection{color:var(--muted);margin-top:16px;font-size:14px}.reference-sources{justify-items:start;display:grid}.reference-sources a,.back-link{min-height:44px;font:400 13px/1.5 var(--sans);align-items:center;gap:7px;display:inline-flex}.back-link{margin-top:40px}.stack-intro{margin-bottom:50px}.stack-actions{flex-wrap:wrap;gap:8px 30px;display:flex}.stack-source{border-top:1px solid var(--border);padding:29px 0}.stack-source h2{margin-bottom:3px;font-size:19px}.stack-source>.text-link{font-size:12px}.stack-skills{font:400 12px/1.75 var(--mono);overflow-wrap:anywhere;flex-wrap:wrap;gap:10px 24px;margin-top:16px;display:flex}.stack-skills a{min-height:28px}.stack-skills span{color:var(--muted)}.skip{z-index:10;background:var(--action-bg);color:var(--action-fg);border-radius:8px;padding:12px 20px;position:absolute;top:-90px;left:24px}.skip:focus{top:12px}.skip:hover{color:var(--action-fg);background:var(--action-hover)}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.header{view-transition-name:atlas-header}.contents-nav{view-transition-name:atlas-contents}main{view-transition-name:atlas-page}::view-transition-group(*){animation-duration:var(--route-duration);animation-timing-function:var(--ease-out)}::view-transition-old(root){animation:none}::view-transition-new(root){animation:none}::view-transition-old(atlas-header){animation:none}::view-transition-new(atlas-header){animation:none}::view-transition-old(atlas-contents){animation:none}::view-transition-new(atlas-contents){animation:none}::view-transition-old(atlas-page){animation:chapter-out .14s var(--ease-out) both}::view-transition-new(atlas-page){animation:chapter-in var(--route-duration) var(--ease-out) both}::view-transition-image-pair(atlas-page){isolation:auto}::view-transition-old(atlas-page){mix-blend-mode:normal}::view-transition-new(atlas-page){mix-blend-mode:normal}::view-transition-group(skill-title){z-index:1}::view-transition-old(skill-title){object-fit:contain;object-position:left top;height:100%}::view-transition-new(skill-title){object-fit:contain;object-position:left top;height:100%}:root[data-direction=back]::view-transition-new(atlas-page){animation-name:chapter-back}:root[data-navigation=keyboard] .reading-mark{transition:none}@keyframes chapter-out{to{opacity:0;transform:translateY(-6px)}}@keyframes chapter-in{0%{opacity:0;clip-path:inset(0 0 4%);transform:translateY(14px)}to{opacity:1;clip-path:inset(0);transform:none}}@keyframes chapter-back{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}@media (hover:hover) and (pointer:fine){.skill-row .arrow{transition:transform .18s var(--ease-out)}.skill-row:hover .arrow{transform:translate(2px,-2px)}}@media (width<=820px){.site-shell{padding-inline:28px}.reading-layout{grid-template-columns:150px minmax(0,1fr);gap:36px;margin-top:48px}.skill-row{grid-template-columns:1fr 18px;gap:8px 18px;padding-block:22px}.skill-name{grid-column:1}.skill-summary{grid-area:2/1}.skill-row>svg{grid-area:1/2}}@media (width<=640px){html{scroll-padding-top:26px}.site-shell{padding-inline:24px}.header{gap:12px;min-height:78px}.wordmark{font-size:18px}.wordmark-family{display:none}.header-actions{gap:17px}.reading-layout{margin-top:23px;display:block}.contents{margin-bottom:42px;position:static}.contents-nav{gap:27px;width:max-content;padding:0;display:flex}.contents-nav a{min-height:44px;font-size:12px}.reading-mark{display:none}.contents-nav a[aria-current]{text-underline-offset:9px;text-decoration:underline}h1{margin-bottom:19px;font-size:44px}h2{font-size:23px}.lead{margin-bottom:25px;font-size:20px;line-height:1.6}.intro>p:not(.lead){font-size:15px}.collection{margin-top:46px}.section-copy{margin-bottom:30px;font-size:15px}.skill-group+.skill-group{margin-top:36px}.skill-summary{font-size:14px}.closing-note{margin-top:50px;padding-top:28px}.closing-note p{font-size:15px}.footer{align-items:flex-start;margin-top:64px;padding:26px 0}.footer-brand{gap:10px}.footer-brand img{width:36px;height:36px}.footer p{font-size:11px}.footer .tagline{max-width:29ch;font-size:11px}.footer>a{font-size:11px}.reference-nav{display:none}.article-header h1{font-size:32px}.article-header{margin-bottom:34px}.article>section{margin-top:34px}.command{grid-template-columns:1fr;gap:10px;padding:16px}.command code{padding:0}.copy{justify-self:end}.prompt{padding:20px}.stack-actions{justify-items:start;gap:7px;display:grid}.stack-skills{gap:12px 18px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reading-mark,.skill-row .arrow{transition:none}.skill-row:hover .arrow{transform:none}::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}
