@import url(https://fonts.googleapis.com/css2?family=Source+Serif+4:ital,opsz,wght@0,8..60,200..900;1,8..60,200..900&display=swap);:root{--font-family-primary:"Jost",sans-serif;--font-family-display:"Source Serif 4",serif;--font-family-mono:"Jost",monospace;--font-weight-light:300;--font-weight-normal:400;--font-weight-semibold:600;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-size-5xl:3rem;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--grid-padding:16px;--color-primary:#4da1a9;--color-primary-light:#ebfdff;--color-accent:#ffa630;--color-accent-light:#fff6eb;--color-dark:#373a3c;--color-dark-alt:#afb9bf;--color-light:#f2f2f2;--color-background:#f2f2f2;--color-surface:#e8e8e8;--color-surface-elevated:#fff;--color-text-primary:#2c2f31;--color-text-secondary:#4a5055;--color-text-accent:#3a8a92;--color-border:#8f939c33;--color-border-hover:#4da1a9;--color-link:#4da1a9;--color-link-hover:#ffa630}[data-theme=dark]{--color-background:#2a2d2f;--color-surface:#2a2d2f;--color-surface-elevated:#373a3c;--color-text-primary:#f2f2f2;--color-text-secondary:#c5cdd2;--color-text-accent:#ebfdff;--color-border:#afb9bf33;--color-border-hover:#4da1a9;--color-link:#ebfdff;--color-link-hover:#fff6eb}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f2f2f2;background-color:var(--color-background);color:#2c2f31;color:var(--color-text-primary);font-family:Jost,sans-serif;font-family:var(--font-family-primary);font-size:1rem;font-size:var(--font-size-md);font-weight:400;font-weight:var(--font-weight-normal);line-height:1.5;line-height:var(--line-height-normal);margin:0;transition:background-color .3s ease,color .3s ease}.text-xs{font-size:.75rem;font-size:var(--font-size-xs)}.text-sm{font-size:.875rem;font-size:var(--font-size-sm)}.text-md{font-size:1rem;font-size:var(--font-size-md)}.text-lg{font-size:1.125rem;font-size:var(--font-size-lg)}.text-xl{font-size:1.25rem;font-size:var(--font-size-xl)}.text-2xl{font-size:1.5rem;font-size:var(--font-size-2xl)}.text-3xl{font-size:1.875rem;font-size:var(--font-size-3xl)}.text-4xl{font-size:2.25rem;font-size:var(--font-size-4xl)}.text-5xl{font-size:3rem;font-size:var(--font-size-5xl)}.font-light{font-weight:300;font-weight:var(--font-weight-light)}.font-normal{font-weight:400;font-weight:var(--font-weight-normal)}.font-semibold{font-weight:600;font-weight:var(--font-weight-semibold)}.leading-tight{line-height:1.25;line-height:var(--line-height-tight)}.leading-normal{line-height:1.5;line-height:var(--line-height-normal)}.leading-relaxed{line-height:1.75;line-height:var(--line-height-relaxed)}.h1,h1{font-size:2.25rem;font-size:var(--font-size-4xl);margin:0 0 1rem}.h1,.h2,h1,h2{font-weight:600;font-weight:var(--font-weight-semibold);line-height:1.25;line-height:var(--line-height-tight)}.h2,h2{font-size:1.875rem;font-size:var(--font-size-3xl);margin:0 0 .875rem}.h3,h3{font-size:1.5rem;font-size:var(--font-size-2xl);font-weight:600;font-weight:var(--font-weight-semibold);line-height:1.25;line-height:var(--line-height-tight);margin:0 0 .75rem}.h4,h4{font-size:1.25rem;font-size:var(--font-size-xl);margin:0 0 .625rem}.h4,.h5,h4,h5{font-weight:600;font-weight:var(--font-weight-semibold);line-height:1.5;line-height:var(--line-height-normal)}.h5,h5{font-size:1.125rem;font-size:var(--font-size-lg);margin:0 0 .5rem}.h6,h6{font-size:1rem;font-size:var(--font-size-md);font-weight:600;font-weight:var(--font-weight-semibold);margin:0 0 .5rem}.body-sm,.h6,h6{line-height:1.5;line-height:var(--line-height-normal)}.body-sm{font-size:.875rem;font-size:var(--font-size-sm)}.body-md{font-size:1rem;font-size:var(--font-size-md);line-height:1.5;line-height:var(--line-height-normal)}.body-lg{font-size:1.125rem;font-size:var(--font-size-lg);line-height:1.75;line-height:var(--line-height-relaxed)}code,pre{font-family:Jost,monospace;font-family:var(--font-family-mono);font-weight:400;font-weight:var(--font-weight-normal)}code{font-size:.875em}@media (min-width:1440px){:root{--grid-padding:24px}}@media (min-width:1200px) and (max-width:1439px){:root{--grid-padding:24px}}.theme-toggle{align-items:center;background:none;border:none;border-radius:50%;color:var(--color-text-secondary);cursor:pointer;display:flex;justify-content:center;padding:var(--space-2);transition:color .3s ease,background-color .3s ease}.theme-toggle:hover{background-color:var(--color-surface);color:var(--color-text-primary)}.theme-toggle:focus{outline:none}.theme-toggle:active{background-color:var(--color-surface)}.theme-icon{height:20px;transition:transform .3s ease;width:20px}.theme-toggle:hover .theme-icon{transform:scale(1.1)}@media (max-width:768px){.theme-toggle{padding:var(--space-1)}.theme-icon{height:18px;width:18px}}.navigation{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background-color:#f2f2f266;position:sticky;top:0;transition:background-color .3s ease,border-color .3s ease;z-index:1000}.navigation,[data-theme=dark] .navigation{border-bottom:1px solid var(--color-border)}[data-theme=dark] .navigation{background-color:#373a3c66}.nav-container{align-items:center;display:grid;grid-template-columns:1fr auto 1fr;height:var(--space-12);margin:0;max-width:none;padding:0 var(--grid-padding)}.nav-brand{align-items:center;display:flex;gap:var(--space-3);justify-self:start}.brand-button{color:var(--color-text-primary)!important;font-weight:var(--font-weight-normal)!important}.nav-links{justify-self:center}.nav-links,.nav-right{align-items:center;display:flex;gap:var(--space-4)}.nav-right{justify-self:end}.nav-separator{font-size:var(--font-size-lg);-webkit-user-select:none;user-select:none}.nav-link,.nav-separator{color:var(--color-text-secondary);font-weight:var(--font-weight-normal)}.nav-link{font-size:var(--font-size-md);padding:var(--space-2) 0}.nav-button{background:none;border:none;cursor:pointer;font-family:var(--font-family-primary)}.nav-button:hover,.nav-link:hover{color:var(--color-accent)}[data-theme=dark] .nav-button:hover,[data-theme=dark] .nav-link:hover{color:#ffa630}.mobile-menu-toggle{align-items:center;background:none;border:none;border-radius:50%;color:var(--color-text-secondary);cursor:pointer;display:none;justify-content:center;padding:var(--space-2);transition:color .3s ease,background-color .3s ease}.mobile-menu-toggle:hover{background-color:var(--color-surface);color:var(--color-text-primary)}.mobile-menu-icon{transition:transform .3s ease}.mobile-nav{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background-color:#f2f2f2f2;border-top:1px solid #d1d5db33;display:none;flex-direction:column;gap:var(--space-3);left:0;padding:var(--space-4);position:absolute;right:0;top:100%}[data-theme=dark] .mobile-nav{background-color:#373a3cf2;border-top:1px solid #afb9bf33}.mobile-nav.open{display:flex}.mobile-nav-link{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;font-family:var(--font-family-primary);font-size:var(--font-size-md);font-weight:var(--font-weight-normal);padding:var(--space-2) 0;text-align:left;text-decoration:none;transition:color .3s ease}.mobile-nav-link:hover{color:var(--color-accent)}[data-theme=dark] .mobile-nav-link:hover{color:#ffa630}@media (max-width:900px) and (min-width:769px){.nav-link{font-size:var(--font-size-sm)}.nav-links,.nav-right{gap:var(--space-2)}}@media (max-width:768px){.nav-container{align-items:center;display:flex;height:var(--space-12);justify-content:space-between}.nav-brand{margin-bottom:0}.desktop-nav{display:none}.mobile-menu-toggle{display:flex}}.home{min-height:100vh}.grid-container{display:grid;grid-template-columns:repeat(6,1fr);width:100%}.grid-column{border-bottom:1px solid var(--color-border);border-right:1px solid var(--color-border);padding:var(--grid-padding)}.grid-column:last-child{border-right:none}.grid-span-6{grid-column:span 6}.grid-span-2{grid-column:span 2}.grid-span-4{grid-column:span 4}.section-title-row{border-bottom:1px solid var(--color-border);grid-column:span 6;padding:var(--grid-padding)}.section-title-text{color:var(--color-primary);font-family:var(--font-family-display);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0;text-align:left}.nested-grid{grid-gap:0;display:grid;gap:0;grid-template-columns:1fr 1fr}.nested-grid-full{border-bottom:1px solid var(--color-border);grid-column:span 2;padding:var(--grid-padding)}.nested-grid-half{border-right:1px solid var(--color-border);border-top:1px solid var(--color-border);grid-column:span 1;padding:var(--grid-padding)}.nested-grid-half:last-child{border-right:none}.nested-grid-third{border-right:1px solid var(--color-border);border-top:1px solid var(--color-border);grid-column:span 1;padding:var(--grid-padding)}.nested-grid-third:nth-child(3n){border-right:none}.nested-grid-half:nth-child(2),.nested-grid-half:nth-child(3),.nested-grid-third:nth-child(-n+3){border-top:none}.grid-column .architecture-card,.grid-column .featured-project-card,.grid-column .featured-side-project-card,.grid-column .previous-project-card,.grid-column .project-card,.grid-column .side-project-card,.nested-grid-full .featured-side-project-card,.nested-grid-half .previous-project-card,.nested-grid-half .side-project-card{background:#0000!important;border:none!important;border-radius:0!important;margin:0!important;padding:0!important}.grid-column .featured-project-card,.nested-grid-full .featured-project-card,.nested-grid-full .featured-side-project-card{display:flex!important;flex-direction:column!important;gap:0!important}.grid-column .featured-project-image,.nested-grid-full .featured-project-image,.nested-grid-full .featured-side-project-image{order:1;width:100%!important}.grid-column .featured-project-content,.nested-grid-full .featured-project-content,.nested-grid-full .featured-side-project-content{margin-top:0;order:2;width:100%!important}.hero{background:var(--color-background);color:var(--color-text-primary);overflow:hidden;padding:0;position:relative;text-align:left}.hero .grid-container{pointer-events:auto;position:relative;z-index:2}.hero-title{letter-spacing:-.02em}.hero-tagline,.hero-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-normal);margin-bottom:var(--space-4)}.hero-tagline{opacity:.9}.hero-description{font-size:var(--font-size-5xl);font-weight:var(--font-weight-light);line-height:var(--line-height-tight);margin-bottom:80px;margin-top:120px;opacity:.9}.hero-serif-text{font-family:var(--font-family-display);font-size:var(--font-size-lg);font-style:italic;font-weight:var(--font-weight-normal)}.section{padding:0}.besides-work-section,.contact-section,.current-work-section,.pre-product-section,.previous-work-section{background-color:var(--color-background)}.container,.section-divider{margin:0 auto;max-width:calc(var(--space-16)*18.75)}.section-divider{border-bottom:1px solid var(--color-border)}.section-title{color:var(--color-text-primary);font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-16);text-align:left}.featured-project{margin-bottom:0}.featured-project-card{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:3px;color:inherit;display:flex;gap:var(--space-4);overflow:hidden;padding:var(--space-4);text-decoration:none}.featured-project-image{border-radius:0;flex-shrink:0;height:auto;overflow:hidden;position:relative;width:50%}.featured-project-image img{border-radius:0;display:block;height:auto;width:100%}.featured-project-content{display:flex;flex:1 1;flex-direction:column;justify-content:flex-start;padding:0}.featured-project-text{flex:1 1;text-align:left}.featured-project-title{color:var(--color-text-primary);font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-4)}.featured-project-description{font-size:var(--font-size-lg);line-height:var(--line-height-normal);margin-bottom:var(--space-3)}.featured-project-cta,.featured-project-description{color:var(--color-text-secondary);margin-top:var(--space-4)}.featured-project-cta{align-items:center;align-self:flex-start;background-color:initial;border:1px solid var(--color-border);border-radius:20px;cursor:pointer;display:flex;flex-shrink:0;font-size:var(--font-size-sm);gap:var(--space-2);margin-left:0;padding:var(--space-2) var(--space-3);transition:background-color .3s ease,color .3s ease,opacity .3s ease;width:fit-content}.featured-project-cta:hover{background-color:var(--color-accent);color:var(--color-dark)}.project-keywords{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);margin:0;opacity:.8;text-align:left}.cta-text{font-weight:var(--font-weight-semibold)}.current-projects-grid{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:1fr 1fr}.previous-projects-grid{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(calc(var(--space-16)*5.5),1fr));margin-bottom:var(--space-4)}.previous-project-card{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:3px;color:inherit;overflow:hidden;padding:var(--space-4);position:relative;text-decoration:none}.previous-project-content{padding:var(--space-3) 0 0 0}.previous-project-content .project-description{margin:0 0 var(--space-3) 0;text-align:left}.company-logo{align-items:center;background-color:#fff9;border:1px solid var(--color-border);border-radius:3px;bottom:var(--space-2);color:var(--color-text-primary);display:flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);height:24px;justify-content:center;left:var(--space-2);min-width:50px;padding:var(--space-1) var(--space-1);position:absolute;white-space:nowrap;z-index:10}[data-theme=dark] .company-logo{background-color:#373a3c99;color:var(--color-text-primary)}.award-badge{background-color:initial;border-radius:0;display:block;height:auto;position:absolute;right:calc(var(--space-4) + var(--space-2) - 16px);top:calc(var(--space-4) + var(--space-2) - 16px);width:auto;z-index:10}.award-badge img{height:40px;object-fit:contain;width:40px}.projects-grid{grid-gap:calc(var(--space-8) + var(--space-2));display:grid;gap:calc(var(--space-8) + var(--space-2));grid-template-columns:repeat(auto-fit,minmax(calc(var(--space-16)*5.5),1fr))}.project-card{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:3px;color:inherit;overflow:hidden;padding:var(--space-4);text-decoration:none}.project-image{border-radius:0;height:calc(var(--space-16)*4);overflow:hidden;width:100%}.project-image img{border-radius:0;display:block}.previous-project-card .project-image,.project-image img{height:auto;width:100%}.previous-project-card .project-image{position:relative}.previous-project-card .project-image-primary{display:block;height:auto;position:relative;width:100%;z-index:1}.previous-project-card .project-image-hover{height:100%;left:0;object-fit:cover;opacity:0;position:absolute;top:0;transition:opacity .4s ease;width:100%;z-index:2}.previous-project-card:hover .project-image-hover{opacity:1}.featured-project-card .featured-project-image{position:relative}.featured-project-card .featured-project-image .project-image-primary{display:block;height:auto;position:relative;width:100%;z-index:1}.featured-project-card .featured-project-image .project-image-hover{height:100%;left:0;object-fit:cover;opacity:0;position:absolute;top:0;transition:opacity .4s ease;width:100%;z-index:2}.featured-project-card:hover .featured-project-image .project-image-hover{opacity:1}.project-content{display:flex;flex-direction:column;justify-content:center;padding:0}.project-text{flex:1 1;text-align:left}.project-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-3)}.project-description{color:var(--color-text-secondary);font-size:var(--font-size-lg);line-height:var(--line-height-normal);margin-bottom:var(--space-3)}.project-cta{align-items:center;align-self:flex-start;background-color:initial;border:1px solid var(--color-border);border-radius:20px;color:var(--color-text-secondary);cursor:pointer;display:flex;flex-shrink:0;font-size:var(--font-size-sm);gap:var(--space-2);margin-left:0;margin-top:var(--space-4);padding:var(--space-2) var(--space-3);transition:background-color .3s ease,color .3s ease,opacity .3s ease;width:fit-content}.project-cta:hover{background-color:var(--color-accent);color:var(--color-dark)}.project-technologies{display:flex;flex-wrap:wrap;gap:var(--space-2)}.tech-tag{background-color:var(--color-dark);border-radius:20px;padding:var(--space-1) var(--space-3)}.section-description{color:var(--color-text-secondary);font-size:var(--font-size-lg);margin-bottom:var(--space-16);margin-top:0;max-width:calc(var(--space-16)*9.375);text-align:left}.besides-work-section .grid-container,.current-work-section .grid-container,.previous-work-section .grid-container{align-items:stretch}.description-column{align-self:stretch;display:flex;flex-direction:column}.description-column .section-description{flex-shrink:0;margin:0;position:sticky;top:64px}.section-description strong{color:var(--color-text-primary)}.architecture-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(calc(var(--space-16)*6.25),1fr))}.architecture-card{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:3px;overflow:hidden;padding:var(--space-4);transition:border-color .3s ease}.architecture-image{height:calc(var(--space-16)*4);overflow:hidden;position:relative;width:100%}.architecture-image-hover,.architecture-image-primary{height:100%;left:0;object-fit:cover;position:absolute;top:0;transition:opacity .4s ease;width:100%}.architecture-image-primary{opacity:1;z-index:1}.architecture-image-hover{opacity:0;z-index:2}.architecture-card:hover .architecture-image-hover{opacity:1}.placeholder-image{align-items:center;background:var(--color-surface);color:var(--color-text-secondary);display:flex;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);height:100%;justify-content:center;width:100%}.architecture-content{padding:0}.architecture-title{color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-3);text-align:left}.architecture-description{color:var(--color-text-secondary);font-size:var(--font-size-md);line-height:var(--line-height-normal);margin-bottom:var(--space-3);text-align:left}.architecture-keywords{text-align:left}.architecture-link{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);opacity:.8;text-decoration:none;transition:color .3s ease}.architecture-link:hover{color:var(--color-accent);text-decoration:underline}[data-theme=dark] .architecture-link:hover{color:#ffa630}.architecture-skills{display:flex;flex-wrap:wrap;gap:var(--space-2)}.featured-side-project{margin-bottom:0}.featured-side-project-card{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:3px;color:inherit;cursor:pointer;display:flex;gap:16px;padding:16px;text-align:left;text-decoration:none;transition:border-color .3s ease}.featured-side-project-card:hover .side-project-cta{color:var(--color-accent)}.featured-side-project-image{align-items:center;background-color:var(--color-surface);border-radius:3px;display:flex;flex:0 0 40%;justify-content:center;overflow:hidden}.featured-side-project-image img{height:auto;object-fit:cover;width:100%}.featured-side-project-content{align-items:flex-start;display:flex;flex:1 1;flex-direction:column;justify-content:space-between}.side-projects-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(calc(var(--space-16)*4.375),1fr))}.side-project-card{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:3px;color:inherit;display:block;padding:16px;text-align:left;text-decoration:none;transition:border-color .3s ease}.side-project-card.interactive-card{cursor:pointer;position:relative}.side-project-cta{align-items:center;color:var(--color-text-secondary);display:flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:var(--space-2);margin-top:var(--space-4);transition:color .3s ease}.side-project-card.interactive-card:hover .side-project-cta{color:var(--color-accent)}.side-project-icon{font-size:3rem;margin-bottom:var(--space-4)}.side-project-title{color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-3)}.side-project-description{color:var(--color-text-secondary);font-size:var(--font-size-md);line-height:var(--line-height-normal);margin:0;padding:0}.contact-description{color:var(--color-text-secondary);font-size:var(--font-size-lg);margin-bottom:var(--space-16);max-width:calc(var(--space-16)*9.375);text-align:left}.contact-content{display:block}.contact-info{display:flex;justify-content:flex-start}.contact-selfie{border-radius:3px;height:auto;object-fit:cover;width:100%}.contact-text{font-size:var(--font-size-lg);line-height:var(--line-height-normal)}.contact-text,.copyright-text{color:var(--color-text-secondary);text-align:left}.copyright-text{font-size:var(--font-size-sm);margin-top:var(--space-8);opacity:.7}.contact-link{color:var(--color-accent);font-size:var(--font-size-md);text-decoration:none;transition:color .3s ease}.contact-link:hover{color:var(--color-accent);text-decoration:underline}@media (max-width:768px){.hero #particles-background{display:none}.hero-description{font-size:var(--font-size-4xl)}.hero-title{font-size:var(--font-size-3xl)}.hero-tagline{font-size:var(--font-size-xl)}.grid-column,.section-title-row{border-left:none;border-right:none}.besides-work-section .grid-container,.current-work-section .grid-container,.previous-work-section .grid-container{grid-template-columns:1fr;grid-template-rows:auto auto}.besides-work-section .description-column,.current-work-section .description-column,.previous-work-section .description-column{border-bottom:1px solid var(--color-border);border-left:none;border-right:none;grid-column:1;grid-row:1;min-height:auto;position:static}.besides-work-section .grid-span-4,.current-work-section .grid-span-4,.previous-work-section .grid-span-4{border-left:none;border-right:none;border-top:none;grid-column:1;grid-row:2}.nested-grid{grid-template-columns:1fr}.nested-grid-full,.nested-grid-half,.nested-grid-third{border-bottom:1px solid var(--color-border);border-left:none;border-right:none;grid-column:1}.nested-grid-full:first-child,.nested-grid-half:first-child,.nested-grid-third:first-child{border-top:none}.nested-grid-full:last-child,.nested-grid-half:last-child,.nested-grid-third:last-child{border-bottom:none}.featured-project-card{flex-direction:column}.featured-project-image{height:auto;width:100%}.featured-project-content{padding:0}.featured-project-title{font-size:var(--font-size-2xl)}.current-projects-grid{gap:var(--space-4);grid-template-columns:1fr}.current-projects-grid .project-image{height:auto}.project-content{align-items:flex-start}.previous-projects-grid{gap:var(--space-4);grid-template-columns:1fr}.projects-grid{gap:calc(var(--space-6) + var(--space-2));grid-template-columns:1fr}.section-title{font-size:var(--font-size-2xl)}.architecture-grid,.pre-product-section .grid-container{grid-template-columns:1fr}.pre-product-section .grid-span-2{border-bottom:1px solid var(--color-border);border-left:none;border-right:none;grid-column:1}.pre-product-section .grid-span-2:last-child{border-bottom:none}.featured-side-project-card{flex-direction:column}.featured-side-project-image{flex:none;height:200px;width:100%}.side-projects-grid{grid-template-columns:1fr}.contact-content{display:block}.contact-info{justify-content:center}.contact-selfie{width:100%}}@media (max-width:640px){.hero-description{font-size:var(--font-size-4xl)}}@media (max-width:500px){.hero-description{font-size:var(--font-size-3xl)}}.custom-tooltip{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:#000000e6;border:1px solid #fff3;border-radius:8px;color:#fff;font-size:14px;font-weight:500;line-height:1.4;max-width:250px;padding:12px 16px}.custom-tooltip,.mouse-following-cta{box-shadow:0 4px 12px #00000026;pointer-events:none;position:fixed;z-index:1000}.mouse-following-cta{align-items:center;background-color:var(--color-accent);border:none;border-radius:50%;color:var(--color-dark);display:flex;flex-direction:column;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);height:80px;justify-content:center;line-height:1.2;text-align:center;transition:transform .15s cubic-bezier(.4,0,.2,1);width:80px}.featured-project-card:hover .featured-project-cta,.project-card:hover .project-cta{opacity:0}.featured-project-image:hover,.featured-side-project-image:hover,.project-image:hover{cursor:none!important}.project-not-found,.project-page{background-color:var(--color-background);min-height:100vh}.project-not-found{padding:calc(var(--space-16) + var(--space-4)) var(--space-4);text-align:left}.project-not-found h1{color:var(--color-text-primary);font-size:var(--font-size-3xl);margin-bottom:20px}.project-not-found p{color:var(--color-text-secondary);font-size:var(--font-size-xl);margin-bottom:calc(var(--space-6) + var(--space-2))}.project-header{padding:150px var(--space-4) 0 var(--space-4);text-align:left}.back-link{color:var(--color-link);display:inline-block;font-size:var(--font-size-md);font-weight:var(--font-weight-normal);margin-bottom:var(--space-4);text-decoration:none;transition:color .3s ease}.back-link:hover{color:var(--color-link-hover)}.project-title{color:var(--color-text-primary);font-family:var(--font-family-display);font-optical-sizing:auto;font-size:var(--font-size-5xl);font-weight:var(--font-weight-normal);line-height:var(--line-height-tight);margin-bottom:0}.tagline-highlight{color:inherit;text-decoration:underline;text-decoration-color:var(--color-accent);text-underline-offset:.2em;transition:text-decoration-color .3s ease}.tagline-highlight:hover{animation:underline-reappear .8s ease-in-out}@keyframes underline-reappear{0%{text-decoration-color:var(--color-accent)}50%{text-decoration-color:#0000}to{text-decoration-color:var(--color-accent)}}.content-max-width{margin:0 auto;max-width:1200px}.subsections{margin-top:var(--space-8)}.case-study-content-container:has(h2#visual-correlation) .subsections{margin-left:auto;margin-right:auto;max-width:720px;padding:0 var(--space-4)}.case-study-content-container:has(h2#scenario-modeling) .subsections{margin-left:auto;margin-right:auto;max-width:720px;padding:0 var(--space-4)}.case-study-content-container:has(h2#visual-correlation) .subsection .solution-step-image{background-color:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:8px;box-sizing:border-box;display:block;left:50%;margin:16px auto;max-width:1200px;object-fit:contain;padding:8px;position:relative;transform:translateX(-50%);width:calc(100vw - var(--space-4)*2)}.case-study-content-container:has(h2#scenario-modeling) .subsection .solution-step-image{background-color:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:8px;box-sizing:border-box;display:block;left:50%;margin:16px auto;max-width:1200px;object-fit:contain;padding:8px;position:relative;transform:translateX(-50%);width:calc(100vw - var(--space-4)*2)}.case-study-content-container:has(h2#scenario-modeling) .subsection .solution-step-image[src="/img/sifted-score.png"]{max-width:720px}.case-study-content-container:has(h2#visual-correlation) .subsection .solution-step-image[src="/img/relationship small card.png"]{max-width:720px}.case-study-content-container:has(h2#visual-correlation) .subsection .solution-step-image[src="/img/Large correlation cards.png"]{max-width:720px}.case-study-content-container:has(h2#visual-correlation) .subsection .solution-step-image[src="/img/deep visual correlation.png"]{max-width:720px}.subsection{margin-bottom:calc(var(--space-8) + var(--space-4))}.subsection:last-child{margin-bottom:0}.subsection h3{color:var(--color-text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin:0 0 .75rem;text-align:left}.project-subtitle,.subsection p{color:var(--color-text-secondary);font-size:var(--font-size-lg);line-height:var(--line-height-relaxed);margin:0}.project-subtitle{margin-bottom:var(--space-4)}.project-meta-row{align-items:center;display:flex;gap:calc(var(--space-8) + var(--space-2));margin-bottom:24px;margin-top:var(--space-6)}.project-role{flex:1 1}.project-role h2{align-items:center;color:var(--color-text-primary);display:flex;font-size:var(--font-size-md);font-weight:var(--font-weight-normal);gap:var(--space-2);margin:0}.project-role h2 svg{color:var(--color-primary)}.project-meta-item{flex-shrink:0}.project-meta-item h2{align-items:center;color:var(--color-text-primary);display:flex;font-size:var(--font-size-md);font-weight:var(--font-weight-normal);gap:var(--space-2);margin:0;white-space:nowrap}.project-meta-item h2 svg{color:var(--color-primary)}.project-hero{margin-bottom:0;padding:0 var(--space-4)}.project-hero-wrapper{border-radius:12px;box-shadow:0 8px 24px #0000001a;overflow:hidden}.project-hero-image{height:calc(var(--space-16)*10);object-fit:cover;width:100%}.project-content{margin:0 auto;max-width:1200px}.case-study-content-container{margin:0 auto;max-width:720px;padding:0 var(--space-4)}.case-study-content-container:has(h2#visual-correlation){max-width:none}.case-study-content-container:has(h2#scenario-modeling){max-width:none}.case-study-content-container:has(h2#visual-correlation) h2#visual-correlation{margin-left:auto;margin-right:auto;max-width:720px;padding:0 var(--space-4)}.case-study-content-container:has(h2#scenario-modeling) h2#scenario-modeling{margin-left:auto;margin-right:auto;max-width:720px;padding:0 var(--space-4)}.project-page[data-project-id=growlink] .solution-step-image,.project-page[data-project-id=resourcex] .solution-step-image{max-width:1200px;width:100%}.project-content h2{color:var(--color-text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-4);margin-top:calc(var(--space-8) + var(--space-2))}.project-content h2:first-child{margin-top:0}.project-description p{color:var(--color-text-secondary);font-size:var(--font-size-lg);line-height:var(--line-height-relaxed);margin-bottom:var(--space-4)}.tech-list{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-4)}.tech-tag{background-color:var(--color-primary);border-radius:25px;color:var(--color-background);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);padding:var(--space-2) var(--space-4)}.link-buttons{display:flex;flex-wrap:wrap;gap:var(--space-4)}.project-link{border-radius:8px;display:inline-block;font-size:var(--font-size-md);font-weight:var(--font-weight-normal);padding:var(--space-3) var(--space-6);text-decoration:none;transition:transform .2s ease,background-color .3s ease}.project-link.github{background-color:var(--color-dark);color:var(--color-background)}.project-link.github:hover{background-color:var(--color-text-secondary);transform:translateY(-2px)}.project-link.live{background-color:var(--color-primary);color:var(--color-background)}.project-link.live:hover{background-color:var(--color-accent);transform:translateY(-2px)}.case-study-hook{margin-top:var(--space-4)}.case-study-hook blockquote{border-left:4px solid var(--color-primary);color:var(--color-primary);font-size:var(--font-size-xl);font-style:italic;line-height:var(--line-height-relaxed);margin:0;padding-left:var(--space-6)}.case-study-section-wrapper{padding:calc(var(--space-16) + var(--space-4)) var(--space-4)}.case-study-section-wrapper.reduced-spacing{padding:calc(var(--space-8) + var(--space-6)) var(--space-4)}.case-study-section{margin:0 auto;max-width:720px}.project-page[data-project-id=growlink] .case-study-section,.project-page[data-project-id=resourcex] .case-study-section{max-width:1200px}.project-page[data-project-id=growlink] .case-study-section .solution-step-content,.project-page[data-project-id=growlink] .case-study-section .vertical-stack-item,.project-page[data-project-id=growlink] .case-study-section blockquote,.project-page[data-project-id=growlink] .case-study-section h2,.project-page[data-project-id=growlink] .case-study-section p,.project-page[data-project-id=resourcex] .case-study-section .solution-step-content,.project-page[data-project-id=resourcex] .case-study-section .vertical-stack-item,.project-page[data-project-id=resourcex] .case-study-section blockquote,.project-page[data-project-id=resourcex] .case-study-section h2,.project-page[data-project-id=resourcex] .case-study-section p{margin-left:auto;margin-right:auto;max-width:720px}.background-section,.surface-section{background-color:var(--color-background)}.case-study-section h2{align-items:center;color:var(--color-primary);display:flex;font-family:var(--font-family-display);font-optical-sizing:auto;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);gap:var(--space-2);margin-bottom:var(--space-3);margin-top:0;text-align:left}.case-study-section p{color:var(--color-text-secondary);font-size:var(--font-size-lg)}.case-study-section blockquote,.case-study-section p{line-height:var(--line-height-relaxed);margin:0;text-align:left}.case-study-section blockquote{border-left:4px solid var(--color-primary);color:var(--color-text-primary);font-size:var(--font-size-xl);padding-left:var(--space-6)}.case-study-two-column-wide{grid-gap:calc(var(--space-8) + var(--space-2));grid-template-columns:3fr 1fr}.case-study-two-column,.case-study-two-column-wide{align-items:start;display:grid;gap:calc(var(--space-8) + var(--space-2))}.case-study-two-column{grid-gap:calc(var(--space-8) + var(--space-2));grid-template-columns:1fr 1fr}.case-study-two-column .case-study-section h2{color:var(--color-text-primary)}.case-study-two-column .case-study-section h2 svg{color:var(--color-primary)}.case-study-three-column{grid-gap:calc(var(--space-8) + var(--space-2));align-items:start;display:grid;gap:calc(var(--space-8) + var(--space-2));grid-template-columns:1fr 1fr 1fr}.case-study-three-column .case-study-section h2{color:var(--color-text-primary)}.case-study-three-column .case-study-section h2 svg{color:var(--color-primary)}.key-outcomes-grid{grid-gap:16px;display:grid;grid-template-columns:repeat(3,1fr)}.key-outcomes-grid,.key-outcomes-stack{gap:16px;margin-top:calc(var(--space-6) + var(--space-2))}.key-outcomes-stack{display:flex;flex-direction:column}.vertical-stack-item{align-items:flex-start;background-color:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:3px;display:flex;gap:var(--space-4);padding:var(--space-4)}.vertical-stack-icon{color:var(--color-accent);flex-shrink:0}.vertical-stack-content{flex:1 1}.vertical-stack-content p{color:var(--color-text-primary);font-size:var(--font-size-md);font-weight:var(--font-weight-normal);line-height:var(--line-height-relaxed);margin:0}.design-principles-grid,.research-takeaways-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-top:calc(var(--space-6) + var(--space-2))}.design-principle-card{background-color:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:3px;display:flex;flex-direction:column;gap:8px;padding:16px;text-align:left}.design-principle-title{font-weight:var(--font-weight-semibold)}.design-principle-description,.design-principle-title{color:var(--color-text-primary);font-size:var(--font-size-md);line-height:var(--line-height-relaxed);margin:0}.key-outcome-card{background-color:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:3px;padding:16px;text-align:left}.key-outcome-card p{color:var(--color-text-primary);font-size:var(--font-size-md);font-weight:var(--font-weight-normal);line-height:var(--line-height-relaxed);margin:0}.key-outcome-header{margin-bottom:var(--space-3)}.key-outcome-icon{color:var(--color-accent)}.solution-grid{gap:calc(var(--space-16) + var(--space-4));margin-left:auto;margin-right:auto;margin-top:calc(var(--space-6) + var(--space-2))}.solution-grid,.solution-step{display:flex;flex-direction:column;max-width:1200px}.solution-step{gap:var(--space-4);margin:0 auto}.solution-step-content h3{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-normal);line-height:var(--line-height-tight);margin:0 0 var(--space-2) 0;text-align:left;white-space:pre-line}.solution-step-content p{color:var(--color-text-secondary);font-size:var(--font-size-md);line-height:var(--line-height-relaxed);margin:0}.solution-step-image{align-items:flex-start;background-color:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:8px;display:flex;justify-content:center;max-width:1200px;min-height:300px;overflow:hidden;padding:8px;width:100%}.solution-step-image.dark-background{background-color:var(--color-dark);border:1px solid var(--color-border)}.solution-step-image img{animation-fill-mode:both;animation-play-state:running;display:block;max-height:100%;max-width:100%;object-fit:contain;width:100%}.solution-image-grid{align-items:flex-start;display:flex;gap:8px;width:100%}.solution-image-grid img{flex:1 1;max-width:396px}.solution-image-grid img[src="/img/Grouping-before.png"]{flex:1 1;max-width:600px;object-fit:contain;width:100%}.solution-image-grid img[src="/img/logical-grouping-after.gif"]{flex:0 0 500px;max-width:500px;width:100%}.solution-image-grid img[src="/img/multiselect-1.png"]{flex:1 1;max-width:600px;object-fit:contain;width:100%}.solution-image-grid img[src="/img/multiselect-after.png"]{flex:0 0 500px;max-width:500px;width:100%}.solution-image-grid:has(img[src="/img/Monitors page before.png"]){flex-direction:column;gap:16px}.solution-image-grid img[src="/img/Monitors page before.png"]{flex:none;max-width:800px;object-fit:contain;width:100%}.solution-image-grid img[src="/img/Monitors page after.png"]{flex:none;max-width:800px;width:100%}.project-navigation{border-top:1px solid var(--color-border);padding:calc(var(--space-12) + var(--space-4)) 0}.navigation-wrapper{justify-content:space-between;text-align:left}.nav-item,.navigation-wrapper{align-items:center;display:flex}.nav-item{flex:1 1;justify-content:flex-start}.nav-item.center{justify-content:center}.nav-item:last-child{justify-content:flex-end}.nav-link{color:var(--color-text-primary);display:flex;flex-direction:column;text-decoration:none;transition:color .3s ease}.nav-link:hover{color:var(--color-link-hover)}.nav-link.next{text-align:right}.nav-direction{color:var(--color-primary);font-size:var(--font-size-sm);margin-bottom:var(--space-1)}.nav-title{font-size:var(--font-size-md);font-weight:var(--font-weight-normal)}.project-links h2{text-align:left}.back-home-button{align-items:center;background-color:initial;border:1px solid var(--color-border);border-radius:20px;color:var(--color-text-secondary);display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--space-2);padding:var(--space-2) var(--space-3);text-decoration:none;transition:background-color .3s ease,color .3s ease;width:fit-content}.back-home-button:hover{background-color:var(--color-accent);color:var(--color-dark)}@media (max-width:768px){.case-study-section-wrapper{padding:calc(var(--space-16) + var(--space-4)) 16px}.case-study-content-container{padding:0}.project-header{padding:150px 16px 0}.project-hero{padding:0 16px}.project-title{font-size:var(--font-size-3xl)}.project-meta-row{align-items:flex-start;flex-direction:column;gap:var(--space-4)}.project-hero-image{height:calc(var(--space-16)*4)}.link-buttons{flex-direction:column}.project-link{text-align:center}.case-study-hook blockquote{font-size:var(--font-size-lg);padding-left:var(--space-4)}.case-study-section h2{font-size:var(--font-size-sm)}.case-study-three-column,.case-study-two-column,.case-study-two-column-wide{gap:calc(var(--space-6) + var(--space-2));grid-template-columns:1fr}.design-principles-grid,.key-outcomes-grid,.research-takeaways-grid{gap:16px;grid-template-columns:1fr}.solution-grid{gap:calc(var(--space-6) + var(--space-2))}.solution-step{flex-direction:column;gap:var(--space-4)}.solution-step-content{min-width:auto}.solution-image-grid{flex-direction:column;gap:16px}.solution-image-grid img{flex:none;max-width:100%}.solution-image-grid img[src="/img/Grouping-before.png"],.solution-image-grid img[src="/img/logical-grouping-after.gif"],.solution-image-grid img[src="/img/multiselect-1.png"],.solution-image-grid img[src="/img/multiselect-after.png"]{flex:none;max-width:100%;width:100%}.solution-step-image{box-sizing:border-box;max-width:100%;min-height:200px;width:100%}.navigation-wrapper{flex-direction:column;gap:var(--space-4);text-align:center}.project-navigation .content-max-width{padding:0 16px!important}.nav-item{justify-content:center}.nav-link.next{text-align:center}.case-study-content-container:has(h2#visual-correlation) .subsections{padding:0}.case-study-content-container:has(h2#visual-correlation) h2#visual-correlation{padding:0}.case-study-content-container:has(h2#scenario-modeling) .subsections{padding:0}.case-study-content-container:has(h2#scenario-modeling) h2#scenario-modeling{padding:0}.case-study-content-container:has(h2#visual-correlation) .subsection .solution-step-image{background-color:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:8px;box-sizing:border-box;display:block;left:auto;margin:16px 0;max-width:100%;object-fit:contain;padding:8px;position:static;transform:none;width:100%}.case-study-content-container:has(h2#scenario-modeling) .subsection .solution-step-image{background-color:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:8px;box-sizing:border-box;display:block;left:auto;margin:16px 0;max-width:100%;object-fit:contain;padding:8px;position:static;transform:none;width:100%}.case-study-content-container:has(h2#visual-correlation) .subsection .solution-step-image[src="/img/relationship small card.png"]{max-width:720px}.case-study-content-container:has(h2#visual-correlation) .subsection .solution-step-image[src="/img/Large correlation cards.png"]{max-width:720px}.case-study-content-container:has(h2#visual-correlation) .subsection .solution-step-image[src="/img/deep visual correlation.png"]{max-width:720px}.case-study-content-container:has(h2#scenario-modeling) .subsection .solution-step-image[src="/img/sifted-score.png"]{max-width:720px}.project-page[data-project-id=growlink] .case-study-section,.project-page[data-project-id=resourcex] .case-study-section{max-width:100%;padding:0 var(--space-4)}.project-page[data-project-id=growlink] .case-study-section .solution-step-content,.project-page[data-project-id=growlink] .case-study-section .vertical-stack-item,.project-page[data-project-id=growlink] .case-study-section blockquote,.project-page[data-project-id=growlink] .case-study-section h2,.project-page[data-project-id=growlink] .case-study-section p,.project-page[data-project-id=resourcex] .case-study-section .solution-step-content,.project-page[data-project-id=resourcex] .case-study-section .vertical-stack-item,.project-page[data-project-id=resourcex] .case-study-section blockquote,.project-page[data-project-id=resourcex] .case-study-section h2,.project-page[data-project-id=resourcex] .case-study-section p{max-width:100%}.project-page[data-project-id=growlink] .solution-step-image,.project-page[data-project-id=resourcex] .solution-step-image{max-width:100%;width:100%}}.password-modal-content{background:var(--color-background);border:1px solid var(--color-border);border-radius:3px;max-width:90vw;padding:16px;text-align:left;width:400px}.password-modal-content p{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);margin:0 0 16px}.password-modal-content p a{color:var(--color-accent);text-decoration:none}.password-modal-content p a:hover{text-decoration:underline}.password-modal-form{align-items:center;display:flex;flex-direction:row;gap:16px;justify-content:flex-start}.password-modal-input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:3px;box-sizing:border-box;color:var(--color-text-primary);flex:1 1;font-family:var(--font-family-primary);font-size:var(--font-size-md);max-width:calc(var(--space-16)*2.8);min-width:0;padding:var(--space-2);width:100%}.password-modal-input:focus{border:1px solid var(--color-border);outline:none}.password-modal-button{background-color:initial;border:1px solid var(--color-border);border-radius:20px;color:var(--color-text-secondary);cursor:pointer;flex-shrink:0;font-family:var(--font-family-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);padding:var(--space-2) var(--space-3);transition:background-color .3s ease,color .3s ease}.password-modal-button:hover{background-color:var(--color-accent);color:var(--color-dark)}@media (max-width:500px){.password-modal-content{padding:16px;width:95vw}.password-modal-form{align-items:stretch;flex-direction:column;gap:16px}.password-modal-button,.password-modal-input{font-size:var(--font-size-lg);max-width:100%;width:100%}}.threed-visualization{background-color:#1a1a1a}.threed-container,.threed-visualization{display:flex;height:100vh;position:relative;width:100%}.threed-container{overflow:hidden}.left-panel{background-color:#242424;border-right:1px solid #333;box-sizing:border-box;color:#fff;max-width:400px;min-width:300px;overflow-x:hidden;overflow-y:auto;padding:20px;width:30%}.right-panel{flex:1 1;height:100vh;min-width:0;overflow:hidden;position:relative}.canvas-container{height:100%;position:relative;width:100%}.canvas-container>div{height:100%!important;width:100%!important}h2{word-wrap:break-word;color:#fff;font-size:1.5rem;margin-top:0;overflow-wrap:break-word}.image-upload{display:flex;flex-direction:column;gap:20px;margin-top:20px}.visualization-tabs{display:flex;gap:8px;margin-bottom:20px;margin-top:20px}.tab-button{background-color:#333;border:1px solid #555;border-radius:6px;color:#ccc;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:500;padding:12px 16px;text-align:center;transition:all .3s ease}.tab-button:hover{background-color:#444;border-color:#666}.tab-button.active{background-color:#4a90e2;border-color:#4a90e2;color:#fff}.file-input{display:none}.cta-button{align-items:center;border:none;border-radius:4px;box-sizing:border-box;cursor:pointer;display:flex;flex:1 1;font-size:.9rem;font-weight:400;height:36px;justify-content:center;margin:0;padding:0;text-decoration:none;transition:background-color .3s}.cta-button:disabled{cursor:not-allowed;opacity:.6}.cta-button-primary{background-color:#4a90e2;color:#fff}.cta-button-primary:hover:not(:disabled){background-color:#357abd}.cta-button-secondary{background-color:#05a081;color:#fff}.cta-button-secondary:hover:not(:disabled){background-color:#048669}.file-input-label{align-items:center;background-color:#4a90e2;border:none;border-radius:4px;box-sizing:border-box;color:#fff;cursor:pointer;display:flex;flex:1 1;font-size:.9rem;font-weight:400;height:36px;justify-content:center;margin:0;padding:0;text-align:center;transition:background-color .3s}.file-input-label:hover{background-color:#357abd}.image-preview{margin-top:20px;overflow:hidden;width:100%}.image-preview img{border:2px solid #444;border-radius:4px;display:block;max-height:300px;max-width:100%;object-fit:cover;width:100%}.pixel-count-container{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-top:20px}.pixel-count{color:#b0b0b0;flex:1 1;font-size:.9rem;margin:0;min-width:0}.docs-button{background-color:#ffffff1a;border:1px solid #fff3;border-radius:3px;color:#b0b0b0;cursor:pointer;flex-shrink:0;font-size:.8rem;padding:4px 8px;transition:all .3s ease;white-space:nowrap}.docs-button:hover{background-color:#fff3;border-color:#ffffff4d;color:#d0d0d0}.intro-section{background-color:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;margin-top:20px;padding:20px}.intro-text{word-wrap:break-word;color:#e0e0e0;font-size:.95rem;-webkit-hyphens:auto;hyphens:auto;line-height:1.6;margin:0 0 20px;overflow-wrap:break-word;text-align:left}.intro-docs-container{display:flex;justify-content:center}.intro-docs-container .docs-button{font-size:.9rem;min-width:auto;padding:8px 16px}.segmented-control{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:#1a1a1acc;border-radius:6px;box-shadow:0 2px 8px #0003;display:flex;gap:4px;padding:4px;position:relative;white-space:nowrap;z-index:100000}.segmented-control button{background:none;border:none;border-radius:4px;color:#fff;cursor:pointer;flex:1 1;font-size:.85rem;min-width:110px;padding:8px 20px;transition:all .2s ease;white-space:nowrap}.segmented-control button:hover{background-color:#ffffff1a}.segmented-control button.active{background-color:#fff3;color:#fff}.visualization-controls-overlay{position:absolute;right:20px;top:20px;z-index:100000}.view-controls-overlay{bottom:20px;left:50%;position:absolute;transform:translateX(-50%);z-index:100000}.label-controls-overlay{left:20px;position:absolute;top:20px;z-index:100000}.upload-buttons{align-items:center;display:flex;gap:10px}.mobile-controls-container{display:flex;flex-direction:column;gap:10px}.desktop-controls{display:contents}.mobile-hamburger-menu{display:none}.hamburger-button{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:#1a1a1acc;border:none;border-radius:6px;box-shadow:0 2px 8px #0003;cursor:pointer;display:flex;flex-direction:column;height:40px;justify-content:center;padding:8px;position:absolute;right:20px;top:20px;width:40px;z-index:100001}.hamburger-line{background-color:#fff;height:2px;margin:2px 0;transition:.3s;width:20px}.mobile-dropdown{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background-color:#1a1a1af2;border-radius:8px;box-shadow:0 4px 16px #0000004d;min-width:200px;padding:16px;position:absolute;right:20px;top:60px;z-index:100000}.mobile-dropdown-section{margin-bottom:16px}.mobile-dropdown-section:last-child{margin-bottom:0}.mobile-dropdown-section h4{color:#ccc;font-size:.8rem;font-weight:500;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}@media (min-width:769px){.desktop-controls,.mobile-controls-container{display:contents}.mobile-hamburger-menu{display:none}}@media (max-width:768px){.threed-container{flex-direction:column;height:auto;min-height:100vh}.left-panel{border-bottom:1px solid #333;border-right:none;height:auto;min-height:auto;order:1;padding:16px;width:100%}.right-panel{display:flex;flex-direction:column;height:60vh;min-height:400px;order:2;width:100%}.mobile-controls-container{background-color:#1a1a1ae6;border-bottom:1px solid #333;flex-shrink:0;order:1;padding:10px}.desktop-controls{display:none}.mobile-hamburger-menu{display:block}.image-upload{gap:16px;margin-top:16px}.visualization-tabs{margin-bottom:16px;margin-top:16px}.tab-button{font-size:.8rem;padding:10px 12px}.upload-buttons{flex-direction:row;gap:8px}.file-input-label,.unsplash-button{text-align:center;width:100%}.image-preview{margin-top:16px}.image-preview img{max-height:200px}.pixel-count{font-size:.8rem;margin-top:16px}.mobile-dropdown .segmented-control{flex-wrap:nowrap;gap:4px;justify-content:stretch;margin-bottom:8px;padding:4px}.mobile-dropdown .segmented-control button{flex:1 1;font-size:.75rem;min-width:auto;padding:8px 12px;white-space:nowrap}.canvas-container{flex:1 1;height:auto;min-height:300px;order:2}}@media (max-width:480px){.right-panel{height:50vh;min-height:300px}.left-panel{padding:12px}h2{font-size:1.25rem}.segmented-control button{font-size:.75rem;min-width:70px;padding:5px 10px}.image-preview img{max-height:150px}.intro-section{margin-top:16px;padding:16px}.intro-text{font-size:.9rem;line-height:1.5;margin:0 0 16px}.intro-docs-container .docs-button{font-size:.8rem;padding:6px 12px}.visualization-tabs{margin-bottom:12px;margin-top:12px}.tab-button{font-size:.75rem;padding:8px 10px}}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.be019f48.css.map*/