@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-content:""}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:"Space Mono","Courier New",monospace;--color-red-400:#ff6568;--spacing:.25rem;--container-xs:20rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--font-weight-semibold:600;--tracking-wider:.05em;--tracking-widest:.1em;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg:#0a0a0a;--color-accent:#5a9e6f;--color-accent-strong:#7bc47f;--color-text-muted:#8c9e8f;--color-bg-elevated:#111411}@supports (color:lab(0% 0 0)){:root,:host{--color-red-400:lab(63.7053% 60.745 31.3109)}}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.isolate{isolation:isolate}.float-left{float:left}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-1{margin:calc(var(--spacing)*1)}.m-2{margin:calc(var(--spacing)*2)}.m-3{margin:calc(var(--spacing)*3)}.m-4{margin:calc(var(--spacing)*4)}.m-5{margin:calc(var(--spacing)*5)}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-3{margin-inline:calc(var(--spacing)*3)}.mx-4{margin-inline:calc(var(--spacing)*4)}.mx-5{margin-inline:calc(var(--spacing)*5)}.my-1{margin-block:calc(var(--spacing)*1)}.my-2{margin-block:calc(var(--spacing)*2)}.my-3{margin-block:calc(var(--spacing)*3)}.my-4{margin-block:calc(var(--spacing)*4)}.my-5{margin-block:calc(var(--spacing)*5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-8{margin-top:calc(var(--spacing)*8)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mr-3{margin-right:calc(var(--spacing)*3)}.mr-4{margin-right:calc(var(--spacing)*4)}.mr-5{margin-right:calc(var(--spacing)*5)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.mb-10{margin-bottom:calc(var(--spacing)*10)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-3{margin-left:calc(var(--spacing)*3)}.ml-4{margin-left:calc(var(--spacing)*4)}.ml-5{margin-left:calc(var(--spacing)*5)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.w-full{width:100%}.max-w-prose{max-width:65ch}.max-w-xs{max-width:var(--container-xs)}.flex-shrink{flex-shrink:1}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}.list-none{list-style-type:none}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}.self-start{align-self:flex-start}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-\[var\(--accent\)\]{border-color:var(--accent)}.border-\[var\(--border\)\]{border-color:var(--border)}.bg-\[var\(--bg-elevated\)\]{background-color:var(--bg-elevated)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-5{padding-block:calc(var(--spacing)*5)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-5{padding-top:calc(var(--spacing)*5)}.pr-1{padding-right:calc(var(--spacing)*1)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-3{padding-right:calc(var(--spacing)*3)}.pr-4{padding-right:calc(var(--spacing)*4)}.pr-5{padding-right:calc(var(--spacing)*5)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-5{padding-bottom:calc(var(--spacing)*5)}.pl-0{padding-left:calc(var(--spacing)*0)}.pl-1{padding-left:calc(var(--spacing)*1)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-5{padding-left:calc(var(--spacing)*5)}.font-mono{font-family:var(--font-mono)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-\[var\(--accent-strong\)\]{color:var(--accent-strong)}.text-\[var\(--muted\)\]{color:var(--muted)}.text-\[var\(--step-1\)\]{color:var(--step-1)}.text-\[var\(--text\)\]{color:var(--text)}.text-red-400{color:var(--color-red-400)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.opacity-60{opacity:.6}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.before\:content-\[\'\[\'\]:before{--tw-content:"[";content:var(--tw-content)}.after\:content-\[\'\]\'\]:after{--tw-content:"]";content:var(--tw-content)}@media (hover:hover){.hover\:bg-\[var\(--accent\)\]:hover{background-color:var(--accent)}.hover\:text-\[var\(--bg\)\]:hover{color:var(--bg)}}.focus\:border-\[var\(--accent\)\]:focus{border-color:var(--accent)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:var(--color-bg);--bg-elevated:var(--color-bg-elevated);--text:#e0e0e0;--muted:var(--color-text-muted);--border:#2a2a2a;--accent:var(--color-accent);--accent-strong:var(--color-accent-strong);--focus:#e0a040;--shell-width:72rem;--measure:68ch;--step-0:clamp(1rem,.97rem + .18vw,1.125rem);--step-1:clamp(1.5rem,1.28rem + 1.1vw,2.4rem);--step-2:clamp(2.1rem,1.7rem + 2vw,3.6rem)}*,:before,:after{box-sizing:border-box}html{background:var(--bg);font-size:100%}body{min-height:100vh;color:var(--text);font-family:var(--font-mono);font-size:var(--step-0);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:0 0;margin:0;line-height:1.7}@media (max-width:640px){body{-webkit-text-stroke:.3px currentColor}}img{max-width:100%;display:block}a{color:var(--accent-strong);font-weight:600;text-decoration:none}a:before{content:"[";color:var(--muted);font-weight:400}a:after{content:"]";color:var(--muted);font-weight:400}a:hover,a:hover:before,a:hover:after{color:var(--accent)}:focus-visible{outline:3px solid var(--focus);outline-offset:.18rem}.skip-link{z-index:1000;background:var(--text);color:var(--bg);border-radius:.5rem;padding:.75rem 1rem;text-decoration:none;transition:transform .2s;position:absolute;top:.75rem;left:1rem;transform:translateY(-150%)}.skip-link:focus-visible{transform:translateY(0)}.site-shell{flex-direction:column;min-height:100vh;display:flex}.shell{width:min(calc(100% - 2rem),var(--shell-width));margin-inline:auto}.site-header,.site-footer{border-block:1px solid var(--border);background:var(--bg-elevated)}.site-header__inner,.site-footer__inner{align-items:center;min-height:4.5rem;display:flex}@media (max-width:640px){.site-footer__inner{flex-direction:column;align-items:flex-start;gap:.75rem;padding-block:1.25rem}}.site-title{color:inherit;letter-spacing:.03em;text-transform:lowercase;font-size:1rem}.site-title:before,.site-title:after,.skip-link:before,.skip-link:after{content:none}.site-main{flex:1;padding-block:clamp(2.5rem,7vw,5rem)}.site-main>*+*{margin-top:1.25rem}.site-main :where(h1,h2,h3){letter-spacing:-.03em;text-wrap:balance;margin:0;line-height:1.15}.site-main h1{font-size:var(--step-2);max-width:14ch}.site-main h2{font-size:var(--step-1);max-width:18ch}.site-main :where(p,ul,ol){max-width:var(--measure);color:var(--muted);margin:0}.site-main ul:not([class]),.site-main ol:not([class]){padding-left:1.25rem}.site-main li+li{margin-top:.55rem}.site-main code{font-family:var(--font-mono);font-size:.94em;display:inline}.site-main hr{border:0;border-top:1px solid var(--border);margin-block:2rem}.site-footer__inner p{max-width:var(--measure);color:var(--muted);margin:0;font-size:.95rem}.site-footer__contact{flex-direction:row;align-items:center;gap:1.25rem;margin-left:auto;display:flex}@media (max-width:640px){.site-footer__contact{flex-wrap:wrap;gap:.75rem;margin-left:0}}.site-footer__contact-link{color:var(--muted);align-items:center;gap:.35rem;font-size:.85rem;font-weight:400;text-decoration:none;transition:color .15s;display:inline-flex}.site-footer__contact-link:before,.site-footer__contact-link:after{content:none!important}.site-footer__contact-link:hover{color:var(--accent-strong)}*,:before,:after{cursor:url(/cursors/default.png),auto}a,button,[role=button],input[type=submit],input[type=button],select,summary,label[for],[onclick],[tabindex]:not([tabindex="-1"]){cursor:url(/cursors/pointer.png) 10 0,pointer}@media (max-width:40rem){.shell{width:min(calc(100% - 1.5rem),var(--shell-width))}.site-header__inner,.site-footer__inner{min-height:4rem}.site-main{padding-block:2rem 3rem}.home-page{gap:1.75rem}.home-page__domain-item{padding-block:.85rem}.resume-page__skill-row{grid-template-columns:1fr;gap:.1rem}}.home-page{gap:clamp(1.75rem,4vw,3rem);display:grid}.home-page>*{min-width:0}.home-page__hero,.home-page__section,.home-page__section-copy{gap:1rem;display:grid}.home-page__hero{max-width:44rem}.home-page__hero h1{max-width:min(100%,16ch)}.home-page__eyebrow{color:var(--text);letter-spacing:.04em;margin:0;font-size:.95rem}.home-page__lead,.home-page__freshness-copy{max-width:36rem;color:var(--text);font-size:clamp(1.08rem,1.02rem + .35vw,1.3rem);line-height:1.65}.home-page__domain-intro{max-width:36rem}.home-page__domains{gap:1.25rem}.home-page__personal{gap:1rem;padding-top:.25rem}.home-page__domain-list,.home-page__contact-list{margin:0;padding:0;list-style:none}.home-page__domain-list{border-top:1px solid var(--border);gap:0;max-width:min(100%,56rem);display:grid}.home-page__domain-item{border-bottom:1px solid var(--border);align-items:start;gap:.45rem 2.5rem;padding-block:.95rem;display:grid}.home-page__domain-link{font-size:clamp(1.08rem,1.02rem + .35vw,1.22rem);display:inline-block}.home-page__domain-summary{max-width:34rem}.home-page__meta{gap:1.5rem;display:grid}.home-page__personal-links{flex-wrap:wrap;gap:.65rem 1rem;display:flex}.home-page__contact-list{flex-wrap:wrap;align-items:baseline;gap:.65rem 1rem;display:flex}.home-page__personal-links a,.home-page__contact-list a,.home-page__domain-link{display:inline-block}.home-page__personal-links a:focus-visible,.home-page__contact-list a:focus-visible,.home-page__domain-link:focus-visible{outline-offset:.22rem}.home-page__freshness-note{color:var(--muted)}.home-avatar{object-fit:contain;mix-blend-mode:lighten;filter:grayscale()brightness(.78)contrast(1.1);border-radius:0;width:160px;height:160px;margin-block-end:1.5rem;display:block;position:relative}.home-avatar-wrap:after{content:"";pointer-events:none;z-index:1;mix-blend-mode:multiply;background:repeating-linear-gradient(0deg,#0000 0 2px,#0000002e 2px 3px);position:absolute;inset:0}.home-avatar-wrap{isolation:isolate;background:var(--bg);border:1px solid #6fba7f40;width:172px;height:172px;padding:6px;line-height:0;display:inline-block;position:relative;box-shadow:inset 0 0 16px #7fd48f0f,0 0 24px #7fd48f0d}.home-avatar-wrap:before{content:"";pointer-events:none;z-index:2;background:linear-gradient(var(--accent),var(--accent))0 0/10px 1px no-repeat,linear-gradient(var(--accent),var(--accent))0 0/1px 10px no-repeat,linear-gradient(var(--accent),var(--accent))100% 0/10px 1px no-repeat,linear-gradient(var(--accent),var(--accent))100% 0/1px 10px no-repeat,linear-gradient(var(--accent),var(--accent))0 100%/10px 1px no-repeat,linear-gradient(var(--accent),var(--accent))0 100%/1px 10px no-repeat,linear-gradient(var(--accent),var(--accent))100% 100%/10px 1px no-repeat,linear-gradient(var(--accent),var(--accent))100% 100%/1px 10px no-repeat;opacity:.5;position:absolute;inset:0}.home-avatar-wrap:hover{box-shadow:inset 0 0 16px #7fd48f1a,0 0 28px #7fd48f17}.personal-page{gap:clamp(1.75rem,4vw,2.75rem);display:grid}.personal-page>*{min-width:0}.personal-page__back{margin:0}.personal-page__back-link{display:inline-block}.personal-page__intro,.personal-page__section,.personal-page__principles,.personal-page__groups,.personal-page__group,.personal-page__principle{display:grid}.personal-page__intro,.personal-page__section,.personal-page__principles,.personal-page__groups{gap:1rem}.personal-page__group,.personal-page__principle{gap:.55rem}.personal-page__title,.personal-page__section-title{max-width:min(100%,18ch)}.personal-page__lead{max-width:36rem;color:var(--text);font-size:clamp(1.08rem,1.02rem + .35vw,1.3rem);line-height:1.65}.personal-page__group-title,.personal-page__note{color:var(--text)}.personal-page__list{gap:.75rem;display:grid}.personal-page__list li+li{margin-top:0}.personal-page__notes{font-size:.98rem;line-height:1.75}.personal-page__notes a,.personal-page__back-link{display:inline-block}.personal-page__notes a:focus-visible,.personal-page__back-link:focus-visible{outline-offset:.22rem}.resume-page{gap:clamp(1.75rem,4vw,2.75rem);display:grid}.resume-page>*{min-width:0}.resume-page__back{margin:0}.resume-page__back-link{display:inline-block}.resume-page__sheet{gap:1.5rem;display:grid}.resume-page__header{gap:.45rem;display:grid}.resume-page__name{font-size:var(--step-1);letter-spacing:-.03em;max-width:100%;margin:0;line-height:1.15}.resume-page__headline{color:var(--text);margin:0;font-size:.95rem}.resume-page__contact{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.5rem;margin:0;font-size:.88rem;line-height:1.75;display:flex}.resume-page__phone{color:var(--muted)}.resume-page__chip{border:1px solid var(--border);background:var(--bg-elevated);height:1.6rem;color:var(--accent-strong);font-family:var(--font-mono);white-space:nowrap;border-radius:.25rem;justify-content:center;align-items:center;padding:0 .6rem;font-size:.82rem;font-weight:600;line-height:1;display:inline-flex;position:relative;overflow:hidden}.resume-page__chip,.resume-page__chip *,.resume-page__chip:before{cursor:url(/cursors/pointer.png) 10 0,pointer}.resume-page__chip:before{content:"click to cp";visibility:hidden;font-size:.75rem;font-weight:400}.resume-page__chip:after{content:none}.resume-page__chip-label,.resume-page__chip-hover,.resume-page__chip-done{justify-content:center;align-items:center;transition:transform .2s,opacity .2s;display:flex;position:absolute;inset:0}.resume-page__chip-hover,.resume-page__chip-done{opacity:0;transform:translateY(100%)}.resume-page__chip-hover{color:var(--muted);font-size:.75rem;font-weight:400}.resume-page__chip-done{color:var(--accent);font-size:.75rem;font-weight:400}.resume-page__chip.is-hovered .resume-page__chip-label{opacity:0;transform:translateY(-100%)}.resume-page__chip.is-hovered .resume-page__chip-hover{opacity:1;transform:translateY(0)}.resume-page__chip.is-copied .resume-page__chip-label{opacity:0;transform:translateY(-100%)}.resume-page__chip.is-copied .resume-page__chip-done{opacity:1;transform:translateY(0)}.resume-page__chip:hover{border-color:var(--accent)}.resume-page__section{gap:.75rem;display:grid}.resume-page__section-title{letter-spacing:.04em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid var(--border);max-width:100%;margin:0;padding-bottom:.25rem;font-size:1.05rem}.resume-page__skills{gap:.25rem;margin:0;display:grid}.resume-page__skill-row{grid-template-columns:10rem 1fr;align-items:baseline;gap:.5rem;display:grid}.resume-page__skill-label{color:var(--text);font-size:.9rem;font-weight:700}.resume-page__skill-items{color:var(--muted);margin:0;font-size:.9rem}.resume-page__role{gap:.5rem;display:grid}.resume-page__role-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem 1rem;display:flex}.resume-page__role-company{color:var(--text);margin:0;font-size:.95rem;font-weight:700}.resume-page__role-dates{color:var(--muted);margin:0;font-size:.88rem}.resume-page__project{gap:.3rem;display:grid}.resume-page__project-title{color:var(--text);margin:0;font-size:.92rem;font-style:italic}.resume-page__bullets{gap:.3rem;margin:0;padding-left:1.25rem;display:grid}.resume-page__bullets li{color:var(--muted);max-width:var(--measure);font-size:.88rem;line-height:1.55}.resume-page__bullets li+li{margin-top:0}.resume-page__education-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem 1rem;display:flex}.resume-page__education-school{color:var(--text);margin:0;font-size:.92rem}.resume-page__education-year{color:var(--muted);margin:0;font-size:.88rem}.resume-page__actions{gap:1rem;display:flex}.resume-page__download{font-family:var(--font-mono);background:var(--bg-elevated);color:var(--accent-strong);border:1px solid var(--border);border-radius:.35rem;padding:.55rem 1.25rem;font-size:.9rem;transition:border-color .15s,color .15s}.resume-page__download:hover{border-color:var(--accent);color:var(--accent)}.resume-page__download:before,.resume-page__download:after{content:none}@media (min-width:42rem){.home-page__domain-item{grid-template-columns:max-content auto;justify-content:space-between}.home-page__domain-summary{text-align:right;justify-self:end;max-width:30rem}}@media (min-width:56rem){.home-page__meta{grid-template-columns:minmax(0,18rem) minmax(0,1fr);column-gap:2rem}.personal-page__principles,.personal-page__groups{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:2rem}}.crt-overlay{z-index:9999;pointer-events:none;mix-blend-mode:multiply;background:repeating-linear-gradient(0deg,#0000 0 2px,#0000001f 2px 3px),repeating-linear-gradient(#0000 0 2px,#0000001f 2px 4px);position:fixed;inset:0}.terminal-panel{border:1px solid var(--accent);padding:clamp(1.25rem,3vw,2rem)}@supports (color:color-mix(in lab, red, red)){.terminal-panel{border:1px solid color-mix(in srgb,var(--accent)35%,var(--border))}}.terminal-panel{background:linear-gradient(180deg,#7fd48f14,#7fd48f05),linear-gradient(180deg,#ffffff05,#fff0),var(--bg-elevated);border-radius:.8rem;box-shadow:inset 0 0 0 1px #ffffff08}.terminal-panel__bar{gap:.45rem;margin-bottom:1.5rem;display:flex}.terminal-panel__bar span{border-radius:999px;width:.65rem;height:.65rem}.terminal-panel__bar span:first-child{background:#dc7f6e}.terminal-panel__bar span:nth-child(2){background:#d6b36d}.terminal-panel__bar span:nth-child(3){background:var(--accent)}.terminal-panel__body{gap:clamp(1.75rem,4vw,2.75rem);display:grid}@media print{.print-hide,.site-header,.site-footer,.crt-overlay,.skip-link,.resume-page__actions{display:none!important}:root{--bg:#fff;--bg-elevated:#fff;--text:#111;--muted:#444;--border:#ccc;--accent:#333;--accent-strong:#111}html,body{color:#111;background:#fff;font-size:9pt;line-height:1.4}*,:before,:after{cursor:default!important}.site-shell{min-height:auto}.site-main{padding-block:0}a{color:#111;font-weight:400}a:before,a:after{content:none}.resume-page{gap:0}.resume-page__sheet{gap:.75rem}.resume-page__name{font-size:16pt}.resume-page__headline{font-size:9pt}.resume-page__contact{font-size:8pt;line-height:1.5}.resume-page__chip{all:unset;font-family:var(--font-mono);color:#111;font-size:8pt}.resume-page__chip-label,.resume-page__chip-hover,.resume-page__chip-done{display:none!important}.resume-page__chip:after{content:attr(data-print-text)}.resume-page__section-title{color:#111;border-bottom-color:#ccc;font-size:9pt}.resume-page__skill-label,.resume-page__skill-items,.resume-page__role-company,.resume-page__role-dates,.resume-page__project-title,.resume-page__education-school,.resume-page__education-year{font-size:8.5pt}.resume-page__bullets li{max-width:100%;font-size:8.5pt;line-height:1.4}.resume-page__section{gap:.35rem}.resume-page__role{gap:.25rem}.resume-page__project{gap:.15rem}.resume-page__bullets,.resume-page__skills{gap:.1rem}@page{margin:.5in;size:letter}}.notes-index,.note-page{gap:clamp(1.75rem,4vw,2.75rem);display:grid}.notes-index>*,.note-page>*{min-width:0}.notes-index__back,.note-page__back{margin:0}.notes-index__back-link,.note-page__back-link{display:inline-block}.notes-index__intro,.note-page__intro,.notes-index__item,.note-page__body{display:grid}.notes-index__intro,.note-page__intro{gap:1rem}.notes-index__list{border-top:1px solid var(--border);gap:0;max-width:min(100%,56rem);display:grid}.notes-index__item{border-bottom:1px solid var(--border);gap:.65rem;padding-block:1rem}.notes-index__title,.note-page h1{max-width:min(100%,18ch)}.notes-index__meta,.note-page__meta,.note-page__summary{color:var(--text);margin:0}.note-page__body{gap:1rem}.note-page__body :where(blockquote,pre){max-width:var(--measure);margin:0}.note-page__body blockquote{border-left:3px solid var(--border);color:var(--text);padding-left:1rem}.note-page__body pre{border:1px solid var(--border);background:0 0;border-radius:.55rem;padding:1rem;overflow-x:auto}.note-page__body pre code{font-family:var(--font-mono);font-size:.88em;line-height:1.65}.note-page__body img{border:1px solid var(--border);border-radius:.55rem;max-width:100%}.note-page__body table{border-collapse:collapse;max-width:var(--measure);font-size:.92em}.note-page__body th,.note-page__body td{border:1px solid var(--border);text-align:left;padding:.45rem .75rem}.note-page__body th{color:var(--accent-strong);background:#5a9e6f14;font-weight:700}.note-page__body td{color:var(--muted)}.note-page__body code:not(pre code){background:var(--bg-elevated);border-radius:.25rem;padding:.15em .35em;font-size:.9em}.note-page__body hr{border:0;border-top:1px solid var(--border);margin-block:2rem}.note-page__body a:before,.note-page__body a:after{content:none}.note-page__meta{flex-wrap:wrap;align-items:baseline;gap:.35rem .75rem;display:flex}.note-page__read-time{color:var(--muted);font-size:.9rem}.note-page__tags{flex-wrap:wrap;gap:.35rem;display:flex}.note-page__tag{border:1px solid var(--border);background:var(--bg-elevated);color:var(--accent);border-radius:.25rem;padding:.1em .5em;font-size:.82rem;line-height:1.6;display:inline-block}.note-page__tag:before,.note-page__tag:after{content:none}.notes-index__back-link:focus-visible,.note-page__back-link:focus-visible{outline-offset:.22rem}.tag-filter{max-width:min(100%,56rem)}.tag-filter__chips{flex-wrap:wrap;gap:.4rem;display:flex}.tag-filter__chip{all:unset;border:1px solid var(--border);background:var(--bg-elevated);color:var(--muted);font-family:var(--font-mono);cursor:url(/cursors/pointer.png) 10 0,pointer;border-radius:999px;padding:.15em .6em;font-size:.82rem;line-height:1.6;transition:border-color .15s,color .15s,background .15s;display:inline-block}.tag-filter__chip:before,.tag-filter__chip:after{content:none}.tag-filter__chip:hover{border-color:var(--accent);color:var(--accent)}.tag-filter__chip--active{border-color:var(--accent);color:var(--accent-strong);background:#5a9e6f26}.tag-filter__chip:focus-visible{outline:3px solid var(--focus);outline-offset:.18rem}.notes-index__tags{flex-wrap:wrap;gap:.3rem;margin-left:.5rem;display:inline-flex}.notes-index__tag{border:1px solid var(--border);background:var(--bg-elevated);color:var(--accent);border-radius:.25rem;padding:.05em .45em;font-size:.78rem;line-height:1.6;display:inline-block}.notes-index__tag:before,.notes-index__tag:after{content:none}.notes-index__meta{flex-wrap:wrap;align-items:baseline;gap:.25rem;display:flex}.flagship__figure{gap:.65rem;max-width:min(100%,42rem);margin:0;display:grid}.flagship__image{border:1px solid var(--border);background:var(--bg-elevated);border-radius:.55rem;width:100%}.flagship__caption{font-size:.95rem}.site-main .flagship-list{flex-direction:column;gap:.5rem;padding-left:0;list-style:none;display:flex}.site-main .flagship-list li{gap:.5rem;margin-top:0;display:flex}.site-main .flagship-list li:before{content:"›";color:var(--accent);flex-shrink:0}[data-flagship] code,[data-supporting-item] code{color:var(--accent-strong);background:#5c6b5e26;border-radius:.25rem;padding:.15em .35em;font-size:.9em;display:inline}.mermaid-diagram{border:1px solid var(--border);background:var(--bg-elevated);border-radius:.55rem;padding:1rem;overflow-x:auto}.mermaid-diagram svg{max-width:100%;height:auto;display:block}.mermaid-diagram .mermaid{font-family:var(--font-mono);color:var(--muted);margin:0;font-size:.9rem}.note-page__body .mermaid-block{border:1px solid var(--border);background:var(--bg-elevated);margin-block:1.5rem;padding:1.5rem 1rem;overflow-x:auto}.note-page__body .mermaid-block .mermaid{color:var(--muted);margin:0;font-size:.9rem}.note-page__body .mermaid-block svg{max-width:100%;height:auto;margin-inline:auto;display:block}.screenshot-gallery{z-index:10000;gap:.5rem;max-width:min(100%,42rem);margin:0;display:grid;position:relative}.screenshot-gallery__viewport{scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overflow-x:auto}.screenshot-gallery__viewport::-webkit-scrollbar{display:none}.screenshot-gallery__track{grid-auto-columns:calc(33.3333% - .5rem);grid-auto-flow:column;gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.screenshot-gallery__slide{scroll-snap-align:start;gap:.35rem;display:grid}.screenshot-gallery__trigger{all:unset;cursor:url(/cursors/pointer.png) 10 0,pointer;display:block}.screenshot-gallery__trigger:hover{opacity:.85}.screenshot-gallery__image{border:1px solid var(--border);background:var(--bg-elevated);border-radius:.55rem;width:100%;display:block}.screenshot-gallery__slide-caption{color:var(--muted);font-size:.85rem}.screenshot-gallery__nav{justify-content:center;align-items:center;gap:.5rem;display:flex}.screenshot-gallery__arrow{font-family:var(--font-mono);background:var(--bg-elevated);color:var(--accent-strong);border:1px solid var(--border);border-radius:.35rem;padding:.35rem .75rem;font-size:.9rem;transition:border-color .15s,color .15s}.screenshot-gallery__arrow:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.screenshot-gallery__arrow:disabled{opacity:.35;cursor:default}.screenshot-gallery__arrow:before,.screenshot-gallery__arrow:after{content:none}.screenshot-gallery__dots{align-items:center;gap:.4rem;display:flex}.screenshot-gallery__dot{all:unset;background:var(--border);cursor:url(/cursors/pointer.png) 10 0,pointer;border-radius:50%;width:.5rem;height:.5rem;transition:background .15s}.screenshot-gallery__dot--active{background:var(--accent)}.screenshot-gallery__lightbox{z-index:10000;background:0 0;border:none;max-width:90vw;max-height:90vh;margin:auto;padding:0;position:fixed;inset:0}.screenshot-gallery__lightbox::backdrop{background:#000000d9}.screenshot-gallery__lightbox-close{background:var(--bg-elevated);color:var(--fg);border:1px solid var(--border);z-index:1;border-radius:.35rem;padding:.25rem .6rem;font-size:1.5rem;line-height:1;position:absolute;top:.5rem;right:.5rem}.screenshot-gallery__lightbox-close:hover{border-color:var(--accent);color:var(--accent)}.screenshot-gallery__lightbox-close:before,.screenshot-gallery__lightbox-close:after{content:none}.screenshot-gallery__lightbox-image{object-fit:contain;border-radius:.55rem;max-width:90vw;max-height:85vh;display:block}.screenshot-gallery__lightbox-caption{color:var(--fg);text-align:center;max-width:90vw;margin-top:.75rem;font-size:.95rem}.screenshot-gallery__lightbox-caption:empty{display:none}@media (max-width:40rem){.screenshot-gallery__track{grid-auto-columns:100%}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}
