.site-header{z-index:101;height:var(--header-h);background:color-mix(in srgb, var(--bg-titlebar) 88%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid color-mix(in srgb, var(--accent) 45%, var(--border));font-family:var(--mono);position:fixed;top:0;left:0;right:0}.site-header__inner{width:100%;max-width:1280px;height:100%;padding:0 var(--page-gutter);box-sizing:border-box;justify-content:space-between;align-items:center;gap:1rem;margin:0 auto;display:flex;position:relative}.site-header__brand{align-items:center;min-width:44px;min-height:44px;text-decoration:none;display:inline-flex}.site-header__mark{width:34px;height:34px;box-shadow:0 0 0 1px var(--border-bright);border-radius:7.4px;transition:transform .2s ease-out;display:block}@media (hover:hover) and (pointer:fine){.site-header__brand:hover .site-header__mark{transform:rotate(-4deg)}}@media (prefers-reduced-motion:reduce){.site-header__mark{transition:none}}.site-header__brand:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.site-header__nav-desktop{margin-left:auto;display:none}.site-header__list-desktop{flex-flow:wrap;justify-content:flex-end;align-items:center;gap:.15rem;margin:0;padding:0;list-style:none;display:flex}.site-header__link-desktop{font-family:var(--mono);letter-spacing:.02em;color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:0;min-height:44px;padding:.5rem .75rem;font-size:13.5px;font-weight:500;transition:color .2s,text-shadow .2s;position:relative}.site-header__link-desktop:focus-visible{color:var(--accent-strong)}@media (hover:hover) and (pointer:fine){.site-header__link-desktop:hover{color:var(--accent-strong)}}.site-header__link-desktop--active{color:var(--accent-strong);font-weight:700}.site-header__link-desktop:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (min-width:768px){.site-header__nav-desktop{display:flex}}.site-header__actions{align-items:center;gap:.5rem;display:flex}.site-header__search,.site-header__theme-toggle{border:1px solid var(--border-bright);height:44px;color:var(--text-dim);cursor:pointer;background:0 0;border-radius:0;justify-content:center;align-items:center;gap:.5rem;padding:0 .75rem;transition:border-color .2s,color .2s;display:flex}.site-header__theme-toggle{width:44px;padding:0}.site-header__theme-toggle svg{width:18px;height:18px}.site-header__search:focus-visible{border-color:var(--accent);color:var(--accent)}.site-header__theme-toggle:focus-visible{border-color:var(--accent);color:var(--accent)}@media (hover:hover) and (pointer:fine){.site-header__search:hover,.site-header__theme-toggle:hover{border-color:var(--accent);color:var(--accent)}}.site-header__search:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.site-header__theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.site-header__search-label{font-family:var(--mono);white-space:nowrap;font-size:12px}@media (max-width:767px){.site-header__search{width:44px;padding:0}.site-header__search-label{display:none}}.site-header__hamburger{border:1px solid var(--border-bright);cursor:pointer;background:0 0;border-radius:0;width:44px;height:44px;padding:0;transition:border-color .2s ease-out;position:relative}@media (hover:hover) and (pointer:fine){.site-header__hamburger:hover{border-color:var(--accent)}}.site-header__hamburger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.site-header__hamburger-bar{border-radius:1px;height:2px;transition:transform .3s cubic-bezier(.22,1,.36,1),width .3s cubic-bezier(.22,1,.36,1),background-color .2s ease-out;position:absolute;left:11px}.site-header__hamburger-bar:first-child{background:var(--text-h);width:20px;top:17px}.site-header__hamburger-bar:nth-child(2){background:var(--accent);width:12px;top:25px}.site-header__hamburger[aria-expanded=true] .site-header__hamburger-bar:first-child{transform:translateY(4px)rotate(45deg)}.site-header__hamburger[aria-expanded=true] .site-header__hamburger-bar:nth-child(2){width:20px;transform:translateY(-4px)rotate(-45deg)}@media (min-width:768px){.site-header__hamburger{display:none}}.site-header__panel{height:calc(100dvh - var(--header-h));pointer-events:none;visibility:hidden;transition:visibility 0s linear .35s;position:absolute;top:100%;left:0;right:0}.site-header__panel--open{pointer-events:auto;visibility:visible;transition:visibility}.site-header__nav{padding:1.75rem var(--page-gutter) 2rem;box-sizing:border-box;background-color:var(--bg);background-image:radial-gradient(circle, var(--dot) 1px, transparent 1.4px);clip-path:inset(0 0 100%);background-position:12px 12px;background-size:24px 24px;flex-direction:column;transition:clip-path .35s cubic-bezier(.22,1,.36,1);display:flex;position:absolute;top:0;bottom:0;left:0;right:0;overflow-y:auto}.site-header__nav:before{content:"";top:0;bottom:0;left:calc(var(--page-gutter) / 2 - 1px);background:var(--accent);opacity:.7;width:1.5px;position:absolute}.site-header__panel--open .site-header__nav{clip-path:inset(0)}.site-header__list{margin:0;padding:0;list-style:none}.site-header__item{border-bottom:1px dashed var(--border-bright);opacity:0;transition:opacity .3s ease-out,transform .3s ease-out;transform:translateY(8px)}.site-header__panel--open .site-header__item{opacity:1;transition-delay:calc(80ms + var(--i) * 40ms);transform:none}.site-header__link{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:0;flex-direction:column;align-items:flex-start;gap:2px;width:100%;min-height:44px;padding:1rem 0;display:flex}.site-header__link-name{font-family:var(--mono);letter-spacing:-.03em;color:var(--text-h);align-items:center;gap:10px;font-size:clamp(1.75rem,1.2rem + 3vw,2.25rem);font-weight:700;line-height:1.15;transition:color .2s ease-out;display:inline-flex}.site-header__link-note{font-family:var(--sans);color:var(--text-dim);font-size:.95rem}.site-header__link[aria-current=true] .site-header__link-name{color:var(--accent-strong)}.site-header__link[aria-current=true] .site-header__link-name:after{content:"";background:var(--accent);border-radius:50%;width:9px;height:9px}.site-header__link:focus-visible{outline:2px solid var(--accent);outline-offset:4px}@media (hover:hover) and (pointer:fine){.site-header__link:hover .site-header__link-name{color:var(--accent-strong)}}.site-header__drawer-foot{font-family:var(--mono);opacity:0;flex-direction:column;align-items:flex-start;gap:12px;margin-top:auto;padding-top:2rem;font-size:14px;transition:opacity .3s ease-out;display:flex}.site-header__panel--open .site-header__drawer-foot{opacity:1;transition-delay:.26s}.site-header__status{color:var(--text-h);align-items:center;gap:10px;margin:0;font-weight:700;display:flex}.site-header__status-dot{width:8px;height:8px;color:var(--ok)}.site-header__mail{min-height:44px;color:var(--accent-2);text-underline-offset:3px;overflow-wrap:anywhere;align-items:center;display:inline-flex}.site-header__resume{min-height:48px;color:var(--text-h);border:2px solid var(--text-h);align-items:center;gap:10px;margin-top:6px;padding:0 20px;font-weight:700;text-decoration:none;display:inline-flex}.site-header__resume-icon{width:16px;height:16px}@media (prefers-reduced-motion:reduce){.site-header__nav,.site-header__item,.site-header__drawer-foot,.site-header__hamburger-bar{transition:none}.site-header__nav{clip-path:none;opacity:0}.site-header__panel--open .site-header__nav{opacity:1}}@media (min-width:768px){.site-header__panel{pointer-events:none!important;visibility:hidden!important;opacity:0!important;display:none!important}}.dot-matrix-bg{pointer-events:none;z-index:0;width:100%;height:100%;position:fixed;top:0;bottom:0;left:0;right:0}.chat-fab{right:1.25rem;bottom:calc(1.25rem + env(safe-area-inset-bottom,0px));z-index:100;border:1px solid var(--accent);background:var(--bg-raise);width:52px;height:52px;color:var(--accent);cursor:pointer;box-shadow:var(--term-shadow);border-radius:0;justify-content:center;align-items:center;transition:transform .15s,background .2s,color .2s;display:flex;position:fixed}.chat-fab__glyph{font-family:var(--mono);font-size:1.05rem;font-weight:700;line-height:1}.chat-fab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (hover:hover) and (pointer:fine){.chat-fab:hover{background:var(--accent);color:var(--bg);transform:translateY(-2px)}}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:reduce){.chat-fab:hover{transform:none}}.chat-panel{--chat-margin:52px;--chat-pad:16px;z-index:100;width:min(400px,100vw - 2rem);height:min(560px, calc(100dvh - 5.5rem - var(--header-h,52px) - 1rem));border:1px solid var(--border-bright);background-color:var(--bg-raise);background-image:radial-gradient(circle, color-mix(in srgb, var(--dot) 70%, transparent) 1px, transparent 1.3px);box-shadow:var(--term-shadow);background-position:12px 12px;background-size:24px 24px;border-radius:0;flex-direction:column;animation:.36s cubic-bezier(.16,1,.3,1) both chat-unroll;display:flex;position:fixed;bottom:5.5rem;right:1.25rem;overflow:hidden}@keyframes chat-unroll{0%{clip-path:inset(100% 0 0);opacity:.4}to{clip-path:inset(0);opacity:1}}.chat-panel:before{content:"";top:0;bottom:0;left:calc(var(--chat-margin) - 1px);background:var(--accent);opacity:.7;pointer-events:none;z-index:1;width:1.5px;position:absolute}.chat-panel__bar,.chat-msg,.chat-suggestions,.chat-panel__form{grid-template-columns:var(--chat-margin) minmax(0, 1fr);display:grid}.chat-panel__bar{padding:14px var(--chat-pad) 13px 0;border-bottom:1px solid var(--border);align-items:center}.chat-panel__margin{justify-content:center;display:flex}.chat-panel__status{background:var(--ok);width:7px;height:7px;box-shadow:0 0 0 3px color-mix(in srgb, var(--ok) 18%, transparent);border-radius:50%;animation:2s infinite pulse}.chat-panel__heading{flex-direction:column;gap:2px;padding-left:14px;display:flex}.chat-panel__title{font-family:var(--mono);letter-spacing:.02em;color:var(--accent);font-size:15px;font-weight:700;line-height:1.3}.chat-panel__meta{font-family:var(--mono);color:var(--text-dim);font-size:11.5px;line-height:1.4}.chat-panel__body{overscroll-behavior:contain;padding:18px var(--chat-pad) 18px 0;flex-direction:column;flex:1;gap:18px;display:flex;overflow-y:auto}.chat-panel__fig{height:92px;margin-left:calc(var(--chat-margin) + 14px);color:var(--text-dim)}.chat-panel__fig .fig{max-width:190px}.chat-panel__fig .fig__answer{stroke-width:2.5px}.chat-msg__who{text-align:right;font-family:var(--mono);letter-spacing:.02em;color:var(--text-dim);padding:3px 10px 0 0;font-size:11.5px;font-weight:700;line-height:1.5}.chat-msg--assistant .chat-msg__who{color:var(--accent)}.chat-msg__text{font-family:var(--sans);color:var(--text);overflow-wrap:anywhere;white-space:pre-wrap;padding-left:14px;font-size:14.5px;line-height:1.65}.chat-msg--user .chat-msg__text{color:var(--text-h);font-weight:500}.chat-msg__cursor{vertical-align:-.2em;background:var(--accent);width:2px;height:1.15em;animation:1.06s step-end infinite chat-blink;display:inline-block}@keyframes chat-blink{50%{opacity:0}}.chat-suggestions__list{border-top:1px solid var(--border);margin:0;padding:0 0 0 14px;list-style:none}.chat-suggestion{width:100%;min-height:44px;font-family:var(--mono);text-align:left;color:var(--text);border:0;border-bottom:1px solid var(--border);cursor:pointer;background:0 0;border-radius:0;justify-content:space-between;align-items:center;gap:12px;padding:0;font-size:13px;transition:color .2s ease-out;display:flex}.chat-suggestion__go{width:15px;height:15px;color:var(--accent);flex-shrink:0;transition:transform .2s ease-out}.chat-suggestion:focus-visible{outline:2px solid var(--accent);outline-offset:2px;color:var(--accent)}@media (hover:hover) and (pointer:fine){.chat-suggestion:hover{color:var(--accent)}.chat-suggestion:hover .chat-suggestion__go{transform:translate(3px)}}.chat-panel__form{padding:10px var(--chat-pad) 4px 0;border-top:1px solid var(--border);background:var(--bg-raise);align-items:center}.chat-panel__form .chat-msg__who{color:var(--accent);cursor:text;padding-top:0}.chat-panel__line{border-bottom:1px solid var(--border-bright);align-items:center;gap:6px;margin-left:14px;transition:border-color .2s ease-out;display:flex}.chat-panel__line:focus-within{border-bottom-color:var(--accent);box-shadow:0 1px 0 var(--accent)}.chat-panel__input{min-width:0;min-height:44px;font-family:var(--mono);color:var(--text-h);caret-color:var(--accent);background:0 0;border:0;border-radius:0;outline:none;flex:1;padding:0;font-size:16px}.chat-panel__input:focus{box-shadow:none;outline:none}.chat-panel__input:focus-visible{box-shadow:none;outline:none}.chat-panel__input::placeholder{color:var(--text-dim);opacity:1;font-size:13px}.chat-panel__send{width:44px;height:44px;color:var(--accent);cursor:pointer;background:0 0;border:0;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .2s ease-out,background-color .2s ease-out;display:flex}.chat-panel__send svg{width:18px;height:18px;transition:transform .2s ease-out}.chat-panel__send:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media (hover:hover) and (pointer:fine){.chat-panel__send:hover:not(:disabled) svg{transform:translate(3px)}}.chat-panel__send:disabled{color:var(--text-dim);opacity:.5;cursor:default}.chat-panel__note{padding:2px var(--chat-pad) 12px calc(var(--chat-margin) + 14px);font-family:var(--mono);color:var(--text-dim);background:var(--bg-raise);margin:0;font-size:10.5px;line-height:1.5}@media (prefers-reduced-motion:reduce){.chat-panel,.chat-panel__status,.chat-msg__cursor{animation:none}.chat-suggestion,.chat-suggestion__go,.chat-panel__line,.chat-panel__send,.chat-panel__send svg{transition:none}}:root{--header-h:52px;--margin-w:10.5rem;--margin-gap:3.5rem}@media (max-width:900px){:root{--margin-w:0px;--margin-gap:0px}}.main{z-index:2;box-sizing:border-box;width:100%;max-width:1280px;padding:calc(var(--header-h) + 48px) var(--page-gutter) 56px;flex-direction:column;flex:1 0 auto;gap:72px;margin:0 auto;display:flex;position:relative}@media (max-width:600px){.main{padding-top:calc(var(--header-h) + 28px);gap:52px;padding-bottom:32px}}.skip-link{z-index:10001;font-family:var(--mono);letter-spacing:.04em;color:var(--text-h);background:var(--bg-raise);border:1px solid var(--border-bright);clip-path:inset(50%);opacity:0;pointer-events:none;padding:10px 16px;font-size:.8rem;text-decoration:none;position:fixed;top:8px;left:8px}.skip-link:focus-visible{clip-path:none;opacity:1;pointer-events:auto;outline:2px solid var(--accent);outline-offset:2px}.main:focus{outline:none}.main:before{content:"";top:0;bottom:0;left:calc(var(--page-gutter) + var(--margin-w) + var(--margin-gap) / 2 - 1px);background:var(--accent);opacity:.7;pointer-events:none;width:2px;position:absolute}@media (max-width:900px){.main:before{left:calc(var(--page-gutter) / 2 - 1px);width:1.5px}}.section{scroll-margin-top:calc(var(--header-h) + 8px);grid-template-columns:var(--margin-w) minmax(0, 1fr);column-gap:var(--margin-gap);align-items:start;width:100%;display:grid}.section>*{grid-column:2}.section>.rail{grid-area:1/1/span 2}@media (max-width:900px){.section{display:block}}.rail{text-align:right;flex-direction:column;align-items:flex-end;gap:6px;padding-top:4px;display:flex}.rail h2,.rail h3,.rail__label{font-family:var(--mono);letter-spacing:.02em;text-transform:lowercase;color:var(--accent);margin:0;font-size:15px;font-weight:700;line-height:1.3}.rail__meta{font-family:var(--mono);color:var(--text-dim);font-size:12px;line-height:1.5}:not(.section)>.rail{text-align:left;border-bottom:1px solid var(--border);flex-direction:row;justify-content:space-between;align-self:stretch;align-items:baseline;width:100%;margin-bottom:22px;padding-bottom:10px}@media (max-width:900px){.rail{text-align:left;border-bottom:1px solid var(--border);flex-direction:row;justify-content:space-between;align-items:baseline;margin-bottom:22px;padding-bottom:10px}}.rail--sub{margin-top:40px}.section__note{max-width:68ch;color:var(--text);margin:0 0 22px}.dim{color:var(--text-dim)}.ok{color:var(--ok)}.warn{color:var(--warn)}.info{color:var(--info)}.livedot{background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:2s infinite pulse;display:inline-block}@keyframes pulse{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.livedot{animation:none}}.chip{border:1px solid var(--border-bright);font-family:var(--mono);color:var(--text);box-sizing:border-box;align-items:center;gap:6px;padding:5px 10px;font-size:12.5px;text-decoration:none;display:inline-flex}.pill{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);white-space:nowrap;border:1px solid;flex-shrink:0;align-items:center;gap:6px;padding:2px 7px;font-size:10px;font-weight:500;display:inline-flex}.pill--featured{color:var(--accent)}.section--hero{padding-top:8px}.section--hero>.hero__portrait{grid-column:1}.hero__portrait{flex-direction:column;align-items:flex-end;gap:12px;margin:0;padding-top:10px;display:flex}.hero__portrait img{aspect-ratio:1;object-fit:cover;border:1px solid var(--border-bright);width:100%;max-width:10.5rem;height:auto;display:block}.hero__place{font-family:var(--mono);text-align:right;color:var(--text-dim);font-size:12px;line-height:1.6}.hero{grid-template-columns:minmax(0,1fr) minmax(0,23.5rem);align-items:start;gap:clamp(2rem,5vw,4.5rem);display:grid}.hero__body{flex-direction:column;align-items:flex-start;display:flex}.hero h1{letter-spacing:-.045em;color:var(--text-h);margin:0;font-size:clamp(3rem,1.4rem + 5.6vw,6.25rem);line-height:.95}.hero__role{font-family:var(--mono);color:var(--text-dim);margin:18px 0 0;font-size:14px;font-weight:500}.hero__hook{max-width:24ch;font-family:var(--sans);letter-spacing:-.015em;color:var(--text-h);text-wrap:balance;margin:30px 0 0;font-size:clamp(1.375rem,1rem + 1.2vw,1.875rem);font-weight:500;line-height:1.3}.hero__intro{max-width:56ch;margin:18px 0 0;font-size:1.0625rem;line-height:1.7}.hero__actions{flex-wrap:wrap;gap:12px;margin-top:34px;display:flex}.hero__action{min-height:52px;font-family:var(--mono);color:var(--text-h);background:var(--bg);border:2px solid var(--text-h);align-items:center;gap:10px;padding:0 22px;font-size:15px;font-weight:700;text-decoration:none;transition:background-color .2s ease-out,color .2s ease-out,border-color .2s ease-out;display:inline-flex}.hero__action--primary{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.hero__action-icon{width:16px;height:16px;transition:transform .2s ease-out}@media (hover:hover) and (pointer:fine){.hero__action:hover{background:var(--text-h);color:var(--bg)}.hero__action--primary:hover{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--on-accent)}.hero__action:hover .hero__action-icon{transform:translate(3px)}}.contact-card{background:var(--bg-raise);border:1px solid var(--border-bright);box-shadow:var(--term-shadow);padding:24px 26px 26px}.contact-card__title{border-bottom:2px solid var(--accent);font-family:var(--mono);letter-spacing:-.01em;color:var(--text-h);align-items:center;gap:10px;margin:0 0 18px;padding-bottom:14px;font-size:17px;font-weight:700;display:flex}.contact-card__dot{width:9px;height:9px;color:var(--ok);box-shadow:0 0 0 4px color-mix(in srgb, var(--ok) 18%, transparent)}.contact-card .whois__row{grid-template-columns:74px minmax(0,1fr)}.contact-card .whois__copy-email{overflow-wrap:normal;word-break:normal}.contact-card .whois dd{overflow-wrap:normal}@media (max-width:360px){.contact-card{padding:20px 18px 22px}}.contact-card__resume{min-height:48px;font-family:var(--mono);color:var(--text-h);border:2px solid var(--text-h);justify-content:center;align-items:center;gap:10px;margin-top:22px;font-size:14px;font-weight:700;text-decoration:none;transition:background-color .2s ease-out,color .2s ease-out;display:flex}.contact-card__resume-icon{width:16px;height:16px}@media (hover:hover) and (pointer:fine){.contact-card__resume:hover{background:var(--text-h);color:var(--bg)}}@media (prefers-reduced-motion:reduce){.hero__action,.hero__action-icon,.contact-card__resume{transition:none}}@media (max-width:1100px){.hero{grid-template-columns:minmax(0,1fr)}.contact-card{max-width:34rem}}@media (max-width:900px){.hero__portrait{flex-direction:row;align-items:center;margin-bottom:26px;padding-top:0}.hero__portrait img{width:96px}.hero__place{text-align:left}}.about{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start;gap:clamp(2rem,5vw,4.5rem);display:grid}@media (max-width:820px){.about{grid-template-columns:1fr;gap:2.25rem}}.about__prose{flex-direction:column;gap:14px;max-width:58ch;font-size:15.5px;line-height:1.75;display:flex}.about__prose p{margin:0}.about__prose .hl{color:var(--text-h)}.timeline{padding-top:6px}.timeline__list{margin:0;padding:0;list-style:none;position:relative}.timeline__item:not(:last-child):after{content:"";background:var(--border-bright);transform-origin:top;width:1.5px;transition:transform .5s cubic-bezier(.16,1,.3,1);transition-delay:calc(.3s + var(--i,0) * .18s);position:absolute;top:calc(.42em + 10px);bottom:-.42em;left:4.25px}.timeline__item{transition:opacity .5s ease-out,transform .5s cubic-bezier(.16,1,.3,1);transition-delay:calc(.15s + var(--i,0) * .18s);grid-template-columns:3.75rem minmax(0,1fr);gap:0 .9rem;padding:0 0 1.6rem 1.75rem;display:grid;position:relative}.timeline__item:last-child{padding-bottom:0}.timeline__item:before{content:"";box-sizing:border-box;border:1.5px solid var(--text-dim);background:var(--bg);border-radius:50%;width:10px;height:10px;position:absolute;top:.42em;left:0}.timeline__item--now:before{border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 4px var(--accent-dim)}.timeline__when{font-family:var(--mono);color:var(--text-h);font-variant-numeric:tabular-nums;font-size:13px;font-weight:700;line-height:1.6}.timeline__item--now .timeline__when{color:var(--accent)}.timeline__what{color:var(--text);text-wrap:pretty;font-size:15px;line-height:1.6}.timeline__what a{color:var(--text-h);text-decoration:underline;-webkit-text-decoration-color:var(--border-bright);text-decoration-color:var(--border-bright);text-underline-offset:3px;transition:text-decoration-color .2s ease-out}.timeline__what a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (hover:hover) and (pointer:fine){.timeline__what a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}}.timeline.is-pending .timeline__item:after{transition:none;transform:scaleY(0)}.timeline.is-pending .timeline__item{opacity:0;transition:none;transform:translateY(6px)}.skills{border-top:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));margin:2.75rem 0 0;display:grid}.skill{border-bottom:1px solid var(--border);border-left:1px solid var(--border);padding:1.1rem clamp(1rem,2vw,1.75rem) 1.25rem}.skill:nth-child(3n+1){border-left:0;padding-left:0}.skill:nth-child(3n){padding-right:0}.skill__cat{font-family:var(--mono);letter-spacing:.02em;color:var(--accent-2);margin:0 0 .45rem;font-size:12.5px;font-weight:700}.skill__item{white-space:nowrap}.skill__items{font-family:var(--mono);color:var(--text);margin:0;font-size:12.5px;line-height:1.75}@media (max-width:1100px){.skills{grid-template-columns:repeat(2,minmax(0,1fr))}.skill,.skill:nth-child(3n+1),.skill:nth-child(3n){border-left:1px solid var(--border);padding:1.1rem clamp(1rem,2vw,1.75rem) 1.25rem}.skill:nth-child(odd){border-left:0;padding-left:0}.skill:nth-child(2n){padding-right:0}}@media (max-width:560px){.skills{grid-template-columns:1fr}.skill__item{white-space:normal}.skill,.skill:nth-child(2n),.skill:nth-child(odd),.skill:nth-child(3n),.skill:nth-child(3n+1){border-left:0;grid-template-columns:6.5rem minmax(0,1fr);align-items:baseline;gap:.75rem;padding:.85rem 0;display:grid}.skill__cat{margin:0}}@media (prefers-reduced-motion:reduce){.timeline__item:after,.timeline__item{transition:none}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.work-lead{border-bottom:1px solid var(--border);grid-template:"title demo""body demo""links demo"1fr/minmax(0,1fr) minmax(0,30rem);column-gap:clamp(2rem,4.5vw,4rem);padding:.75rem 0 2.75rem;display:grid}.work-lead__title{font-family:var(--mono);letter-spacing:-.035em;color:var(--text-h);grid-area:title;margin:0;font-size:clamp(1.875rem,1.05rem + 2.5vw,2.875rem);font-weight:700;line-height:1.05}.work-lead__sub{font-family:var(--sans);letter-spacing:0;color:var(--text);margin-top:.7rem;font-size:1.0625rem;font-weight:400;line-height:1.4;display:block}.work-lead__body{grid-area:body;margin-top:1.5rem}.work-lead__summary{max-width:62ch;color:var(--text);margin:0}.work-lead__summary [lang=ne]{font-family:"Noto Sans Devanagari Demo", var(--sans)}.work-lead__stack{font-family:var(--mono);letter-spacing:.02em;color:var(--text-dim);margin:.9rem 0 0;font-size:12px;line-height:1.7}.work-lead__tech{white-space:nowrap}.work-lead__links{flex-wrap:wrap;grid-area:links;align-self:end;gap:10px;margin-top:1.75rem;display:flex}.work-lead__demo{grid-area:demo;align-self:start}.lekh-demo{background:var(--bg-raise);border:1px solid var(--border-bright);box-shadow:var(--term-shadow);margin:0}.lekh-demo__screen{padding:2.25rem 2.25rem 2rem}.lekh-demo__in{min-height:1.3em;font-family:var(--mono);color:var(--text);white-space:pre;margin:0;font-size:clamp(1.125rem,.95rem + .6vw,1.4rem);font-weight:500;line-height:1.3}.lekh-demo__caret{vertical-align:-.2em;background:var(--accent);width:2px;height:1.15em;margin-left:2px;animation:1.06s step-end infinite caret-blink;display:inline-block}@keyframes caret-blink{50%{opacity:0}}.lekh-demo__out{min-height:1.4em;font-family:"Noto Sans Devanagari Demo", var(--sans);color:var(--text-h);flex-wrap:wrap;column-gap:.28em;margin:.55rem 0 0;font-size:clamp(2.25rem,1.2rem + 3.6vw,4.5rem);font-weight:500;line-height:1.4;display:flex}.lekh-demo__word{animation:.45s cubic-bezier(.16,1,.3,1) both lekh-word}@keyframes lekh-word{0%{opacity:0;filter:blur(8px);transform:translateY(.12em)}}.lekh-demo.is-clearing .lekh-demo__in,.lekh-demo.is-clearing .lekh-demo__out{opacity:0;transition:opacity .3s ease-out}.lekh-demo__caption{border-top:1px solid var(--border);font-family:var(--mono);color:var(--text-dim);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1.5rem;padding:.9rem 2.25rem;font-size:11px;line-height:1.5;display:flex}.lekh-demo__spec{letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;gap:.3rem 1.25rem;margin:0;display:flex}.lekh-demo__spec div{gap:.55em;display:flex}.lekh-demo__spec dt{color:var(--accent-2)}.lekh-demo__spec dd{color:var(--text-h);font-variant-numeric:tabular-nums;margin:0}.lekh-demo__spec .lekh-demo__fact{color:var(--accent-2)}@media (prefers-reduced-motion:reduce){.lekh-demo__caret,.lekh-demo__word{animation:none}}.work-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;margin:2.25rem 0 .5rem;display:flex}.work-tools__group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.work-tools__label{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim);margin-right:6px;font-size:11px;font-weight:700}.work-tools__tool{min-height:40px;font-family:var(--mono);color:var(--text);border:1px solid var(--border-bright);cursor:pointer;background:0 0;border-radius:0;padding:0 14px;font-size:12.5px;font-weight:500;transition:color .2s ease-out,border-color .2s ease-out,background-color .2s ease-out}.work-tools__tool[aria-pressed=true]{color:var(--accent-2);background:var(--accent-2-dim);border-color:currentColor}@media (hover:hover) and (pointer:fine){.work-tools__tool:hover{color:var(--text-h);border-color:var(--accent-2)}.work-tools__tool[aria-pressed=true]:hover{color:var(--accent-2)}}@media (pointer:coarse){.work-tools__tool{min-height:44px}}.work-tools__count{min-height:1.5em;font-family:var(--mono);color:var(--text-dim);margin:0;font-size:12px}.work-lead>*,.plate__fig,.plate__blurb,.plate__meta,.plate__name{transition:opacity .22s ease-out,color .22s ease-out}.plate.is-dimmed .plate__fig,.plate.is-dimmed .plate__blurb,.plate.is-dimmed .plate__meta,.work-lead.is-dimmed>:not(.work-lead__title){opacity:.3}.plate.is-dimmed .plate__name,.work-lead.is-dimmed .work-lead__title,.work-lead.is-dimmed .work-lead__sub{color:var(--text-dim)}.work-plates{border-top:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));margin:.75rem 0 0;padding:0;list-style:none;display:grid}.plate{border-bottom:1px solid var(--border);flex-direction:column;padding:1.75rem clamp(1.25rem,2.6vw,2.25rem) 1.9rem;display:flex;position:relative}.plate:nth-child(2n){padding-left:0}.plate:nth-child(odd):not(:first-child){border-left:1px solid var(--border);padding-right:0}.plate--wide{grid-column:1/-1;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:center;column-gap:clamp(2rem,4.5vw,4rem);padding:2.25rem 0;display:grid}.plate__fig{height:176px;color:var(--text-dim);margin-bottom:1.4rem;transition:opacity .22s ease-out,color .3s ease-out}.plate--wide .plate__fig{margin-bottom:0}.fig{width:100%;height:100%;display:block;overflow:visible}.plate:not(.plate--wide) .fig{max-width:300px}.fig__ink{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset .9s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--i,0) * .32s)}.fig__joint{fill:var(--text-h);transition:opacity .4s ease-out;transition-delay:calc(var(--i,0) * .32s)}.fig__label{font-family:var(--mono);letter-spacing:.06em;fill:var(--text-dim);transition:opacity .4s ease-out;transition-delay:calc(var(--i,0) * .32s);font-size:10.5px}.fig__faint{stroke:var(--border-bright)}.fig__ground{stroke:var(--border-bright);stroke-dasharray:.006 .008;transition:none}.fig__hot.fig__ink,.fig__hot .fig__ink{stroke:var(--accent)}.fig__hot.fig__joint,.fig__hot .fig__joint{fill:var(--accent)}.fig__label.fig__hot{fill:var(--accent);font-weight:700}.fig__stroke{stroke-width:3.5px}.fig__seat{fill:var(--accent-dim)}.is-pending .fig__ink{stroke-dashoffset:1px;transition:none}.is-pending .fig__ground{stroke-dashoffset:0}.is-pending .fig__joint,.is-pending .fig__label{opacity:0;transition:none}.plate__text{flex-direction:column;flex:1;display:flex}.plate__name{font-family:var(--mono);letter-spacing:-.025em;color:var(--text-h);text-wrap:balance;margin:0;font-size:1.25rem;font-weight:700;line-height:1.25}.plate--wide .plate__name{letter-spacing:-.03em;font-size:clamp(1.375rem,1rem + 1vw,1.75rem)}.plate__name a{color:inherit;text-decoration:none}.plate__name a:after{content:"";position:absolute;top:0;bottom:0;left:0;right:0}.plate__name a:focus-visible{outline:none}.plate:has(.plate__name a:focus-visible){outline:2px solid var(--accent);outline-offset:-2px}.plate__blurb{max-width:46ch;color:var(--text);text-wrap:pretty;margin:.55rem 0 0;font-size:.975rem;line-height:1.6}.plate__meta{font-family:var(--mono);flex-wrap:wrap;align-items:center;gap:.5rem 1.1rem;margin:auto 0 0;padding-top:1.1rem;font-size:12px;line-height:1.4;display:flex}.plate__runs{color:var(--accent-2)}.plate__live{letter-spacing:.12em;text-transform:uppercase;color:var(--ok);align-items:center;gap:.5rem;font-size:10.5px;display:inline-flex}.plate__live .livedot{background:var(--ok)}.plate__go{width:16px;height:16px;color:var(--accent);margin-left:auto;transition:transform .2s ease-out}.plate__name{transition:color .2s ease-out}@media (hover:hover) and (pointer:fine){.plate:hover .plate__name{color:var(--accent)}.plate:hover .plate__fig{color:var(--text-h)}.plate:hover .plate__go{transform:translate(4px)}}.plate:focus-within .plate__name{color:var(--accent)}.plate:focus-within .plate__fig{color:var(--text-h)}@media (prefers-reduced-motion:reduce){.work-lead>*,.plate__fig,.plate__name,.plate__blurb,.plate__meta,.plate__go,.fig__ink,.fig__joint,.fig__label,.work-tools__tool{transition:none}}@media (max-width:960px){.work-lead{grid-template-rows:none;grid-template-columns:minmax(0,1fr);grid-template-areas:"title""demo""body""links"}.work-lead__demo{margin-top:1.5rem}.plate--wide{grid-template-columns:minmax(0,1fr);padding-top:1.75rem}.plate--wide .plate__fig{margin-bottom:1.4rem}}@media (max-width:680px){.work-plates{grid-template-columns:minmax(0,1fr)}.plate,.plate:nth-child(2n),.plate:nth-child(odd):not(:first-child){border-left:0;padding:1.5rem 0 1.6rem}.plate__fig{height:150px;margin-bottom:1.1rem}.plate:not(.plate--wide) .fig{max-width:260px}}@media (max-width:760px){.lekh-demo__screen{padding:1.4rem 1.25rem 1.25rem}.lekh-demo__caption{padding:.8rem 1.25rem}}.metric--tags .metric__viz{flex-wrap:wrap;gap:5px;height:auto}.metric__number{max-width:100%;display:inline-block}.metrics{flex-direction:column;gap:9px;margin:0;display:flex}.metric{grid-template-columns:92px 1fr;align-items:center;gap:10px;display:grid}.metric--figure{grid-template-columns:92px 1fr;align-items:baseline}.metric__number{font-family:var(--mono);letter-spacing:-.02em;color:var(--text-h);font-variant-numeric:tabular-nums;font-size:22px;font-weight:700;line-height:1.1}.metric__label{font-family:var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--text-dim);white-space:nowrap;margin:0;font-size:10px}.metric__figure{grid-template-columns:1fr 96px;align-items:center;gap:10px;min-width:0;margin:0;display:grid}.metric--figure .metric__figure,.metric--tags .metric__figure{grid-template-columns:1fr}.metric__viz{align-items:center;gap:3px;min-width:0;height:14px;display:flex;overflow:hidden}.metric__value{font-family:var(--mono);color:var(--text-h);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;font-size:11.5px}.metric__bar{background:var(--bg-titlebar);border:1px solid var(--border);flex:1;min-width:0;height:6px;position:relative}.metric__bar b{background:var(--info);display:block;position:absolute;top:0;bottom:0;left:0;right:auto}.metric__bar--ok b{background:var(--ok)}.metric__bar--accent b{background:var(--accent)}.metric__tag{font-style:normal;font-family:var(--mono);letter-spacing:.06em;color:var(--accent-2);background:var(--accent-2-dim);white-space:nowrap;border:1px solid;padding:2px 6px;font-size:10px}.proj-card__stack{flex-wrap:wrap;gap:6px;margin:0 0 14px;padding:0;list-style:none;display:flex}.proj-card__links{flex-wrap:wrap;gap:10px;margin-top:auto;display:flex}.plink{box-sizing:border-box;min-height:44px;font-family:var(--mono);border:1px solid var(--border-bright);color:var(--text);align-items:center;gap:6px;padding:7px 14px;font-size:12.5px;text-decoration:none;transition:border-color .2s,color .2s,background .2s;display:inline-flex}.plink:focus-visible{border-color:var(--accent);color:var(--accent)}@media (hover:hover) and (pointer:fine){.plink:hover{border-color:var(--accent);color:var(--accent)}}.plink.primary{border-color:var(--accent);color:var(--accent)}.plink.primary:focus-visible{background:var(--accent);color:var(--bg)}@media (hover:hover) and (pointer:fine){.plink.primary:hover{background:var(--accent);color:var(--bg)}}.plink__icon{flex-shrink:0;width:14px;height:14px}.plink__livedot{background:var(--ok)}.plink.primary:focus-visible .plink__livedot{background:currentColor}@media (hover:hover) and (pointer:fine){.plink.primary:hover .plink__livedot{background:currentColor}}.case__margin{gap:10px}.case__place{white-space:nowrap}.case__back{min-height:44px;font-family:var(--mono);color:var(--text-dim);align-items:center;gap:6px;margin:-10px 0 6px;font-size:13px;text-decoration:none;transition:color .2s ease-out;display:inline-flex}.case__back-icon{width:14px;height:14px;transition:transform .2s ease-out}.case__back:focus-visible{color:var(--accent)}@media (hover:hover) and (pointer:fine){.case__back:hover{color:var(--accent)}.case__back:hover .case__back-icon{transform:translate(-3px)}}.case__head{margin-bottom:26px}.case__title{max-width:22ch;font-family:var(--mono);letter-spacing:-.04em;color:var(--text-h);margin:0;font-size:clamp(2rem,1.1rem + 3vw,3.5rem);font-weight:700;line-height:1.05}.case__subtitle{font-family:var(--sans);letter-spacing:0;color:var(--text);margin-top:12px;font-size:1.125rem;font-weight:400;line-height:1.4;display:block}.case__lede{max-width:60ch;color:var(--text-h);margin-top:22px;font-size:1.1875rem;line-height:1.6}.case__links{justify-content:flex-start;margin-top:0;margin-bottom:44px}.case__body{grid-template-columns:minmax(0,1fr) 16rem;align-items:start;gap:clamp(2rem,4vw,4rem);display:grid}.case__prose{max-width:66ch;font-family:var(--sans);color:var(--text);flex-direction:column;gap:34px;font-size:1.0625rem;line-height:1.75;display:flex}.case__prose p{margin:0}.case__prose section{flex-direction:column;gap:12px;display:flex}.case__heading{font-family:var(--mono);letter-spacing:-.02em;color:var(--text-h);margin:0;font-size:1.3125rem;font-weight:700;line-height:1.3}.case__readout{top:calc(var(--header-h) + 28px);border-top:2px solid var(--accent);padding-top:16px;position:sticky}.case__readout .metric--bar{grid-template-columns:1fr;gap:6px}.case__readout .metric--bar .metric__figure{grid-template-columns:1fr auto}.case__stack{border-top:1px dashed var(--border-bright);font-family:var(--mono);color:var(--text);margin:20px 0 0;padding-top:16px;font-size:12.5px;line-height:1.8}.case__stack-label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);margin-bottom:4px;font-size:11px;display:block}@media (prefers-reduced-motion:reduce){.case__back,.case__back-icon{transition:none}}@media (max-width:1000px){.case__body{grid-template-columns:minmax(0,1fr)}.case__readout{order:-1;position:static}}@media (max-width:900px){.case__margin{flex-wrap:wrap}.case__back{flex-basis:100%;margin:0}}.work-plates--pairs{margin-top:0}@media (max-width:900px){.work-plates--pairs{border-top:0;margin-top:-22px}}.work-plates--pairs .plate:nth-child(odd){border-left:0;padding-left:0;padding-right:clamp(1.25rem,2.6vw,2.25rem)}.work-plates--pairs .plate:nth-child(2n){border-left:1px solid var(--border);padding-left:clamp(1.25rem,2.6vw,2.25rem);padding-right:0}@media (max-width:680px){.work-plates--pairs .plate:nth-child(odd),.work-plates--pairs .plate:nth-child(2n){border-left:0;padding:1.5rem 0 1.6rem}}.plate__facts{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--text-dim);margin:.7rem 0 0;font-size:12px}.plate__sub{letter-spacing:-.01em;color:var(--text);margin-top:.2rem;font-size:.9375rem;font-weight:500;display:block}.plate__action{white-space:nowrap;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);align-items:center;gap:.6rem;margin-left:auto;font-size:11px;display:inline-flex}.plate__action .plate__go{margin-left:0}@media (hover:hover) and (pointer:fine){.plate:hover .plate__action .plate__go{transform:translate(4px)}}.contact{grid-template-columns:minmax(0,38rem) minmax(0,1fr);align-items:start;gap:clamp(2rem,6vw,5rem);display:grid}.contact__fig{max-width:300px;height:230px;color:var(--text-dim);align-self:center}.contact__fig .fig__ink{transition-duration:1.1s}.contact__fig .fig--plane-wide{display:none}@media (max-width:900px){.contact{grid-template-columns:minmax(0,1fr);gap:0}.contact__fig{align-self:stretch;max-width:none;height:auto;margin:2rem 0 0}.contact__fig .fig--plane-tall{display:none}.contact__fig .fig--plane-wide{aspect-ratio:360/96;width:100%;max-width:560px;height:auto;display:block}}.contact__lede{margin:0 0 26px;font-size:1.0625rem;line-height:1.7}.contact__lede a{color:var(--accent-2);text-underline-offset:3px}.field{margin-bottom:22px;display:block}.field__label{font-family:var(--mono);letter-spacing:.02em;color:var(--accent);margin-bottom:2px;font-size:12px;font-weight:700;display:block}.field input,.field textarea{box-sizing:border-box;border:0;border-bottom:1px solid var(--border-bright);width:100%;color:var(--text-h);font:inherit;font-family:var(--mono);caret-color:var(--accent);background:0 0;border-radius:0;outline:none;min-height:44px;padding:8px 0;font-size:16px;transition:box-shadow .2s ease-out,border-color .2s ease-out}.field input:focus,.field textarea:focus{border-bottom-color:var(--accent);box-shadow:0 1px 0 var(--accent)}.field input:focus-visible{border-bottom-color:var(--accent);box-shadow:0 1px 0 var(--accent)}.field textarea:focus-visible{border-bottom-color:var(--accent);box-shadow:0 1px 0 var(--accent)}.field input[aria-invalid=true]{border-bottom-color:var(--accent)}.field textarea{--rule:32px;resize:none;height:calc(var(--rule) * 4);min-height:calc(var(--rule) * 4);line-height:var(--rule);background-image:linear-gradient(to bottom, transparent calc(var(--rule) - 1px), var(--border-bright) calc(var(--rule) - 1px));background-size:100% var(--rule);background-attachment:local;border-bottom:0;padding:0;overflow-y:hidden}.field textarea:focus{box-shadow:inset 0 -1px 0 var(--accent), 0 1px 0 var(--accent)}.field textarea:focus-visible{box-shadow:inset 0 -1px 0 var(--accent), 0 1px 0 var(--accent)}.field textarea::placeholder,.field input::placeholder{color:var(--text-dim);opacity:1}.submit{box-sizing:border-box;font:inherit;font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:var(--accent);color:var(--on-accent);border:none;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:11px 22px;font-size:13px;font-weight:700;transition:box-shadow .2s,opacity .2s;display:inline-flex}@media (hover:hover) and (pointer:fine){.submit:hover{box-shadow:0 0 24px var(--accent-glow)}}.submit:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.submit--ghost{color:var(--accent);border:1px solid var(--accent);background:0 0;margin-top:14px}@media (hover:hover) and (pointer:fine){.submit--ghost:hover{background:var(--accent-dim);box-shadow:none}}.submit:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.submit__icon{flex-shrink:0}.honeypot{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;left:-9999px}.form-status{font-family:var(--sans);margin:14px 0 0;font-size:14px;line-height:1.6}.form-status--error{color:var(--accent)}.form-status--success{color:var(--ok)}.field__hint{font-family:var(--mono);color:var(--warn);flex-wrap:wrap;align-items:center;gap:4px 10px;margin:6px 0 16px;font-size:12.5px;line-height:1.5;display:flex}.field__hint--stop{color:var(--accent)}.field__hint-fix{font:inherit;cursor:pointer;color:inherit;background:0 0;border:1px solid;border-radius:0;min-height:36px;padding:4px 10px}@media (hover:hover) and (pointer:fine){.field__hint-fix:hover{background:var(--accent-dim)}}.field__hint-fix:focus-visible{outline-offset:2px;outline:2px solid}.whois{flex-direction:column;gap:10px;margin:0;display:flex}.whois__row{border-bottom:1px dashed var(--border);grid-template-columns:96px 1fr;align-items:baseline;gap:14px;padding-bottom:10px;display:grid}.whois__row:last-child{border-bottom:none;padding-bottom:0}@media (max-width:420px){.whois__row{grid-template-columns:1fr;gap:3px}}.whois dt{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);margin:0;font-size:10.5px}.whois dd{color:var(--text);font-family:var(--mono);overflow-wrap:anywhere;margin:0;font-size:13px}.whois__livedot{vertical-align:middle}.whois a{color:var(--info);text-underline-offset:2px;text-decoration:underline}.whois__resume{text-transform:none;text-decoration:none}.whois__copy{all:unset;color:var(--text-h);font:inherit;font-family:var(--mono);cursor:pointer;flex-direction:column;justify-content:center;gap:2px;min-height:44px;font-size:13px;display:inline-flex}.whois__copy-email{border-bottom:1px dashed var(--border-bright)}.whois__copy:focus-visible .whois__copy-email{border-bottom-color:var(--accent)}@media (hover:hover) and (pointer:fine){.whois__copy:hover .whois__copy-email{border-bottom-color:var(--accent)}}.whois__copy-hint{color:var(--text-dim);font-size:11.5px}.footer{z-index:2;border-top:1px solid var(--border);background:var(--bg-titlebar);padding:14px 20px;padding-bottom:calc(14px + env(safe-area-inset-bottom,0px));position:relative}.footer__inner{max-width:1280px;font-family:var(--mono);color:var(--text-dim);flex-direction:column;align-items:center;gap:8px;margin:0 auto;font-size:12.5px;display:flex}.footer__socials{flex-wrap:wrap;justify-content:center;align-items:center;gap:2px 4px;margin:0;padding:0;list-style:none;display:flex}.footer__socials li{align-items:center;display:flex}.footer__socials li+li:before{content:"";background:var(--border-bright);flex-shrink:0;width:1px;height:13px}.footer__link{color:var(--text-dim);box-sizing:border-box;align-items:center;gap:7px;min-height:44px;padding:4px 8px;text-decoration:none;transition:color .2s;display:inline-flex}.footer__link:focus-visible{color:var(--accent)}@media (hover:hover) and (pointer:fine){.footer__link:hover{color:var(--accent)}}.footer__icon{flex-shrink:0;width:15px;height:15px}@media (max-width:600px){.footer__link span{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.footer__link{justify-content:center;width:100%;min-width:44px;padding:4px 6px}.footer__socials{flex-wrap:nowrap;gap:0;width:100%;max-width:360px}.footer__socials li{flex:1 1 0;justify-content:center;display:flex}.footer__socials li+li:before{flex:0 0 1px}.footer{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}}.footer__copyright{margin:0}.footer__to-top{min-height:44px;font-family:var(--mono);color:var(--accent-strong);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:4px 8px;font-size:12.5px;display:inline-flex}.footer__to-top .footer__icon{transition:transform .2s}.footer__to-top:focus-visible{text-underline-offset:3px;text-decoration:underline}.footer__to-top:focus-visible .footer__icon{transform:translateY(-2px)}@media (hover:hover) and (pointer:fine){.footer__to-top:hover{text-underline-offset:3px;text-decoration:underline}.footer__to-top:hover .footer__icon{transform:translateY(-2px)}}@media (prefers-reduced-motion:reduce){.footer__to-top .footer__icon{transition:none}.footer__to-top:hover .footer__icon{transform:none}.footer__to-top:focus-visible .footer__icon{transform:none}}.boot-intro{z-index:9999;background-color:var(--bg);background-image:radial-gradient(circle, var(--dot) 1px, transparent 1.4px);opacity:1;background-position:12px 12px;background-size:24px 24px;transition:opacity .5s ease-out;position:fixed;top:0;bottom:0;left:0;right:0}.boot-intro--fading{opacity:0;pointer-events:none}.boot-intro__page{max-width:1280px;height:100%;padding:0 var(--page-gutter);box-sizing:border-box;margin:0 auto;position:relative}.boot-intro__rule{top:0;bottom:0;left:calc(var(--page-gutter) + var(--margin-w) + var(--margin-gap) / 2 - 1px);background:var(--accent);opacity:.7;transform-origin:top;width:2px;animation:.5s cubic-bezier(.65,0,.35,1) both boot-rule;position:absolute}@keyframes boot-rule{0%{transform:scaleY(0)}}.boot-intro__writing{top:50%;left:calc(var(--page-gutter) + var(--margin-w) + var(--margin-gap));right:var(--page-gutter);position:absolute;transform:translateY(-50%)}.boot-intro__date{font-family:var(--mono);color:var(--text-dim);margin:0 0 14px;font-size:14px;animation:.4s ease-out .3s both boot-in}.boot-intro__name{min-height:1em;font-family:var(--mono);letter-spacing:-.045em;color:var(--text-h);margin:0;font-size:clamp(2.5rem,1.2rem + 5vw,5.5rem);font-weight:700;line-height:1}.boot-intro__caret{vertical-align:-.08em;background:var(--accent);width:.08em;height:.9em;margin-left:.04em;animation:1.06s step-end infinite caret-blink;display:inline-block}.boot-intro__role{font-family:var(--mono);color:var(--text-dim);opacity:0;margin:18px 0 0;font-size:15px;transition:opacity .35s ease-out,transform .35s ease-out;transform:translateY(4px)}.boot-intro__role--in{opacity:1;transform:none}@keyframes boot-in{0%{opacity:0}}@media (max-width:900px){.boot-intro__rule{left:calc(var(--page-gutter) / 2 - 1px);width:1.5px}}.scroll-progress{z-index:10000;background:0 0;width:100%;height:3px;position:fixed;top:0;left:0}.scroll-progress__bar{background:var(--accent);height:100%;transition:width .1s linear}.cmdk-overlay{z-index:200;background:color-mix(in srgb, var(--text-h) 28%, transparent);-webkit-backdrop-filter:blur(10px)saturate(.9);backdrop-filter:blur(10px)saturate(.9);justify-content:center;align-items:flex-start;padding:10vh 1.25rem 1.25rem;animation:.2s ease-out cmdk-fade;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}@keyframes cmdk-fade{0%{opacity:0}}.cmdk-panel{--cmdk-margin:7.5rem;background-color:var(--bg);background-image:radial-gradient(circle, var(--dot) 1px, transparent 1.4px);border:1px solid var(--border-bright);width:100%;max-width:640px;max-height:76vh;box-shadow:var(--term-shadow);background-position:12px 12px;background-size:24px 24px;flex-direction:column;animation:.28s cubic-bezier(.22,1,.36,1) cmdk-open;display:flex;position:relative;overflow:hidden}@keyframes cmdk-open{0%{opacity:0;transform:translateY(-8px)}}.cmdk-panel:before{content:"";top:0;bottom:0;left:calc(var(--cmdk-margin) + .75rem);background:var(--accent);opacity:.7;pointer-events:none;width:2px;position:absolute}.cmdk-search{border-bottom:2px solid var(--text-h);background:var(--bg);align-items:center;gap:14px;min-height:68px;padding:0 .9rem 0 1.25rem;display:flex;position:relative}.cmdk-search__icon{width:20px;height:20px;margin-left:calc(var(--cmdk-margin) - 1.25rem - 20px - 2px);color:var(--text-dim);flex:none}.cmdk-input{min-width:0;font-family:var(--mono);color:var(--text-h);caret-color:var(--accent);background:0 0;border:none;outline:none;flex:1;padding:1rem 0;font-size:1.125rem;font-weight:500}.cmdk-input::placeholder{color:var(--text-dim)}.cmdk-input:focus-visible{outline:none}.cmdk-close{min-height:36px;font-family:var(--mono);color:var(--text-dim);border:1px solid var(--border-bright);cursor:pointer;background:0 0;border-radius:0;flex:none;padding:0 10px;font-size:12px}@media (hover:hover) and (pointer:fine){.cmdk-close:hover{color:var(--text-h);border-color:var(--text-h)}}.cmdk-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cmdk-list{overscroll-behavior:contain;flex:1;padding:.5rem 0 .75rem;overflow-y:auto}.cmdk-group{grid-template-columns:var(--cmdk-margin) minmax(0, 1fr);column-gap:1.5rem;padding-top:.6rem;display:grid}.cmdk-group+.cmdk-group{border-top:1px dashed var(--border-bright);margin-top:.4rem}.cmdk-group__name{font-family:var(--mono);text-align:right;color:var(--accent-strong);margin:0;padding:.7rem 0 0;font-size:13px;font-weight:700}.cmdk-group__items{padding-right:.75rem}.cmdk-item{cursor:pointer;align-items:center;gap:12px;min-height:44px;margin-left:-.75rem;padding:.55rem .75rem;transition:background-color .12s ease-out;display:flex}.cmdk-item[aria-selected=true]{background:var(--accent-dim)}.cmdk-item__icon{width:16px;height:16px;color:var(--text-dim);flex:none}.cmdk-item__text{flex-direction:column;min-width:0;display:flex}.cmdk-item__label{font-family:var(--mono);color:var(--text-h);font-size:15px;font-weight:700}.cmdk-item__note{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;line-height:1.4;overflow:hidden}.cmdk-item[aria-selected=true] .cmdk-item__label{color:var(--accent-strong)}.cmdk-item__go{width:15px;height:15px;color:var(--accent);opacity:0;flex:none;margin-left:auto;transition:opacity .12s ease-out,transform .12s ease-out;transform:translate(-3px)}.cmdk-item[aria-selected=true] .cmdk-item__go{opacity:1;transform:none}.cmdk-empty{padding:1.25rem 1rem 1rem calc(var(--cmdk-margin) + 2.25rem);color:var(--text-dim);margin:0;font-size:15px}.cmdk-keys{padding:.65rem 1rem .65rem calc(var(--cmdk-margin) + 2.25rem);font-family:var(--mono);color:var(--text-dim);border-top:1px solid var(--border);background:var(--bg);gap:18px;margin:0;font-size:12px;display:flex}.cmdk-keys kbd{text-align:center;min-width:1.6em;color:var(--text-h);border:1px solid var(--border-bright);border-bottom-width:2px;margin-right:3px;padding:1px 5px;font-family:inherit;font-size:11px;display:inline-block}@media (max-width:640px),(pointer:coarse){.cmdk-keys{display:none}}@media (max-width:640px){.cmdk-overlay{padding:0}.cmdk-panel{--cmdk-margin:0px;border:none;max-width:none;height:100dvh;max-height:none}.cmdk-panel:before{left:calc(var(--page-gutter) / 2 - 1px);width:1.5px}.cmdk-search{padding-left:var(--page-gutter)}.cmdk-search__icon{margin-left:0}.cmdk-group{padding:.6rem var(--page-gutter) 0;display:block}.cmdk-group__name{text-align:left;padding:.4rem 0 .2rem}.cmdk-group__items{padding-right:0}.cmdk-empty{padding-left:var(--page-gutter)}}@media (prefers-reduced-motion:reduce){.cmdk-overlay,.cmdk-panel{animation:none}.cmdk-item,.cmdk-item__go{transition:none}}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){:root:not(.in-app-browser) .section--reveal{animation:.85s cubic-bezier(.22,1,.36,1) both sectionReveal;animation-timeline:view();animation-range:entry cover 42%}}}@keyframes sectionReveal{0%{opacity:0;transform:translateY(1.5rem)}to{opacity:1;transform:translateY(0)}}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-400.woff2?v=1)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-500.woff2?v=1)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-700.woff2?v=1)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/ibm-plex-sans-400.woff2?v=1)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/ibm-plex-sans-500.woff2?v=1)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Noto Sans Devanagari Demo;src:url(/fonts/noto-sans-devanagari-500-demo.woff2?v=1)format("woff2");font-weight:500;font-style:normal;font-display:swap}html{scroll-behavior:auto;scroll-padding-top:var(--header-h);-webkit-tap-highlight-color:transparent}:root{--page-gutter:clamp(1.25rem, 5vw, 4.5rem);--bg:#f9f9f8;--bg-raise:#fff;--bg-titlebar:#f2f2f0;--text:#33363d;--text-dim:#5d636e;--text-h:#111317;--accent:#dc2626;--accent-strong:#b91c1c;--accent-dim:#dc262614;--on-accent:#fff;--accent-glow:#dc262633;--accent-2:#1d4ed8;--accent-2-dim:#1d4ed814;--ok:#15803d;--warn:#b45309;--info:#1d4ed8;--border:#dddcd7;--border-bright:#b8b7b0;--dot:#cfcec8;--term-shadow:0 1px 2px #1113170f, 0 14px 34px -18px #11131747;--sans:"IBM Plex Sans", system-ui, "Segoe UI", Roboto, sans-serif;--mono:"JetBrains Mono", ui-monospace, Consolas, monospace;font:16px/1.7 var(--sans);letter-spacing:.1px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (max-width:1024px){:root{font-size:15.5px}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#111214;--bg-raise:#1a1b1f;--bg-titlebar:#16171a;--text:#c4c8d0;--text-dim:#8d939e;--text-h:#f5f5f5;--accent:#f87171;--accent-strong:#f87171;--accent-dim:#f871711f;--on-accent:#111214;--accent-glow:#f871714d;--accent-2:#93b4fd;--accent-2-dim:#93b4fd1a;--ok:#4ade80;--warn:#fbbf24;--info:#93b4fd;--border:#2a2c31;--border-bright:#3e4149;--dot:#3b3d44;--term-shadow:0 1px 2px #0006, 0 18px 44px -20px #000000bf;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#111214;--bg-raise:#1a1b1f;--bg-titlebar:#16171a;--text:#c4c8d0;--text-dim:#8d939e;--text-h:#f5f5f5;--accent:#f87171;--accent-strong:#f87171;--accent-dim:#f871711f;--on-accent:#111214;--accent-glow:#f871714d;--accent-2:#93b4fd;--accent-2-dim:#93b4fd1a;--ok:#4ade80;--warn:#fbbf24;--info:#93b4fd;--border:#2a2c31;--border-bright:#3e4149;--dot:#3b3d44;--term-shadow:0 1px 2px #0006, 0 18px 44px -20px #000000bf;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}#root{text-align:start;box-sizing:border-box;flex-direction:column;width:100%;max-width:none;min-height:100svh;margin:0;display:flex;position:relative}body{background:var(--bg);width:100%;margin:0;position:relative;overflow-x:clip}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent);color:var(--bg)}h1,h2{font-family:var(--mono);color:var(--text-h);font-weight:700}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (max-width:1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;font-weight:500;line-height:118%}@media (max-width:1024px){h2{font-size:20px}}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty;margin:0}code{font-family:var(--mono);color:var(--text-h);background:var(--bg-raise);border:1px solid var(--border);border-radius:0;padding:4px 8px;font-size:15px;line-height:135%;display:inline-flex}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0;margin-block-start:14px;margin-block-end:14px}::-webkit-scrollbar-thumb{background-color:color-mix(in srgb, var(--text) 45%, transparent);background-clip:content-box;border:3px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background-color:var(--border-bright)}::-webkit-scrollbar-thumb:active{background-color:var(--accent)}::-webkit-scrollbar-corner{background:0 0}@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--text) 45%, transparent) transparent}}@media print{:root,:root[data-theme=light],:root[data-theme=dark]{--bg:#fff;--bg-raise:#fff;--bg-titlebar:#fff;--text:#1a1a1a;--text-dim:#444;--text-h:#000;--accent:#8a1119;--accent-strong:#8a1119;--accent-dim:transparent;--accent-glow:transparent;--accent-2:#14343f;--accent-2-dim:transparent;--ok:#14532d;--warn:#713f12;--info:#1e3a8a;--border:#999;--border-bright:#666;--term-shadow:none;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.site-header,.skip-link,.scroll-progress,.dot-matrix-bg,.boot-intro,.chat-fab,.chat-panel,.cmdk-overlay,.footer__to-top,.case__back{display:none!important}.main{max-width:none;padding-top:0}body{background:#fff}h1,h2,h3{break-after:avoid;page-break-after:avoid}.case__prose section,.proj-card,.cert,.figure{break-inside:avoid;page-break-inside:avoid}.metric__bar{display:none}.metric__figure:not(.metric__figure--tags){grid-template-columns:1fr}.metric__figure:not(.metric__figure--tags) .metric__value{text-align:left}.case__prose a[href^=http]:after,a.plink[href^=http]:after{content:" (" attr(href) ")";word-break:break-all;font-size:.85em}}
