@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./onest-cyrillic-ext-wght-normal.DOFToQv1.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./onest-cyrillic-wght-normal.DayYxulF.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./onest-latin-wght-normal.Dun_Rd-l.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Unbounded Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./unbounded-cyrillic-ext-wght-normal.2qyXmZWE.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Unbounded Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./unbounded-cyrillic-wght-normal.C627f1f8.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Unbounded Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./unbounded-latin-wght-normal.D5afBTBx.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./jetbrains-mono-cyrillic-ext-wght-normal.EocZY2iu.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Unbounded Fallback;font-weight:100 900;size-adjust:130%;src:local(Arial Bold),local(Arial-BoldMT),local(Liberation Sans Bold),local(Helvetica Bold),local(Arimo Bold)}@font-face{font-family:Onest Fallback;font-weight:100 550;size-adjust:104%;src:local(Arial),local(ArialMT),local(Liberation Sans),local(Helvetica),local(Arimo)}@font-face{font-family:Onest Fallback;font-weight:551 900;size-adjust:104%;src:local(Arial Bold),local(Arial-BoldMT),local(Liberation Sans Bold),local(Helvetica Bold),local(Arimo Bold)}:root{--bg:#0a0a0b;--bg-2:#0e0f12;--surface:#1c1f26;--halo:radial-gradient(at 50% 45%, #96c3ff29, #96c3ff00 68%);--text:#f2f3f5;--text-2:#a8adb6;--text-3:#70757e;--accent:#9ad8ff;--accent-2:#9db4ff;--chrome-text:linear-gradient(#fff, #b4bac4);--chrome-line:linear-gradient(90deg, #ffffff26, #fff);--pearl:radial-gradient(circle at 32% 28%, #fff, #cfe0f2 20%, #59616e 62%, #121418);--glass:linear-gradient(135deg, #ffffff1f, #ffffff0a 45%, #ffffff12);--glass-shadow:inset 2px 2px 1px -1px #ffffff6b, inset -1px -1px 1px -1px #fff3, inset 0 0 32px #ffffff09, 0 24px 60px #00000073;--glow:0 0 18px #a0c8ff73;--hair:#ffffff24;--ease:cubic-bezier(.2, .7, .2, 1);--ease-out:cubic-bezier(.45, 0, .85, .6);--gutter:calc(clamp(16px, 5vw, 48px));--f-display:"Unbounded Variable", "Unbounded Fallback", "Unbounded", "Onest Variable", system-ui, sans-serif;--f-body:"Onest Variable", "Onest Fallback", "Onest", system-ui, -apple-system, "Segoe UI", sans-serif;--f-mono:"JetBrains Mono Variable", "JetBrains Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--header-h:64px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(16px + var(--header-h))}body,html{overflow-x:clip}body{background:var(--bg);color:var(--text);font:400 1rem/1.5 var(--f-body);background-image:radial-gradient(at 82% 0,#1c1f26,#0e0f12 52%,#0a0a0b);background-attachment:fixed;margin:0}.shell,body{min-height:100vh}.shell{flex-direction:column;display:flex}.shell>main{flex:1}img,svg{max-width:100%}a{color:var(--accent);text-underline-offset:3px}a:hover{color:#fff}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}::selection{background:#9ad8ff4d}h1,h2,h3,h4{margin:0;font-weight:600;line-height:1.15}p{margin:0 0 1em}ol,ul{margin:0;padding:0}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.mono{font-family:var(--f-mono)}.muted{color:var(--text-2);font-size:.9rem}.skip{z-index:100;background:var(--accent);color:#06121a;border-radius:9999px;padding:10px 16px;font-weight:600;text-decoration:none;position:fixed;top:-80px;left:12px}main:focus{outline:none}.skip:focus{top:12px}.wrap{width:min(100% - 2 * var(--gutter),1200px);margin-inline:auto}.hide-sm{display:none}.chrome{font-family:var(--f-display);color:#e6e9ee;letter-spacing:-.02em}@supports ((-webkit-background-clip:text) or (background-clip:text)){.chrome{background:var(--chrome-text);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text}}h1.chrome{letter-spacing:-.035em;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;font-size:calc(clamp(2.1rem,7vw,4.4rem));font-weight:700;line-height:1.04}h2.chrome{font-size:calc(clamp(1.6rem,4vw,2.5rem));font-weight:600;line-height:1.12}h2.chrome a{color:inherit;text-decoration:none}h2.chrome a:hover{-webkit-text-decoration:underline #fff6;text-decoration:underline #fff6}h3{margin-bottom:.5em;font-size:1.15rem}.lead{max-width:60ch;margin-top:1.1rem;font-size:calc(clamp(1.02rem,2.2vw,1.2rem))}.lead,.sub{color:var(--text-2)}.sub{max-width:62ch;margin-top:.9rem}.eyebrow{font:600 .78rem/1.2 var(--f-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);align-items:center;gap:.7rem;margin:0 0 1rem;display:flex}.pearl{background:var(--pearl);width:11px;height:11px;box-shadow:var(--glow);border-radius:50%;flex:none}.glass{background:var(--glass);-webkit-backdrop-filter:blur(20px)saturate(1.6);backdrop-filter:blur(20px)saturate(1.6);box-shadow:var(--glass-shadow)}.card,.glass{border-radius:24px}.card{padding:calc(clamp(18px,3vw,28px))}.pill{border:1px solid var(--hair);min-height:44px;color:var(--text);font:500 .95rem/1 var(--f-body);cursor:pointer;transition:background .38s var(--ease),border-color .38s var(--ease),transform .38s var(--ease),color .38s var(--ease);background:#ffffff0a;border-radius:9999px;justify-content:center;align-items:center;gap:.5em;padding:0 1.4rem;text-decoration:none;display:inline-flex}.pill:hover{color:#fff;background:#ffffff1a;border-color:#ffffff52}.pill:active{transform:translateY(1px)}.pill-solid{color:#0a0a0b;background:linear-gradient(#fff,#c3c9d3);border-color:#0000;font-weight:600}.pill-solid:hover{color:#0a0a0b;box-shadow:var(--glow);background:linear-gradient(#fff,#e3e7ee)}.pill:disabled{opacity:.6;cursor:progress}.chip[aria-pressed=true]{color:#fff;background:#9ad8ff29;border-color:#9ad8ff99}.cnt{font:600 .75rem var(--f-mono);color:var(--accent)}.chips{flex-wrap:wrap;gap:8px;margin:1rem 0 0;list-style:none;display:flex}.chips li{border:1px solid var(--hair);color:var(--text-2);border-radius:9999px;padding:5px 12px;font-size:.82rem}.cta{flex-wrap:wrap;gap:12px;margin-top:1.8rem;display:flex}.site-header{z-index:40;-webkit-backdrop-filter:blur(16px)saturate(1.5);backdrop-filter:blur(16px)saturate(1.5);background:#0a0a0bb8;border-bottom:1px solid #ffffff12;position:sticky;top:0}.bar{height:var(--header-h);gap:12px;display:flex}.bar,.brand,.hero-grid,.nav a,.tool,.tools{align-items:center}.brand{min-height:44px;color:var(--text);font:600 1rem var(--f-display);letter-spacing:-.02em;gap:10px;margin-right:auto;text-decoration:none;display:inline-flex}.brand-name{text-overflow:ellipsis;white-space:nowrap;max-width:46vw;overflow:hidden}.nav{display:none}.nav a{color:var(--text-2);min-height:44px;padding:0 4px;font-size:.95rem;font-weight:500;text-decoration:none;display:inline-flex}.nav a:hover,.nav a[aria-current=page]{color:#fff}.nav a[aria-current=page]{box-shadow:inset 0 -2px 0 var(--accent)}.nav .nav-cta{display:none}.nav.open{inset:var(--header-h) 0 auto 0;padding:8px var(--gutter) 20px;border-bottom:1px solid var(--hair);max-height:calc(100vh - var(--header-h));background:#0e0f12f7;flex-direction:column;display:flex;position:absolute;overflow:auto}.nav.open a{border-bottom:1px solid #ffffff0f;padding:6px 0;font-size:1.1rem}.nav.open .nav-cta{color:#0a0a0b;border:0;margin-top:14px;display:inline-flex}.tools{display:flex}.tool,.tools{gap:8px}.tool{border:1px solid var(--hair);min-width:44px;min-height:44px;color:var(--text);font:600 .8rem var(--f-mono);letter-spacing:.08em;cursor:pointer;background:#ffffff0a;border-radius:9999px;justify-content:center;padding:0 10px;text-decoration:none;display:inline-flex}.tool:hover{color:#fff;background:#ffffff1a}kbd{font:500 .72rem var(--f-mono);color:var(--text-2);letter-spacing:.04em}.menu-btn{padding:0}.hero{padding:calc(clamp(36px,8vw,96px)) 0 calc(clamp(28px,5vw,56px));position:relative;overflow:clip}.halo{aspect-ratio:1;background:var(--halo);pointer-events:none;width:calc(min(120vw,1100px));position:absolute;top:-30%;right:-20%}.hero-grid{gap:24px;display:grid;position:relative}.hero-text{max-width:44rem}.art{aspect-ratio:1;width:min(100%,360px);margin-inline:auto;position:relative}.art-canvas{opacity:0;width:100%;height:100%;transition:opacity .9s var(--ease);position:absolute;inset:0}.art-canvas.on{opacity:1}.art-fallback{transition:opacity .9s var(--ease);position:absolute;inset:0}.art.live .art-fallback{opacity:0}.blob{background:radial-gradient(circle at 32% 28%,#fff,#cfe0f2 16%,#7b889b 46%,#20252e 78%,#0e1014);border-radius:50%;animation:9s ease-in-out infinite float;position:absolute;box-shadow:inset -10px -14px 36px #9ad8ff4d,inset 8px 8px 24px #ffffff59,0 30px 60px #00000080}.b1{width:58%;height:58%;top:22%;left:20%}.b2{background:radial-gradient(circle at 32% 28%,#fff,#d6cfff 18%,#7f86b8 50%,#1b1d2b);width:32%;height:32%;animation-delay:-3s;top:6%;right:4%}.b3{width:22%;height:22%;animation-delay:-6s;bottom:12%;left:6%}@keyframes float{50%{transform:translateY(-14px)scale(1.03)}}.marquee{border-block:1px solid #ffffff14;padding:14px 0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.track{width:max-content;font:500 .82rem var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--text-2);align-items:center;gap:28px;padding-right:28px;animation:38s linear infinite marquee;display:flex}.track span{white-space:nowrap}.track i{background:var(--pearl);border-radius:50%;flex:none;width:6px;height:6px}@keyframes marquee{to{transform:translate(-50%)}}.section{padding-block:calc(clamp(44px,8vw,96px)) 0}.section-tight{padding-top:calc(clamp(32px,6vw,64px))}.page{padding-block:calc(clamp(28px,6vw,64px)) calc(clamp(40px,8vw,96px))}.page-head{margin-bottom:calc(clamp(8px,3vw,24px))}.page-head .toc{flex-wrap:wrap;gap:8px;margin-top:1.6rem;display:flex}.crumbs{margin-bottom:1.2rem}.crumbs a{color:var(--text-2);text-decoration:none}.crumbs a:hover{color:#fff}.two{gap:28px;margin-top:1.8rem;display:grid}.filters{flex-wrap:wrap;gap:10px;margin:1.6rem 0;display:flex}.grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:20px;display:grid}.card-project{transition:transform .38s var(--ease),box-shadow .38s var(--ease);flex-direction:column;padding:0;display:flex;position:relative;overflow:hidden}.card-project:hover{box-shadow:var(--glass-shadow),0 0 0 1px hsl(var(--hue,210) 80% 75%/.45);transform:translateY(-4px)}.shot{aspect-ratio:1280/800;background:linear-gradient(135deg,hsl(var(--hue,210) 40% 18%),#0e0f12);border-bottom:1px solid #ffffff14;position:relative}.shot img{-o-object-fit:cover;object-fit:cover;-o-object-position:top;object-position:top;width:100%;height:100%;display:block}.shot-ph{height:100%;color:var(--text-2);place-items:center;font-size:.8rem;display:grid}.type-pill{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:default;background:#0a0a0bb3;min-height:30px;padding:0 12px;font-size:.75rem;position:absolute;top:12px;left:12px}.card-body{padding:20px 22px 24px}.card-body h3{font:600 1.2rem/1.2 var(--f-body);margin-bottom:.5rem}.card-body p{color:var(--text-2);margin:0;font-size:.95rem}.stretch{color:var(--text);text-decoration:none}.stretch:after{content:"";border-radius:24px;position:absolute;inset:0}.stretch:focus-visible{outline:none}.stretch:focus-visible:after{outline:2px solid var(--accent);outline-offset:2px}.card-project:hover .stretch,.note-card:hover .stretch{color:#fff}.eng-teaser{gap:8px;display:grid}.steps{counter-reset:none;gap:24px;margin-top:2rem;list-style:none;display:grid}.steps li{border-top:1px solid var(--hair);padding-top:22px;position:relative}.steps li:before{content:"";background:var(--pearl);width:11px;height:11px;box-shadow:var(--glow);border-radius:50%;position:absolute;top:-6px;left:0}.num{font:600 .8rem var(--f-mono);letter-spacing:.18em;color:var(--accent);margin-bottom:.4rem;display:block}.principles p,.steps p{color:var(--text-2);margin:0}.principles{gap:16px;margin-top:1.6rem;list-style:none;display:grid}.honest{margin-top:1.4rem}.form{align-content:start;gap:16px;display:grid}.field{gap:6px;display:grid}label{font-size:.92rem;font-weight:500}input,textarea{width:100%;min-height:46px;color:var(--text);font:inherit;background:#0a0a0b8c;border:1px solid #fff3;border-radius:14px;padding:11px 14px}::placeholder{color:var(--text-2);opacity:1}textarea{resize:vertical;min-height:130px}input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}[aria-invalid=true]{border-color:#ff9a9a}.err{color:#ffb4b4;min-height:0;font-size:.85rem}.err:empty{display:none}.hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.status{min-height:1.4em;margin:0;font-size:.92rem}.status.ok{color:#9ff0c0}.status.error{color:#ffb4b4}.mail{margin-top:1.2rem}.case-hero{padding-block:calc(clamp(28px,6vw,72px)) 0;position:relative}.case-hero .halo{background:radial-gradient(at 50% 45%,hsl(var(--hue,210) 80% 65%/.2) 0,transparent 68%);top:-60%;right:-30%}.case-hero>:not(.halo),.hl li{position:relative}.shot-row{align-items:start;gap:24px;margin-top:1.8rem;display:grid}.frame{background:var(--surface);border-radius:18px;margin:0;overflow:hidden;box-shadow:inset 0 1px #ffffff29,0 30px 80px #0000008c}.frame img{width:100%;height:auto;display:block}.frame-bar{background:#14161b;gap:6px;padding:10px 14px;display:flex}.frame-bar i{background:#3a3f49;border-radius:50%;width:9px;height:9px}.frame figcaption{font:500 .75rem var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-2);padding:10px 14px}.frame-m{justify-self:center;max-width:300px}.prose p{color:var(--text-2);max-width:68ch}.prose h3{color:var(--text);margin-top:1.4em}.lead-prose p{max-width:62ch;margin-top:1rem;font-size:calc(clamp(1.02rem,2.2vw,1.2rem))}.hl{gap:10px;list-style:none;display:grid}.hl li{color:var(--text-2);padding-left:22px}.hl li:before{content:"";background:var(--pearl);border-radius:50%;width:8px;height:8px;position:absolute;top:.55em;left:0}.run{margin-top:1.6rem;position:relative}.run pre{border:1px solid var(--hair);font:400 .88rem/1.7 var(--f-mono);color:var(--accent);background:#0d0e11;border-radius:18px;margin:0;padding:20px 8rem 20px 20px;overflow-x:auto}.copy{min-height:36px;padding:0 1rem;font-size:.82rem;position:absolute;top:12px;right:12px}.codecard{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:1.6rem;display:flex}.codecard p{color:var(--text-2);max-width:54ch;margin:0}.related{margin-top:1.6rem}.related ul{gap:6px;list-style:none}.pn,.pn-a,.related ul{display:grid}.pn{gap:16px;padding-bottom:calc(clamp(32px,6vw,72px))}.pn-a{color:var(--text);gap:6px;padding:18px 22px;text-decoration:none}.pn-a .mono{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-size:.75rem}.pn-next{text-align:right}.eng{scroll-margin-top:calc(8px + var(--header-h));padding-top:calc(clamp(40px,7vw,80px))}.eng+.eng{border-top:1px solid var(--hair);margin-top:calc(clamp(24px,4vw,48px))}.stat-line{letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);flex-wrap:wrap;gap:4px 18px;margin-top:1rem;font-size:.78rem;list-style:none;display:flex}.eng-grid{align-items:start;gap:24px;margin-top:1.8rem;display:grid}.diagram-card{margin:0;padding:12px;overflow-x:auto}.diagram{width:100%;height:auto;display:block}.node rect{fill:#ffffff0f;stroke:#ffffff3d;stroke-width:1px}.node.k-client rect{stroke:var(--accent);fill:#9ad8ff14}.node.k-store rect{stroke:var(--accent-2);stroke-dasharray:5 3;fill:#9db4ff14}.n-title{fill:var(--text);font:600 12.5px var(--f-body)}.n-sub{fill:var(--text-2);font:400 10.5px var(--f-mono)}.edge{fill:none;stroke:#9ad8ffbf;stroke-width:1.5px;stroke-linejoin:round}.arrow,.badge text{fill:var(--accent)}.badge circle{fill:#0a0a0b;stroke:var(--accent);stroke-width:1.2px}.badge text{font:600 10px var(--f-mono)}.legend{letter-spacing:.1em;text-transform:uppercase;color:var(--text-2);flex-wrap:wrap;gap:6px 18px;padding:10px 6px 2px;font-size:.7rem;display:flex}.sw{vertical-align:-1px;border:1px solid #ffffff59;border-radius:3px;width:14px;height:10px;margin-right:6px;display:inline-block}.sw.k-client{border-color:var(--accent)}.sw.k-store{border:1px dashed var(--accent-2)}.flows ol,.kv{list-style:none}.flows li,.flows ol{gap:12px;display:grid}.flows li{color:var(--text-2);grid-template-columns:26px 1fr;font-size:.95rem}.fn{border:1.2px solid var(--accent);width:24px;height:24px;color:var(--accent);font:600 .72rem var(--f-mono);border-radius:50%;place-items:center;margin-top:1px;display:inline-grid}.eng-cols{gap:28px;margin-top:2rem;display:grid}.eng-cols h3{margin-top:1.4rem}.eng-cols>div>h3:first-child{margin-top:0}.decisions{gap:14px;display:grid}.decisions h4{font:600 1rem/1.3 var(--f-body);margin-bottom:.4rem}.decisions p{margin:0;font-size:.95rem}.decisions p,.src{color:var(--text-2)}.src{overflow-wrap:anywhere;font-size:.8rem}.notes-list{gap:16px;margin-top:1.6rem;display:grid}.note-card{position:relative}.note-card h2{font:600 1.25rem/1.3 var(--f-body);margin-bottom:.5rem}.note-card p:last-child{color:var(--text-2);margin:0}.meta{letter-spacing:.1em;text-transform:uppercase;color:var(--text-2);margin-bottom:.6rem;font-size:.75rem}.article{max-width:820px}.note-body{margin-top:1.6rem}.note-body li,.note-body p{color:#c9cdd5;max-width:none;font-size:1.04rem;line-height:1.7}.note-body h2,.note-body h3{color:var(--text);font-family:var(--f-body);margin:1.8em 0 .6em}.note-body ol,.note-body ul{margin:0 0 1em;padding-left:1.3em}.note-body code{font:.88em var(--f-mono);color:var(--accent);overflow-wrap:anywhere;background:#ffffff14;border-radius:6px;padding:.1em .4em}.note-body pre{border:1px solid var(--hair);background:#0d0e11;border-radius:14px;padding:16px;overflow-x:auto}.note-body pre code{color:#d5e7f5;background:0 0;padding:0}.note-body blockquote{border-left:2px solid var(--accent);color:var(--text-2);margin:1em 0;padding-left:16px}.note-body table{border-collapse:collapse;display:block;overflow-x:auto}.note-body td,.note-body th{border:1px solid var(--hair);color:#c9cdd5;padding:6px 10px}.tiles{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:1.2rem 0 1.6rem;display:grid}.tile{flex-direction:column-reverse;gap:4px;padding:18px 20px;display:flex}.tile dd{margin:0}.tile dt{color:var(--text-2);font-size:.85rem}.big{color:#fff;font-size:calc(clamp(1.5rem,4vw,2rem));font-weight:600}.table-wrap{padding:8px 4px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.92rem}td,th{text-align:left;border-bottom:1px solid #ffffff14;padding:10px 14px}tbody tr:last-child>*{border-bottom:0}thead th{font:600 .72rem var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-2)}tbody th{min-width:170px;font-weight:500}.num-col{text-align:right;white-space:nowrap}.gobar{background:#ffffff14;height:3px;margin-top:6px}.gobar,.gobar i{border-radius:3px;display:block}.gobar i{background:var(--chrome-line);height:100%}.groups{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px;margin-top:1.4rem}.groups,.kv,.kv li{display:grid}.kv{gap:12px}.kv li{gap:2px}.kv b{font-weight:600}.kv span,.site-footer{color:var(--text-2);font-size:.9rem}.nf{padding-block:calc(clamp(60px,14vw,160px))}.site-footer{border-top:1px solid #ffffff14;margin-top:calc(clamp(56px,10vw,120px));padding:28px 0 36px}.foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 28px;display:flex}.foot p{margin:0}.foot-links{flex-wrap:wrap;gap:4px 20px;display:flex}.foot a{color:var(--text-2);align-items:center;min-height:44px;display:inline-flex}.foot a:hover{color:#fff}.foot-meta{letter-spacing:.14em;text-transform:uppercase;font-size:.78rem}.palette{border:1px solid var(--hair);width:calc(min(640px,100vw - 24px));max-height:calc(min(560px,80vh));color:var(--text);background:#14161bf5;border-radius:22px;margin:12vh auto auto;padding:0;overflow:hidden;box-shadow:0 40px 100px #000000b3}.palette::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0505079e}.palette-box{flex-direction:column;max-height:calc(min(560px,80vh));display:flex}.palette-top{border-bottom:1px solid var(--hair);align-items:center;gap:10px;padding:12px 14px;display:flex}.palette-input{background:0 0;border:0;flex:1;min-height:44px;padding:0 6px;font-size:1.05rem}.palette-input:focus-visible{outline:none}.palette-x{font:600 .72rem var(--f-mono);color:var(--text-2);border:1px solid var(--hair);cursor:pointer;background:0 0;border-radius:8px;min-height:32px;padding:6px 9px}.palette-list{flex:1;padding:6px;overflow-y:auto}.palette-group{font:600 .68rem var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-2);padding:10px 12px 4px}.palette-item{cursor:pointer;border-radius:12px;flex-direction:column;justify-content:center;gap:2px;min-height:44px;padding:10px 12px;display:flex}.palette-item[aria-selected=true]{background:#9ad8ff24;box-shadow:inset 0 0 0 1px #9ad8ff73}.pi-label{font-weight:500}.pi-hint{text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.palette-empty,.palette-foot,.pi-hint{color:var(--text-2)}.palette-empty{margin:0;padding:24px 12px}.palette-foot{border-top:1px solid var(--hair);letter-spacing:.08em;margin:0;padding:10px 16px;font-size:.7rem}.rv{opacity:0;transition:opacity .7s var(--ease),transform .7s var(--ease);transform:translateY(32px)}.rv.rv-in{opacity:1;transform:none}.cv-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:1.4rem;display:flex}.cv-actions .eyebrow{margin:0}.cv-sheet{color:#14171c;background:#fff;border-radius:10px;width:min(100%,21cm);margin-inline:auto;padding:calc(clamp(20px,5vw,16mm));font-size:.95rem;box-shadow:0 30px 80px #0000008c}.cv-sheet h1{font:700 calc(clamp(1.5rem,5vw,2rem)) var(--f-display);letter-spacing:-.02em}.cv-sheet h2{font:600 .78rem var(--f-mono);letter-spacing:.16em;text-transform:uppercase;border-bottom:1.5px solid #14171c;margin:1.4em 0 .5em;padding-bottom:4px}.cv-sheet dd,.cv-sheet li,.cv-sheet p{color:#2a2f38}.cv-sheet a{color:#0b4f8a}.cv-role{color:#2a2f38;margin:.3em 0;font-size:1.05rem}.cv-contact{flex-wrap:wrap;gap:2px 20px;margin:.4em 0 0;font-size:.9rem;display:flex}.cv-skills{gap:4px;margin:0;display:grid}.cv-skills div{grid-template-columns:minmax(0,170px) 1fr;gap:0 12px;display:grid}.cv-skills dt{font-weight:600}.cv-skills dd{margin:0}.cv-projects,.cv-sheet ul{gap:6px;list-style:none;display:grid}.cv-sheet section>ul:not(.cv-projects) li{padding-left:14px;position:relative}.cv-sheet section>ul:not(.cv-projects) li:before{content:"–";position:absolute;left:0}.cv-note,.cv-stack{color:#5a6170}.cv-note{margin:1.2em 0 0;font-size:.85rem}@media (width>=640px){.hide-sm{display:inline}.two{grid-template-columns:1fr 1fr;align-items:start;gap:40px}.steps{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.principles{grid-template-columns:1fr 1fr}.shot-row{grid-template-columns:minmax(0,1fr) minmax(0,280px)}.frame-m{justify-self:end}.pn{grid-template-columns:1fr 1fr}.eng-teaser{grid-template-columns:1fr auto;align-items:end;gap:24px}.eng-teaser .cta{margin:0}.cv-skills div{grid-template-columns:170px 1fr}}@media (width>=960px){.menu-btn{display:none}.nav{align-items:center;gap:14px;display:flex}.nav .nav-cta{color:#0a0a0b;min-height:40px;margin-left:6px;padding:0 1.1rem;display:inline-flex}.nav .nav-cta:hover{color:#0a0a0b}.hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:40px}.art{width:min(100%,520px);margin-right:0}.eng-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:36px}.eng-cols{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:40px}.principles{grid-template-columns:repeat(3,1fr)}}::view-transition-new(root){animation-duration:.38s;animation-timing-function:var(--ease)}::view-transition-old(root){animation-duration:.38s;animation-timing-function:var(--ease)}.page-enter-active,.page-leave-active{transition:opacity .25s var(--ease)}.page-enter-from,.page-leave-to{opacity:0}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.blob,.track{animation:none}.rv{opacity:1;transform:none}::view-transition-group(*){animation:none!important}::view-transition-new(*){animation:none!important}::view-transition-old(*){animation:none!important}}@media (width<=639px){.diagram-card{padding:8px}.n-title{font-size:14px}.n-sub{font-size:12px}.badge text{font-size:11px}.run pre{padding:56px 16px 16px}.article h1.chrome{font-size:calc(clamp(1.55rem,6.2vw,2.1rem))}}.section-tight h2+.meta{margin-top:.8rem}.foot a{margin-inline:-6px;padding-inline:6px}@media print{@page{size:A4;margin:12mm 14mm}body,html{color:#000;font-size:10pt;background:#fff!important}.halo,.marquee,.no-print,.palette,.site-footer,.site-header,.skip{display:none!important}.page,.wrap{width:auto;margin:0;padding:0}.cv-sheet{width:auto;box-shadow:none;border-radius:0;padding:0;font-size:9.5pt;line-height:1.38}.cv-sheet h1{font-size:20pt}.cv-sheet h2{-moz-column-break-after:avoid;break-after:avoid;margin:11pt 0 4pt}.cv-sheet li,.cv-sheet section>p{-moz-column-break-inside:avoid;break-inside:avoid}.cv-desc{display:none}.cv-stack{color:#333}.cv-projects{gap:3pt}.cv-sheet a{color:#000;text-decoration:none}.chrome{-webkit-text-fill-color:#000;color:#000;background:0 0}a{color:inherit}}
