@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}@font-face{font-family:Space Grotesk;font-weight:500;font-display:swap;src:url(/fonts/clowder/space-grotesk-latin-500-normal.woff2)format("woff2")}@font-face{font-family:Space Grotesk;font-weight:700;font-display:swap;src:url(/fonts/clowder/space-grotesk-latin-700-normal.woff2)format("woff2")}@font-face{font-family:Chakra Petch;font-weight:500;font-display:swap;src:url(/fonts/clowder/chakra-petch-latin-500-normal.woff2)format("woff2")}@font-face{font-family:Chakra Petch;font-weight:700;font-display:swap;src:url(/fonts/clowder/chakra-petch-latin-700-normal.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-weight:400;font-display:swap;src:url(/fonts/clowder/jetbrains-mono-latin-400-normal.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-weight:600;font-display:swap;src:url(/fonts/clowder/jetbrains-mono-latin-600-normal.woff2)format("woff2")}:root{--f-body:"Space Grotesk", Helvetica, Arial, sans-serif;--f-hud:"Chakra Petch", "Space Grotesk", sans-serif;--f-mono:"JetBrains Mono", ui-monospace, monospace;--notch:26px}:root,[data-theme=dark]{--accent:#a98bff;--accent-2:#7aa2f7;--bg:#0e0e14;--dot:#22223a;--panel:#13131a;--side:#15151d;--card:#1a1a26;--text:#d6d6e6;--heading:#f2ecff;--meta:#9a9ab4;--border:#2c2c3f}[data-theme=light]{--accent:#7457d1;--accent-2:#4a6fc4;--bg:#dcd7e3;--dot:#c9c2d4;--panel:#efebf2;--side:#ebe7ef;--card:#e6e1ee;--text:#2f2b3b;--heading:#2a2540;--meta:#615b73;--border:#cdc6d8}*{box-sizing:border-box}html{color-scheme:dark}html[data-theme=light]{color-scheme:light}body{min-height:100vh;font-family:var(--f-body);color:var(--text);background-color:var(--bg);background-image:radial-gradient(circle, var(--dot) 1.5px, transparent 1.9px);background-position:13px 13px;background-size:26px 26px;margin:0;line-height:1.6}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}h1,h2,h3,h4{font-family:var(--f-body);letter-spacing:-.01em;color:var(--heading);margin:0;font-weight:700}img{max-width:100%;display:block}.frame{grid-template-columns:380px minmax(0,1fr) 70px;gap:0;width:min(100%,50% + 645px);min-height:100vh;margin:0 auto;padding:20px 0 14px;display:grid;position:relative}.side,.panel{min-height:860px}.frame>*{min-width:0}.side{background:var(--side);box-shadow:inset 0 0 0 1px var(--border);text-align:center;padding:70px 30px 24px;position:relative}.side-photo img{border:2px solid var(--accent);object-fit:cover;border-radius:50%;width:180px;height:180px;margin:0 auto}.side-name{margin-top:26px;font-size:38px}.side-role{font-family:var(--f-hud);letter-spacing:.16em;text-transform:uppercase;color:var(--meta);margin:4px 0 18px;font-size:14px}.side-links{justify-content:center;gap:18px;margin:0 0 34px;padding:0;list-style:none;display:flex}.side-links a{font-family:var(--f-mono);color:var(--heading);font-size:17px;font-weight:600}.theme-toggle{border:1px solid var(--border);background:var(--panel);cursor:pointer;border-radius:16px;width:64px;height:32px;padding:0;position:relative}.theme-toggle span{background:var(--accent);border-radius:50%;width:24px;height:24px;transition:left .2s;position:absolute;top:3px;left:34px}[data-theme=light] .theme-toggle span{left:4px}.side-copy{font-family:var(--f-hud);letter-spacing:.14em;text-transform:uppercase;color:var(--meta);margin:0;font-size:12px;position:absolute;bottom:22px;left:0;right:0}.panel{background:var(--panel);box-shadow:inset 0 0 0 1px var(--border);padding:30px 52px 62px;position:relative}.panel:after{content:"";width:calc(var(--notch) + 1px);height:calc(var(--notch) + 1px);clip-path:polygon(0 0,100% 0,100% 100%);background-color:var(--bg);background-image:radial-gradient(circle, var(--dot) 1.5px, transparent 1.9px);pointer-events:none;background-position:13px 13px;background-size:26px 26px;background-attachment:fixed;position:absolute;top:-1px;right:-1px}.notch-line{width:var(--notch);height:var(--notch);pointer-events:none;z-index:2;background:linear-gradient(to top right, transparent calc(50% - .6px), var(--border) calc(50% - .6px), var(--border) calc(50% + .6px), transparent calc(50% + .6px));position:absolute;top:0;right:0}.menu{background:var(--side);width:70px;box-shadow:inset 0 0 0 1px var(--border);clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%);flex-direction:column;align-self:start;align-items:center;gap:6px;margin:0 0 0 20px;padding:10px 0;display:flex}.menu a{color:var(--meta);padding:12px;line-height:0}.menu a:hover,.menu a.active{color:var(--accent);text-decoration:none}.hud{font-family:var(--f-hud);letter-spacing:.24em;text-transform:uppercase;color:var(--accent);margin:0;font-size:11px}.chip{font-family:var(--f-hud);letter-spacing:.14em;text-transform:uppercase;color:var(--text);border:1px solid var(--border);cursor:pointer;clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,0 100%);background:0 0;padding:7px 14px;font-size:12px;line-height:1.4}.chip b{color:var(--accent);font-family:var(--f-mono);margin-right:6px;font-weight:600}.chip:hover,.chip[aria-pressed=true]{border-color:var(--accent);color:var(--heading);background:color-mix(in srgb, var(--accent) 14%, transparent);text-decoration:none}.btn{font-family:var(--f-hud);text-transform:uppercase;letter-spacing:.12em;color:var(--heading);border:1px solid var(--accent);border-radius:4px;padding:9px 18px;font-size:13px;display:inline-block}.btn:hover{background:var(--accent);color:var(--panel);box-shadow:0 0 18px -4px var(--accent);text-decoration:none}.tag-list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tag-list li{font-family:var(--f-mono);border:1px solid var(--border);padding:3px 10px;font-size:12px}.block-title{margin:0 0 14px;font-size:20px}.block-title:before{content:"// ";color:var(--accent);font-family:var(--f-mono);font-weight:600}.hd-name{letter-spacing:-.025em;margin:8px 0 4px;font-size:54px;line-height:1.05}.hd-role{font-family:var(--f-hud);letter-spacing:.2em;text-transform:uppercase;color:var(--meta);margin:0;font-size:15px}.hd-role span{color:var(--accent);margin:0 6px}.hd-intent{max-width:760px;margin:18px 0 26px;font-size:17px;line-height:1.6}.hd-feat{margin-bottom:10px}.hd-grid{grid-template-rows:1fr 1fr;grid-template-columns:1.6fr 1fr;gap:12px;height:330px;display:grid}.card{background:var(--card);color:#f2ecff;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%);box-shadow:inset 0 0 0 1px var(--border);display:block;position:relative;overflow:hidden}.card:hover{text-decoration:none}.card img{object-fit:cover;width:100%;height:100%;transition:transform .35s;position:absolute;inset:0}.card:hover img,.card:focus-visible img{transform:scale(1.04)}.card:after{content:"";background:linear-gradient(#0a0a1000 22%,#0a0a10a8 62%,#0a0a10f0);position:absolute;inset:0}.card:before{content:"";z-index:3;pointer-events:none;transition:box-shadow .2s;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #0000}.card:hover:before,.card:focus-visible:before,.card.is-current:before{box-shadow:inset 0 0 0 1px var(--accent)}.hd-big{grid-row:1/span 2}.cap{z-index:2;flex-direction:column;display:flex;position:absolute;bottom:12px;left:16px;right:16px}.cap b{font-size:18px;font-weight:700}.cap i{font-style:normal;font-family:var(--f-hud);letter-spacing:.16em;text-transform:uppercase;color:#cfc6ee;font-size:11px}.hd-nodes{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.hd-nodes .hd-all{color:var(--accent);border-color:var(--accent);margin-left:auto}.page-head{margin-bottom:22px}.page-head h1{margin-top:6px;font-size:40px}.row-summary{font-family:var(--f-hud);letter-spacing:.14em;text-transform:uppercase;color:var(--meta);margin:8px 0 0;font-size:12px}.node-row{margin:28px 0 0;scroll-margin-top:24px}.row-head{align-items:center;gap:10px;min-height:30px;margin-bottom:10px;display:flex}.row-title{white-space:nowrap;align-items:baseline;gap:10px;font-size:20px;display:flex}.row-title:before{content:"// ";color:var(--accent);font-family:var(--f-mono);margin-right:-6px;font-weight:600}.row-title b{font-family:var(--f-mono);color:var(--accent);font-size:13px;font-weight:600}.row-rule{background:var(--border);flex:1;height:1px}.row-pos{font-family:var(--f-mono);color:var(--meta);text-align:right;min-width:70px;font-size:12px}.row-arrow{width:30px;height:30px;color:var(--text);border:1px solid var(--border);cursor:pointer;background:0 0;padding:0;font-size:18px;line-height:1}.row-arrow:hover:not(:disabled){border-color:var(--accent);color:var(--heading)}.row-arrow:disabled{opacity:.35;cursor:default}.row-all{text-align:center;min-width:84px}.row-track{scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--border) transparent;gap:14px;margin:0;padding:0 0 8px;list-style:none;display:flex;overflow-x:auto}.row-track li{scroll-snap-align:start;flex:0 0 220px;margin:0}.row-track .card{aspect-ratio:3/2;width:100%}.row-track.has-more{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 44px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 44px),#0000)}.node-row.is-open .row-track{grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:visible;-webkit-mask-image:none;mask-image:none}.node-row.is-open .row-track li{flex:none}.cap b{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.cap i{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cap em{color:#cfc6ee;white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-style:normal;overflow:hidden}.post-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.post-card{aspect-ratio:16/10}.post-cover{object-fit:cover;border:1px solid var(--border);width:100%;max-height:360px;margin:0 0 26px}.post .sub{font-family:var(--f-hud);letter-spacing:.12em;text-transform:uppercase;color:var(--meta);margin:4px 0 22px;font-size:13px}.post-body p{max-width:70ch}.post-body figure{margin:22px 0}.post-body figure img,.post-body figure video{border:1px solid var(--border);max-width:100%;max-height:520px}.post-body figcaption{color:var(--meta);margin-top:6px;font-size:13px}.art-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px 0;display:grid}.art-gallery figure{margin:0}.art-gallery img,.art-gallery video{object-fit:contain;background:var(--side);width:100%;height:220px}.post-body blockquote{border-left:2px solid var(--accent);background:var(--side);color:var(--heading);margin:22px 0;padding:14px 20px;font-size:18px}.post-body blockquote footer{color:var(--meta);margin-top:6px;font-size:13px}.post-body blockquote footer:before{content:"— "}.post-date{margin:18px 0 10px}.post-series{margin-top:26px}.blog-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.blog-bar .hud{margin:0 4px 0 10px}.blog-clear{color:var(--accent);border-color:var(--accent)}.tag-list a{color:var(--text)}.sec{margin:34px 0 14px}.sec:first-child{margin-top:0}.page-head .lede{max-width:760px;margin:14px 0 0;font-size:17px;line-height:1.6}.page-head+.hd-nodes{margin-top:0}.about-top{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:32px;display:grid}.detail-list{margin:0;padding:0;list-style:none}.detail-list li{border-bottom:1px solid var(--border);flex-direction:column;padding:8px 0;display:flex}.detail-list b{color:var(--heading);font-weight:500}.service-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.service{border:1px solid var(--border);background:var(--side);padding:16px 18px}.service h4{margin-bottom:6px;font-size:17px}.service p{margin:0;font-size:15px}.testimonial{border-left:2px solid var(--accent);background:var(--side);margin:0;padding:18px 22px}.testimonial p{max-width:70ch;margin:0 0 12px}.testimonial footer{color:var(--meta);flex-direction:column;font-size:14px;display:flex}.testimonial footer b{color:var(--heading);font-weight:700}.facts{flex-wrap:wrap;gap:14px;margin:0;padding:0;list-style:none;display:flex}.facts li{border:1px solid var(--border);background:var(--side);flex-direction:column;min-width:150px;padding:12px 20px;display:flex}.facts b{font-family:var(--f-mono);color:var(--accent);font-size:28px;font-weight:600}.timeline{border-left:1px solid var(--border);margin:0;padding:0 0 0 16px;list-style:none}.timeline li{padding:0 0 22px 14px;position:relative}.timeline li:before{content:"";background:var(--accent);width:9px;height:9px;position:absolute;top:6px;left:-21px}.timeline h4{margin:2px 0;font-size:17px}.timeline .where{color:var(--meta);margin:0 0 6px;font-size:14px}.timeline li>p:last-child{margin:0;font-size:15px}.skills{margin:0;padding:0;list-style:none}.skills li{grid-template-columns:1fr auto;padding:5px 0 9px;font-size:15px;display:grid;position:relative}.skills li b{font-family:var(--f-mono);color:var(--meta);font-size:12px;font-weight:400}.skills li i{background:var(--border);grid-column:1/-1;height:3px;margin-top:5px;position:relative}.skills li i:after{content:"";width:var(--w);background:var(--accent);position:absolute;inset:0 auto 0 0}.side-search{margin-top:22px}.pal-open kbd{font-family:var(--f-mono);color:var(--meta);border:1px solid var(--border);margin-left:8px;padding:0 5px;font-size:11px}.pal-backdrop{z-index:100;background:#08080e99;justify-content:center;align-items:flex-start;padding-top:14vh;display:flex;position:fixed;inset:0}.pal{background:var(--side);width:min(560px,100vw - 32px);box-shadow:inset 0 0 0 1px var(--border);text-align:left;clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,0 100%)}.pal-input{width:100%;font:500 17px var(--f-body);color:var(--heading);border:0;border-bottom:1px solid var(--border);background:0 0;outline:none;padding:16px 18px}.pal-input::placeholder{color:var(--meta)}.pal-list{max-height:50vh;margin:0;padding:6px;list-style:none;overflow-y:auto}.pal-list li{cursor:pointer;border:1px solid #0000;justify-content:space-between;gap:12px;padding:9px 12px;display:flex}.pal-list li b{color:var(--heading);font-weight:500}.pal-list li span{font-family:var(--f-hud);letter-spacing:.14em;text-transform:uppercase;color:var(--meta);white-space:nowrap;align-self:center;font-size:11px}.pal-list li.is-sel{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.pal-list li.pal-none{color:var(--meta);cursor:default}.pal-foot{border-top:1px solid var(--border);font-family:var(--f-hud);letter-spacing:.14em;text-transform:uppercase;color:var(--meta);gap:18px;margin:0;padding:9px 16px;font-size:11px;display:flex}.piece-nav{font-family:var(--f-hud);letter-spacing:.14em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;font-size:12px;display:flex}.piece h1{margin:6px 0 4px;font-size:40px}.piece .sub{font-family:var(--f-hud);letter-spacing:.12em;text-transform:uppercase;color:var(--meta);margin:0 0 26px;font-size:13px}.piece-cols{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:36px;display:grid}.gallery figure{margin:0 0 18px}.gallery img{border:1px solid var(--border);width:100%;height:auto}.gallery figcaption{color:var(--meta);margin-top:6px;font-size:13px}.media figure{margin:0 0 18px}.media video{aspect-ratio:16/9;border:1px solid var(--border);background:#000;width:100%}.media audio{width:100%}.media figcaption{color:var(--meta);margin-top:6px;font-size:13px}.piece-main{flex-direction:column;display:flex}.piece-main .hero{margin-bottom:22px}.piece-main .hero figure{margin:0}.piece-main .hero img{aspect-ratio:16/9;object-fit:cover;object-position:center 40%}.piece-main .prose-wrap{margin-bottom:28px}.piece-main .media.hero video{aspect-ratio:16/9}.prose{font-size:17px;line-height:1.75}.prose p{max-width:66ch;margin:0 0 16px}.prose.lead>p:first-child{color:var(--heading);font-size:20px;line-height:1.6}.prose h2{max-width:66ch;margin:36px 0 14px;font-size:20px}.prose h2:before{content:"// ";color:var(--accent);font-family:var(--f-mono);font-weight:600}.chapter>.block-title{margin-top:36px}.prose blockquote{background:var(--raise-1);border:1px solid var(--border-2);border-left:3px solid var(--accent);max-width:66ch;margin:0 0 16px;padding:14px 20px;font-size:16px;line-height:1.7}.prose blockquote p{max-width:none;margin:0}.prose p:has(>em:only-child){background:var(--raise-1);border:1px solid var(--border);border-left:3px solid var(--accent-2);color:var(--meta);padding:12px 18px;font-size:15px;line-height:1.65}.prose p:has(>em:only-child) em{font-style:normal}.aside-block{margin-bottom:26px}.aside-block ul.info{margin:0;padding:0;list-style:none}.aside-block ul.info li{border-bottom:1px solid var(--border);padding:4px 0;font-size:15px}.links{flex-direction:column;align-items:stretch;gap:10px;display:flex}.links .btn{text-align:center}.pending{border:1px dashed var(--border);color:var(--meta);max-width:60ch;padding:18px}@property --bk{syntax:"<length>";inherits:false;initial-value:10px}:root,[data-theme=dark]{--raise-1:#171720;--raise-2:#1d1d2a;--raise-3:#242435;--border-2:#3a3a54;--hl:#ffffff0b;--shade:#00000059}[data-theme=light]{--raise-1:#f4f1f7;--raise-2:#fbfaff;--raise-3:#fff;--border-2:#b6adc9;--hl:#fffc;--shade:#3c286424}.card{background:var(--raise-2)}.service{background:var(--raise-1);border-color:var(--border-2);box-shadow:inset 0 1px 0 var(--hl)}.testimonial,.facts li{background:var(--raise-1)}.hud-frame{--bk:10px;background-color:var(--raise-1);border:1px solid var(--border-2);box-shadow:inset 0 1px 0 var(--hl), 0 6px 14px -10px var(--shade);background-image:linear-gradient(var(--accent), var(--accent)), linear-gradient(var(--accent), var(--accent)), linear-gradient(var(--accent), var(--accent)), linear-gradient(var(--accent), var(--accent)), linear-gradient(var(--accent), var(--accent)), linear-gradient(var(--accent), var(--accent));background-position:4px 4px,4px 4px,4px calc(100% - 4px),4px calc(100% - 4px),calc(100% - 4px) calc(100% - 4px),calc(100% - 4px) calc(100% - 4px);background-repeat:no-repeat;background-size:var(--bk) 1px, 1px var(--bk), var(--bk) 1px, 1px var(--bk), var(--bk) 1px, 1px var(--bk);transition:border-color var(--t-1,.12s) ease, box-shadow var(--t-2,.2s) ease, transform var(--t-2,.2s) ease, --bk var(--t-2,.2s) ease;padding:22px 18px 16px;position:relative}.hud-frame:after{content:"";pointer-events:none;background:linear-gradient(to top right, transparent calc(50% - .6px), var(--border-2) calc(50% - .6px), var(--border-2) calc(50% + .6px), var(--panel) calc(50% + .6px));width:15px;height:15px;position:absolute;top:-1px;right:-1px}.frame-title{background:var(--panel);line-height:14px;font-family:var(--f-hud);letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin:0;padding:0 8px;font-size:11px;font-weight:500;position:absolute;top:-8px;left:12px}.frame-title:before{content:"// ";font-family:var(--f-mono);letter-spacing:0}.aside-block.hud-frame{margin-bottom:30px}.aside-block.links{padding-top:18px}.aside-block.links.hud-frame{background-image:none}.service.hud-frame{padding-top:16px}.detail-list li:last-child,.aside-block ul.info li:last-child{border-bottom:0}.skills li:last-child{padding-bottom:2px}@media (hover:hover) and (pointer:fine){.hud-frame:hover{--bk:18px;border-color:var(--accent);background-color:var(--raise-2);box-shadow:inset 0 1px 0 var(--hl), 0 10px 18px -10px var(--shade);transform:translateY(-1px)}}.hud-frame:active{background-color:var(--raise-3);transform:scale(.995)}.briefing{margin:0 0 28px;padding:22px 8px 6px}.briefing dl{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:0;display:grid}.b-cell{border-left:1px solid var(--border);padding:4px 14px 12px}.b-cell:first-child{border-left:0}.b-cell dt{font-family:var(--f-hud);letter-spacing:.22em;text-transform:uppercase;color:var(--meta);font-size:10px}.b-cell dd{color:var(--heading);margin:2px 0 0;font-weight:500}.hd-lower{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:stretch;gap:26px;margin-top:26px;display:grid}.hd-quote{background-color:var(--raise-1);flex-direction:column;margin:0;padding:26px 24px 18px;display:flex}.hd-quote p{color:var(--heading);margin:0 0 14px;font-size:20px;line-height:1.45}.hd-quote footer{color:var(--meta);flex-direction:column;margin-top:auto;font-size:14px;display:flex}.hd-quote footer b{color:var(--heading)}.hd-quote footer a{font-family:var(--f-hud);letter-spacing:.12em;text-transform:uppercase;margin-top:6px;font-size:12px}.hd-status{background-color:var(--raise-2);padding:26px 20px 18px}.hd-status p{margin:0 0 8px;font-size:15px}.hd-status .st-avail b{font-family:var(--f-hud);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);font-size:11px;font-weight:500;display:block}.hd-status .btn{transition:background-color var(--t-1,.12s), box-shadow var(--t-2,.2s), transform var(--t-1,.12s);margin-top:8px}.hd-status .btn:active{transform:scale(.97)}@media (width<=1100px){.hd-lower{grid-template-columns:1fr;gap:28px;margin-top:30px}.hud-frame{transform:none!important}}@media (prefers-reduced-motion:reduce){.hud-frame,.hud-frame:hover,.hud-frame:active,.hd-status .btn:active{transform:none!important}}@media (width<=1100px){.frame{grid-template-columns:1fr;padding:0 0 80px}.side{text-align:left;grid-template-columns:56px 1fr auto;grid-template-areas:"photo name toggle""photo role toggle""links links search";align-items:center;gap:2px 14px;min-height:0;padding:14px 16px;display:grid}.side-photo{grid-area:photo}.side-photo img{width:56px;height:56px;margin:0}.side-name{grid-area:name;align-self:end;margin:0;font-size:20px}.side-role{grid-area:role;align-self:start;margin:0;font-size:11px}.theme-toggle{grid-area:toggle}.side-links{grid-area:links;justify-content:flex-start;margin:10px 0 0}.side-search{grid-area:search;margin:10px 0 0}.pal-open kbd,.side-copy{display:none}.panel{min-height:0;padding:28px 20px 40px}.menu{clip-path:none;z-index:10;flex-direction:row;justify-content:center;gap:24px;width:auto;margin:0;padding:4px 0;position:fixed;bottom:0;left:0;right:0}.hd-name{font-size:40px}.hd-grid{grid-template-rows:none;grid-template-columns:1fr;height:auto}.hd-grid .card{aspect-ratio:3/2}.hd-big{grid-row:auto}.piece-cols,.about-top,.service-list,.post-list,.art-gallery{grid-template-columns:1fr}.row-track{gap:12px}.row-track li{flex:0 0 80%;max-width:300px}.node-row.is-open .row-track{grid-template-columns:repeat(2,minmax(0,1fr))}.card img,.theme-toggle span{transition:none}.card:hover img,.card:focus-visible img{transform:none}}@media (pointer:coarse){.row-arrow{display:none}}@media (width<=560px){.row-arrow{display:none}.row-pos{min-width:0}.row-title{font-size:18px}.node-row.is-open .row-track{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.card:hover img,.card:focus-visible img{transform:none}}:root{--t-1:.12s;--t-2:.2s;--t-3:.24s;--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-io:cubic-bezier(.6, 0, .2, 1)}@keyframes pf-rise{0%{opacity:0;transform:translateY(var(--dy,6px))}}@keyframes pf-reveal{0%{opacity:0;transform:translateY(14px)}}@keyframes pf-fade-out{to{opacity:0}}@keyframes pf-fade-in{0%{opacity:0}}.panel{view-transition-name:panel}html{scrollbar-gutter:stable}::view-transition-old(root),::view-transition-new(root),::view-transition-group(panel){animation:none}::view-transition-old(panel){animation:pf-fade-out var(--t-1) var(--ease-io) both;mix-blend-mode:normal;z-index:1}::view-transition-new(panel){animation:pf-fade-in .18s var(--ease-out) both;mix-blend-mode:normal}::view-transition-group(piece-title){animation-duration:var(--t-3);animation-timing-function:var(--ease-io)}::view-transition-old(piece-title),::view-transition-new(piece-title){animation-duration:var(--t-3)}.card{--brk:var(--accent);transition:transform var(--t-2) var(--ease-out);-webkit-tap-highlight-color:transparent}[data-theme=light] .card{--brk:#b9a3ff}.card:before{background-image:linear-gradient(var(--brk), var(--brk)), linear-gradient(var(--brk), var(--brk)), linear-gradient(var(--brk), var(--brk)), linear-gradient(var(--brk), var(--brk)), linear-gradient(var(--brk), var(--brk)), linear-gradient(var(--brk), var(--brk)), linear-gradient(var(--brk), var(--brk)), linear-gradient(var(--brk), var(--brk));transition:box-shadow var(--t-2), background-size .16s var(--ease-out);background-position:10px 10px,10px 10px,right 10px top 10px,right 10px top 10px,left 10px bottom 10px,left 10px bottom 10px,right 10px bottom 10px,right 10px bottom 10px;background-repeat:no-repeat;background-size:0 2px,2px 0,0 2px,2px 0,0 2px,2px 0,0 2px,2px 0}.card:focus-visible:before,.card.is-current:before{background-size:14px 2px,2px 14px,14px 2px,2px 14px,14px 2px,2px 14px,14px 2px,2px 14px}.cap .meta{font-family:var(--f-mono);color:#cfc6ee;white-space:nowrap;text-overflow:ellipsis;height:18px;transition:opacity var(--t-2) var(--ease-out);margin-top:2px;font-size:11px;line-height:18px;overflow:hidden}.row-track{margin-top:-4px;padding-top:4px}.row-track li{transition:filter var(--t-2) var(--ease-out)}@media (hover:hover) and (pointer:fine){.card:hover:before{background-size:14px 2px,2px 14px,14px 2px,2px 14px,14px 2px,2px 14px,14px 2px,2px 14px}.card:hover,.card:focus-visible{transform:translateY(-2px)}.row-track li:hover,.row-track li:focus-within{filter:drop-shadow(0 8px 12px #00000059)}[data-theme=light] .row-track li:hover,[data-theme=light] .row-track li:focus-within{filter:drop-shadow(0 8px 12px #2a254040)}.card:has(.meta) .cap{transition:transform var(--t-2) var(--ease-out);transform:translateY(20px)}.card:has(.meta) .cap .meta{opacity:0}.card:hover .cap,.card:focus-visible .cap{transform:none}.card:hover .cap .meta,.card:focus-visible .cap .meta{opacity:1}}.card:focus-visible .cap{transform:none}.card:focus-visible .cap .meta{opacity:1}.chip,.btn,.row-arrow,.theme-toggle,.menu a{transition:transform var(--t-1) var(--ease-out), background-color var(--t-1), border-color var(--t-1), color var(--t-1);-webkit-tap-highlight-color:transparent}.chip:active,.row-arrow:active:not(:disabled){border-color:var(--accent);background-color:color-mix(in srgb, var(--accent) 28%, transparent);transform:scale(.96)}.btn:active{background-color:color-mix(in srgb, var(--accent) 80%, var(--heading));color:var(--panel);transform:scale(.97)}.theme-toggle:active{border-color:var(--accent);transform:scale(.94)}.menu a:active{color:var(--accent);transform:scale(.9)}.card:active{transition-duration:var(--t-1);transform:translateY(-1px)scale(.985)}.card:active:before{box-shadow:inset 0 0 0 2px var(--accent)}@media (prefers-reduced-motion:no-preference) and (hover:hover) and (pointer:fine){::view-transition-new(panel){animation:none}.panel>:not(.notch-line,article,.statusbar),.piece>*{animation:pf-rise var(--t-3) var(--ease-out) backwards}.panel>:nth-child(3),.piece>:nth-child(2){animation-delay:40ms}.panel>:nth-child(4),.piece>:nth-child(3){animation-delay:80ms}.panel>:nth-child(5),.piece>:nth-child(4){animation-delay:.12s}.panel>:nth-child(6),.piece>:nth-child(5){animation-delay:.16s}.panel>:nth-child(7),.piece>:nth-child(6){animation-delay:.2s}.panel>:nth-child(n+8),.piece>:nth-child(n+7){animation-delay:.24s}.vt-morph{animation:none!important}.row-track li{animation:pf-rise var(--t-3) var(--ease-out) backwards;animation-delay:calc(60ms + var(--row,0) * 40ms + var(--i,0) * 30ms)}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference) and (hover:hover) and (pointer:fine){.gallery figure,.media figure{animation:linear both pf-reveal view();animation-range:entry entry 70%}}}@media (prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}.card:hover,.card:focus-visible,.card:active,.chip:active,.btn:active,.row-arrow:active,.theme-toggle:active,.menu a:active,.card:has(.meta) .cap{transform:none}.card:has(.meta) .cap .meta{opacity:1}}.side-status{text-align:left;background-color:var(--raise-1);margin:38px 0 0;padding:24px 18px 16px}.side-status .frame-title{background:var(--side)}.side-status.hud-frame:after{background:linear-gradient(to top right, transparent calc(50% - .6px), var(--border-2) calc(50% - .6px), var(--border-2) calc(50% + .6px), var(--side) calc(50% + .6px))}.hud-frame.still:hover{--bk:10px;border-color:var(--border-2);background-color:var(--raise-1);box-shadow:inset 0 1px 0 var(--hl), 0 6px 14px -10px var(--shade);transform:none}.hud-frame.still:active{background-color:var(--raise-1);transform:none}.side-status .st-line{color:var(--text);margin:0 0 4px;font-size:14px}.copy-mail{cursor:pointer;background:var(--raise-2);border:1px solid var(--border-2);width:100%;color:var(--heading);font-family:var(--f-mono);transition:border-color var(--t-1), background-color var(--t-1), transform var(--t-1);justify-content:space-between;align-items:baseline;gap:10px;margin-top:10px;padding:7px 10px;font-size:12px;display:flex}.copy-mail:hover{border-color:var(--accent)}.copy-mail:active{background:var(--raise-3);transform:scale(.98)}.cm-addr{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.cm-act{font-family:var(--f-hud);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);font-size:10px}.statusbar{border-top:1px solid var(--border);height:34px;font-family:var(--f-hud);letter-spacing:.16em;text-transform:uppercase;color:var(--meta);justify-content:space-between;align-items:center;gap:16px;padding:0 18px 0 52px;font-size:11px;display:flex;position:absolute;bottom:0;left:0;right:0}.sb-left:before{content:"";background:var(--accent);vertical-align:1px;width:6px;height:6px;margin-right:9px;display:inline-block}.sb-keys{align-items:center;gap:4px;display:flex}.sb-nav{color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:4px 8px;display:inline-flex}.sb-nav:hover{color:var(--accent);text-decoration:none}.sb-nav:hover kbd{border-color:var(--accent);color:var(--accent)}.sb-hint{opacity:.7;cursor:default;align-items:center;gap:4px;padding:4px 8px;display:inline-flex}.sb-keys i{background:var(--border-2);width:1px;height:12px;margin:0 10px}.sb-keys kbd{font-family:var(--f-mono);letter-spacing:0;color:var(--heading);border:1px solid var(--border-2);background:var(--raise-1);padding:0 5px;font-size:10px;line-height:16px}.ping{z-index:50;background:var(--raise-3);color:var(--heading);border:1px solid var(--border-2);border-left:3px solid var(--accent);font-family:var(--f-hud);letter-spacing:.12em;text-transform:uppercase;box-shadow:0 10px 24px -10px var(--shade);clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%);opacity:0;pointer-events:none;transition:opacity var(--t-2) var(--ease-out), transform var(--t-2) var(--ease-out);padding:12px 18px 12px 16px;font-size:13px;position:fixed;bottom:28px;right:28px;transform:translateY(8px)}.ping.show{opacity:1;transform:none}@media (hover:none),(width<=1100px){.sb-keys{display:none}}@media (width<=1100px){.side-status,.statusbar{display:none}.panel{padding-bottom:40px}.ping{bottom:76px;left:16px;right:16px}}html[data-dir=next]{--dy:22px}html[data-dir=prev]{--dy:-22px}@keyframes pf-out-next{to{opacity:0;transform:translateY(-26px)}}@keyframes pf-out-prev{to{opacity:0;transform:translateY(26px)}}::view-transition-image-pair(panel){overflow:hidden}@media (prefers-reduced-motion:no-preference){html[data-dir=next]::view-transition-old(panel){animation:pf-out-next .17s var(--ease-io) both}html[data-dir=prev]::view-transition-old(panel){animation:pf-out-prev .17s var(--ease-io) both}}#boot{display:none}html.booting{overflow:hidden}html.booting #boot{z-index:100;background-color:var(--bg);background-image:radial-gradient(circle, var(--dot) 1.5px, transparent 1.9px);background-position:13px 13px;background-size:26px 26px;place-items:center;display:grid;position:fixed;inset:0}html.booting .frame{display:none}html.booting.boot-out .frame{display:grid}html.booting.boot-out #boot{opacity:0;transition:opacity .24s var(--ease-io)}.boot-term{width:min(560px,88vw);font-family:var(--f-mono);background-color:var(--raise-1);padding:30px 28px 22px;font-size:14px;line-height:1.5}.boot-term .frame-title{background:var(--bg)}.boot-term .bl{color:var(--text);opacity:0;animation:90ms linear both bl-in;animation-delay:calc(.64s + var(--i) * .23s);align-items:baseline;gap:10px;margin:0 0 8px;display:flex}.boot-term .bl.bl-start{animation-delay:.1s}.boot-term .bl.bl-start:before{content:">"}.boot-term .c1{animation:.38s step-end .1s 2 bl-blink,1ms linear .88s forwards bl-hide}.boot-term .bl:before{content:">";color:var(--accent)}.boot-term .bl s{border-bottom:1px dotted var(--border-2);flex:1;align-self:center;min-width:12px;text-decoration:none}.boot-term .ok{color:var(--accent)}.boot-term .th-light,[data-theme=light] .boot-term .th-dark{display:none}[data-theme=light] .boot-term .th-light{font-weight:400;display:inline}.boot-term .th-dark,.boot-term .th-light{font-weight:400}.boot-term u{background:var(--accent);align-self:center;width:.6em;height:1.1em;animation:1s step-end infinite bl-blink}.bl-bar{border:1px solid var(--border-2);height:6px;margin:16px 0 0}.bl-bar i{background:var(--accent);width:0;height:100%;animation:1.25s steps(18,end) .85s forwards bl-fill,1ms linear 2.1s forwards bd-bg;display:block}.bl-skip{font-family:var(--f-hud);letter-spacing:.22em;text-transform:uppercase;color:var(--meta);text-align:right;margin:14px 0 0;font-size:10px}@keyframes bl-in{0%{opacity:0}to{opacity:1}}@keyframes bl-hide{to{opacity:0}}@keyframes bl-blink{50%{opacity:0}}@keyframes bl-fill{to{width:100%}}.boot-term{--ok:#7ee0a1}[data-theme=light] .boot-term{--ok:#1a7f45}.bd-ok{color:var(--ok);opacity:0;align-items:center;gap:6px;animation:90ms linear 2.1s both bl-in;display:inline-flex}.bd-ok path{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:square;stroke-dasharray:20;stroke-dashoffset:20px;animation:bd-draw .24s var(--ease-out) 2.1s forwards}.bl-done .bd-t{animation:1ms linear 2.1s forwards bd-text}@keyframes bd-draw{to{stroke-dashoffset:0}}@keyframes bd-text{to{color:var(--ok)}}@keyframes bd-bg{to{background:var(--ok)}}.media video,.media audio{accent-color:var(--accent)}.media-video .vid{position:relative}.vid-play{border:1px solid var(--border-2);cursor:pointer;color:#f2ecff;width:100%;font:inherit;background:linear-gradient(#08080e1f 55%,#08080eb8);place-items:center;padding:0;display:none;position:absolute;inset:0}.vid.is-poster .vid-play{display:grid}.vp-btn{border:2px solid var(--accent);clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,0 100%);width:76px;height:76px;transition:transform var(--t-2) var(--ease-out), background-color var(--t-1);background:#13131ad1;position:relative}.vp-btn:before{content:"";border-left:24px solid var(--accent);border-top:16px solid #0000;border-bottom:16px solid #0000;position:absolute;top:22px;left:30px}.vp-label{font-family:var(--f-hud);letter-spacing:.16em;text-transform:uppercase;color:#f2ecff;gap:0;font-size:12px;display:flex;position:absolute;bottom:12px;left:14px}.vp-label b{font-weight:500}.vp-label i{color:#cfc6ee;font-style:normal}.vid-play:hover .vp-btn,.vid-play:focus-visible .vp-btn{background:#282046e6;transform:scale(1.08)}.vid-play:active .vp-btn{transform:scale(.95)}.media-audio.hud-frame{margin:0 0 22px;padding:24px 16px 14px}.media-audio .track-name{font-family:var(--f-hud);letter-spacing:.1em;text-transform:uppercase;color:var(--heading);margin:0 0 8px;font-size:14px}.media-audio audio{color-scheme:dark}[data-theme=light] .media-audio audio{color-scheme:light}#lb{max-width:96vw;max-height:96vh;color:var(--text);background:0 0;border:0;padding:0;overflow:visible}#lb::backdrop{background:#08080ee0}#lb[open]{animation:pf-fade-in var(--t-2) var(--ease-out)}.lb-frame{background-color:var(--raise-1);margin:0;padding:26px 14px 12px}.lb-frame .frame-title{background:var(--raise-1)}.lb-frame img{object-fit:contain;background:var(--panel);width:auto;max-width:min(92vw,1500px);height:auto;max-height:calc(88vh - 90px);margin:0 auto}.lb-bar{align-items:center;gap:8px;margin-top:10px;display:flex}.lb-cap{color:var(--meta);flex:1;min-height:1.4em;margin:0;font-size:14px}.lb-bar button{font-family:var(--f-hud);letter-spacing:.14em;text-transform:uppercase;color:var(--text);border:1px solid var(--border-2);cursor:pointer;background:0 0;padding:6px 12px;font-size:12px}.lb-bar button:hover{border-color:var(--accent);color:var(--accent)}.lb-bar button:active{transform:scale(.96)}#lb.lb-single .lb-prev,#lb.lb-single .lb-next{display:none}.gallery a[data-lb]{cursor:zoom-in;display:block}.next-level{flex-direction:column;align-items:flex-start;gap:14px;margin-top:44px;display:flex}.next-card{width:100%;max-width:760px;color:var(--text);grid-template-columns:220px 1fr auto;align-items:center;gap:20px;padding:24px 22px 16px 16px;display:grid}.next-card:hover{text-decoration:none}.next-card img{object-fit:cover;border:1px solid var(--border);width:220px;height:147px}.nc-text{flex-direction:column;gap:4px;min-width:0;display:flex}.nc-text b{color:var(--heading);letter-spacing:-.01em;font-size:24px}.nc-text i{color:var(--meta);font-size:14px;font-style:normal}.nc-go{font-family:var(--f-mono);color:var(--accent);transition:transform var(--t-2) var(--ease-out);font-size:26px}.next-card:hover .nc-go{transform:translate(6px)}.prev-small{font-family:var(--f-hud);letter-spacing:.14em;text-transform:uppercase;color:var(--meta);font-size:12px}@media (width<=700px){.next-card{grid-template-columns:1fr}.next-card img{aspect-ratio:3/2;width:100%;height:auto}.nc-go{display:none}}@media (prefers-reduced-motion:reduce){.next-card:hover .nc-go,.vid-play:hover .vp-btn{transform:none}#lb[open]{animation:none}}.piece-main.chaptered{display:block}.chapter{margin:0 0 8px}.chapter .media{margin:0 0 18px}.chapter .prose p{margin-bottom:16px}.piece-nav a[href="/work/"]{white-space:nowrap}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}
