@font-face{font-family:hubano;src:url(../media/Hubano_Rough-s.p.0386xw5~l1_as.ttf)format("truetype");font-display:swap;font-style:normal}@font-face{font-family:hubano Fallback;src:local(Arial);ascent-override:74.09%;descent-override:14.82%;line-gap-override:2.96%;size-adjust:134.96%}.hubano_575aa3ba-module__e0RG6G__className{font-family:hubano,hubano Fallback}.hubano_575aa3ba-module__e0RG6G__variable{--font-hubano:"hubano", "hubano Fallback"}
@font-face{size-adjust:113.9%;font-family:averia;src:url(../media/AveriaLibre_Light-s.p.0l0ntr2pa6lu-.ttf)format("truetype");font-display:swap;font-weight:300;font-style:normal}@font-face{size-adjust:113.9%;font-family:averia;src:url(../media/AveriaLibre_LightItalic-s.p.0h.-3wlznankq.ttf)format("truetype");font-display:swap;font-weight:300;font-style:italic}@font-face{size-adjust:113.9%;font-family:averia;src:url(../media/AveriaLibre_Regular-s.p.0vgm-umpaze.0.ttf)format("truetype");font-display:swap;font-weight:400;font-style:normal}@font-face{size-adjust:113.9%;font-family:averia;src:url(../media/AveriaLibre_Italic-s.p.0m1u5nziacje~.ttf)format("truetype");font-display:swap;font-weight:400;font-style:italic}@font-face{size-adjust:113.9%;font-family:averia;src:url(../media/AveriaLibre_Bold-s.p.0wzaqtanu4jz8.ttf)format("truetype");font-display:swap;font-weight:700;font-style:normal}@font-face{size-adjust:113.9%;font-family:averia;src:url(../media/AveriaLibre_BoldItalic-s.p.0g3t_ammgywef.ttf)format("truetype");font-display:swap;font-weight:700;font-style:italic}@font-face{font-family:averia Fallback;src:local(Arial);ascent-override:94.39%;descent-override:23.79%;line-gap-override:0.0%;size-adjust:100.98%}.averia_faf1abed-module__AdM80G__className{font-family:averia,averia Fallback}.averia_faf1abed-module__AdM80G__variable{--font-averia:"averia", "averia Fallback"}
@font-face{font-family:comfortaa;src:url(../media/Comfortaa_VariableFont_wght-s.p.0tx39tj8c9j~l.ttf)format("truetype");font-display:swap;font-weight:400 700;font-style:normal}@font-face{font-family:comfortaa Fallback;src:local(Arial);ascent-override:74.6%;descent-override:19.81%;line-gap-override:0.0%;size-adjust:118.1%}.comfortaa_9a111795-module__ZS-Evq__className{font-family:comfortaa,comfortaa Fallback}.comfortaa_9a111795-module__ZS-Evq__variable{--font-comfortaa:"comfortaa", "comfortaa Fallback"}
@font-face{size-adjust:106.8%;font-family:googleSansCode;src:url(../media/GoogleSansCode-s.p.07kb75wviv-zo.ttf)format("truetype");font-display:swap;font-style:normal}@font-face{font-family:googleSansCode Fallback;src:local(Arial);ascent-override:73.47%;descent-override:21.75%;line-gap-override:0.0%;size-adjust:131.49%}.googlesanscode_f6a8dd08-module__AccNFq__className{font-family:googleSansCode,googleSansCode Fallback}.googlesanscode_f6a8dd08-module__AccNFq__variable{--font-google-code:"googleSansCode", "googleSansCode Fallback"}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--accent:var(--lightningcss-light,#154ca1)var(--lightningcss-dark,#95ad62);--accent-hover:oklch(from var(--accent) calc(l + .125) c h);--panel:var(--lightningcss-light,#f2ebe5)var(--lightningcss-dark,#101010);--panel-hover:oklch(from var(--panel) calc(l + .125) c h);--paper:var(--lightningcss-light,#111)var(--lightningcss-dark,#e7e7e7);--paper-hover:oklch(from var(--paper) calc(l + .125) c h);--paper-inverted:var(--lightningcss-light,#e7e7e7)var(--lightningcss-dark,#111);--paper-inverted-hover:oklch(from var(--paper-inverted) calc(l + .125) c h);--paper-muted:var(--lightningcss-light,#474747)var(--lightningcss-dark,#a6a6a6);--paper-muted-hover:oklch(from var(--paper-muted) calc(l + .125) c h);--border:var(--lightningcss-light,#929292)var(--lightningcss-dark,#4e4e4e);--border-hover:oklch(from var(--border) calc(l + .125) c h);--ff-hubano:var(--font-hubano), var(--ff-paperbody), system-ui, serif;--ff-paperbody:var(--font-averia), "Segoe UI", system-ui, sans-serif;--ff-monosans:var(--font-google-code), ui-monospace, "SF Mono", Menlo, monospace;--ff-body:var(--font-comfortaa), Georgia, serif;--fsize-title:clamp(4.5rem, 2.652vw + 3.878rem, 6rem);--fsize-h1:clamp(3rem, 1.348vw + 2.671rem, 3.75rem);--fsize-h2:calc(var(--fsize-h1) * .75);--fsize-h3:calc(var(--fsize-h1) * .5);--fsize-h4:calc(var(--fsize-h1) * .4);--fsize-body:calc(var(--fsize-h1) * .3);--fsize-xs:calc(var(--fsize-h1) * .25);--r:6px;--r-lg:10px;--r-xl:14px;--r-btn:255px 15px 225px 15px/15px 225px 15px 255px;--r-ppr1:25px 10px 30px 5px/15px 205px 15px 255px;--noise-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cfilter id='m'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.83' numOctaves='17' stitchTiles='stitch'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='table' tableValues='1 1 0.3'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23m)'/%3E%3C/svg%3E");--mask-size:140px;--sp-bar-y:clamp(18px, .5vw + .75rem, 26px);--sp-bar-x:clamp(15px, calc(11.286px + .952vw), 25px);--page-w:min(1500px, 98vw);--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--dur:.42s;--dur-fast:.22s;--dur-slow:.7s;--dur-hover-out:.48s;--dur-hover-in:.18s}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}html[data-user-color-scheme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-user-color-scheme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper-inverted);color:var(--paper);font-family:var(--ff-body);letter-spacing:.031rem;font-weight:500;line-height:1.5;font-size:var(--fsize-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;flex-direction:column;min-height:100vh;margin:0;display:flex;position:relative}a{color:inherit}button{cursor:pointer;font-family:inherit}main{z-index:2;max-width:var(--page-w);padding:0 var(--sp-bar-x);margin:0 auto;position:relative}section,article{padding:clamp(4rem,3.068rem + 3.978vw,6.25rem) 0 0}section:first-of-type,article:first-of-type{padding:clamp(.688rem,5.414vw - .582rem,3.75rem) 0 0}h1{font-size:var(--fsize-h1);text-align:center;color:var(--accent);font-family:var(--ff-hubano);font-weight:700}section>h1,article>h1{margin:0 0 clamp(1.375rem,1.271rem + .442vw,1.625rem)}h1,.btn,.theme-toggle,.grain{-webkit-mask-image:var(--noise-mask);mask-image:var(--noise-mask);-webkit-mask-size:var(--mask-size);mask-size:var(--mask-size)}h1.hr-1{--mask-size:45px;color:var(--accent)}.hr-1{color:var(--paper);font-family:var(--ff-paperbody);letter-spacing:.031rem;font-weight:500;line-height:1.5;font-size:var(--fsize-h2);text-transform:none}.hr-2{color:var(--paper);font-family:var(--ff-paperbody);letter-spacing:.031rem;font-weight:500;line-height:1.5;font-size:var(--fsize-h3);text-transform:none}.hr-3{color:var(--paper);font-family:var(--ff-paperbody);letter-spacing:.031rem;font-weight:500;line-height:1.5;font-size:var(--fsize-h4);text-transform:none}.hr-4{color:var(--paper-muted);font-family:var(--ff-paperbody);letter-spacing:.031rem;font-weight:500;line-height:1.5;font-size:var(--fsize-body);text-transform:none}.hr-general{color:var(--paper);font-family:var(--ff-paperbody);letter-spacing:.031rem;font-weight:500;line-height:1.5;font-size:var(--fsize-body);text-transform:none}.hr-mono-accented{color:var(--accent);font-family:var(--ff-monosans);letter-spacing:.031rem;font-weight:700;line-height:1.5;font-size:var(--fsize-xs);text-transform:none}.hr-mono-normal{color:var(--paper);font-family:var(--ff-monosans);letter-spacing:.031rem;font-weight:500;line-height:1.5;font-size:var(--fsize-xs);text-transform:none}.kv-row{align-items:baseline;gap:.5rem;display:flex}.kv-row .k{order:1}.kv-row:before{content:"";opacity:.5;background-image:radial-gradient(circle,currentColor 20%,#0000 21%);background-position:0 85%;background-repeat:space no-repeat;background-size:.6em .6em;flex:1;order:2;align-self:stretch}.kv-row .v{text-align:right;order:3}.bloom{pointer-events:none;z-index:0;background:url(/assets/bloom/bg-pattern-dark.jpg) 0 0/50vw;position:fixed;inset:0}@media (prefers-color-scheme:light){:root:not([data-user-color-scheme]) .bloom{background:url(/assets/bloom/bg-pattern-light.jpg) 0 0/60vw}}:root[data-user-color-scheme=light] .bloom{background:url(/assets/bloom/bg-pattern-light.jpg) 0 0/60vw}:root[data-user-color-scheme=dark] .bloom{filter:brightness(90%);background:url(/assets/bloom/bg-pattern-dark.jpg) 0 0/50vw}.btn{color:var(--paper-inverted);font-family:var(--ff-paperbody);font-size:var(--fsize-body);letter-spacing:.031rem;text-transform:none;cursor:pointer;white-space:nowrap;transition:color var(--dur-hover-out) var(--ease-out);background:0 0;border:0;justify-content:center;align-items:center;gap:8px;padding:25px;font-weight:800;line-height:1.5;text-decoration:none;display:inline-flex;position:relative}.btn:before{content:"";z-index:-1;background:var(--accent);transition:background var(--dur-hover-out) var(--ease-out);position:absolute;inset:0;-webkit-mask-image:url(/assets/svg_buttons/filled_button.svg);mask-image:url(/assets/svg_buttons/filled_button.svg);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.btn.ghost,.btn.under{color:var(--accent);gap:6px;padding:25px 0}.btn.ghost{min-width:11.385rem}.btn.ghost:before,.btn.ghost:after,.btn.under:after{content:"";z-index:-1;background:var(--accent);height:12px;transition:background var(--dur-hover-out) var(--ease-out);position:absolute;left:0;right:0;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.btn.ghost:before{top:10px;bottom:auto;-webkit-mask-image:url(/assets/svg_buttons/btn_ghst_stroke_top.svg);mask-image:url(/assets/svg_buttons/btn_ghst_stroke_top.svg)}.btn.ghost:after{bottom:10px;-webkit-mask-image:url(/assets/svg_buttons/btn_ghst_stroke_bottom.svg);mask-image:url(/assets/svg_buttons/btn_ghst_stroke_bottom.svg)}.btn.under:before{content:none}.btn.under:after{height:4px;bottom:18px;-webkit-mask-image:url(/assets/svg_buttons/btn_under_stroke.svg);mask-image:url(/assets/svg_buttons/btn_under_stroke.svg)}@media (hover:hover){.btn:hover:before,.btn:hover:after{background:var(--accent-hover);transition-duration:var(--dur-hover-in)}.btn.ghost:hover,.btn.under:hover{color:var(--accent-hover);transition-duration:var(--dur-hover-in)}}.btn:disabled:before,.btn.disabled:before,.btn:disabled:after,.btn.disabled:after{background:var(--border)}.btn.expand{width:50px;height:50px;transition:transform var(--dur-hover-out) var(--ease-out);margin:25px;padding:0}.btn.expand:before{-webkit-mask-image:url(/assets/svg_buttons/btn_circle_bg.svg);mask-image:url(/assets/svg_buttons/btn_circle_bg.svg)}.btn.expand[aria-expanded=true]{transform:rotate(180deg)}.topbar-wrap{z-index:5;display:none;position:sticky;top:0}.topbar-sheet{z-index:-1;pointer-events:none;filter:drop-shadow(0 8px 5px var(--lightningcss-light,#00000047)var(--lightningcss-dark,#000))contrast(103%);height:calc(100% + 5px);position:absolute;top:0;left:0;right:0}.topbar-sheet:before{content:"";background:url(/assets/bloom/bg-pattern-dark.jpg) 0 0/50vw;position:absolute;inset:0;-webkit-mask-image:url(/assets/svg_buttons/nav_edge_top.svg);mask-image:url(/assets/svg_buttons/nav_edge_top.svg);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}@media (prefers-color-scheme:light){:root:not([data-user-color-scheme]) .topbar-sheet:before{background:url(/assets/bloom/bg-pattern-light.jpg) 0 0/60vw}}:root[data-user-color-scheme=light] .topbar-sheet:before{background:url(/assets/bloom/bg-pattern-light.jpg) 0 0/60vw}:root[data-user-color-scheme=dark] .topbar-sheet:before{background:url(/assets/bloom/bg-pattern-dark.jpg) 0 0/50vw}.topbar{padding:var(--sp-bar-y) var(--sp-bar-x);max-width:var(--page-w);justify-content:space-between;align-items:center;gap:24px;margin:0 auto;display:flex;position:relative}.nav{border-radius:999px;grid-area:1/2;justify-self:end;gap:14px;width:max-content;padding:4px 8px;display:none;position:relative}.nav a{color:var(--paper);font-size:var(--fsize-body);font-family:var(--ff-body);z-index:1;letter-spacing:-.005em;transition:color var(--dur-hover-out) var(--ease-out);white-space:nowrap;text-align:center;border-radius:999px;min-width:84px;padding:7px 14px;font-weight:700;text-decoration:none;position:relative}@media (hover:hover){.nav a:hover{color:var(--accent);transition-duration:var(--dur-hover-in)}}.nav .pill{border:2px solid var(--accent);z-index:66;pointer-events:none;opacity:0;width:0;transition:opacity .2s var(--ease-out);will-change:transform, width, border-radius;background:0 0;border-radius:999px;position:absolute;top:-6px;bottom:-6px;left:0;transform:translate(0)}.hamburger{width:clamp(46px,31px + 1.97vw,66px);height:clamp(46px,31px + 1.97vw,66px);color:var(--accent);cursor:pointer;transition:color var(--dur-hover-out) var(--ease-out);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:none}.hamburger .bars{background:var(--accent);width:100%;height:100%;transition:background var(--dur-hover-out) var(--ease-out);-webkit-mask-image:url(/assets/svg_buttons/hamburgerlines.svg),url(/assets/svg_buttons/hamburgerlines.svg),url(/assets/svg_buttons/hamburgerlines.svg);mask-image:url(/assets/svg_buttons/hamburgerlines.svg),url(/assets/svg_buttons/hamburgerlines.svg),url(/assets/svg_buttons/hamburgerlines.svg);-webkit-mask-position:50% 22%,50%,50% 78%;mask-position:50% 22%,50%,50% 78%;-webkit-mask-size:100% 18%;mask-size:100% 18%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}@media (hover:hover){.hamburger:hover{color:var(--accent-hover);transition-duration:var(--dur-hover-in)}.hamburger:hover .bars{background:var(--accent-hover);transition-duration:var(--dur-hover-in)}}.hamburger .x{width:24px;height:24px;display:none}.hamburger.open .x{display:inline}.hamburger.open .bars{display:none}.drawer{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:opacity .28s var(--ease-out);position:fixed;inset:0}.drawer.open{opacity:1;pointer-events:auto}.drawer-panel{border-left:2px solid var(--border);width:min(360px,86vw);transition:transform .36s var(--ease-out);background:url(/assets/bloom/bg-pattern-dark.jpg) 0 0/50vw;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:32px 28px 40px;display:flex;position:absolute;top:0;bottom:0;right:0;transform:translate(100%)}.drawer.open .drawer-panel{transform:translate(0)}@media (prefers-color-scheme:light){:root:not([data-user-color-scheme]) .drawer-panel{background:url(/assets/bloom/bg-pattern-light.jpg) 0 0/60vw}}:root[data-user-color-scheme=light] .drawer-panel{background:url(/assets/bloom/bg-pattern-light.jpg) 0 0/60vw}:root[data-user-color-scheme=dark] .drawer-panel{background:url(/assets/bloom/bg-pattern-dark.jpg) 0 0/50vw}.drawer-head{font-size:var(--fsize-h2);font-family:var(--ff-hubano);color:var(--accent);text-transform:uppercase;white-space:nowrap;transition:color var(--dur-hover-out) var(--ease-out);font-weight:900;text-decoration:none}@media (hover:hover){.drawer-head:hover{color:var(--accent-hover);transition-duration:var(--dur-hover-in)}}.drawer-link{text-align:center;color:var(--paper);font-family:var(--ff-paperbody);font-size:var(--fsize-h3);white-space:nowrap;transition:color var(--dur-hover-out) var(--ease-out);border:2px solid #0000;border-radius:999px;width:165px;margin:0 auto;padding:12px 0;text-decoration:none;display:block}@media (hover:hover){.drawer-link:hover{color:var(--paper);transition-duration:var(--dur-hover-in)}}.drawer-link.active{color:var(--accent)}.nav-sheet{z-index:4;pointer-events:none;width:clamp(220px,40vw - 507px,310px);filter:drop-shadow(-11px 0 5px var(--lightningcss-light,#00000047) var(--lightningcss-dark,#000)) contrast(103%);position:fixed;top:0;bottom:0;right:0}.nav-sheet:before{content:"";background:url(/assets/bloom/bg-pattern-dark.jpg) 0 0/50vw;position:absolute;inset:0;-webkit-mask-image:url(/assets/svg_buttons/nav_edge.svg);mask-image:url(/assets/svg_buttons/nav_edge.svg);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}@media (prefers-color-scheme:light){:root:not([data-user-color-scheme]) .nav-sheet:before{background:url(/assets/bloom/bg-pattern-light.jpg) 0 0/60vw}}:root[data-user-color-scheme=light] .nav-sheet:before{background:url(/assets/bloom/bg-pattern-light.jpg) 0 0/60vw}:root[data-user-color-scheme=dark] .nav-sheet:before{background:url(/assets/bloom/bg-pattern-dark.jpg) 0 0/50vw}.side-nav{z-index:5;flex-direction:column;align-items:center;display:flex;position:fixed;top:50%;transform:translateY(-50%)}.side-nav .theme-toggle,.drawer-panel .theme-toggle{margin-top:28px}.menu-items{position:relative}.menu-items .pill{border:2px solid var(--accent);opacity:0;width:0;height:0;transition:opacity .2s var(--ease-out);pointer-events:none;will-change:transform;border-radius:999px;position:absolute;top:0;left:0}.panel{background:var(--panel);border:2px solid var(--accent);border-radius:var(--r-lg);transition:border-color var(--dur-hover-out) var(--ease-out);position:relative}a.panel{color:inherit;text-decoration:none;display:block}@media (hover:hover){a.panel:hover{border-color:var(--accent-hover);transition-duration:var(--dur-hover-in)}}.page-stack{flex-direction:column;flex:1;display:flex;position:relative;overflow-x:clip}.page-slide{flex:1;width:100%}.mono{font-family:var(--ff-monosans)}.accent-text{color:var(--accent)}.footer-wrap{z-index:2;position:relative}.footer{max-width:var(--page-w);padding:var(--sp-bar-y) var(--sp-bar-x);border-top:2px solid var(--border);justify-content:space-between;align-items:center;gap:16px;margin:clamp(50px,41.702px + 2.128vw,80px) auto 0;display:flex}.footer .copyright,.footer .local-time{font-family:var(--ff-paperbody);font-size:var(--fsize-xs);color:var(--paper-muted);font-weight:700}article p{font-weight:600}
.page-slide:has(main.home-page){flex-direction:column;display:flex}main.home-page{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;min-width:0;padding:9vh 24px;display:flex}.home-inner .home-inner:not(.home-title){width:100%;max-width:400px}.home-title{font-family:var(--ff-hubano);font-weight:400;font-size:var(--fsize-title);letter-spacing:.01em;color:var(--accent);margin:0;line-height:.96}.home-sub{font-family:var(--ff-paperbody);font-size:var(--fsize-h3);color:var(--accent);text-transform:uppercase;margin:2rem 0 0;font-weight:600}.home-nav{font-family:var(--ff-paperbody);margin-top:2.6rem}.home-nav ol{counter-reset:home-nav;text-align:left;gap:.9rem;margin:0 clamp(3px,2.584vw - 7.079px,26px) 0 clamp(6px,2.584vw - 4.079px,29px);padding:0;list-style:none;display:grid}.home-nav li{counter-increment:home-nav;display:flex}.home-nav a{text-transform:uppercase;letter-spacing:.04em;font-size:var(--fsize-h4);color:var(--paper);transition:color var(--dur-hover-out) var(--ease-out);flex:1;gap:.5rem;font-weight:300;text-decoration:none;display:flex}.home-nav a:before{content:"";opacity:.5;background-image:radial-gradient(circle,currentColor 20%,#0000 21%);background-position:0 80%;background-repeat:space no-repeat;background-size:.6em .6em;flex:1;order:2}.home-nav a:after{content:counter(home-nav);font-variant-numeric:tabular-nums;order:3}@media (hover:hover){.home-nav a:hover{color:var(--accent-hover);transition-duration:var(--dur-hover-in)}}.home-footer{font-family:var(--ff-paperbody);font-size:calc(var(--fsize-h3) *.85);color:var(--accent);flex-direction:column;justify-content:center;align-items:center;gap:16px;margin-top:3rem;padding:14px 0;display:flex}.home-footer .local-time{color:var(--accent)}.theme-toggle{--tt-slant:10px;--tt-left-fill:1;--tt-right-fill:0;--tt-left-col:var(--paper-inverted);--tt-right-col:var(--accent);border:2px solid var(--accent);background:var(--panel);cursor:pointer;height:38px;transition:border-color var(--dur-hover-out) var(--ease-out);border-radius:999px;align-items:stretch;margin-top:2rem;padding:0;display:inline-flex;position:relative;overflow:hidden}@media (hover:hover){.theme-toggle:hover{border-color:var(--accent-hover);transition-duration:var(--dur-hover-in)}}.theme-toggle:before,.theme-toggle:after{content:"";z-index:0;background:var(--accent);transition:opacity var(--dur-fast) var(--ease-out), background-color var(--dur-hover-out) var(--ease-out);position:absolute;inset:0}@media (hover:hover){.theme-toggle:hover:before,.theme-toggle:hover:after{background:var(--accent-hover);transition-duration:var(--dur-hover-in)}}.theme-toggle:before{clip-path:polygon(0 0, calc(50% + var(--tt-slant)) 0, calc(50% - var(--tt-slant)) 100%, 0 100%);opacity:var(--tt-left-fill)}.theme-toggle:after{clip-path:polygon(calc(50% + var(--tt-slant)) 0, 100% 0, 100% 100%, calc(50% - var(--tt-slant)) 100%);opacity:var(--tt-right-fill)}.theme-toggle .tt-half{z-index:1;transition:color var(--dur-fast) var(--ease-out);justify-content:center;align-items:center;padding:0 14px;display:inline-flex;position:relative}.theme-toggle .tt-half svg{width:25px;height:25px}.theme-toggle .tt-left{color:var(--tt-left-col)}.theme-toggle .tt-right{color:var(--tt-right-col)}@media (prefers-color-scheme:light){:root:not([data-user-color-scheme]) .theme-toggle{--tt-left-fill:0;--tt-right-fill:1;--tt-left-col:var(--accent);--tt-right-col:var(--paper-inverted)}}:root[data-user-color-scheme=light] .theme-toggle{--tt-left-fill:0;--tt-right-fill:1;--tt-left-col:var(--accent);--tt-right-col:var(--paper-inverted)}:root[data-user-color-scheme=dark] .theme-toggle{--tt-left-fill:1;--tt-right-fill:0;--tt-left-col:var(--paper-inverted);--tt-right-col:var(--accent)}
.about-actions{flex-wrap:wrap;justify-content:center;gap:1rem clamp(.938rem,125vw - 29.531rem,2.188rem);margin-top:clamp(35px,16.157px + 4.831vw,50px);display:flex}section.about-glancesec{max-width:680px;margin:0 auto}.glance{text-align:left;gap:.9rem;margin:0 auto;padding:0;list-style:none;display:grid}section.about-expsec{max-width:930px;margin:0 auto}.exp-list{--exp-pad-y:22px;--exp-pad-x:22px;flex-direction:column;gap:12px;display:flex}.exp-item{position:relative}.exp-item:before{content:"";inset:calc(-1 * var(--exp-pad-y)) calc(-1 * var(--exp-pad-x));z-index:-1;background:var(--panel);border:2px solid var(--border);border-radius:var(--r-xl);opacity:0;transition:opacity .32s var(--ease-out);position:absolute}.exp-item.open{transition:margin-bottom .32s var(--ease-out);margin-bottom:45px}.exp-item.open:before{opacity:1}.exp-head{flex-direction:column;gap:.6rem;display:flex}.exp-detail{align-self:center;width:95%}.exp-divider{align-items:center;gap:14px;display:flex}.exp-rule{background:var(--border);opacity:.5;flex:1;height:3px}.exp-word{color:var(--accent)}.exp-body{transition:grid-template-rows .32s var(--ease-out);grid-template-rows:0fr;display:grid}.exp-item.open .exp-body{grid-template-rows:1fr}.exp-body-inner{min-height:0;font-family:var(--ff-body);letter-spacing:.015em;font-weight:700;line-height:1.6;overflow:hidden}.exp-body-inner ul{margin:0;padding:18px 0 0 22px;list-style:none}.exp-body-inner li{margin:12px 0}.exp-body-inner li:before{content:"⦿";color:var(--accent);margin-right:clamp(10px,7.371px + .674vw,16px);font-weight:700}section.about-projsec{max-width:1300px;margin:0 auto}.proj-list{flex-direction:column;gap:40px;display:flex}.proj-item{flex-direction:column;gap:.6rem;display:flex}.stack{padding:6px 22px}.stack-block .head{color:var(--accent)}.stack-block{border-bottom:1px solid var(--border);grid-template-columns:250px minmax(0,1fr);align-items:baseline;gap:5px;padding:5px 0;display:grid}.stack-block:last-child{border-bottom:0}.stack-block .items{flex-wrap:wrap;gap:10px;display:flex}.stack-block .tag{background:var(--accent);color:var(--paper-inverted);border-radius:var(--r);text-wrap:nowrap;padding-inline:.4em;font-weight:600}
.work-hero{text-align:center}.gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 18px;display:grid}.art-card{color:inherit;flex-direction:column;gap:12px;text-decoration:none;display:flex}.art-frame{aspect-ratio:4/3;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--panel);display:block;overflow:hidden}.art-img{background-position:50%;background-size:cover;width:100%;height:100%;display:block}.art-caption{flex-direction:row;justify-content:space-between;align-items:baseline;margin:2px 8px;display:flex}.art-engine{border:2px solid var(--border);border-radius:var(--r);color:var(--paper-muted);white-space:nowrap;flex:none;padding:4px}.art-title{min-width:0;transition:color var(--dur-hover-out) var(--ease-out);color:var(--accent);flex:1}@media (hover:hover){.art-card:hover .art-title{color:var(--accent-hover);transition-duration:var(--dur-hover-in)}}.shader-lede{text-align:center;padding-bottom:18px}.shader-list{grid-template-columns:repeat(3,minmax(0,1fr));align-items:baseline;gap:30px 55px;display:grid}.shader-row{align-items:baseline;gap:22px;align-content:unset;flex-direction:column;padding:22px 0;text-decoration:none;display:flex}.shader-cover{aspect-ratio:21/9;border:1px solid var(--border);border-radius:var(--r);background-color:var(--panel);background-position:50%;background-size:cover;width:100%;display:block}.shader-body{grid-template-rows:repeat(2,minmax(0,1fr));align-items:baseline;display:grid}.shader-plat{color:var(--paper-muted);border:2px solid var(--border);border-radius:var(--r);align-self:start;padding-inline:5px}.shader-name{color:var(--accent);transition:color var(--dur-hover-out) var(--ease-out);text-align:justify}.shader-desc{transition:color var(--dur-hover-out) var(--ease-out);text-align:justify}.shader-name,.shader-desc{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.shader-desc{-webkit-line-clamp:5;line-clamp:5}@media (hover:hover){.shader-row:hover .shader-name{color:var(--accent-hover);transition-duration:var(--dur-hover-in)}.shader-row:hover .shader-desc{color:var(--paper-hover);transition-duration:var(--dur-hover-in)}}
.tools2-banner{padding-top:24px}.featured-grid{grid-template-columns:repeat(auto-fit,clamp(15.25rem,3.729rem + 26.787vw,24rem));justify-content:center;gap:25px 29px;display:grid}.featured-card{text-align:center;color:inherit;flex-direction:column;gap:14px;text-decoration:none;display:flex}.featured-cover{aspect-ratio:21/9;border:1px solid var(--border);border-radius:var(--r);background-color:var(--panel);background-position:50%;background-size:cover;width:100%;display:block}.featured-body{flex-direction:column;gap:6px;min-width:0;display:flex}.featured-name{color:var(--accent);transition:color var(--dur-hover-out) var(--ease-out)}.featured-desc{-webkit-line-clamp:2;line-clamp:3;transition:color var(--dur-hover-out) var(--ease-out);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.featured-tag{color:var(--paper-muted);border:2px solid var(--border);padding-ibline:5px;border-radius:var(--r);align-self:center}@media (hover:hover){.featured-card:hover .featured-name{color:var(--accent-hover);transition-duration:var(--dur-hover-in)}.featured-card:hover .featured-desc{color:var(--paper-hover);transition-duration:var(--dur-hover-in)}}.tools2-head{padding-bottom:48px}.tools2-lede{text-align:center}main>section:nth-of-type(3)>.tools2-lede{grid-area:lede;padding-bottom:20px}main>section:nth-of-type(3)>h1{grid-area:header}.tools2-controls{grid-template-columns:1fr;grid-template-areas:"header""lede""search""filters""foot";gap:24px;display:grid}.tools2-search-input{background:var(--panel);border:2px solid;border-color:var(--accent);width:75%;font-family:var(--ff-body);font-size:var(--fsize-xs);color:var(--paper);transition:border-color .2s var(--ease-out);border-radius:999px;outline:none;grid-area:search;justify-self:center;margin-bottom:50px;padding:10px 20px}@media (hover:hover){.tools2-search-input:hover{border-color:var(--accent-hover);transition-duration:var(--dur-hover-in)}}.tools2-search-input::placeholder{color:var(--paper-muted)}.tools2-search-input:focus{border-color:var(--accent-hover)}.tools2-filter-row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.tools2-facet-label{flex:none;width:fit-content}.tools2-filters{flex-wrap:wrap;grid-area:filters;justify-content:space-between;align-items:center;gap:24px;display:flex}.tools2-filter-group{flex-basis:100%}.tools2-controls .filter-pills{padding:1px 8px}.tools2-controls-foot{flex-wrap:wrap;grid-area:foot;align-items:center;gap:10px 16px;padding-top:14px;display:flex}.tools2-count{color:var(--accent)}@keyframes tools2-kind-fade{0%{opacity:0}to{opacity:1}}@keyframes tools2-kind-reveal{0%{opacity:0;max-height:0}to{opacity:1;max-height:160px}}@keyframes tools2-kind-reveal-x{0%{opacity:0;max-width:0}50%{opacity:0;max-width:280px}to{opacity:1;max-width:280px}}@keyframes tools2-kind-close-x{0%{opacity:1;max-width:280px}45%{opacity:0;max-width:280px}to{opacity:0;max-width:0}}.tools2-filter-kind{animation:tools2-kind-fade .28s var(--ease-out) both}.tools2-results-out{animation:tools2-results-fade-out .16s var(--ease-out) both}.tools2-results-in{animation:tools2-results-fade-in .2s var(--ease-out) both}@keyframes tools2-results-fade-out{0%{opacity:1}to{opacity:0}}@keyframes tools2-results-fade-in{0%{opacity:0}to{opacity:1}}.tools2-subfade{display:inline-flex}.tools2-subfade-out{animation:tools2-subfade-out-kf .16s var(--ease-out) both}.tools2-subfade-in{animation:tools2-subfade-in-kf .2s var(--ease-out) both}@keyframes tools2-subfade-out-kf{0%{opacity:1}to{opacity:0}}@keyframes tools2-subfade-in-kf{0%{opacity:0}to{opacity:1}}.tools2-group{margin-top:30px}.tools2-group-head{margin-bottom:14px}.tools2-group-count{color:var(--paper-muted)}.tools2-empty{text-align:center;color:var(--paper-muted);margin-top:30px;padding:40px 0}.tools2-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.tools2-card{background:var(--panel);border-radius:var(--r-lg);color:inherit;border:2px solid var(--border);transition:border var(--dur-hover-out) var(--ease-out);grid-template-columns:minmax(clamp(3.125rem,2.218rem + 3.721vw,5.125rem),1fr) 10fr;grid-template-areas:"icon name""icon meta""desc desc";align-items:center;gap:6px 16px;padding:16px;text-decoration:none;display:grid}@media (hover:hover){.tools2-card:hover{transition-duration:var(--dur-hover-in);border:2px solid var(--border-hover)}}.tools2-card-icon{aspect-ratio:1;border-radius:var(--r);background:var(--accent);width:100%;transition:border var(--dur-hover-out) var(--ease-out), background var(--dur-hover-out) var(--ease-out);border:2px solid #0000;grid-area:icon;overflow:hidden}@media (hover:hover){.tools2-card:hover .tools2-card-icon{background:var(--panel);border:2px solid var(--border-hover);transition-duration:var(--dur-hover-in)}}.tools2-card-icon .placeholder{background-position:50%;background-size:cover;width:100%;height:100%;display:block}.tools2-card-icon .tool-icon{background:var(--panel);width:100%;height:100%;-webkit-mask:var(--icon-url) center / 58% no-repeat;mask:var(--icon-url) center / 58% no-repeat;transition:background var(--dur-hover-out) var(--ease-out);display:block}@media (hover:hover){.tools2-card:hover .tools2-card-icon .tool-icon{background:var(--accent-hover);transition-duration:var(--dur-hover-in)}}.tools2-card-name{color:var(--accent);transition:color var(--dur-hover-out) var(--ease-out);grid-area:name}@media (hover:hover){.tools2-card:hover .tools2-card-name{color:var(--accent-hover);transition-duration:var(--dur-hover-in)}}.tools2-card-meta{flex-wrap:wrap;grid-area:meta;align-items:center;gap:6px 30px;display:flex}.tools2-card-meta>span:first-of-type{background:var(--accent);color:var(--paper-inverted);border-radius:var(--r);transition:background var(--dur-hover-out) var(--ease-out);padding:0 4px}.tools2-card-tagline{color:var(--paper);transition:color var(--dur-hover-out) var(--ease-out);grid-area:desc;padding-top:clamp(.438rem,2.106rem - 3.514vw,1.25rem)}@media (hover:hover){.tools2-card:hover .tools2-card-tagline{color:var(--paper-hover);transition-duration:var(--dur-hover-in)}.tools2-card:hover .tools2-card-meta>span:first-of-type{background:var(--accent-hover);transition-duration:var(--dur-hover-in)}}.tools2-status{color:var(--paper-muted);transition:color var(--dur-hover-out) var(--ease-out)}@media (hover:hover){.tools2-card:hover .tools2-status{color:var(--paper-muted-hover);transition-duration:var(--dur-hover-in)}}.tool-detail .body img{max-width:min(1000px,100%)}.tool-meta{flex-direction:column;gap:8px;max-width:380px;margin:0 auto;display:flex}.tool-section{background:var(--panel);border:2px solid var(--border);border-radius:var(--r-lg);padding:30px}.tool-detail .tool-desc{margin-top:34px}.tool-detail .tool-section .body{margin-top:0}.tool-collapse>summary{cursor:pointer;color:var(--paper-muted);-webkit-user-select:none;user-select:none;transition:color var(--dur-hover-out) var(--ease-out);align-items:center;gap:10px;list-style:none;display:inline-flex}@media (hover:hover){.tool-collapse>summary:hover{color:var(--paper-muted-hover);transition-duration:var(--dur-hover-in)}}.tool-collapse>summary:before{content:"";width:7px;height:7px;transition:transform .2s var(--ease-out);border-bottom:1.5px solid;border-right:1.5px solid;transform:rotate(-45deg)}.tool-collapse[open]>summary:before{transform:rotate(45deg)}.tool-collapse[open]>summary{margin-bottom:18px}.tool-actions{flex-wrap:wrap;gap:1rem clamp(.938rem,125vw - 29.531rem,2.188rem);display:flex}.tool-tabs,.tool-tabs-single{margin-top:44px}.tool-tablist{border-bottom:1px solid var(--border);gap:10px;display:flex}.tool-tab{font-family:var(--ff-body);font-size:var(--fsize-xs);color:var(--paper-muted);cursor:pointer;transition:color var(--dur-hover-out) var(--ease-out), border-color var(--dur-hover-out) var(--ease-out);background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 6px}@media (hover:hover){.tool-tab:hover{color:var(--paper);transition-duration:var(--dur-hover-in)}}.tool-tab.on{color:var(--accent);border-bottom-color:var(--accent)}.tool-tabpanel{padding-top:24px}
.blog-hero{text-align:center}.blog-filter{justify-content:center;margin-bottom:clamp(28px,3vw,40px);display:flex}.post-list{flex-direction:column;display:flex}.post-row{color:inherit;grid-template-columns:172px 1fr;align-items:flex-start;gap:40px;padding:55px 0;text-decoration:none;display:grid}.post-row:first-child{padding-top:0}.post-row:last-child{border-bottom:0;padding-bottom:0}.post-thumb{aspect-ratio:16/9;border:2px solid var(--border);border-radius:var(--r);background:var(--panel);width:172px;transition:border-color var(--dur-hover-out) var(--ease-out), background-color var(--dur-hover-out) var(--ease-out);display:block;position:relative;top:4px;overflow:hidden}.post-img{background-position:50%;background-size:cover;width:100%;height:100%;display:block}.post-body{grid-template-columns:1fr auto;align-items:baseline;gap:8px 20px;min-width:0;display:grid}.post-title{grid-area:1/1;min-width:0}.post-meta{grid-area:1/2;justify-self:end;align-items:center;gap:14px;display:flex}.post-excerpt{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;grid-area:2/1/auto/-1;display:-webkit-box;overflow:hidden}.post-date{color:var(--paper-muted)}.post-title{color:var(--accent)}.post-date,.post-tag,.post-title,.post-excerpt{transition:color var(--dur-hover-out) var(--ease-out)}@media (hover:hover){.post-row:hover .post-thumb{border-color:var(--border-hover);background:var(--panel-hover)}.post-row:hover .post-date{color:var(--paper-muted-hover)}.post-row:hover .post-tag{color:var(--paper-hover)}.post-row:hover .post-title{color:var(--accent-hover)}.post-row:hover .post-excerpt{color:var(--paper-hover)}.post-row:hover .post-thumb,.post-row:hover .post-date,.post-row:hover .post-tag,.post-row:hover .post-title,.post-row:hover .post-excerpt{transition-duration:var(--dur-hover-in)}}.post-empty{text-align:center;color:var(--paper-muted);padding:40px 0}.filter-pills{border-radius:999px;flex-shrink:0;gap:14px;width:max-content;padding:4px 8px;display:flex;position:relative}.filter-pills span.pill{top:0;bottom:0}.filter-pills .pill{border:2px solid var(--accent);pointer-events:none;opacity:0;width:0;transition:opacity .2s var(--ease-out);will-change:transform, width, border-radius;z-index:66;background:0 0;border-radius:999px;position:absolute;top:-6px;bottom:-6px;left:0;transform:translate(0)}.filter-pills .pill-btn{z-index:1;color:var(--paper);font-family:var(--ff-paperbody);font-size:var(--fsize-xs);cursor:pointer;white-space:nowrap;text-align:center;min-width:68px;transition:color var(--dur-hover-out) var(--ease-out);background:0 0;border:0;border-radius:999px;padding:7px 14px;position:relative}@media (hover:hover){.filter-pills .pill-btn:hover{color:var(--paper);transition-duration:var(--dur-hover-in)}}.filter-pills .pill-btn.active{color:var(--accent)}.blog-search-wrap{align-items:center;width:100%;max-width:27.625rem;margin:0 auto clamp(20px,2.2vw,30px);display:flex;position:relative}.blog-search{background:var(--panel);border:2px solid var(--accent);font-family:var(--ff-monosans);font-size:var(--fsize-xs);color:var(--paper);width:100%;transition:border-color .2s var(--ease-out);border-radius:999px;outline:none;padding:6px 30px 6px 14px}.blog-search::placeholder{color:var(--paper-muted)}.blog-search:focus{border-color:var(--accent-hover)}.blog-search-clear{background:var(--panel-hover);width:18px;height:18px;color:var(--paper-muted);cursor:pointer;transition:color var(--dur-hover-out) var(--ease-out), background var(--dur-hover-out) var(--ease-out);border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}@media (hover:hover){.blog-search-clear:hover{color:var(--paper);transition-duration:var(--dur-hover-in)}}
.article{padding:50px var(--sp-bar-x) 40px}.article .tool-detail-title{color:var(--accent);text-align:center;margin-top:22px}.article .tool-banner{border:1px solid var(--border);border-radius:var(--r-lg);width:90%;margin:30px auto;overflow:hidden}.article .tool-banner img{width:100%;height:auto;display:block}.article .tool-foot{justify-content:space-between;align-items:center;gap:16px;margin:50px 0 0;display:flex}.article .meta-row{flex-wrap:wrap;justify-content:space-evenly;gap:14px;margin:24px 0 18px;display:flex}.article .meta-row>span{color:var(--paper-muted)}.article-lede{text-align:center;color:var(--paper-muted);margin:auto}.share-bar{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;margin:50px 0 clamp(3.438rem,2.531rem + 3.719vw,6.25rem);display:flex}.share-label{color:var(--paper-muted)}.share-actions{align-items:center;gap:35px;display:flex}.share-btn{width:36px;height:36px;color:var(--accent);cursor:pointer;transition:color var(--dur-hover-out) var(--ease-out);justify-content:center;align-items:center;padding:0;display:inline-flex}.share-btn[type=button]{vertical-align:middle;transform:rotate(45deg)}@media (hover:hover){.share-btn:hover{color:var(--accent-hover);transition-duration:var(--dur-hover-in)}}.article .body{margin-top:34px;line-height:1.8}.article .body p{margin:0 0 20px}.article .body h2{font-family:var(--ff-paperbody);font-size:var(--fsize-h3);letter-spacing:.031rem;color:var(--accent);margin:44px 0 0;font-weight:500;line-height:1.3}.article .body h3{font-family:var(--ff-paperbody);font-size:var(--fsize-h4);letter-spacing:.031rem;color:var(--paper);margin:32px 0 0;font-weight:500;line-height:1.3}.article .body h2+p,.article .body h3+p{margin-top:12px}.article .body ul,.article .body ol{margin:0 0 20px;padding-left:1.4em}.article .body li{margin:8px 0}.article .body li::marker{color:var(--accent)}.article .body blockquote{border-left:2px solid var(--border);font-family:var(--ff-paperbody);font-style:italic;font-size:var(--fsize-h4);color:var(--paper-muted);margin:28px 0;padding:4px 0 4px 22px;line-height:1.6}.article .body blockquote p{margin:0}.article .body a{color:var(--accent);text-underline-offset:3px;transition:color var(--dur-hover-out) var(--ease-out);text-decoration:underline;text-decoration-thickness:1px}@media (hover:hover){.article .body a:hover{color:var(--accent-hover);transition-duration:var(--dur-hover-in)}}.article .body hr{border:0;border-top:1px solid var(--border);margin:36px 0}.article .body img,.article .body video{border:1px solid var(--border);border-radius:var(--r-lg);max-width:70%;height:auto;margin:26px auto;display:block}.article .body figure{margin:26px 0}.article .body figure img,.article .body figure video{margin:0 auto}.article .body figcaption{font-family:var(--ff-monosans);font-size:var(--fsize-xs);letter-spacing:.031rem;color:var(--paper-muted);text-align:center;margin-top:10px;font-weight:500;line-height:1.5}.article .body table{border-collapse:collapse;font-family:var(--ff-monosans);font-size:var(--fsize-xs);margin:24px 0;line-height:1.6;display:block;overflow-x:auto}.article .body th,.article .body td{border:1px solid var(--border);text-align:left;vertical-align:top;white-space:nowrap;padding:8px 12px}.article .body thead th{background:var(--panel);color:var(--paper);font-weight:500}.article .body tbody tr:nth-child(2n){background:var(--panel)}.article .body :not(pre)>code{font-family:var(--ff-monosans);color:var(--accent);font-size:.9em}.article pre{background:var(--panel);border:2px solid var(--border);border-radius:var(--r);font-family:var(--ff-monosans);font-size:var(--fsize-xs);color:var(--paper);max-width:1200px;margin:auto;padding:18px 20px;line-height:1.7;overflow-x:auto}.article pre code{color:inherit;counter-reset:line}.article pre code span{color:var(--lightningcss-light,var(--shiki-light,currentColor))var(--lightningcss-dark,var(--shiki-dark,currentColor));font-weight:800}.article pre code [data-line]{padding-left:3.1em;display:block;position:relative}.article pre code [data-line]:before{counter-increment:line;content:counter(line);text-align:right;width:2.2em;color:var(--paper-muted);opacity:.6;-webkit-user-select:none;user-select:none;position:absolute;left:0}.article-tag{color:var(--paper-muted)}
.art-show{max-width:calc(var(--page-w)* .8);margin:0 auto}.art-show-grid{grid-template-rows:auto 3fr;gap:44px;margin-top:26px;display:grid}.art-media{flex-direction:column;gap:30px;min-width:0;display:flex}.art-fig{margin:0}.art-media-link{cursor:zoom-in;display:block}.art-media-el{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--panel);width:100%;height:auto;display:block}.art-embed{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--panel);width:100%;overflow:hidden}.art-embed iframe{border:0;width:100%;height:100%;display:block}.art-cap{color:var(--paper-muted);text-align:center;margin-top:10px}.art-info .readmore-btn{text-align:left;color:var(--accent);transition:color var(--dur-hover-out) var(--ease-out);background:0 0;border:0;margin-top:6px;padding:0;display:none}@media (hover:hover){.art-info .readmore-btn:hover{color:var(--accent-hover);transition-duration:var(--dur-hover-in)}}.art-info .label{border:2px solid var(--border);border-radius:var(--r);color:var(--accent);margin-top:22px;padding:4px;display:inline}.art-show-foot{margin:50px 0}
.contact-hero{text-align:center}.contact-lede{max-width:55rem;margin:0 auto;line-height:1.7}.contact-methods{flex-direction:column;gap:34px;max-width:900px;margin:0 auto;display:flex}.contact-method{color:inherit;text-decoration:none;display:block}.method-note{margin:10px 0 0}.contact-socials{flex-direction:column;gap:18px;max-width:780px;margin:0 auto;display:flex}.social-row{color:inherit;text-decoration:none}.method-line .k,.social-row .k{align-items:center;gap:10px;display:inline-flex}.contact-method,.contact-method .k,.contact-method .v,.social-row,.social-row .k,.social-row .v{transition:color var(--dur-hover-out) var(--ease-out)}.contact-method{text-align:center}@media (hover:hover){.contact-method:hover,.contact-method:hover .method-line .k,.contact-method:hover .method-line .v,.social-row:hover,.social-row:hover .k,.social-row:hover .v{color:var(--accent-hover);transition-duration:var(--dur-hover-in)}}.before-write{max-width:1000px;margin:0 auto}.before-write-head{color:var(--accent);margin:0 0 20px}.bullet-list{margin:0;padding:0;list-style:none}.bullet-list li{margin:14px 0}.bullet-list li:before{content:"⦿";color:var(--accent);margin-right:clamp(10px,7.371px + .674vw,16px);font-weight:700}.bullet-list .strong{font-weight:700}
.rcv-overlay{z-index:200;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#000000a8;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.rcv-dialog{border-radius:var(--r-xl);width:100%;max-width:520px;max-height:calc(100dvh - 48px);padding:32px;position:relative;overflow-y:auto}.rcv-close{font-size:var(--fsize-h4);cursor:pointer;border:2px solid var(--accent);border-radius:var(--r);background:0 0;padding:4px 10px;line-height:1;position:absolute;top:12px;right:16px}.rcv-close:hover{color:var(--accent-hover)}.rcv-title{color:var(--accent);margin:0 0 8px}.rcv-lede{margin:0 0 22px}.rcv-field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.rcv-field input,.rcv-field select,.rcv-field textarea{background:var(--panel);border:2px solid var(--accent);border-radius:var(--r-lg);outline:none;padding:10px 12px}.rcv-field input:focus,.rcv-field select:focus,.rcv-field textarea:focus{border-color:var(--accent-hover)}.rcv-field option{font-family:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;color:var(--paper);background:var(--panel)}.rcv-field option[disabled]{color:var(--paper-muted)}.rcv-field textarea{resize:vertical}.rcv-error{margin:0 0 14px}.rcv-actions{justify-content:flex-end;gap:10px;margin-top:6px;display:flex}.rcv-done{text-align:center;padding:8px 0}.rcv-done .rcv-lede{margin-bottom:24px}.about-actions .rcv-trigger-link{display:none}@media (max-width:1250px){.about-actions .rcv-trigger-btn{display:none}.about-actions .rcv-trigger-link{padding:35px 0;display:inline-flex}}.rcv-page{max-width:640px;padding:72px var(--sp-bar-x) 80px;margin:0 auto}.rcv-page .back{margin-bottom:24px}
@media (max-width:1779px){.side-nav,.nav-sheet{display:none}.topbar-wrap{display:block}.hamburger{display:inline-flex}}@media (min-width:1780px){.page-slide main:not(.home-page){--space-left:calc(calc(100vw - var(--page-w)) * .4);margin:0 auto;margin-left:clamp(25px, calc(76.471vw - 1311.18px), var(--space-left))}nav.side-nav{right:clamp(10px,14.286vw - 244.286px,50px)}}@media (max-width:1250px){:root{--page-w:100%}.bloom,:root:not([data-user-color-scheme]) .bloom,:root[data-user-color-scheme=light] .bloom,:root[data-user-color-scheme=dark] .bloom,.drawer-panel,:root:not([data-user-color-scheme]) .drawer-panel,:root[data-user-color-scheme=light] .drawer-panel,:root[data-user-color-scheme=dark] .drawer-panel,.topbar-sheet:before,:root:not([data-user-color-scheme]) .topbar-sheet:before,:root[data-user-color-scheme=light] .topbar-sheet:before,:root[data-user-color-scheme=dark] .topbar-sheet:before{background-size:100vh}}@media (max-width:760px){.reading-room-head{flex-direction:column;align-items:stretch;gap:10px}.footer{flex-direction:column;align-items:start}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
@media (max-width:760px){main.home-page{justify-content:space-evenly;padding:clamp(0rem,3.272rem - 5.618vh,.938rem) 10px clamp(.938rem,28.09vh - 10.737rem,5.625rem)}.home-inner{max-width:100vw}.home-footer{padding:0}}
@media (max-width:760px){.glance li{flex-direction:column;align-items:center;gap:4px}.glance li:before{display:none}.glance .v{color:var(--paper-muted);text-wrap:wrap}.exp-line:not(.exp-detail){grid-template-columns:1fr;gap:8px;padding:12px 0;display:grid}.exp-line:not(.exp-detail):before{display:none}.exp-line:not(.exp-detail) .k,.exp-line:not(.exp-detail) .v{text-align:center}.exp-line:not(.exp-detail) .v{color:var(--accent)}.exp-detail:last-child span.k,.exp-line:last-child:before{display:none}.exp-detail:last-child span.v{text-align:left;color:var(--paper-muted);margin-top:.5em}.exp-detail{width:100%}.exp-item{min-width:min(93vw,375px)}.exp-list{--exp-pad-y:14px;--exp-pad-x:clamp(7px, calc(4.078px + .779vw), 10px)}.proj-list{gap:32px}.proj-item:after{content:"";background:var(--border);width:clamp(11.25rem,60vw - 3.375rem,25.125rem);height:2px;position:relative;top:20px}.proj-item{align-items:center}.proj-item .exp-detail span.k,.proj-item .exp-detail.kv-row:before{display:none}.proj-item .exp-detail{justify-content:center}.proj-item .exp-detail span.v{text-align:center;color:var(--paper-muted)}.stack-block{grid-template-columns:1fr;gap:8px;padding:12px 0}}@media (min-width:761px) and (max-width:1250px){.exp-list{--exp-pad-y:22px;--exp-pad-x:clamp(10px, calc(5.331px + .613vw), 13px)}}
@media (max-width:590px){.gallery{grid-template-columns:repeat(1,minmax(0,1fr));gap:50px 0;max-width:460px;margin:0 auto}.shader-row{gap:12px;padding:24px 0 50px}.shader-row:after{content:"";background:var(--border);align-self:center;width:clamp(11.25rem,60vw - 3.375rem,25.125rem);height:2px;position:relative;top:20px}.shader-row:nth-child(3):after{display:none}.shader-body{flex-direction:column;gap:6px;min-width:0;display:flex}.shader-cover{aspect-ratio:21/9;width:100%}.shader-plat{color:var(--accent);align-self:center}.shader-list{grid-template-columns:repeat(1,minmax(0,1fr));align-items:normal;gap:50px 0;max-width:460px;margin:0 auto;display:grid}}@media (min-width:591px) and (max-width:1150px){.gallery,.shader-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:50px calc(clamp(4rem,3.068rem + 3.978vw,6.25rem)/4)}.art-card{gap:15px}}
@media (max-width:1250px){.tools2-controls{flex-direction:column;align-items:stretch;gap:16px;display:flex}.tools2-filters{flex-direction:column;align-items:stretch;gap:16px;margin-top:32px}.tools2-filter-group{flex-basis:auto}.tools2-search-input{width:100%;margin-bottom:0}.tools2-filter-kind{animation:tools2-kind-reveal .36s var(--ease-out) both;padding:6px 0;overflow:hidden}}@media (max-width:760px){.tools2-grid{grid-template-columns:1fr}.tools2-card{grid-template-areas:"icon name""meta meta""desc desc"}.tools2-filters{flex-direction:row;justify-content:center;align-items:self-start;gap:16px;margin-top:0}.tools2-filter-group{flex-basis:100%}.tools2-filter-row{flex-direction:column;align-items:center;gap:8px;margin:12px 0}.tools2-filter-type .filter-pills,.tools2-filter-kind .filter-pills{border-radius:var(--r-xl);flex-direction:column;padding:8px}.tools2-filter-type .filter-pills .pill,.tools2-filter-kind .filter-pills .pill{will-change:transform, height, border-radius;width:auto;height:0;inset:0 -6px auto}.tools2-controls-foot{justify-content:center}.tools2-filter-kind{animation:tools2-kind-reveal-x .75s var(--ease-out) both;padding:6px}.tools2-filter-kind.tools2-kind-closing{animation:tools2-kind-close-x .75s var(--ease-out) both}.tools2-subfade .filter-pills{gap:20px;padding:6px}}
@media (max-width:760px){.post-row{grid-template-columns:1fr;gap:12px;padding:22px 0}.post-thumb{aspect-ratio:21/9;width:100%}.post-body{flex-direction:column;gap:8px;display:flex}.post-excerpt{-webkit-line-clamp:none;line-clamp:none;display:block;overflow:visible}.filter-pills{gap:8px;padding:3px 6px}.filter-pills .pill-btn{min-width:48px;padding:6px 10px}.filter-pills .pill{top:-4px;bottom:-4px}.topbar-search{width:150px}}
@media (max-width:760px){.article{padding:28px 22px 30px}.article pre,.article pre code{white-space:pre-wrap;overflow-wrap:anywhere}.article .body img,.article .body video{max-width:100%}}@media (max-width:1250px){.article-lede{color:var(--paper)}}
@media (max-width:1250px){.art-show{max-width:var(--page-w)}.art-info .readmore:not(.open){-webkit-line-clamp:5;line-clamp:5;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.art-info .readmore-btn{display:inline-block}.art-info .label{max-width:fit-content;display:block}}@media (max-width:760px){.art-show{padding:28px 22px 30px}.art-show-grid{gap:24px;margin-top:22px}}
@media (max-width:760px){.method-line{flex-direction:column;align-items:center;gap:6px}.method-line:before{display:none}.method-line .k{justify-content:center}.method-line .v{color:var(--accent)}.method-note{text-align:center}.contact-socials{gap:26px}.social-row{flex-direction:column;align-items:center;gap:4px}.social-row:before{display:none}.social-row .k{justify-content:center}.social-row .v{color:var(--paper-muted)}}

