:root[data-theme-switch]::view-transition-old(*){mix-blend-mode:normal;animation:none}:root[data-theme-switch]::view-transition-new(*){mix-blend-mode:normal;animation:none}:root[data-theme-switch]::view-transition-old(sw-contact){display:none}:root[data-theme-switch]::view-transition-old(sw-bulb){display:none}:root[data-theme-switch]::view-transition-old(sw-menu){display:none}#contact[data-swoop] :is(.hello-a,.hello-b,.ab-mark,.ab-mark *,.ab-link>:is(a,button)),.menu[data-swoop] :is(.menu-home,nav .u,.menu-live,.ib:not(.bulb-toggle)){transition:color .26s ease var(--sw-d,0s), background-color .26s ease var(--sw-d,0s), border-color .26s ease var(--sw-d,0s), fill .26s ease var(--sw-d,0s), stroke .26s ease var(--sw-d,0s)}.menu[data-swoop=clear]{background:0 0;border-bottom-color:#0000;transition:none}.menu[data-swoop=bar]{transition:background-color .26s ease var(--sw-d,0s), border-color .26s ease var(--sw-d,0s)}.menu[data-swoop=bar] :is(.menu-home,nav .u,.menu-live,.ib:not(.bulb-toggle)){transition:color 1ms linear calc(var(--sw-bar,0s) + .13s), background-color 1ms linear calc(var(--sw-bar,0s) + .13s), border-color 1ms linear calc(var(--sw-bar,0s) + .13s), fill 1ms linear calc(var(--sw-bar,0s) + .13s), stroke 1ms linear calc(var(--sw-bar,0s) + .13s)}html.theme-flip .menu[data-swoop=bar]{transition:background-color .26s ease var(--sw-bar,0s), border-color .26s ease var(--sw-bar,0s)!important}:root,:root[data-theme=night]{--bg:#0f131a;--surface:#171c26;--ink:#efe9dc;--mute:#a39e92;--rule:#efe9dc24;--accent:#e3a75b;--live:#58c47f}:root[data-theme=day]{--bg:#f5f3ee;--surface:#fcfbf8;--ink:#17191e;--mute:#585c63;--rule:#17191e24;--accent:#8f5410;--live:#1f8a4c}:root{--display:"Bricolage Grotesque", "Instrument Sans", system-ui, sans-serif;--sans:"Instrument Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--out:cubic-bezier(.23, 1, .32, 1);--pad:clamp(16px, 4.2vw, 64px);--menu-h:56px;--t-mono:12.5px;--t-small:14px;--t-body:clamp(16px, 15.3px + .19vw, 18px);--t-lead:clamp(19px, 17px + .56vw, 24px);--t-h3:clamp(23px, 19.3px + 1.02vw, 32px);--t-h2:clamp(30px, 22.7px + 2.04vw, 52px);--t-h1:clamp(64px, 36px + 7.8vw, 148px)}html[data-page=site],html[data-page=site] body,html[data-page=site] #root{height:auto;overflow:visible}html[data-page=site] body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:var(--t-body);line-height:1.55}.skip{z-index:90;background:var(--ink);color:var(--bg);font:500 var(--t-small) var(--sans);transition:top .2s var(--out);border-radius:6px;padding:8px 14px;text-decoration:none;position:fixed;top:-48px;left:12px}.skip:focus{top:10px}.menu{z-index:80;height:var(--menu-h);padding:0 var(--pad);color:var(--ink);background:var(--bg);font:500 15px var(--sans);transition:border-color .3s var(--out), background-color .3s var(--out), opacity .7s var(--out);-webkit-user-select:none;user-select:none;border-bottom:1px solid #0000;align-items:center;gap:clamp(12px,2.2vw,32px);display:flex;position:fixed;inset:0 0 auto}.menu[data-compact=true]{border-bottom-color:var(--rule)}.menu[data-over=room]{color:#efe9dc;text-shadow:0 1px 14px #080a1099;--rule:#efe9dc4d;background:linear-gradient(#080a108c,#080a1000);border-bottom:0}.menu[data-over=wire]{--rule:#efe9dc4d;color:color-mix(in srgb, var(--ink) calc(var(--tr-ground,0) * 100%), #efe9dc);background:0 0;border-bottom:0}.menu[data-ground]{color:#efe9dc;--rule:#efe9dc4d}.menu[data-ground=work-head]{background:#030405}.menu[data-ground=work-stage]{background:#07090d}.menu[data-ground] .bulb-toggle{--ink:#efe9dc;--bg:#07090d}.menu[data-ground] .u[aria-current=page]:after{background:#e3a75b}.menu[data-hidden=true]{opacity:0;pointer-events:none}.menu-live{color:inherit;white-space:nowrap;animation:menu-in .7s var(--out) .24s both;align-items:center;gap:7px;display:inline-flex}.menu-live i{background:var(--live);border-radius:50%;width:7px;height:7px;position:relative}.menu-live i:after{content:"";background:color-mix(in srgb, var(--live) 55%, transparent);border-radius:50%;animation:2.4s ease-out infinite live-pulse;position:absolute;inset:0}@keyframes live-pulse{0%{opacity:.9;transform:scale(1)}60%,to{opacity:0;transform:scale(2.6)}}.menu-live{min-height:32px;position:relative}.menu-live-note{font:400 var(--t-mono)/1.3 var(--mono);color:var(--ink);background:var(--bg);border:1px solid var(--rule);opacity:0;visibility:hidden;transition:opacity .16s var(--out), visibility 0s .16s;border-radius:6px;padding:6px 10px;position:absolute;top:calc(100% - 2px);right:0}.menu-live:is(:hover,:focus-visible):not([data-off]) .menu-live-note{opacity:1;visibility:visible;transition-delay:0s}@media (prefers-reduced-motion:reduce){.menu-live,.menu-live i:after{animation:none}.menu-live i:after{display:none}}@media (width<=700px){.menu-live{display:none}}.menu-home{font:700 21px/1 var(--display);letter-spacing:-.01em;color:inherit;transition:font-stretch .4s var(--out), font-weight .4s var(--out);margin-right:auto;padding:6px 0;font-stretch:88%;text-decoration:none}.menu-home:hover,.menu-home:focus-visible{font-weight:800;font-stretch:100%}.menu nav ul>li{animation:menu-in .7s var(--out) both}.menu nav ul>li:nth-child(2){animation-delay:60ms}.menu nav ul>li:nth-child(3){animation-delay:.12s}.menu nav ul>li:nth-child(4){animation-delay:.18s}@keyframes menu-in{0%{opacity:0;transform:translateY(-8px)}}@media (prefers-reduced-motion:reduce){.menu nav ul>li{animation:none}}.menu nav>ul{gap:clamp(10px,1.8vw,26px);margin:0;padding:0;list-style:none;display:flex}.menu{--drop:calc(12px + var(--n,0) * 32px + 16px)}.menu-work{position:relative}.menu-work-list{white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .16s var(--out), transform .2s var(--out), visibility 0s .16s;margin:0;padding:12px 0 16px;list-style:none;position:absolute;top:100%;left:0;transform:translateY(-4px)}.menu .menu-work-list .u{align-items:center;min-height:32px;padding:0;display:inline-flex}.menu .menu-work-list .u:after{bottom:5px}.menu:before{content:"";height:calc(var(--drop,0px) + 12px);z-index:-1;pointer-events:none;background:var(--bg);opacity:0;visibility:hidden;transition:opacity .16s var(--out), visibility 0s .16s;position:absolute;top:100%;left:0;right:0}.menu[data-work-open] .menu-work-list{opacity:1;visibility:visible;transition-delay:0s;transform:none}.menu[data-work-open]:before{opacity:1;visibility:visible;transition-delay:0s}.menu:before{-webkit-mask-image:linear-gradient(#000 calc(100% - 28px),#0000);mask-image:linear-gradient(#000 calc(100% - 28px),#0000)}.menu[data-work-open][data-compact=true]{border-bottom-color:#0000}.menu[data-ground=work-head]:before{background:#030405}.menu[data-ground=work-stage]:before{background:#07090d}.menu[data-over=room]:before{height:calc(var(--menu-h) + var(--drop,0px) + 12px);background:linear-gradient(#080a108c,#080a106b 55%,#080a1000);top:0;-webkit-mask-image:none;mask-image:none}.menu[data-over=wire]:before{display:none}@media (prefers-reduced-motion:reduce){.menu-work-list{transform:none}}@media (width<=560px){.menu-work-list,.menu:before{display:none}}.u{color:inherit;padding:6px 0;text-decoration:none;position:relative}.menu nav .u{align-items:center;min-height:40px;display:inline-flex}.u:after{content:"";transform-origin:100%;height:1.5px;transition:transform .3s var(--out);background:currentColor;position:absolute;bottom:2px;left:0;right:0;transform:scaleX(0)}.u:hover:after,.u:focus-visible:after,.u[aria-current=page]:after{transform-origin:0;transform:scaleX(1)}.u[aria-current=page]:after{background:var(--accent)}.menu[data-over=room] .u[aria-current=page]:after{background:#e3a75b}.menu :focus-visible,.site :focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:3px}.ib{width:40px;height:40px;color:inherit;cursor:pointer;transition:background-color .2s var(--out), transform .16s var(--out);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.ib:hover{background:var(--rule)}.ib:active{transform:scale(.94)}.ib svg{overflow:visible}.bulb-toggle{--on:0;border-radius:10px;align-self:flex-start;width:40px;height:40px;margin-top:6px;overflow:visible}.bulb-toggle[data-theme-now=night]{--on:1}.menu[data-over=room] .bulb-toggle{--ink:#efe9dc;--bg:#0f131a}.menu[data-over=wire] .bulb-toggle{--ink:currentColor}.bulb-toggle[data-ring]{position:relative}.bulb-toggle[data-ring]:after{content:"";pointer-events:none;background:conic-gradient(from 45deg, var(--accent) calc(var(--ring,0) * .75turn), color-mix(in srgb, currentColor 16%, transparent) 0 .75turn, transparent 0);border-radius:50%;transition:opacity .4s;position:absolute;inset:-5px;-webkit-mask:radial-gradient(circle,#0000 62%,#000 65%);mask:radial-gradient(circle,#0000 62%,#000 65%)}.bulb-toggle[data-ring=done]:after{opacity:0}.bulb-toggle{position:relative}.bulb-toggle:hover,.bulb-toggle:active{background:0 0;transform:none}.bulb-toggle[data-ring]{cursor:progress}.toggle-scene__dummy-cord{transition:transform .2s var(--out)}.bulb-toggle[data-theme-now=day]:not([data-ring]):hover .bulb__bulb{fill:#f4d67b66}.bulb-toggle[data-theme-now=night]:not([data-ring]):hover .bulb__bulb{fill:#c8f28c6b}.bulb-toggle:not([data-ring]):hover .toggle-scene__dummy-cord{transform:translateY(14px)}.bulb-toggle:focus-visible{outline:none}.bulb-toggle:focus-visible:before{content:"";pointer-events:none;background:conic-gradient(from 45deg, var(--accent) 0 .75turn, transparent 0);border-radius:50%;position:absolute;inset:-5px;-webkit-mask:radial-gradient(circle,#0000 62%,#000 65%);mask:radial-gradient(circle,#0000 62%,#000 65%)}.bulb-toggle .toggle-scene{align-self:start;width:auto;height:88px;margin-top:-4px;overflow:visible}.toggle-scene__cord{stroke:var(--ink);cursor:grab;display:none}.toggle-scene__cord-end{stroke:var(--ink);fill:var(--ink)}.toggle-scene__dummy-cord{stroke-width:6px;stroke:var(--ink)}.toggle-scene__hit-spot{cursor:grab}.bulb__filament{stroke:hsl(45, calc(var(--on) * 80%), calc((35 + var(--on) * 65) * 1%))}.bulb__shine{stroke:hsl(0 0% 100%/calc(.75 - var(--on) * .4))}.bulb__bulb{stroke:var(--ink);fill:hsl(calc(180 - 95 * var(--on)) 80% 75% / calc(.12 + .5 * var(--on)));transition:fill .4s var(--out)}.bulb-toggle[data-theme-now=night] .bulb__bulb{filter:drop-shadow(0 0 18px #ffb85c)}.bulb__cap{fill:color-mix(in srgb, var(--ink) 55%, var(--bg))}.bulb__cap-shine{fill:hsl(0 0% 100%/calc(.6 - var(--on) * .3))}.bulb__cap-outline{stroke:var(--ink)}@property --bg{syntax:"<color>";inherits:true;initial-value:#0f131a}@property --ink{syntax:"<color>";inherits:true;initial-value:#efe9dc}@property --mute{syntax:"<color>";inherits:true;initial-value:#a39e92}@property --surface{syntax:"<color>";inherits:true;initial-value:#171c26}@property --rule{syntax:"<color>";inherits:true;initial-value:#efe9dc24}@property --accent{syntax:"<color>";inherits:true;initial-value:#e3a75b}:is(.site,.menu){transition:text-shadow .4s ease-in-out,--mute .4s ease-in-out,--accent .4s ease-in-out}html.theme-flip,html.theme-flip :is(.site,.menu){transition:none!important}.site{min-height:100vh;padding-top:var(--menu-h);animation:site-in .6s var(--out) both;flex-direction:column;display:flex;overflow-x:clip}@keyframes site-in{0%{opacity:0}}.site main{width:100%;max-width:1360px;padding:clamp(40px, 8vh, 96px) var(--pad) 96px;box-sizing:border-box;flex:1;margin:0 auto}.site-foot{padding:22px var(--pad);border-top:1px solid var(--rule);color:var(--mute);font:400 var(--t-small) var(--sans);flex-wrap:wrap;justify-content:space-between;gap:8px 24px;display:flex}.site-foot a{color:var(--ink)}.mono{font-family:var(--mono);font-size:var(--t-mono);letter-spacing:.01em}.h1{font:700 var(--t-h1)/.9 var(--display);letter-spacing:-.035em;text-wrap:balance;transition:font-stretch .4s var(--out), font-weight .4s var(--out);margin:0;font-stretch:82%}.h1:hover{font-weight:800;font-stretch:100%}.lead{max-width:34em;font-size:var(--t-lead);color:var(--mute);text-wrap:pretty;margin:22px 0 0;line-height:1.4}.lf:not(main *){padding:clamp(24px, 8vh, 96px) var(--pad);box-sizing:border-box;background:var(--bg);min-height:100%;color:var(--ink)}.lf-links{gap:28px;margin:22px 0 0;font-weight:500;display:flex}.lf-links button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}.h2{font:650 var(--t-h2)/1 var(--display);letter-spacing:-.02em;text-wrap:balance;margin:0 0 20px;font-stretch:90%}.under-menu{inset:var(--menu-h) 0 0;position:fixed}.room-root .section-in,.room-root .section-out{top:var(--menu-h)}@media (width<=860px){.menu nav>ul{gap:12px}}@media (width<=560px){.menu{gap:8px;font-size:14px}.menu-home{font-size:18px}.menu nav>ul{gap:10px}}.nf{min-height:calc(100svh - var(--menu-h) - clamp(40px, 8vh, 96px) - 64px);-webkit-touch-callout:none;flex-wrap:wrap;place-content:flex-end space-between;align-items:flex-end;gap:32px 48px;display:flex;position:relative}.nf-copy,.nf-hint{z-index:1;text-shadow:0 0 18px var(--bg), 0 0 4px var(--bg);position:relative}.nf-copy{max-width:34rem}.nf-h{font:700 clamp(34px, 20px + 2.9vw, 64px)/.98 var(--display);letter-spacing:-.025em;text-wrap:balance;transition:font-stretch .4s var(--out), font-weight .4s var(--out);margin:0;font-stretch:84%}.nf-h:hover{font-weight:800;font-stretch:100%}.nf-lead{font-size:var(--t-body);max-width:30em;margin-top:16px}.nf-links{gap:28px;margin:22px 0 0;font-weight:500;display:flex}.nf-hint{color:var(--mute);text-align:right;transition:opacity .3s var(--out);margin:0}.nf-meter{background:var(--rule);height:1px;margin-top:10px;display:block;overflow:hidden}.nf-meter>span{background:var(--accent);transform-origin:0;height:100%;display:block;transform:scaleX(0)}.nf[data-phase=blasted] .nf-hint,.nf[data-phase=rebuilding] .nf-hint{opacity:.4}.nf[data-phase=idle] .nf-meter{animation:2.6s ease-in-out infinite nf-breathe}@keyframes nf-breathe{50%{background:color-mix(in srgb, var(--accent) 55%, transparent)}}@media (width<=700px){.nf-hint{text-align:left}}@media (hover:none){.nf-kb{display:none}}.home{padding-top:0;animation:none}html[data-home] .room-root{background:0 0!important}html[data-home]:not([data-home-top]) [data-room-loader],html[data-home][data-room-loading]:not([data-home-top]) .room-root canvas{visibility:hidden}html[data-home] [data-speech]{transition:opacity .2s var(--out)}html[data-home]:not([data-home-top]) [data-speech]{opacity:0}.home-room{pointer-events:none;height:100dvh}.home-body{z-index:1;pointer-events:none;position:relative}.home-body>*{pointer-events:auto}.home-body>main{z-index:1;width:100%;max-width:1360px;padding:0 var(--pad);box-sizing:border-box;margin:0 auto;position:relative}.home-section{scroll-margin-top:var(--menu-h)}.home-close{align-content:start;gap:22px;display:grid}.home-section+.home-section{margin-top:0}.home-sheet,.home-cover{box-sizing:border-box;background:var(--bg);width:100vw;margin-left:calc(50% - 50vw);position:relative;box-shadow:0 -24px 60px #00000047}.home-sheet:before,.home-cover:before{content:"";background:#e6e6e61a;height:1px;position:absolute;inset:0 0 auto}.home-sheet{z-index:2}.home-stick{position:sticky}.home-cover{z-index:3}#work:has(+#photos:not([data-flat],[data-empty])){margin-bottom:-100svh}.home-sheet{--bg:#030405;--surface:#0e1117;--ink:#efe9dc;--mute:#a39e92;--rule:#efe9dc24;--accent:#e3a75b;color:var(--ink);padding:clamp(72px, 12vh, 140px) max(var(--pad), calc(50vw - 680px + var(--pad))) clamp(96px, 16vh, 180px)}.home-cover{flex-direction:column;min-height:100svh;padding-top:clamp(40px,6vh,72px);display:flex}.home-cover>.home-close{box-sizing:border-box;flex:1;align-content:center;width:100%}#about{overflow:visible clip}:root[data-theme=day] .home-cover:before{background:#17191e1f}@media (prefers-reduced-motion:reduce),(width<=899px){html[data-home] #about:before{content:"";z-index:-1;background:var(--bg);pointer-events:none;position:absolute;inset:0 calc(50% - 50vw)}}.desktop-note{z-index:95;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--bg);font:400 14px/1.4 var(--sans);animation:desktop-note-in .36s var(--out) .6s both;border-radius:12px;align-items:center;gap:14px;padding:12px 14px 12px 16px;display:flex;position:fixed;box-shadow:0 8px 28px #00000059}.desktop-note p{flex:1;min-width:0;margin:0}.desktop-note strong{font-weight:600}.desktop-note button{border:1px solid color-mix(in srgb, var(--bg) 45%, transparent);min-height:40px;color:inherit;font:500 14px var(--sans);cursor:pointer;background:0 0;border-radius:8px;flex:none;padding:0 14px}.desktop-note button:focus-visible{outline:2px solid var(--bg);outline-offset:2px}@keyframes desktop-note-in{0%{opacity:0;transform:translateY(12px)}}@media (prefers-reduced-motion:reduce){.desktop-note{animation:none}}
