:root{--bg:var(--aura-bg);--surface:var(--aura-surface);--surface-raised:var(--aura-surface-raised);--fg:var(--aura-fg);--muted:var(--aura-muted);--metadata:var(--aura-metadata);--border:var(--aura-border);--accent:var(--aura-accent);--accent-ink:var(--aura-accent-ink);--selection:var(--aura-selection);--font-sans:var(--aura-font-sans);--font-mono:var(--aura-font-mono);--font-signature:var(--aura-font-signature);--font-display:var(--font-sans);--font-body:var(--font-sans);--font-label:var(--font-mono);--accent-label:var(--accent);--control-border:var(--border);--step--1:clamp(.72rem, .7rem + .08vw, .78rem);--step-0:clamp(.91rem, .87rem + .18vw, 1rem);--step-1:clamp(1.08rem, 1rem + .35vw, 1.25rem);--step-2:clamp(1.35rem, 1.18rem + .72vw, 1.75rem);--step-3:clamp(1.75rem, 1.4rem + 1.45vw, 2.5rem);--step-4:clamp(2.55rem, 1.75rem + 3.4vw, 4.5rem);--radius-sm:var(--aura-radius-sm);--radius-md:var(--aura-radius-md);--radius-lg:var(--aura-radius-lg);--shadow-sm:var(--aura-shadow-sm);--shadow-md:var(--aura-shadow-md);--shadow-lg:var(--aura-shadow-lg);--shadow-inset:var(--aura-shadow-inset);--shadow-focus:var(--aura-shadow-focus);--ease-out:var(--aura-ease-out);--ease-in-out:var(--aura-ease-in-out);--gutter:80px;--page:min(1200px, calc(100vw - 2 * var(--gutter) - env(safe-area-inset-left) - env(safe-area-inset-right)));--section-gap:clamp(56px, 7vw, 104px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}img,svg,video,canvas{max-width:100%;height:auto}html{-webkit-tap-highlight-color:transparent;scroll-behavior:auto}body{background:var(--bg);min-width:320px;color:var(--fg);font-family:var(--font-sans);text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.6;overflow-x:clip}a{color:inherit;touch-action:manipulation;text-decoration:none}button{font:inherit;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}summary{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}::selection{color:var(--fg);background:var(--selection)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.skip-link{z-index:100;min-height:44px;color:var(--accent-ink);background:var(--accent);border-radius:6px;align-items:center;padding:10px 14px;font-weight:600;display:inline-flex;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.eyebrow,.section-number{color:var(--metadata);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:500;display:block}.signature{color:var(--fg);font-family:var(--font-signature);white-space:nowrap;padding:0 2px 4px;font-weight:400;line-height:1.3;display:inline-block}.btn,.button-primary{min-height:48px;font-family:var(--font-sans);text-align:center;cursor:pointer;transition:transform .16s var(--ease-out), filter .16s var(--ease-out), background-color .16s var(--ease-out);border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;padding:0 28px;font-size:16px;font-weight:600;line-height:1.2;display:inline-flex}.btn:active,.button-primary:active{transform:scale(.97)}.btn-primary,.button-primary{color:var(--accent-ink);background:var(--accent);box-shadow:var(--shadow-sm), var(--shadow-inset)}.btn-outline{color:var(--fg);border-color:var(--border);background:0 0}.btn-ink{min-height:46px;color:var(--fg);border-color:var(--border);background:var(--surface);padding:0 24px}.btn-sm{min-height:44px;padding:0 20px;font-size:15px}.text-link{min-height:44px;color:var(--accent);transition:transform .16s var(--ease-out), filter .16s var(--ease-out);align-items:center;font-weight:600;display:inline-flex}.text-link:active{transform:scale(.97)}.site-header{z-index:20;padding-top:env(safe-area-inset-top);border-bottom:1px solid var(--border);background:var(--bg);position:sticky;top:0}.header-inner{width:var(--page);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:32px;min-height:76px;margin:0 auto;display:grid}.brand-lockup{justify-self:start;align-items:center;min-width:0;min-height:44px;display:inline-flex}.brand-lockup .signature{font-size:clamp(2.125rem,3vw,2.75rem)}.section-nav{align-items:center;gap:8px;display:flex}.section-nav a{min-height:44px;color:var(--muted);border-bottom:1px solid #0000;align-items:center;padding:0 12px;font-size:15px;transition:color .15s,border-color .15s;display:inline-flex}.section-nav a[aria-current=true]{color:var(--fg);border-color:var(--accent)}.header-actions{align-items:center;display:flex}.mobile-menu{display:none;position:relative}.mobile-menu summary{border:1px solid var(--border);min-width:64px;min-height:44px;color:var(--fg);background:var(--surface);cursor:pointer;transition:transform .16s var(--ease-out), background-color .16s ease;border-radius:6px;justify-content:center;align-items:center;padding:10px 14px;font-size:14px;font-weight:600;list-style:none;display:inline-flex}.mobile-menu summary:active:not(:focus-visible){transform:scale(.97)}.mobile-menu summary:focus-visible{transition:none}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu[open] summary{border-color:var(--accent);background:var(--surface-raised)}.mobile-menu-panel{width:min(304px,100vw - 24px);max-height:calc(100dvh - 90px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overscroll-behavior:contain;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm);transform-origin:100% 0;padding:8px;position:absolute;top:calc(100% + 10px);right:0;overflow-y:auto}.mobile-menu-panel a{border-bottom:1px solid var(--border);min-height:48px;color:var(--muted);justify-content:space-between;align-items:center;padding:12px;font-size:15px;display:flex}.mobile-menu-panel a:last-child{border-bottom:0}.mobile-menu-panel a[aria-current=true]{color:var(--fg)}main{width:var(--page);margin:0 auto}.hero{flex-direction:column;gap:clamp(24px,2.8vw,40px);padding-top:clamp(40px,5vw,72px);display:flex}.hero .eyebrow{color:var(--muted)}.hero-title{letter-spacing:-.035em;text-wrap:balance;max-width:16ch;margin:0;font-size:clamp(2.75rem,5.8vw,5.5rem);font-weight:750;line-height:1}.hero-turn{color:var(--accent)}.hero-row{justify-content:space-between;align-items:flex-end;gap:48px;display:flex}.hero-deck{max-width:640px;color:var(--muted);margin:0;font-size:clamp(1.0625rem,1.4vw,1.25rem);line-height:1.55}.hero-actions{flex-shrink:0;gap:12px;display:flex}.facts{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:repeat(4,minmax(0,1fr));margin:clamp(16px,2.2vw,32px) 0 0;display:grid}.fact{flex-direction:column;gap:8px;min-width:0;padding:28px 24px;display:flex}.fact:first-child{padding-left:0}.fact:last-child{padding-right:0}.fact+.fact{border-left:1px solid var(--border)}.fact dt{color:var(--metadata);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:12px}.fact dd{align-items:flex-start;gap:10px;margin:0;font-size:19px;font-weight:650;line-height:1.35;display:flex}.section{padding-top:var(--section-gap);flex-direction:column;gap:clamp(24px,3.3vw,48px);scroll-margin-top:100px;display:flex}.section-head{flex-direction:column;gap:16px;display:flex}.section-head--split{flex-direction:row;justify-content:space-between;align-items:flex-end;gap:24px}.section-title{letter-spacing:-.03em;text-wrap:balance;margin:0;font-size:clamp(2.25rem,4.5vw,3.75rem);font-weight:700;line-height:1.05}.section-lead{max-width:620px;color:var(--muted);margin:0;font-size:clamp(1rem,1.25vw,1.125rem);line-height:1.55}.system-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px clamp(32px,6vw,72px);display:grid}.system-entry{border-top:1px solid var(--border);flex-direction:column;gap:14px;min-width:0;padding-top:18px;display:flex}.system-entry h3{letter-spacing:-.02em;margin:0;font-size:clamp(1.4rem,2vw,1.75rem);font-weight:650;line-height:1.15}.system-copy{gap:10px;display:grid}.system-copy p{color:var(--muted);margin:0;font-size:15px;line-height:1.65}.system-copy p+p{color:var(--fg)}.tags{flex-wrap:wrap;gap:0;margin:0;padding:0;list-style:none;display:flex}.tag{color:var(--metadata);font-family:var(--font-mono);font-size:12px;line-height:1.8}.tag+.tag:before{content:"·";color:var(--metadata);margin:0 .55em}.row-list{border-top:1px solid var(--border);flex-direction:column;display:flex}.row-link{border-bottom:1px solid var(--border);min-height:44px;transition:background-color .16s var(--ease-out), transform .16s var(--ease-out);justify-content:space-between;align-items:center;gap:24px;padding:clamp(18px,1.7vw,24px) 0;display:flex}.row-link:active,.notes-list-row:active{transform:scale(.985)}.row-copy{flex-direction:column;gap:6px;min-width:0;display:flex}.row-title{overflow-wrap:anywhere;font-size:clamp(1.3125rem,2vw,1.75rem);font-weight:700;line-height:1.1;transition:color .15s}.row-desc{color:var(--muted);font-size:15px;line-height:1.5}.row-date{color:var(--metadata);font-family:var(--font-mono);flex-shrink:0;font-size:12px}.route{border-top:1px solid var(--border);margin:0;padding:0;list-style:none}.route-step{border-bottom:1px solid var(--border);grid-template-columns:240px minmax(0,300px) minmax(0,1fr);align-items:baseline;gap:24px;padding:24px 0;display:grid}.route-period{color:var(--metadata);font-family:var(--font-mono);font-size:13px}.route-role{font-size:22px;font-weight:700;line-height:1.2}.route-summary{color:var(--muted);margin:0;font-size:16px;line-height:1.5}.route-more summary{cursor:pointer;min-height:44px;color:var(--metadata);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;padding:10px 0;font-size:12px;transition:color .15s;display:list-item}.route-more summary::marker{color:var(--accent)}.route-more p{max-width:72ch;color:var(--muted);margin:4px 0 0;font-size:15px;line-height:1.6}.route-more strong{color:var(--fg);font-weight:600}.stack-rows{border-top:1px solid var(--border)}.stack-row{border-bottom:1px solid var(--border);align-items:center;gap:24px;padding:20px 0;display:flex}.stack-label{width:160px;color:var(--metadata);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;flex-shrink:0;font-size:12px}.contact{margin-top:var(--section-gap);border-top:1px solid var(--border);color:var(--fg);flex-direction:column;gap:clamp(24px,2.2vw,32px);padding:clamp(32px,4vw,56px) 0;scroll-margin-top:100px;display:flex}.contact .eyebrow{color:var(--metadata)}.contact-title{letter-spacing:-.03em;text-wrap:balance;max-width:780px;margin:0;font-size:clamp(1.75rem,3vw,2.75rem);font-weight:800;line-height:1.05}.contact-note{max-width:620px;color:var(--muted);margin:0;font-size:clamp(1rem,1.25vw,1.125rem);line-height:1.55}.contact-email-row{justify-content:space-between;align-items:center;gap:24px;display:flex}.contact-email{letter-spacing:-.03em;overflow-wrap:anywhere;min-width:0;font-size:clamp(1.5rem,4.4vw,3.5rem);font-weight:700;line-height:1.1}.contact-links{flex-wrap:wrap;gap:12px;display:flex}.copy-button{border:1px solid var(--border);min-height:48px;color:var(--accent-ink);background:var(--accent);cursor:pointer;transition:transform .16s var(--ease-out), filter .16s var(--ease-out);border-radius:6px;flex-shrink:0;padding:0 28px;font-size:16px;font-weight:600}.copy-button:active{transform:scale(.97)}.copy-button:disabled{cursor:wait}.site-footer{width:var(--page);padding:var(--section-gap) 0 calc(40px + env(safe-area-inset-bottom));color:var(--metadata);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:0 auto;font-size:14px;display:flex}.footer-sign{align-items:baseline;gap:16px;display:inline-flex}.footer-sign .signature{padding-bottom:12px;font-size:clamp(2.125rem,3.3vw,3rem)}.footer-year{font-family:var(--font-mono);font-size:12px}.site-footer a{align-items:center;min-height:44px;transition:color .15s;display:inline-flex}.portfolio-not-found{padding:var(--section-gap) 0;flex-direction:column;align-items:flex-start;gap:20px;display:flex}.portfolio-not-found h1{letter-spacing:-.03em;margin:0;font-size:clamp(2.75rem,5vw,4.5rem);font-weight:800;line-height:1}.portfolio-not-found p{color:var(--muted);margin:0}.notes-page{padding:clamp(48px,6vw,88px) 0 64px}.notes-page-header{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,2fr) minmax(180px,1fr);gap:32px;padding-bottom:40px;display:grid}.notes-page-title{max-width:12ch;font-family:var(--font-display);font-size:var(--step-4);letter-spacing:-.03em;text-wrap:balance;margin:8px 0 16px;font-style:normal;font-weight:800;line-height:1.02}.notes-page-intro{max-width:62ch;color:var(--muted);font-size:var(--step-1);margin:0}.notes-back{min-height:44px;color:var(--muted);font-size:var(--step--1);border-bottom:1px solid #0000;place-self:start end;align-items:center;display:inline-flex}.notes-index{padding-top:40px}.notes-index-header{border-top:1px solid var(--border);border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:16px;padding:14px 0;display:flex}.notes-index-header h2{font-size:var(--step-1);margin:0;font-weight:600}.notes-index-header span{color:var(--metadata);font-size:var(--step--1)}.notes-list{border-bottom:1px solid var(--border)}.notes-list-row{border-bottom:1px solid var(--border);min-height:80px;transition:background-color .16s var(--ease-out), transform .16s var(--ease-out);grid-template-columns:minmax(0,2fr) minmax(150px,1fr);align-items:center;gap:24px;padding:14px 0;display:grid}.notes-list-row:last-child{border-bottom:0}.notes-list-copy{gap:6px;min-width:0;display:grid}.notes-list-copy strong{font-size:var(--step-1);overflow-wrap:anywhere;font-weight:700}.notes-list-copy span{color:var(--muted);overflow-wrap:anywhere;font-size:.9rem}.notes-list-meta{color:var(--metadata);font-family:var(--font-mono);text-align:right;flex-wrap:wrap;justify-content:flex-end;gap:4px 10px;font-size:12px;display:flex}.notes-empty{color:var(--muted);margin:0;padding:24px 0}.notes-detail-page{padding-top:clamp(40px,5vw,72px)}.notes-article{max-width:none;margin:0}.notes-article-header{border-bottom:1px solid var(--border);padding-bottom:36px}.notes-article-header .notes-back{width:fit-content;margin-bottom:28px;display:flex}.notes-article-header h1{max-width:18ch;font-family:var(--font-display);font-size:var(--step-4);letter-spacing:-.03em;text-wrap:balance;margin:8px 0 16px;font-style:normal;font-weight:800;line-height:1.02}.notes-article-summary{max-width:68ch;color:var(--muted);font-size:var(--step-1);margin:0}.notes-article-meta{color:var(--metadata);font-family:var(--font-mono);flex-wrap:wrap;gap:8px 18px;margin-top:16px;font-size:12px;display:flex}.markdown-content{max-width:72ch;padding:36px 0 48px}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{font-family:var(--font-display);letter-spacing:-.015em;margin:1.8em 0 .6em;font-weight:700;line-height:1.15}.markdown-content h1{font-size:var(--step-3)}.markdown-content h2{font-size:var(--step-2)}.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{font-size:var(--step-1)}.markdown-content>:first-child{margin-top:0}.markdown-content p{color:var(--muted);margin:0 0 1.25em}.markdown-content ul,.markdown-content ol{color:var(--muted);margin:0 0 1.4em;padding-left:1.5em}.markdown-content li{margin:.35em 0;padding-left:.35em}.markdown-content a{color:var(--fg);border-bottom:1px solid var(--accent)}.markdown-content code{border-radius:var(--radius-sm);color:var(--accent-label);background:var(--surface);font-family:var(--font-mono);padding:.12em .3em;font-size:.9em}.markdown-content pre{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--fg);margin:1.4em 0;padding:16px;font-size:.9rem;line-height:1.55;overflow-x:auto}.markdown-content pre code{color:inherit;background:0 0;padding:0}.markdown-content hr{border:0;border-top:1px solid var(--border);margin:2.5em 0}.notes-article-footer{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:12px 24px;padding-top:24px;display:flex}.notes-article-footer a{min-height:44px;color:var(--muted);font-size:var(--step--1);border-bottom:1px solid #0000;align-items:center;display:inline-flex}@media (hover:hover) and (pointer:fine){.section-nav a:hover{color:var(--fg)}.mobile-menu summary:hover{border-color:var(--accent);background:var(--surface-raised)}.mobile-menu-panel a:hover{color:var(--fg);background:var(--surface)}.btn-primary:hover,.button-primary:hover,.btn-ink:hover,.copy-button:hover{filter:brightness(1.08)}.btn-outline:hover{background:var(--surface-raised)}.row-link:hover .row-title{color:var(--accent)}.route-more summary:hover{color:var(--fg)}.text-link:hover{filter:brightness(1.12)}.notes-back:hover,.notes-article-footer a:hover{color:var(--fg);border-color:var(--accent)}.notes-list-copy strong{transition:color .15s}.notes-list-row:hover .notes-list-copy strong{color:var(--accent)}.site-footer a:hover{color:var(--fg)}}@media (max-width:980px){:root{--gutter:32px}.header-inner{gap:12px}.section-nav{display:none}.mobile-menu{display:block}.route-step{grid-template-columns:200px minmax(0,1fr)}.route-detail{grid-column:2}}@media (max-width:840px){:root{--gutter:16px}.header-inner{min-height:72px}.hero-row{flex-direction:column;align-items:stretch;gap:24px}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}.system-grid{grid-template-columns:1fr;row-gap:28px}.facts{border-bottom:0;grid-template-columns:repeat(2,minmax(0,1fr))}.fact{border-bottom:1px solid var(--border);padding:20px 0}.fact+.fact{border-left:0}.fact:nth-child(2n){border-left:1px solid var(--border);padding-left:16px}.fact:nth-child(odd){padding-right:12px}.fact dd{font-size:17px}.section-head--split{flex-direction:column;align-items:flex-start;gap:8px}.row-link--note{flex-direction:column;align-items:flex-start;gap:6px}.route-step{grid-template-columns:1fr;gap:6px;padding:18px 0}.route-detail{grid-column:auto}.route-role{font-size:19px}.stack-row{flex-direction:column;align-items:flex-start;gap:10px}.contact-email-row{flex-direction:column;align-items:flex-start}.btn-ink{min-height:44px;padding:0 18px;font-size:14px}.notes-page-header{grid-template-columns:1fr;gap:20px;padding-bottom:36px}.notes-back{justify-self:start}.notes-index{padding-top:32px}.notes-list-row{grid-template-columns:1fr;gap:8px;padding:14px 0}.notes-list-meta{text-align:left;justify-content:flex-start}.notes-detail-page,.markdown-content{padding-top:32px}}@media (max-width:480px){:root{--gutter:12px}.header-actions{display:none}.header-inner{grid-template-columns:minmax(0,1fr) auto}.site-footer{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn:active,.button-primary:active,.copy-button:active,.mobile-menu summary:active:not(:focus-visible),.row-link:active,.notes-list-row:active,.text-link:active{transform:none}}@media (prefers-reduced-motion:no-preference){.mobile-menu-panel{transition:transform .18s var(--ease-out), opacity .18s var(--ease-out)}@starting-style{.mobile-menu-panel{opacity:0;transform:scale(.97)}}}.section>.text-link{align-self:flex-start}.markdown-content blockquote{border-left:2px solid var(--accent);margin:0 0 1.4em;padding:4px 0 4px 18px}.markdown-content blockquote p:last-child{margin-bottom:0}.markdown-table{border:1px solid var(--border);border-radius:var(--radius-md);margin:0 0 1.6em;overflow-x:auto}.markdown-table table{border-collapse:collapse;width:100%;font-size:14.5px;line-height:1.5}.markdown-table th,.markdown-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:10px 14px}.markdown-table th{color:var(--fg);background:var(--surface);white-space:nowrap;font-weight:600}.markdown-table td{color:var(--muted)}.markdown-table tr:last-child td{border-bottom:0}
