html,body{overflow-x:hidden;max-width:100vw}*,*:before,*:after{box-sizing:border-box}@media (hover:hover)and(pointer:fine){*{cursor:none!important}#cur-ring,#cur-dot{display:block}}@media (hover:none),(pointer:coarse){#cur-ring,#cur-dot{display:none}}#cur-ring{position:fixed;top:0;left:0;z-index:99999;pointer-events:none;width:34px;height:34px;border-radius:50%;border:1.5px solid rgba(0,200,83,.55);transform:translate(-50%,-50%);will-change:left,top,width,height}#cur-dot{position:fixed;top:0;left:0;z-index:99999;pointer-events:none;width:6px;height:6px;border-radius:50%;background:#00a844;transform:translate(-50%,-50%);will-change:left,top}#hero-spacer{position:relative}#hero-pin{position:sticky;top:0;width:100%;height:100svh;overflow:hidden;background:#000;will-change:background-color}#video-outer{position:absolute;inset:0;overflow:hidden;z-index:1;will-change:transform}@media (min-width:768px){#video-outer{left:42%}}#video-inner{position:absolute;inset:-12%;will-change:transform}#video-inner video{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}#video-grad{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to right,rgba(0,0,0,.82) 0%,rgba(0,0,0,.45) 38%,rgba(0,0,0,.1) 62%,transparent 100%)}@media (max-width:767px){#video-grad{background:linear-gradient(to bottom,#000000b8,#00000026 45%,#000000b8)}}#hero-text{position:absolute;z-index:10;bottom:clamp(4rem,10vh,7rem);left:clamp(1.5rem,5vw,3.5rem);right:clamp(1.5rem,5vw,3.5rem);max-width:min(620px,100%);will-change:transform,opacity}@media (min-width:768px){#hero-text{right:auto}}#hero-scroll{position:absolute;z-index:10;bottom:2rem;right:clamp(1.5rem,3vw,2.5rem);display:flex;align-items:center;gap:.5rem;will-change:opacity}.muda-word{position:absolute;font-size:clamp(4.5rem,10vw,9rem);font-weight:700;letter-spacing:.04em;color:#fff;opacity:0;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;line-height:1;z-index:5;text-decoration:line-through;text-decoration-color:#ffffff40;text-decoration-thickness:2px}#story-spacer{position:relative;height:560vh}#story-pin{position:sticky;top:0;width:100%;height:100svh;background:#f5f5f5;overflow:hidden;display:flex;align-items:center;justify-content:center}.s-layer{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:clamp(2rem,6vw,5rem);will-change:opacity,transform}.s-layer:nth-child(2),.s-layer:nth-child(3){opacity:0}#works-content{position:relative;overflow:hidden}#works-curtain-l,#works-curtain-r{position:absolute;top:0;bottom:0;width:51%;background:#fff;z-index:10;will-change:transform}#works-curtain-l{left:0}#works-curtain-r{right:0}.works-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:clamp(1rem,2.5vw,1.75rem);width:100%;padding:clamp(.5rem,2vw,1rem) 0}.work-card{background:#fff;border:1px solid #e8e8e8;overflow:hidden;opacity:0;transform:translateY(32px);transition:box-shadow .3s ease,border-color .3s ease;cursor:default}.work-card:hover{box-shadow:0 16px 44px #00000017;border-color:#00c853;transform:translateY(-5px)!important}.work-card:hover .work-tag{border-color:#00c853;color:#00c853}.work-card:not(:hover){transition:box-shadow .3s ease,border-color .3s ease,transform .3s ease}.work-num{font-size:10px;color:#00c853;letter-spacing:.3em;font-weight:300;margin-bottom:.45rem}.work-tag{display:inline-block;font-size:9px;letter-spacing:.18em;padding:3px 9px;border:1px solid #e0e0e0;color:#aaa;transition:border-color .22s ease,color .22s ease}.g-up{opacity:0;transform:translateY(28px)}.g-fade{opacity:0}.g-line{transform:scaleX(0);transform-origin:left center}.g-line-c{transform:scaleX(0);transform-origin:center center}.clip-up{clip-path:inset(100% 0 0 0)}.legal-section{border-top:1px solid #e8e8e8;padding-top:2.5rem;margin-top:2.5rem}.legal-section:first-child{border-top:none;margin-top:0;padding-top:0}#chara-img{opacity:0;transform:translate(-28px);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1);max-width:min(220px,50vw);height:auto;display:block}#chara-img.chara-visible{opacity:1;transform:translate(0)}#code-block{opacity:0;border:1px solid rgba(0,200,83,.2);border-left:2px solid #00C853;background:#00000006;padding:1.4rem 1.6rem;min-height:7rem;transition:opacity .7s ease}#code-block.code-visible{opacity:1}#code-block.code-fade{opacity:0!important}#code-pre{font-family:Courier New,Courier,monospace;font-size:clamp(11px,1.4vw,13px);color:#00c853;line-height:1.9;white-space:pre;margin:0}#code-caret{display:inline-block;width:6px;height:.85em;background:#00c853;vertical-align:text-bottom;margin-left:1px;animation:blink-code .7s step-end infinite}#code-caret.hidden{display:none}@keyframes blink-code{0%,to{opacity:1}50%{opacity:0}}#code-run{display:inline-block;margin-top:1rem;font-family:Courier New,Courier,monospace;font-size:clamp(10px,1.3vw,12px);color:#00c853;letter-spacing:.18em;cursor:pointer;border:none;background:none;padding:0;opacity:0;transition:opacity .7s ease;animation:none}#code-run.run-visible{opacity:1;animation:run-pulse 1.8s ease-in-out infinite}@keyframes run-pulse{0%,to{opacity:1}50%{opacity:.25}}#side-nav{position:fixed;right:clamp(1.1rem,2.5vw,2.5rem);top:50%;transform:translateY(-50%);z-index:5000;mix-blend-mode:difference;pointer-events:auto}#side-nav ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;align-items:flex-end;gap:clamp(.9rem,1.8vh,1.4rem)}.snav-link{display:flex;align-items:center;gap:.45rem;text-decoration:none;color:#fff;font-size:clamp(7px,.78vw,10px);letter-spacing:.22em;font-weight:300;white-space:nowrap;transition:gap .28s ease}.snav-line{display:block;width:12px;height:1px;background:#fff;transform-origin:right center;transform:scaleX(.35);transition:transform .3s ease,width .3s ease;flex-shrink:0}.snav-link:hover .snav-line,.snav-link.is-active .snav-line{transform:scaleX(1);width:20px}.snav-link:hover,.snav-link.is-active{gap:.72rem}@media (max-width:768px){#side-nav{display:none}}#nav-toggle{display:none;position:fixed;top:1.25rem;right:1.25rem;z-index:7000;width:44px;height:44px;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:none;border:none;padding:0;cursor:pointer;mix-blend-mode:difference}#nav-toggle span{display:block;width:24px;height:1px;background:#fff;transform-origin:center;transition:transform .35s ease,opacity .25s ease,width .25s ease}#nav-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}#nav-toggle.is-open span:nth-child(2){opacity:0;width:0}#nav-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media (max-width:768px){#nav-toggle{display:flex}}#nav-overlay{position:fixed;inset:0;z-index:6500;background:#000000f7;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .42s ease;overflow:hidden}#nav-overlay.is-open{opacity:1;pointer-events:auto}#nav-overlay ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;align-items:center;gap:clamp(1.5rem,4vh,2.25rem)}.overlay-link{display:inline-flex;align-items:center;gap:.6rem;font-size:clamp(1.35rem,5vw,2rem);font-weight:300;color:#fff;text-decoration:none;letter-spacing:.08em;transition:color .22s ease,gap .22s ease,opacity .38s ease,transform .38s ease;opacity:0;transform:translateY(16px)}#nav-overlay.is-open .overlay-link{opacity:1;transform:translateY(0)}.overlay-link:hover,.overlay-link.is-active{color:#00c853;gap:.85rem}.overlay-link .ol-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#00c853;opacity:0;flex-shrink:0;transition:opacity .22s ease,transform .22s ease;transform:scale(0)}.overlay-link:hover .ol-dot,.overlay-link.is-active .ol-dot{opacity:1;transform:scale(1)}#scroll-dots{position:fixed;right:clamp(.4rem,.85vw,.75rem);top:50%;transform:translateY(-50%);z-index:4900;display:flex;flex-direction:column;align-items:center;gap:clamp(.55rem,1.1vh,.82rem);pointer-events:auto}.sdot{display:block;width:5px;height:5px;border-radius:50%;border:1px solid rgba(200,200,200,.45);background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;outline:none;transition:transform .32s ease,background .32s ease,border-color .32s ease,box-shadow .32s ease}.sdot:hover{border-color:#c8c8c8d9;transform:scale(1.3)}.sdot.is-active{background:#00c853;border-color:#00c853;transform:scale(1.5);box-shadow:0 0 8px #00c85399,0 0 16px #00c85340}@media (max-width:768px){#scroll-dots{right:.3rem;gap:clamp(.45rem,1vh,.65rem)}.sdot{width:4px;height:4px}}
