:root{--paper:#fff;--blue:#0e7fd8;--ink:#0c3b66;--lemon:#ffc940;--ribbon:#ff6154;--ink-60:color-mix(in oklch, var(--ink) 62%, white);--ink-line:color-mix(in oklch, var(--ink) 14%, transparent);--blue-soft:color-mix(in oklch, var(--blue) 10%, white);--font-en:"Space Grotesk", sans-serif;--font-cn:"Noto Sans SC", sans-serif;--font-mono:"JetBrains Mono", monospace;--bounce:cubic-bezier(.34, 1.56, .64, 1);--ease-out:cubic-bezier(.22, .61, .36, 1);--pad-x:clamp(20px, 6vw, 110px);--r-card:24px;--shadow-1:4px 5px 0 color-mix(in oklch, var(--ink) 10%, transparent);--shadow-2:10px 16px 34px color-mix(in oklch, var(--ink) 14%, transparent)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:initial}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}body{background:var(--paper);color:var(--ink);font-family:var(--font-cn);-webkit-font-smoothing:antialiased;font-size:clamp(1rem,.95rem + .3vw,1.15rem);line-height:1.75;overflow-x:clip}a{color:inherit;text-decoration:none}p{text-wrap:pretty}::selection{background:var(--lemon);color:var(--ink)}:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:6px}.mono{font-family:var(--font-mono);letter-spacing:.08em}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (pointer:fine){body,body a,body button{cursor:none}}#gl{z-index:0;width:100%;height:100%;display:block;position:fixed;inset:0}main{z-index:2;position:relative}.preloader{z-index:60;background:var(--blue);color:#fff;place-items:center;display:grid;position:fixed;inset:0}.preloader-inner{align-items:baseline;gap:1.2rem;display:flex}.preloader-word{font-family:var(--font-en);letter-spacing:-.02em;font-size:clamp(2rem,5vw,3.4rem);font-weight:700}.preloader-count{font-family:var(--font-mono);color:var(--lemon);font-size:clamp(1.1rem,2.4vw,1.6rem)}.preloader-bar{background:oklch(100% 5.96046e-8 none/.22);width:100%;height:5px;position:absolute;bottom:0;left:0}.preloader-bar i{background:var(--lemon);width:0%;height:100%;display:block}.cursor{z-index:55;pointer-events:none;display:none;position:fixed;top:0;left:0}@media (pointer:fine){.cursor{display:block}}.cursor i{background:var(--blue);opacity:.9;width:26px;height:26px;translate:var(--cx,0) var(--cy,0);transition:scale .3s var(--bounce), background .25s;border-radius:50%;position:absolute;top:-13px;left:-13px}.cursor.is-hover i{background:var(--lemon);opacity:.95;scale:2.2}.cursor.is-down i{scale:.7}.nav{z-index:20;padding:clamp(16px, 3vh, 28px) var(--pad-x);justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.logo{font-family:var(--font-en);letter-spacing:-.02em;align-items:center;gap:9px;font-size:19px;display:inline-flex}.logo b{font-weight:700}.logo-tld{color:var(--ink-60);font-weight:400}.logo-mark{width:28px;height:28px;transition:rotate .35s var(--bounce), scale .35s var(--bounce);place-items:center;display:inline-grid}.logo-mark svg{width:100%;height:100%;filter:drop-shadow(2px 2px 0 var(--lemon));display:block}.logo:hover .logo-mark{rotate:-12deg;scale:1.14}.nav-links{gap:clamp(18px,3.4vw,44px);display:flex}.nav-links a{padding:4px 0;font-size:15px;font-weight:500;position:relative}.nav-links a small{font-family:var(--font-mono);color:var(--blue);letter-spacing:.1em;margin-left:5px;font-size:10px}.nav-links a:after{content:"";background:var(--blue);transform-origin:100%;height:2px;transition:transform .35s var(--ease-out);border-radius:2px;position:absolute;bottom:-2px;left:0;right:0;transform:scaleX(0)}.nav-links a:hover:after{transform-origin:0;transform:scaleX(1)}@media (width<=640px){.nav-links a small{display:none}}.scene{min-height:100svh;padding-inline:var(--pad-x);align-items:center;display:flex;position:relative}.scene-inner{width:min(920px,100%);position:relative}.kicker{border:2.5px solid var(--ink);box-shadow:3px 3px 0 var(--lemon);color:var(--ink);background:#fff;border-radius:999px;align-items:center;gap:.6rem;padding:.34rem 1.05rem;font-size:12px;display:inline-flex}.kicker b{color:var(--blue)}.display{font-family:var(--font-en);letter-spacing:-.02em;margin-top:1.4rem;font-size:clamp(2.6rem,6.4vw,5.2rem);font-weight:700;line-height:1.06}.hl{color:var(--blue);display:inline-block;position:relative}.hl:after{content:"";background:var(--lemon);z-index:-1;border-radius:3px;height:.34em;position:absolute;bottom:.04em;left:-.06em;right:-.06em;rotate:-1deg}.body-cn{color:var(--ink-60);max-width:34em;margin-top:1.6rem;font-size:clamp(1.05rem,1rem + .5vw,1.3rem)}.rise{opacity:0;transition:opacity .55s var(--ease-out), transform .8s var(--bounce);transition-delay:calc(var(--i,0) * .11s);transform:translateY(44px)scale(.96)}.in-view .rise{opacity:1;transform:none}.hero .rise{transition-delay:calc(var(--i,0) * .11s + .1s)}.hero{align-items:stretch}.hero-ui{width:100%;padding-top:clamp(96px,15vh,150px);position:relative}.hero .kicker{position:absolute;top:clamp(96px,15vh,150px);left:0}.hero-tagline{font-size:clamp(1.3rem,2.2vw,1.9rem);font-weight:700;line-height:1.5;position:absolute;bottom:clamp(90px,16vh,150px);left:0}.hero-tagline em{font-family:var(--font-en);color:var(--ink-60);letter-spacing:0;font-size:.72em;font-style:normal;font-weight:400}.scroll-hint{color:var(--blue);flex-direction:column;align-items:center;gap:.35rem;font-size:11px;display:flex;position:absolute;bottom:2.2rem;left:50%;transform:translate(-50%)}.scroll-hint i{border-right:2.5px solid var(--blue);border-bottom:2.5px solid var(--blue);width:11px;height:11px;animation:hint-dip 1.5s var(--bounce) infinite;transform:rotate(45deg)}@keyframes hint-dip{0%,to{opacity:.5;translate:0}50%{opacity:1;translate:0 7px}}.drag-hint{right:var(--pad-x);color:var(--ink-60);align-items:center;gap:.55rem;font-size:11px;display:inline-flex;position:absolute;bottom:clamp(90px,16vh,150px)}.drag-dot{background:var(--ribbon);border-radius:50%;width:12px;height:12px;animation:1.6s ease-in-out infinite drag-pulse}@keyframes drag-pulse{0%,to{opacity:1;scale:1}50%{opacity:.6;scale:1.5}}@media (width<=768px){.drag-hint{display:none}}.drag-zone{cursor:grab;touch-action:none;width:52%;height:78%;position:absolute;top:8%;right:0}.drag-zone.dragging{cursor:grabbing}.links .scene-inner{width:min(1060px,100%)}.link-cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.4rem;margin-top:2.8rem;display:grid}.link-card{border:2.5px solid var(--ink);border-radius:var(--r-card);box-shadow:var(--shadow-1);transition:box-shadow .3s var(--ease-out), translate .35s var(--bounce);background:#fff;gap:.3rem;padding:1.6rem 1.5rem 1.4rem;display:grid;position:relative}.link-card:hover{box-shadow:var(--shadow-2);translate:0 -6px}.link-card:hover .lc-arrow{opacity:1;translate:4px -4px;rotate:0deg}.lc-index{color:var(--blue);font-size:11px}.lc-name{font-family:var(--font-en);letter-spacing:-.01em;font-size:1.5rem;font-weight:700}.lc-cn{color:var(--ink-60);font-size:.92rem}.lc-arrow{border:2.5px solid var(--ink);width:34px;height:34px;color:var(--ink);opacity:0;transition:translate .3s var(--bounce), rotate .3s var(--bounce), opacity .25s;border-radius:50%;place-items:center;display:grid;position:absolute;top:1.4rem;right:1.3rem;rotate:45deg}.lc-arrow svg{width:16px;height:16px}.link-card:hover .lc-arrow{background:var(--lemon)}.links-note{color:var(--ink-60);margin-top:1.4rem;font-size:11px}.contact{flex-direction:column;justify-content:center;align-items:stretch}.contact .scene-inner{text-align:left}.contact-big{font-family:var(--font-cn);letter-spacing:.01em;margin-top:1.4rem;font-size:clamp(2.8rem,7vw,6rem);font-weight:700;line-height:1.18}.contact-mail{background:var(--blue);color:#fff;box-shadow:5px 6px 0 var(--lemon);transition:translate .3s var(--bounce), box-shadow .3s;border-radius:999px;align-items:center;gap:1.1rem;margin-top:2.4rem;padding:.9rem 1.9rem;display:inline-flex}.contact-mail:hover{box-shadow:8px 10px 0 var(--lemon);translate:0 -4px}.contact-mail span{opacity:.75;font-size:10px}.contact-mail b{font-family:var(--font-en);letter-spacing:-.01em;font-size:clamp(1.05rem,2vw,1.4rem)}.footer{margin-top:auto;padding-top:3rem;position:relative}.footer-outline{text-align:center;font-family:var(--font-en);letter-spacing:-.01em;color:#0000;-webkit-text-stroke:2px color-mix(in oklch, var(--blue) 34%, white);-webkit-user-select:none;user-select:none;white-space:nowrap;font-size:clamp(4rem,13.5vw,13rem);font-weight:700;line-height:.95;display:block}.footer-line{text-align:center;color:var(--ink-60);padding:1.2rem 0 1.6rem;font-size:10.5px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.rise{opacity:1;transform:none}}
