@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:100;src:url(/_astro/montserrat-latin-100-normal.DmCriHno.woff2)format("woff2"),url(/_astro/montserrat-latin-100-normal.D4FxLqud.woff)format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/montserrat-latin-400-normal.BLhwKU8k.woff2)format("woff2"),url(/_astro/montserrat-latin-400-normal.xItZbAXg.woff)format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/montserrat-latin-700-normal.BdjcYUrC.woff2)format("woff2"),url(/_astro/montserrat-latin-700-normal.BWkrl476.woff)format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(/_astro/montserrat-latin-800-normal.axpkC1rd.woff2)format("woff2"),url(/_astro/montserrat-latin-800-normal.C3dfDxXV.woff)format("woff")}@font-face{font-family:Montserrat;font-style:italic;font-display:swap;font-weight:700;src:url(/_astro/montserrat-latin-700-italic.CBaAd72i.woff2)format("woff2"),url(/_astro/montserrat-latin-700-italic.ar65gs44.woff)format("woff")}@font-face{font-family:Montserrat;font-style:italic;font-display:swap;font-weight:800;src:url(/_astro/montserrat-latin-800-italic.DyMN9dWi.woff2)format("woff2"),url(/_astro/montserrat-latin-800-italic.9p4-1b3s.woff)format("woff")}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/lato-latin-400-normal.BEhtfm5r.woff2)format("woff2"),url(/_astro/lato-latin-400-normal.B11PyLys.woff)format("woff")}@font-face{font-family:Lato;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/lato-latin-400-italic.Dc0B1559.woff2)format("woff2"),url(/_astro/lato-latin-400-italic.DL5fBv-7.woff)format("woff")}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/lato-latin-700-normal.BUGMgin4.woff2)format("woff2"),url(/_astro/lato-latin-700-normal.DAdL7O4w.woff)format("woff")}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:100;src:url(/_astro/fira-sans-greek-100-normal.BPH_SO15.woff2)format("woff2"),url(/_astro/fira-sans-greek-100-normal.BXExIVvv.woff)format("woff")}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/fira-sans-greek-400-normal.BFCFncbp.woff2)format("woff2"),url(/_astro/fira-sans-greek-400-normal.DQ8sF22y.woff)format("woff")}@font-face{font-family:Fira Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/fira-sans-greek-400-italic.CIBgJGMf.woff2)format("woff2"),url(/_astro/fira-sans-greek-400-italic.DVTb3Fp1.woff)format("woff")}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/fira-sans-greek-700-normal.BVfcrbV7.woff2)format("woff2"),url(/_astro/fira-sans-greek-700-normal.CJu31rC4.woff)format("woff")}@font-face{font-family:Fira Sans;font-style:italic;font-display:swap;font-weight:700;src:url(/_astro/fira-sans-greek-700-italic.C9PdtkfD.woff2)format("woff2"),url(/_astro/fira-sans-greek-700-italic._E02EaJ7.woff)format("woff")}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:800;src:url(/_astro/fira-sans-greek-800-normal.b8YdJQWJ.woff2)format("woff2"),url(/_astro/fira-sans-greek-800-normal.BamNiOtk.woff)format("woff")}@font-face{font-family:Fira Sans;font-style:italic;font-display:swap;font-weight:800;src:url(/_astro/fira-sans-greek-800-italic.B5rplDH2.woff2)format("woff2"),url(/_astro/fira-sans-greek-800-italic.nZbXqBaQ.woff)format("woff")}:root{--primary-font:"Lato", "Fira Sans", system-ui, sans-serif;--secondary-font:"Montserrat", "Fira Sans", system-ui, sans-serif;--site-dark:#161616;--site-dark-2:#1e1e24;--site-card:#201f25;--hero-photo-w:40%;--hero-text-w:60%}@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.35s}.navbar-brand{view-transition-name:site-logo}#menu-toggle{view-transition-name:menu-toggle}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}body.page-dark{background-color:var(--site-dark)}.shock-header .navbar.navbar-menu-grid .navbar-brand .main-logo{display:block}.navbar.navbar-menu-grid .navbar-brand .logo{width:auto;height:140px;max-height:140px}@media (width<=991.98px){.navbar.navbar-menu-grid .navbar-brand .logo{height:110px;max-height:110px}}@media (width<=767.98px){.navbar.navbar-menu-grid .navbar-brand .logo{height:90px;max-height:90px}}:root .menu-grid.scheme-1{--color-1:#1e1e24}.menu-grid-main-item.active .text{color:var(--primary-color)}.home-hero{background-color:var(--site-dark);min-height:100svh;padding:0;display:flex}.home-hero-photo{flex:0 0 var(--hero-photo-w);margin:0;position:relative}.home-hero-photo .item,.home-hero-photo .image-wrapper{height:100%;display:block}.home-hero-photo .image{object-fit:cover;object-position:50% 30%;width:100%;height:100%;min-height:100svh}.home-hero-text{flex:1 1 var(--hero-text-w);align-items:center;padding:6rem 6vw 3.5rem;display:flex}.home-hero .side-intro{max-width:100%}.home-hero .title{margin:0;line-height:1.05}.home-hero .title .text-1{color:var(--gray-color);-webkit-text-stroke-color:var(--gray-color);font-size:clamp(2rem,3.6vw,3.6rem)}.home-hero .title .text-2{color:var(--white-color);margin-top:.75rem;display:block}.home-hero .typed-cursor{color:var(--white-color);font-weight:300}@media (width<=767.98px){.home-hero{flex-direction:column}.home-hero-photo{flex-basis:auto}.home-hero-photo .image{height:70svh;min-height:0}.home-hero-text{padding:3rem 1.5rem 4rem}}.page-intro{padding:11rem 0 4rem}.page-intro .title{margin:0}.page-intro .text-1{color:var(--gray-color);-webkit-text-stroke-color:var(--gray-color)}.page-intro .text-2{color:var(--white-color)}.page-intro .description{color:var(--gray-color);max-width:40rem;margin-top:1.5rem}body:not(.page-dark) .page-intro .text-2{color:var(--black-color)}@media (width<=767.98px){.page-intro{padding:8rem 0 2.5rem}}.page-intro--inline .title{line-height:1.1}.page-intro--inline .side-intro .title>span{margin:0 .25em 0 0;display:inline}:root{--page-title-size:clamp(2.2rem, 4.2vw, 3.8rem)}.page-intro .title .text-1,.page-intro .title .text-2{font-size:var(--page-title-size);line-height:1.1}.intro-highlight{color:var(--primary-color);-webkit-text-fill-color:var(--primary-color)}@font-face{font-family:Name Playfair;src:url(/fonts/name/playfair.woff2)format("woff2");font-weight:100 900;font-display:block}@font-face{font-family:Name Pacifico;src:url(/fonts/name/pacifico.woff2)format("woff2");font-weight:100 900;font-display:block}@font-face{font-family:Name Pixel;src:url(/fonts/name/pixel.woff2)format("woff2");font-weight:100 900;font-display:block}@font-face{font-family:Name Monoton;src:url(/fonts/name/monoton.woff2)format("woff2");font-weight:100 900;font-display:block}@font-face{font-family:Name Marker;src:url(/fonts/name/marker.woff2)format("woff2");font-weight:100 900;font-display:block}@font-face{font-family:Name Fraktur;src:url(/fonts/name/fraktur.woff2)format("woff2");font-weight:100 900;font-display:block}@font-face{font-family:Name Mono;src:url(/fonts/name/mono.woff2)format("woff2");font-weight:100 900;font-display:block}@font-face{font-family:Name Bungee;src:url(/fonts/name/bungee.woff2)format("woff2");font-weight:100 900;font-display:block}@font-face{font-family:Name Rye;src:url(/fonts/name/rye.woff2)format("woff2");font-weight:100 900;font-display:block}.home-hero .name-morph{white-space:nowrap;align-items:center;height:1.45em;font-size:1.12em;display:flex;position:relative}.home-hero .name-morph-text{font-size:calc(var(--fit,1) * 1em);color:var(--primary-color);-webkit-text-fill-color:var(--primary-color);-webkit-text-stroke-width:0;text-shadow:0 0 .5em #07beb859;transition:font-size .6s cubic-bezier(.34,1.56,.64,1)}.home-hero .name-morph-measure{visibility:hidden;white-space:nowrap;pointer-events:none;position:absolute;top:0;left:0}.post-card{background-color:var(--site-card);border-radius:6px;height:100%;transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden}.post-card:hover{transform:translateY(-4px);box-shadow:0 1.5rem 3rem #00000059}.post-card .post-card-cover{aspect-ratio:16/9;overflow:hidden}.post-card .post-card-cover img{object-fit:cover;width:100%;height:100%;transition:transform .6s}.post-card:hover .post-card-cover img{transform:scale(1.05)}.post-card .card-body{padding:1.75rem}.post-card .title{color:var(--white-color);margin:.9rem 0 .6rem}.post-card .description{color:var(--gray-color)}.post-card .card-metadata{color:var(--gray-color);border-top:1px solid #ffffff12;gap:1.25rem;margin-top:1.25rem;padding-top:1rem;font-size:.85rem;display:flex}.post-card .card-metadata .icon{margin-right:.4rem}.post-card .full-link{z-index:2;position:absolute;inset:0}.badge.site-badge{color:var(--primary-color);font-family:var(--secondary-font);text-transform:uppercase;letter-spacing:.14em;background:#07beb814;border:1px solid #07beb859;border-radius:999px;align-items:center;gap:.45em;padding:.5em .95em .5em .8em;font-size:.62rem;font-weight:800;line-height:1;transition:background-color .2s,color .2s;display:inline-flex}.badge.site-badge:before{content:"";background:currentColor;border-radius:2px;flex:none;width:.5em;height:.5em;transform:rotate(45deg)}a.badge.site-badge:hover{background:var(--primary-color);color:var(--black-color)}.article-hero{padding:11rem 0 3rem}.article-hero .meta{color:var(--gray-color);flex-wrap:wrap;gap:1.25rem;margin-top:1.5rem;font-size:.95rem;display:flex}.article-hero .meta .icon{margin-right:.4rem}.article-cover{margin-bottom:3rem}.article-cover img{object-fit:cover;border-radius:6px;width:100%;max-height:70vh}.article-body.content{color:#c9cad3;font-size:1.125rem;line-height:1.75}.article-body.content :is(h2,h3,h4){color:var(--white-color);margin:2.5rem 0 1rem}.article-body.content a{color:var(--primary-color);text-underline-offset:3px;text-decoration:underline}.article-body.content strong{color:var(--white-color)}.article-body.content img{border-radius:6px;max-width:100%;height:auto}.article-body.content blockquote{border-left:3px solid var(--primary-color);color:var(--white-color);margin:2rem 0;padding:.25rem 0 .25rem 1.5rem;font-size:1.25rem;font-style:italic}.article-body.content pre{border-radius:6px;margin:1.5rem 0;padding:1.25rem;font-size:.9rem}.article-body.content :not(pre)>code{color:var(--white-color);background:#ffffff14;border-radius:4px;padding:.1em .35em;font-size:.9em}.article-body.content hr{border-color:#ffffff26;margin:3rem 0}.article-body.content table{border-collapse:collapse;width:100%;margin:1.5rem 0}.article-body.content th,.article-body.content td{text-align:left;border-bottom:1px solid #ffffff1a;padding:.6rem .5rem}.article-footer{border-top:1px solid #ffffff14;margin-top:3.5rem;padding-top:2rem}.tag-list{flex-wrap:wrap;gap:.5rem;display:flex}.tag-list .tag{color:var(--gray-color);background:#ffffff0d;border:1px dashed #8f93a559;border-radius:999px;padding:.3rem .8rem;font-size:.78rem;font-weight:700;transition:transform .25s cubic-bezier(.34,1.56,.64,1),color .2s,border-color .2s,background-color .2s;display:inline-block}.tag-list .tag:nth-child(3n+2){--tag:var(--tertiary-color)}.tag-list .tag:nth-child(3n){--tag:var(--secondary-color)}.share-links{flex-wrap:wrap;align-items:center;gap:.45rem;margin-top:1.5rem;display:flex}.share-links .label{color:var(--gray-color);text-transform:uppercase;letter-spacing:.14em;margin-right:.35rem;font-size:.7rem}.share-links a,.share-links button{width:1.85rem;height:1.85rem;color:var(--white-color);cursor:pointer;background:0 0;border:1px solid #8f93a559;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:.72rem;transition:background-color .2s,border-color .2s,color .2s;display:inline-flex}.share-links a:hover,.share-links button:hover{background:var(--primary-color);border-color:var(--primary-color);color:var(--black-color)}.share-links .copied{position:relative}.share-links .copied:after{content:"Copied!";color:var(--primary-color);white-space:nowrap;font-size:.75rem;position:absolute;top:-1.9rem;left:50%;transform:translate(-50%)}.post-nav{justify-content:space-between;gap:1rem;margin-top:3rem;display:flex}.post-nav a{color:var(--white-color);max-width:48%}.post-nav small{color:var(--gray-color);text-transform:uppercase;letter-spacing:.12em;margin-bottom:.3rem;font-size:.75rem;display:block}.post-nav a:hover{color:var(--primary-color)}.callout{background:var(--primary-15-color);border-left:3px solid var(--primary-color);color:var(--white-color);border-radius:6px;margin:2rem 0;padding:1.25rem 1.5rem;font-size:1rem}.callout.tertiary{background:var(--tertiary-15-color);border-color:var(--tertiary-color)}.callout.secondary{background:var(--secondary-15-color);border-color:var(--secondary-color)}.callout .callout-title{font-weight:800;font-family:var(--secondary-font);margin-bottom:.35rem;display:block}.callout p:last-child{margin-bottom:0}.figure-mdx{margin:2.5rem 0}.figure-mdx figcaption{color:var(--gray-color);text-align:center;margin-top:.75rem;font-size:.9rem}.project-card{background:var(--site-card);border-radius:6px;height:100%;display:block;position:relative;overflow:hidden}.project-card .image-wrapper{aspect-ratio:16/9;overflow:hidden}.project-card .image-wrapper img{object-fit:cover;width:100%;height:100%;transition:transform .6s,filter .6s}.project-card:hover .image-wrapper img{transform:scale(1.03)}.project-card .project-card-body{padding:1.25rem 1.5rem 1.5rem}.project-card .title{color:var(--white-color);margin:0 0 .4rem}.project-card .description{color:#d4d5dc;margin:0;font-size:1.02rem;font-weight:700}.project-card .excerpt{color:var(--gray-color);-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;margin:.6rem 0 0;font-size:.95rem;line-height:1.6;display:-webkit-box;overflow:hidden}.project-meta-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 2rem;margin-top:1.75rem;display:flex}.project-meta{color:var(--gray-color);flex-wrap:wrap;align-items:center;gap:.4rem 1rem;margin:0;font-size:.92rem;display:flex}.project-meta>span:not(.badge)+span:not(.badge):before{content:"·";color:#8f93a599;margin-right:1rem}.project-links{flex-wrap:wrap;gap:.75rem;display:flex}.project-cta{background:var(--primary-color);border:2px solid var(--primary-color);font-family:var(--secondary-font);text-transform:uppercase;letter-spacing:.12em;border-radius:10px;align-items:center;gap:.7rem;padding:.7rem 1.25rem;font-size:.78rem;font-weight:800;text-decoration:none;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s;display:inline-flex;color:var(--black-color)!important}.project-cta i{transition:transform .25s}.project-cta:hover{box-shadow:4px 4px 0 var(--white-color);transform:translate(-2px,-2px)}.project-cta:hover i{transform:translate(4px)}.project-cta.secondary{background:0 0;border-color:#ffffff4d;color:var(--white-color)!important}@media (prefers-reduced-motion:reduce){.project-cta,.project-cta i{transition:none}}.about-grid{padding:11rem 0 6rem}.about-grid .about-image img{border-radius:6px;width:100%}.contact-form .form-control{color:var(--white-color);background-color:#0000;border-color:#8f93a573}.contact-form .form-control:focus{border-color:var(--primary-color);box-shadow:none}.contact-form .form-floating>label{color:var(--gray-color);left:calc(var(--bs-gutter-x) * .5)}.contact-form .hp-field{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.contact-form .form-status{min-height:1.5rem;margin-top:1rem}.contact-form .form-status.ok{color:var(--primary-color)}.contact-form .form-status.error{color:var(--danger-color)}.contact-form .send-button{color:var(--white-color);font-weight:800;font-family:var(--secondary-font);background:0 0;border:0;align-items:center;gap:.6rem;padding:.5rem 0;display:inline-flex}.contact-form .send-button:hover{color:var(--primary-color)}.contact-form .send-button[disabled]{opacity:.5}.skip-link{z-index:1001;background:var(--primary-color);color:var(--black-color);border-radius:4px;padding:.6rem 1rem;font-weight:700;transition:top .2s;position:fixed;top:-4rem;left:1rem}.skip-link:focus{top:1rem}:focus-visible{outline:2px solid var(--primary-color);outline-offset:3px}#main:focus{outline:none}button.menu-toggle{color:inherit;background:0 0;border:0;padding:0}.menu-toggle .menu-toggle-icon{top:0;left:0}.menu-toggle .menu-toggle-container,.menu-toggle .menu-toggle-path,.menu-toggle .path-animation,.menu-toggle .path-rotation{display:block}.menu-grid .menu-grid-main-item{padding:.55rem 1rem;font-size:clamp(2rem,min(6.5vh,7vw),4.6rem)}.menu-grid-extra{flex-wrap:wrap;justify-content:center;gap:.4rem 1.6rem;margin-top:2rem;display:flex}.menu-grid-extra a{color:var(--gray-color);font-family:var(--secondary-font);text-transform:uppercase;letter-spacing:.14em;opacity:0;font-size:.8rem;font-weight:700;text-decoration:none}.menu-grid-extra a:hover,.menu-grid-extra a:focus-visible{color:var(--primary-color)}@media (width>=768px){.menu-grid{grid-template-columns:var(--hero-photo-w) var(--hero-text-w);grid-template-rows:100%;grid-template-areas:".item1";display:grid}.menu-grid .menu-grid-item.item-1{grid-area:item1;width:100%;height:100%}}.typed-cursor{color:var(--white-color);margin-left:.05em;font-weight:300;animation:.7s infinite typed-blink;display:inline-block}.typed-cursor.typing{animation:none}@keyframes typed-blink{50%{opacity:0}}.site-lightbox{color:#fff;background:#0a0a0cf0;border:0;width:100vw;max-width:none;height:100vh;max-height:none;margin:0;padding:0}.site-lightbox[open]{flex-direction:column;justify-content:center;align-items:center;animation:.25s lb-in;display:flex}.site-lightbox::backdrop{background:0 0}@keyframes lb-in{0%{opacity:0}}.site-lightbox .lb-stage{flex:1;justify-content:center;align-items:center;width:100%;min-height:0;padding:4.5rem 5rem 1rem;display:flex}.site-lightbox .lb-stage img{object-fit:contain;border-radius:4px;max-width:100%;max-height:100%;box-shadow:0 2rem 4rem #00000080}.site-lightbox .lb-stage iframe{aspect-ratio:16/9;border:0;width:min(100%,1200px)}.site-lightbox .lb-caption{min-height:1.5rem;color:var(--gray-color);text-align:center;margin:0 1rem 1.5rem}.site-lightbox .lb-btn{color:#fff;background:#0006;border:1px solid #ffffff40;border-radius:50%;width:3rem;height:3rem;font-size:1.1rem;position:absolute}.site-lightbox .lb-btn:hover{background:var(--primary-color);color:var(--black-color);border-color:var(--primary-color)}.site-lightbox .lb-close{top:1.25rem;right:1.25rem}.site-lightbox .lb-prev{top:50%;left:1.25rem;transform:translateY(-50%)}.site-lightbox .lb-next{top:50%;right:1.25rem;transform:translateY(-50%)}.site-lightbox .lb-counter{color:var(--gray-color);font-size:.85rem;position:absolute;top:1.9rem;left:1.5rem}@media (width<=575.98px){.site-lightbox .lb-stage{padding:4.5rem .5rem 1rem}.site-lightbox .lb-prev,.site-lightbox .lb-next{top:auto;bottom:1rem;transform:none}}.empty-note{color:var(--gray-color)}.tag-cloud-section{margin-top:3.5rem}.tag-list a.tag{text-decoration:none;transition:all .2s}.tag-list a.tag:hover,.tag-list a.tag.active{color:var(--white-color);background:var(--tag,var(--primary-color));border-color:var(--tag,var(--primary-color));border-style:solid;transform:rotate(-3deg)scale(1.06)}.post-card .badge.site-badge{z-index:3;text-decoration:none;position:relative}.series-badge{color:var(--gray-color);margin-left:.6rem;font-size:.8rem}.article-hero .lede{color:var(--gray-color);max-width:46rem;margin:1rem 0 0;font-size:1.2rem}.article-layout.has-toc{grid-template-columns:minmax(0,1fr) 15rem;align-items:start;gap:3rem;display:grid}.article-layout.has-toc .toc{order:2;position:sticky;top:2rem}@media (width<=991.98px){.article-layout.has-toc{display:block}.article-layout.has-toc .toc{margin-bottom:2rem;position:static}}.toc{font-size:.9rem}.toc summary{color:var(--white-color);font-weight:700;font-family:var(--secondary-font);cursor:pointer;text-transform:uppercase;letter-spacing:.12em;margin-bottom:.75rem;font-size:.75rem}.toc ol{border-left:1px solid #ffffff1a;margin:0;padding:0 0 0 .9rem;list-style:none}.toc li{margin:.45rem 0}.toc li.depth-3{padding-left:.9rem;font-size:.85rem}.toc a{color:var(--gray-color);text-decoration:none;transition:color .2s}.toc a:hover,.toc a.active{color:var(--primary-color)}.article-body.content :is(h2,h3){scroll-margin-top:2rem}.series-nav{background:var(--site-card);border-left:3px solid var(--secondary-color);border-radius:6px;margin:0 0 2.5rem;padding:1.25rem 1.5rem}.series-nav-title{color:var(--gray-color);margin:0 0 .6rem;font-size:.9rem}.series-nav-title strong{color:var(--white-color)}.series-nav ol{margin:0;padding-left:1.25rem}.series-nav li{color:var(--gray-color);margin:.25rem 0}.series-nav li a{color:#c9cad3}.series-nav li a:hover{color:var(--primary-color)}.series-nav li.current span{color:var(--white-color);font-weight:700}.related-posts,.webmentions{margin-top:4rem}.wm-faces{flex-wrap:wrap;gap:.35rem;margin-bottom:1rem;display:flex}.wm-faces img,.wm-faces .wm-initial,.wm-replies img,.wm-replies .wm-initial{object-fit:cover;border-radius:50%;width:36px;height:36px}.wm-initial{background:var(--secondary-color);color:#fff;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.wm-replies{margin:0;padding:0;list-style:none}.wm-replies li{border-bottom:1px solid #ffffff12;gap:.9rem;padding:1rem 0;display:flex}.wm-replies a{color:var(--white-color)}.wm-replies p{color:#c9cad3;margin:.2rem 0 0}.wm-status{color:var(--gray-color);font-size:.9rem}.form-status.ok{color:var(--primary-color)}.form-status.error{color:#ff6b81}.hp-field{width:1px;height:1px;left:-10000px;overflow:hidden;position:absolute!important}.video-embed{margin:2rem 0}.video-facade{aspect-ratio:16/9;background:var(--site-card) center / cover no-repeat;cursor:pointer;border:0;border-radius:6px;width:100%;display:block;position:relative;overflow:hidden}.video-facade:after{content:"";background:linear-gradient(#0000001a 40%,#000000bf);position:absolute;inset:0}.video-play{z-index:1;background:var(--tertiary-color);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:4.5rem;height:4.5rem;font-size:1.5rem;transition:transform .25s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.video-facade:hover .video-play{transform:translate(-50%,-50%)scale(1.1)}.video-title{z-index:1;color:#fff;text-align:left;font-weight:700;font-family:var(--secondary-font);position:absolute;bottom:1rem;left:1.25rem;right:1.25rem}.video-embed iframe{aspect-ratio:16/9;border:0;border-radius:6px;width:100%}.mdx-gallery{columns:var(--cols,3) 220px;column-gap:.9rem;margin:2rem 0}.mdx-gallery a{break-inside:avoid;border-radius:6px;margin-bottom:.9rem;display:block;overflow:hidden}.mdx-gallery img{width:100%;height:auto;transition:transform .5s,filter .5s;display:block}.mdx-gallery a:hover img{filter:brightness(1.1);transform:scale(1.04)}.code-demo{margin:2rem 0}.code-demo iframe{background:#fff;border:1px solid #ffffff1a;border-radius:6px;width:100%}.code-demo figcaption{color:var(--gray-color);margin-top:.5rem;font-size:.85rem}.code-demo figcaption a{color:var(--primary-color)}.code-playground{background:var(--site-card);border:1px solid #ffffff1a;border-radius:6px;margin:2rem 0;overflow:hidden}.pg-header{color:var(--white-color);border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:.6rem 1rem;font-size:.9rem;font-weight:700;display:flex}.pg-header button,.pg-tabs button{color:var(--gray-color);background:0 0;border:1px solid #ffffff26;border-radius:4px;padding:.2rem .7rem;font-size:.8rem}.pg-tabs{gap:.4rem;padding:.6rem 1rem 0;display:flex}.pg-tabs button[aria-selected=true]{color:var(--black-color);background:var(--primary-color);border-color:var(--primary-color)}.pg-body{height:var(--pg-height);grid-template-columns:1fr 1fr;gap:0 1rem;padding:.6rem 1rem 1rem;display:grid}.pg-body textarea{resize:none;color:#e6e6e6;tab-size:2;background:#141418;border:1px solid #ffffff14;border-radius:4px;width:100%;height:100%;padding:.8rem;font:.85rem/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}.pg-body textarea:focus{border-color:var(--primary-color);outline:none}.pg-preview{background:#1e1e24;border:1px solid #ffffff14;border-radius:4px;width:100%;height:100%}@media (width<=767.98px){.pg-body{grid-template-columns:1fr;height:auto}.pg-body textarea,.pg-preview{height:220px}}.social-row{gap:.75rem;margin-top:2rem;display:flex}.social-row a{width:2.6rem;height:2.6rem;color:var(--white-color);border:1px solid #8f93a559;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:inline-flex}.social-row a:hover{background:var(--primary-color);border-color:var(--primary-color);color:var(--black-color)}.timeline-section{margin-top:6rem}.timeline-heading{margin:0 0 3.5rem;line-height:1.1}.timeline-heading .text-1{color:var(--gray-color);-webkit-text-stroke-color:var(--gray-color)}.timeline-heading .text-2{color:var(--white-color);margin-top:.4rem}.timeline{margin:0;padding:0 0 0 2.25rem;list-style:none;position:relative}.timeline:before{content:"";background:linear-gradient(var(--primary-color), var(--secondary-color), var(--tertiary-color));width:2px;position:absolute;top:.5rem;bottom:.5rem;left:.95rem}.timeline li{padding:0 0 2.25rem 1.5rem;position:relative}.timeline-icon{background:var(--site-dark);border:2px solid var(--primary-color);width:2rem;height:2rem;color:var(--primary-color);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:.8rem;transition:transform .2s,background-color .2s;display:flex;position:absolute;top:0;left:-2.25rem}.timeline-icon:hover{background:var(--primary-25-color);transform:scale(1.15)}.timeline-year{color:var(--primary-color);font-weight:800;font-family:var(--secondary-font);letter-spacing:.08em;font-size:.85rem}.timeline-title{color:var(--white-color);margin:.2rem 0 .3rem;font-size:1.25rem}.timeline p{color:var(--gray-color);margin:0}.now-meta{color:var(--gray-color);margin-bottom:2rem}.now-meta i{color:var(--primary-color);margin-right:.3rem}.now-footnote{color:var(--gray-color);border-top:1px solid #ffffff14;margin-top:3rem;padding-top:1.5rem;font-size:.9rem}.now-footnote a{color:var(--primary-color)}.book-hero{padding:10rem 0 3rem}.book-cover img{border-radius:4px;max-width:min(100%,26rem);height:auto;transition:transform .6s;transform:perspective(1200px)rotateY(-8deg);box-shadow:0 2rem 4rem #0009,0 0 0 1px #ffffff0d}.book-cover a:hover img{transform:perspective(1200px)rotateY(0)}.book-title{font-family:var(--secondary-font);color:var(--white-color);margin:1rem 0 .5rem;font-size:clamp(2.6rem,6vw,4.5rem);font-style:italic;font-weight:800}.book-tagline{color:var(--primary-color);font-size:1.3rem;font-weight:700}.book-blurb{color:#e3e3ea;font-size:1.15rem;line-height:1.7}.book-blurb-en{color:var(--gray-color)}.book-buy{flex-wrap:wrap;gap:1rem;margin-top:2rem;display:flex}.book-buy-btn{color:var(--white-color);border:1px solid #fff3;border-radius:6px;align-items:center;gap:.9rem;padding:.85rem 1.4rem;text-decoration:none;transition:all .2s;display:inline-flex}.book-buy-btn i{font-size:1.4rem}.book-buy-btn span{flex-direction:column;line-height:1.2;display:flex}.book-buy-btn small{color:var(--gray-color)}.book-buy-btn.primary{background:var(--primary-color);border-color:var(--primary-color);color:var(--black-color)}.book-buy-btn.primary small{color:#0009}.book-buy-btn:hover{border-color:var(--white-color);transform:translateY(-2px)}.stats-row{border-top:1px solid #ffffff14;border-bottom:1px solid #ffffff14;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:1rem;margin:0;padding:2rem 0;display:grid}.stats-row dt{color:var(--gray-color);text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:400}.stats-row dd{color:var(--white-color);font-family:var(--secondary-font);margin:0;font-size:2.4rem;font-weight:800}.book-section{padding:4rem 0 0}.section-lede{color:var(--gray-color);margin-bottom:2rem}.book-pillar{background:var(--site-card);border-radius:6px;height:100%;padding:1.75rem}.book-pillar h2{color:var(--white-color);font-size:1.4rem;font-style:italic;font-weight:800}.book-pillar p{color:#c9cad3;margin:0}.book-back-thumb{color:var(--gray-color);font-family:var(--secondary-font);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.9rem;margin-top:1.75rem;font-size:.85rem;font-weight:700;text-decoration:none;display:inline-flex}.book-back-thumb img{border-radius:3px;width:4.5rem;height:auto;transition:transform .3s;box-shadow:0 .75rem 1.5rem #00000080}.book-back-thumb:hover{color:var(--primary-color)}.book-back-thumb:hover img{transform:rotate(-4deg)scale(1.05)}.book-synopsis{grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:start;gap:2rem 4rem;display:grid}.book-synopsis .title{margin:0;line-height:1.05}.book-synopsis .title span{font-family:var(--secondary-font);font-size:clamp(2.2rem,4.5vw,3.6rem);font-style:italic;font-weight:800}.book-synopsis .text-1{color:var(--gray-color)}.book-synopsis .text-2{color:var(--white-color)}.book-synopsis p{color:#e3e3ea;font-size:1.15rem;line-height:1.75}.book-author{background:var(--site-card);border-radius:6px;grid-template-columns:minmax(0,18rem) minmax(0,1fr);align-items:center;gap:2rem 3.5rem;padding:2rem;display:grid}.book-author img{border-radius:4px;width:100%;height:auto}.book-author p{color:#c9cad3;font-size:1.05rem;line-height:1.7}@media (width<=767.98px){.book-synopsis,.book-author{grid-template-columns:1fr}.book-author{padding:1.5rem}}.spotify-embed{aspect-ratio:16/9;border:0;border-radius:12px;width:100%;min-height:352px}.quotes{columns:2 20rem;column-gap:1.5rem}.quote{break-inside:avoid;background:var(--site-card);border-radius:6px;margin:0 0 1.5rem;padding:1.5rem}.quote blockquote{color:#e3e3ea;margin:0 0 .8rem;font-size:1.05rem;font-style:italic}.quote figcaption{color:var(--white-color);font-weight:700}.quote figcaption span{color:var(--gray-color);font-weight:400}.interviews{padding-left:1.2rem}.interviews li{color:var(--gray-color);margin:.4rem 0}.interviews a{color:var(--primary-color)}.page-book .shock-main{padding-bottom:5rem}.not-found{align-items:center;min-height:100svh;padding:9rem 0 4rem;display:flex;position:relative;overflow:hidden}.not-found-code{font-family:var(--secondary-font);color:#0000;-webkit-text-stroke:1px #8f93a52e;pointer-events:none;margin:0;font-size:36vw;font-style:italic;font-weight:800;line-height:1;position:absolute;bottom:-6vw;right:-2vw}.not-found .text-1{color:var(--gray-color);-webkit-text-stroke-color:var(--gray-color)}.not-found .text-2{color:var(--white-color)}.not-found-links{flex-wrap:wrap;gap:2.5rem;margin-left:2rem;display:flex}.system-table th{width:12rem}.showcase{padding-bottom:6rem}.showcase-body>h2{border-top:1px solid #ffffff14;padding-top:1.5rem;margin-top:4.5rem!important}.showcase-body>h2:first-child{border-top:0;padding-top:0;margin-top:0!important}.debug-grid{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem;font-size:.9rem;display:grid}.debug-card{background:var(--site-card);border-radius:6px;padding:1.25rem}.debug-card.wide{grid-column:1/-1}.debug-card h3{text-transform:uppercase;letter-spacing:.14em;justify-content:space-between;align-items:center;display:flex;color:var(--gray-color)!important;margin:0 0 .9rem!important;font-size:.8rem!important}.debug-card dl{grid-template-columns:auto 1fr;gap:.35rem 1rem;margin:0;display:grid}.debug-card dt{color:var(--gray-color);font-weight:400}.debug-card dd{color:var(--white-color);word-break:break-word;margin:0}.flag-list{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.flag-list li{color:var(--white-color);flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.flag-list small{color:var(--gray-color);flex-basis:100%;margin-top:-.3rem;padding-left:1.2rem}.dot{background:var(--gray-50-color);border-radius:50%;flex:none;width:.65rem;height:.65rem}.dot.on{background:#2ecc71;box-shadow:0 0 .5rem #2ecc71}.dot.off{background:#ff6b81}.mini-btn{color:var(--gray-color);letter-spacing:.08em;background:0 0;border:1px solid #fff3;border-radius:4px;padding:.15rem .5rem;font-size:.7rem}.type-scale{gap:.3rem;margin:2rem 0;display:grid;overflow:hidden}.palette{grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.75rem;margin:2rem 0;display:grid}.swatch span{background:var(--c);border:1px solid #ffffff1a;border-radius:6px;height:3.5rem;display:block}.swatch code{color:var(--gray-color)!important;background:0 0!important;padding:0!important;font-size:.75rem!important}.magnetic-demo{border:1px dashed var(--primary-color);color:var(--primary-color);border-radius:999px;padding:.3rem .9rem;display:inline-block}.feature-links{grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:.75rem;margin:1.5rem 0;display:grid}.feature-links a{background:var(--site-card);border-radius:6px;align-items:center;gap:.7rem;padding:.9rem 1rem;transition:transform .2s,background .2s;display:flex;color:var(--white-color)!important;text-decoration:none!important}.feature-links a i{color:var(--primary-color);text-align:center;width:1.2rem}.feature-links a:hover{background:#2a2930;transform:translateY(-2px)}.og-preview{border:1px solid #ffffff1a;border-radius:6px;max-width:100%;height:auto}kbd{color:#fff;background:#ffffff1f;border-radius:4px;padding:.1em .45em;font-size:.85em}.showcase-intro .text-1{color:var(--gray-color);-webkit-text-stroke-color:var(--gray-color)}.showcase-intro .text-2{color:var(--white-color)}.text-outline{--outline-bg:var(--site-dark);paint-order:stroke fill;-webkit-text-fill-color:var(--outline-bg)!important;-webkit-text-stroke-width:2px!important}body:not(.page-dark) .text-outline{--outline-bg:var(--white-color)}html.menu-is-open{padding-right:var(--scrollbar-comp,0px);overflow:hidden}html.menu-is-open body{overscroll-behavior:none}body.menu-grid-backdrop{position:static;overflow:visible}body:after{content:"";z-index:11;pointer-events:none;background:var(--black-color);opacity:0;transition:opacity .6s cubic-bezier(.76,0,.24,1);position:fixed;inset:0}html.menu-is-open body:after{opacity:.5;transition-duration:.9s;transition-timing-function:cubic-bezier(.22,1,.36,1)}@media (prefers-reduced-motion:reduce){body:after{transition:none}}.typed-wrap{vertical-align:top;display:inline-grid}.typed-wrap>*{grid-area:1/1}.typed-wrap .typed-sizer{visibility:hidden;pointer-events:none}.typed-wrap .typed-line{white-space:normal}.site-footer{background:var(--site-dark);color:var(--gray-color);border-top:1px solid #ffffff0f;position:relative;overflow:hidden}.footer-marquee{padding:1.5rem 0 1rem;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.footer-marquee-track{width:max-content;animation:60s linear infinite footer-marquee;display:flex}.footer-marquee:hover .footer-marquee-track{animation-play-state:paused}.footer-marquee-group{flex-shrink:0;align-items:center;display:flex}.footer-marquee-item{font-family:var(--secondary-font);white-space:nowrap;color:#8f93a559;font-size:clamp(1.1rem,1.8vw,1.5rem);font-weight:800;line-height:1;transition:color .3s}.footer-marquee-item:hover{color:var(--white-color)}.footer-marquee-sep{color:var(--primary-color);margin:0 clamp(.9rem,1.6vw,1.4rem);font-size:.8rem}.footer-marquee-sep:nth-child(6n+4){color:var(--secondary-color)}.footer-marquee-sep:nth-child(6n){color:var(--tertiary-color)}@keyframes footer-marquee{to{transform:translate(-50%)}}.footer-bar{border-top:1px solid #ffffff14;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin:0 clamp(1.25rem,6vw,6rem);padding:1.25rem 0 1.5rem;display:flex}.footer-copy{letter-spacing:.06em;margin:0;font-size:.85rem}.footer-copy a{color:var(--white-color);text-decoration:none}.footer-copy a:hover{color:var(--primary-color)}.footer-social{align-items:center;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.footer-social li{margin:0;padding:0;line-height:1;display:flex}.footer-social a{width:2.4rem;height:2.4rem;color:var(--white-color);border:1px solid #8f93a559;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:inline-flex}.footer-social a:hover{background:var(--primary-color);border-color:var(--primary-color);color:var(--black-color)}@media (width<=575.98px){.footer-bar{text-align:center;flex-direction:column-reverse;justify-content:center}}@media (prefers-reduced-motion:reduce){.footer-marquee-track{animation:none}}.fx-layer{pointer-events:none;z-index:9990;position:fixed;inset:0;overflow:hidden}.burst-particle{will-change:transform, opacity;line-height:1;position:absolute;top:0;left:0}.burst-spark:before{content:"";background:currentColor;border-radius:50%;width:1em;height:1em;display:block;box-shadow:0 0 .6em}.burst-ring{pointer-events:none;border:2px solid;border-radius:50%;width:3.2rem;height:3.2rem;position:absolute}.jelly-word{white-space:nowrap;display:inline-block}.jelly-char{transform-origin:50% 90%;display:inline-block}.page-intro .title .text-1,.home-hero .title .text-1{cursor:pointer}.lego-piece{filter:drop-shadow(0 3px 3px #00000059);will-change:transform;line-height:1;position:absolute;top:0}.lego-piece svg{display:block}.fun-toast{z-index:9991;background:var(--site-card);color:var(--white-color);pointer-events:none;border:1px solid #ffffff1f;border-radius:999px;padding:.7rem 1.4rem;font-weight:700;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%,140%);box-shadow:0 1rem 2rem #0006}.shock-main{transition:transform 2.5s,filter 2.5s}body.is-sleepy .shock-main{transform-origin:50% var(--sleepy-origin,50%);filter:saturate(.55)brightness(.85);transform:rotate(.7deg)translateY(8px)}.sleepy-zzz{z-index:9991;pointer-events:none;font-family:var(--secondary-font);color:var(--primary-color);font-size:1.1rem;font-weight:800;position:fixed}.sleepy-zzz span{opacity:0;animation:3s ease-in infinite zzz;position:absolute;top:0;left:0}.sleepy-zzz span:nth-child(2){font-size:1.3em;animation-delay:1s}.sleepy-zzz span:nth-child(3){font-size:1.7em;animation-delay:2s}@keyframes zzz{0%{opacity:0;transform:translate(0)rotate(-10deg)}20%{opacity:1}to{opacity:0;transform:translate(-40px,70px)rotate(15deg)}}.filter-tabs{flex-wrap:wrap;gap:.75rem .7rem;margin-bottom:2.75rem;display:flex}.filter-tabs>*{--chip:var(--primary-color);--chip-ink:var(--black-color)}.filter-tabs>:nth-child(3n+2){--chip:var(--tertiary-color);--chip-ink:var(--white-color)}.filter-tabs>:nth-child(3n){--chip:var(--secondary-color);--chip-ink:var(--white-color)}.filter-tabs button,.filter-tabs a{background:var(--site-card);color:#d0d1d9;font-family:var(--secondary-font);letter-spacing:.03em;box-shadow:0 0 0 var(--chip);border:1.5px solid #ffffff1f;border-radius:10px;align-items:center;gap:.55rem;padding:.55rem .8rem .55rem .9rem;font-size:.82rem;font-weight:800;line-height:1.2;text-decoration:none;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s cubic-bezier(.34,1.56,.64,1),border-color .2s,color .2s,background-color .2s;display:inline-flex}.filter-tabs button:before,.filter-tabs a:before{content:"";background:var(--chip);border-radius:50%;flex:none;width:.55rem;height:.55rem;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.filter-tabs button:hover,.filter-tabs a:hover{color:var(--white-color);border-color:var(--chip);box-shadow:4px 4px 0 var(--chip);transform:translate(-2px,-2px)rotate(-1.5deg)}.filter-tabs button:hover:before,.filter-tabs a:hover:before{transform:scale(1.5)}.filter-tabs button.active,.filter-tabs a.active{background:var(--chip);border-color:var(--chip);color:var(--chip-ink);transform:translate(-2px,-2px);box-shadow:4px 4px #ffffffd9}.filter-tabs button.active:before,.filter-tabs a.active:before{background:var(--chip-ink)}.filter-tabs button:active,.filter-tabs a:active{box-shadow:0 0 0 var(--chip);transform:translate(1px,1px)}.filter-tabs .count{text-align:center;background:#ffffff14;border-radius:6px;min-width:1.5em;padding:.2em .45em;font-size:.68rem;font-weight:800}.filter-tabs .active .count{background:#0000002e}@media (prefers-reduced-motion:reduce){.filter-tabs button,.filter-tabs a{transition:none}}
