@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--font-jp:var(--font-jp)}}@layer base,components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.block{display:block}.flex{display:flex}.grid{display:grid}.inline{display:inline}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.bg-paper{background-color:var(--paper)}.font-jp{font-family:var(--font-jp)}.text-accent{color:var(--accent)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--paper:#fafaf8;--paper-pure:#fff;--ink:#0e0e10;--ink-soft:#6a6a6c;--ink-whisper:#a3a3a5;--rule:#0e0e1014;--accent:#fd3a75;--accent-soft:#fd3a751f;--accent-deep:#b01e50;--accent-rgb:253, 58, 117;--font-sans:"Geist", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-mono:"Geist Mono", ui-monospace, monospace;--font-jp:"Zen Kaku Gothic Antique", "Geist", sans-serif;--radius-buttons:10px;--radius-pillbuttons:26px;--radius-misc:54px;--ease:cubic-bezier(.2, .8, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background:0 0}body{font-family:var(--font-sans);color:var(--ink);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;z-index:1;background:0 0;font-weight:400;line-height:1.4;position:relative;overflow-x:hidden}#bg-shader{z-index:-1;pointer-events:none;width:100vw;height:100vh;position:fixed;inset:0}#bg-shader.is-interactive{pointer-events:auto}#bg-shader canvas{width:100%;height:100%;display:block;position:absolute;inset:0}em,i,.italic{font-style:normal}::selection{color:inherit;background:#7d7d8261}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}@media (hover:hover) and (pointer:fine){*,:before,:after{cursor:none!important}}.loader{z-index:9999;transition:opacity 2.5s var(--ease), visibility 0s linear 2.5s;background:#fafaf8;flex-direction:column;justify-content:center;align-items:center;gap:22px;display:flex;position:fixed;inset:0;overflow:hidden}.loader__shader{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.loader__shader canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.loader__veil{z-index:1;background:rgba(250, 250, 248, var(--paper-opacity,.85));pointer-events:none;position:absolute;inset:0}.loader>.loader-frame,.loader>.loader-meta{z-index:2;position:relative}.loader.done{opacity:0;visibility:hidden}.loader-frame,.loader-meta{transition:transform 2.5s var(--ease), filter 2.5s var(--ease)}.loader.done .loader-frame,.loader.done .loader-meta{filter:blur(14px);transform:translateY(-24px)scale(1.04)}.loader-frame{aspect-ratio:4/3;background:var(--ink);background-position:50%;background-size:cover;width:clamp(280px,36vw,420px);position:relative;overflow:hidden}.loader-frame:after{content:"";mix-blend-mode:multiply;background:#0e0e100d;position:absolute;inset:0}.loader-meta{width:clamp(280px,36vw,420px);font-family:var(--font-mono);color:var(--ink-soft);text-transform:uppercase;letter-spacing:.18em;justify-content:space-between;align-items:center;font-size:10px;display:flex}.loader-meta-bar{background:var(--rule);flex:1;height:1px;margin:0 12px;position:relative;overflow:hidden}.loader-meta-bar:after{content:"";background:var(--accent);width:0;height:100%;animation:4.1s linear forwards loadBar;position:absolute;top:0;left:0}@keyframes loadBar{to{width:100%}}.debug-panel{z-index:9998;-webkit-backdrop-filter:blur(20px)saturate(180%);border:1px solid var(--rule);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);width:240px;transition:transform .4s var(--ease);-webkit-user-select:none;user-select:none;background:#ffffffeb;border-radius:18px;padding:16px;font-size:10px;position:fixed;bottom:16px;right:16px;transform:translateY(calc(100% + 16px))}.debug-panel.is-open{transform:translateY(0)}.debug-toggle{z-index:9999;background:var(--ink);width:36px;height:36px;color:var(--paper-pure);font-family:var(--font-mono);cursor:pointer;transition:transform .3s var(--ease), background .3s ease;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:11px;display:flex;position:fixed;bottom:16px;right:16px}.debug-toggle:after{content:"";background:var(--accent);border-radius:50%;width:8px;height:8px;transition:background .3s}.debug-toggle:hover{transform:scale(1.08)}.debug-toggle.is-hidden{display:none}.debug-panel-header{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:10px;display:flex}.debug-panel-header .label{color:var(--ink-soft)}.debug-panel-header .current{font-family:var(--font-mono);text-transform:none;letter-spacing:0;color:var(--accent-deep)}.debug-swatches{grid-template-columns:repeat(6,1fr);gap:6px;margin-bottom:14px;display:grid}.debug-swatch{aspect-ratio:1;cursor:pointer;border:2px solid #0000;border-radius:6px;transition:transform .2s,border-color .2s}.debug-swatch:hover{transform:scale(1.08)}.debug-swatch.is-selected{border-color:var(--ink)}.debug-picker-row{border-top:1px solid var(--rule);align-items:center;gap:8px;padding-top:8px;display:flex}.debug-picker-row label{color:var(--ink-soft);flex:1}.debug-picker{border:1px solid var(--rule);cursor:pointer;background:0 0;border-radius:4px;width:32px;height:28px;padding:0}.debug-picker::-webkit-color-swatch{border:none;border-radius:2px}.debug-hint{border-top:1px solid var(--rule);color:var(--ink-whisper);letter-spacing:.15em;margin-top:10px;padding-top:10px;font-size:9px}@media (max-width:640px){.debug-panel,.debug-toggle{display:none}}:root{--cur-idle:7px;--cur-hover:21px;--cur-grip:80px;--cur-text:21px;--cur-grip-rot:7s}.cursor{width:var(--cur-idle);height:var(--cur-idle);pointer-events:none;z-index:100000;transition:width .34s var(--ease), height .34s var(--ease);will-change:transform,width,height;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.cursor__dot{width:var(--cur-idle);height:var(--cur-idle);background:var(--ink);opacity:1;transition:opacity .22s var(--ease);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #ffffff1a}.cursor__lens{pointer-events:none;opacity:0;transition:opacity .28s var(--ease);-webkit-backdrop-filter:invert(.15)saturate(1.45)hue-rotate(8deg)brightness(1.05);border-radius:50%;position:absolute;inset:0;-webkit-mask:radial-gradient(circle,#000000d9 0% 35%,#00000080 60%,#0000 80%);mask:radial-gradient(circle,#000000d9 0% 35%,#00000080 60%,#0000 80%)}.cursor__canvas{pointer-events:none;opacity:0;width:150%;height:150%;transition:opacity .28s var(--ease);position:absolute;top:-25%;left:-25%}.cursor__svg{pointer-events:none;opacity:0;width:150%;height:150%;transition:opacity .28s var(--ease);position:absolute;top:-25%;left:-25%;overflow:visible}.cursor.is-grab .cursor__svg{opacity:1}.cursor.is-hover{width:var(--cur-hover);height:var(--cur-hover)}.cursor.is-grab{width:var(--cur-grip);height:var(--cur-grip)}.cursor.is-text{width:var(--cur-text);height:var(--cur-text)}.cursor.is-hover .cursor__dot,.cursor.is-grab .cursor__dot,.cursor.is-text .cursor__dot{opacity:0}.cursor.is-hover .cursor__canvas,.cursor.is-grab .cursor__canvas,.cursor.is-text .cursor__canvas,.cursor.is-hover .cursor__lens{opacity:1}.cursor.is-grab.is-grabbing{width:calc(var(--cur-grip)*.82);height:calc(var(--cur-grip)*.82)}@keyframes cur-spin{to{transform:rotate(360deg)}}.cursor.is-grab .cursor__canvas,.cursor.is-grab .cursor__svg{animation:cur-spin var(--cur-grip-rot,5s) linear infinite}.cursor{display:none}@media (hover:hover) and (pointer:fine){.cursor{display:block}}@media (max-width:980px),(pointer:coarse){.cur-toggle,.cur-panel{display:none!important}}.cur-panel{z-index:10001;color:#f3f3f1;width:236px;max-height:calc(100vh - 120px);font:11px/1.4 var(--font-mono);background:#161618;border:1px solid #ffffff1a;border-radius:12px;padding:12px 12px 14px;display:none;position:fixed;bottom:64px;right:16px;overflow:auto;box-shadow:0 10px 40px #00000080}.cur-panel.is-open{display:block}.cur-panel h4{letter-spacing:.06em;justify-content:space-between;align-items:center;margin:0 0 8px;font-size:11px;font-weight:600;display:flex}.cur-panel label{margin:7px 0;display:block}.cur-panel .lab{opacity:.8;justify-content:space-between;margin-bottom:2px;display:flex}.cur-panel .cur-sec{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid #ffffff1f;margin:12px 0 4px;padding-bottom:3px;font-size:9.5px;font-weight:600}.cur-panel .cur-sec:first-child{margin-top:0}.cur-panel input[type=range]{width:100%;accent-color:var(--accent)}.cur-panel .row{align-items:center;gap:8px;margin:9px 0 4px;display:flex}.cur-panel .row span.t{opacity:.8;flex:0 0 44px}.cur-panel input[type=color]{cursor:none;background:0 0;border:1px solid #fff3;border-radius:4px;width:34px;height:22px;padding:0}.cur-panel .btns{gap:6px;margin-top:11px;display:flex}.cur-panel .btns button{cursor:none;font:inherit;color:#eee;background:#ffffff14;border:1px solid #ffffff24;border-radius:6px;flex:1;padding:6px 0}.cur-panel .btns button:hover{background:#ffffff29}.cur-panel__close{color:#bbb;cursor:none;background:0 0;border:none;font-size:14px;line-height:1}.cur-toggle{z-index:9999;background:var(--ink);width:36px;height:36px;color:var(--paper-pure);cursor:none;transition:transform .3s var(--ease);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;bottom:16px;right:148px}.cur-toggle:hover{transform:scale(1.08)}.cur-toggle:after{content:"";border:2px solid var(--accent);border-radius:50%;width:11px;height:11px}nav.topbar{z-index:100;-webkit-backdrop-filter:blur(20px)saturate(180%);border-radius:var(--radius-misc);background:#ffffffb8;border:1px solid #0e0e100f;justify-content:space-between;align-items:center;width:calc(100% - 32px);max-width:1280px;padding:8px 8px 8px 22px;display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%)}.logo{letter-spacing:-.04em;align-items:center;gap:6px;font-size:18px;font-weight:350;display:flex}.logo-dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 0 rgba(var(--accent-rgb), .4);border-radius:50%;animation:2.4s ease-in-out infinite pulse;display:inline-block}@keyframes pulse{50%{opacity:.5}}.nav-pills{gap:2px;display:flex}.pill-tag{color:#0e0e108c;border-radius:var(--radius-buttons);text-align:center;letter-spacing:-.01em;background:#0000000a;border:none;justify-content:center;align-items:center;min-width:72px;padding:7px 12px;font-size:13px;font-weight:400;transition:all .2s;display:inline-flex}.pill-tag:hover{color:var(--ink);background:#0000000f}.nav-right{align-items:center;gap:6px;display:flex}.nav-burger{background:#0000000a;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;padding:0;transition:background .22s;display:none;position:relative}.nav-burger:hover{background:#00000014}.nav-burger .bars{width:16px;height:12px;position:relative}.nav-burger .bars span{background:var(--ink);border-radius:1px;width:100%;height:1.4px;transition:transform .32s cubic-bezier(.76,0,.24,1),opacity .22s,top .32s cubic-bezier(.76,0,.24,1);position:absolute;left:0}.nav-burger .bars span:first-child{top:0}.nav-burger .bars span:nth-child(2){top:50%;transform:translateY(-50%)}.nav-burger .bars span:nth-child(3){top:100%;transform:translateY(-100%)}.nav-burger.is-open .bars span:first-child{top:50%;transform:translateY(-50%)rotate(45deg)}.nav-burger.is-open .bars span:nth-child(2){opacity:0;transform:translateY(-50%)scaleX(0)}.nav-burger.is-open .bars span:nth-child(3){top:50%;transform:translateY(-50%)rotate(-45deg)}.nav-menu{-webkit-backdrop-filter:blur(20px)saturate(180%);transform-origin:100% 0;opacity:0;pointer-events:none;background:#ffffffd1;border:1px solid #0e0e100f;border-radius:16px;flex-direction:column;gap:2px;min-width:200px;padding:12px;transition:opacity .22s,transform .32s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;top:calc(100% + 8px);right:0;transform:translateY(-6px)scale(.94);box-shadow:0 14px 40px #0e0e101f}.nav-menu.is-open{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.nav-menu a{color:var(--ink);letter-spacing:-.005em;border-radius:10px;justify-content:space-between;align-items:center;padding:11px 14px;font-size:14px;transition:background .18s;display:flex}.nav-menu a:hover{background:#0e0e100d}.nav-menu a:after{content:"→";opacity:0;color:var(--ink-soft);font-size:13px;transition:opacity .22s,transform .22s;transform:translate(-4px)}.nav-menu a:hover:after{opacity:1;transform:translate(0)}.cta-btn{background:var(--ink);color:var(--paper-pure);border-radius:var(--radius-pillbuttons);transition:color .9s var(--ease);isolation:isolate;align-items:center;gap:8px;padding:9px 14px 9px 16px;font-size:13px;transition-delay:.2s;display:inline-flex;position:relative;overflow:hidden}.cta-btn>*{z-index:2;position:relative}.cta-btn:before{content:"";background:var(--ink);z-index:0;transition:opacity 1s var(--ease);transition-delay:.2s;position:absolute;inset:0}.cta-btn .cta-marble{opacity:0;width:100%;height:100%;transition:opacity 1s var(--ease);z-index:1;pointer-events:none;border-radius:inherit;transition-delay:.2s;position:absolute;inset:0}.cta-btn:hover,.cta-btn.is-touch-active{color:var(--paper-pure);background:0 0;transition-delay:0s}.cta-btn:hover:before,.cta-btn.is-touch-active:before{opacity:0;transition-delay:0s}.cta-btn:hover .cta-marble,.cta-btn.is-touch-active .cta-marble{opacity:1;transition-delay:0s}.cta-btn .arrow{transition:transform .45s var(--ease)}.cta-btn:hover .arrow,.cta-btn.is-touch-active .arrow{transform:translate(2px)}.cta-btn .cta-mail-icon{width:17px;height:17px;display:none}@media (max-width:980px){.cta-btn{border-radius:50%;justify-content:center;gap:0;width:36px;height:36px;padding:0}.cta-btn .cta-label,.cta-btn .arrow{display:none}.cta-btn .cta-mail-icon{display:block}}.meta{font-family:var(--font-mono);color:var(--accent);text-transform:uppercase;letter-spacing:.16em;font-size:10px}.meta-soft{font-family:var(--font-sans);color:var(--ink-soft);letter-spacing:-.005em;font-size:14px;font-weight:400}.hero{background:0 0;flex-direction:column;min-height:100vh;padding:0;display:flex;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(140% 80%,#0000 45%,#0000000d 80%,#0000001c 100%),linear-gradient(#0000002e 0%,#0000 22% 76%,#0000003d 100%);position:absolute;inset:0}.hero-frame,.hero-frame canvas{display:none}.hero-photo{z-index:0;animation:heroPhotoIn 2.2s var(--ease) both;position:absolute;inset:0;overflow:hidden}.hero:before{z-index:1;opacity:var(--hero-scrim,0)}.hero-photo img{object-fit:cover;object-position:center var(--hero-pos,76%);width:100%;height:100%;transform:scale(var(--hero-scale,1));filter:brightness(var(--hero-bri,1)) contrast(var(--hero-con,1)) saturate(var(--hero-sat,1)) blur(var(--hero-blur,0px));transition:transform .3s,filter .3s;display:block}@keyframes heroPhotoIn{0%{opacity:0}to{opacity:1}}.hero-masthead{z-index:3;pointer-events:none;color:#f3f3f1;position:absolute;inset:0}.hero-masthead .left{max-width:380px;position:absolute;bottom:60px;left:36px}.hero-masthead .right{text-align:right;font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:#ffffffa6;flex-direction:column;gap:6px;font-size:10px;display:flex;position:absolute;top:110px;right:36px}.hero-masthead .label{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:#ffffffa6;margin-bottom:8px;font-size:10px;display:block}.hero-masthead .title{font-family:var(--font-sans);color:#f3f3f1;letter-spacing:-.005em;font-size:15px;font-weight:400}.strip-wrap{z-index:2;opacity:0;justify-content:center;align-items:center;transition:opacity 1.2s .4s;display:flex;position:absolute;inset:0;overflow:hidden}.strip-wrap.show{opacity:1}.strip-mask{width:100vw;height:100%;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 10% 90%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 10% 90%,#0000 100%)}.strip-container{align-items:center;width:100%;height:100%;display:flex}.strip-track{align-items:center;gap:var(--strip-gap,16px);cursor:grab;-webkit-user-select:none;user-select:none;will-change:transform;touch-action:pan-y;width:max-content;padding:0 30vw;display:flex}.strip-track.grabbing{cursor:grabbing}.strip-card{width:var(--strip-card-w,16vh);height:var(--strip-card-h,11vh);filter:grayscale(.3)brightness(.94);background:#ffffff0a;border-radius:3px;flex:none;transition:transform .5s cubic-bezier(.22,1,.36,1),box-shadow .5s,filter .6s;position:relative;overflow:hidden;box-shadow:0 3px 10px #0003}@media (min-width:768px){.strip-card{width:var(--strip-card-w-desktop,22vh);height:var(--strip-card-h-desktop,13vh)}}.strip-card:hover{filter:grayscale(0)brightness();transform:translateY(-3px)scale(1.02);box-shadow:0 14px 28px #00000052}.strip-card img{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block}.strip-card .card-meta{z-index:2;color:#fff;font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;opacity:0;text-shadow:0 1px 6px #000000b3;font-size:7.5px;transition:opacity .4s,transform .5s cubic-bezier(.22,1,.36,1);position:absolute;bottom:7px;left:8px;transform:translateY(4px)}.strip-card:hover .card-meta{opacity:1;transform:translateY(0)}.hero-scroll{z-index:3;font-family:var(--font-mono);letter-spacing:.32em;text-transform:uppercase;color:#f3f3f18c;pointer-events:none;flex-direction:column;align-items:center;gap:8px;font-size:9px;display:flex;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.hero-scroll:after{content:"";background:linear-gradient(#f3f3f180,#0000);width:1px;height:22px;animation:2.4s ease-in-out infinite heroScrollLine}@keyframes heroScrollLine{0%,to{opacity:.35;transform-origin:top;transform:scaleY(.7)}50%{opacity:1;transform:scaleY(1)}}@media (max-width:768px){.hero-masthead .left{bottom:44px;left:18px}.hero-masthead .right{top:86px;right:18px}.strip-card{height:32vh}.hero-scroll{display:none}.strip-mask{-webkit-mask-image:linear-gradient(#0000 0%,#000 12% 88%,#0000 100%);mask-image:linear-gradient(#0000 0%,#000 12% 88%,#0000 100%)}.strip-track{touch-action:pan-x;flex-direction:column;align-items:center;gap:18px;width:100%;padding:50vh 0}.strip-card{aspect-ratio:16/9;width:60vw;max-width:280px;height:auto}}.lightbox{z-index:9000;-webkit-backdrop-filter:blur(28px)saturate(140%);opacity:0;visibility:hidden;cursor:pointer;background:#08080af5;justify-content:center;align-items:center;transition:opacity .45s,visibility 0s linear .45s;display:flex;position:fixed;inset:0;overflow:hidden}.lightbox.is-open{opacity:1;visibility:visible;transition:opacity .45s,visibility linear}.lightbox__mask{width:100vw;height:100vh;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 8% 92%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 8% 92%,#0000 100%)}.lightbox__container{opacity:0;align-items:center;width:100%;height:100%;transition:opacity .55s,transform .65s cubic-bezier(.22,1,.36,1);display:flex;transform:scale(.96)}.lightbox.is-open .lightbox__container{opacity:1;transition-delay:.15s;transform:scale(1)}.lightbox__track{cursor:grab;-webkit-user-select:none;user-select:none;will-change:transform;touch-action:pan-y;align-items:center;gap:6px;width:max-content;padding:0 50vw;display:flex}.lightbox__track.grabbing{cursor:grabbing}.lightbox__mask{transform:translateY(-6vh)}.lightbox__tile{background:#ffffff05;flex:none;width:110.222vh;height:62vh;overflow:hidden}.lightbox__tile.is-tall{width:46.5vh}.lightbox__tile.is-square{width:62vh}.lightbox__tile img{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block}.lightbox__caption{z-index:2;color:#f3f3f1;pointer-events:none;opacity:0;background:linear-gradient(#08080a00 0%,#08080a8c 40%,#08080ad9 100%);justify-content:space-between;align-items:flex-end;gap:32px;padding:26px 40px 34px;transition:opacity .5s .25s,transform .6s cubic-bezier(.22,1,.36,1) .25s;display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(12px)}.lightbox.is-open .lightbox__caption{opacity:1;transform:translateY(0)}.lightbox__caption .lb-left{flex-direction:column;gap:8px;max-width:620px;display:flex}.lightbox__caption .lb-kind{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:#fff9;font-size:9px}.lightbox__caption .lb-title{letter-spacing:-.01em;font-size:24px;font-weight:400;line-height:1.15}.lightbox__caption .lb-jp{font-family:var(--font-jp);color:#ffffffb3;font-size:13px;font-weight:300}.lightbox__caption .lb-desc{color:#ffffffc7;margin-top:4px;font-size:13px;line-height:1.6}.lightbox__caption .lb-meta{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:#ffffff8c;text-align:right;white-space:nowrap;flex-shrink:0;font-size:9px}body.lb-open{overflow:hidden}@media (max-width:900px){.lightbox__mask{transform:translateY(-4vh)}.lightbox__tile{width:81.7778vh;height:46vh}.lightbox__tile.is-tall{width:34.5vh}.lightbox__tile.is-square{width:46vh}.lightbox__track{gap:6px;padding:0 14vw}.lightbox__caption{flex-direction:column;align-items:flex-start;gap:10px;padding:20px 20px 26px}.lightbox__caption .lb-title{font-size:19px}.lightbox__caption .lb-meta{text-align:left}}.paper-layer{z-index:1;background:rgba(250, 250, 248, var(--paper-opacity,.85));position:relative}.statement{max-width:1280px;margin:0 auto;padding:220px 22px}.statement-meta-row{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:baseline;margin-bottom:70px;padding-bottom:22px;display:flex}.statement h1{letter-spacing:-.035em;max-width:1100px;color:var(--ink);font-size:clamp(40px,5vw,80px);font-weight:300;line-height:1.15}.statement h1 .quiet{color:var(--ink-whisper)}.statement-jp{font-family:var(--font-jp);color:var(--ink-soft);letter-spacing:.06em;max-width:480px;margin-top:50px;font-size:14px;font-weight:300;line-height:2}.works{text-align:center;padding:0 0 96px;overflow:hidden}.works-header{border-bottom:1px solid var(--rule);text-align:left;justify-content:space-between;align-items:baseline;max-width:1280px;margin:0 auto 56px;padding:0 22px 22px;display:flex}.works-header .meta-soft{font-family:var(--font-mono);letter-spacing:.16em;color:var(--ink-whisper);text-transform:uppercase;font-size:10px}.works-header .title{color:var(--ink);font-size:14px;font-weight:400}.ugal{--ugal-h:30vh;--ugal-gap:22px;flex-direction:column;gap:30px;display:flex}@media (min-width:768px){.ugal{--ugal-h:31vh}}@media (max-width:600px){.ugal{--ugal-h:23vh;--ugal-gap:14px}}.ugal-row{width:100%;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000006b 0%,#000 8% 92%,#0000006b 100%);mask-image:linear-gradient(90deg,#0000006b 0%,#000 8% 92%,#0000006b 100%)}.ugal-track{align-items:flex-start;gap:var(--ugal-gap);cursor:grab;-webkit-user-select:none;user-select:none;will-change:transform;touch-action:pan-y;width:max-content;display:flex}.ugal-track.grabbing{cursor:grabbing}.ugal-card{transform-origin:50%;flex-direction:column;flex:none;gap:12px;transition:transform .42s cubic-bezier(.22,1,.36,1);display:flex}.ugal-fig{height:var(--ugal-h);background:var(--paper-pure);filter:grayscale(.12)contrast(1.02);border-radius:3px;transition:transform .55s cubic-bezier(.22,1,.36,1),box-shadow .55s,filter .6s;position:relative;overflow:hidden;box-shadow:0 4px 16px #0e0e101a}.ugal-fig.is-wide{width:calc(var(--ugal-h) * 16 / 9)}.ugal-fig.is-tall{width:calc(var(--ugal-h) * 3 / 4)}.ugal-card:hover .ugal-fig{filter:grayscale(0)contrast();transform:translateY(-4px);box-shadow:0 18px 38px #0e0e1033}.ugal-track.grabbing .ugal-card{transform:scale(.955)}.ugal-track.grabbing .ugal-fig{transform:none;box-shadow:0 6px 16px #0e0e1029}.ugal-fig img,.ugal-fig video{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.ugal-fig .swap{opacity:0;transition:opacity .18s linear}.ugal-fig .swap.on{opacity:1}.ugal-badge{z-index:2;font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:#fff;-webkit-backdrop-filter:blur(6px);background:#0e0e108c;border-radius:20px;padding:4px 8px;font-size:8px;position:absolute;top:10px;left:10px}.ugal-card[data-kind=Lab] .ugal-badge{background:rgba(var(--accent-rgb), .72)}.ugal-play{z-index:2;font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:#fff;-webkit-backdrop-filter:blur(6px);opacity:0;background:#0e0e1073;border-radius:20px;padding:5px 9px;font-size:8.5px;transition:opacity .35s,transform .45s cubic-bezier(.22,1,.36,1);position:absolute;bottom:10px;right:10px;transform:translateY(4px)}.ugal-card:hover .ugal-play{opacity:1;transform:translateY(0)}.ugal-cap{text-align:left;justify-content:space-between;align-items:flex-start;gap:14px;width:0;min-width:100%;padding:0 2px;display:flex}.ugal-cap .c-left{flex-direction:column;gap:3px;min-width:0;display:flex}.ugal-cap .c-title{color:var(--ink);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:400;overflow:hidden}.ugal-cap .c-sub{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);font-size:9px}.ugal-cap .c-year{font-family:var(--font-mono);letter-spacing:.14em;color:var(--ink-whisper);flex-shrink:0;padding-top:2px;font-size:9px}.ugal-card.is-soon .ugal-fig{box-shadow:inset 0 0 0 1px var(--rule);background:linear-gradient(135deg,#0e0e100f 0%,#0e0e1005 50%,#0e0e100d 100%);justify-content:center;align-items:center;display:flex}.ugal-card.is-soon .ugal-fig:after{content:"Coming soon";font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-whisper);font-size:9px}.ugal-card.is-soon .ugal-badge,.ugal-card.is-soon .ugal-play{display:none}.ugal-card.is-soon .c-title{color:var(--ink-soft);font-style:italic}.ugal-hint{font-family:var(--font-mono);letter-spacing:.28em;text-transform:uppercase;color:var(--ink-whisper);margin-top:46px;font-size:10px}.img-1{background-image:url(https://images.unsplash.com/photo-1761597128652-465753a580fc?fm=jpg&q=85&w=1600&auto=format&fit=crop)}.img-2{background-image:url(https://images.unsplash.com/photo-1739296408127-b6cc9c5c094b?fm=jpg&q=85&w=1600&auto=format&fit=crop)}.img-3{background-image:url(https://images.unsplash.com/photo-1760530947546-f6f69e59f0f5?fm=jpg&q=85&w=1600&auto=format&fit=crop)}.img-4{background-image:url(https://images.unsplash.com/photo-1771876002358-e870981466d8?fm=jpg&q=85&w=1600&auto=format&fit=crop)}.img-5{background-image:url(https://images.unsplash.com/photo-1760000196444-864caf3b3687?fm=jpg&q=85&w=2400&auto=format&fit=crop)}.featured{padding:0 22px 130px}.featured-frame{aspect-ratio:16/9;max-width:1280px;color:inherit;background:#0000000a;margin:0 auto;display:block;position:relative;overflow:hidden}.featured-frame img{object-fit:cover;filter:grayscale(.1)contrast(1.02);width:100%;height:100%;transition:transform 1.2s cubic-bezier(.22,1,.36,1);position:absolute;inset:0}.featured-frame:hover img{filter:grayscale(0)contrast();transform:scale(1.03)}.featured-frame:after{content:"";pointer-events:none;background:linear-gradient(to top left,#0009 0%,#00000047 35%,#0000 65%);position:absolute;inset:0}.featured-caption{text-align:right;z-index:2;flex-direction:column;align-items:flex-end;gap:16px;max-width:56%;display:flex;position:absolute;bottom:40px;right:40px}.featured-caption .tag{font-family:var(--font-mono);letter-spacing:.3em;text-transform:uppercase;color:#8ec8e0;font-size:10px}.featured-caption h3{font-family:var(--font-jp);letter-spacing:.04em;color:#fff;text-shadow:0 2px 24px #00000059;margin:0;font-size:clamp(20px,2.4vw,32px);font-weight:300;line-height:1.5}.featured-caption p{font-family:var(--font-jp);letter-spacing:.08em;color:#ffffffe0;text-shadow:0 1px 12px #0006;max-width:28em;margin:0;font-size:13px;font-weight:300;line-height:1.9}.featured-caption .more{font-family:var(--font-mono);letter-spacing:.3em;text-transform:uppercase;color:#fff;border-bottom:1px solid #fff9;align-items:center;gap:12px;margin-top:4px;padding-bottom:4px;font-size:11px;display:inline-flex}.making{padding:0 22px 130px}.making-frame{aspect-ratio:16/9;cursor:none;background:#0000000a;max-width:1280px;margin:0 auto;display:block;position:relative;overflow:hidden}.making-frame img,.making-frame video{object-fit:cover;filter:grayscale(.1)contrast(1.02);width:100%;height:100%;transition:transform 1.4s cubic-bezier(.22,1,.36,1);position:absolute;inset:0}.making-frame:hover img,.making-frame:hover video{filter:grayscale(0)contrast();transform:scale(1.02)}.play-badge{width:88px;height:88px;font-family:var(--font-mono);color:#fff;letter-spacing:.3em;text-transform:uppercase;text-align:center;opacity:0;transition:transform var(--badge-out-dur,2s) cubic-bezier(.16, 1, .3, 1), opacity var(--badge-out-dur,2s) cubic-bezier(.16, 1, .3, 1);-webkit-backdrop-filter:blur(4px);pointer-events:none;z-index:2;background:#00000038;border:1px solid #ffffffbf;border-radius:50%;justify-content:center;align-items:center;font-size:10px;line-height:1.55;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.6)}.play-badge.is-lg{letter-spacing:.28em;width:140px;height:140px;font-size:11px}@media (min-width:768px){.play-badge.is-lg{width:180px;height:180px;font-size:12px}}.plate-figure:hover .play-badge,.making-frame:hover .play-badge{opacity:1;transition:transform var(--badge-in-dur,1.1s) cubic-bezier(.16, 1, .3, 1), opacity var(--badge-in-dur,1.1s) cubic-bezier(.16, 1, .3, 1);transform:translate(-50%,-50%)scale(1)}@media (max-width:640px){.featured-caption{gap:10px;max-width:88%;bottom:18px;right:18px}.featured-caption p{display:none}.play-badge.is-lg{width:110px;height:110px;font-size:10px}}.index-block{border-top:1px solid var(--rule);text-align:center;max-width:720px;margin:0 auto;padding:150px 22px}.index-grid{display:block}.index-label{font-family:var(--font-mono);letter-spacing:.32em;text-transform:uppercase;color:var(--accent);margin-bottom:44px;font-size:10px;font-weight:500;display:block}.index-list{flex-direction:column;align-items:stretch;display:flex}.index-row{border-top:1px solid var(--rule);text-align:left;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;padding:13px 16px;transition:none;display:grid;position:relative;overflow:hidden}.index-row:last-child{border-bottom:1px solid var(--rule)}.index-row .sweep{transform-origin:top;transition:transform var(--list-anim-dur,.9s) cubic-bezier(.76, 0, .24, 1);z-index:0;background:#0e0e10;position:absolute;inset:0;transform:scaleY(0)}.index-row.is-open .sweep{transform:scaleY(1)}.index-row>:not(.sweep){z-index:2;transition:color var(--list-anim-dur,.9s) ease, transform var(--list-anim-dur,.9s) ease, opacity var(--list-anim-dur,.9s) ease;position:relative}.index-num{font-family:var(--font-mono);letter-spacing:.18em;color:var(--ink-soft);text-transform:uppercase;justify-self:start;font-size:9.5px}.index-name{color:var(--ink);letter-spacing:-.005em;text-align:center;justify-self:center;font-size:14px;font-weight:400}.index-desc{display:none}.index-row .index-arrow{opacity:0;color:#f7f8f9b3;justify-self:end;align-items:center;display:flex;transform:translate(8px)}.index-row.is-open .index-arrow{opacity:1;transform:translate(0)}.index-row.is-open .index-num{color:#f7f8f98c}.index-row.is-open .index-name{color:#f7f8f9}.index-loadmore{font-family:var(--font-mono);letter-spacing:.28em;text-transform:uppercase;color:var(--ink-soft);margin-top:88px;padding-bottom:4px;font-size:10px;transition:color .3s;display:inline-block;position:relative}.index-loadmore:after{content:"";background:var(--ink);width:0;height:1px;transition:width .45s cubic-bezier(.76,0,.24,1),left .45s cubic-bezier(.76,0,.24,1);position:absolute;bottom:0;left:50%}.index-loadmore:hover{color:var(--ink)}.index-loadmore:hover:after{width:100%;left:0}.visit{border-top:1px solid var(--rule);padding:150px 22px}.visit-meta{font-family:var(--font-mono);letter-spacing:.28em;color:var(--accent);text-transform:uppercase;text-align:center;max-width:820px;margin:0 auto 36px;font-size:10px;display:block}.contact-palette{-webkit-backdrop-filter:blur(24px)saturate(180%);background:#ffffff8c;border:1px solid #0e0e1014;border-radius:18px;flex-direction:column;align-items:stretch;max-width:720px;margin:0 auto;padding:48px 56px 52px;display:flex;box-shadow:0 8px 32px #0e0e100a}.contact-intro{font-family:var(--font-jp);color:var(--ink);letter-spacing:.05em;text-align:center;max-width:36em;margin:0 auto 40px;font-size:13.5px;font-weight:300;line-height:1.95}.contact-intro p{margin:0}.contact-form{grid-template-columns:1fr 1fr;gap:22px 28px;display:grid}.contact-form .field{flex-direction:column;gap:8px;display:flex}.contact-form .field.is-wide{grid-column:1/-1}.contact-form label{font-family:var(--font-jp), var(--font-sans);letter-spacing:.04em;color:var(--ink-soft);font-size:12px;font-weight:400}.contact-form .field-note{font-family:var(--font-jp), var(--font-sans);letter-spacing:.02em;color:var(--ink-whisper);margin:0;font-size:11px;font-weight:300;line-height:1.65}.contact-form input,.contact-form textarea{font-family:var(--font-sans);color:var(--ink);letter-spacing:-.005em;resize:vertical;background:0 0;border:none;border-bottom:1px solid #0e0e101f;outline:none;width:100%;padding:6px 0 8px;font-size:14px;transition:border-color .3s}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#0e0e104d;font-weight:300;font-family:var(--font-jp), var(--font-sans)}.contact-form input:required::placeholder,.contact-form textarea:required::placeholder{color:var(--accent);opacity:.9;font-weight:400}.contact-form input.is-empty,.contact-form textarea.is-empty{border-bottom-color:var(--accent)}.contact-form input:focus,.contact-form textarea:focus{border-bottom-color:var(--ink)}.contact-form textarea{min-height:96px;font-family:var(--font-jp);line-height:1.7}.contact-form .submit-row{grid-column:1/-1;justify-content:center;margin-top:28px;display:flex}.contact-submit{background:var(--ink);color:var(--paper-pure);border-radius:var(--radius-pillbuttons);font-family:var(--font-sans);transition:color .9s var(--ease);isolation:isolate;border:none;align-items:center;gap:10px;padding:11px 22px 11px 24px;font-size:13px;transition-delay:.2s;display:inline-flex;position:relative;overflow:hidden}.contact-submit>*{z-index:2;position:relative}.contact-submit:before{content:"";background:var(--ink);z-index:0;transition:opacity 1s var(--ease);transition-delay:.2s;position:absolute;inset:0}.contact-submit .submit-marble{opacity:0;width:100%;height:100%;transition:opacity 1s var(--ease);z-index:1;pointer-events:none;border-radius:inherit;transition-delay:.2s;position:absolute;inset:0}.contact-submit:hover{color:var(--paper-pure);background:0 0;transition-delay:0s}.contact-submit:hover:before{opacity:0;transition-delay:0s}.contact-submit:hover .submit-marble{opacity:1;transition-delay:0s}.contact-submit .arrow{transition:transform .45s var(--ease)}.contact-submit:hover .arrow{transform:translate(2px)}@media (max-width:820px){.contact-palette{padding:36px 28px 40px}.contact-form{grid-template-columns:1fr;gap:22px}}@media (max-width:640px){.visit{padding:100px 16px}.contact-palette{padding:28px 22px 32px}}footer{border-top:1px solid var(--rule);padding:35px 22px}.footer-row{max-width:1280px;font-family:var(--font-mono);color:var(--ink-soft);text-transform:uppercase;letter-spacing:.16em;grid-template-columns:1fr auto;grid-template-areas:"copy links""vol links";align-items:center;gap:4px 24px;margin:0 auto;font-size:10px;display:grid}.footer-copy{grid-area:copy}.footer-vol{grid-area:vol}.footer-row .links{grid-area:links;align-items:center;gap:14px;display:flex}.footer-row .links a{width:36px;height:36px;color:var(--ink-soft);background:#0e0e100a;border-radius:50%;justify-content:center;align-items:center;transition:color .3s,background .3s,transform .3s;display:inline-flex}.footer-row .links a:hover{color:var(--ink);background:#0e0e1014;transform:translateY(-1px)}.footer-row .links a svg{width:16px;height:16px}@media (max-width:980px){.nav-pills{display:none}.nav-burger{display:inline-flex}.plates-grid{grid-template-columns:1fr;gap:50px}}@media (max-width:640px){.hero-caption-row{flex-direction:column;align-items:flex-start;gap:16px;padding:0 18px 28px}.hero-caption-right{text-align:left;align-items:flex-start}.hero-scroll{display:none}.statement{padding:130px 16px}.index-block{padding:94px 16px}.index-label{letter-spacing:.28em;margin-bottom:40px;font-size:9px}.index-row{text-align:center;grid-template-columns:1fr;gap:4px;padding:18px 8px}.index-num{justify-self:center}.index-name{justify-self:center;font-size:14px}.index-row .index-arrow{display:none}nav.topbar{padding:6px 6px 6px 16px}.cta-btn{padding:8px 12px;font-size:12px}.logo{font-size:16px}.plate-caption{flex-direction:column;gap:8px}.plate-caption .right{text-align:left;padding-top:0}.footer-row{grid-template-columns:1fr;grid-template-areas:"copy""vol""links";gap:14px}.footer-row .links{justify-content:flex-start}}.reveal{opacity:0;animation:fadeIn 1.2s var(--ease) forwards}.loader.done~* .reveal{animation-play-state:running}.reveal-d1{animation-delay:.1s}.reveal-d2{animation-delay:.3s}.reveal-d3{animation-delay:.5s}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.reveal-up{opacity:0;will-change:opacity, transform;transition:opacity 1.4s cubic-bezier(.22,1,.36,1),transform 1.4s cubic-bezier(.22,1,.36,1);transform:translateY(36px)scale(.985)}.reveal-up.is-visible{opacity:1;transform:translateY(0)scale(1)}.reveal-up[data-reveal-delay="1"].is-visible{transition-delay:.1s}.reveal-up[data-reveal-delay="2"].is-visible{transition-delay:.18s}.reveal-up[data-reveal-delay="3"].is-visible{transition-delay:.26s}.reveal-up[data-reveal-delay="4"].is-visible{transition-delay:.34s}.shader-debug{z-index:9999;color:#f3f3f1;-webkit-backdrop-filter:blur(20px)saturate(160%);letter-spacing:.04em;opacity:0;pointer-events:none;visibility:hidden;background:#0a0a0cd9;border:1px solid #ffffff14;border-radius:14px;flex-direction:column;width:360px;max-height:calc(100vh - 100px);padding:0;font-family:Geist Mono,ui-monospace,monospace;font-size:11px;transition:transform .36s cubic-bezier(.4,0,.2,1),opacity .24s,visibility 0s linear .36s;display:flex;position:fixed;bottom:64px;right:16px;transform:translateY(120vh);box-shadow:0 16px 56px #00000080}.shader-debug.is-open{opacity:1;pointer-events:auto;visibility:visible;transition:transform .36s cubic-bezier(.4,0,.2,1),opacity .24s,visibility linear;transform:translateY(0)}.shader-debug__head{z-index:2;background:#ffffff05;border-bottom:1px solid #ffffff12;border-top-left-radius:14px;border-top-right-radius:14px;justify-content:space-between;align-items:center;padding:14px 16px 12px;display:flex;position:sticky;top:0}.shader-debug__title{letter-spacing:.22em;text-transform:uppercase;color:#f3f3f1d9;font-size:11px;font-weight:500}.shader-debug__close{color:#f3f3f1;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;transition:background .2s,transform .2s;display:flex}.shader-debug__close:hover{background:#ffffff24;transform:scale(1.05)}.shader-debug__close svg{width:12px;height:12px}.shader-debug__body{flex:auto;padding:14px 16px 16px;overflow-y:auto}.shader-debug h4{text-transform:uppercase;letter-spacing:.22em;color:#f3f3f18c;margin:18px 0 10px;font-size:10px;font-weight:500}.shader-debug h4:first-child{margin-top:0}.shader-debug .row{align-items:center;gap:10px;margin:8px 0;display:flex}.shader-debug .row label{color:#f3f3f1bf;text-transform:uppercase;letter-spacing:.08em;flex:0 0 96px;font-size:10px}.shader-debug .row input[type=range]{accent-color:#c8ccd0;flex:1;min-width:0;height:16px}.shader-debug .row .v{text-align:right;color:#f3f3f1f2;font-variant-numeric:tabular-nums;flex:0 0 44px;font-size:10.5px}.shader-debug .presets{grid-template-columns:repeat(2,1fr);gap:5px;margin:4px 0 12px;display:grid}.shader-debug .presets button{color:#f3f3f1;cursor:pointer;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;text-overflow:ellipsis;text-align:center;background:#ffffff0f;border:1px solid #ffffff14;border-radius:7px;padding:7px 5px;font-family:inherit;font-size:9.5px;line-height:1.2;transition:background .18s,border .18s;overflow:hidden}.shader-debug .presets button:hover{background:#ffffff1f;border-color:#fff3}.shader-debug .presets button.is-active{color:#0a0a0a;background:#38bdf8;border-color:#38bdf8}.shader-debug .presets.is-palette button{flex-direction:column;align-items:stretch;gap:4px;padding:5px 4px;display:flex}.shader-debug .presets.is-palette button .swatch{pointer-events:none;border-radius:2px;height:8px;display:flex;overflow:hidden}.shader-debug .presets.is-palette button .swatch i{flex:1}.shader-debug .presets.is-palette button .label{pointer-events:none;font-size:9px}.shader-debug .custom-palette-area{background:#ffffff08;border:1px dashed #ffffff1f;border-radius:7px;grid-template-columns:1fr 1fr;gap:8px;margin:-4px 0 12px;padding:10px;display:none}.shader-debug .custom-palette-area.is-visible{display:grid}.shader-debug .custom-stop{flex-direction:column;gap:4px;display:flex}.shader-debug .custom-stop label{letter-spacing:.06em;text-transform:uppercase;opacity:.7;justify-content:space-between;align-items:baseline;font-size:9px;display:flex}.shader-debug .custom-stop label .hex{text-transform:none;letter-spacing:0;opacity:.55;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:9px}.shader-debug .custom-stop input[type=color]{cursor:pointer;background:0 0;border:1px solid #ffffff1a;border-radius:5px;width:100%;height:30px;padding:2px}.shader-debug .custom-stop input[type=color]::-webkit-color-swatch-wrapper{padding:0}.shader-debug .custom-stop input[type=color]::-webkit-color-swatch{border:none;border-radius:3px}.shader-debug .toggle{cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff0a;border-radius:7px;justify-content:space-between;align-items:center;margin:8px 0 4px;padding:9px 12px;font-size:10.5px;display:flex}.shader-debug .toggle.is-on{background:#38bdf82e}.shader-debug .toggle .dot{background:#ffffff2e;border-radius:50%;width:10px;height:10px}.shader-debug .toggle.is-on .dot{background:#38bdf8}.shader-debug .footnote{color:#f3f3f173;border-top:1px solid #ffffff14;margin-top:12px;padding-top:12px;font-size:9.5px;line-height:1.6}.shader-debug .actions{grid-template-columns:1fr 1fr 1fr;gap:6px;margin-top:12px;display:grid}.shader-debug .actions button{color:#f3f3f1d9;cursor:pointer;text-transform:uppercase;letter-spacing:.08em;background:#ffffff0f;border:1px solid #ffffff14;border-radius:7px;padding:9px 4px;font-family:inherit;font-size:9.5px;transition:background .18s,border .18s,color .18s}.shader-debug .actions button:hover{background:#ffffff24;border-color:#fff3}.shader-debug .actions button.is-copied{color:#fff;background:#38bdf838;border-color:#38bdf8}.shader-debug .actions button.is-active{color:#f3f3f1;background:#38bdf82e;border-color:#38bdf859}.shader-debug .import-area{flex-direction:column;gap:8px;margin-top:10px;display:none}.shader-debug .import-area.is-open{display:flex}.shader-debug .import-area textarea{color:#f3f3f1;resize:vertical;box-sizing:border-box;background:#00000059;border:1px solid #ffffff1f;border-radius:6px;width:100%;min-height:96px;padding:8px 9px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10.5px;line-height:1.45}.shader-debug .import-area textarea:focus{border-color:#38bdf88c;outline:none}.shader-debug .import-area .import-row{grid-template-columns:1fr 1fr;gap:6px;display:grid}.shader-debug .import-area .import-row button{color:#f3f3f1;cursor:pointer;text-transform:uppercase;letter-spacing:.08em;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:6px;padding:7px 6px;font-family:inherit;font-size:10px;transition:background .18s,border .18s}.shader-debug .import-area .import-row button:hover{background:#ffffff24;border-color:#ffffff38}.shader-debug .import-area .import-row button.primary{background:#38bdf838;border-color:#38bdf873}.shader-debug .import-area .import-row button.primary:hover{background:#38bdf852}.shader-debug .import-status{opacity:.7;min-height:12px;font-size:9.5px;line-height:1.3}.shader-debug .import-status.is-error{color:#f87171;opacity:1}.shader-debug .import-status.is-success{color:#4ade80;opacity:1}.shader-debug-fab{z-index:9998;-webkit-backdrop-filter:blur(14px);color:#f3f3f1;cursor:pointer;background:#0a0a0cb3;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-family:Geist Mono,ui-monospace,monospace;font-size:14px;transition:background .2s,transform .2s;display:flex;position:fixed;bottom:16px;right:60px}.shader-debug-fab:hover{background:#0a0a0ceb;transform:scale(1.05)}.shader-debug-fab.is-hidden{display:none}@media (max-width:720px){.shader-debug{width:calc(100vw - 28px);max-height:calc(100vh - 90px);top:auto;bottom:70px;right:14px}.shader-debug-fab{bottom:16px;right:56px}.shader-debug .row label{flex:0 0 88px}}.hero-debug{width:320px;left:16px;right:auto}.hero-debug-fab{z-index:9998;-webkit-backdrop-filter:blur(14px);color:#f3f3f1;cursor:pointer;background:#0a0a0cb3;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:15px;transition:background .2s,transform .2s;display:flex;position:fixed;bottom:16px;right:104px}.hero-debug-fab:hover{background:#0a0a0ceb;transform:scale(1.05)}.hero-debug-fab.is-hidden{display:none}.hero-debug .hero-reset{color:#f3f3f1;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:6px;width:100%;margin-top:16px;padding:9px;font-family:inherit;font-size:10px;transition:background .2s}.hero-debug .hero-reset:hover{background:#ffffff21}@media (max-width:720px){.hero-debug{width:calc(100vw - 28px);bottom:70px;left:14px;right:auto}.hero-debug-fab{bottom:16px;right:96px}}.debug-hub-fab{z-index:99990;cursor:pointer;-webkit-backdrop-filter:blur(14px);background:#0a0a0cc7;border:1px solid #ffffff29;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;transition:transform .2s,background .2s;display:flex;position:fixed;bottom:16px;right:16px}.debug-hub-fab:after{content:"";background:radial-gradient(circle at 35% 30%, #fff 0%, var(--accent,#fd3a75) 55%, var(--accent-deep,#b9244f) 100%);border-radius:50%;width:12px;height:12px}.debug-hub-fab:hover{background:#0a0a0ceb;transform:scale(1.1)}.debug-hub{z-index:99989;overscroll-behavior:contain;color:#f3f3f1;-webkit-backdrop-filter:blur(20px)saturate(160%);background:#0a0a0ceb;border:1px solid #ffffff1a;border-radius:14px;width:408px;max-width:calc(100vw - 28px);max-height:calc(100vh - 96px);font-family:Geist Mono,ui-monospace,monospace;display:none;position:fixed;bottom:64px;right:16px;overflow-y:auto;box-shadow:0 16px 56px #00000080}.debug-hub.is-open{display:block}.debug-hub__head{z-index:2;letter-spacing:.22em;text-transform:uppercase;background:#0a0a0cf5;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:12px 14px;font-size:11px;display:flex;position:sticky;top:0}.debug-hub__head button{color:#f3f3f1;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:50%;width:24px;height:24px;font-size:13px;line-height:1}.debug-hub__head button:hover{background:#ffffff24}.debug-hub details{border-bottom:1px solid #ffffff12}.debug-hub summary{cursor:pointer;letter-spacing:.14em;text-transform:uppercase;color:#f3f3f1d1;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:11px 14px;font-size:10.5px;list-style:none;display:flex}.debug-hub summary::-webkit-details-marker{display:none}.debug-hub summary:before{content:"▸";opacity:.6;font-size:9px;transition:transform .18s}.debug-hub details[open] summary:before{transform:rotate(90deg)}.debug-hub summary:hover{background:#ffffff0a}[data-debug-root] .shader-debug-fab,[data-debug-root] .hero-debug-fab,[data-debug-root] .debug-toggle,[data-debug-root] .cur-toggle{display:none!important}.debug-hub .shader-debug{opacity:1!important;visibility:visible!important;pointer-events:auto!important;width:100%!important;max-width:none!important;max-height:none!important;box-shadow:none!important;background:0 0!important;border:none!important;border-radius:0!important;transition:none!important;position:static!important;transform:none!important}.debug-hub .shader-debug__head{display:none}.debug-hub .debug-panel{margin:12px 14px;opacity:1!important;visibility:visible!important;pointer-events:auto!important;width:auto!important;transition:none!important;display:block!important;position:static!important;transform:none!important}.debug-hub .cur-panel{width:auto!important;max-height:none!important;box-shadow:none!important;background:0 0!important;border:none!important;border-radius:0!important;display:block!important;position:static!important}.debug-hub .cur-panel__close{display:none}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}
