@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-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}}}@layer theme{:root,:host{--font-sans:"Inter Tight", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@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;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{.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.hidden{display:none}.h-198{height:calc(var(--spacing) * 198)}.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}.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,)}}:root{color-scheme:light;--max-width:1180px;--radius:6px;--accent:#2fbf71;--accent-contrast:#04140b;--bg:#f2f5f2;--surface:#fff;--surface-2:#e9efea;--text:#0f1c15;--muted:#566b60;--border:#dbe4dd;--danger:#e5484d}.dark{color-scheme:dark;--bg:#080b0a;--surface:#0e1412;--surface-2:#131b17;--text:#d7e2da;--muted:#7c8d84;--border:#1b2620}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:82px;overflow-x:hidden}body{background:var(--bg);min-width:320px;color:var(--text);font-family:var(--font-sans);margin:0;font-size:16px;line-height:1.5;transition:background-color .4s,color .4s;overflow-x:hidden}a{color:var(--accent);text-decoration:none;transition:opacity .2s,color .2s,background-color .2s,border-color .2s,transform .2s}a:hover{opacity:.76}button,input,textarea{font:inherit}button{cursor:pointer}::selection{background:var(--accent);color:var(--accent-contrast)}:focus-visible{outline:2.5px solid var(--accent);outline-offset:3px;border-radius:3px}.skip-link{z-index:120;border-radius:var(--radius);background:var(--accent);color:var(--accent-contrast);font:600 14px var(--font-sans);padding:10px 16px;transition:top .2s;position:fixed;top:-60px;left:16px}.skip-link:focus{top:16px}.reading-progress{z-index:100;pointer-events:none;height:3px;position:fixed;top:0;left:0;right:0}.reading-progress__bar{background:var(--accent);transform-origin:0;width:100%;height:100%;transform:scaleX(0)}.site-header{z-index:80;border-bottom:1px solid var(--border);background:var(--bg);position:fixed;top:0;left:0;right:0}@supports (color:color-mix(in lab,red,red)){.site-header{background:color-mix(in srgb,var(--bg) 82%,transparent)}}.site-header{-webkit-backdrop-filter:blur(12px)}.site-nav{max-width:var(--max-width);justify-content:space-between;align-items:center;gap:16px;margin:0 auto;padding:14px 24px;display:flex}.site-logo{color:var(--text);font:600 16px var(--font-mono);letter-spacing:-.02em;flex:none}.site-nav__links,.site-nav__controls{align-items:center;display:flex}.site-nav__links{gap:26px;font-size:14.5px}.site-nav__links a{color:var(--muted)}.site-nav__links a:hover{color:var(--text)}.site-nav__controls{gap:10px}.language-switcher{border:1px solid var(--border);border-radius:var(--radius);min-height:34px;color:var(--muted);font:500 12.5px var(--font-mono);align-items:center;gap:7px;padding:0 10px;display:inline-flex}.language-switcher a{color:var(--muted)}.language-switcher a[aria-current=true]{color:var(--accent)}.language-switcher__divider{color:var(--muted)}.theme-toggle,.nav-toggle{border:1px solid var(--border);border-radius:var(--radius);width:36px;height:34px;color:var(--text);background:0 0;justify-content:center;align-items:center;display:inline-flex}.theme-toggle svg,.nav-toggle svg{width:17px;height:17px}.nav-toggle{width:40px;height:40px;display:none}.header-cta,.button-primary,.button-secondary{border-radius:var(--radius);justify-content:center;align-items:center;font-weight:600;display:inline-flex}.header-cta{background:var(--accent);min-height:34px;color:var(--accent-contrast);padding:7px 16px;font-size:14px}.mobile-menu{border-top:1px solid var(--border);padding:8px 24px 20px;display:none}.mobile-menu.is-open{flex-direction:column;gap:4px;display:flex}.mobile-menu a{color:var(--text);padding:12px 4px;font-size:17px}.mobile-menu button{color:var(--text);text-align:left;background:0 0;border:0;padding:12px 4px;font-size:17px}.terminal-hero,.terminal-section,.page-section{max-width:var(--max-width);margin:0 auto;padding-left:24px;padding-right:24px}.terminal-hero{padding-top:150px;padding-bottom:80px}.terminal-hero__grid{grid-template-columns:1.05fr .95fr;align-items:center;gap:52px;display:grid}.terminal-hero__grid>*{min-width:0}.terminal-command,.section-kicker{color:var(--accent)}.terminal-command{font:400 13px var(--font-mono)}.section-kicker{font:500 15px/1.4 var(--font-mono)}.terminal-command{color:var(--muted);margin-bottom:20px}.terminal-command__arrow{color:var(--accent)}.terminal-hero h1{font:600 clamp(34px,6vw,72px)/1.05 var(--font-mono);letter-spacing:-.03em;margin:0 0 6px}.terminal-hero__role{min-height:1.2em;color:var(--accent);font:400 clamp(18px,3vw,30px) var(--font-mono);margin-bottom:26px}.terminal-cursor{color:var(--text);animation:1s step-end infinite blink}.terminal-hero__copy{max-width:60ch;color:var(--muted);margin:0 0 30px;font-size:17px;line-height:1.65}.terminal-hero__actions{flex-wrap:wrap;gap:12px;margin-bottom:34px;display:flex}.terminal-hero__actions .button-primary,.terminal-hero__actions .button-secondary{min-height:auto;display:block}.button-primary,.button-secondary{min-height:46px;font:600 14.5px var(--font-mono);padding:13px 22px}.button-primary{background:var(--accent);color:var(--accent-contrast);border:0}.button-secondary{border:1px solid var(--border);color:var(--text);background:0 0}.terminal-window{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);font:400 13px var(--font-mono);overflow:hidden;box-shadow:0 30px 70px -42px #000000a6}.terminal-window__bar{border-bottom:1px solid var(--border);background:var(--surface-2);align-items:center;gap:6px;padding:11px 14px;display:flex}.terminal-window__dot{border-radius:50%;width:11px;height:11px}.terminal-window__dot--red{background:#ff5f57}.terminal-window__dot--yellow{background:#febc2e}.terminal-window__dot--green{background:#28c840}.terminal-window__title{color:var(--muted);margin-left:8px}.terminal-window__body{color:var(--muted);padding:20px;line-height:1.9}.terminal-window__body strong,.terminal-text{color:var(--text);font-weight:400}.terminal-accent{color:var(--accent)}.terminal-line-gap{margin-bottom:14px}.terminal-json{white-space:nowrap}.terminal-block-cursor{background:var(--accent);vertical-align:middle;width:8px;height:15px;animation:1s step-end infinite blink;display:inline-block}.terminal-section{border-top:1px solid var(--border);padding-top:70px;padding-bottom:70px}.section-kicker{margin-bottom:24px}.section-kicker__muted{color:var(--muted)}.about-grid{grid-template-columns:1fr 1fr;align-items:start;gap:48px;display:grid}.about-lead{font:500 clamp(24px,3.2vw,34px)/1.3 var(--font-mono);letter-spacing:-.02em;margin:0}.about-copy{color:var(--muted);margin:0 0 28px;font-size:16.5px;line-height:1.7}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.stat-value{color:var(--accent);font:600 clamp(32px,5vw,44px)/1 var(--font-mono)}.stat-label{color:var(--muted);margin-top:8px;font-size:13.5px;line-height:1.4}.stats-note{color:var(--muted);font:400 11px var(--font-mono);opacity:.7;margin-top:14px}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;display:grid}.skill-card,.contact-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:24px}.skill-card h3,.contact-card h3{letter-spacing:-.01em;margin:0 0 4px;font-size:17px}.skill-card p,.contact-card p{color:var(--muted);margin:0 0 16px;font-size:13.5px;line-height:1.45}.tag-list{flex-wrap:wrap;gap:8px;display:flex}.tag{border:1px solid var(--border);background:var(--surface-2);color:var(--text);font:400 12.5px var(--font-mono);border-radius:999px;padding:5px 10px}.projects-section{overflow:visible}.projects-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.project-section__kicker{margin-bottom:0}.projects-count,.projects-note{color:var(--muted);font-family:var(--font-mono);line-height:normal}.projects-count{margin-bottom:14px;font-size:13.5px}.projects-note{margin-bottom:20px;font-size:12px;font-weight:500}.project-dialog__content[hidden],[data-project-item][hidden],.projects-stack[hidden],.private-projects[hidden],.project-filter__clear[hidden],.project-filter__empty[hidden],[data-public-projects-note][hidden]{display:none}.project-filter{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);font:400 13.5px var(--font-mono);align-items:center;gap:10px;margin-bottom:12px;padding:11px 14px;display:flex}.project-filter:focus-within{border-color:var(--accent)}.project-filter__command{color:var(--accent);white-space:nowrap}.project-filter__input{min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:0;flex:1;padding:0}.project-filter__input::placeholder{color:var(--muted);opacity:.72}.project-filter__input::-webkit-search-cancel-button{display:none}.project-filter__path{color:var(--muted);white-space:nowrap}.project-filter__clear{border:1px solid var(--border);border-radius:var(--radius);color:var(--muted);font:400 12px var(--font-mono);background:0 0;padding:3px 9px}.project-filter__chips{flex-wrap:wrap;gap:7px;margin-bottom:24px;display:flex}.project-filter__chips button{border:1px solid var(--border);background:var(--surface-2);color:var(--muted);font:400 11.5px var(--font-mono);border-radius:999px;padding:4px 10px;transition:border-color .2s,color .2s}.project-filter__chips button:hover{border-color:var(--accent);color:var(--text)}.project-filter__empty{border:1px dashed var(--border);border-radius:var(--radius);color:var(--muted);text-align:center;font:400 13.5px var(--font-mono);margin-bottom:24px;padding:28px}.project-filter__empty button{color:var(--accent);font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.projects-stack{padding-bottom:96px}.project-stack-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);transform-origin:top;backface-visibility:hidden;perspective:1000px;will-change:transform;margin-bottom:64px;padding:30px 26px;position:relative;box-shadow:0 24px 60px -30px #00000080}.project-stack-card.is-last-visible{margin-bottom:0}.projects-stack__end{width:100%;height:1px;margin-top:30px}.project-stack-card__grid{grid-template-columns:minmax(0,1fr) 240px;align-items:center;gap:30px;display:grid}.project-stack-card__cover{aspect-ratio:4/3;border:1px solid var(--border);background:var(--surface);border-radius:8px;width:240px;max-width:100%;overflow:hidden}.project-cover{background:var(--surface);width:100%;height:100%;display:block}.project-card__meta{color:var(--accent);font:400 12px var(--font-mono);align-items:center;gap:10px;margin-bottom:8px;display:flex}.project-status{border:1px solid var(--border);color:var(--muted);font:400 11px var(--font-mono);white-space:nowrap;border-radius:999px;flex:none;align-items:center;padding:3px 9px;display:inline-flex}.project-status--locked{gap:5px}.project-lock-icon{color:#d99a32;flex:none;display:block}.project-stack-card h3{font:700 clamp(21px,2.4vw,28px)/1.1 var(--font-mono);letter-spacing:-.02em;margin:0 0 4px}.project-card__type{color:var(--accent);font:400 12.5px var(--font-mono);margin-bottom:14px}.project-card__description{color:var(--muted);margin:0 0 12px;font-size:14.5px;line-height:1.65}.project-card__role,.project-dialog__role{color:var(--muted)}.project-card__role{margin:0 0 16px;font-size:13.5px;line-height:1.55}.project-card__role span,.project-dialog__role span{color:var(--text)}.project-tags{flex-wrap:wrap;gap:7px;margin-bottom:16px;line-height:normal;display:flex}.project-tags span,.private-project-card__tags span{border:1px solid var(--border);color:var(--muted);font-family:var(--font-mono);border-radius:4px}.project-tags span{padding:3px 8px;font-size:11px}.project-links{font:600 13.5px var(--font-mono);align-items:center;gap:18px;display:flex}.project-links a+a{color:var(--muted)}.project-modules__title{color:var(--text);font:400 11px var(--font-mono);margin-bottom:8px}.project-modules{color:var(--muted);margin:0 0 16px;padding-left:16px;font-size:13.5px;line-height:1.7}.private-projects{z-index:10;background:var(--bg);padding-top:26px;position:relative}.projects-note--private{margin:0 0 20px}.private-projects-marquee{cursor:grab;touch-action:pan-y;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000);mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000)}.private-projects-marquee.is-dragging{cursor:grabbing}.private-projects-marquee.is-static{cursor:default;-webkit-mask-image:none;mask-image:none}.private-projects-track{-webkit-user-select:none;user-select:none;will-change:transform;align-items:flex-start;gap:16px;width:max-content;padding:4px 0;display:flex}.private-project-card{border:1px dashed var(--border);border-radius:var(--radius);background:var(--surface-2);color:inherit;text-align:left;flex-direction:column;flex:0 0 330px;align-items:stretch;gap:9px;padding:20px;transition:border-color .25s,transform .25s;display:flex}.private-project-card:hover{border-color:var(--accent);opacity:1;transform:translateY(-4px)}.private-project-card__cover{border:1px solid var(--border);background:var(--surface);border-radius:8px;width:100%;height:118px;overflow:hidden}.private-project-card__meta{color:var(--muted);font:400 12px var(--font-mono);justify-content:space-between;align-items:center;gap:8px;display:flex}.private-project-card__meta .project-status{font-size:10.5px}.private-project-card h4{font:700 16px var(--font-mono);letter-spacing:-.01em;margin:0}.private-project-card__type{color:var(--accent);font:400 11.5px var(--font-mono)}.private-project-card p{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.55;display:-webkit-box;overflow:hidden}.private-project-card__tags{flex-wrap:wrap;gap:6px;margin-top:2px;line-height:normal;display:flex}.private-project-card__tags span{padding:2px 7px;font-size:10.5px}.private-project-card__details{color:var(--accent);font:400 11.5px var(--font-mono);margin-top:2px}.project-dialog{z-index:120;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#060a08a8;border:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:80px 20px;position:fixed;inset:0;overflow-y:auto}.project-dialog[open]{justify-content:center;align-items:flex-start;display:flex}.project-dialog::backdrop{background:0 0}.project-dialog__panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;max-width:640px;color:var(--text);font-family:var(--font-sans);padding:30px 30px 34px}.project-dialog__cover{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;width:100%;height:170px;margin-bottom:20px;overflow:hidden}.project-dialog__heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.project-dialog__heading h3{font:700 23px var(--font-mono);letter-spacing:-.02em;margin:0}.project-dialog__type{color:var(--accent);font:400 12.5px var(--font-mono);margin-top:4px}.project-dialog__close{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);width:38px;height:38px;color:var(--text);flex:none;justify-content:center;align-items:center;font-size:17px;display:inline-flex}.project-dialog__description{color:var(--muted);margin:0 0 16px;font-size:15px;line-height:1.7}.project-dialog__role{margin:0 0 20px;font-size:14px;line-height:1.6}.project-modules--dialog{margin-bottom:20px;padding-left:18px;font-size:14px;line-height:1.75}.project-tags--dialog{margin-bottom:18px}.project-tags--dialog span{padding:4px 9px;font-size:11.5px}.project-dialog__note{border-top:1px solid var(--border);color:var(--muted);font:400 12px var(--font-mono);margin:0;padding-top:16px}.experience-list{flex-direction:column;display:flex}.experience-row{border-top:1px solid var(--border);grid-template-columns:200px 1fr;gap:28px;padding:26px 0;display:grid}.experience-row:first-child{border-top:0;padding-top:0}.experience-row__period{color:var(--muted);font:400 13px var(--font-mono)}.experience-row h3{letter-spacing:-.01em;margin:0 0 2px;font-size:19px}.experience-row h3 span{color:var(--accent)}.experience-row p{max-width:60ch;color:var(--muted);margin:8px 0 14px;font-size:15px;line-height:1.6}.experience-row .tag{color:var(--muted);border:0;padding:4px 9px;font-size:11.5px}.section-heading-row{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:36px;display:flex}.section-heading-row .section-kicker{margin-bottom:0}.section-link{font-size:14px;font-weight:600}.blog-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;display:grid}.blog-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:inherit;display:block;overflow:hidden}.blog-card:hover{opacity:1;transform:translateY(-4px)}.blog-card__cover,.article-cover{background:repeating-linear-gradient(135deg,var(--surface-2),var(--surface-2) 12px,var(--surface) 12px,var(--surface) 24px);position:relative;overflow:hidden}.blog-card__cover{aspect-ratio:16/9;border-bottom:1px solid var(--border)}.blog-card__cover img,.article-cover img{object-fit:cover;width:100%;height:100%}.cover-placeholder{color:var(--muted);font:400 11px var(--font-mono);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.blog-card__body{padding:20px}.blog-card__meta,.article-meta{color:var(--muted);font:400 11.5px var(--font-mono)}.blog-card__meta{margin-bottom:10px}.blog-card h3{letter-spacing:-.01em;margin:0 0 8px;font-size:18px;line-height:1.25}.blog-card p{color:var(--muted);margin:0 0 14px;font-size:14px;line-height:1.55}.hash-tags{color:var(--accent);font:400 11px var(--font-mono);flex-wrap:wrap;gap:7px;display:flex}.contact-heading{max-width:18ch;font:500 clamp(30px,5vw,56px)/1.05 var(--font-mono);letter-spacing:-.03em;margin:0 0 12px}.contact-subtitle{max-width:52ch;color:var(--muted);margin:0 0 40px;font-size:16.5px}.contact-grid{grid-template-columns:1.2fr .8fr;align-items:start;gap:40px;display:grid}.contact-grid--single{grid-template-columns:minmax(0,720px)}.contact-form,.contact-aside{flex-direction:column;gap:16px;display:flex}.form-field label{margin-bottom:6px;font-size:13px;font-weight:600;display:block}.form-field input,.form-field textarea{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;color:var(--text);padding:13px 14px;font-size:15px}.form-field textarea{resize:vertical;min-height:120px}.contact-form .button-primary{font-family:var(--font-sans);border:0;align-self:flex-start;padding-left:26px;padding-right:26px;font-size:15px}.contact-form .button-primary:disabled{cursor:wait;opacity:.65}.contact-honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.contact-form__status{min-height:1.5em;color:var(--muted);margin:-4px 0 0;font-size:13px}.contact-form__status.is-success{color:var(--accent)}.contact-form__status.is-error{color:var(--danger)}.contact-card{padding:22px}.contact-card h3{font-size:16px}.contact-card__links{flex-direction:column;align-items:flex-start;gap:10px;font-size:14.5px;font-weight:600;display:flex}.site-footer{border-top:1px solid var(--border);background:var(--surface)}.site-footer__inner{max-width:var(--max-width);justify-content:space-between;align-items:center;gap:16px;margin:0 auto;padding:32px 24px;display:flex}.site-footer__logo{color:var(--text);font:600 14px var(--font-mono)}.site-footer__links{gap:18px;font-size:13.5px;display:flex}.site-footer__links a,.site-footer__copy{color:var(--muted)}.site-footer__copy{font:400 12px var(--font-mono)}.page-section{min-height:calc(100vh - 70px);padding-top:140px;padding-bottom:90px}.page-heading{max-width:20ch;font:600 clamp(34px,5vw,58px)/1.08 var(--font-mono);letter-spacing:-.035em;margin:0 0 14px}.page-intro{max-width:58ch;color:var(--muted);margin:0 0 48px;font-size:16.5px;line-height:1.65}.blog-list{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}.blog-list__item{border-bottom:1px solid var(--border);color:inherit;grid-template-columns:170px 1fr auto;gap:24px;padding:24px;display:grid}.blog-list__item:last-child{border-bottom:0}.blog-list__item:hover{background:var(--surface-2);opacity:1}.blog-list__index{color:var(--accent);font:400 13px var(--font-mono)}.blog-list__item h2{font:500 19px/1.3 var(--font-mono);letter-spacing:-.02em;margin:0 0 8px}.blog-list__item p{max-width:64ch;color:var(--muted);margin:0 0 12px;font-size:14.5px;line-height:1.55}.blog-list__date{color:var(--muted);font:400 11.5px var(--font-mono);white-space:nowrap}.article-page{max-width:860px}.back-link{font:500 13px var(--font-mono);margin-bottom:38px;display:inline-flex}.article-header{margin-bottom:38px}.article-meta{margin-bottom:14px}.article-title{font:600 clamp(32px,5vw,54px)/1.12 var(--font-mono);letter-spacing:-.04em;margin:0 0 20px}.article-cover{aspect-ratio:16/8;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:38px}.article-prose{color:var(--muted);font-size:17px;line-height:1.78}.article-prose>:first-child{margin-top:0}.article-prose h2,.article-prose h3{color:var(--text);font-family:var(--font-mono);letter-spacing:-.025em}.article-prose h2{margin:48px 0 16px;font-size:26px}.article-prose h3{margin:36px 0 12px;font-size:20px}.article-prose p,.article-prose ul,.article-prose ol{margin:0 0 22px}.article-prose li+li{margin-top:8px}.article-prose code{border:1px solid var(--border);background:var(--surface-2);color:var(--accent);font:.88em var(--font-mono);border-radius:4px;padding:2px 5px}.article-prose pre{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:20px;overflow-x:auto}.article-prose pre code{background:0 0;border:0;padding:0}.article-cta{border-top:1px solid var(--border);margin-top:64px;padding-top:32px}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}@media(max-width:960px){.site-nav__links{gap:16px}.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.site-nav__links{display:none}.nav-toggle{display:inline-flex}.terminal-hero{padding-top:150px;padding-bottom:80px}.terminal-hero__grid,.about-grid,.contact-grid,.project-stack-card__grid{grid-template-columns:1fr}.project-stack-card{perspective:none;backface-visibility:visible!important;filter:none!important;will-change:auto!important;transform:none!important}.terminal-hero__grid{gap:52px}.about-grid,.contact-grid{gap:32px}.experience-row{grid-template-columns:150px 1fr}.blog-list__item{grid-template-columns:48px 1fr}.blog-list__date{grid-area:2/2}}@media(max-width:600px){.theme-toggle{display:none}.site-nav{gap:8px}.site-nav__controls{gap:7px}.terminal-window__body{overflow-x:auto}.stats-grid,.skills-grid{grid-template-columns:1fr}.stats-grid{gap:24px}.experience-row{grid-template-columns:1fr;gap:10px}.blog-grid{grid-template-columns:1fr}.section-heading-row,.site-footer__inner{flex-direction:column;align-items:flex-start}.page-section{padding-top:120px;padding-bottom:70px}.blog-list__item{grid-template-columns:32px 1fr;gap:10px;padding:20px 16px}}@media(max-width:480px){.header-cta{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.project-stack-card{position:relative;top:auto;filter:none!important;transform:none!important}}@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-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}
