:root{--black: #050505;--white: #f2f2f0;--dim: rgba(242, 242, 240, .45);--line: rgba(242, 242, 240, .14);--grad: linear-gradient(100deg, #37e6e0 0%, #7b5cff 48%, #ff3ec8 100%);--serif: "Playfair Display", "Noto Serif SC", "Songti SC", serif;--mono: "Space Mono", "JetBrains Mono", ui-monospace, monospace}*{margin:0;padding:0;box-sizing:border-box}html,body{background:var(--black);color:var(--white);font-family:var(--mono);overflow-x:hidden}@media (hover: hover) and (pointer: fine){html,body,a,button{cursor:none}}::selection{background:#ff3ec8;color:#050505}a{color:inherit;text-decoration:none}.noise{position:fixed;top:-50%;right:-50%;bottom:-50%;left:-50%;width:200%;height:200%;pointer-events:none;z-index:9990;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain .6s steps(4) infinite}@keyframes grain{0%{transform:translate(0)}25%{transform:translate(-2%,1%)}50%{transform:translate(1%,-2%)}75%{transform:translate(-1%,2%)}to{transform:translate(2%,-1%)}}.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;pointer-events:none;z-index:9999;border-radius:50%;transform:translate(-50%,-50%)}.cursor-dot{width:6px;height:6px;background:var(--white)}.cursor-ring{width:36px;height:36px;border:1px solid rgba(242,242,240,.5);transition:width .25s ease,height .25s ease,border-color .25s ease,background .25s ease}.cursor-ring.is-active{width:72px;height:72px;border-color:transparent;background:linear-gradient(100deg,#37e6e02e,#ff3ec82e);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@media (hover: none){.cursor-dot,.cursor-ring{display:none}}.display{font-family:var(--serif);font-weight:900;line-height:.92;letter-spacing:-.02em}.mono-tag{font-family:var(--mono);font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--dim)}.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.hero{position:relative;height:100svh;overflow:hidden}.hero-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.hero-inner{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center;padding:0 6vw;pointer-events:none}.hero-word{font-size:clamp(72px,17vw,300px);will-change:transform}.hero-word.right{text-align:right}.hero-sub{margin-top:4vh;display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}.hero-scroll-hint{position:absolute;bottom:28px;left:50%;transform:translate(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:10px}.hero-scroll-hint .bar{width:1px;height:56px;background:var(--line);overflow:hidden;position:relative}.hero-scroll-hint .bar:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--grad);animation:drip 1.8s ease-in-out infinite}@keyframes drip{0%{transform:translateY(-100%)}60%,to{transform:translateY(100%)}}.topbar{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:22px 6vw;mix-blend-mode:difference}.topbar .logo{font-family:var(--serif);font-weight:900;font-size:20px;letter-spacing:.04em}.topbar nav{display:flex;gap:32px}.manifesto{padding:22vh 6vw;max-width:1200px;margin:0 auto}.manifesto p{font-family:var(--serif);font-weight:600;font-size:clamp(28px,4.6vw,64px);line-height:1.35}.manifesto .w{opacity:.12;transition:opacity .4s ease;display:inline-block}.manifesto .w.lit{opacity:1}.manifesto .w.accent.lit{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.gallery{padding:10vh 6vw 16vh}.gallery-head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:8vh;flex-wrap:wrap;gap:12px}.gallery-head h2{font-size:clamp(40px,7vw,110px)}.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:6vh 3vw}.card{grid-column:span 5;position:relative;display:block}.card:nth-child(4n+2){grid-column:7 / span 5;margin-top:14vh}.card:nth-child(4n+3){grid-column:2 / span 4}.card:nth-child(4n){grid-column:8 / span 4;margin-top:10vh}.card:nth-child(4n+1){grid-column:1 / span 6}.card-frame{position:relative;aspect-ratio:4 / 3;overflow:hidden;background:#0b0b0d;border:1px solid var(--line);transform-style:preserve-3d;transition:border-color .4s ease}.card:hover .card-frame{border-color:#f2f2f066}.card-frame canvas{width:100%;height:100%;display:block;transition:transform .6s cubic-bezier(.2,.8,.2,1)}.card:hover .card-frame canvas{transform:scale(1.06)}.card-meta{display:flex;justify-content:space-between;align-items:baseline;margin-top:14px;gap:12px}.card-title{font-family:var(--serif);font-weight:700;font-size:clamp(20px,2.2vw,32px)}.card-no{font-size:clamp(40px,5vw,72px);font-family:var(--serif);font-weight:900;position:absolute;top:-.5em;right:12px;z-index:2;color:transparent;-webkit-text-stroke:1px rgba(242,242,240,.35);pointer-events:none}.footer{padding:18vh 6vw 8vh;text-align:center;position:relative}.footer .dive{font-size:clamp(56px,12vw,220px);display:inline-block;transition:letter-spacing .5s ease}.footer .dive:hover{letter-spacing:.06em}.footer .foot-line{margin-top:10vh;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;flex-wrap:wrap;gap:10px}.footer .beian{margin-top:18px;display:flex;justify-content:center;gap:28px;flex-wrap:wrap;opacity:.35;transition:opacity .3s}.footer .beian:hover{opacity:.7}.footer .beian a{font-size:10px}.about{min-height:100svh;padding:18vh 6vw 12vh}.about h1{font-size:clamp(48px,10vw,170px);margin-bottom:8vh}.about .row{display:grid;grid-template-columns:1fr 2fr;gap:4vw;border-top:1px solid var(--line);padding:5vh 0}.about .row p{font-size:15px;line-height:2;color:#f2f2f0bf;max-width:60ch}.exp-page{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--black);z-index:50}.exp-stage{position:absolute;top:0;right:0;bottom:0;left:0}.exp-stage canvas{width:100%;height:100%;display:block}.exp-hud{position:absolute;z-index:60;pointer-events:none;font-family:var(--mono)}.exp-hud.tl{top:22px;left:6vw}.exp-hud.tr{top:22px;right:6vw;text-align:right}.exp-hud.bc{bottom:26px;left:50%;transform:translate(-50%);text-align:center}.exp-title{font-family:var(--serif);font-weight:900;font-size:clamp(22px,3vw,40px)}.exp-hud .tags{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap;justify-content:inherit}.exp-hud .tag{font-size:10px;letter-spacing:.2em;border:1px solid var(--line);padding:4px 10px;color:var(--dim);text-transform:uppercase}.exp-back{pointer-events:auto;display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.2em;color:var(--white);background:none;border:1px solid var(--line);padding:10px 18px;transition:background .3s,color .3s;font-family:var(--mono)}.exp-back:hover{background:var(--white);color:var(--black)}.exp-nav{pointer-events:auto;display:flex;gap:12px;justify-content:center;margin-top:12px}.exp-nav a{border:1px solid var(--line);width:40px;height:40px;display:grid;place-items:center;transition:background .3s,color .3s}.exp-nav a:hover{background:var(--white);color:var(--black)}.exp-hint{font-size:11px;letter-spacing:.25em;color:var(--dim);text-transform:uppercase}.exp-fade-in{animation:expIn .7s cubic-bezier(.2,.8,.2,1) both}@keyframes expIn{0%{opacity:0;transform:scale(1.02)}to{opacity:1;transform:none}}@media (max-width: 768px){.gallery-grid{gap:9vh 0}.card,.card:nth-child(n){grid-column:1 / -1;margin-top:0}.about .row{grid-template-columns:1fr;gap:16px}.topbar nav{gap:18px}.exp-hud.tr{display:none}}.preloader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:grid;place-items:center;pointer-events:none}.preloader .curtain{position:absolute;top:0;bottom:0;width:50.5%;background:var(--black);transition:transform 1s cubic-bezier(.85,0,.15,1)}.preloader .curtain.l{left:0}.preloader .curtain.r{right:0}.preloader.open .curtain.l{transform:translate(-101%)}.preloader.open .curtain.r{transform:translate(101%)}.preloader .count-wrap{position:relative;z-index:2;text-align:center;transition:opacity .3s}.preloader.open .count-wrap{opacity:0}.preloader .count{font-size:clamp(90px,20vw,260px);font-variant-numeric:tabular-nums}.preloader .boot{margin-top:12px;min-height:1.2em}.marquee{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;white-space:nowrap;-webkit-user-select:none;user-select:none}.marquee .track{display:inline-flex;gap:3em;animation:marquee 28s linear infinite;will-change:transform}.marquee.reverse .track{animation-direction:reverse}.marquee span{font-family:var(--serif);font-weight:700;font-size:clamp(18px,2.4vw,34px);color:transparent;-webkit-text-stroke:1px rgba(242,242,240,.4)}.marquee span.fill{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-stroke:0}@keyframes marquee{to{transform:translate(-50%)}}.hero-word{transition:transform .3s ease-out}.hero-word:hover{animation:glitch .35s steps(2) infinite}@keyframes glitch{0%{transform:translate(0);clip-path:inset(0)}20%{transform:translate(-6px,3px) skew(-4deg);clip-path:inset(12% 0 60% 0)}40%{transform:translate(5px,-4px);clip-path:inset(55% 0 8% 0)}60%{transform:translate(-3px,2px) skew(3deg);clip-path:inset(30% 0 40% 0)}80%{transform:translate(4px,-2px);clip-path:inset(5% 0 75% 0)}to{transform:translate(0);clip-path:inset(0)}}.scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:200;background:var(--grad);transform-origin:left;transform:scaleX(0)}.stats{padding:16vh 6vw;border-top:1px solid var(--line)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4vh 3vw;margin-top:8vh}.stat-cell{border-left:1px solid var(--line);padding-left:22px}.stat-num{font-family:var(--serif);font-weight:900;font-size:clamp(38px,4.6vw,76px);font-variant-numeric:tabular-nums;line-height:1;display:block}.stat-label{margin-top:14px;display:block}.card-stage{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;transition:transform .6s cubic-bezier(.2,.8,.2,1)}.card:hover .card-stage{transform:scale(1.06)}.card-hint{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:grid;place-items:center;background:#0505056b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;transition:opacity .35s ease;pointer-events:none}.card:hover .card-hint{opacity:1}.card-hint span{font-family:var(--mono);font-size:13px;letter-spacing:.3em;padding:12px 24px;border:1px solid rgba(242,242,240,.5);background:#05050599;transform:translateY(8px);transition:transform .35s ease}.card:hover .card-hint span{transform:translateY(0)}.behind{padding:16vh 6vw;border-top:1px solid var(--line)}.behind-row{display:grid;grid-template-columns:1.2fr 1fr;gap:5vw;align-items:center;padding:9vh 0;border-bottom:1px solid var(--line)}.behind-row:nth-child(2n){direction:rtl}.behind-row>*{direction:ltr}.code-block{background:#0a0a0d;border:1px solid var(--line);padding:26px;font-size:12.5px;line-height:1.9;overflow-x:auto;min-height:200px;color:#f2f2f0d9}.code-block .k{color:#37e6e0}.code-block .s{color:#ff3ec8}.code-block .c{color:#f2f2f059}.code-block .caret{display:inline-block;width:8px;background:var(--white);animation:blink .9s steps(1) infinite}@keyframes blink{50%{opacity:0}}.behind-info h3{font-size:clamp(28px,3.4vw,52px);margin:12px 0 20px}.behind-info p{color:#f2f2f0b3;line-height:2;font-size:14px;max-width:46ch}.behind-link{display:inline-block;margin-top:24px;border-bottom:1px solid var(--white);padding-bottom:4px;font-size:12px;letter-spacing:.2em}.changelog{padding:16vh 6vw;border-top:1px solid var(--line)}.log-list{margin-top:8vh;border-left:1px solid var(--line)}.log-item{position:relative;padding:0 0 6vh 40px}.log-item:before{content:"";position:absolute;left:-5px;top:8px;width:9px;height:9px;border-radius:50%;background:var(--grad)}.log-item h4{font-family:var(--serif);font-size:clamp(20px,2.4vw,34px);margin:6px 0 10px}.log-item p{color:#f2f2f0a6;font-size:13.5px;line-height:1.9;max-width:62ch}.guest{position:relative;border-top:1px solid var(--line)}.guest-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.guest-inner{position:relative;z-index:2;padding:20vh 6vw;text-align:center;pointer-events:none}.guest-inner .visitor{font-size:clamp(44px,8vw,130px)}.guest-inner .tap-hint{margin-top:3vh}.console{position:absolute;right:20px;bottom:90px;z-index:70;width:240px;background:#08080ad1;border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-family:var(--mono);transition:transform .4s cubic-bezier(.2,.8,.2,1),opacity .4s}.console.closed{transform:translateY(12px);opacity:0;pointer-events:none}.console-head{display:flex;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.25em;color:var(--dim)}.console-body{padding:14px;display:flex;flex-direction:column;gap:14px;max-height:46vh;overflow-y:auto}.ctl label{display:flex;justify-content:space-between;font-size:11px;margin-bottom:6px}.ctl output{color:#37e6e0}.ctl input[type=range]{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:2px;background:var(--line);outline:none}.ctl input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--white);border:2px solid var(--black);box-shadow:0 0 0 1px var(--white)}.console-toggle{position:absolute;right:20px;bottom:30px;z-index:71;background:#08080ad1;border:1px solid var(--line);color:var(--white);font-family:var(--mono);font-size:10px;letter-spacing:.25em;padding:10px 16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.console-toggle:hover{background:var(--white);color:var(--black)}.exp-fade-in{animation:shutter .8s cubic-bezier(.85,0,.15,1) both}@keyframes shutter{0%{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}body.glitch-mode #root{animation:siteGlitch .4s steps(2) infinite}@keyframes siteGlitch{0%{filter:none;transform:translate(0)}25%{filter:hue-rotate(90deg) saturate(2);transform:translate(-3px,2px)}50%{filter:invert(.08) hue-rotate(-60deg);transform:translate(3px,-2px)}75%{filter:saturate(3) contrast(1.2);transform:translate(-2px,-3px)}to{filter:none;transform:translate(0)}}@media (max-width: 768px){.stats-grid{grid-template-columns:1fr 1fr}.behind-row{grid-template-columns:1fr}.console{right:12px;left:12px;width:auto;bottom:96px}}
