@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;1,300;1,400&family=Lora:ital,wght@0,400;0,500;1,400&family=JetBrains+Mono:wght@300;400&display=swap";:root{--bg: #000000;--fg: #b0b8c4;--fg-dim: #556070;--fg-faint: #353d4d;--line: rgba(255, 255, 255, .038);--code-bg: rgba(200, 230, 245, .018);--code-line: rgba(200, 230, 245, .07);--code-rule: rgba(35, 110, 150, .55);--code-call: #dceaf4;--code-number: #5fc2d6;--code-string: #74b6c4;--code-type: #9fc4d8;--code-prop: #8fb3c9;--code-keyword: #6f9fc0;--code-plain: #8892a0;--code-comment: #4e5a68;--code-punct: #3f4956;--font-disp: "Cormorant Garamond", serif;--font-body: "Lora", serif;--font-mono: "JetBrains Mono", monospace;--bar-h: clamp(44px, 6vh, 60px);--bar-bottom-h: clamp(18px, 2.1vh, 24px);--gutter: clamp(24px, 4.5vw, 68px);--col: 640px;--section-y: clamp(80px, 11vw, 150px)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-padding-top:var(--bar-h)}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:clamp(15px,1.1vw,17px);line-height:1.85;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:after{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.88' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:256px;opacity:.045;pointer-events:none;z-index:9000;mix-blend-mode:overlay}.cinema-top,.cinema-bottom{position:fixed;left:0;right:0;height:var(--bar-h);background:var(--bg);z-index:900;display:flex;align-items:center;justify-content:space-between;padding:0 var(--gutter)}.cinema-top{top:0;height:50vh;overflow:hidden}.cinema-bottom{bottom:0;height:50vh;overflow:hidden;box-sizing:content-box;padding-bottom:env(safe-area-inset-bottom,0px)}.cinema-top:after{content:"";position:absolute;bottom:calc(var(--bar-h) * -.5);left:0;right:0;height:calc(var(--bar-h) * .5);background:linear-gradient(to bottom,var(--bg),transparent);pointer-events:none}.cinema-bottom:before{content:"";position:absolute;top:calc(var(--bar-bottom-h) * -1.4);left:0;right:0;height:calc(var(--bar-bottom-h) * 1.4);background:linear-gradient(to top,var(--bg),transparent);pointer-events:none}.cinema-name{font-family:var(--font-mono);font-size:10px;letter-spacing:.26em;color:var(--fg-dim);text-transform:uppercase;opacity:0}.cinema-nav{display:flex;gap:24px;opacity:0}.cinema-nav a,.cinema-nav__btn{font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;color:var(--fg-faint);text-decoration:none;text-transform:uppercase;transition:color .4s ease;background:none;border:0;padding:0;cursor:pointer}.cinema-nav a:hover,.cinema-nav__btn:hover{color:var(--fg-dim)}.cinema-location{font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;color:var(--fg-faint);text-transform:uppercase;opacity:0}.lang-toggle{display:inline-flex;align-items:center;gap:8px;opacity:0}.lang-toggle__row{display:inline-flex;align-items:center;gap:8px}.lang-toggle__btn{appearance:none;background:none;border:0;padding:0;margin:0;cursor:pointer;font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--fg-faint);transition:color .5s ease}.lang-toggle__btn:hover{color:var(--fg-dim)}.lang-toggle__btn.is-active{color:var(--fg)}.lang-toggle__sep{font-family:var(--font-mono);font-size:10px;color:var(--fg-faint);opacity:.55;-webkit-user-select:none;user-select:none}#hero{position:relative;height:100svh;min-height:520px;display:flex;flex-direction:column;justify-content:flex-end;padding-top:var(--bar-h);padding-bottom:calc(var(--bar-bottom-h) + var(--gutter));padding-left:var(--gutter);padding-right:var(--gutter)}#hero:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 65% 55% at 50% 44%,rgba(4,38,52,.65) 0%,rgba(3,28,42,.42) 30%,rgba(2,16,28,.22) 55%,transparent 80%),radial-gradient(ellipse 110% 95% at 50% 46%,rgba(2,22,38,.38) 0%,rgba(1,14,26,.18) 40%,transparent 68%),radial-gradient(ellipse 150% 130% at 50% 50%,rgba(1,10,18,.28) 0%,rgba(1,6,12,.1) 40%,transparent 55%);pointer-events:none;z-index:1}.hero-content{position:relative;z-index:200;opacity:0}.hero-name{font-family:var(--font-disp);font-weight:300;font-style:italic;font-size:clamp(34px,4.6vw,70px);letter-spacing:.06em;color:var(--fg);line-height:1;margin-bottom:16px}.hero-rule{width:28px;height:1px;background:var(--fg-faint);margin-bottom:14px}.hero-desc{font-family:var(--font-mono);font-size:10px;letter-spacing:.28em;color:var(--fg-dim);text-transform:uppercase}@keyframes appear{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}section:not(#hero){position:relative;z-index:200;background:var(--bg);padding:var(--section-y) var(--gutter)}.col{max-width:var(--col);margin:0 auto}.section-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.26em;color:var(--fg-faint);text-transform:uppercase;margin-bottom:clamp(32px,4.5vw,52px)}.section-label{opacity:0}#recently{border-top:1px solid var(--line)}.notes-list{display:flex;flex-direction:column}.note-item{display:grid;grid-template-columns:64px 1fr;gap:24px;align-items:baseline;padding:17px 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}.note-item:first-child{border-top:1px solid var(--line)}.note-date{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;color:var(--fg-faint);padding-top:3px}.note-title{font-family:var(--font-body);font-size:clamp(14px,1.2vw,16px);color:var(--fg-dim);line-height:1.5;transition:color .4s ease}.note-item:hover .note-title{color:var(--fg)}#made{border-top:1px solid var(--line)}.made-list{display:flex;flex-direction:column}.made-item{appearance:none;background:none;border:0;border-bottom:1px solid var(--line);font:inherit;text-align:left;width:100%;cursor:pointer;color:inherit;text-decoration:none;display:grid;grid-template-columns:180px 1fr auto;gap:24px;align-items:center;padding:18px 0}.made-item:first-child{border-top:1px solid var(--line)}.made-cta{display:inline-flex;align-items:baseline;gap:14px;white-space:nowrap}.made-cta__hint{font-family:var(--font-disp);font-style:italic;font-weight:300;font-size:clamp(15px,1.35vw,17px);letter-spacing:.01em;color:var(--fg-faint);opacity:0;transform:translate(8px);transition:opacity .55s ease,transform .55s ease,color .55s ease}.made-cta__arrow{font-family:var(--font-mono);font-size:13px;color:var(--fg-faint);display:inline-block;transition:color .5s ease,transform .5s ease}.made-item:hover .made-cta__hint{opacity:1;transform:translate(0);color:var(--fg-dim)}.made-item:hover .made-cta__arrow{color:var(--fg);transform:translate(3px,-3px)}.made-name{font-family:var(--font-disp);font-style:italic;font-weight:300;font-size:clamp(18px,1.7vw,22px);color:var(--fg);letter-spacing:.01em}.made-desc{font-family:var(--font-body);font-size:clamp(14px,1.2vw,16px);color:var(--fg-dim);line-height:1.5}.made-arrow{font-family:var(--font-mono);font-size:14px;color:var(--fg-faint);text-align:right;transform:translate(-4px);opacity:.5;transition:transform .45s ease,opacity .45s ease,color .45s ease}.made-item:hover .made-arrow{transform:translate(0);opacity:1;color:var(--fg-dim)}.made-item:hover .made-name{color:var(--fg)}.made-toggle{appearance:none;background:none;border:0;padding:18px 0 0;margin-top:8px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--fg-faint);transition:color .4s ease}.made-toggle:hover{color:var(--fg-dim)}.made-toggle__arrow{font-size:11px;transform:translateY(-1px)}:root{--vsc-bg: #070707;--vsc-bg-alt: #000000;--vsc-bar: #000000;--vsc-bg-hover: #161616;--vsc-border: #1a1a1a;--vsc-border-soft: #1e1e1e;--vsc-fg: #ebebeb;--vsc-fg-bright: #fafafa;--vsc-fg-dim: #888888;--vsc-fg-faint: #444444;--vsc-line-num: #727272;--vsc-tab-inactive: #383838;--vsc-tab-border: #505050;--vsc-sidebar-fg: #7a7a7a;--vsc-sidebar-title: #505050;--vsc-default: #b392f0;--vsc-comment: #6b737c;--vsc-string-2: #9db1c5;--vsc-string: #ffab70;--vsc-keyword: #f97583;--vsc-prop: #79b8ff;--vsc-number: #f8f8f8;--vsc-fn: #b392f0;--vsc-type: #b392f0;--vsc-param: #ff9800;--vsc-var: #888888;--vsc-op: #bbbbbb;--vsc-punct: #bbbbbb;--vsc-md-h: #ff7a84;--vsc-md-link: #1976d2}.vscode-stage{position:fixed;inset:0;z-index:850;display:grid;place-items:center;padding:calc(var(--bar-h) + 32px) var(--gutter) calc(var(--bar-bottom-h) + 32px);background:#020408db;backdrop-filter:blur(28px) saturate(120%);-webkit-backdrop-filter:blur(28px) saturate(120%)}.macbook{width:min(1080px,96%);max-height:100%;background:var(--vsc-bg);border:1px solid var(--vsc-border);border-radius:14px 14px 6px 6px;box-shadow:0 32px 90px #000000b3,0 0 60px #7aaaca0a,inset 0 1px #ffffff0a;display:flex;flex-direction:column;overflow:hidden;position:relative;transition:border-radius .5s cubic-bezier(.85,0,.15,1),box-shadow .5s cubic-bezier(.85,0,.15,1),filter .35s ease,border-color .35s ease}.macbook:after{content:"";position:absolute;bottom:-8px;left:8%;right:8%;height:8px;background:linear-gradient(to bottom,#070707,#020202);border-radius:0 0 12px 12px;filter:blur(.5px);pointer-events:none}.vscode-stage{transition:background .4s ease,backdrop-filter .4s ease}.vscode-stage--minimized{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;pointer-events:none}.macbook--minimized{pointer-events:auto;cursor:pointer;border-radius:10px;background:#08080ac7;backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);border-color:#ffffff12;box-shadow:inset 0 1px #ffffff0f,0 1px #00000080,0 8px 24px #0000008c,0 18px 48px #00000073}.macbook--minimized .vscode,.macbook--minimized .macbook__footer,.macbook--minimized:after{display:none}.macbook--minimized .macbook__bar{height:100%;padding:0 12px;background:transparent;border-bottom:none}.macbook--minimized .macbook__title{font-size:10.5px;letter-spacing:.05em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.macbook--minimized:hover{border-color:#ffffff24;background:#0c0c0ed9;box-shadow:inset 0 1px #ffffff17,0 1px #00000080,0 12px 32px #000000a6,0 24px 60px #0000008c}.vscode-stage--fullscreen{padding:var(--bar-h) 0 var(--bar-bottom-h)}.macbook--fullscreen{max-width:none;border-radius:0;box-shadow:none}.macbook--fullscreen:after{display:none}.vscode__code[contenteditable]{outline:none;caret-color:var(--vsc-fg);cursor:text}.macbook__bar{display:flex;align-items:center;gap:12px;height:34px;padding:0 14px;background:var(--vsc-bar);border-bottom:1px solid var(--vsc-border)}.macbook__traffic{display:inline-flex;gap:8px;flex-shrink:0}.traffic{width:12px;height:12px;border-radius:50%;display:grid;place-items:center;border:0;padding:0;appearance:none;outline:none;position:relative}.traffic--red{background:#ff5f57;cursor:pointer}.traffic--red:hover{background:#ff726b}.traffic--red:focus-visible{box-shadow:0 0 0 2px #ff5f5773}.traffic--yellow{background:#febc2e}.traffic--green{background:#28c840}.traffic__icon{font-family:var(--font-mono);font-size:9px;line-height:1;color:#0000009e;opacity:0;transition:opacity .18s ease;pointer-events:none;font-weight:700;transform:translateY(-.5px)}.macbook__traffic:hover .traffic__icon{opacity:1}.macbook__title{flex:1;text-align:center;font-family:var(--font-mono);font-size:11px;color:var(--vsc-fg-dim);letter-spacing:.04em}.macbook__spacer{width:51px;flex-shrink:0}.vscode{flex:1;display:grid;grid-template-columns:220px 1fr;background:var(--vsc-bg);font-family:var(--font-mono);font-size:13px;line-height:1.75;min-height:0}.vscode__sidebar{background:var(--vsc-bg-alt);padding:14px 8px;border-right:1px solid var(--vsc-border);font-size:12px;display:flex;flex-direction:column;gap:1px;flex-shrink:0}.vscode__explorer-label{font-family:var(--font-mono);text-transform:uppercase;font-size:10px;letter-spacing:.22em;color:var(--vsc-sidebar-title);margin:0 0 8px 6px}.vscode__file{appearance:none;background:none;border:0;padding:5px 10px;border-radius:3px;color:var(--vsc-sidebar-fg);cursor:pointer;font:inherit;font-size:12px;text-align:left;transition:background .18s ease,color .18s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vscode__file:hover{background:#ffffff0a;color:var(--vsc-fg-dim)}.vscode__file.is-active{color:var(--vsc-fg-bright);background:#ffffff0f}.vscode__main{display:flex;flex-direction:column;min-width:0;min-height:0;flex:1;overflow:hidden}.vscode__tabs{display:flex;background:var(--vsc-bar);flex-shrink:0;overflow-x:auto}.vscode__tab{appearance:none;background:var(--vsc-bar);border:0;border-right:1px solid rgba(255,255,255,.04);border-top:2px solid transparent;padding:8px 16px;font-family:var(--font-mono);font-size:12px;letter-spacing:.02em;color:var(--vsc-tab-inactive);cursor:pointer;transition:color .2s ease,background .2s ease,border-color .2s ease;white-space:nowrap}.vscode__tab:hover{color:var(--vsc-fg-dim)}.vscode__tab.is-active{background:var(--vsc-bg);color:var(--vsc-fg);border-top-color:var(--vsc-tab-border)}.vscode__editor{flex:1;padding:20px 0 20px 14px;overflow:auto;min-height:0;background:var(--vsc-bg)}.vscode__code{margin:0;font-family:var(--font-mono);font-size:14px;line-height:1.85;white-space:pre}.vscode__line{display:flex;gap:18px;align-items:baseline}.vscode__lnum{color:var(--vsc-line-num);-webkit-user-select:none;user-select:none;width:28px;text-align:right;flex-shrink:0;font-variant-numeric:tabular-nums}.vscode__lbody{flex:1;min-width:0}.macbook__footer{display:flex;align-items:center;justify-content:center;gap:14px;padding:14px 18px;background:var(--vsc-bar);border-top:1px solid var(--vsc-border);font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase}.macbook__link{color:var(--vsc-fg-dim);text-decoration:none;transition:color .4s ease}.macbook__link:hover{color:var(--vsc-fg)}.vscode__code{color:var(--vsc-default)}.tok-comment{color:var(--vsc-comment);font-style:italic}.tok-keyword{color:var(--vsc-keyword)}.tok-string{color:var(--vsc-string)}.tok-string-2{color:var(--vsc-string-2)}.tok-number{color:var(--vsc-number)}.tok-fn{color:var(--vsc-fn)}.tok-prop{color:var(--vsc-prop)}.tok-var,.tok-op{color:var(--vsc-default)}.tok-punct{color:var(--vsc-punct)}.tok-colon{color:var(--vsc-keyword)}.tok-type{color:var(--vsc-type)}.tok-param{color:var(--vsc-param)}.tok-json-key{color:var(--vsc-number)}.tok-md-h,.tok-md-strong{color:var(--vsc-md-h);font-weight:700}.tok-md-em{font-style:italic}.tok-md-link{color:var(--vsc-md-link);text-decoration:underline}.tok-md-list{color:var(--vsc-md-h)}.tok-md-code{color:var(--vsc-string-2);background:#ffffff0d;padding:1px 7px;border-radius:3px;font-size:.93em}#about{border-top:1px solid var(--line)}.about-text{font-family:var(--font-disp);font-weight:300;font-style:italic;font-size:clamp(20px,2.8vw,36px);line-height:1.45;color:var(--fg);margin-bottom:32px}.about-sub{font-family:var(--font-body);font-size:clamp(14px,1.1vw,16px);color:var(--fg-dim);max-width:48ch;line-height:1.9}.about-sub+.about-sub{margin-top:14px}#contact{border-top:1px solid var(--line)}.contact-heading{font-family:var(--font-disp);font-weight:300;font-style:italic;font-size:clamp(26px,3.8vw,50px);line-height:1.2;color:var(--fg);margin-bottom:36px}.contact-email{display:inline-block;font-family:var(--font-body);font-size:clamp(14px,1.1vw,16px);color:var(--fg-dim);text-decoration:none;border-bottom:1px solid var(--fg-faint);padding-bottom:3px;transition:color .35s ease,border-color .35s ease}.contact-email:hover{color:var(--fg);border-color:var(--fg-dim)}.social-row{display:flex;gap:28px;margin-top:28px}.social-row a{font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;color:var(--fg-faint);text-decoration:none;text-transform:uppercase;transition:color .35s ease}.social-row a:hover{color:var(--fg-dim)}.cinema-top.is-static{height:var(--bar-h)}.cinema-bottom.is-static{height:var(--bar-bottom-h)}.cinema-top.is-static .cinema-name,.cinema-top.is-static .cinema-nav,.cinema-bottom.is-static .cinema-location,.cinema-bottom.is-static .lang-toggle{opacity:1}.cinema-name--link{text-decoration:none;color:var(--fg-dim);transition:color .4s ease}.cinema-name--link:hover{color:var(--fg)}.cinema-brand-link{display:inline-flex;align-items:center;gap:16px;text-decoration:none;color:inherit}.brand-globe{--globe-size: calc(var(--bar-h) * .66);width:var(--globe-size);height:var(--globe-size);border-radius:50%;flex-shrink:0;position:relative;background:radial-gradient(circle at 32% 28%,#78afc852,#32648229 14%,#142d418c 38%,#02060c 78%);box-shadow:inset 1px 1.5px 2.5px #b4d7eb12,inset -2px -2.5px 7px #000000bf,0 0 14px 3px #14507338,0 0 32px 8px #0c37551a;transition:box-shadow .5s ease,transform .5s ease}.brand-globe:after{content:"";position:absolute;inset:-3px;border-radius:50%;background:radial-gradient(circle,transparent 56%,rgba(40,110,145,.18) 70%,transparent 90%);opacity:.7;transition:opacity .5s ease;pointer-events:none}.cinema-brand-link:hover .brand-globe{box-shadow:inset 1px 1.5px 2.5px #c8e6f51a,inset -2px -2.5px 7px #000000bf,0 0 18px 4px #236e9652,0 0 40px 10px #14466929}.cinema-brand-link:hover .brand-globe:after{opacity:1}.brand-globe--home{position:absolute;left:var(--gutter);top:50%;transform:translateY(-50%);opacity:0;pointer-events:none;z-index:2}.brand-globe--home.is-interactive{pointer-events:auto;cursor:pointer}.brand-globe--home.is-interactive:hover{box-shadow:inset 1px 1.5px 2.5px #c8e6f51a,inset -2px -2.5px 7px #000000bf,0 0 18px 4px #236e9652,0 0 40px 10px #14466929}.brand-globe--home.is-interactive:hover:after{opacity:1}.section-label--visible{opacity:1}.articles-page{position:relative;z-index:200;background:var(--bg);min-height:100svh;padding:calc(var(--bar-h) + clamp(72px,11vw,130px)) var(--gutter) calc(var(--bar-bottom-h) + clamp(72px,11vw,130px));max-width:880px;margin:0 auto}.articles-hero{margin-bottom:clamp(56px,8vw,96px);border-bottom:1px solid var(--line);padding-bottom:clamp(40px,5vw,64px)}.articles-heading{font-family:var(--font-disp);font-style:italic;font-weight:300;font-size:clamp(28px,4.4vw,56px);line-height:1.15;letter-spacing:.005em;color:var(--fg);margin:clamp(20px,2.5vw,32px) 0 clamp(16px,1.8vw,22px);max-width:22ch}.articles-lead{font-family:var(--font-body);font-size:clamp(15px,1.2vw,17px);color:var(--fg-dim);max-width:52ch;line-height:1.85}.articles-empty{font-family:var(--font-disp);font-style:italic;font-size:clamp(20px,2vw,28px);color:var(--fg-dim);text-align:center;padding:clamp(48px,8vw,96px) 0}.articles-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.article-row{border-bottom:1px solid var(--line)}.article-row:first-child{border-top:1px solid var(--line)}.article-link{display:grid;grid-template-columns:72px 1fr 28px;gap:clamp(16px,2vw,28px);align-items:start;padding:clamp(22px,2.6vw,30px) 0;text-decoration:none;color:inherit;position:relative;transition:padding-left .45s ease}.article-link:before{content:"";position:absolute;left:-8px;top:50%;width:4px;height:0;background:var(--fg-dim);transform:translateY(-50%);transition:height .5s ease,background .5s ease;pointer-events:none}.article-link:hover:before{height:calc(100% - 28px)}.article-link:hover{padding-left:8px}.article-date{font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;color:var(--fg-faint);padding-top:10px;white-space:nowrap}.article-meta{display:flex;flex-direction:column;gap:8px;min-width:0}.article-title{font-family:var(--font-disp);font-style:italic;font-weight:300;font-size:clamp(20px,2.2vw,28px);line-height:1.25;letter-spacing:.005em;color:var(--fg);transition:color .4s ease}.article-excerpt{font-family:var(--font-body);font-size:clamp(13px,1vw,15px);color:var(--fg-dim);line-height:1.7;max-width:56ch}.article-arrow{font-family:var(--font-mono);font-size:14px;color:var(--fg-faint);align-self:center;transform:translate(-6px);opacity:.5;transition:transform .45s ease,opacity .45s ease,color .45s ease}.article-link:hover .article-arrow{transform:translate(0);opacity:1;color:var(--fg-dim)}.article-link:hover .article-title{color:var(--fg)}.article-page{position:relative;z-index:200;background:var(--bg);min-height:100svh;padding:calc(var(--bar-h) + clamp(72px,11vw,130px)) var(--gutter) calc(var(--bar-bottom-h) + clamp(72px,11vw,130px));max-width:720px;margin:0 auto}.article-meta-row{display:flex;align-items:center;gap:18px;margin-bottom:clamp(20px,2.4vw,32px)}.article-date--detail{padding-top:0;letter-spacing:.18em}.article-tags{display:inline-flex;gap:10px;flex-wrap:wrap}.article-tag{font-family:var(--font-mono);font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--fg-faint);border:1px solid var(--line);padding:4px 10px;border-radius:999px}.article-headline{font-family:var(--font-disp);font-style:italic;font-weight:300;font-size:clamp(32px,5.6vw,64px);line-height:1.1;letter-spacing:.005em;color:var(--fg);margin-bottom:clamp(40px,6vw,72px);max-width:18ch}.article-lead{font-family:var(--font-body);font-size:clamp(16px,1.4vw,19px);color:var(--fg-dim);line-height:1.85;max-width:56ch;margin-bottom:clamp(40px,6vw,64px)}.article-body{font-family:var(--font-body);color:var(--fg-dim);font-size:clamp(15px,1.15vw,17px);line-height:1.95}.article-p{margin-bottom:clamp(22px,2.2vw,28px);max-width:60ch}.article-body>.article-p:first-child:first-letter{font-family:var(--font-disp);font-style:italic;font-weight:300;font-size:3.6em;line-height:.95;float:left;padding:6px 14px 0 0;color:var(--fg)}.article-h2{font-family:var(--font-disp);font-style:italic;font-weight:300;font-size:clamp(22px,2.4vw,30px);line-height:1.3;color:var(--fg);margin:clamp(40px,5vw,60px) 0 clamp(16px,1.8vw,22px);max-width:28ch}.article-quote{margin:clamp(40px,5vw,60px) 0;padding:clamp(20px,2.5vw,32px) clamp(22px,3vw,36px);border-left:1px solid var(--fg-faint);font-family:var(--font-disp);font-style:italic;font-weight:300;font-size:clamp(20px,2.2vw,26px);line-height:1.5;color:var(--fg);background:linear-gradient(to right,rgba(255,255,255,.012) 0%,transparent 60%);max-width:50ch}.article-quote p{margin:0}.article-quote__cite{display:block;margin-top:14px;font-family:var(--font-mono);font-style:normal;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-faint)}.article-code{position:relative;margin:clamp(28px,3.5vw,44px) 0;padding:clamp(20px,2.2vw,26px);padding-top:clamp(30px,3vw,36px);background:var(--code-bg);border:1px solid var(--code-line);border-radius:4px;overflow-x:auto;font-family:var(--font-mono);font-size:clamp(13px,1vw,14px);font-weight:300;line-height:1.85;color:var(--code-plain)}.article-code:before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,var(--code-rule),transparent 60%)}.article-code__lang{position:absolute;top:10px;right:14px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--code-quiet);-webkit-user-select:none;user-select:none}.article-code code{font:inherit;color:inherit}.article-code .tok-fn{color:var(--code-call);font-weight:400}.article-code .tok-number,.article-code .tok-string,.article-code .tok-string-2{font-weight:400}.article-code .tok-number{color:var(--code-number)}.article-code .tok-string,.article-code .tok-string-2{color:var(--code-string)}.article-code .tok-type{color:var(--code-type)}.article-code .tok-prop{color:var(--code-prop)}.article-code .tok-keyword{color:var(--code-keyword)}.article-code .tok-comment{color:var(--code-comment)}.article-code .tok-punct,.article-code .tok-colon,.article-code .tok-op,.article-code .tok-var{color:var(--code-punct)}.article-foot{margin-top:clamp(64px,9vw,110px);padding-top:clamp(32px,4vw,48px);border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px}.article-back{margin-top:clamp(40px,6vw,64px)}.article-back-link{font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--fg-faint);text-decoration:none;transition:color .4s ease}.article-back-link:hover{color:var(--fg)}.recently-foot{display:flex;justify-content:flex-end;margin-top:18px}.recently-see-all{font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--fg-faint);text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:color .4s ease,gap .4s ease}.recently-see-all:hover{color:var(--fg);gap:12px}@media(max-width:600px){:root{--gutter: 22px;--section-y: clamp(56px, 12vw, 96px);--bar-bottom-h: 38px}.cinema-nav,.cinema-bottom .cinema-location{display:none}.cinema-bottom{justify-content:center}.lang-toggle__btn{padding:8px 4px}#hero{height:88svh;min-height:460px;padding-bottom:calc(var(--bar-bottom-h) + 28px)}.hero-name,.hero-rule{margin-bottom:12px}.section-label{margin-bottom:clamp(20px,5vw,32px)}.note-item{grid-template-columns:48px 1fr;gap:12px;padding:14px 0}.article-link{grid-template-columns:1fr auto;grid-template-areas:"date  arrow" "meta  meta";gap:4px 14px;padding:18px 0}.article-link .article-date{grid-area:date;padding-top:0}.article-link .article-meta{grid-area:meta}.article-link .article-arrow{grid-area:arrow;align-self:start}.article-link:hover{padding-left:0}.article-link:before{display:none}.articles-page{padding:calc(var(--bar-h) + clamp(48px,11vw,80px)) var(--gutter) calc(var(--bar-bottom-h) + clamp(48px,11vw,80px))}.articles-hero{margin-bottom:clamp(36px,9vw,64px);padding-bottom:clamp(28px,7vw,44px)}.article-page{padding:calc(var(--bar-h) + clamp(48px,11vw,80px)) var(--gutter) calc(var(--bar-bottom-h) + clamp(56px,12vw,90px))}.article-headline{margin-bottom:clamp(28px,7vw,48px)}.article-h2{margin:clamp(28px,6vw,44px) 0 clamp(12px,3vw,18px)}.article-quote{margin:clamp(28px,6vw,44px) 0;padding:clamp(14px,4vw,22px) clamp(16px,4vw,22px)}.article-body>.article-p:first-child:first-letter{font-size:2.6em;padding:2px 8px 0 0}.article-foot{margin-top:clamp(48px,11vw,72px);padding-top:clamp(24px,6vw,36px)}.made-item{grid-template-columns:1fr auto;grid-template-areas:"name  cta" "desc  cta";row-gap:6px;padding:16px 0}.made-name{grid-area:name}.made-desc{grid-area:desc}.made-arrow,.made-cta{grid-area:cta;align-self:center}.made-cta{gap:10px}.made-cta__hint{opacity:1;transform:none;color:var(--fg-dim);font-size:clamp(13px,3.6vw,15px)}.made-cta__arrow{color:var(--fg-dim)}button.made-item:active .made-cta__hint,button.made-item:active .made-cta__arrow,button.made-item:active .made-name{color:var(--fg)}.about-text{margin-bottom:22px}.contact-heading{margin-bottom:24px}.social-row{gap:22px;margin-top:22px}.vscode{grid-template-columns:1fr}.vscode__sidebar{display:none}.vscode__editor{padding-left:12px}.vscode__code{font-size:12px}.vscode-stage{padding:calc(var(--bar-h) + 18px) 16px calc(var(--bar-bottom-h) + 18px)}.vscode-stage__close{top:calc(var(--bar-h) + 8px);right:12px}}
