/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--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-outline-style:solid;--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{:host,:root{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--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)}}@layer base{*,::backdrop,:after,:before{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}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{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:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,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-day-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-second-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{.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.block{display:block}.grid{display:grid}.hidden{display:none}.table{display:table}.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}.border{border-style:var(--tw-border-style);border-width:1px}.mask-repeat{-webkit-mask-repeat:repeat;mask-repeat:repeat}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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))}}@font-face{font-family:PP Mondwest;src:url(../font/ppmondwest-regular.otf)format("opentype");font-weight:400;font-style:normal;font-display:block}@font-face{font-family:PP NeueBit;src:url(../font/ppneuebit-bold.otf)format("opentype");font-weight:700;font-style:normal;font-display:block}@font-face{font-family:PP Mondwest Bold;src:url(../font/fs-mondwest-bold.otf)format("opentype");font-weight:700;font-style:normal;font-display:block}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#141614;--paper:#fffdf6;--muted:#a9ada5;--line:#373d36;--acid:#d5ff70;--font-display:"PP Mondwest", monospace;--font-label:"PP NeueBit", monospace;--font-body:"PP NeueBit", monospace;--font-ui:"PP NeueBit", monospace;font-family:var(--font-body);color:var(--muted);background:var(--ink);font-synthesis:none;-webkit-font-smoothing:antialiased;font-weight:700}*{box-sizing:border-box}html{scrollbar-gutter:stable;scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--acid);outline-offset:4px}::selection{background:var(--acid);color:var(--ink)}h1,h2,h3,p{margin:0;font-weight:400}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty;hanging-punctuation:first}.pixel-label{font-family:var(--font-label);font-size:1.25rem;font-weight:700;line-height:1.2}.accent{color:var(--acid)}.portfolio{--sidebar:0px;--gutter:clamp(1.25rem, .5rem + 3vw, 3.25rem);width:100%;position:relative;overflow:clip}.skip-link{background:var(--acid);color:var(--ink);z-index:5;padding:12px;position:absolute;top:12px;left:12px;transform:translateY(-180%)}.skip-link:focus{transform:none}.site-header{min-height:80px;padding:12px var(--gutter);border-bottom:1px solid var(--line);color:var(--paper);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 24px;display:flex;position:relative}.site-header__name{min-height:44px;font:400 clamp(1.5rem,1.3rem + .4vw,1.875rem)/1 var(--font-display);letter-spacing:-.025em;gap:12px}.site-header__mark,.site-header__name{align-items:center;display:inline-flex}.site-header__mark{flex-shrink:0;width:28px}.site-header nav{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.site-header nav a{justify-content:center;align-items:center;min-width:44px;min-height:44px;padding-inline:4px;display:inline-flex}.folder-link:hover,.site-header nav a:hover{color:var(--acid)}.ruled-section:after,.ruled-section:before,.site-header:after,.site-header:before{content:"";background:linear-gradient(var(--acid),var(--acid)) 50% /10px 2px no-repeat,linear-gradient(var(--acid),var(--acid)) 50% /2px 10px no-repeat;pointer-events:none;z-index:3;width:20px;height:20px;position:absolute}.site-header:before{left:var(--sidebar);bottom:0;transform:translate(-50%,50%)}.site-header:after{right:var(--gutter);bottom:0;transform:translate(50%,50%)}.portfolio-grid{margin-right:var(--gutter);border-right:1px solid var(--line);grid-template-columns:minmax(0,1fr);display:grid;position:relative}.hero-layout>*,.portfolio-grid>*,.project-grid>*{min-width:0}.explorer{padding:24px var(--gutter);border-bottom:1px solid var(--line)}.explorer__heading{flex-wrap:wrap;justify-content:space-between;gap:8px 16px;display:flex}.explorer__folders{margin-top:24px}.explorer__files,.explorer__tree{margin:0;padding:0;list-style:none}.explorer__tree{flex-wrap:wrap;gap:20px 32px;display:flex}.explorer__files{border-left:1px solid var(--line);margin-left:10px;padding-left:20px}.explorer__file-icon{color:var(--muted);flex-shrink:0}.explorer__file-link{gap:8px}.explorer__file-link:hover .explorer__file-icon{color:var(--acid)}.explorer__file-link span{overflow-wrap:anywhere}.explorer__group-link,.folder-link{color:var(--paper)}.folder-link{align-items:center;gap:10px;width:fit-content;min-height:44px;display:flex}.folder-link img{flex-shrink:0}.explorer__location{display:none}.hero{padding:clamp(2rem,1.5rem + 2vw,3.125rem) var(--gutter) clamp(2rem,1rem + 3vw,4.1875rem);container:hero/inline-size}.hero-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:clamp(1.5rem,1rem + 2vw,2rem);display:grid}.hero__intro{flex-direction:column;gap:clamp(1.125rem,.8rem + 1vw,1.625rem);display:flex}h1{color:var(--paper);font:clamp(2.25rem,1.75rem + 2.5vw,4rem)/1.2 var(--font-display);overflow-wrap:anywhere}.hero__description{max-width:47ch;font-size:clamp(1rem,.95rem + .3vw,1.1875rem);line-height:1.5}.hero__cta{align-items:center;gap:24px;width:fit-content;min-height:44px;display:flex}.hero__cta span{font:700 23px/1 var(--font-ui);transition:transform .18s}.hero-art{pointer-events:none;mix-blend-mode:difference;place-self:center;width:min(100%,20rem)}.hero-art__mask{width:100%}@container hero (width>=48rem){.hero-layout{-moz-column-gap:clamp(24px,4cqi,48px);grid-template-rows:1fr auto;grid-template-columns:minmax(0,470px) minmax(0,1fr);column-gap:clamp(24px,4cqi,48px);min-height:32.6875rem}.hero__intro{grid-area:1/1}.hero-art{grid-area:1/2/3;width:min(100%,31rem)}.hero__cta{grid-area:2/1}}.ruled-section{border-top:1px solid var(--line);position:relative}.ruled-section:before{top:-1px;left:-1px;transform:translate(-50%,-50%)}.ruled-section:after{top:-1px;right:0;transform:translate(50%,-50%)}.section-rule{width:calc(100% + var(--gutter) + 1px);background:var(--line);pointer-events:none;height:1px;position:absolute;top:-1px;left:0}.work{padding:clamp(1.875rem,1.5rem + 1vw,2.375rem) var(--gutter) 40px}.section-heading{flex-wrap:wrap;gap:12px clamp(24px,5vw,90px);margin-bottom:30px;display:flex}.section-heading h2{color:var(--paper);font:inherit}.work{container:work/inline-size}.project-grid{grid-template-columns:minmax(0,1fr);gap:24px;display:grid}@container work (width>=40rem){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.project-card{flex-direction:column;gap:12px;min-height:220px;padding:clamp(18px,2vw,26px);display:flex;position:relative;overflow:hidden}.project-card--yellow{color:var(--ink);background:#f8d864}.project-card--blue{color:var(--paper);background:#075d8a}.project-card h3{font:clamp(2rem,1.65rem + 1.25vw,2.75rem)/1.1 var(--font-display);overflow-wrap:anywhere}.project-card__folder{max-width:none;transition:transform .18s;position:absolute;bottom:-20px;right:-5px}.project-card__arrow{position:absolute;bottom:16px;right:16px}.project__caption{margin-top:18px;font-size:1rem;line-height:1.45}@media (width>=60rem){.portfolio{--sidebar:clamp(216px, 17.78vw, 256px)}.portfolio-grid{grid-template-columns:var(--sidebar) minmax(0,1fr)}.explorer{border-bottom:0;border-right:1px solid var(--line);grid-area:1/1/4;padding:48px 16px 32px 32px}.explorer__heading{gap:10px;display:grid}.explorer__folders{margin-top:28px;display:block}.explorer__tree{gap:20px;display:grid}.explorer__files{padding-left:14px}.explorer__location{margin-top:64px;font-size:1rem;line-height:1.45;display:block}.explorer__location p+p{margin-top:12px}.experience,.hero,.work{grid-column:2}.hero{grid-row:1}.experience{grid-row:2}.work{grid-row:3}.site-header nav{gap:12px;margin-right:clamp(0px,10vw,194px)}}@media (hover:hover){.hero__cta:hover span{transform:translate(3px,-3px)}.project-card:hover .project-card__folder{transform:translate(-4px,-4px)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{transition:none!important}}.hero__description{font-family:var(--font-body);font-size:clamp(1.5rem,1.3rem + .5vw,1.875rem);font-weight:700;line-height:1.2}.explorer__location,.project__caption{font-family:var(--font-body);font-size:1.5rem;font-weight:700;line-height:1.25}.project-card__mangobyte,.project-card__octant{pointer-events:none;width:250px;height:250px;position:absolute;bottom:-80px;right:-40px}.project-card__arrow{z-index:1}.hero__cta,.project-card>.pixel-label,.project__visit,.site-header nav,.tech-tag{font-family:var(--font-ui);font-style:normal;font-weight:700}.site-header nav{letter-spacing:.06em;font-size:1.25rem}.hero__cta{letter-spacing:.04em;background:#d5ff7008;border:1px solid #d5ff7038;padding:16px 22px;font-size:1.5rem;line-height:1.25;transition:background .18s,color .18s;position:relative}.hero__cta:after,.hero__cta:before{content:"";pointer-events:none;background:linear-gradient(var(--acid),var(--acid)) 0 0 /8px 1px no-repeat,linear-gradient(var(--acid),var(--acid)) 0 0 /1px 8px no-repeat,linear-gradient(var(--acid),var(--acid)) 100% 100% /8px 1px no-repeat,linear-gradient(var(--acid),var(--acid)) 100% 100% /1px 8px no-repeat;position:absolute;inset:-1px}.hero__cta:after{transform:scaleX(-1)}.hero__cta:hover,.tech-tag{background:var(--acid);color:var(--ink)}.tech-tag{clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);letter-spacing:.08em;align-items:center;padding:8px 16px;font-size:1.25rem;line-height:1.2;display:inline-flex}.section-heading{justify-content:space-between;align-items:center}.project-card>.pixel-label{letter-spacing:.04em;font-size:1.25rem;line-height:1.35}.project-card:after{content:"+";font:700 20px/1 var(--font-ui);opacity:.6;position:absolute;top:5px;right:10px}.project__footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-top:12px;display:flex}.project__footer .project__caption{margin-top:0}.project__visit{min-height:44px;color:var(--acid);letter-spacing:.08em;align-items:center;gap:10px;font-size:1.25rem;display:inline-flex}.project__visit span{letter-spacing:0;font-size:24px;transition:transform .18s}.project__visit:hover span{transform:translate(3px,-3px)}.work{background-image:linear-gradient(#d5ff7005 1px,#0000 0),linear-gradient(90deg,#d5ff7005 1px,#0000 0);background-size:80px 80px}.experience{padding:clamp(1.875rem,1.5rem + 1vw,2.375rem) var(--gutter) 40px}.experience__layout{grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:32px 48px;display:grid}.experience__intro h3{color:var(--paper);font:clamp(2rem,1.5rem + 1.5vw,3rem)/1.1 var(--font-display);margin:16px 0}.experience__entry div>p:not(.pixel-label),.experience__intro>.experience__summary{font:700 1.5rem/1.25 var(--font-body);max-width:42ch}.experience__entries{margin:0;padding:0;list-style:none}.experience__entry{grid-template-columns:28px minmax(0,1fr);gap:16px;padding:0 0 28px;display:grid;position:relative}.experience__entry+.experience__entry{border-top:1px solid var(--line);padding-top:28px}.experience__marker{color:var(--muted);font:700 1.25rem/1.2 var(--font-label)}.experience__entry h3{color:var(--paper);font:clamp(1.5rem,1.3rem + .5vw,2rem)/1.2 var(--font-display);margin:10px 0 14px}.experience__link{min-height:44px;color:var(--acid);align-items:center;gap:16px;margin-top:12px;display:inline-flex}.experience__link:hover{color:var(--paper)}.experience__organization{color:var(--paper);margin-bottom:12px}.experience__dates{letter-spacing:.04em}.experience-editor{border:1px solid var(--line);background:#171a17;min-width:0}.experience-editor__tabs{border-bottom:1px solid var(--line);background:#101310;display:flex}.experience-editor__tab{color:var(--paper);border-top:2px solid var(--acid);border-right:1px solid var(--line);background:#171a17;align-items:center;gap:12px;padding:12px 18px;display:inline-flex}.experience-editor__tab-dot{background:var(--muted);border-radius:50%;width:6px;height:6px;margin-left:12px}.experience-editor__breadcrumb{color:var(--muted);gap:12px;padding:12px 18px;font-size:1.125rem;display:flex}.experience-editor .experience__entries{padding:10px 18px 0 0}.experience-editor .experience__entry{grid-template-columns:44px minmax(0,1fr);gap:14px;padding-bottom:24px}.experience-editor .experience__entry+.experience__entry{border-top:0;padding-top:8px}.experience-editor .experience__marker{text-align:right;color:#697267;font-variant-numeric:tabular-nums;padding-top:2px}.experience__entry-body{border-left:1px solid #373d3680;padding-left:16px}.experience-editor .experience__entry h3{font:700 clamp(1.5rem,1.3rem + .5vw,1.875rem)/1.15 var(--font-label);color:#b9d8df;margin:8px 0}.experience-editor .experience__organization{color:#e6d1a0}.experience-editor__comment{color:#697267}.experience-editor__status{border-top:1px solid var(--line);color:var(--muted);background:#101310;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;padding:8px 14px;font-size:1.0625rem;display:flex}.experience__context{border-top:1px solid var(--line);max-width:46ch;margin-top:28px;padding-top:22px}.experience__context h4{margin:0 0 14px}.experience__context p{font:700 1.5rem/1.25 var(--font-body)}.experience__context p+p{margin-top:16px}.experience__toolkit{gap:20px;margin:24px 0 0;padding:0;display:grid}.experience__toolkit dt{margin-bottom:8px}.experience__toolkit dd{font:700 1.25rem/1.35 var(--font-body);color:var(--paper);margin:0}.experience-workspace{border:1px solid var(--line);background:#171a17}.experience-workspace .experience__layout{gap:0}.experience-workspace .experience-editor{border:0}.experience-editor--tools{border-right:1px solid var(--line)!important}.experience-workspace .experience-editor__tab{min-height:48px}.toolkit-comment{color:#829477;padding:10px 20px 20px}.experience-editor .toolkit-tools{color:#e6d1a0;margin:12px 0}.experience-editor--tools .experience__entry h3{color:#b9d8df;letter-spacing:.04em;font-size:1.375rem}.toolkit-projects{margin:0 20px 16px 74px}.experience-workspace{--editor-cyan:#64dcff;--editor-gold:#ffce72;--editor-copy:#d9e2d7;--editor-muted:#a4b49f;--editor-line:#435043;border-color:var(--editor-line);background:#191f1a}.experience-workspace .experience-editor{background:#191f1a}.experience-workspace .experience-editor--tools{border-right-color:var(--editor-line)!important}.experience-workspace .experience-editor__status,.experience-workspace .experience-editor__tabs{border-color:var(--editor-line);background:#0e120f}.experience-workspace .experience-editor__tab{color:var(--paper);border-right-color:var(--editor-line);background:#191f1a}.experience-workspace .experience-editor__breadcrumb,.experience-workspace .experience-editor__status{color:var(--editor-muted)}.experience-workspace .experience__entry h3{color:var(--editor-cyan)}.experience-workspace .experience__organization,.experience-workspace .toolkit-tools{color:var(--editor-gold)}.experience-workspace .experience__entry div>p:not(.pixel-label):not(.toolkit-tools){color:var(--editor-copy)}.experience-workspace .experience-editor__comment,.experience-workspace .toolkit-comment{color:var(--acid)}.experience-workspace .experience__marker{color:var(--editor-muted)}.experience-workspace .experience__entry-body{border-left-color:var(--editor-line)}@media (width>=60rem){.explorer{padding:0}.explorer__sticky{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent;max-height:100dvh;padding:32px 16px 24px 32px;position:sticky;top:0;overflow-y:auto}.explorer__location{margin-top:40px}}.site-header{gap:12px 24px}.site-header__coordinates,.site-header__location{color:var(--muted);gap:4px;font-size:1.125rem;display:grid}.site-header__clock{font-variant-numeric:tabular-nums;align-items:center;gap:8px;display:flex}.site-header__clock i{background:var(--acid);width:5px;height:5px;animation:4s steps(4,end) infinite clock-pulse}@keyframes clock-pulse{0%,to{opacity:1}50%{opacity:.5}}.site-header .site-header__contact{color:var(--acid);font:700 1.25rem/1 var(--font-ui);cursor:pointer;background:0 0;border:0;min-height:44px;padding:8px}.site-header__contact span{transition:transform .24s cubic-bezier(.16,1,.3,1);display:inline-block}.site-header__contact:hover span{transform:translate(2px,-2px)}button:focus-visible{outline:2px solid var(--acid);outline-offset:4px}.contact-dialog{transform-origin:100% 0;width:min(600px,100% - 32px);max-height:calc(100dvh - 32px);color:var(--paper);background:#191f1a;border:1px solid #435043;margin:0;padding:0;position:fixed;inset:auto;overflow-y:auto;box-shadow:0 24px 80px #0008}.contact-dialog::backdrop{background:0 0}.contact-dialog__bar{border-top:2px solid var(--acid);background:#0e120f;border-bottom:1px solid #435043;justify-content:space-between;align-items:center;padding-left:20px;display:flex}.contact-dialog__bar button{min-width:44px;min-height:44px;color:var(--muted);font:700 1.75rem/1 var(--font-ui);cursor:pointer;background:0 0;border:0;border-left:1px solid #435043}.contact-dialog__bar button:hover{color:var(--acid)}.contact-dialog__breadcrumb{color:var(--muted);gap:12px;padding:16px 24px 0;display:flex}.contact-dialog__body{padding:24px}.contact-dialog h2{font:clamp(1.75rem,4vw,2.5rem)/1.15 var(--font-display);margin:14px 0}.contact-dialog__intro{color:#d9e2d7;font:700 1.5rem/1.25 var(--font-body)}.contact-dialog__fields{font:700 1.375rem/1.25 var(--font-ui);gap:16px;margin:24px 0 0;display:grid}.contact-dialog__fields div{border-left:1px solid #435043;padding-left:16px}.contact-dialog__fields dt{color:var(--muted)}.contact-dialog__fields dt span{color:#64dcff;margin-left:12px}.contact-dialog__fields dd{color:#ffce72;overflow-wrap:anywhere;margin:6px 0 0}.contact-dialog__fields a{padding-block:6px;display:inline-block}.contact-dialog__fields a:hover{color:var(--acid)}.contact-dialog__status{color:var(--muted);background:#0e120f;border-top:1px solid #435043;justify-content:space-between;padding:10px 16px;display:flex}@media (width>=60rem){.site-header nav{margin-right:var(--gutter)}}@media (prefers-reduced-motion:reduce){.site-header__clock i{animation:none}}.site-header__coordinates,.site-header__location{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.site-header__coordinates>span,.site-header__location>span{white-space:nowrap}.site-header__coordinates{font-variant-numeric:tabular-nums}@media (width>=60rem){.site-header{padding-right:calc(var(--gutter) + 16px);grid-template-columns:auto minmax(0,1fr) auto auto;gap:24px;display:grid}.site-header__location{justify-self:center}.site-header nav{margin-right:0}.site-header nav,.site-header__coordinates,.site-header__location{align-self:stretch;position:relative}.site-header nav:before,.site-header__coordinates:before,.site-header__location:before{content:none}.site-header nav,.site-header__coordinates,.site-header__location{padding-left:16px}.site-header nav:after,.site-header__coordinates:after,.site-header__location:after{content:none}}.case-study{--editor-cyan:#64dcff;--editor-gold:#ffce72;--editor-copy:#d9e2d7;--editor-muted:#a4b49f;--editor-line:#435043;--panel:#191f1a;--panel-deep:#0e120f}.site-header .case-study__crumbs{color:var(--muted);letter-spacing:0;justify-content:center;gap:4px}.case-study__back{letter-spacing:.06em;align-items:center;gap:.35em;min-height:44px;display:inline-flex}.case-study__back:hover{color:var(--paper)}.explorer__file-link.is-active{color:var(--acid);background:#d5ff7012;margin-left:-8px;padding-inline:8px}.explorer__file-link.is-active .explorer__file-icon{color:var(--acid)}.page-outline{margin-top:40px;display:none}.page-outline ol{margin:12px 0 0;padding:0;list-style:none}.page-outline__link{min-height:32px;color:var(--muted);align-items:center;gap:8px;font-size:1.125rem;display:flex}.page-outline__link.is-active,.page-outline__link:hover{color:var(--acid)}.page-outline__footer{gap:6px;margin-top:40px;font-size:1.0625rem;display:grid}.readme{padding:clamp(1.5rem,2vw,2.5rem) clamp(20px,2vw,32px) 64px;container:readme/inline-size}.readme__column,.readme__layout{flex-direction:column;gap:clamp(3.5rem,2.5rem + 3vw,5.5rem);display:flex}.readme__layout>.readme__column{display:contents}.readme__column>*{order:2;min-width:0}.readme__column>.readme__hero{order:0}.readme__rail{order:1;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));align-items:start;gap:32px;display:grid}@container readme (width>=52rem){.readme__layout{-moz-column-gap:clamp(24px,2cqi,32px);grid-template-columns:minmax(0,1fr) 16.5rem;align-items:start;column-gap:clamp(24px,2cqi,32px);display:grid}.readme__layout>.readme__column{display:flex}.readme__rail{scrollbar-width:thin;scrollbar-color:var(--line) transparent;max-height:calc(100dvh - 48px);position:sticky;top:24px;overflow-y:auto}}.readme__copy{font:700 1.5rem/1.25 var(--font-body);color:var(--editor-copy);max-width:62ch}.readme__label{letter-spacing:.06em;color:var(--muted);font-size:1.125rem}.readme__hero{flex-direction:column;gap:28px;display:flex}.readme__title{gap:14px;display:grid}.readme__summary{font:700 clamp(1.5rem,1.3rem + .5vw,1.875rem)/1.2 var(--font-body);color:var(--paper);max-width:44ch}.badges{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.badge{border:1px solid var(--editor-line);font-size:1.125rem;display:inline-flex}.badge span{padding:3px 8px}.badge span:first-child{background:var(--panel-deep);color:var(--editor-muted)}.badge span:last-child{color:var(--acid);background:#d5ff7014}.badge:nth-child(3n+2) span:last-child{color:var(--editor-cyan);background:#64dcff14}.badge:nth-child(3n) span:last-child{color:var(--editor-gold);background:#ffce7214}.tldr{background:var(--panel);gap:20px;padding:24px;display:grid}.readme__shot,.tldr{border:1px solid var(--editor-line)}.readme__shot{aspect-ratio:760/420;margin:0;overflow:hidden}.readme__shot img,.screen__slot img{-o-object-fit:cover;object-fit:cover;-o-object-position:top;object-position:top;width:100%;height:100%}.readme__shot a{height:100%;display:block;position:relative}.readme__shot-chip{background:var(--ink);color:var(--acid);border:1px solid var(--acid);letter-spacing:.04em;padding:8px 12px;position:absolute;bottom:12px;right:12px}.readme__shot a:hover .readme__shot-chip{background:var(--acid);color:var(--ink)}.readme__shot a:focus-visible{outline-offset:-4px}.readme__shot--yellow{background:#f8d864}.readme__shot--blue{background:#075d8a}.readme-section{flex-direction:column;gap:28px;scroll-margin-top:24px;transition:opacity .18s;display:flex}.is-dimmed{opacity:.25}.readme-section__heading{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px 12px;padding-bottom:14px;display:flex}.readme-section__hash{color:var(--muted)}.readme-section__heading h2{color:var(--paper);font:clamp(1.75rem,1.5rem + 1vw,2.5rem)/1.1 var(--font-display);flex:auto}.lens-tags{gap:8px;margin:0;padding:0;list-style:none;display:flex}.lens-tag{font:700 1.0625rem/1.2 var(--font-label);border:1px solid;flex-shrink:0;padding:1px 6px}.lens-tag--ux{color:var(--editor-gold)}.lens-tag--fe{color:var(--editor-cyan)}.lens-tag--fs{color:var(--acid)}.commit-log{border:1px solid var(--editor-line);background:var(--panel);margin:0;padding:0;list-style:none}.commit{flex-wrap:wrap;align-items:center;gap:6px 20px;padding:14px 20px;transition:opacity .18s;display:flex}.commit+.commit{border-top:1px solid var(--editor-line)}.commit__hash{color:var(--editor-gold)}.commit__stage{letter-spacing:.04em;min-width:5.5rem}.commit__title{font:700 1.5rem/1.2 var(--font-body);color:var(--paper);flex:14rem}.commit__jump{min-height:32px;color:var(--muted);align-items:center;gap:6px;display:inline-flex}.commit__jump:hover{color:var(--acid)}.problem{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:32px 40px;display:grid}.problem__statement{font:700 clamp(1.5rem,1.3rem + .5vw,1.875rem)/1.2 var(--font-body);color:var(--paper);margin-top:14px}.problem__list{font:700 1.375rem/1.25 var(--font-body);color:var(--editor-cyan);gap:10px;margin:12px 0 0;padding:0;list-style:none;display:grid}.problem__list li{gap:12px;display:flex}.diagram{border:1px solid var(--editor-line);background:var(--panel);flex-wrap:wrap;gap:12px 0;margin:0;padding:16px 20px;list-style:none}.diagram,.diagram__step{align-items:center;display:flex}.diagram__arrow{color:var(--muted);font:700 1.125rem/1 var(--font-label);white-space:nowrap;padding-inline:6px}.diagram__node{border:1px solid var(--acid);color:var(--paper);gap:6px;padding:12px;display:grid}.diagram__step:nth-child(2n) .diagram__node{border-color:var(--editor-cyan)}.diagram__label{font:700 1rem/1.2 var(--font-label);letter-spacing:.08em;color:var(--acid)}.diagram__step:nth-child(2n) .diagram__label{color:var(--editor-cyan)}.code-block{border:1px solid var(--editor-line);background:var(--panel);margin:0;padding:20px}.code-block figcaption{color:var(--editor-muted);margin-bottom:10px;font-size:1.125rem}.code-block pre{font:700 1.25rem/1.35 var(--font-label);color:var(--editor-cyan);margin:0;overflow-x:auto}.code-block code{font:inherit}.steps{background:var(--editor-line);grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));gap:1px;margin:0;padding:1px;list-style:none;display:grid}.step{background:var(--ink);align-content:start;gap:10px;padding:20px 18px;display:grid}.step:first-child{background:#1c211a}.step h3{color:var(--paper);font:1.625rem/1.15 var(--font-display)}.step p:last-child{font:700 1.25rem/1.25 var(--font-body)}.screens{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:24px 20px;display:grid}.screen{margin:0}.screen__slot{aspect-ratio:370/240;border:1px solid var(--editor-line);background:var(--panel);color:var(--muted);place-items:center;display:grid;overflow:hidden}.screen__slot--image{aspect-ratio:auto}.screen__slot--image img{-o-object-fit:contain;object-fit:contain;height:auto}.screen__slot.readme__shot--yellow{color:var(--ink);background:#f8d864}.screen__slot.readme__shot--blue{color:var(--paper);background:#075d8a}.screen figcaption{font:700 1.25rem/1.25 var(--font-body);gap:10px;margin-top:12px;display:flex}.stack-table{overflow-x:auto}.stack-table table{border-collapse:collapse;width:100%;font:700 1.25rem/1.3 var(--font-body)}.stack-table td,.stack-table th{border:1px solid var(--editor-line);text-align:left;padding:12px 16px;font-weight:700}.stack-table thead th{letter-spacing:.08em;color:var(--editor-muted);background:var(--panel-deep);font-size:1.0625rem}.stack-table tbody th{color:var(--paper);white-space:nowrap}.stack-table td:nth-child(2){color:var(--editor-gold)}.stack-table td:last-child{color:var(--editor-copy)}.changelog{font:700 1.25rem/1.3 var(--font-label);gap:10px;margin:0;padding:0;list-style:none;display:grid}.changelog li{gap:12px;display:flex}.changelog li>span:first-child{white-space:pre}.changelog .is-done{color:var(--paper)}.changelog .is-done>span:first-child{color:var(--acid)}.next-project{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 24px;padding:clamp(20px,3vw,32px);display:flex}.next-project>span:first-child{gap:8px;display:grid}.next-project__title{font:clamp(2rem,1.65rem + 1.25vw,3rem)/1.1 var(--font-display);overflow-wrap:anywhere}.next-project--yellow{color:var(--ink);background:#f8d864}.next-project--blue{color:var(--paper);background:#075d8a}.next-project:focus-visible{outline-offset:4px}.project-json{border:1px solid var(--editor-line);background:var(--panel)}.project-json__tab{color:var(--paper);border-top:2px solid var(--acid);border-bottom:1px solid var(--editor-line);background:var(--panel-deep);gap:10px;padding:10px 16px;display:flex}.project-json__code{color:var(--editor-muted);gap:6px;margin:0;padding:14px 16px;font-size:1.125rem;display:grid}.project-json__code:before{content:"{"}.project-json__code:after{content:"}"}.project-json__code div{flex-wrap:wrap;gap:0 8px;padding-left:14px;display:flex}.project-json__code dt{color:var(--editor-cyan)}.project-json__code dd{color:var(--editor-gold);overflow-wrap:anywhere;margin:0}.project-json__code dd span{color:var(--editor-muted)}.lens__toggle{background:var(--editor-line);grid-template-columns:repeat(2,1fr);gap:1px;margin-top:12px;padding:1px;display:grid}.lens__toggle button{background:var(--ink);min-height:44px;color:var(--muted);cursor:pointer;border:0}.lens__toggle button:hover{color:var(--paper)}.lens__toggle button[aria-pressed=true]{background:var(--acid);color:var(--ink)}.lens__toggle button:focus-visible{outline-offset:-4px}.lens__legend{font:700 1.125rem/1.25 var(--font-body);color:var(--editor-copy);gap:12px;margin:16px 0 0;padding:0;list-style:none;display:grid}.lens__legend li{justify-items:start;gap:6px;display:grid}.lens__note{font:700 1.0625rem/1.25 var(--font-body);color:var(--muted);margin-top:14px}.readme__links ul{margin:8px 0 0;padding:0;font-size:1.125rem;list-style:none}.readme__links a,.readme__links li>span{align-items:center;gap:10px;min-height:36px;display:inline-flex}.readme__links a{color:var(--paper)}.readme__links a:hover{color:var(--acid)}@media (width>=60rem){.site-header.case-study__bar{grid-template-columns:auto minmax(0,1fr) auto}.case-study .explorer{grid-row:1}.explorer__file-link.is-active{width:100%}.readme{grid-area:1/2}.page-outline{display:block}}.website-launch{background:var(--acid);width:100%;color:var(--ink);border:1px solid var(--acid);text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:24px;padding:clamp(22px,4vw,32px);text-decoration:none;transition:background .2s,color .2s;display:flex}.website-launch__copy{gap:12px;display:grid}.website-launch strong{font:700 clamp(1.75rem,3vw,2.75rem)/1.1 var(--font-body)}.website-launch .pixel-label{font-size:1rem}.website-launch__arrow{flex:none;transition:transform .24s cubic-bezier(.16,1,.3,1)}.website-launch:hover{background:var(--ink);color:var(--acid)}.website-launch:hover .website-launch__arrow{transform:translate(4px,-4px)}.website-launch:focus-visible{outline:2px solid var(--acid);outline-offset:5px}@media (prefers-reduced-motion:reduce){.website-launch,.website-launch__arrow{transition:none}.website-launch:hover .website-launch__arrow{transform:none}}.tldr .readme__copy{text-wrap:pretty;max-width:none}.readme__summary{text-wrap:pretty;max-width:65ch}.screenshot-zoom{cursor:pointer;background:0 0;border:0;width:100%;padding:0;display:block;position:relative}.screenshot-zoom__hint{color:var(--acid);background:var(--ink);border:1px solid var(--acid);padding:8px 10px;font-size:.875rem;position:absolute;bottom:10px;right:10px}.screenshot-zoom:focus-visible{outline:2px solid var(--acid);outline-offset:-2px}.screenshot-dialog{border:1px solid var(--acid);width:min(94vw,1600px);height:90dvh;max-height:90dvh;color:var(--paper);background:var(--ink);margin:auto;padding:clamp(12px,1.5vw,24px);overflow:hidden}.screenshot-dialog::backdrop{background:#000b}.screenshot-dialog__bar{grid-column:1/-1;justify-content:space-between;align-items:center;gap:20px;margin-bottom:0;display:flex}.screenshot-dialog__bar p{font-size:1rem}.screenshot-dialog__bar button{border:1px solid var(--acid);color:var(--acid);background:var(--ink);cursor:pointer;flex-shrink:0;padding:10px 16px}.screenshot-dialog[open]{grid-template-rows:auto minmax(12rem,1fr) auto;grid-template-columns:minmax(0,1fr);gap:12px;display:grid;overflow-y:auto}@media (width>=60rem){.screenshot-dialog[open]{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(240px,25%);gap:20px}}.screenshot-dialog__image{min-width:0;min-height:0}.screenshot-dialog__image img{-o-object-fit:contain;object-fit:contain;width:100%;height:100%;display:block}.screenshot-dialog__copy{align-self:center}@media (hover:hover){.screenshot-zoom:hover{outline:2px solid var(--acid);outline-offset:-2px}.screenshot-zoom:hover .screenshot-zoom__hint{background:var(--acid);color:var(--ink)}}.screenshot-dialog__description{max-width:none;color:var(--paper);margin:12px 0 0;font-size:clamp(1rem,1.2vw,1.25rem);line-height:1.5}.screenshot-dialog__summary{color:var(--acid);margin:0;font-size:1.125rem;line-height:1.4}.case-study-demo{margin:0}.case-study-demo video{aspect-ratio:16/9;background:var(--ink);border:1px solid var(--editor-line);-o-object-fit:contain;object-fit:contain;width:100%;max-height:75dvh;display:block}.case-study-demo figcaption{color:var(--editor-muted);margin-top:12px;font-size:1rem;line-height:1.5}.demo-use-cases{grid-template-columns:minmax(0,1fr)}@container readme (width>=40rem){.demo-use-cases{grid-template-columns:repeat(2,minmax(0,1fr))}}.demo-use-cases .step p+p{margin-top:12px}.project-card__trace{pointer-events:none;width:205px;position:absolute;bottom:-65px;right:-18px}.demo-player{border:1px solid var(--editor-line);background:var(--ink);color:var(--paper)}.demo-player__header{border-bottom:1px solid var(--editor-line);justify-content:space-between;gap:16px;padding:14px 18px;font-size:.875rem;display:flex}.demo-player__status{color:var(--acid)}.demo-player__screen{grid-template-columns:minmax(0,1fr);place-items:center;min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}.case-study-demo .demo-player video{-o-object-position:center;object-position:center;border:0;width:100%;min-width:0;max-width:100%;max-height:70dvh;margin:0}.demo-player__start{border:1px solid var(--acid);background:var(--ink);color:var(--acid);cursor:pointer;padding:16px 24px;position:absolute;box-shadow:5px 5px #0006}.demo-player__controls{border-top:1px solid var(--editor-line);padding:16px 18px}.demo-player__seek{appearance:none;background:linear-gradient(to right,var(--acid) var(--progress),var(--editor-line) var(--progress));cursor:pointer;border-radius:0;width:100%;height:8px;margin:4px 0 18px;display:block}.demo-player__seek::-webkit-slider-thumb{appearance:none;background:var(--acid);border:1px solid var(--ink);border-radius:0;width:12px;height:16px}.demo-player__seek::-moz-range-thumb{background:var(--acid);border:1px solid var(--ink);border-radius:0;width:12px;height:16px}.demo-player__toolbar{flex-wrap:wrap;align-items:center;gap:16px;font-size:.875rem;display:flex}.demo-player button{min-height:40px}.demo-player__toolbar button{border:1px solid var(--editor-line);color:var(--acid);cursor:pointer;background:0 0;padding:8px 12px}.demo-player button:hover{background:var(--acid);color:var(--ink)}.demo-player__audio{align-items:center;gap:12px;margin-left:auto;display:flex}.demo-player__audio input{width:80px;accent-color:var(--acid)}.demo-player__time{font-variant-numeric:tabular-nums}.demo-player:fullscreen{flex-direction:column;padding:12px;display:flex}.demo-player:fullscreen .demo-player__screen{flex:1;overflow:hidden}.demo-player:fullscreen video{height:100%;max-height:100%}@media (width<=43rem){.demo-player__audio{margin-left:0}.demo-player__toolbar{gap:8px}.demo-player__audio input{width:60px}}.case-study-demo .demo-player video{width:calc(100% + var(--video-trim,0%));max-width:none;margin-left:calc(var(--video-trim,0%)*-1);justify-self:start}.demo-player video{cursor:pointer}.demo-player video:focus-visible{outline:2px solid var(--acid);outline-offset:-2px}.experience-heading{justify-content:space-between;align-items:center}.experience__resume{border:1px solid var(--acid);color:var(--acid);align-items:center;gap:16px;padding:12px 16px;display:inline-flex}.experience__resume:hover{background:var(--acid);color:var(--ink)}.explorer-disclosure__toggle{width:100%;min-height:44px;color:var(--acid);text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:8px 0;display:flex}.explorer-disclosure__panel{display:none}.explorer-disclosure__panel.is-expanded{display:block}@media (width>=60rem){.explorer-disclosure__toggle{display:none}.explorer-disclosure__panel{display:block}}.experience-editor__tab,.experience__layout>*,.readme__layout>*,.readme__rail>*,.screenshot-dialog__bar>p,.website-launch__copy{min-width:0}.contact-dialog__breadcrumb,.demo-player__header,.experience-editor__breadcrumb,.experience-editor__tab,.lens-tags{flex-wrap:wrap}.badge,.case-study__crumbs,.demo-player__header,.diagram__node,.experience-editor__tab,.readme__label,.website-launch__copy{overflow-wrap:anywhere}.hero__cta{gap:clamp(12px,3vw,24px);max-width:100%;padding-inline:clamp(12px,3vw,22px)}.experience__resume svg,.hero__cta span{flex-shrink:0}.readme{padding-inline:clamp(12px,2vw,32px)}.tldr{padding:clamp(12px,2vw,24px)}.experience-editor .experience__entry{grid-template-columns:clamp(20px,3vw,44px) minmax(0,1fr);gap:clamp(6px,1vw,14px)}.experience__entry-body{overflow-wrap:anywhere;padding-left:clamp(8px,1.2vw,16px)}.toolkit-projects{margin-left:clamp(36px,6vw,74px)}.commit__jump,.contact-dialog__fields a,.demo-player button,.page-outline__link,.readme__links a,.screenshot-dialog__bar button{min-height:44px}.screenshot-dialog__copy{overflow-wrap:anywhere;min-width:0}.screenshot-dialog__bar{align-items:flex-start}.demo-player__seek{background-position:50%;background-repeat:no-repeat;background-size:100% 8px;height:44px;margin:0 0 8px}.portfolio{max-width:1800px;margin-inline:auto}body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom)}.project-card>h3,.project-card>p{z-index:1;position:relative}@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-outline-style{syntax:"*";inherits:false;initial-value:solid}@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}
