*,: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: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::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: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Geist,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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{text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:Geist Mono,JetBrains Mono,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-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}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.hidden{display:none}.h-10{height:2.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.w-9{width:2.25rem}.transform{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))}.resize{resize:both}.items-center{align-items:center}.justify-center{justify-content:center}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:8px}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-white\/20{border-color:hsla(0,0%,100%,.2)}.bg-foreground{--tw-bg-opacity:1;background-color:rgb(237 237 239/var(--tw-bg-opacity,1))}.bg-transparent{background-color:transparent}.px-3{padding-left:.75rem;padding-right:.75rem}.px-8{padding-left:2rem;padding-right:2rem}.px-\[18px\]{padding-left:18px;padding-right:18px}.py-2{padding-top:.5rem;padding-bottom:.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.text-background{--tw-text-opacity:1;color:rgb(11 12 14/var(--tw-text-opacity,1))}.text-foreground{--tw-text-opacity:1;color:rgb(237 237 239/var(--tw-text-opacity,1))}.underline-offset-4{text-underline-offset:4px}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.blur{--tw-blur:blur(8px)}.blur,.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,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.ease-\[cubic-bezier\(0\.16\2c 1\2c 0\.3\2c 1\)\]{transition-timing-function:cubic-bezier(.16,1,.3,1)}:root{--bg:#000;--surface:#1a1b1e;--border:hsla(0,0%,100%,.28);--border-strong:hsla(0,0%,100%,.55);--border-hsl:0 0% 100%;--text:#ededef;--text-dim:#8b8d98;--text-faint:#5c5e68;--display:"Geist",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--mono:"Geist Mono","JetBrains Mono",ui-monospace,monospace;--ease:cubic-bezier(0.16,1,0.3,1)}@keyframes reveal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.hero-title{opacity:0;animation:reveal .7s var(--ease) forwards;animation-delay:40ms}@media (prefers-reduced-motion:reduce){.hero-title{animation:none;opacity:1}*{transition-duration:1ms!important;animation-duration:1ms!important}}*{box-sizing:border-box;margin:0;padding:0}body,html{background:var(--bg)}body{color:var(--text);font-family:var(--display);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.wrap{max-width:1080px;margin:0 auto;padding:0 48px}.nav,.wrap{position:relative}.nav{display:flex;align-items:center;padding:24px 0;margin-bottom:24px;z-index:40}.nav a[aria-label=Home]{display:block;padding:11px;margin:-11px}.nav-menu{margin-left:auto;display:flex;align-items:center;gap:18px;font-family:var(--mono);font-size:12px}.nav-menu-link{color:var(--text-dim);padding:8px 0;transition:color .15s ease}.nav-menu-link.is-active,.nav-menu-link:hover{color:var(--text)}@media (max-width:420px){.nav-menu{gap:14px;font-size:11px}}.nav-logo{flex:none;display:block;height:22px;width:22px}.nav-logo path{fill:var(--text)}.hero{padding:0}.hero-meta{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--text-faint);font-weight:500;margin-bottom:16px}.hero h1{font-weight:500}.hero h1,.hero-subtitle{font-family:var(--mono);font-size:13px;line-height:1.5;letter-spacing:.01em;max-width:560px}.hero-subtitle{margin-top:2px;font-weight:450;color:var(--text-dim)}.work-section{margin-top:56px}.bento-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:auto auto;gap:16px}.bento-large{grid-column:1;grid-row:1/3}.bento-wide{grid-column:2/4}@media (max-width:720px){.bento-grid{grid-template-columns:1fr}.bento-large,.bento-wide{grid-column:1;grid-row:auto}}.work-card{display:block;position:relative;border-radius:12px}.bento-large .work-thumb{height:100%;min-height:280px}.bento-regular .work-thumb{aspect-ratio:4/3}.bento-wide .work-thumb{aspect-ratio:16/7}.work-thumb{background:var(--surface);border:1px solid var(--border);border-radius:12px;position:relative;overflow:hidden;transition:border-color .2s ease,transform .2s ease}.work-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;transition:transform .2s ease}.work-card:hover .work-thumb{border-color:var(--border-strong);transition:border-color .5s var(--ease),transform .5s var(--ease);transform:translateY(-2px)}.work-card:hover .work-thumb img{transition:transform .6s var(--ease);transform:scale(1.03)}.work-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,12,14,.85),rgba(11,12,14,0) 30%);padding:16px;display:flex;align-items:flex-start;justify-content:space-between;opacity:0;transition:opacity .15s ease;pointer-events:none}.work-card:hover .work-overlay{opacity:1;transition:opacity .25s var(--ease) 60ms}.work-tag-mono{font-family:var(--mono);font-size:12px;color:var(--text-dim)}.work-title-sm{font-size:12px;font-weight:500;color:var(--text)}.nav-back{margin-left:auto;font-family:var(--mono);font-size:12px;color:var(--text-dim);transition:color .15s ease}.nav-back:hover{color:var(--text)}.work-list-section{margin-top:40px}.work-list{display:flex;flex-direction:column;border-top:1px solid var(--border)}.work-row{display:flex;align-items:center;gap:20px;padding:18px 4px;border-bottom:1px solid var(--border);opacity:0;animation:reveal .5s var(--ease) forwards;transition:padding-left .2s var(--ease),background .2s var(--ease)}.work-row:hover{padding-left:10px;background:hsla(0,0%,100%,.02)}.work-row-index{font-family:var(--mono);font-size:11px;color:var(--text-faint);width:20px;flex:none}.work-row-thumb{width:56px;height:42px;flex:none;border-radius:6px;overflow:hidden;background:var(--surface);border:1px solid var(--border)}.work-row-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.work-row-thumb-empty{background:var(--surface)}.work-row-title{flex:1;font-size:14px;font-weight:500}.work-row-tag{font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--text-dim)}.work-row-arrow{font-size:13px;color:var(--text-faint);transition:transform .2s var(--ease),color .2s ease}.work-row:hover .work-row-arrow{color:var(--text);transform:translate(2px,-2px)}@media (max-width:560px){.work-row-tag,.work-row-thumb{display:none}}.case-hero{margin-top:8px;max-width:640px}.case-tag{display:inline-block;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);border:1px solid var(--border);border-radius:100px;padding:5px 12px;margin-bottom:20px}.case-title{font-family:var(--display);font-weight:600;font-size:clamp(28px,4vw,38px);line-height:1.15;letter-spacing:-.02em}.case-description{margin-top:20px;font-size:15px;line-height:1.75;color:var(--text-dim)}.case-cover{margin-top:48px;border-radius:12px;overflow:hidden;border:1px solid var(--border);background:var(--surface);aspect-ratio:16/9;cursor:zoom-in;transition:border-color .2s ease}.case-cover:hover{border-color:var(--border-strong)}.case-cover img{width:100%;height:100%;display:block;-o-object-fit:cover;object-fit:cover}.case-gallery{margin-top:16px;display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.case-gallery-item{border-radius:12px;overflow:hidden;border:1px solid var(--border);background:var(--surface);aspect-ratio:4/3;cursor:zoom-in;transition:border-color .2s ease}.case-gallery-item:hover{border-color:var(--border-strong)}.case-gallery-item img{width:100%;height:100%;display:block;-o-object-fit:cover;object-fit:cover}@media (max-width:640px){.case-gallery{grid-template-columns:1fr}}.case-lightbox{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center;padding:48px;cursor:zoom-out;animation:caseLightboxIn .15s ease both}@keyframes caseLightboxIn{0%{opacity:0}to{opacity:1}}.case-lightbox-img{max-width:100%;max-height:100%;border-radius:8px;cursor:default;box-shadow:0 20px 60px rgba(0,0,0,.5)}.case-lightbox-close{position:absolute;top:20px;right:24px;background:transparent;border:none;color:var(--text);font-size:20px;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:100px;transition:background .15s ease}.case-lightbox-close:hover{background:hsla(0,0%,100%,.1)}.case-lightbox-arrow{position:absolute;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--text);font-size:22px;cursor:pointer;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:100px;transition:background .15s ease}.case-lightbox-arrow:hover{background:hsla(0,0%,100%,.1)}.case-lightbox-prev{left:12px}.case-lightbox-next{right:12px}.case-demo{margin-top:56px;padding-top:40px;border-top:1px solid var(--border)}.case-demo-heading{font-size:20px;font-weight:600;margin:0 0 8px}.case-demo-sub{color:var(--text-dim);font-size:14px;margin:0 0 24px;max-width:480px}.case-nav{margin-top:56px;padding-top:24px;border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:24px}.case-nav-link{display:flex;flex-direction:column;gap:6px;padding:4px 0;transition:transform .2s var(--ease)}.case-nav-prev{align-items:flex-start}.case-nav-next{align-items:flex-end;text-align:right}.case-nav-link:hover{transform:translateY(-2px)}.case-nav-label{font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--text-faint)}.case-nav-title{font-size:14px;font-weight:500;color:var(--text)}@media (max-width:560px){.case-nav-title{display:none}}.about-section{margin-top:40px;max-width:560px}.about-lede{font-size:18px;line-height:1.6;color:var(--text)}.about-body{margin-top:20px;font-size:14px;line-height:1.7;color:var(--text-dim)}.about-inline-link{color:var(--text);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--border-strong)}.about-inline-link:hover{text-decoration-color:var(--text)}.about-label{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);font-weight:500;margin-bottom:12px}.about-capabilities{margin-top:48px;padding-top:24px}.about-capability-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none}.about-capability-list li{font-size:13px;padding:6px 12px;border:1px solid var(--border);border-radius:100px;color:var(--text-dim)}.about-contact{margin-top:40px;padding-top:24px}.about-email{font-family:var(--mono);font-size:15px;color:var(--text);border-bottom:1px solid var(--border-strong);padding-bottom:2px;transition:border-color .15s ease,color .15s ease}.about-email:hover{border-color:var(--text)}.btn-outline{background:transparent;border:1px solid var(--border-strong);color:var(--text);font-size:13px;padding:9px 18px;border-radius:8px;cursor:pointer;display:inline-block;transition:border-color .2s var(--ease),background .2s var(--ease),transform .15s var(--ease)}.btn-outline:hover{background:hsla(0,0%,100%,.04);border-color:hsla(0,0%,100%,.4)}.btn-outline:active{transform:scale(.97);transition-duration:.1s}.sticker-stage{position:absolute;inset:0;pointer-events:none;z-index:30}.sticker{position:absolute;pointer-events:auto;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none;display:flex;align-items:center;justify-content:center;width:84px;height:84px;transition:transform .15s var(--ease);filter:drop-shadow(0 6px 14px rgba(0,0,0,.4))}.sticker-logo{width:44px;height:44px}.sticker-black img{border-radius:50%;border:1px solid #4a4a4a;box-sizing:border-box}.sticker:nth-of-type(3n+1){transform:rotate(-6deg)}.sticker:nth-of-type(3n+2){transform:rotate(5deg)}.sticker:nth-of-type(3n){transform:rotate(-3deg)}.sticker:active{cursor:grabbing;transform:scale(1.1) rotate(-4deg)!important}.sticker img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;pointer-events:none;animation:stickerFadeIn .26s var(--ease)}@keyframes stickerFadeIn{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.work-thumb.sticker-hover{border-color:hsla(0,0%,100%,.5)!important;transform:scale(1.02) rotate(-.5deg)}.page-body{display:grid}.page-body>*{grid-area:1/1;min-width:0}.home-ghost{visibility:hidden;pointer-events:none}.home-ghost-cards{width:100%;aspect-ratio:12.25/4.7}@media (max-width:815px){.home-ghost-cards{aspect-ratio:6.55/8.55}}.footer{padding:40px 0 72px;margin-top:56px;justify-content:space-between;font-family:var(--mono);font-size:12px;color:var(--text-faint);position:relative;z-index:40}.footer,.footer-logo-link{display:flex;align-items:center}.footer-logo-link:hover .footer-logo path{fill:var(--text)}.footer-logo{height:16px;width:16px;flex:none}.footer-logo path{fill:var(--text-faint)}.footer-links{display:flex;align-items:center;gap:20px}@media (max-width:420px){.footer{flex-wrap:wrap;gap:16px 12px}.footer-links{gap:14px}}.footer-links a{color:var(--text-dim);transition:color .15s ease}.footer-links a:hover{color:var(--text)}.footer-x{display:flex;align-items:center}html.retro-theme .retro-target{filter:grayscale(1) contrast(1.1) brightness(1.1)}html.retro-theme .work-thumb img,html.retro-theme img{image-rendering:pixelated}html.retro-theme .footer,html.retro-theme .hero-title,html.retro-theme .work-tag-mono,html.retro-theme .work-title-sm{font-family:"Press Start 2P",var(--mono),monospace!important;letter-spacing:0!important}html.retro-theme .hero-title{font-size:11px!important;line-height:1.9!important}html.retro-theme .footer,html.retro-theme .work-thumb{border-color:#e4e4e7}html.retro-theme .btn-outline,html.retro-theme button{image-rendering:pixelated}.retro-scanlines{position:fixed;inset:0;z-index:9999;pointer-events:none;background:repeating-linear-gradient(180deg,rgba(0,0,0,.18) 0,rgba(0,0,0,.18) 1px,transparent 2px,transparent 3px);animation:retroFlicker .12s steps(2) infinite}@keyframes retroFlicker{0%{opacity:.9}50%{opacity:1}to{opacity:.92}}.retro-toast{position:fixed;top:24px;left:50%;transform:translateX(-50%);z-index:10000;font-family:"Press Start 2P",var(--mono),monospace;font-size:12px;letter-spacing:.02em;color:#f4f4f5;background:#000;border:2px solid #f4f4f5;padding:12px 20px;box-shadow:0 0 0 4px #000,0 0 16px hsla(240,5%,96%,.5);animation:retroToastIn .2s steps(3) both}@keyframes retroToastIn{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.retro-play-button{position:fixed;bottom:24px;right:24px;z-index:9998;font-family:"Press Start 2P",var(--mono),monospace;font-size:11px;color:#f4f4f5;background:#000;border:2px solid #f4f4f5;padding:12px 16px;cursor:pointer;box-shadow:0 0 0 4px #000,0 0 16px hsla(240,5%,96%,.4);animation:retroToastIn .2s steps(3) both}.retro-play-button:hover{background:#1c1c1e}.retro-play-button:active{transform:translateY(1px)}.retro-game-backdrop{position:fixed;inset:0;z-index:10001;background:rgba(0,0,0,.88);display:flex;align-items:center;justify-content:center}.retro-game-frame{position:relative;background:#0a0a0b;border:3px solid #f4f4f5;box-shadow:0 0 0 6px #000,0 0 30px hsla(240,5%,96%,.4);padding:12px;display:flex;flex-direction:column;gap:8px}.retro-game-header{display:flex;align-items:center;justify-content:space-between}.retro-game-close,.retro-game-header{font-family:"Press Start 2P",var(--mono),monospace;font-size:11px;color:#f4f4f5}.retro-game-close{background:#000;border:1px solid #f4f4f5;padding:4px 8px;cursor:pointer}.retro-game-close:hover{background:#1c1c1e}.retro-game-canvas{display:block;image-rendering:pixelated}.retro-game-footer{justify-content:space-between;font-size:10px;color:#fff}.retro-game-footer,.retro-game-over{display:flex;font-family:"Press Start 2P",var(--mono),monospace}.retro-game-over{position:absolute;inset:44px 12px 32px 12px;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:rgba(0,0,0,.75);color:#f35;font-size:16px;text-align:center}.retro-game-over-sub{color:#f4f4f5;font-size:10px}.deal-section{margin-top:40px}.deal-hint{font-family:var(--mono);font-size:12px;letter-spacing:.02em;color:var(--text-dim);margin-bottom:28px}.deal{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;padding:20px 0 8px}@media (max-width:820px){.deal{grid-template-columns:repeat(2,1fr);gap:28px 18px}}.pc{perspective:1200px}.pc-card{transform:translateY(var(--lift)) rotate(var(--tilt));transition:transform .6s var(--ease)}.pc:focus-within .pc-card,.pc:hover .pc-card,.pc[data-flipped=true] .pc-card{transform:translateY(-10px) rotate(0deg)}.pc-inner{position:relative;aspect-ratio:5/7;transform-style:preserve-3d;transition:transform .8s var(--ease)}.pc:focus-within .pc-inner,.pc:hover .pc-inner,.pc[data-flipped=true] .pc-inner{transform:rotateY(180deg)}.pc-face{position:absolute;inset:0;border-radius:14px;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden;box-shadow:0 16px 34px rgba(0,0,0,.5),0 2px 6px rgba(0,0,0,.4)}.pc-cover{border:none;padding:7px;background:#f1ead8;cursor:pointer;font:inherit}.pc-art,.pc-cover{display:block;width:100%}.pc-art{position:relative;height:100%;border-radius:8px;background:radial-gradient(circle at 50% 50%,hsla(43,47%,90%,.1),transparent 62%),repeating-linear-gradient(45deg,hsla(43,47%,90%,.16) 0 1px,transparent 1px 10px),repeating-linear-gradient(-45deg,hsla(43,47%,90%,.16) 0 1px,transparent 1px 10px),#050506}.pc-art:before{content:"";position:absolute;inset:7px;border:1px solid hsla(43,47%,90%,.55);border-radius:5px}.pc-pip{position:absolute;width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:#050506;padding:3px;box-sizing:content-box}.pc-pip img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;opacity:.9}.pc-pip-mono{font-family:Playfair Display,Georgia,serif;font-weight:700;font-size:13px;line-height:1;color:hsla(43,47%,90%,.85)}.pc-pip-tl{top:12px;left:12px}.pc-pip-br{bottom:12px;right:12px;transform:rotate(180deg)}.pc-medal{position:absolute;top:50%;left:50%;width:44%;aspect-ratio:1;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center}.pc-logo{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;pointer-events:none;filter:drop-shadow(0 0 16px rgba(241,234,216,.16))}.pc-mono{font-family:Playfair Display,Georgia,serif;font-weight:700;font-size:clamp(26px,4.6vw,44px);line-height:1;color:#f1ead8;letter-spacing:-.02em}.pc-visual{transform:rotateY(180deg);background:#f1ead8;padding:7px}.pc-visual:before{content:"";background:#050506}.pc-img,.pc-visual:before{position:absolute;inset:7px;border-radius:8px}.pc-img{width:calc(100% - 14px);height:calc(100% - 14px);-o-object-fit:cover;object-fit:cover;display:block}.pc-shade{position:absolute;inset:7px;border-radius:8px;background:linear-gradient(180deg,rgba(8,10,14,.55),rgba(8,10,14,0) 26%,rgba(8,10,14,0) 52%,rgba(8,10,14,.85))}.pc-index{position:absolute;top:14px;left:15px;display:flex;flex-direction:column;align-items:center;gap:1px;color:#fff;font-family:Playfair Display,Georgia,serif;line-height:1;text-shadow:0 1px 6px rgba(0,0,0,.7);pointer-events:none}.pc-index-br{top:auto;left:auto;bottom:14px;right:15px;transform:rotate(180deg)}.pc-rank{font-size:19px;font-weight:700}.pc-info{position:absolute;left:18px;right:40px;bottom:16px;display:flex;flex-direction:column;gap:2px;pointer-events:none}.pc-info-tag{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:hsla(0,0%,100%,.72)}.pc-info-title{font-size:15px;font-weight:600;line-height:1.2;color:#fff}.pc-info-cta{margin-top:5px;font-family:var(--mono);font-size:11px;color:#fff;opacity:.85;white-space:nowrap}@media (max-width:480px){.pc-info{left:16px;right:30px;bottom:14px}.pc-info-title{font-size:13px}.pc-info-cta{font-size:10px}}.pc-link{position:absolute;inset:0;z-index:2;border-radius:14px}.pc-cover:focus-visible,.pc-link:focus-visible{outline:2px solid #f1ead8;outline-offset:3px}.pc-unflip{display:none;position:absolute;z-index:3;top:12px;right:12px;width:28px;height:28px;align-items:center;justify-content:center;border-radius:50%;border:1px solid hsla(0,0%,100%,.5);background:rgba(8,10,14,.55);color:#fff;font-size:15px;cursor:pointer}@media (hover:none){.pc-unflip{display:flex}}.pc-caption{display:flex;justify-content:space-between;gap:8px;margin-top:16px;font-family:var(--mono);font-size:11px;color:var(--text-dim)}.pc-caption span:first-child{color:var(--text)}.retro-game-backdrop{touch-action:none;overscroll-behavior:contain;padding:12px}.retro-game-canvas{max-width:calc(100vw - 54px);max-height:calc(100dvh - 300px);width:auto;height:auto;align-self:center}.retro-hint-touch,.retro-touch-pad{display:none}.retro-touch-pad{gap:8px;justify-content:center;padding-top:4px;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}.retro-touch-pad-row{grid-auto-flow:column;grid-auto-columns:1fr}.retro-touch-pad-dpad{grid-template-columns:repeat(3,56px);grid-template-rows:repeat(2,48px);grid-template-areas:". up ." "left down right"}.retro-pad-key{min-width:48px;min-height:48px;font-family:"Press Start 2P",var(--mono),monospace;font-size:14px;color:#f4f4f5;background:#000;border:2px solid #f4f4f5;box-shadow:0 3px 0 #f4f4f5;touch-action:none;-webkit-tap-highlight-color:transparent;cursor:pointer}.retro-pad-key-wide{font-size:10px;color:#f35;border-color:#f35;box-shadow:0 3px 0 #f35}.retro-pad-key:active{transform:translateY(3px);box-shadow:none;background:#1c1c1e}@media (hover:none) and (pointer:coarse){.retro-touch-pad{display:grid}.retro-hint-touch{display:inline}.retro-hint-key{display:none}.retro-game-over{cursor:pointer}}.pg-section{margin-top:40px}.pg-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.pg-box{position:relative;aspect-ratio:1;padding:0;overflow:hidden;border:1px solid var(--border,hsla(0,0%,100%,.12));border-radius:10px;background:var(--surface,#111);cursor:pointer;color:inherit;font:inherit;text-align:left;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:border-color .15s ease,transform .15s ease}@media (hover:hover){.pg-box:hover:not(:disabled){border-color:hsla(0,0%,100%,.4);transform:translateY(-2px)}}.pg-box:focus-visible{border-color:hsla(0,0%,100%,.4)}.pg-box-empty{cursor:default;border-style:dashed;display:flex;align-items:center;justify-content:center}.pg-soon{font-family:var(--mono);font-size:11px;color:var(--text-faint)}.pg-art,.pg-art svg{display:block;width:100%;height:100%;pointer-events:none}.pg-caption{position:absolute;inset:auto 0 0 0;padding:28px 10px 10px;background:linear-gradient(180deg,rgba(11,12,14,0),rgba(11,12,14,.92) 55%);font-family:var(--mono);font-size:11px;line-height:1.4;color:var(--text);opacity:0;transform:translateY(6px);transition:opacity .16s ease,transform .16s ease;pointer-events:none}@media (hover:hover){.pg-box:hover .pg-caption{opacity:1;transform:none}}.pg-box.is-peek .pg-caption{opacity:1;transform:none}.pg-peek{min-height:3em;margin:14px 0 0;display:none;font-family:var(--mono);font-size:12px;line-height:1.5;color:var(--text-dim)}@media (max-width:600px){.pg-grid{gap:8px}.pg-caption{display:none}.pg-peek{display:block}}.pg-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(0,0,0,.86);animation:pgFade .18s ease}.pg-expanded{margin:0;width:min(92vw,560px)}.pg-expanded .pg-art{aspect-ratio:1;border-radius:12px;overflow:hidden}.pg-expanded figcaption{margin-top:14px;font-family:var(--mono);font-size:12px;line-height:1.5;color:var(--text-dim)}.pg-close{position:absolute;top:16px;right:16px;width:44px;height:44px;border:0;border-radius:50%;background:hsla(0,0%,100%,.1);color:#fff;font-size:16px;cursor:pointer}@keyframes pgFade{0%{opacity:0}to{opacity:1}}.pg-video{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;pointer-events:none}.pg-video-large{display:block;width:100%;border-radius:12px;background:#000}.pg-expanded:has(.pg-video-large){width:min(92vw,960px)}.view-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:28px}.view-bar .deal-hint{margin-bottom:0}.view-toggle{flex:none;display:inline-flex;padding:3px;border:1px solid hsla(0,0%,100%,.14);border-radius:999px;font-family:var(--mono);font-size:12px}.view-toggle button{padding:6px 14px;border:0;border-radius:999px;background:transparent;color:var(--text-dim);font:inherit;cursor:pointer;transition:color .15s ease,background .15s ease}.view-toggle button:hover{color:var(--text)}.view-toggle button.is-active{background:hsla(0,0%,100%,.12);color:var(--text)}.work-grid.home-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 20px}@media (max-width:900px){.work-grid.home-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.view-bar{flex-direction:column;gap:14px}.work-grid.home-gallery{gap:28px 12px}}.hover\:border-white\/40:hover{border-color:hsla(0,0%,100%,.4)}.hover\:bg-foreground\/90:hover{background-color:hsla(240,6%,93%,.9)}.hover\:bg-white\/\[0\.04\]:hover{background-color:hsla(0,0%,100%,.04)}.hover\:underline:hover{text-decoration-line:underline}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsla(0,0%,100%,.4)}.active\:scale-\[0\.97\]:active{--tw-scale-x:0.97;--tw-scale-y:0.97;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))}.active\:duration-100:active{transition-duration:.1s}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}