:root{--bg:#14090a;--bg-alt:#1d1011;--surface:#281517;--surface-hi:#341a1d;--border:#3a2226;--text:#f1e6d3;--text-muted:#b4a08c;--text-dim:#806c5b;--maroon:#7a1f2b;--maroon-bright:#b8344a;--maroon-glow:rgba(184, 52, 74, 0.18);--cream:#f4ecdc;--gold:#c9a35b;--font-display:"Fraunces", "Cormorant Garamond", "Iowan Old Style", Georgia, serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--maxw:1180px;--maxw-prose:720px;--radius:4px;--radius-lg:14px;--ease:cubic-bezier(0.22, 1, 0.36, 1)}*,*::before,*::after{box-sizing:border-box}html,body{margin:0;padding:0}img,svg{max-width:100%;display:block}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden}body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background-image:radial-gradient(circle at 20% 10%,rgba(184,52,74,7%),transparent 50%),radial-gradient(circle at 80% 80%,rgba(201,163,91,5%),transparent 55%)}main,header,footer{position:relative;z-index:1}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;font-style:normal;line-height:1.1;letter-spacing:-.02em;color:var(--cream);margin:0 0 .5em}a{transition:color .2s var(--ease)}a:hover{color:var(--maroon-bright)}::selection{background:var(--maroon);color:var(--cream)}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}.prose-wrap{max-width:var(--maxw-prose);margin:0 auto;padding:0 28px}.site-header{border-bottom:1px solid var(--border);background:rgba(20,9,10,.85);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);position:sticky;top:0;z-index:50}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}.brand{font-family:var(--font-display);font-weight:600;font-size:20px;letter-spacing:-.01em;color:var(--cream)}.brand .dot{color:var(--maroon-bright)}.nav-links{display:flex;align-items:center;gap:28px;list-style:none;margin:0;padding:0}.nav-links a{font-size:14px;font-weight:500;color:var(--text-muted);letter-spacing:.02em;position:relative}.nav-links a:hover{color:var(--cream)}.nav-links a.active{color:var(--cream)}.nav-links li.cross-site{position:relative;margin-left:6px;padding-left:22px}.nav-links li.cross-site::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:1px;height:16px;background:var(--border)}.nav-links li.cross-site a{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim)}.nav-links li.cross-site a:hover{color:var(--maroon-bright)}.nav-links li.cross-site a:hover .cross-site-arrow{transform:translateX(4px);color:var(--maroon-bright)}.nav-links li.cross-site .cross-site-arrow{display:inline-block;transition:transform .25s var(--ease),color .25s var(--ease);color:var(--text-dim);font-family:var(--font-mono)}@media(max-width:720px){.nav-links li.cross-site{margin-left:0;padding-left:0}.nav-links li.cross-site::before{display:none}}.nav-links a.active::after{content:"";position:absolute;left:0;right:0;bottom:-22px;height:2px;background:var(--maroon-bright)}.menu-toggle{display:none;background:0 0;border:none;color:var(--cream);padding:8px}@media(max-width:720px){.menu-toggle{display:block}.nav-links{display:none;position:fixed;top:64px;left:0;right:0;height:calc(100vh - 64px);height:calc(100dvh - 64px);flex-direction:column;align-items:flex-start;padding:20px 28px 28px;background:var(--bg-alt);border-bottom:1px solid var(--border);gap:18px;overflow-y:auto}.nav-links.open{display:flex}.nav-links a.active::after{display:none}}.hero{padding:80px 0 100px;position:relative;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:60px;align-items:center}@media(max-width:840px){.hero{padding:60px 0 70px}.hero-grid{grid-template-columns:1fr;gap:40px}}.hero-eyebrow{font-family:var(--font-mono);font-size:13px;color:var(--maroon-bright);letter-spacing:.18em;text-transform:uppercase;margin-bottom:24px;display:inline-flex;align-items:center;gap:10px}.hero-eyebrow::before{content:"";width:28px;height:1px;background:var(--maroon-bright)}.hero-title{font-size:clamp(48px,9vw,104px);line-height:.95;letter-spacing:-.035em;margin-bottom:24px;font-weight:500}.hero-title .accent{font-style:italic;color:var(--maroon-bright);font-weight:400}.hero-tagline{font-family:var(--font-display);font-style:italic;font-size:clamp(20px,2.4vw,26px);color:var(--text-muted);margin-bottom:18px;font-weight:300}.hero-intro{font-size:18px;color:var(--text-muted);max-width:540px;margin-bottom:36px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border-radius:var(--radius);font-size:14px;font-weight:600;letter-spacing:.02em;transition:transform .2s var(--ease),background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease);border:1px solid transparent;white-space:nowrap}.btn-primary{background:var(--maroon-bright);color:var(--cream)}.btn-primary:hover{background:var(--maroon);color:var(--cream);transform:translateY(-2px)}.btn-ghost{background:0 0;border-color:var(--border);color:var(--text)}.btn-ghost:hover{border-color:var(--maroon-bright);color:var(--cream);transform:translateY(-2px)}.btn-arrow{transition:transform .2s var(--ease)}.btn:hover .btn-arrow{transform:translateX(3px)}.hero-portrait{position:relative;justify-self:center}.hero-portrait-frame{position:relative;width:min(360px,80vw);aspect-ratio:4/5;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 0 0 1px var(--border),0 30px 60px -20px rgba(0,0,0,.7),0 0 80px var(--maroon-glow);transition:transform .5s var(--ease)}.hero-portrait-frame img{width:100%;height:100%;object-fit:cover;filter:saturate(.9)contrast(1.05)}.hero-portrait-frame:hover{transform:rotate(-1deg)translateY(-4px)}.hero-portrait::before{content:"";position:absolute;inset:-16px;border:1px solid var(--maroon);border-radius:var(--radius-lg);transform:translate(18px,18px);z-index:-1;opacity:.7}.hero-portrait::after{content:"";position:absolute;width:60px;height:60px;border-top:2px solid var(--gold);border-left:2px solid var(--gold);top:-12px;left:-12px}.status-bar{margin-top:60px;padding:16px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:24px;font-family:var(--font-mono);font-size:13px;color:var(--text-muted);flex-wrap:wrap}.status-bar .dot{width:8px;height:8px;border-radius:50%;background:var(--maroon-bright);box-shadow:0 0 12px var(--maroon-bright);animation:pulse 2s infinite}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}@media(max-width:640px){.status-bar{flex-direction:column;align-items:flex-start;gap:10px}.status-bar .sep{display:none}}.status-bar .sep{color:var(--text-dim)}.section{padding:80px 0;position:relative}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:48px;gap:24px;flex-wrap:wrap}.section-eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.2em;color:var(--maroon-bright);text-transform:uppercase;margin-bottom:10px}.section-title{font-size:clamp(36px,5vw,56px);line-height:1;letter-spacing:-.03em}.section-title .accent{font-style:italic;color:var(--maroon-bright)}.section-link{color:var(--text-muted);font-size:14px;font-family:var(--font-mono);display:inline-flex;align-items:center;gap:6px}.section-link:hover{color:var(--cream)}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}@media(max-width:720px){.cards{grid-template-columns:1fr}}.card{display:block;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:transform .3s var(--ease),border-color .3s var(--ease),box-shadow .3s var(--ease);color:inherit}.card:hover{transform:translateY(-6px);border-color:var(--maroon-bright);box-shadow:0 30px 60px -25px rgba(0,0,0,.6),0 0 0 1px var(--maroon-glow);color:inherit}.card-cover{aspect-ratio:16/9;background:var(--bg-alt);overflow:hidden;position:relative}.card-cover img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}.card:hover .card-cover img{transform:scale(1.04)}.card-cover-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-style:italic;font-size:48px;color:var(--maroon-bright);background:linear-gradient(135deg,var(--surface-hi),var(--bg-alt))}.card-body{padding:24px 26px 28px}.card-meta{font-family:var(--font-mono);font-size:12px;color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.card-tag{background:var(--maroon-glow);color:var(--maroon-bright);padding:3px 9px;border-radius:99px;font-size:11px;letter-spacing:.1em}.card-title{font-size:24px;line-height:1.15;margin-bottom:10px;color:var(--cream)}.card-summary{color:var(--text-muted);font-size:15px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.about-strip{background:linear-gradient(180deg,transparent,rgba(184,52,74,4%) 50%,transparent),var(--bg);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:96px 0}.about-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:60px;align-items:start}@media(max-width:840px){.about-grid{grid-template-columns:1fr;gap:30px}}.about-lead{font-family:var(--font-display);font-style:italic;font-size:clamp(28px,4vw,42px);line-height:1.15;color:var(--cream);font-weight:400}.about-lead .accent{color:var(--maroon-bright)}.about-body{color:var(--text-muted);font-size:17px}.about-body p{margin:0 0 16px}.about-body p:last-child{margin-bottom:0}.post-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--border)}.post-list li{border-bottom:1px solid var(--border)}.post-list a{display:grid;grid-template-columns:110px 1fr auto;gap:28px;padding:26px 0;align-items:baseline;color:inherit;transition:padding .2s var(--ease)}.post-list a:hover{padding-left:12px;color:inherit}.post-list a:hover .post-list-title{color:var(--maroon-bright)}.post-list-date{font-family:var(--font-mono);font-size:13px;color:var(--text-dim);letter-spacing:.06em}.post-list-title{font-family:var(--font-display);font-size:22px;line-height:1.2;color:var(--cream);transition:color .2s var(--ease)}.post-list-arrow{font-family:var(--font-mono);font-size:18px;color:var(--text-dim)}@media(max-width:640px){.post-list a{grid-template-columns:1fr;gap:8px;padding:22px 0}.post-list-arrow{display:none}}.site-footer{border-top:1px solid var(--border);padding:60px 0 40px;margin-top:80px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;margin-bottom:40px}@media(max-width:720px){.footer-grid{grid-template-columns:1fr}}.footer-title{font-family:var(--font-display);font-size:28px;letter-spacing:-.02em;margin-bottom:12px}.footer-tag{color:var(--text-muted);max-width:380px;font-size:15px}.footer-heading{font-family:var(--font-mono);font-size:12px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.15em;margin-bottom:14px}.footer-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.footer-links a{color:var(--text-muted);font-size:15px}.footer-links a:hover{color:var(--maroon-bright)}.footer-bottom{border-top:1px solid var(--border);padding-top:24px;display:flex;justify-content:space-between;align-items:center;color:var(--text-dim);font-family:var(--font-mono);font-size:12px;letter-spacing:.05em}@media(max-width:540px){.footer-bottom{flex-direction:column;gap:10px}}.post-header{padding:80px 0 50px;border-bottom:1px solid var(--border);margin-bottom:50px}.post-header .post-meta,.proj-hero .post-meta{display:flex;gap:14px;align-items:center;margin-bottom:24px;font-family:var(--font-mono);font-size:13px;color:var(--text-muted)}.post-header h1{font-size:clamp(36px,5.5vw,64px);line-height:1.05;letter-spacing:-.03em;margin-bottom:20px;max-width:920px}.post-header .summary{font-family:var(--font-display);font-style:italic;color:var(--text-muted);font-size:22px;line-height:1.4;max-width:720px}.post-cover{max-width:var(--maxw);margin:0 auto 50px;padding:0 28px}.post-cover img{width:100%;border-radius:var(--radius-lg);border:1px solid var(--border);max-height:600px;object-fit:cover}.post-content{font-size:18px;line-height:1.75;color:var(--text)}.post-content>*{margin:0 0 1.2em}.post-content h1,.post-content h2,.post-content h3,.post-content h4{margin-top:2em;margin-bottom:.6em;color:var(--cream)}.post-content h2{font-size:32px;border-left:3px solid var(--maroon-bright);padding-left:16px}.post-content h3{font-size:24px}.post-content p{margin-bottom:1.3em}.post-content a{color:var(--maroon-bright);border-bottom:1px solid var(--maroon)}.post-content a:hover{color:var(--cream);background:var(--maroon-glow)}.post-content blockquote{border-left:3px solid var(--maroon-bright);padding:8px 24px;margin:1.5em 0;background:var(--surface);font-style:italic;color:var(--text-muted);border-radius:0 var(--radius)var(--radius)0}.post-content img{max-width:100%;height:auto;display:block;margin:2em auto;border-radius:var(--radius);border:1px solid var(--border)}.post-content ul,.post-content ol{padding-left:1.4em;margin-bottom:1.3em}.post-content li{margin-bottom:.4em}.post-content code{font-family:var(--font-mono);font-size:.88em;background:var(--surface);padding:2px 6px;border-radius:3px;color:var(--gold);border:1px solid var(--border)}.post-content pre{background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;overflow-x:auto;font-size:14px;line-height:1.55}.post-content pre code{background:0 0;padding:0;border:none;color:inherit;font-size:inherit}.post-content table{width:100%;border-collapse:collapse;margin:1.5em 0}.post-content table th,.post-content table td{padding:10px 14px;border:1px solid var(--border);text-align:left}.post-content table th{background:var(--surface);color:var(--cream)}.post-content hr{border:none;border-top:1px solid var(--border);margin:2.5em 0}.post-content h2{scroll-margin-top:84px}.post-toc{margin:0 0 2.2em;padding:18px 24px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.post-toc-head{cursor:pointer;font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);list-style:revert}.post-toc[open] .post-toc-head{margin-bottom:10px}.post-toc #TableOfContents,.post-toc #TableOfContents ul{list-style:none;margin:0;padding:0}.post-toc #TableOfContents{counter-reset:toc-chapter}.post-toc #TableOfContents>ul>li{counter-increment:toc-chapter}.post-toc #TableOfContents a{display:block;position:relative;padding:7px 4px 7px 34px;color:var(--text-muted);text-decoration:none;border-bottom:none;font-size:15px;line-height:1.4;transition:color .15s ease}.post-toc #TableOfContents>ul>li>a::before{content:counter(toc-chapter,decimal-leading-zero);position:absolute;left:4px;top:8px;font-family:var(--font-mono);font-size:12px;color:var(--maroon-bright)}.post-toc #TableOfContents a:hover{color:var(--cream)}.post-toc #TableOfContents ul ul{margin-left:26px;margin-top:2px}.cost-chart{margin:2em 0!important;padding:20px 20px 4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.cost-chart svg{width:100%;height:auto;display:block;overflow:visible}.cost-chart .grid line{stroke:var(--border);stroke-width:1}.cost-chart .axis-x .tick{stroke:var(--border);stroke-width:1}.cost-chart .axis-label{font-family:var(--font-mono);font-size:10px;fill:var(--text-dim)}.cost-chart .axis-caption{font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;fill:var(--text-dim)}.cost-chart .series{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.cost-chart .series-ex{stroke:#189690}.cost-chart .series-landed{stroke:var(--maroon-bright)}.cost-chart .dot{stroke:var(--bg);stroke-width:2;transition:r .1s ease}.cost-chart .dot-ex{fill:#189690}.cost-chart .dot-landed{fill:var(--maroon-bright)}.cost-chart .pt .crosshair{stroke:var(--border);stroke-width:1;opacity:0;pointer-events:none;transition:opacity .12s ease}.cost-chart .pt .hit{fill:transparent;cursor:pointer}.cost-chart .pt .hit:focus{outline:none}.cost-chart .pt:hover .crosshair,.cost-chart .pt:focus .crosshair,.cost-chart .pt:focus-within .crosshair{opacity:1}.cost-chart .pt:hover .dot,.cost-chart .pt:focus .dot,.cost-chart .pt:focus-within .dot{r:5.5}.cost-chart .readout{opacity:0;pointer-events:none;transition:opacity .12s ease}.cost-chart .readout-bg{fill:var(--surface-hi);stroke:var(--border);stroke-width:1}.cost-chart .readout-qty{font-family:var(--font-mono);font-size:11px;font-weight:600;fill:var(--cream)}.cost-chart .readout-val{font-family:var(--font-mono);font-size:10px;fill:var(--text-muted)}.cost-chart .readout-key{stroke-width:2}.cost-chart .readout-key-ex{stroke:#189690}.cost-chart .readout-key-landed{stroke:var(--maroon-bright)}.cost-chart .readout-default{font-family:var(--font-mono);font-size:11px;fill:var(--text-dim)}.cost-chart .pt-0:hover~.readout-0,.cost-chart .pt-0:focus-within~.readout-0,.cost-chart .pt-1:hover~.readout-1,.cost-chart .pt-1:focus-within~.readout-1,.cost-chart .pt-2:hover~.readout-2,.cost-chart .pt-2:focus-within~.readout-2,.cost-chart .pt-3:hover~.readout-3,.cost-chart .pt-3:focus-within~.readout-3,.cost-chart .pt-4:hover~.readout-4,.cost-chart .pt-4:focus-within~.readout-4,.cost-chart .pt-5:hover~.readout-5,.cost-chart .pt-5:focus-within~.readout-5,.cost-chart .pt-6:hover~.readout-6,.cost-chart .pt-6:focus-within~.readout-6,.cost-chart .pt-7:hover~.readout-7,.cost-chart .pt-7:focus-within~.readout-7{opacity:1}.cost-chart .interactive-layer:has(.pt:hover) .readout-default,.cost-chart .interactive-layer:has(.pt:focus-within) .readout-default{opacity:0}.cost-chart .end-label{font-family:var(--font-mono);font-size:12px;font-weight:600;fill:var(--text)}.cost-chart .end-key{stroke-width:2}.cost-chart .end-key-ex{stroke:#189690}.cost-chart .end-key-landed{stroke:var(--maroon-bright)}.cost-chart-legend{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin:10px 0 4px;font-family:var(--font-mono);font-size:12px;color:var(--text-muted)}.cost-chart-legend .key{display:inline-flex;align-items:center;gap:8px}.cost-chart-legend .key i{display:inline-block;width:16px;height:2px;border-radius:1px}.cost-chart-legend .key-ex i{background:#189690}.cost-chart-legend .key-landed i{background:var(--maroon-bright)}.cost-chart figcaption{font-size:13px;line-height:1.5;font-style:italic;color:var(--text-dim);margin:14px 0}.cost-chart-table{margin:6px 0 16px}.cost-chart-table summary{cursor:pointer;font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;color:var(--text-muted)}.cost-chart-table table{margin-top:12px!important}@media(max-width:640px){.cost-chart .axis-caption{display:none}}.rgas-chart .series-rgas{stroke:var(--gold)}.rgas-chart .dot-rgas{fill:var(--gold)}.rgas-chart .readout-key-rgas{stroke:var(--gold)}.cost-chart-legend .key-rgas i{background:var(--gold)}.rgas-chart-legend{justify-content:flex-end;margin-top:22px}.rgas-chart .pt-0:hover~.readout-0,.rgas-chart .pt-0:focus-within~.readout-0,.rgas-chart .pt-1:hover~.readout-1,.rgas-chart .pt-1:focus-within~.readout-1,.rgas-chart .pt-2:hover~.readout-2,.rgas-chart .pt-2:focus-within~.readout-2,.rgas-chart .pt-3:hover~.readout-3,.rgas-chart .pt-3:focus-within~.readout-3,.rgas-chart .pt-4:hover~.readout-4,.rgas-chart .pt-4:focus-within~.readout-4,.rgas-chart .pt-5:hover~.readout-5,.rgas-chart .pt-5:focus-within~.readout-5,.rgas-chart .pt-6:hover~.readout-6,.rgas-chart .pt-6:focus-within~.readout-6,.rgas-chart .pt-7:hover~.readout-7,.rgas-chart .pt-7:focus-within~.readout-7,.rgas-chart .pt-8:hover~.readout-8,.rgas-chart .pt-8:focus-within~.readout-8,.rgas-chart .pt-9:hover~.readout-9,.rgas-chart .pt-9:focus-within~.readout-9,.rgas-chart .pt-10:hover~.readout-10,.rgas-chart .pt-10:focus-within~.readout-10,.rgas-chart .pt-11:hover~.readout-11,.rgas-chart .pt-11:focus-within~.readout-11,.rgas-chart .pt-12:hover~.readout-12,.rgas-chart .pt-12:focus-within~.readout-12,.rgas-chart .pt-13:hover~.readout-13,.rgas-chart .pt-13:focus-within~.readout-13,.rgas-chart .pt-14:hover~.readout-14,.rgas-chart .pt-14:focus-within~.readout-14,.rgas-chart .pt-15:hover~.readout-15,.rgas-chart .pt-15:focus-within~.readout-15,.rgas-chart .pt-16:hover~.readout-16,.rgas-chart .pt-16:focus-within~.readout-16,.rgas-chart .pt-17:hover~.readout-17,.rgas-chart .pt-17:focus-within~.readout-17,.rgas-chart .pt-18:hover~.readout-18,.rgas-chart .pt-18:focus-within~.readout-18,.rgas-chart .pt-19:hover~.readout-19,.rgas-chart .pt-19:focus-within~.readout-19,.rgas-chart .pt-20:hover~.readout-20,.rgas-chart .pt-20:focus-within~.readout-20,.rgas-chart .pt-21:hover~.readout-21,.rgas-chart .pt-21:focus-within~.readout-21,.rgas-chart .pt-22:hover~.readout-22,.rgas-chart .pt-22:focus-within~.readout-22,.rgas-chart .pt-23:hover~.readout-23,.rgas-chart .pt-23:focus-within~.readout-23,.rgas-chart .pt-24:hover~.readout-24,.rgas-chart .pt-24:focus-within~.readout-24,.rgas-chart .pt-25:hover~.readout-25,.rgas-chart .pt-25:focus-within~.readout-25,.rgas-chart .pt-26:hover~.readout-26,.rgas-chart .pt-26:focus-within~.readout-26{opacity:1}.post-footer{margin-top:60px;padding-top:30px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.post-tags{display:flex;gap:8px;flex-wrap:wrap}.post-tag{font-family:var(--font-mono);font-size:12px;background:var(--surface);border:1px solid var(--border);color:var(--text-muted);padding:5px 12px;border-radius:99px;letter-spacing:.06em}.post-tag:hover{color:var(--maroon-bright);border-color:var(--maroon-bright)}.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:50px}@media(max-width:600px){.post-nav{grid-template-columns:1fr}}.post-nav a{display:block;padding:20px 22px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:inherit;transition:border-color .2s var(--ease),transform .2s var(--ease)}.post-nav a:hover{border-color:var(--maroon-bright);color:inherit;transform:translateY(-2px)}.post-nav .label{font-family:var(--font-mono);font-size:12px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px}.post-nav .title{font-family:var(--font-display);font-size:18px;color:var(--cream)}.post-nav .next{text-align:right}.page-header{padding:80px 0 30px;text-align:center}.page-header h1{font-size:clamp(48px,8vw,88px);line-height:1;letter-spacing:-.03em}.page-header .summary{font-family:var(--font-display);font-style:italic;color:var(--text-muted);font-size:20px;margin-top:14px}.list-header{padding:60px 0 30px}.list-header h1{font-size:clamp(40px,6vw,72px);line-height:1}.list-header .summary{font-family:var(--font-display);font-style:italic;color:var(--text-muted);font-size:19px;margin-top:14px}.resume-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin:30px 0 50px}.notfound{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 24px}.notfound h1{font-size:clamp(80px,18vw,200px);margin-bottom:0;color:var(--maroon-bright);line-height:1}.notfound p{color:var(--text-muted);margin:10px 0 28px;font-size:18px}.term-grid{display:flex;flex-wrap:wrap;gap:12px;padding:20px 0 80px}.term-grid a{padding:10px 18px;border:1px solid var(--border);border-radius:99px;font-family:var(--font-mono);font-size:14px;color:var(--text-muted);background:var(--surface)}.term-grid a:hover{border-color:var(--maroon-bright);color:var(--cream)}.social-row{display:flex;gap:14px}.social-row a{width:38px;height:38px;border:1px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:all .2s var(--ease)}.social-row a:hover{border-color:var(--maroon-bright);color:var(--maroon-bright);transform:translateY(-2px)}.social-row svg{width:16px;height:16px}.scroll-progress{position:fixed;top:0;left:0;height:2px;width:0;background:linear-gradient(90deg,var(--maroon),var(--maroon-bright),var(--gold));z-index:100;transition:width .08s linear;box-shadow:0 0 12px var(--maroon-bright)}@media(prefers-reduced-motion:no-preference){.reveal{opacity:0;transform:translateY(20px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal.visible{opacity:1;transform:translateY(0)}.hero .hero-eyebrow,.hero .hero-title,.hero .hero-tagline,.hero .hero-intro,.hero .hero-actions,.hero .hero-portrait,.hero .status-bar{opacity:0;animation:heroIn .9s var(--ease)forwards}.hero .hero-eyebrow{animation-delay:.05s}.hero .hero-title{animation-delay:.15s}.hero .hero-tagline{animation-delay:.3s}.hero .hero-intro{animation-delay:.4s}.hero .hero-actions{animation-delay:.5s}.hero .hero-portrait{animation:heroInScale 1.1s var(--ease).2s forwards}.hero .status-bar{animation-delay:.7s}@keyframes heroIn{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes heroInScale{from{opacity:0;transform:scale(.94)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.hero-eyebrow::before{transform-origin:left center;animation:lineDraw 1s var(--ease).2s both}@keyframes lineDraw{from{transform:scaleX(0)}to{transform:scaleX(1)}}.hero-title .accent{display:inline-block;animation:breathe 6s ease-in-out infinite 1.2s}@keyframes breathe{0%,100%{transform:translateY(0)rotate(0)}50%{transform:translateY(-3px)rotate(-.4deg)}}.hero-portrait-frame{animation:float 7s ease-in-out infinite 1s}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}.hero-portrait-frame:hover{animation-play-state:paused}.brand .dot{display:inline-block;animation:blink 1.6s steps(2,end)infinite}@keyframes blink{0%,50%{opacity:1}51%,100%{opacity:.2}}.nav-links a{overflow:hidden}.nav-links a::after{content:"";position:absolute;left:0;bottom:-6px;height:1.5px;width:100%;background:var(--maroon-bright);transform:scaleX(0);transform-origin:right center;transition:transform .4s var(--ease)}.nav-links a:hover::after{transform:scaleX(1);transform-origin:left center}.nav-links a.active::after{display:none}.btn{position:relative;overflow:hidden;isolation:isolate}.btn::before{content:"";position:absolute;top:0;left:-120%;width:50%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.12),transparent);transform:skewX(-20deg);transition:left .6s var(--ease);z-index:-1}.btn:hover::before{left:180%}.card{transform-origin:center bottom}.section-title .accent{background-image:linear-gradient(transparent 92%,var(--maroon-bright) 92%);background-size:0% 100%;background-repeat:no-repeat;transition:background-size .9s var(--ease).2s;padding-bottom:4px}.reveal.visible .section-title .accent{background-size:100% 100%}.about-lead .accent{background-image:linear-gradient(transparent 90%,var(--maroon-bright) 90%);background-size:0% 100%;background-repeat:no-repeat;transition:background-size 1.1s var(--ease).3s}.reveal.visible .about-lead .accent{background-size:100% 100%}.post-list a .post-list-arrow{transition:transform .3s var(--ease),opacity .2s var(--ease)}.post-list a:hover .post-list-arrow{transform:translateX(6px)}.status-bar span:not(.dot):not(.sep){background:linear-gradient(90deg,var(--text-muted),var(--cream),var(--text-muted));background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 8s linear infinite}@keyframes shimmer{from{background-position:200% 0}to{background-position:-200% 0}}.post-header h1,.proj-title{animation:heroIn .8s var(--ease).05s both}.proj-kicker,.proj-hero .post-meta{animation:heroIn .8s var(--ease).15s both}.proj-stats{animation:heroInScale .9s var(--ease).25s both}.post-header .post-meta,.post-header .summary{animation:heroIn .8s var(--ease).18s both}.post-cover{animation:heroInScale 1s var(--ease).3s both}.notfound h1{animation:pulse-soft 3s ease-in-out infinite}@keyframes pulse-soft{0%,100%{text-shadow:0 0 0 transparent;opacity:1}50%{text-shadow:0 0 60px var(--maroon-glow);opacity:.9}}}@media(prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.post-list-kind{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);margin-left:8px}.section-title em,.about-lead em{font-style:italic;color:var(--maroon-bright);font-weight:inherit}@media(prefers-reduced-motion:no-preference){.section-title em{background-image:linear-gradient(transparent 92%,var(--maroon-bright) 92%);background-size:0% 100%;background-repeat:no-repeat;transition:background-size .9s var(--ease).2s;padding-bottom:4px}.reveal.visible .section-title em{background-size:100% 100%}.about-lead em{background-image:linear-gradient(transparent 90%,var(--maroon-bright) 90%);background-size:0% 100%;background-repeat:no-repeat;transition:background-size 1.1s var(--ease).3s}.reveal.visible .about-lead em{background-size:100% 100%}}:root{--panel:linear-gradient(180deg, rgba(52, 26, 29, 0.55), rgba(29, 16, 17, 0.75));--panel-border:rgba(184, 52, 74, 0.22);--shadow-lg:0 30px 80px -30px rgba(0, 0, 0, 0.7), 0 0 0 1px var(--border)}.chip{font:500 14px var(--font-body);color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px 16px;line-height:1.2;cursor:pointer;transition:color .2s var(--ease),border-color .2s var(--ease),background .2s var(--ease);white-space:nowrap}button.chip:hover{color:var(--cream);border-color:var(--maroon-bright)}.chip[aria-pressed=true]{color:var(--cream);background:var(--maroon);border-color:var(--maroon-bright)}.chip:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.chip-primary{font-weight:600;color:#fff;background:var(--maroon-bright);border-color:var(--maroon-bright)}button.chip-primary:hover{color:#fff;filter:brightness(1.1)}.chip-primary[aria-pressed=true]{background:0 0;color:var(--cream)}.chip-static{cursor:default;padding:5px 11px;font-size:12px}.chip-danger:hover{border-color:#e0475f;color:#ffb3bf}.post-cover-caption{text-align:center;color:var(--text-dim);font-family:var(--font-mono);font-size:12px;margin-top:10px;letter-spacing:.06em}.demo{position:relative}.demo-section{padding-top:40px;padding-bottom:40px}.demo-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:20px}.demo-eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--maroon-bright);margin-bottom:8px}.demo-title{font-size:clamp(24px,3.2vw,34px);margin:0}.demo-how{max-width:380px;margin:0;font-size:14px;color:var(--text-muted);line-height:1.55}.demo-note{font-size:13px;color:var(--text-dim);line-height:1.6;max-width:820px;margin:16px 0 0}.demo-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}.demo-status{margin:14px 0 0;padding:12px 16px;border-radius:10px;font-size:15px;line-height:1.5;color:var(--cream);background:var(--surface);border-left:3px solid var(--text-dim)}.demo-status[data-tone=ok]{border-left-color:#8fc79a}.demo-status[data-tone=warn]{border-left-color:var(--gold)}.demo-status[data-tone=bad]{border-left-color:#ff6b81;color:#ffd0d7}.demo-label{display:flex;justify-content:space-between;gap:12px;font:600 14px var(--font-body);color:var(--cream)}.demo-label b{font:500 13px var(--font-mono);color:var(--gold)}.chip-group{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;border:1px solid var(--border);border-radius:8px;overflow:hidden}.chip-group .chip{border:0;border-radius:0;background:0 0;text-align:center}.chip-group .chip[aria-pressed=true]{background:var(--maroon)}.demo-clock{font-family:var(--font-mono);font-size:12px;color:var(--text-dim);margin-left:auto}.demo-loading{font-family:var(--font-mono);font-size:12px;color:var(--text-dim)}@media(max-width:760px){.demo-head{flex-direction:column;align-items:flex-start;gap:10px}}.bv-stage{position:relative;height:min(70vh,620px);min-height:380px;border-radius:var(--radius-lg);border:1px solid var(--border);background:radial-gradient(ellipse at 50% 40%,rgba(184,52,74,.2),transparent 65%),var(--bg-alt);overflow:hidden;box-shadow:var(--shadow-lg)}.bv-compact{position:absolute;inset:0}.bv-compact .bv-stage{height:100%;min-height:0;border:0;border-radius:0;background:0 0;box-shadow:none}.bv-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab;touch-action:none}.bv-stage canvas:active{cursor:grabbing}.bv-status{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.bv-pins{position:absolute;inset:0;pointer-events:none}.bv-pin{position:absolute;left:0;top:0;width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;font:600 11px/1 var(--font-mono);color:var(--cream);background:rgba(122,31,43,.92);border:1px solid var(--maroon-bright);box-shadow:0 0 0 4px rgba(184,52,74,.18);pointer-events:auto;transition:opacity .2s,background .2s,box-shadow .2s}.bv-pin:hover,.bv-pin.on{background:var(--gold);color:var(--bg);border-color:var(--gold);box-shadow:0 0 0 6px rgba(201,163,91,.25)}.bv-info{position:absolute;left:16px;bottom:16px;max-width:340px;background:rgba(20,9,10,.88);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--panel-border);border-radius:10px;padding:14px 16px;font-size:14px;line-height:1.5;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .25s var(--ease),transform .25s var(--ease)}.bv-info.show{opacity:1;transform:none}.bv-info strong{display:block;color:var(--cream);font-family:var(--font-display);font-size:18px;font-weight:500;margin:2px 0 4px}.bv-info p{margin:0;color:var(--text-muted)}.bv-ref{font-family:var(--font-mono);font-size:11px;color:var(--gold);letter-spacing:.1em}.bv-tools{position:absolute;top:14px;right:14px;display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.bv-hint{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);pointer-events:none;transition:opacity .4s}.bv.touched .bv-hint,.bv:not(.is-ready) .bv-hint{opacity:0}@media(max-width:640px){.bv-stage{height:440px}.bv-info{left:10px;right:10px;bottom:10px;max-width:none}.bv-tools{left:10px;right:10px;top:10px;justify-content:flex-start}}.oz-grid{display:grid;grid-template-columns:minmax(0,1fr)260px;grid-template-areas:"bench read" "plot read";gap:14px}.oz-benchwrap,.oz-plot,.oz-readout,.ms-panel,.pm-boardwrap,.pm-side{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg)}.oz-benchwrap{grid-area:bench;padding:6px 10px}.oz-bench{width:100%;height:auto;display:block;touch-action:pan-y;user-select:none;-webkit-user-select:none}.oz-plot{grid-area:plot;height:300px;padding:8px 4px 4px}.oz-plot canvas{width:100%;height:100%;display:block}.oz-readout{grid-area:read;padding:18px;display:flex;flex-direction:column;gap:14px}.oz-stat span{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}.oz-stat strong{display:block;font-family:var(--font-display);font-weight:500;font-size:30px;color:var(--cream);line-height:1.15;font-variant-numeric:tabular-nums}.oz-q[data-level=ok]{color:#8fc79a!important;font-size:20px!important}.oz-q[data-level=mid]{color:var(--gold)!important;font-size:20px!important}.oz-q[data-level=bad]{color:#ff8a9b!important;font-size:20px!important}.oz-rungblock>span{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin-bottom:8px}.oz-rungs{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.oz-rungs span{font-family:var(--font-mono);font-size:11px;text-align:center;color:var(--text-dim);border:1px solid var(--border);border-radius:6px;padding:4px 0;transition:all .25s var(--ease)}.oz-rungs span b{display:block;font-weight:500;font-size:9px;opacity:.7}.oz-rungs span.on{color:var(--bg);background:var(--gold);border-color:var(--gold)}.oz-tape{fill:#d9b44a;stroke:#a8862d}.oz-tick{stroke:#3a2a10;stroke-width:1.2}.oz-ticklabel{font:500 11px var(--font-mono);fill:#3a2a10;text-anchor:middle}.oz-ticklabel[text-anchor=end]{fill:var(--text-dim)}.oz-boardframe{fill:none;stroke:var(--border)}.oz-label{font:11px var(--font-mono);fill:var(--text-dim)}.oz-sensordot{fill:var(--maroon-bright);filter:drop-shadow(0 0 6px var(--maroon-bright));opacity:0}.oz-gen{cursor:grab;outline:none}.oz-gen:active{cursor:grabbing}.oz-gen:focus-visible .oz-genbody{stroke:var(--gold);stroke-width:3}.oz-genbody{fill:#ece6dc;stroke:#b9b0a2;stroke-width:1.5}.oz-genshadow{fill:rgba(0,0,0,.45)}.oz-genled{fill:#5a5148;transition:fill .2s}.oz-genled.lit{fill:#6fe08a;filter:drop-shadow(0 0 4px #6fe08a)}.oz-genlabel{font:600 16px var(--font-body);fill:#5a5148}.oz-marker{stroke:var(--gold);stroke-dasharray:3 4;opacity:.6}.oz-dlabel{font:500 13px var(--font-mono);fill:var(--gold)}.oz-hint{font:12px var(--font-mono);fill:var(--maroon-bright);letter-spacing:.1em;transition:opacity .4s}.oz.touched .oz-hint{opacity:0}.oz-plume circle{fill:#a8d8e8}@media(max-width:860px){.oz-grid{grid-template-columns:1fr;grid-template-areas:"bench" "plot" "read"}.oz-readout{display:grid;grid-template-columns:1fr 1fr}.oz-rungblock{grid-column:1/-1}.oz-plot{height:240px}.oz-stat strong{font-size:24px}}.ms-grid{display:grid;grid-template-columns:240px minmax(0,1.2fr)minmax(0,1fr);gap:14px;align-items:start}.ms-col{display:flex;flex-direction:column;gap:14px;min-width:0}.ms-panel{padding:16px}.ms-panel h3{font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin:0 0 12px;display:flex;justify-content:space-between;gap:8px}.ms-panel h3 small{color:var(--text-dim);letter-spacing:.04em;text-transform:none;font-size:11px}.ms-bench{position:relative;border-radius:8px;overflow:hidden;cursor:crosshair;touch-action:none;aspect-ratio:4/3;background:#000;outline:none}.ms-bench:focus-visible{box-shadow:0 0 0 2px var(--gold)}.ms-bench img{width:100%;height:100%;object-fit:cover;opacity:.55;user-select:none;-webkit-user-drag:none}.ms-reticle{position:absolute;border:1.5px solid var(--gold);border-radius:3px;box-shadow:0 0 0 999px rgba(20,9,10,.45);pointer-events:none;transition:width .15s,height .15s}.ms-reticle i{position:absolute;left:50%;top:50%;width:10px;height:10px;margin:-5px;border-left:1px solid var(--gold);border-top:1px solid var(--gold);transform:rotate(45deg);opacity:0}.ms-slider{display:block;margin-top:12px;font-size:13px;color:var(--text-muted)}.ms-slider span{display:flex;justify-content:space-between;font:600 14px var(--font-body);color:var(--cream)}.ms-slider b{font:500 13px var(--font-mono);color:var(--gold)}.ms-slider input{width:100%;accent-color:var(--gold);margin-top:6px}.ms-status dl{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin:0 0 14px;font-size:13px}.ms-status dt{white-space:nowrap;color:var(--text-dim);font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding-top:2px}.ms-status dd{margin:0;color:var(--cream);font-family:var(--font-mono);font-size:13px;text-align:right;font-variant-numeric:tabular-nums}.ms-feedwrap,.ms-stillwrap{position:relative;border-radius:8px;overflow:hidden;background:#000;aspect-ratio:4/3}.ms-feed{width:100%;height:100%;display:block;image-rendering:pixelated;cursor:move;touch-action:none}.ms-rec{position:absolute;top:10px;left:10px;font:600 10px var(--font-mono);letter-spacing:.14em;color:#fff;background:rgba(184,52,74,.85);padding:3px 8px;border-radius:3px}.ms.capturing .ms-rec{background:var(--gold);color:var(--bg)}.ms.capturing .ms-rec::after{content:" · PAUSED"}.ms-sleep{position:absolute;inset:0;background:rgba(8,4,5,.92);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--text-muted)}.ms-sleep[hidden]{display:none}.ms.asleep .ms-rec{display:none}.ms-still{width:100%;height:100%;display:block;opacity:0;transition:opacity .35s}.ms-still.show{opacity:1}.ms-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:12px var(--font-mono);color:var(--text-dim);pointer-events:none}.ms-still.show+.ms-empty{display:none}.ms-statusline{font-size:12px;color:var(--text-dim);font-style:italic}.ms-strip{display:flex;gap:6px;margin-top:10px}.ms-strip canvas{width:64px;height:48px;border-radius:4px;border:1px solid var(--border)}.ms-log{font:11px/1.6 var(--font-mono);color:var(--text-muted);min-height:150px}.ms-log div{padding:1px 0;border-bottom:1px dashed rgba(58,34,38,.6);overflow-wrap:anywhere}.ms-log span{color:var(--text-dim);margin-right:4px}.ms-log .ok{color:#8fc79a}.ms-log .warn{color:var(--gold)}@media(max-width:1080px){.ms-grid{grid-template-columns:1fr 1fr}.ms-main{grid-column:1/-1;order:-1}}@media(max-width:640px){.ms-grid{grid-template-columns:1fr}}.pm{outline:none}.pm:focus-visible .pm-boardwrap{box-shadow:0 0 0 2px var(--gold)}.pm-grid{display:grid;grid-template-columns:minmax(0,560px)minmax(0,1fr);gap:14px;align-items:start}.pm-boardwrap{position:relative;padding:12px}.pm-board{width:100%;aspect-ratio:1;display:block;touch-action:none;border-radius:6px;background:#0e0607}.pm-overlay{position:absolute;inset:12px;border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:rgba(14,6,7,.55);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);cursor:pointer;text-align:center}.pm-overlay[hidden]{display:none}.pm-overlay strong{font-family:var(--font-display);font-weight:500;font-size:30px;color:var(--cream)}.pm-overlay span{font-family:var(--font-mono);font-size:12px;color:var(--text-muted)}.pm-overlay .btn{margin-top:10px}.pm-side{padding:18px;display:flex;flex-direction:column;gap:14px;align-items:flex-start}.pm-explain{font-size:14px;color:var(--text-muted);margin:0;line-height:1.6}.pm-pad{display:none;grid-template-columns:repeat(3,56px);grid-template-rows:repeat(3,48px);gap:6px;align-self:center}.pm-pad button{background:var(--surface);border:1px solid var(--border);color:var(--cream);border-radius:10px;font-size:16px;touch-action:none;user-select:none;-webkit-user-select:none}.pm-pad button:active{background:var(--maroon)}.pm-pad [data-pm=up]{grid-column:2;grid-row:1}.pm-pad [data-pm=left]{grid-column:1;grid-row:2}.pm-pad [data-pm=right]{grid-column:3;grid-row:2}.pm-pad [data-pm=down]{grid-column:2;grid-row:3}@media(hover:none),(max-width:760px){.pm-pad{display:grid}}@media(max-width:760px){.pm-grid{grid-template-columns:1fr}.pm-side{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:start}.pm-side .chip,.pm-explain,.pm-pad{grid-column:1/-1}.pm-side .oz-stat strong{font-size:22px}}.pv-plot{position:absolute;inset:0;padding:22px 22px 18px;display:flex;flex-direction:column;background:radial-gradient(ellipse at 40% 30%,rgba(184,52,74,.16),transparent 60%)}.pv-plot svg{flex:1;width:100%;overflow:visible}.pv-label,.pv-foot{display:flex;justify-content:space-between;font:11px var(--font-mono);letter-spacing:.08em;color:var(--text-dim)}.pv-label{margin-bottom:10px}.pv-foot{margin-top:10px}.pv-peak{color:var(--maroon-bright)}.pv-base{stroke:var(--border);stroke-dasharray:3 5;vector-effect:non-scaling-stroke}.pv-area{fill:rgba(184,52,74,.14)}.pv-line{fill:none;stroke:var(--maroon-bright);stroke-width:2.5;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0}.pv-scope{position:absolute;inset:0;background:#000}.pv-feed{position:absolute;inset:-40%;background-size:cover;background-position:50%;filter:saturate(1.05)contrast(1.05)}.pv-cross{position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px;border:1px solid rgba(201,163,91,.7);border-radius:50%}.pv-cross::before,.pv-cross::after{content:"";position:absolute;background:rgba(201,163,91,.7)}.pv-cross::before{left:50%;top:-10px;bottom:-10px;width:1px}.pv-cross::after{top:50%;left:-10px;right:-10px;height:1px}.pv-badge{position:absolute;top:14px;left:14px;z-index:2;font:600 10px var(--font-mono);letter-spacing:.12em;color:#fff;background:rgba(20,9,10,.7);padding:5px 9px;border-radius:3px;display:inline-flex;align-items:center;gap:6px}.pv-badge i{width:7px;height:7px;border-radius:50%;background:#e0475f}.pv-game{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0e0607}.pv-game .pm-board{width:auto;height:92%;aspect-ratio:1;pointer-events:none}@media(prefers-reduced-motion:no-preference){.pv-feed{animation:pv-pan 26s ease-in-out infinite alternate}.pv-badge i{animation:pv-blink 1.2s steps(2)infinite}}@keyframes pv-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes pv-pan{0%{transform:translate(8%,6%)scale(1)}35%{transform:translate(-6%,9%)scale(1.15)}70%{transform:translate(4%,-8%)scale(1.05)}100%{transform:translate(-9%,-4%)scale(1.2)}}@keyframes pv-blink{50%{opacity:0}}.proj-hero{padding:48px 0 16px}.proj-back{font:12px var(--font-mono);letter-spacing:.08em;color:var(--text-dim);display:inline-block;margin-bottom:28px}.proj-hero .post-meta{margin-bottom:0;flex-wrap:wrap}.proj-hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:end}.proj-title{font-size:clamp(42px,7vw,80px);line-height:1;margin:12px 0 18px}.proj-kicker{font-size:clamp(17px,1.6vw,20px);color:var(--text-muted);line-height:1.55;margin:0;max-width:560px}.proj-stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:0;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.proj-stats div{background:var(--bg-alt);padding:16px 18px}.proj-stats dd{margin:0;font-family:var(--font-display);font-size:clamp(22px,2.6vw,30px);color:var(--cream);line-height:1.15;order:-1}.proj-stats div{display:flex;flex-direction:column-reverse;gap:4px}.proj-stats dt{font-size:12px;color:var(--text-dim);line-height:1.35}.proj-stack{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding-top:8px;padding-bottom:32px}.proj-stack-label{font:11px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);margin-right:8px}@media(max-width:840px){.proj-hero-grid{grid-template-columns:1fr;gap:28px}}.writeup{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:8px 0 48px}.writeup>summary{list-style:none;cursor:pointer;padding:26px 0;display:grid;grid-template-columns:1fr auto;grid-template-areas:"label toggle" "meta toggle";gap:4px 20px;align-items:center}.writeup>summary::-webkit-details-marker{display:none}.writeup-label{grid-area:label;font-family:var(--font-display);font-size:26px;color:var(--cream)}.writeup-meta{grid-area:meta;font-size:14px;color:var(--text-dim)}.writeup-toggle{grid-area:toggle;width:40px;height:40px;border-radius:50%;border:1px solid var(--border);position:relative;transition:background .2s,border-color .2s}.writeup-toggle::before,.writeup-toggle::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:1.5px;margin:-.75px 0 0 -7px;background:var(--cream);transition:transform .3s var(--ease)}.writeup-toggle::after{transform:rotate(90deg)}.writeup[open] .writeup-toggle::after{transform:rotate(0)}.writeup>summary:hover .writeup-toggle{border-color:var(--maroon-bright);background:var(--maroon-glow)}.writeup[open]>summary{border-bottom:1px dashed var(--border);margin-bottom:28px}.oz-dist{display:flex;align-items:center;gap:14px;padding:2px 8px 10px;font:600 14px var(--font-body);color:var(--cream)}.oz-dist input{flex:1;accent-color:var(--gold)}@media(max-width:760px){.oz-dist{flex-direction:column;align-items:stretch;gap:6px}.oz-dist input{height:28px}.pm-side .pm-pad{order:-1}}:root{--bg:#0b0708;--bg-alt:#120c0d;--surface:#1a1112;--surface-hi:#241618;--border:#2c1d20;--text:#ece5dc;--text-muted:#a99a8d;--text-dim:#74665c;--cream:#f5efe6;--maroon:#7a1f2b;--maroon-bright:#c13a50;--font-display:"Inter Tight", "Inter", -apple-system, system-ui, sans-serif;--radius-lg:10px;--maxw:1320px}body::before{display:none}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;letter-spacing:-.035em}.section-title em,.about-lead em,.xabout-lead em,.section-title .accent,.about-lead .accent{font-style:normal;color:var(--maroon-bright);background:0 0!important}.xbtn{display:inline-flex;align-items:center;gap:10px;font:500 15px/1 var(--font-body);color:var(--cream);background:var(--maroon);padding:16px 26px;border-radius:999px;transition:background .25s var(--ease),transform .25s var(--ease)}.xbtn:hover{background:var(--maroon-bright);color:#fff;transform:translateY(-2px)}.xbtn-ghost{background:0 0;box-shadow:inset 0 0 0 1px rgba(236,229,220,.25)}.xbtn-ghost:hover{background:rgba(236,229,220,8%)}.site-header--over{position:fixed;left:0;right:0;background:0 0;border-bottom-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;transition:background .3s,border-color .3s,backdrop-filter .3s}.site-header--over .brand,.site-header--over .nav-links a{color:#fff;text-shadow:0 1px 12px rgba(0,0,0,.35)}.site-header--over.scrolled{background:rgba(11,7,8,.82);border-bottom-color:var(--border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.site-header--over.scrolled .brand,.site-header--over.scrolled .nav-links a{text-shadow:none}.site-header--over .nav-links.open a{text-shadow:none}.xhero{position:relative;height:100vh;height:100svh;min-height:560px;overflow:hidden;background:#000;isolation:isolate}.xhero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%;z-index:-2}.xhero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.45) 0%,transparent 22%,transparent 48%,rgba(11,7,8,.88) 88%,var(--bg) 100%),linear-gradient(90deg,rgba(0,0,0,.35),transparent 45%)}.xhero-meta{position:absolute;left:0;right:0;top:40%;display:flex;justify-content:space-between;align-items:center;gap:24px}.xhero-pill{display:inline-flex;align-items:center;gap:12px;font:500 14px/1.3 var(--font-body);color:#fff;background:rgba(11,7,8,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:14px 22px 14px 16px;border-radius:0 999px 999px 0;margin-left:-28px;padding-left:44px}.xhero-pill-dot{width:9px;height:9px;border-radius:50%;background:#6fe08a;box-shadow:0 0 0 4px rgba(111,224,138,.18)}.xhero-role{color:#fff;max-width:300px}.xhero-role p{font:500 clamp(20px,2vw,28px)/1.25 var(--font-display);letter-spacing:-.02em;margin:10px 0 0;text-shadow:0 2px 20px rgba(0,0,0,.45)}.xhero-arrow{font-size:26px;display:inline-block}.xhero-name{position:absolute;left:0;right:0;bottom:2vh;margin:0;color:#fff;overflow:hidden;white-space:nowrap;line-height:1}.marquee{display:inline-flex;font:500 clamp(88px,15vw,240px)/1 var(--font-display);letter-spacing:-.045em;will-change:transform}.marquee span{padding-right:.1em}.marquee i{font-style:normal;color:var(--maroon-bright)}@media(prefers-reduced-motion:no-preference){.marquee{animation:marquee 28s linear infinite}.xhero-photo{animation:xhero-zoom 1.6s var(--ease)both}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes xhero-zoom{from{transform:scale(1.06);opacity:0}to{transform:none;opacity:1}}@media(max-width:760px){.xhero-meta{top:auto;bottom:calc(2vh + 26vw);flex-direction:column;align-items:flex-start;gap:18px}.xhero-pill{margin-left:-16px;padding-left:28px;font-size:13px}.xhero-role{padding-left:2px}.xhero-arrow{display:none}.marquee{font-size:25vw}.xhero-photo{object-position:55% 25%}}.xintro{display:grid;grid-template-columns:1.6fr 1fr;gap:64px;padding-top:120px;padding-bottom:140px;align-items:start}.xintro-lead{font:500 clamp(30px,3.6vw,52px)/1.12 var(--font-display);letter-spacing:-.035em;color:var(--cream);margin:0}.xintro-status{list-style:none;margin:8px 0 32px;padding:0}.xintro-status li{font:16px/1.5 var(--font-body);color:var(--text-muted);padding:12px 0;border-bottom:1px solid var(--border)}.xintro-actions{display:flex;flex-wrap:wrap;gap:10px}@media(max-width:860px){.xintro{grid-template-columns:1fr;gap:36px;padding-top:72px;padding-bottom:80px}}.xwork{background:#000;padding:72px 0 0}.xwork-head{display:flex;justify-content:space-between;gap:20px;font:500 12px var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);padding-bottom:24px}.xwork-head a{color:var(--text-muted)}.xwork-head a:hover{color:var(--maroon-bright)}.xwork-head--plain{padding-bottom:8px}.xshow{padding:56px 0 96px;border-top:1px solid #1c1c1c}.xshow-bar{display:flex;align-items:center;gap:18px;font:500 12px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:#8a8a8a}.xshow-bar-rule{flex:1;height:1px;background:#262626}.xshow-head{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:end;margin:40px auto}.xshow-title{font-size:clamp(52px,8.4vw,136px);line-height:.92;letter-spacing:-.05em;margin:0;color:#f2f2f2}.xshow-title a:hover{color:var(--maroon-bright)}.xshow-kicker{font-size:18px;line-height:1.55;color:#9a9a9a;margin:0 0 8px;max-width:440px}.xshow-stage{position:relative;height:min(78vh,760px);min-height:420px;overflow:hidden;background:#000}.xshow-light{position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 55% 70% at 50% 0%,rgba(255,240,230,.13),transparent 70%),radial-gradient(ellipse 40% 30% at 50% 92%,rgba(193,58,80,.12),transparent 70%)}.xshow-stage>*:not(.xshow-light){position:relative;z-index:1}.xshow-stage .bv-compact{position:absolute;inset:0}.xshow-stage .bv-compact .bv-stage{background:0 0}.xshow-stage .pv-scope,.xshow-stage .pv-game{position:absolute;inset:0;display:block}.xshow-stage--microscope .pv-scope{inset:0 max(28px,calc((100vw - var(--maxw))/2 + 28px));border-radius:4px;overflow:hidden}.xshow-stage--pacman .pv-game{display:flex;align-items:center;justify-content:center;background:0 0}.xshow-stage--pacman .pm-board{height:88%;width:auto;aspect-ratio:1;background:0 0}.xshow-stage--motor{display:flex;align-items:center;justify-content:center}.xshow-stage--motor .md-compact{width:min(1180px,calc(100% - 56px))}.xshow-stage--motor .md-compact .md-scope{height:min(56vh,520px)}.xshow-cover{width:100%;height:100%;object-fit:cover}.xshow-foot{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-top:40px}.xshow-stats{display:grid;grid-template-columns:repeat(4,auto);gap:8px 48px;margin:0}.xshow-stats div{display:flex;flex-direction:column-reverse}.xshow-stats dd{margin:0;font:500 clamp(26px,2.6vw,40px)/1.1 var(--font-display);letter-spacing:-.03em;color:#f2f2f2}.xshow-stats dt{font:500 11px/1.4 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:#7a7a7a;max-width:170px}@media(max-width:860px){.xshow{padding:40px 0 64px}.xshow-head{grid-template-columns:1fr;gap:16px;margin:28px auto}.xshow-title{font-size:15vw}.xshow-stage{height:72vw;min-height:300px}.xshow-stage--microscope .pv-scope{inset:0 16px}.xshow-stage--motor .md-compact{width:calc(100% - 32px)}.xshow-stage--motor .md-compact .md-scope{height:100%}.xshow-foot{flex-direction:column;align-items:stretch}.xshow-stats{grid-template-columns:1fr 1fr;gap:18px 20px}.xshow-foot .xbtn{justify-content:center}.xbtn{padding:15px 22px}}.xwork--list{background:0 0;padding:0}.xwork--list .xshow .wrap{padding-left:0;padding-right:0}.xwork--list .xshow-stage{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}.xabout{display:grid;grid-template-columns:200px 1fr;grid-template-areas:"label lead" ". body";gap:24px 64px;padding-top:140px;padding-bottom:120px}.xabout-label{grid-area:label;font:500 12px var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);padding-top:14px}.xabout-lead{grid-area:lead;font:500 clamp(34px,4.4vw,64px)/1.05 var(--font-display);letter-spacing:-.04em;color:var(--cream);margin:0}.xabout-body{grid-area:body;columns:2;column-gap:48px;color:var(--text-muted);font-size:16px}.xabout-body p{margin:0 0 1em;break-inside:avoid}.xabout-body strong{color:var(--cream);font-weight:500}@media(max-width:860px){.xabout{grid-template-columns:1fr;grid-template-areas:"label" "lead" "body";padding-top:80px;padding-bottom:72px}.xabout-body{columns:1}}.xcta{display:flex;justify-content:space-between;align-items:end;gap:32px;flex-wrap:wrap;padding:40px 0 80px;margin-bottom:56px;border-bottom:1px solid var(--border)}.xcta-line{font:500 clamp(56px,9vw,140px)/.95 var(--font-display);letter-spacing:-.05em;color:var(--cream);margin:0}.xcta-line span{color:var(--maroon-bright)}.xcta-links{display:flex;flex-wrap:wrap;gap:10px}.footer-title{font-family:var(--font-display)}.proj-title{font-size:clamp(52px,9vw,140px);line-height:.92;letter-spacing:-.05em}.proj-stats{border-radius:4px;background:#262626;border-color:#262626}.proj-stats div{background:#000}.proj-stats dt{font:500 11px/1.4 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:#7a7a7a}.proj-demos{background:#000;padding:24px 0;border-top:1px solid #1c1c1c;border-bottom:1px solid #1c1c1c;margin-top:32px}.demo-title{letter-spacing:-.04em}.oz-benchwrap,.oz-plot,.oz-readout,.ms-panel,.pm-boardwrap,.pm-side{background:#0d0d0d;border-color:#222;border-radius:6px}.bv-stage{background:radial-gradient(ellipse 60% 70% at 50% 0%,rgba(255,240,230,.12),transparent 70%),#000;border-color:#222;border-radius:6px}.oz-stat strong,.bv-info strong,.pm-overlay strong{font-family:var(--font-display);letter-spacing:-.03em}.writeup-label{font-family:var(--font-display);letter-spacing:-.03em}.list-header h1{font-size:clamp(56px,10vw,150px);letter-spacing:-.05em;line-height:.9}.xshow-stage .pv-feed{inset:-12%}@keyframes pv-pan{0%{transform:translate(4%,3%)scale(1)}35%{transform:translate(-3%,4%)scale(1.06)}70%{transform:translate(2%,-4%)scale(1.02)}100%{transform:translate(-4%,-2%)scale(1.08)}}.site-header--over:not(.scrolled) .nav-links li.cross-site a,.site-header--over:not(.scrolled) .nav-links li.cross-site .cross-site-arrow{color:rgba(255,255,255,.8)}.site-header--over:not(.scrolled) .nav-links li.cross-site::before{background:rgba(255,255,255,.35)}.xshow-stage--board .bv-hint{color:#8a8a8a}.oz-legend{font-size:13px;color:var(--text-dim);line-height:1.5;margin:auto 0 0}.proj-labs-link{padding:40px 0 8px}.labs-hero{padding:72px 0 40px}.labs-title{font-size:clamp(72px,14vw,220px);line-height:.85;letter-spacing:-.055em;margin:20px 0 24px}.labs-title span{color:var(--maroon-bright)}.labs-lead{font-size:clamp(18px,1.8vw,22px);color:var(--text-muted);max-width:640px;margin:0;line-height:1.5}.labs-jump{position:sticky;top:64px;z-index:40;background:rgba(11,7,8,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.labs-jump-inner{display:flex;gap:6px;overflow-x:auto;padding-top:12px;padding-bottom:12px;scrollbar-width:none}.labs-jump-inner::-webkit-scrollbar{display:none}.labs-jump a{flex:none;display:inline-flex;align-items:center;gap:10px;font:500 14px var(--font-body);color:var(--text-muted);padding:10px 16px;border-radius:999px;border:1px solid transparent;transition:all .2s var(--ease)}.labs-jump a b{font:500 11px var(--font-mono);color:var(--text-dim);font-weight:500}.labs-jump a:hover{color:var(--cream);border-color:var(--border)}.labs-jump a.on{color:#fff;background:var(--maroon);border-color:var(--maroon-bright)}.labs-jump a.on b{color:rgba(255,255,255,.7)}.labs-list{background:#000}.labs-item{padding:56px 0 72px;border-top:1px solid #1c1c1c;scroll-margin-top:128px}.labs-bar{margin-bottom:28px}.labs-bar a{color:#9a9a9a}.labs-bar a:hover{color:var(--maroon-bright)}html{scroll-padding-top:128px}.xhero-pill{margin-left:0;padding:10px 10px 10px 18px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(14px)saturate(1.2);-webkit-backdrop-filter:blur(14px)saturate(1.2);font-size:14px;color:#fff;transition:background .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease)}.xhero-pill:hover{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.4);color:#fff;transform:translateY(-2px)}.xhero-pill-go{display:inline-flex;align-items:center;gap:6px;margin-left:6px;font:500 12px var(--font-body);color:#fff;background:#0a66c2;padding:7px 12px 7px 10px;border-radius:999px}.xhero-pill:hover .xhero-pill-go{background:#0b74dc}.xhero-role{display:block;color:#fff;text-decoration:none}.xhero-role:hover{color:#fff}.xhero-role p{background-image:linear-gradient(currentColor,currentColor);background-size:0 2px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .35s var(--ease);display:inline}.xhero-role:hover p{background-size:100% 2px}.xhero-arrow{transition:transform .3s var(--ease)}.xhero-role:hover .xhero-arrow{transform:rotate(-45deg)}.xhero-role-go{display:block;margin-top:14px;font:500 12px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.75)}.xhero-role:hover .xhero-role-go{color:#fff}.xshow-actions{display:flex;gap:10px;flex-wrap:wrap}@media(max-width:760px){.xhero-pill{margin-left:0;padding-left:14px;font-size:13px}.xshow-actions .xbtn{flex:1;justify-content:center}}.xhero-role .xhero-arrow{display:block;width:max-content}.xhero-pill-go{white-space:nowrap;flex:none}.xhero-meta{top:auto;bottom:calc(2vh + min(15vw,240px) + 36px);align-items:flex-end}.xhero-pill{gap:12px;padding:8px 8px 8px 18px;background:rgba(20,10,11,.45);border-color:rgba(255,255,255,.18)}.xhero-pill:hover{background:rgba(20,10,11,.6);border-color:rgba(255,255,255,.32)}.xhero-pill-go{width:32px;height:32px;padding:0;margin-left:4px;justify-content:center;border-radius:50%;background:#fff;color:#1a1112;transition:background .25s var(--ease),color .25s var(--ease)}.xhero-pill:hover .xhero-pill-go{background:var(--maroon-bright);color:#fff}.xhero-role{text-align:right;max-width:none}.xhero-role p{display:block;background:0 0;font-size:clamp(20px,1.9vw,28px);line-height:1.2;white-space:nowrap}.xhero-role p span{display:block;color:rgba(255,255,255,.62)}.xhero-role-go{display:inline-flex;gap:8px;margin-top:12px;padding-bottom:3px;border-bottom:1px solid rgba(255,255,255,.35);color:rgba(255,255,255,.85);transition:border-color .25s var(--ease),color .25s var(--ease)}.xhero-role-go i{font-style:normal;transition:transform .25s var(--ease)}.xhero-role:hover .xhero-role-go{border-color:var(--maroon-bright);color:#fff}.xhero-role:hover .xhero-role-go i{transform:translateX(4px)}@media(max-width:760px){.xhero-meta{bottom:calc(2vh + 25vw + 24px);align-items:flex-start}.xhero-role{text-align:left}.xhero-role p{white-space:normal;font-size:20px}}.xhero-meta{justify-content:flex-end}.xhero-role{text-align:right}.xhero-role p span{margin-top:2px}.xhero-links{display:flex;justify-content:flex-end;gap:22px;margin-top:16px}.xhero-links a{display:inline-flex;gap:8px;padding-bottom:3px;font:500 12px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.85);border-bottom:1px solid rgba(255,255,255,.35);transition:border-color .25s var(--ease),color .25s var(--ease)}.xhero-links a i{font-style:normal;transition:transform .25s var(--ease)}.xhero-links a:hover{color:#fff;border-color:var(--maroon-bright)}.xhero-links a:hover i{transform:translate(3px,0)}@media(max-width:760px){.xhero-meta{justify-content:flex-start}.xhero-role{text-align:left}.xhero-links{justify-content:flex-start}}.labs-note{display:inline-block;margin:0 0 28px;padding:10px 14px;font-size:14px;color:var(--text-muted);border-left:2px solid var(--maroon-bright);background:rgba(255,255,255,3%)}.labs-demo--next{margin-top:64px;padding-top:48px;border-top:1px dashed #222}.labs-head{margin:28px 0 32px;padding:0;align-items:start}.labs-ptitle{font-size:clamp(44px,6.4vw,96px)}.labs-stats{grid-template-columns:repeat(2,auto);justify-content:start;gap:18px 40px;margin-top:24px}.labs-stats dd{font-size:clamp(22px,2vw,30px)}.ms-bench img:not([src]){visibility:hidden}.md-grid{display:grid;grid-template-columns:minmax(240px,.8fr)1.6fr minmax(180px,.6fr);gap:12px}.md-panel{background:var(--surface,#14090a);border:1px solid var(--border);border-radius:14px;overflow:hidden}.md-circuit{padding:10px;display:flex;align-items:center;justify-content:center}.md-svg{width:100%;max-width:380px;height:auto;display:block;user-select:none;-webkit-user-select:none}.md-scope{height:320px;padding:6px 4px}.md-scope canvas{width:100%;height:100%;display:block}.md-read{padding:18px;display:flex;flex-direction:column;gap:14px}.md-read .oz-stat strong{font-size:26px}.md-wire{fill:none;stroke:#6d5d58;stroke-width:2.5;stroke-linecap:round}.md-wire-motor{stroke:color-mix(in srgb,#8fd3e8 calc(var(--md-flow,0) * 100%),#6d5d58)}.md-wire-diode{stroke:color-mix(in srgb,#8fd3e8 calc(var(--md-dflow,0) * 100%),#6d5d58)}.md-batt{stroke:var(--cream);stroke-width:2.5}.md-motor{fill:#1d1012;stroke:var(--cream);stroke-width:2.5}.md-rotor{stroke:var(--gold);stroke-width:3;stroke-linecap:round}.md-hub{fill:var(--gold)}.md-diode{cursor:pointer;outline:none}.md-diode-body{fill:var(--cream)}.md-diode-bar{stroke:var(--cream);stroke-width:3}.md-diode.off .md-diode-body,.md-diode.off .md-diode-bar{opacity:.15}.md-diode.off .md-wire-diode{stroke-dasharray:4 6;opacity:.4}.md-diode:focus-visible .md-diode-body,.md-sw:focus-visible .md-swbox{stroke:var(--gold);stroke-width:2}.md-hit{fill:transparent}.md-sw{cursor:pointer;outline:none}.md-swbox{fill:#1d1012;stroke:var(--maroon-bright);stroke-width:2}.md-pwmicon{fill:none;stroke:var(--gold);stroke-width:2}.md-spark{fill:none;stroke:#ffd36b;stroke-width:2.5;stroke-linejoin:round;opacity:0;filter:drop-shadow(0 0 4px #ff9b3d)}.md-lab{font:11px var(--font-mono);fill:var(--text-dim)}.md-lab-strong{fill:var(--cream);font-size:13px;font-weight:600}.md-compact{width:min(860px,92%);margin:0 auto}.md-swbox{transition:fill .3s,filter .3s}.md-sw.hot .md-swbox{fill:#3a1018;filter:drop-shadow(0 0 6px rgba(193,58,80,.7))}.md-diode-body,.md-diode-bar{transition:opacity .35s}.md-hud{display:flex;align-items:flex-end;gap:28px;margin-bottom:14px}.md-cap{margin-right:auto;font:600 16px var(--font-body);letter-spacing:0;color:var(--cream);padding:10px 20px;border:1px solid var(--border);border-radius:999px;background:rgba(10,4,5,.7)}.md-cap::before{content:'';display:inline-block;width:9px;height:9px;border-radius:50%;background:#8fc79a;margin-right:12px;vertical-align:1px;box-shadow:0 0 8px #8fc79a}.md-cap.in{animation:md-cap-in .45s var(--ease)both}@keyframes md-cap-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.md-gauge{display:flex;align-items:baseline;gap:8px;font-variant-numeric:tabular-nums}.md-gauge small{font:500 11px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim)}.md-gauge b{font:500 22px var(--font-mono);color:var(--gold)}.md-gauge-big b{font:500 clamp(36px,4.6vw,64px)/1 var(--font-display);letter-spacing:-.04em;color:#f2f2f2;min-width:4ch;text-align:right}.md-compact .md-panel{transition:box-shadow .15s,border-color .15s}.md-zap .md-cap::before{background:#ff6b81;box-shadow:0 0 10px #ff6b81}.md-zap .md-panel{border-color:rgba(255,107,129,.6);box-shadow:0 0 40px -6px rgba(255,70,100,.45)}.md-zap .md-grid{animation:md-shake .18s steps(2)infinite}@keyframes md-shake{0%{transform:translate(1px,-1px)}50%{transform:translate(-1px,1px)}100%{transform:none}}@media(prefers-reduced-motion:reduce){.md-zap .md-grid,.md-cap.in{animation:none}}@media(max-width:640px){.md-hud{gap:14px;margin-bottom:10px}.md-cap{font-size:13px;padding:7px 12px}.md-gauge:not(.md-gauge-big){display:none}.md-gauge-big b{font-size:30px}}.md-compact .md-grid{grid-template-columns:.8fr 1.6fr}.md-compact .md-scope{height:260px}.md-compact .md-panel{background:rgba(10,4,5,.7)}@media(max-width:960px){.md-grid{grid-template-columns:1fr 1fr}.md-scope{grid-column:1/-1;grid-row:1;height:260px}}@media(max-width:640px){.md-grid,.md-compact .md-grid{grid-template-columns:1fr}.md-read{display:grid;grid-template-columns:1fr 1fr}.md-circuit svg{max-width:300px}.md-compact .md-circuit{display:none}.md-compact .md-scope{height:200px}}.demo-steps{list-style:none;counter-reset:step;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;max-width:420px}.demo-steps li{counter-increment:step;position:relative;padding-left:32px;font-size:15px;line-height:1.45;color:var(--text-muted)}.demo-steps li::before{content:counter(step);position:absolute;left:0;top:0;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font:600 12px var(--font-mono);color:var(--cream);background:var(--maroon)}.demo-steps b{color:var(--cream);font-weight:600}.oz-stat small{display:block;font:11px var(--font-mono);color:var(--text-dim);margin-top:2px}.ms-logbox{padding:0}.ms-logbox summary{cursor:pointer;padding:12px 16px;font:12px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim)}.ms-logbox[open] summary{border-bottom:1px solid var(--border)}.ms-logbox .ms-log{margin:10px 14px 14px}.md-controls{display:grid;grid-template-columns:auto repeat(4,minmax(0,1fr));gap:14px;align-items:stretch;margin-top:12px}.md-start{font-size:16px;min-width:130px;padding:0 22px;border-radius:12px}.md-ctl{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;min-width:0}.md-ctl input{width:100%;accent-color:var(--gold);margin:2px 0}.md-ctl p{margin:0;font-size:13px;line-height:1.4;color:var(--text-muted)}@media(max-width:1100px){.md-controls{grid-template-columns:1fr 1fr}.md-start{grid-column:1/-1;min-height:48px}}@media(max-width:560px){.md-controls{grid-template-columns:1fr}.md-ctl input{height:28px}}.lp-section{padding-top:12px}.lp-feed{list-style:none;margin:0;padding:0}.lp{display:grid;grid-template-columns:120px minmax(0,.9fr)minmax(0,1.1fr);gap:40px;align-items:start;padding:48px 0;border-top:1px solid #1c1c1c}.lp--text{grid-template-columns:120px minmax(0,1fr)}.lp--text .lp-body{max-width:760px}.lp-when{position:sticky;top:96px;display:flex;flex-direction:column;gap:6px}.lp-when time{font:500 clamp(30px,3vw,44px)/1 var(--font-display);letter-spacing:-.04em;color:var(--cream)}.lp-year{font:500 11px var(--font-mono);letter-spacing:.14em;color:var(--text-dim)}.lp-media{position:relative;display:block;border-radius:10px;overflow:hidden;border:1px solid var(--border);background:#0b0505}.lp-media img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .6s var(--ease),filter .6s var(--ease);filter:saturate(.9)}.lp-media:hover img{transform:scale(1.03);filter:none}.lp-more{position:absolute;right:12px;bottom:12px;font:500 12px var(--font-mono);color:var(--cream);background:rgba(10,4,5,.78);border:1px solid var(--border);border-radius:999px;padding:5px 10px}.lp-body{display:flex;flex-direction:column;gap:16px;min-width:0}.lp-text{position:relative;font-size:16px;line-height:1.65;color:var(--text)}.lp-text p:last-child{margin-bottom:0}.lp-text--cut{max-height:15.5em;overflow:hidden}.lp-text--cut::after{content:'';position:absolute;left:0;right:0;bottom:0;height:3.5em;background:linear-gradient(transparent,var(--bg));pointer-events:none}.lp-text p{margin:0 0 .8em}.lp-tags{display:flex;flex-wrap:wrap;gap:6px 14px;font:12px var(--font-mono);color:var(--text-dim)}.lp-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding-top:14px;border-top:1px solid var(--border)}.lp-stats{font:12px var(--font-mono);letter-spacing:.04em;color:var(--text-dim)}.lp-link{font-weight:600;font-size:14px;color:var(--cream);text-decoration:none}.lp-link:hover{color:var(--maroon-bright)}.lp-empty{color:var(--text-muted)}.lp-notes{margin-top:64px}.lp-follow{margin-top:56px}@media(max-width:900px){.lp,.lp--text{grid-template-columns:1fr;gap:18px;padding:36px 0}.lp-when{position:static;flex-direction:row;align-items:baseline;gap:10px}.lp-when time{font-size:28px}}.lp-quote{display:grid;grid-template-columns:minmax(0,1fr)220px;gap:0;border:1px solid var(--border);border-left:3px solid var(--maroon-bright);border-radius:10px;overflow:hidden;background:rgba(40,21,23,.35);text-decoration:none;color:inherit;transition:border-color .2s var(--ease),background .2s var(--ease)}.lp-quote:hover{border-color:var(--maroon-bright);background:rgba(40,21,23,.6)}.lp-quote--text{grid-template-columns:1fr}.lp-quote-body{padding:18px 20px;display:flex;flex-direction:column;gap:10px;min-width:0}.lp-quote-who{display:flex;flex-direction:column;gap:2px}.lp-quote-who strong{font-size:15px;font-weight:600;color:var(--cream)}.lp-quote-who span{font:12px var(--font-mono);color:var(--text-dim)}.lp-quote p{margin:0;font-size:14px;line-height:1.6;color:var(--text-muted);overflow-wrap:anywhere}.lp-quote-meta{font:12px var(--font-mono);color:var(--text-dim)}.lp-quote img{width:100%;height:100%;object-fit:cover;display:block;min-height:180px}@media(max-width:640px){.lp-quote{grid-template-columns:1fr}.lp-quote img{order:-1;aspect-ratio:16/9;min-height:0}}.lp-rail{position:fixed;right:22px;top:50%;transform:translateY(-50%);z-index:30;display:none}.lp-rail ol{list-style:none;margin:0;padding:14px 10px;display:flex;flex-direction:column;align-items:flex-end;gap:10px;border-radius:999px}.lp-rail-year{font:500 10px var(--font-mono);letter-spacing:.12em;color:var(--text-dim);padding:6px 4px 2px;text-align:center;width:100%}.lp-rail a{position:relative;display:flex;align-items:center;justify-content:flex-end;width:24px;height:24px;text-decoration:none}.lp-rail-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.28);transition:transform .25s var(--ease),background .25s var(--ease),box-shadow .25s var(--ease);margin-right:8px}.lp-rail a:hover .lp-rail-dot{background:var(--cream);transform:scale(1.3)}.lp-rail a.on .lp-rail-dot{background:var(--maroon-bright);transform:scale(1.5);box-shadow:0 0 0 4px rgba(184,52,74,.25),0 0 12px rgba(184,52,74,.6)}.lp-rail-label{position:absolute;right:34px;top:50%;transform:translate(8px,-50%);white-space:nowrap;font:600 13px var(--font-body);color:var(--cream);padding:7px 12px;border-radius:12px;opacity:0;pointer-events:none;transition:opacity .2s var(--ease),transform .25s var(--ease);display:flex;flex-direction:column;gap:2px}.lp-rail-label small{display:none;font:11px var(--font-body);color:var(--text-muted);max-width:220px;overflow:hidden;text-overflow:ellipsis}.lp-rail a:hover .lp-rail-label small,.lp-rail a:focus-visible .lp-rail-label small{display:block}.lp-rail a:hover .lp-rail-label{z-index:2}.lp-rail a:hover .lp-rail-label,.lp-rail a:focus-visible .lp-rail-label{opacity:1;transform:translate(0,-50%)}.lp-rail a.on .lp-rail-label{color:#fff}@media(min-width:1300px){.lp-rail{display:block}}.lp-rail{padding:40px 0 40px 24px}.lp-rail ol,.lp-rail-dot,.lp-rail-year,.lp-rail a{transition:background .3s,box-shadow .3s,padding .3s var(--ease),opacity .3s,transform .3s var(--ease),width .3s var(--ease),height .3s var(--ease),margin .3s var(--ease)}.lp-rail:not(:hover):not(:focus-within) ol{background:0 0;box-shadow:none;padding:14px 0;gap:6px}.lp-rail:not(:hover):not(:focus-within) .lp-rail-year{opacity:0;height:0;padding:0;overflow:hidden}.lp-rail:not(:hover):not(:focus-within) a{height:12px}.lp-rail:not(:hover):not(:focus-within) .lp-rail-dot{width:14px;height:2px;border-radius:2px;background:rgba(255,255,255,.22);box-shadow:none;transform:none}.lp-rail:not(:hover):not(:focus-within) a.on .lp-rail-dot{width:22px;background:var(--maroon-bright)}.lp-rail ol{background:rgba(20,10,11,.94);border:1px solid var(--border);box-shadow:0 16px 36px -16px rgba(0,0,0,.7)}.lp-rail:not(:hover):not(:focus-within) ol{border-color:transparent}.lp-rail-label{background:#1d1011;border:1px solid var(--border);box-shadow:0 10px 24px -10px rgba(0,0,0,.7)}