@import url(https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&family=Source+Sans+3:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap);@import url(https://fonts.googleapis.com/css2?family=Press+Start+2P&family=VT323&display=swap);
/*
! tailwindcss v3.3.2 | MIT License | https://tailwindcss.com
*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}html{-webkit-text-size-adjust:100%;-webkit-font-feature-settings:normal;font-feature-settings:normal;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}:root{--color-bg:#0d1117;--color-bg-panel:#161b22;--color-bg-card:#21262d;--color-accent:#6a9ae6;--color-accent-glow:#7fb6f4;--color-green:#3ddc84;--color-amber:#ffd166;--color-text:#e6edf3;--color-muted:#8b949e;--color-crt:#0a1628;--color-scanline:rgba(0,0,0,.08)}html[data-portfolio=classic]{--color-background:#f3efe7;--color-surface:#faf8f3;--color-muted:#5c574e;--color-text:#161412;--color-accent:#1e4a8a;--color-accent-hover:#16386b;--color-accent-subtle:#d5e0f0;--color-rule:#d8d1c6;--color-dark:#1c1916}html[data-portfolio=retro]{--color-bg:#06070a;--color-bg-panel:#10131a;--color-bg-card:#181c26;--color-accent:#62c0ff;--color-accent-glow:#a8e0ff;--color-green:#3dff8a;--color-amber:#ffc857;--color-text:#dff7e8;--color-muted:#7d9188;--color-crt:#04140c;--color-scanline:rgba(0,0,0,.28)}html{scroll-behavior:smooth}html[data-portfolio=retro] body{background-color:#0d1117;background-color:var(--color-bg);font-family:VT323,monospace;font-size:20px}html[data-portfolio=classic] body,html[data-portfolio=retro] body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#e6edf3;color:var(--color-text)}html[data-portfolio=classic] body{background-color:var(--color-background);font-family:Source Sans\ 3,system-ui,sans-serif;font-size:17px;line-height:1.55}html[data-portfolio=classic] ::selection{background:var(--color-accent-subtle);color:#e6edf3;color:var(--color-text)}html[data-portfolio=classic] :focus-visible{outline:2px solid #6a9ae6;outline:2px solid var(--color-accent);outline-offset:3px}html[data-portfolio=classic] :focus:not(:focus-visible){outline:none}html[data-portfolio=classic] [id]{scroll-margin-top:6rem}html[data-portfolio=classic] li,html[data-portfolio=retro] li{cursor:pointer}html[data-portfolio=retro] :focus-visible{outline:2px solid #3ddc84;outline:2px solid var(--color-green);outline-offset:3px}html[data-portfolio=retro] :focus:not(:focus-visible){outline:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::-webkit-backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.pixel-heading{font-family:VT323,monospace;font-size:1.875rem;line-height:2.25rem;line-height:1.25}@media (min-width:640px){.pixel-heading{font-size:2.25rem;line-height:2.5rem}}.section-label{color:#6a9ae6;color:var(--color-accent);font-family:VT323,monospace;font-size:1.25rem;letter-spacing:.1em;line-height:1.75rem;text-transform:uppercase}.crt-badge{color:#3ddc84;color:var(--color-green)}.crt-badge,.retro-label{font-family:VT323,monospace;font-size:1.125rem;letter-spacing:.025em;line-height:1.75rem;text-transform:uppercase}.retro-label{color:#8b949e;color:var(--color-muted)}.crt-screen{background:radial-gradient(ellipse at 50% 38%,#0c3a24 0,#062016 42%,#030a08 78%);border:6px solid #14161c;border-radius:22px 22px 28px 28px/16px 16px 34px 34px;box-shadow:inset 0 0 90px rgba(61,255,138,.07),inset 0 0 28px rgba(0,0,0,.7),0 0 18px rgba(61,255,138,.08);overflow:hidden;position:relative}.crt-screen.crt-ready{box-shadow:inset 0 0 90px rgba(255,200,87,.12),inset 0 0 28px rgba(0,0,0,.65),0 0 28px rgba(255,200,87,.22)}.crt-screen.crt-on{box-shadow:inset 0 0 100px rgba(61,255,138,.16),inset 0 0 24px rgba(98,192,255,.08),0 0 36px rgba(61,255,138,.28)}.crt-screen:before{-webkit-animation:scan-drift 8s linear infinite;animation:scan-drift 8s linear infinite;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.08) 0,rgba(0,0,0,.08) 3px);background:repeating-linear-gradient(0deg,transparent,transparent 2px,var(--color-scanline) 2px,var(--color-scanline) 3px);opacity:.75}.crt-screen:after,.crt-screen:before{content:"";inset:0;pointer-events:none;position:absolute;z-index:1}.crt-screen:after{background:radial-gradient(ellipse at center,transparent 52%,rgba(0,0,0,.45) 100%),linear-gradient(180deg,hsla(0,0%,100%,.06),transparent 18%,transparent 82%,rgba(0,0,0,.25))}.crt-content{padding:1rem;position:relative;z-index:10}@media (min-width:640px){.crt-content{padding:1.5rem}}.crt-content{--color-text:#e8ffe8;--color-muted:#b7d4c0;--color-accent-glow:#c4ecff;--color-green:#7dffb0;--color-amber:#ffe08a;color:#e6edf3;color:var(--color-text);text-shadow:0 0 8px rgba(61,255,138,.18)}.crt-content p{line-height:1.45}.retro-btn{align-items:center;background-color:#21262d;background-color:var(--color-bg-card);border-color:#6a9ae6;border-color:var(--color-accent);border-radius:.25rem;border-width:2px;box-shadow:4px 4px 0 rgba(106,154,230,.4);color:#6a9ae6;color:var(--color-accent);display:inline-flex;font-family:VT323,monospace;font-size:1.25rem;justify-content:center;line-height:1.75rem;padding:.75rem 1rem;text-transform:uppercase;transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.retro-btn:hover{--tw-translate-x:2px;--tw-translate-y:2px;box-shadow:2px 2px 0 rgba(106,154,230,.4)}.retro-btn:active,.retro-btn:hover{-webkit-transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.retro-btn:active{--tw-translate-x:4px;--tw-translate-y:4px;box-shadow:none}.retro-btn-active{background-color:#6a9ae6;background-color:var(--color-accent);box-shadow:2px 2px 0 rgba(106,154,230,.6);color:#0d1117;color:var(--color-bg)}.cartridge{cursor:pointer;position:relative;transition-duration:.2s;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;transition-timing-function:cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none;width:78px}.cartridge:hover{--tw-translate-y:-0.5rem}.cartridge-selected,.cartridge:hover{-webkit-transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cartridge-selected{--tw-translate-y:-1rem;--tw-scale-x:1.05;--tw-scale-y:1.05;-webkit-filter:drop-shadow(0 0 14px rgba(61,255,138,.55));filter:drop-shadow(0 0 14px rgba(61,255,138,.55))}.cartridge-inserted{-webkit-animation:cartridge-insert .6s ease-out forwards;animation:cartridge-insert .6s ease-out forwards;-webkit-filter:drop-shadow(0 0 16px rgba(255,200,87,.65));filter:drop-shadow(0 0 16px rgba(255,200,87,.65))}.cartridge-shell{border:2px solid rgba(0,0,0,.5);border-radius:7px 7px 2px 2px;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.28),inset 0 -10px 16px rgba(0,0,0,.28),0 5px 0 rgba(0,0,0,.45);height:118px;overflow:hidden;position:relative}.cartridge-shell:after{background:linear-gradient(105deg,transparent 20%,hsla(0,0%,100%,.16) 42%,transparent 58%);content:"";inset:0;pointer-events:none;position:absolute}.cartridge-contacts{background:linear-gradient(180deg,#7a5a14,#c9a227 55%,#e8c547);border-radius:0 0 4px 4px;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.25);display:flex;gap:2px;justify-content:center;padding:5px 3px 4px}.cartridge-contacts span{background:linear-gradient(180deg,#fff3c4,#d4a017);border-radius:1px;box-shadow:0 1px 0 rgba(0,0,0,.35);height:11px;width:4px}.console-body{background:linear-gradient(180deg,#2a2e38,#14161c);box-shadow:inset 0 2px 0 hsla(0,0%,100%,.08),inset 0 -10px 18px rgba(0,0,0,.4),0 16px 40px rgba(0,0,0,.55)}.tv-bezel{background:linear-gradient(160deg,#3a3e48,#1c1e24 42%,#0e1014);border:1px solid #4a4f5a;box-shadow:0 28px 60px rgba(0,0,0,.7),inset 0 2px 0 hsla(0,0%,100%,.14),inset 0 -12px 20px rgba(0,0,0,.45);position:relative}.arcade-marquee{background:linear-gradient(180deg,#3a2248,#1c1228);border:3px solid #c9a227;border-bottom:none;border-radius:10px 10px 0 0;color:#ffd166;color:var(--color-amber);font-family:VT323,monospace;letter-spacing:.22em;padding:.65rem 1rem .8rem;text-align:center;text-shadow:0 0 12px rgba(255,200,87,.55);text-transform:uppercase}.tv-screws{pointer-events:none}.tv-screws span{background:radial-gradient(circle at 35% 30%,#9aa0aa 0,#4a4e56 55%,#1c1e22 100%);border-radius:50%;box-shadow:0 1px 0 hsla(0,0%,100%,.25),inset 0 0 0 1px rgba(0,0,0,.4);height:10px;position:absolute;width:10px;z-index:2}.tv-screws span:first-child{left:10px;top:10px}.tv-screws span:nth-child(2){right:10px;top:10px}.tv-screws span:nth-child(3){bottom:10px;left:10px}.tv-screws span:nth-child(4){bottom:10px;right:10px}.pad-shell{background:linear-gradient(180deg,#2c313c,#16181e);border:2px solid #0b0c10;box-shadow:inset 0 3px 0 hsla(0,0%,100%,.08),0 18px 36px rgba(0,0,0,.55),0 6px 0 #0b0c10}.d-pad-well{background:#0a0b10;box-shadow:inset 0 4px 10px rgba(0,0,0,.7)}.cart-shelf{background:linear-gradient(180deg,#2a241c,#16130f);border:2px solid #3a3228;box-shadow:inset 0 2px 0 hsla(0,0%,100%,.06),0 12px 28px rgba(0,0,0,.45)}.controller-btn{align-items:center;border-radius:9999px;border-width:2px;box-shadow:0 4px 0 rgba(0,0,0,.4);display:flex;font-family:VT323,monospace;font-size:1.25rem;justify-content:center;line-height:1.75rem;transition-duration:.1s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.controller-btn:hover{--tw-brightness:brightness(1.1);-webkit-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: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)}.controller-btn-active,.controller-btn:active{--tw-translate-y:3px;box-shadow:0 1px 0 rgba(0,0,0,.4);-webkit-transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-x-1{left:.25rem;right:.25rem}.-left-20{left:-5rem}.-left-32{left:-8rem}.-right-32{right:-8rem}.-top-32{top:-8rem}.bottom-0{bottom:0}.bottom-\[25\%\]{bottom:25%}.bottom-\[30\%\]{bottom:30%}.bottom-\[5\%\]{bottom:5%}.bottom-\[8\%\]{bottom:8%}.left-0{left:0}.left-1\/4{left:25%}.left-2{left:.5rem}.left-\[0\%\]{left:0}.left-\[10\%\]{left:10%}.left-\[20\%\]{left:20%}.left-\[5\%\]{left:5%}.right-0{right:0}.right-2{right:.5rem}.right-\[0\%\]{right:0}.right-\[10\%\]{right:10%}.right-\[20\%\]{right:20%}.right-\[5\%\]{right:5%}.top-0{top:0}.top-1\/2{top:50%}.top-1\/4{top:25%}.top-\[30\%\]{top:30%}.top-\[35\%\]{top:35%}.top-\[5\%\]{top:5%}.top-\[8\%\]{top:8%}.z-50{z-index:50}.col-start-1{grid-column-start:1}.col-start-2{grid-column-start:2}.col-start-3{grid-column-start:3}.row-start-1{grid-row-start:1}.row-start-2{grid-row-start:2}.row-start-3{grid-row-start:3}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-10{margin-bottom:2.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-7{margin-bottom:1.75rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-14{margin-top:3.5rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-9{margin-top:2.25rem}.mt-auto{margin-top:auto}.line-clamp-2{-webkit-box-orient:vertical;-webkit-line-clamp:2;display:-webkit-box;overflow:hidden}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-32{height:8rem}.h-4{height:1rem}.h-44{height:11rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[300px\]{height:300px}.h-\[350px\]{height:350px}.h-\[400px\]{height:400px}.h-\[420px\]{height:420px}.h-\[500px\]{height:500px}.h-full{height:100%}.max-h-56{max-height:14rem}.max-h-72{max-height:18rem}.max-h-\[480px\]{max-height:480px}.max-h-full{max-height:100%}.min-h-\[280px\]{min-height:280px}.min-h-\[320px\]{min-height:320px}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-32{width:8rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-\[300px\]{width:300px}.w-\[350px\]{width:350px}.w-\[400px\]{width:400px}.w-\[500px\]{width:500px}.w-fit{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.w-full{width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1}.flex-shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y:-50%;-webkit-transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@-webkit-keyframes float{0%,to{-webkit-transform:translateY(0);transform:translateY(0)}50%{-webkit-transform:translateY(-8px);transform:translateY(-8px)}}@keyframes float{0%,to{-webkit-transform:translateY(0);transform:translateY(0)}50%{-webkit-transform:translateY(-8px);transform:translateY(-8px)}}.animate-\[float_6s_ease-in-out_infinite\]{-webkit-animation:float 6s ease-in-out infinite;animation:float 6s ease-in-out infinite}.animate-\[tv-power-on_0\.3s_ease-out\]{-webkit-animation:tv-power-on .3s ease-out;animation:tv-power-on .3s ease-out}@-webkit-keyframes pulse{50%{opacity:.5}}@keyframes pulse{50%{opacity:.5}}.animate-pulse{-webkit-animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[2\.4rem\]{border-radius:2.4rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-b{border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-b-2xl{border-bottom-left-radius:1rem;border-bottom-right-radius:1rem}.rounded-b-lg{border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-b-sm{border-bottom-left-radius:.125rem;border-bottom-right-radius:.125rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-\[\#2a2e36\]{--tw-border-opacity:1;border-color:rgb(42 46 54/var(--tw-border-opacity))}.border-\[\#30363d\]{--tw-border-opacity:1;border-color:rgb(48 54 61/var(--tw-border-opacity))}.border-\[\#484f58\]{--tw-border-opacity:1;border-color:rgb(72 79 88/var(--tw-border-opacity))}.border-\[\#56d364\]{--tw-border-opacity:1;border-color:rgb(86 211 100/var(--tw-border-opacity))}.border-\[\#7fb6f4\]{--tw-border-opacity:1;border-color:rgb(127 182 244/var(--tw-border-opacity))}.border-\[\#ff7b72\]{--tw-border-opacity:1;border-color:rgb(255 123 114/var(--tw-border-opacity))}.border-\[\#ffe082\]{--tw-border-opacity:1;border-color:rgb(255 224 130/var(--tw-border-opacity))}.border-\[var\(--color-accent\)\]{border-color:#6a9ae6;border-color:var(--color-accent)}.border-\[var\(--color-green\)\]{border-color:#3ddc84;border-color:var(--color-green)}.border-\[var\(--color-rule\)\]{border-color:var(--color-rule)}.border-black\/20{border-color:rgba(0,0,0,.2)}.border-white\/10{border-color:hsla(0,0%,100%,.1)}.border-white\/20{border-color:hsla(0,0%,100%,.2)}.bg-\[\#06070a\]{--tw-bg-opacity:1;background-color:rgb(6 7 10/var(--tw-bg-opacity))}.bg-\[\#1a1c22\]{--tw-bg-opacity:1;background-color:rgb(26 28 34/var(--tw-bg-opacity))}.bg-\[\#2a2e36\]{--tw-bg-opacity:1;background-color:rgb(42 46 54/var(--tw-bg-opacity))}.bg-\[\#30363d\]{--tw-bg-opacity:1;background-color:rgb(48 54 61/var(--tw-bg-opacity))}.bg-\[\#3ddc84\]{--tw-bg-opacity:1;background-color:rgb(61 220 132/var(--tw-bg-opacity))}.bg-\[\#484f58\]{--tw-bg-opacity:1;background-color:rgb(72 79 88/var(--tw-bg-opacity))}.bg-\[\#6a9ae6\]{--tw-bg-opacity:1;background-color:rgb(106 154 230/var(--tw-bg-opacity))}.bg-\[\#6a9ae6\]\/10{background-color:rgba(106,154,230,.1)}.bg-\[\#6a9ae6\]\/20{background-color:rgba(106,154,230,.2)}.bg-\[\#8fb6d3\]\/25{background-color:rgba(143,182,211,.25)}.bg-\[\#c9a227\]\/40{background-color:rgba(201,162,39,.4)}.bg-\[\#dbe5f9\]\/40{background-color:rgba(219,229,249,.4)}.bg-\[\#e5534b\]{--tw-bg-opacity:1;background-color:rgb(229 83 75/var(--tw-bg-opacity))}.bg-\[\#f4ead4\]{--tw-bg-opacity:1;background-color:rgb(244 234 212/var(--tw-bg-opacity))}.bg-\[\#ffd166\]{--tw-bg-opacity:1;background-color:rgb(255 209 102/var(--tw-bg-opacity))}.bg-\[var\(--color-accent\)\]{background-color:#6a9ae6;background-color:var(--color-accent)}.bg-\[var\(--color-amber\)\]{background-color:#ffd166;background-color:var(--color-amber)}.bg-\[var\(--color-bg\)\]{background-color:#0d1117;background-color:var(--color-bg)}.bg-\[var\(--color-bg-card\)\]{background-color:#21262d;background-color:var(--color-bg-card)}.bg-\[var\(--color-bg-panel\)\]{background-color:#161b22;background-color:var(--color-bg-panel)}.bg-\[var\(--color-green\)\]{background-color:#3ddc84;background-color:var(--color-green)}.bg-\[var\(--color-surface\)\]{background-color:var(--color-surface)}.bg-black\/20{background-color:rgba(0,0,0,.2)}.bg-black\/25{background-color:rgba(0,0,0,.25)}.bg-black\/30{background-color:rgba(0,0,0,.3)}.bg-black\/40{background-color:rgba(0,0,0,.4)}.bg-white\/10{background-color:hsla(0,0%,100%,.1)}.bg-white\/20{background-color:hsla(0,0%,100%,.2)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.object-top{object-position:top}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.py-0{padding-bottom:0;padding-top:0}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.py-12{padding-bottom:3rem;padding-top:3rem}.py-16{padding-bottom:4rem;padding-top:4rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-20{padding-bottom:5rem;padding-top:5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-8{padding-bottom:2rem;padding-top:2rem}.py-9{padding-bottom:2.25rem;padding-top:2.25rem}.pb-1{padding-bottom:.25rem}.pb-10{padding-bottom:2.5rem}.pb-16{padding-bottom:4rem}.pb-2{padding-bottom:.5rem}.pl-2{padding-left:.5rem}.pt-24{padding-top:6rem}.pt-28{padding-top:7rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-display{font-family:Fraunces,Georgia,serif}.font-vt323{font-family:VT323,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-\[0\.16em\]{letter-spacing:.16em}.tracking-\[0\.18em\]{letter-spacing:.18em}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-widest{letter-spacing:.1em}.text-\[var\(--color-accent\)\]{color:#6a9ae6;color:var(--color-accent)}.text-\[var\(--color-accent-glow\)\]{color:#7fb6f4;color:var(--color-accent-glow)}.text-\[var\(--color-amber\)\]{color:#ffd166;color:var(--color-amber)}.text-\[var\(--color-bg\)\]{color:#0d1117;color:var(--color-bg)}.text-\[var\(--color-green\)\]{color:#3ddc84;color:var(--color-green)}.text-\[var\(--color-muted\)\]{color:#8b949e;color:var(--color-muted)}.text-\[var\(--color-text\)\]{color:#e6edf3;color:var(--color-text)}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-white\/70{color:hsla(0,0%,100%,.7)}.text-white\/75{color:hsla(0,0%,100%,.75)}.text-white\/80{color:hsla(0,0%,100%,.8)}.text-white\/90{color:hsla(0,0%,100%,.9)}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.shadow-\[0_0_10px_rgba\(61\2c 255\2c 138\2c 0\.35\)\]{--tw-shadow:0 0 10px rgba(61,255,138,.35);--tw-shadow-colored:0 0 10px var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_8px_var\(--color-amber\)\]{--tw-shadow:0 0 8px var(--color-amber);--tw-shadow-colored:0 0 8px var(--tw-shadow-color)}.shadow-\[0_0_8px_var\(--color-amber\)\],.shadow-\[0_0_8px_var\(--color-green\)\]{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_8px_var\(--color-green\)\]{--tw-shadow:0 0 8px var(--color-green);--tw-shadow-colored:0 0 8px var(--tw-shadow-color)}.shadow-\[inset_0_0_20px_rgba\(61\2c 255\2c 138\2c 0\.35\)\]{--tw-shadow:inset 0 0 20px rgba(61,255,138,.35);--tw-shadow-colored:inset 0 0 20px var(--tw-shadow-color)}.shadow-\[inset_0_0_20px_rgba\(61\2c 255\2c 138\2c 0\.35\)\],.shadow-sm{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0,0,0,.1)) drop-shadow(0 1px 1px rgba(0,0,0,.06))}.drop-shadow,.filter{-webkit-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: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)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.backdrop-blur-md,.backdrop-blur-sm{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150,.transition-transform{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@-webkit-keyframes cartridge-insert{0%{opacity:.5;-webkit-transform:translateY(-20px);transform:translateY(-20px)}50%{-webkit-transform:translateY(8px);transform:translateY(8px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes cartridge-insert{0%{opacity:.5;-webkit-transform:translateY(-20px);transform:translateY(-20px)}50%{-webkit-transform:translateY(8px);transform:translateY(8px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@-webkit-keyframes tv-power-on{0%{opacity:.4;-webkit-transform:scaleY(.002);transform:scaleY(.002)}30%{opacity:1;-webkit-transform:scaleY(.002);transform:scaleY(.002)}to{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1)}}@keyframes tv-power-on{0%{opacity:.4;-webkit-transform:scaleY(.002);transform:scaleY(.002)}30%{opacity:1;-webkit-transform:scaleY(.002);transform:scaleY(.002)}to{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1)}}@-webkit-keyframes static-flicker{0%,to{opacity:.05}50%{opacity:.16}}@keyframes static-flicker{0%,to{opacity:.05}50%{opacity:.16}}@-webkit-keyframes scan-drift{0%{background-position:0 0}to{background-position:0 4px}}@keyframes scan-drift{0%{background-position:0 0}to{background-position:0 4px}}.tv-power-on{-webkit-animation:tv-power-on .5s ease-out forwards;animation:tv-power-on .5s ease-out forwards;-webkit-transform-origin:center;transform-origin:center}.blink{-webkit-animation:blink 1s step-end infinite;animation:blink 1s step-end infinite}.content-div{background-position:50%;background-repeat:no-repeat;background-size:cover;height:100%}.grid-floor{background-image:linear-gradient(rgba(61,255,138,.05) 1px,transparent 0),linear-gradient(90deg,rgba(61,255,138,.05) 1px,transparent 0);background-size:32px 32px}html[data-portfolio=classic] h1,html[data-portfolio=classic] h2,html[data-portfolio=classic] h3{font-family:Fraunces,Georgia,serif;font-optical-sizing:auto;font-variation-settings:"SOFT" 20,"WONK" 0;letter-spacing:-.02em;line-height:1.15}html[data-portfolio=classic] .skip-link{background-color:var(--color-dark);border-radius:.375rem;color:var(--color-background);font-size:.875rem;font-weight:600;left:1rem;line-height:1.25rem;padding:.5rem 1rem;position:absolute;top:-100%;z-index:100}html[data-portfolio=classic] .skip-link:focus{top:1rem}html[data-portfolio=classic] .nav-pill{background:var(--color-dark);border-radius:9999px;box-shadow:0 10px 28px -14px rgba(22,20,18,.5)}html[data-portfolio=classic] .nav-mobile-menu{background:var(--color-dark);border-radius:.75rem;box-shadow:0 16px 40px -20px rgba(22,20,18,.55)}html[data-portfolio=classic] .classic-nav{pointer-events:none}html[data-portfolio=classic] .classic-nav .nav-mobile-menu,html[data-portfolio=classic] .classic-nav .nav-pill,html[data-portfolio=classic] .classic-nav nav{pointer-events:auto}html[data-portfolio=classic] .btn-primary{--tw-text-opacity:1;align-items:center;background:#6a9ae6;background:var(--color-accent);border-radius:.375rem;color:rgb(255 255 255/var(--tw-text-opacity));display:inline-flex;font-size:.875rem;font-weight:600;gap:.5rem;justify-content:center;line-height:1.25rem;padding:.625rem 1.25rem;transition:background-color .22s ease-out,-webkit-transform .16s ease-out;transition:background-color .22s ease-out,transform .16s ease-out;transition:background-color .22s ease-out,transform .16s ease-out,-webkit-transform .16s ease-out}html[data-portfolio=classic] .btn-primary:hover{background:var(--color-accent-hover)}html[data-portfolio=classic] .btn-primary:active{-webkit-transform:translateY(1px);transform:translateY(1px)}html[data-portfolio=classic] .btn-secondary{align-items:center;background-color:initial;border-color:var(--color-rule);border-radius:.375rem;border-width:1px;color:#e6edf3;color:var(--color-text);display:inline-flex;font-size:.875rem;font-weight:600;justify-content:center;line-height:1.25rem;padding:.625rem 1.25rem;transition:border-color .22s ease-out,color .22s ease-out,-webkit-transform .16s ease-out;transition:border-color .22s ease-out,color .22s ease-out,transform .16s ease-out;transition:border-color .22s ease-out,color .22s ease-out,transform .16s ease-out,-webkit-transform .16s ease-out}html[data-portfolio=classic] .btn-secondary:hover{border-color:#6a9ae6;border-color:var(--color-accent);color:#6a9ae6;color:var(--color-accent)}html[data-portfolio=classic] .btn-secondary:active{-webkit-transform:translateY(1px);transform:translateY(1px)}html[data-portfolio=classic] .classic-link{color:#6a9ae6;color:var(--color-accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;transition:color .2s ease-out}html[data-portfolio=classic] .classic-link:hover{color:var(--color-accent-hover)}html[data-portfolio=classic] .project-card{background:var(--color-surface);border:1px solid var(--color-rule);border-radius:.5rem;color:#e6edf3;color:var(--color-text);display:flex;flex-direction:column;overflow:hidden;text-decoration-line:none;transition:border-color .28s ease-out,box-shadow .28s ease-out}html[data-portfolio=classic] a.project-card:focus-visible,html[data-portfolio=classic] a.project-card:hover{border-color:#6a9ae6;border-color:var(--color-accent);box-shadow:0 18px 36px -24px rgba(22,20,18,.4)}html[data-portfolio=classic] .project-card-shot{background:#e7e1d6;overflow:hidden;position:relative}html[data-portfolio=classic] .project-card-shot img{height:100%;object-fit:cover;object-position:top;transition:-webkit-transform .35s ease-out;transition:transform .35s ease-out;transition:transform .35s ease-out,-webkit-transform .35s ease-out;width:100%}html[data-portfolio=classic] a.project-card:focus-visible .project-card-shot img,html[data-portfolio=classic] a.project-card:hover .project-card-shot img{-webkit-transform:scale(1.03);transform:scale(1.03)}html[data-portfolio=classic] .tag-pill{border-color:var(--color-rule);border-radius:.375rem;border-width:1px;color:#8b949e;color:var(--color-muted);font-size:11px;font-weight:500;letter-spacing:.025em;padding:.125rem .5rem;text-transform:uppercase}html[data-portfolio=classic] .classic-input{background-color:var(--color-surface);border-color:var(--color-rule);border-radius:.375rem;border-width:1px;color:#e6edf3;color:var(--color-text);font-size:.875rem;line-height:1.25rem;outline:2px solid transparent;outline-offset:2px;padding:.75rem 1rem;transition:border-color .2s ease-out,box-shadow .2s ease-out;width:100%}html[data-portfolio=classic] .classic-input:focus{border-color:#6a9ae6;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-subtle)}.portfolio-switch{align-items:center;border-radius:9999px;border-width:1px;display:inline-flex;font-size:.75rem;font-weight:600;gap:.5rem;letter-spacing:.025em;line-height:1rem;padding:.375rem .75rem;text-transform:uppercase;transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}html[data-portfolio=retro] .portfolio-switch{--tw-border-opacity:1;background-color:#21262d;background-color:var(--color-bg-card);border-color:rgb(72 79 88/var(--tw-border-opacity));color:#8b949e;color:var(--color-muted)}html[data-portfolio=classic] .portfolio-switch{--tw-text-opacity:1;background-color:hsla(0,0%,100%,.1);border-color:hsla(0,0%,100%,.15);color:rgb(255 255 255/var(--tw-text-opacity))}.portfolio-switch-track{background-color:rgba(0,0,0,.2);border-radius:9999px;height:1.25rem;position:relative;width:2.25rem}html[data-portfolio=retro] .portfolio-switch-track{--tw-bg-opacity:1;background-color:rgb(72 79 88/var(--tw-bg-opacity))}.portfolio-switch-thumb{background-color:#6a9ae6;background-color:var(--color-accent);border-radius:9999px;height:1rem;position:absolute;top:.125rem;transition-duration:.2s;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;transition-timing-function:cubic-bezier(.4,0,.2,1);width:1rem}.portfolio-switch-thumb.is-classic{left:.125rem}.portfolio-switch-thumb.is-retro{left:18px}html[data-portfolio=classic] .contact-card{border-radius:.5rem;padding:1.5rem}@media (min-width:640px){html[data-portfolio=classic] .contact-card{padding:2rem}}html[data-portfolio=classic] .contact-card{background:var(--color-surface);border:1px solid var(--color-rule)}html[data-portfolio=classic] .contact-label{color:#e6edf3;color:var(--color-text);font-size:.875rem;font-weight:500;line-height:1.25rem}html[data-portfolio=classic] .social-btn-classic{align-items:center;background:var(--color-surface);border-color:#e6edf3;border-color:var(--color-text);border-radius:.375rem;border-width:1px;color:#e6edf3;color:var(--color-text);display:inline-flex;font-size:.875rem;font-weight:600;gap:.5rem;line-height:1.25rem;padding:.625rem 1rem;transition:border-color .2s ease-out,color .2s ease-out,background-color .2s ease-out}html[data-portfolio=classic] .social-btn-classic:focus-visible,html[data-portfolio=classic] .social-btn-classic:hover{border-color:#6a9ae6;border-color:var(--color-accent);color:#6a9ae6;color:var(--color-accent)}html[data-portfolio=classic] .social-btn-classic-compact{--tw-text-opacity:1;align-items:center;background:hsla(0,0%,100%,.1);border-color:hsla(0,0%,100%,.28);border-radius:.375rem;border-width:1px;color:rgb(255 255 255/var(--tw-text-opacity));display:inline-flex;font-size:.75rem;font-weight:600;gap:.375rem;line-height:1rem;padding:.375rem .5rem}html[data-portfolio=classic] .social-btn-classic-compact:focus-visible,html[data-portfolio=classic] .social-btn-classic-compact:hover{background:hsla(0,0%,100%,.16);border-color:hsla(0,0%,100%,.7)}.social-btn-retro{align-items:center;background:rgba(61,255,138,.12);border-color:#3ddc84;border-color:var(--color-green);border-radius:.25rem;border-width:2px;box-shadow:0 0 12px rgba(61,255,138,.2);color:#3ddc84;color:var(--color-green);display:inline-flex;font-family:VT323,monospace;font-size:1.25rem;gap:.5rem;line-height:1.75rem;padding:.5rem 1rem;text-transform:uppercase}.social-btn-retro:focus-visible,.social-btn-retro:hover{background:#3ddc84;background:var(--color-green);color:#0d1117;color:var(--color-bg)}.social-btn-retro-compact{font-size:1.125rem;line-height:1.75rem;padding:.375rem .625rem}.inventory-tile-active{background:rgba(61,255,138,.1)!important;border-color:#3ddc84!important;border-color:var(--color-green)!important;box-shadow:0 0 0 1px #3ddc84,0 0 18px rgba(61,255,138,.35);box-shadow:0 0 0 1px var(--color-green),0 0 18px rgba(61,255,138,.35)}html[data-portfolio=classic] .classic-tag{background:var(--color-surface);border-color:var(--color-rule);border-radius:.375rem;border-width:1px;color:#8b949e;color:var(--color-muted);font-size:.75rem;font-weight:500;line-height:1rem;padding:.25rem .625rem}html[data-portfolio=classic] .stack-panel{background:var(--color-surface);border:1px solid var(--color-rule);border-radius:.5rem;overflow:hidden}html[data-portfolio=classic] .stack-panel-chrome{align-items:center;background:#ebe6dc;border-bottom-width:1px;border-color:var(--color-rule);color:#8b949e;color:var(--color-muted);display:flex;font-size:11px;font-weight:600;justify-content:space-between;letter-spacing:.16em;padding:.5rem .875rem;text-transform:uppercase}html[data-portfolio=classic] .stack-chip{align-items:center;background:var(--color-background);border-color:var(--color-rule);border-radius:.375rem;border-width:1px;color:#e6edf3;color:var(--color-text);display:inline-flex;font-size:.875rem;font-weight:500;gap:.375rem;line-height:1.25rem;padding:.375rem .625rem;transition:border-color .2s ease-out,background-color .2s ease-out}html[data-portfolio=classic] .stack-chip:hover{border-color:#6a9ae6;border-color:var(--color-accent)}html[data-portfolio=classic] .stack-chip[aria-pressed=true]{background:var(--color-accent-subtle);border-color:#6a9ae6;border-color:var(--color-accent)}html[data-portfolio=classic] .work-reveal{-webkit-animation:classic-rise .42s ease-out both;animation:classic-rise .42s ease-out both}html[data-portfolio=classic] .shot-frame{background:var(--color-surface);border:1px solid var(--color-rule);border-radius:.5rem;overflow:hidden}@-webkit-keyframes classic-rise{0%{opacity:0;-webkit-transform:translateY(12px);transform:translateY(12px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes classic-rise{0%{opacity:0;-webkit-transform:translateY(12px);transform:translateY(12px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@media (prefers-reduced-motion:reduce){html[data-portfolio=classic] .project-card-shot img,html[data-portfolio=classic] .work-reveal{-webkit-animation:none;animation:none;transition:none}html[data-portfolio=classic] a.project-card:focus-visible .project-card-shot img,html[data-portfolio=classic] a.project-card:hover .project-card-shot img{-webkit-transform:none;transform:none}html[data-portfolio=retro] .blink,html[data-portfolio=retro] .cartridge-inserted,html[data-portfolio=retro] .crt-screen:before,html[data-portfolio=retro] .tv-power-on{-webkit-animation:none;animation:none}}.placeholder\:text-\[var\(--color-muted\)\]::-webkit-input-placeholder{color:#8b949e;color:var(--color-muted)}.placeholder\:text-\[var\(--color-muted\)\]::placeholder{color:#8b949e;color:var(--color-muted)}.hover\:border-\[var\(--color-accent\)\]:hover{border-color:#6a9ae6;border-color:var(--color-accent)}.hover\:text-\[var\(--color-accent\)\]:hover{color:#6a9ae6;color:var(--color-accent)}.hover\:text-\[var\(--color-green\)\]:hover{color:#3ddc84;color:var(--color-green)}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.hover\:opacity-100:hover{opacity:1}.focus\:border-\[var\(--color-green\)\]:focus{border-color:#3ddc84;border-color:var(--color-green)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:translate-x-1{--tw-translate-x:0.25rem}.group:hover .group-hover\:scale-\[1\.02\],.group:hover .group-hover\:translate-x-1{-webkit-transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-\[1\.02\]{--tw-scale-x:1.02;--tw-scale-y:1.02}.group:hover .group-hover\:text-\[var\(--color-accent\)\]{color:#6a9ae6;color:var(--color-accent)}.group:hover .group-hover\:opacity-100{opacity:1}@media (min-width:640px){.sm\:block{display:block}.sm\:inline{display:inline}.sm\:flex{display:flex}.sm\:inline-flex{display:inline-flex}.sm\:hidden{display:none}.sm\:h-48{height:12rem}.sm\:h-56{height:14rem}.sm\:max-h-64{max-height:16rem}.sm\:max-h-80{max-height:20rem}.sm\:min-h-\[320px\]{min-height:320px}.sm\:min-h-\[340px\]{min-height:340px}.sm\:min-h-\[360px\]{min-height:360px}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-start{justify-content:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:gap-12{gap:3rem}.sm\:p-4{padding:1rem}.sm\:p-5{padding:1.25rem}.sm\:p-6{padding:1.5rem}.sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:py-16{padding-bottom:4rem;padding-top:4rem}.sm\:pb-12{padding-bottom:3rem}.sm\:pb-20{padding-bottom:5rem}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-6xl{font-size:3.75rem;line-height:1}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:768px){.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:py-20{padding-bottom:5rem;padding-top:5rem}.md\:py-24{padding-top:6rem}.md\:pb-24,.md\:py-24{padding-bottom:6rem}.md\:pt-10{padding-top:2.5rem}.md\:text-5xl{font-size:3rem;line-height:1}}@media (min-width:1024px){.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-\[1fr_1\.1fr\]{grid-template-columns:1fr 1.1fr}.lg\:grid-cols-\[minmax\(0\2c 1\.15fr\)_minmax\(0\2c 0\.85fr\)\]{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}.lg\:items-start{align-items:flex-start}.lg\:items-stretch{align-items:stretch}.lg\:gap-12{gap:3rem}.lg\:gap-16{gap:4rem}.lg\:gap-8{gap:2rem}.lg\:pt-10{padding-top:2.5rem}.lg\:text-7xl{font-size:4.5rem;line-height:1}.lg\:text-\[4\.75rem\]{font-size:4.75rem}.lg\:leading-\[1\.05\]{line-height:1.05}}@media (min-width:1280px){.xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}
/*# sourceMappingURL=main.a7bfcd77.css.map*/