:root{--color-primary:#4069bf;--color-text:#242424;--color-text-light:#606060;--color-background:#fff;--color-background-alt:#f6f7f9;--color-border:#dedede;--font-primary:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-size-base:16px;--font-size-small:14px;--line-height-base:1.6;--line-height-heading:1.2;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2.5rem;--border-radius:0.35rem}*{box-sizing:border-box}html{font-size:var(--font-size-base);scroll-padding-top:7rem}body{margin:0;font-family:var(--font-primary);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text);background:var(--color-background);overflow-wrap:break-word}a{color:var(--color-primary)}a:hover{text-decoration:none}.container{width:min(100% - 2rem,70rem);margin-inline:auto}.site-header{--color-primary:#2563eb;--color-text:#1f2937;--color-background-alt:#f9fafb;--color-border:#e5e7eb;position:sticky;top:0;z-index:100;background-color:var(--color-background);border-bottom:1px solid var(--color-border)}.site-header-inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:104px;padding-block:0.75rem}.site-title{color:var(--color-text);font-size:1.5rem;font-weight:700;text-decoration:none}.site-title:hover{color:var(--color-primary)}.site-navigation{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:0.5rem 1rem}.site-navigation a{color:var(--color-text);font-weight:500;padding:0.5rem 0.75rem;border-radius:0.375rem;text-decoration:none}.site-navigation a:hover,.site-navigation a[aria-current="page"]{color:var(--color-primary);background-color:var(--color-background-alt)}.nav-toggle,.nav-toggle-label,.nav-backdrop{display:none}.site-main{padding-block:var(--spacing-xl);min-height:60vh}.site-footer{border-top:1px solid var(--color-border);padding-block:var(--spacing-lg);color:var(--color-text-light)}.footer-links{display:flex;align-items:baseline;flex-wrap:wrap;gap:0.5rem 1.5rem}.footer-links nav{margin-inline-start:auto}.site-footer nav{display:flex;flex-wrap:wrap;gap:0.5rem 1.5rem}.post{min-width:0}.post p,.post ul,.post ol{margin-block:var(--spacing-md)}.post blockquote{border-left:3px solid var(--color-border);padding-left:var(--spacing-lg);margin-inline:0}.post table,.page table{display:block;overflow-x:auto;border-collapse:collapse}.post th,.post td,.page th,.page td{padding:var(--spacing-sm);border:1px solid var(--color-border)}.post video{max-width:100%}:focus-visible{outline:3px solid var(--color-primary);outline-offset:4px}.skip-link{position:absolute;top:0;left:1rem;z-index:101;padding:0.75rem;background:#fff;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}h1,h2,h3,h4{line-height:var(--line-height-heading)}h1{font-size:1.75rem;margin-top:0}h2{font-size:1.35rem;margin-top:2rem}h3{font-size:1.15rem}h4{font-size:1.05rem}.intro{padding-block:1rem 2rem;border-bottom:1px solid var(--color-border)}.eyebrow{color:var(--color-text-light);font-size:var(--font-size-small)}.section-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1rem 3rem}.page{max-width:48rem}.page p,.page li{max-width:70ch}.page pre{overflow-x:auto;padding:1rem;background:var(--color-background-alt)}.page code{overflow-wrap:anywhere}.page section{padding-block:0.5rem 1rem;border-bottom:1px solid var(--color-border)}.download{display:inline-block;padding:0.5rem 0;font-weight:600}.code-disclosure{min-width:0;margin-block:1.5rem;padding:1rem;border:1px solid var(--color-border);border-radius:var(--border-radius)}.code-disclosure summary{cursor:pointer;color:var(--color-primary);font-weight:600}.code-disclosure pre code{overflow-wrap:normal}img,video{max-width:100%}figure{margin:0}figcaption,.media-note{color:var(--color-text-light);font-size:var(--font-size-small)}figcaption{margin-top:0.75rem}.intro-grid{display:grid;gap:2.5rem;align-items:center}.intro-copy{max-width:42ch}.intro-links{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;margin-top:1.5rem}.hero-photo img{display:block;width:100%;height:auto;border-radius:var(--border-radius)}.home-section{padding-block:1.5rem 2rem}.section-heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:0.5rem 1rem}.section-heading h2{margin-block:1rem}.work-grid{display:grid;gap:1.5rem;margin-top:1rem}.work-card{min-width:0;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--border-radius)}.screenshot-frame{display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#edf1f7}.screenshot-frame img{display:block;height:21rem;width:auto;object-fit:contain}.work-card-copy{padding:1.5rem}.work-card-copy .eyebrow{margin-top:0}.work-card h3{margin-block:0.5rem}.studio-link{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--color-border)}.project-detail{display:grid;align-items:center;gap:1.5rem 2.5rem}.project-detail h2{margin-top:0.5rem}.project-screenshot{width:min(100%,14rem);margin-inline:auto}.project-screenshot img{display:block;width:100%;height:auto}.app-preview{display:block;width:min(100%,20rem);height:auto;border-radius:var(--border-radius);background:#070b0d}@media (max-width:767px){.site-header-inner{gap:1rem}.nav-toggle{display:block;position:absolute;width:1px;height:1px;opacity:0}.nav-toggle-label{display:flex;flex:0 0 44px;flex-direction:column;align-items:center;justify-content:center;gap:4px;height:44px;cursor:pointer;border-radius:0.375rem}.nav-toggle-label span{display:block;width:24px;height:3px;border-radius:2px;background-color:var(--color-text)}.nav-toggle:focus-visible + .nav-toggle-label{outline:3px solid var(--color-primary);outline-offset:4px}.site-navigation{display:none;position:absolute;top:100%;right:0;width:min(70vw,20rem);max-height:calc(100dvh - 104px);overflow-y:auto;flex-direction:column;flex-wrap:nowrap;gap:0;background-color:var(--color-background);border:1px solid var(--color-border);border-top:none;border-bottom-left-radius:var(--border-radius);box-shadow:0 8px 24px rgba(0,0,0,0.08)}.site-navigation a{display:block;padding:0.75rem;border-radius:0;border-bottom:1px solid var(--color-border)}.site-navigation a:last-child{border-bottom:none}.nav-toggle:checked ~ .site-navigation{display:flex}.nav-toggle:checked ~ .nav-backdrop{display:block;position:fixed;inset:0;z-index:-1;background-color:rgba(0,0,0,0.4)}.nav-toggle:checked + .nav-toggle-label span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle:checked + .nav-toggle-label span:nth-child(2){opacity:0}.nav-toggle:checked + .nav-toggle-label span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}}@media (min-width:650px){.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-detail{grid-template-columns:minmax(0,1fr) 13rem}}@media (min-width:800px){.intro-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}