@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Playfair+Display:ital,wght@1,400;1,500;1,600&display=swap";*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Inter,sans-serif;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.inset-0{inset:0}.block{display:block}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.bg-cover{background-size:cover}.bg-center{background-position:50%}.bg-no-repeat{background-repeat:no-repeat}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#020408;--text:#e8e8e8;--text-muted:#8a8a8a;--text-soft:#555;--border:#1a1a24;--neon-purple:#a855f7;--neon-cyan:#22d3ee;--neon-orange:#f97316}@property --seq-r{syntax:'<number>';initial-value:220;inherits:true}@property --seq-g{syntax:'<number>';initial-value:70;inherits:true}@property --seq-b{syntax:'<number>';initial-value:60;inherits:true}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;scroll-snap-type:y mandatory;scroll-padding-top:3.25rem}body{background:var(--bg);color:var(--text);font-family:Inter,SF Pro Text,PingFang SC,Microsoft YaHei,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6;overflow-x:hidden}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#1e1e2e;border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--neon-purple)}.font-playfair{font-family:Playfair Display,serif}#particleCanvas{z-index:0;pointer-events:none;position:fixed;inset:0}.scanlines{z-index:1;pointer-events:none;opacity:.5;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#00000008 2px 4px);position:fixed;inset:0}.mouse-glow{pointer-events:none;z-index:2;opacity:0;background:radial-gradient(circle,#a855f70f 0%,#22d3ee08 35%,#0000 70%);border-radius:50%;width:600px;height:600px;position:fixed;transform:translate(-50%,-50%);will-change:transform,opacity;contain:layout style paint}.hero-section{background:var(--bg);scroll-snap-align:start;scroll-snap-stop:always;text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100dvh;padding:2rem;display:flex;position:relative;overflow:hidden;contain:layout style paint}.hero-aura{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.hero-aura:before,.hero-aura:after{content:"";filter:blur(120px);border-radius:50%;animation:8s ease-in-out infinite auraDrift;position:absolute;will-change:transform,opacity}.hero-aura:before{background:radial-gradient(circle,#a855f71f,#0000 60%);width:70vw;height:70vw;animation-delay:0s;top:-20%;left:10%;will-change:transform,opacity}.hero-aura:after{background:radial-gradient(circle,#22d3ee14,#0000 60%);width:60vw;height:60vw;animation-delay:-4s;bottom:-15%;right:5%;will-change:transform,opacity}@keyframes auraDrift{0%,to{transform:translate(0)scale(1)}25%{transform:translate(3vw,-2vh)scale(1.15)}50%{transform:translate(-2vw,4vh)scale(.9)}75%{transform:translate(-4vw,-3vh)scale(1.1)}}.cyber-grid{z-index:0;pointer-events:none;perspective:500px;height:40%;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.cyber-grid:before{content:"";transform-origin:bottom;background-color:#0000;background-image:linear-gradient(90deg,#a855f70f 1px,#0000 1px),linear-gradient(0deg,#22d3ee0a 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:60px 40px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;animation:4s ease-in-out infinite gridPulse;position:absolute;inset:0;transform:rotateX(60deg)scaleY(2.5);-webkit-mask-image:linear-gradient(#0000,#0009);mask-image:linear-gradient(#0000,#0009);will-change:opacity,transform;backface-visibility:hidden}@keyframes gridPulse{0%,to{opacity:.6}50%{opacity:1}}.hero-title{letter-spacing:-.04em;z-index:10;margin:0;font-size:clamp(3.5rem,10vw,8rem);font-weight:900;line-height:1.3;position:relative;overflow:visible}.hero-title .accent{background:linear-gradient(135deg, var(--neon-purple) 0%, var(--neon-cyan) 40%, #a78bfa 65%, var(--neon-orange) 100%);-webkit-text-fill-color:transparent;background-size:300% 300%;-webkit-background-clip:text;background-clip:text;animation:4s ease-in-out infinite hologramShimmer;display:inline-block;position:relative}@keyframes hologramShimmer{0%,to{background-position:0%}50%{background-position:100%}}.hero-title.glitching .accent{animation:.25s steps(5,end) forwards glitchText}.hero-sub.glitching{animation:.2s steps(4,end) forwards glitchTextSub}@keyframes glitchText{0%{clip-path:inset(0);transform:translate(0)}20%{clip-path:inset(20% 0 60%);transform:translate(-6px,2px)}40%{clip-path:inset(50% 0 15%);transform:translate(8px,-2px)}60%{clip-path:inset(10% 15% 60% 10%);transform:translate(-10px,3px)}80%{clip-path:inset(65% 0 0);transform:translate(6px,-4px)}to{clip-path:inset(0);transform:translate(0)}}@keyframes glitchTextSub{0%{clip-path:inset(0);opacity:1;transform:translate(0)}25%{clip-path:inset(30% 0 40% 20%);opacity:.7;transform:translate(12px,-2px)}50%{clip-path:inset(0 15% 50%);opacity:1;transform:translate(-8px,3px)}75%{clip-path:inset(60% 0 0);opacity:.6;transform:translate(-5px,-1px)}to{clip-path:inset(0);opacity:1;transform:translate(0)}}.hero-sub{color:#ffffffbf;letter-spacing:-.04em;z-index:10;margin-top:-2rem;font-size:clamp(2.5rem,8vw,6rem);font-weight:800;line-height:.95;position:relative}.hero-section:after{content:"";pointer-events:none;z-index:0;background-color:#0000;background-image:linear-gradient(90deg,#a855f70d 1px,#0000 1px),linear-gradient(#22d3ee0d 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:80px 80px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 60%,#0000004d,#0000 70%);mask-image:radial-gradient(80% 60%,#0000004d,#0000 70%)}.scroll-hint{z-index:10;opacity:0;cursor:pointer;flex-direction:column;align-items:center;gap:5px;display:flex;position:absolute;bottom:4.5rem;left:50%;transform:translate(-50%);will-change:transform,opacity}.scroll-hint.visible{animation:.8s .8s forwards hintEnter,2.5s ease-in-out 1.6s infinite hintFloat}@keyframes hintEnter{0%{opacity:0}to{opacity:1}}@keyframes hintFloat{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(-8px)}}.scroll-hint span{text-transform:uppercase;letter-spacing:.16em;color:#ffffff80;font-size:10px}.scroll-hint svg{opacity:.4;filter:drop-shadow(0 0 6px #a855f766);width:18px;height:18px}.glitch-overlay{z-index:200;pointer-events:none;opacity:0;position:fixed;inset:0;overflow:hidden;will-change:opacity,transform}#glitchNoise{opacity:0;mix-blend-mode:screen;position:absolute;inset:0;will-change:opacity}.glitch-purity{opacity:0;background:radial-gradient(70% 50%,#dc28b459,#3cb43c2e 35%,#1ec8c81f 60%,#0000);position:absolute;inset:0;will-change:opacity,transform}.glitch-humbar{opacity:0;background:linear-gradient(#0000 0%,#00000059 25%,#ffffff14 40%,#0006 50%,#0000001a 70%,#0000 100%);height:30%;position:absolute;left:0;right:0;will-change:opacity,top}.glitch-squeeze{opacity:0;background:0 0;position:absolute;inset:0;will-change:opacity,clip-path}.glitch-fringe{opacity:0;filter:blur(25px);background:radial-gradient(35% 25% at 10% 8%,#dc1eb44d,#0000 55%),radial-gradient(30% 22% at 90% 92%,#1ec81e40,#0000 55%),radial-gradient(25% 30% at 85% 5%,#3c8cdc38,#0000 50%),radial-gradient(20% 20% at 5% 90%,#c8b41e33,#0000 50%);position:absolute;inset:0;will-change:opacity}.glitch-arc{opacity:0;background:#ffffff73;height:4px;position:absolute;left:0;right:0;box-shadow:0 0 40px #ffffff80,0 0 12px #c8b4ff99,0 2px #ffffff4d;will-change:opacity,height,top}.glitch-overlay.fire{animation:.35s ease-out forwards crtShake}.glitch-overlay.fire #glitchNoise{animation:.35s ease-out forwards crtNoise;will-change:opacity}.glitch-overlay.fire .glitch-purity{animation:.35s ease-out forwards crtPurity;will-change:opacity,transform}.glitch-overlay.fire .glitch-humbar{animation:.35s ease-out forwards crtHumbar;will-change:opacity,top}.glitch-overlay.fire .glitch-squeeze{animation:.35s ease-out forwards crtSqueeze;will-change:opacity,clip-path}.glitch-overlay.fire .glitch-fringe{animation:.35s ease-out forwards crtFringe;will-change:opacity}.glitch-overlay.fire .glitch-arc{animation:.35s ease-out forwards crtArc;will-change:opacity,height,top}@keyframes crtShake{0%{opacity:1}3%{transform:translate(8px,-4px)}6%{transform:translate(-16px,6px)}9%{transform:translate(4px)}12%{transform:translate(-22px,10px)}15%{transform:translate(16px,-7px)}18%{transform:translate(-5px,-3px)}21%{transform:translate(10px,5px)}24%{transform:translateY(-10px)}27%{transform:translate(-14px,3px)}30%{transform:translate(6px,-4px)}35%{transform:translate(-8px)}40%{transform:translate(20px,8px)}45%{transform:translate(-12px,-6px)}50%{transform:translate(5px,3px)}55%{transform:translate(-6px,-1px)}60%{transform:translate(3px,2px)}70%{transform:translate(-2px)}85%{opacity:.1;transform:translate(0)}to{opacity:0;transform:translate(0)}}@keyframes crtNoise{0%{opacity:0}5%{opacity:.6}10%{opacity:.25}15%{opacity:.55}20%{opacity:.15}25%{opacity:.5}30%{opacity:.1}35%{opacity:.45}40%{opacity:.2}45%{opacity:.4}50%{opacity:.08}55%{opacity:.35}60%{opacity:.15}65%{opacity:.3}72%{opacity:.05}80%{opacity:.15}90%{opacity:0}to{opacity:0}}@keyframes crtPurity{0%{opacity:0;transform:scale(.6)}6%{opacity:1;transform:scale(1)}10%{opacity:0;transform:scale(1.2)}18%{opacity:.9;transform:scale(.85)}22%{opacity:0;transform:scale(1.1)}30%{opacity:.8;transform:scale(.95)}35%{opacity:0;transform:scale(1.05)}42%{opacity:.6;transform:scale(1)}48%{opacity:0}55%{opacity:.5;transform:scale(.9)}62%{opacity:0}70%{opacity:.3;transform:scale(1)}80%{opacity:0}to{opacity:0}}@keyframes crtHumbar{0%{opacity:0;top:0%}5%{opacity:.8;top:5%}12%{opacity:.4;top:20%}20%{opacity:.9;top:35%}28%{opacity:.3;top:50%}35%{opacity:.8;top:62%}42%{opacity:.2;top:72%}50%{opacity:.7;top:82%}58%{opacity:.1;top:92%}65%{opacity:0;top:100%}to{opacity:0;top:100%}}@keyframes crtSqueeze{0%{opacity:0;clip-path:inset(0)}5%{opacity:1;clip-path:inset(12% 0 18%)}8%{opacity:1;clip-path:inset(0)}15%{opacity:.9;clip-path:inset(6% 0 8%)}18%{opacity:0;clip-path:inset(0)}25%{opacity:.8;clip-path:inset(3% 0)}28%{opacity:0;clip-path:inset(0)}40%{opacity:.6;clip-path:inset(8% 0 12%)}44%{opacity:0;clip-path:inset(0)}55%{opacity:.4;clip-path:inset(2% 0)}60%{opacity:0;clip-path:inset(0)}to{opacity:0;clip-path:inset(0)}}@keyframes crtFringe{0%{opacity:0}6%{opacity:1}12%{opacity:.3}18%{opacity:.9}24%{opacity:0}30%{opacity:.7}36%{opacity:.2}42%{opacity:.8}48%{opacity:0}55%{opacity:.5}62%{opacity:0}70%{opacity:.4}78%{opacity:0}to{opacity:0}}@keyframes crtArc{0%{opacity:0;height:4px;top:30%}4%{opacity:1;height:6px;top:40%}7%{opacity:0;top:45%}12%{opacity:.9;height:3px;top:55%}15%{opacity:0;top:60%}20%{opacity:.8;height:5px;top:25%}23%{opacity:0;top:30%}28%{opacity:.7;height:4px;top:50%}31%{opacity:0;top:52%}38%{opacity:.6;height:3px;top:70%}42%{opacity:0;top:72%}50%{opacity:.4;height:2px;top:35%}55%{opacity:0}65%{opacity:.3;height:3px;top:65%}70%{opacity:0}to{opacity:0}}@keyframes lithosReveal{0%{opacity:0;filter:blur(12px);transform:translateY(28px)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes lithosFadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.lithos-anim{opacity:0;animation-timing-function:cubic-bezier(.16,1,.3,1);animation-fill-mode:forwards;will-change:opacity,filter,transform}.lithos-reveal{animation-name:lithosReveal;animation-duration:1.1s}.lithos-fade{animation-name:lithosFadeUp;animation-duration:1s}.sticky-nav{z-index:100;-webkit-backdrop-filter:blur(24px)saturate(180%);background:#04050ac7;border-top:1px solid #a855f714;border-bottom:1px solid #a855f714;margin-top:-3.25rem;padding:.625rem 1.5rem;transition:box-shadow .6s,background .6s,border-color .6s;position:sticky;top:0;box-shadow:0 1px 40px #a855f70d}.sticky-nav:after{content:"";background:linear-gradient(90deg, transparent, var(--neon-purple) 20%, var(--neon-cyan) 50%, var(--neon-purple) 80%, transparent);opacity:0;filter:blur();height:2px;transition:opacity .5s,transform .7s cubic-bezier(.34,1.56,.64,1),filter .5s;position:absolute;bottom:-2px;left:5%;right:5%;transform:scaleX(.2);will-change:opacity,transform}.sticky-nav:before{content:"";background:linear-gradient(90deg, transparent, var(--neon-purple), var(--neon-cyan), transparent);opacity:0;filter:blur(4px);height:2px;transition:opacity .5s,transform .7s cubic-bezier(.34,1.56,.64,1),filter .5s;position:absolute;bottom:-6px;left:10%;right:10%;transform:scaleX(.1);will-change:opacity,transform}.sticky-nav.pinned{background:#04050aeb;border-bottom-color:#a855f72e;box-shadow:0 4px 60px #a855f71f,inset 0 1px #a855f714,0 -20px 40px #020408cc}.sticky-nav.pinned:after{opacity:1;filter:blur();transform:scaleX(1);will-change:opacity,transform}.sticky-nav.pinned:before{opacity:.6;filter:blur(6px);transform:scaleX(1);will-change:opacity,transform}.nav-inner{justify-content:space-between;align-items:center;gap:1rem;max-width:1600px;margin:0 auto;display:flex}.nav-brand{letter-spacing:-.02em;color:var(--text);flex-shrink:0;font-size:1rem;font-weight:700;text-decoration:none}.nav-brand span{background:linear-gradient(135deg, var(--neon-purple), var(--neon-cyan), var(--neon-orange));-webkit-text-fill-color:transparent;background-size:200% 200%;-webkit-background-clip:text;background-clip:text;animation:3s ease-in-out infinite hologramShimmer}.nav-links{-ms-overflow-style:none;scrollbar-width:none;flex-wrap:wrap;gap:6px;display:flex;overflow-x:auto}.nav-links::-webkit-scrollbar{display:none}.nav-link{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:100px;flex-shrink:0;padding:5px 14px;font-family:inherit;font-size:12px;line-height:1.4;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.nav-link:before{content:"";opacity:0;background:linear-gradient(135deg,#a855f726,#22d3ee14);border-radius:100px;transition:opacity .4s;position:absolute;inset:0}.nav-link:hover{color:var(--text);border-color:#a855f766}.nav-link:hover:before{opacity:1}.nav-link.active{background:linear-gradient(135deg, var(--neon-purple), #7c3aed);color:#fff;border-color:#0000;transition:all .3s cubic-bezier(.4,0,.2,1);animation:2s ease-in-out infinite neonPulse;box-shadow:0 0 20px #a855f766,0 0 40px #a855f726,inset 0 1px #ffffff26;will-change:box-shadow}@keyframes neonPulse{0%,to{box-shadow:0 0 20px #a855f766,0 0 40px #a855f726,inset 0 1px #ffffff26}50%{box-shadow:0 0 30px #a855f799,0 0 60px #a855f740,0 0 80px #a855f71a,inset 0 1px #ffffff26}}.showcase{z-index:3;scroll-snap-align:start;scroll-snap-stop:always;display:none;position:relative}.showcase.active{animation:1s cubic-bezier(.16,1,.3,1) showcaseReveal;display:block;will-change:opacity,filter}@keyframes showcaseReveal{0%{opacity:0;filter:blur(10px)brightness(1.3)}50%{opacity:.85;filter:blur(3px)brightness(1.05)}to{opacity:1;filter:blur(0px)brightness(1)}}@keyframes svgPulse{0%,to{opacity:.4}50%{opacity:1}}@keyframes svgPulseScale{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}@keyframes svgSpinSlow{to{transform:rotate(360deg)}}@keyframes svgFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes svgBreathe{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.03)}}@keyframes svgDrawIn{to{stroke-dashoffset:0}}@keyframes svgDashFlow{to{stroke-dashoffset:-100px}}@keyframes svgShiftUp{0%,to{transform:translateY(0)}25%{transform:translateY(-25px)}75%{transform:translateY(25px)}}@keyframes svgShiftDown{0%,to{transform:translateY(0)}25%{transform:translateY(25px)}75%{transform:translateY(-25px)}}@keyframes seqRedGreen{0%,20%{background-color:#200e0e;--seq-r:220;--seq-g:70;--seq-b:60}50%,70%{background-color:#0e200e;--seq-r:40;--seq-g:180;--seq-b:60}to{background-color:#200e0e;--seq-r:220;--seq-g:70;--seq-b:60}}@keyframes morphXtoCheckA{0%,20%{d:path("M8,8 L16,16")}50%,70%{d:path("M7,12 L11,15")}to{d:path("M8,8 L16,16")}}@keyframes morphXtoCheckB{0%,20%{d:path("M16,8 L8,16")}50%,70%{d:path("M11,15 L17,8")}to{d:path("M16,8 L8,16")}}.showcase-banner{height:calc(100dvh - 3.5rem);transform-style:preserve-3d;perspective:1000px;justify-content:center;align-items:center;display:flex;position:relative}.showcase-bg{z-index:0;position:absolute;inset:0;overflow:hidden}.showcase-bg:after{content:"";background:linear-gradient(#0000000d 0%,#00000040 50%,#020408 100%);position:absolute;inset:0}.banner-art{z-index:0;opacity:.5;pointer-events:none;transition:opacity .5s;position:absolute;inset:0}.banner-content{z-index:2;text-align:center;will-change:transform;max-width:800px;padding:2rem;transition:transform .1s ease-out;position:relative;backface-visibility:hidden}.banner-project-name{letter-spacing:-.04em;background:linear-gradient(135deg,#fffffff2,#ffffffb3,#a855f799);-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 20px #a855f726);-webkit-background-clip:text;background-clip:text;margin-bottom:1rem;font-size:clamp(2.5rem,7vw,6rem);font-weight:900;line-height:1.3;overflow:visible}.banner-project-desc{opacity:.5;letter-spacing:.02em;max-width:500px;margin:0 auto;font-size:clamp(1rem,2vw,1.4rem);font-weight:300}.showcase-cta{color:#ffffff8c;cursor:pointer;letter-spacing:.05em;background:0 0;border:1px solid #ffffff1a;border-radius:100px;align-items:center;gap:10px;margin-top:2.5rem;padding:13px 36px;font-family:inherit;font-size:14px;font-weight:500;text-decoration:none;transition:all .5s cubic-bezier(.4,0,.2,1);display:inline-flex;position:relative;overflow:hidden;will-change:transform,box-shadow}.showcase-cta:before{content:"";background:linear-gradient(90deg,#0000,#ffffff0f 40%,#ffffff1a 50%,#ffffff0f 60%,#0000);width:100%;height:100%;transition:left .6s;position:absolute;top:0;left:-100%}.showcase-cta:hover:before{left:100%}.showcase-cta:hover{color:#fff;border-color:#ffffff59;transform:translateY(-3px);box-shadow:0 0 40px #ffffff0a,0 0 80px #ffffff05,0 8px 32px #00000080}.showcase-cta:active{transform:translateY(-1px)scale(.97)}.showcase-cta svg{opacity:.4;width:16px;height:16px;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.showcase-cta:hover svg{opacity:.8;transform:translate(4px)}.screen-flash{z-index:150;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 40%,#a855f74d,#22d3ee1a,#0000 70%);position:fixed;inset:0;will-change:opacity,transform}.screen-flash.fire{animation:.5s ease-out forwards flashBurst}@keyframes flashBurst{0%{opacity:0;transform:scale(.3)}30%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.5)}}@keyframes microGlitch0{0%{opacity:1;background-image:linear-gradient(#a855f7b3 15%,#22d3ee80 15% 20%,#0000 20%),linear-gradient(90deg,#f9731699 40%,#a855f780 40% 45%,#0000 45%),linear-gradient(#22d3eeb3 60%,#fff6 60% 62%,#0000 62%),linear-gradient(90deg,#a855f780 10%,#f9731680 10% 14%,#0000 14%)}33%{opacity:.05;background-image:linear-gradient(#f9731699 30%,#a855f799 30% 35%,#0000 35%),linear-gradient(90deg,#22d3eeb3 60%,#ffffff80 60% 65%,#0000 65%),linear-gradient(#a855f780 75%,#22d3ee66 75% 78%,#0000 78%)}66%{opacity:.75;background-image:linear-gradient(#a855f7b3 15%,#22d3ee80 15% 20%,#0000 20%),linear-gradient(90deg,#f9731699 40%,#a855f780 40% 45%,#0000 45%),linear-gradient(#22d3eeb3 60%,#fff6 60% 62%,#0000 62%),linear-gradient(90deg,#a855f780 10%,#f9731680 10% 14%,#0000 14%)}to{opacity:0;background-image:none}}@keyframes microGlitch1{0%{opacity:1;background-image:linear-gradient(#22d3ee99 5%,#ffffff55 5% 12%,#0000 12%),linear-gradient(90deg,#f9731699 55%,#22d3ee80 55% 62%,#0000 62%),linear-gradient(#a855f788 70%,#ffffff44 70% 75%,#0000 75%),linear-gradient(90deg,#22d3ee80 20%,#f9731680 20% 28%,#0000 28%)}33%{opacity:.08;background-image:linear-gradient(#a855f799 25%,#ffffff55 25% 35%,#0000 35%),linear-gradient(90deg,#22d3ee80 10%,#f9731699 10% 18%,#0000 18%),linear-gradient(#ffffff66 65%,#a855f788 65% 72%,#0000 72%)}66%{opacity:.7;background-image:linear-gradient(#22d3ee99 5%,#ffffff55 5% 12%,#0000 12%),linear-gradient(90deg,#f9731699 55%,#22d3ee80 55% 62%,#0000 62%),linear-gradient(#a855f788 70%,#ffffff44 70% 75%,#0000 75%),linear-gradient(90deg,#22d3ee80 20%,#f9731680 20% 28%,#0000 28%)}to{opacity:0;background-image:none}}@keyframes microGlitch2{0%{opacity:1;background-image:linear-gradient(#f97316a3 8%,#0000 8% 12%,#a855f788 12% 18%,#0000 18%),linear-gradient(90deg,#f9731699 35%,#ffffff55 35% 42%,#0000 42%),linear-gradient(#a855f799 55%,#f9731699 55% 60%,#0000 60%),linear-gradient(90deg,#22d3ee80 75%,#a855f780 75% 82%,#0000 82%)}33%{opacity:.04;background-image:linear-gradient(#22d3ee99 18%,#ffffff55 18% 25%,#0000 25%),linear-gradient(90deg,#a855f799 50%,#f9731699 50% 56%,#0000 56%),linear-gradient(#ffffff66 80%,#22d3ee80 80% 88%,#0000 88%)}66%{opacity:.65;background-image:linear-gradient(#f97316a3 8%,#0000 8% 12%,#a855f788 12% 18%,#0000 18%),linear-gradient(90deg,#f9731699 35%,#ffffff55 35% 42%,#0000 42%),linear-gradient(#a855f799 55%,#f9731699 55% 60%,#0000 60%),linear-gradient(90deg,#22d3ee80 75%,#a855f780 75% 82%,#0000 82%)}to{opacity:0;background-image:none}}@keyframes microGlitch3{0%{opacity:1;background-image:linear-gradient(#ffffff66 22%,#a855f799 22% 28%,#0000 28%),linear-gradient(90deg,#22d3ee88 45%,#ffffff55 45% 50%,#0000 50%),linear-gradient(#a855f788 65%,#22d3ee80 65% 70%,#0000 70%),linear-gradient(90deg,#ffffff55 85%,#f9731688 85% 90%,#0000 90%)}33%{opacity:.06;background-image:linear-gradient(#f9731699 12%,#ffffff55 12% 18%,#0000 18%),linear-gradient(90deg,#a855f799 40%,#22d3ee80 40% 48%,#0000 48%),linear-gradient(#ffffff66 75%,#f9731699 75% 80%,#0000 80%)}66%{opacity:.6;background-image:linear-gradient(#ffffff66 22%,#a855f799 22% 28%,#0000 28%),linear-gradient(90deg,#22d3ee88 45%,#ffffff55 45% 50%,#0000 50%),linear-gradient(#a855f788 65%,#22d3ee80 65% 70%,#0000 70%),linear-gradient(90deg,#ffffff55 85%,#f9731688 85% 90%,#0000 90%)}to{opacity:0;background-image:none}}@keyframes microGlitch4{0%{opacity:1;background-image:linear-gradient(#a855f7b3 3%,#a855f755 3% 8%,#0000 8%),linear-gradient(90deg,#a855f799 25%,#c084fc80 25% 32%,#0000 32%),linear-gradient(#a855f788 50%,#7c3aed99 50% 55%,#0000 55%),linear-gradient(90deg,#c084fc80 70%,#a855f770 70% 77%,#0000 77%)}33%{opacity:.07;background-image:linear-gradient(#7c3aed99 15%,#a855f755 15% 22%,#0000 22%),linear-gradient(90deg,#c084fc88 40%,#a855f799 40% 46%,#0000 46%),linear-gradient(#a855f780 65%,#7c3aed80 65% 70%,#0000 70%)}66%{opacity:.8;background-image:linear-gradient(#a855f7b3 3%,#a855f755 3% 8%,#0000 8%),linear-gradient(90deg,#a855f799 25%,#c084fc80 25% 32%,#0000 32%),linear-gradient(#a855f788 50%,#7c3aed99 50% 55%,#0000 55%),linear-gradient(90deg,#c084fc80 70%,#a855f770 70% 77%,#0000 77%)}to{opacity:0;background-image:none}}@keyframes microGlitch5{0%{opacity:1;background-image:linear-gradient(#22d3eea3 10%,#67e8f980 10% 16%,#0000 16%),linear-gradient(90deg,#22d3ee99 30%,#67e8f970 30% 38%,#0000 38%),linear-gradient(#06b6d488 55%,#22d3ee70 55% 60%,#0000 60%),linear-gradient(90deg,#67e8f980 75%,#22d3ee80 75% 80%,#0000 80%)}33%{opacity:.04;background-image:linear-gradient(#67e8f999 5%,#22d3ee80 5% 14%,#0000 14%),linear-gradient(90deg,#06b6d488 45%,#22d3ee99 45% 52%,#0000 52%),linear-gradient(#22d3ee70 70%,#67e8f980 70% 78%,#0000 78%)}66%{opacity:.7;background-image:linear-gradient(#22d3eea3 10%,#67e8f980 10% 16%,#0000 16%),linear-gradient(90deg,#22d3ee99 30%,#67e8f970 30% 38%,#0000 38%),linear-gradient(#06b6d488 55%,#22d3ee70 55% 60%,#0000 60%),linear-gradient(90deg,#67e8f980 75%,#22d3ee80 75% 80%,#0000 80%)}to{opacity:0;background-image:none}}@keyframes microGlitch6{0%{opacity:.95;background-image:linear-gradient(#f97316a3 12%,#fff5 12% 18%,#0000 18%),linear-gradient(90deg,#f9731699 35%,#fdba7480 35% 42%,#0000 42%),linear-gradient(#fff4 55%,#f9731688 55% 62%,#0000 62%),linear-gradient(90deg,#fdba7480 78%,#f9731699 78% 85%,#0000 85%)}33%{opacity:.05;background-image:linear-gradient(#fff6 20%,#f9731699 20% 28%,#0000 28%),linear-gradient(90deg,#fdba7499 50%,#f9731680 50% 58%,#0000 58%),linear-gradient(#f9731680 72%,#fff5 72% 78%,#0000 78%)}66%{opacity:.7;background-image:linear-gradient(#f97316a3 12%,#fff5 12% 18%,#0000 18%),linear-gradient(90deg,#f9731699 35%,#fdba7480 35% 42%,#0000 42%),linear-gradient(#fff4 55%,#f9731688 55% 62%,#0000 62%),linear-gradient(90deg,#fdba7480 78%,#f9731699 78% 85%,#0000 85%)}to{opacity:0;background-image:none}}@keyframes microGlitch7{0%{opacity:1;background-image:linear-gradient(#a855f7b3 6%,#22d3ee99 6% 14%,#0000 14%),linear-gradient(90deg,#f9731699 30%,#a855f799 30% 36%,#0000 36%),linear-gradient(#22d3ee99 50%,#f9731699 50% 56%,#0000 56%),linear-gradient(90deg,#a855f799 72%,#22d3ee99 72% 78%,#0000 78%)}33%{opacity:.08;background-image:linear-gradient(#f9731699 18%,#22d3ee99 18% 26%,#0000 26%),linear-gradient(90deg,#a855f799 44%,#f9731699 44% 50%,#0000 50%),linear-gradient(#22d3ee99 68%,#a855f799 68% 74%,#0000 74%),linear-gradient(90deg,#f9731699 85%,#22d3ee99 85% 92%,#0000 92%)}66%{opacity:.8;background-image:linear-gradient(#a855f7b3 6%,#22d3ee99 6% 14%,#0000 14%),linear-gradient(90deg,#f9731699 30%,#a855f799 30% 36%,#0000 36%),linear-gradient(#22d3ee99 50%,#f9731699 50% 56%,#0000 56%),linear-gradient(90deg,#a855f799 72%,#22d3ee99 72% 78%,#0000 78%)}to{opacity:0;background-image:none}}@keyframes microGlitch8{0%{opacity:.9;background-image:linear-gradient(#fff7 8%,#22d3ee99 8% 20%,#0000 20%),linear-gradient(90deg,#fff6 35%,#a855f788 35% 45%,#0000 45%),linear-gradient(#22d3ee99 60%,#fff5 60% 68%,#0000 68%),linear-gradient(90deg,#a855f788 80%,#fff6 80% 88%,#0000 88%)}33%{opacity:.02;background-image:linear-gradient(#a855f799 12%,#fff5 12% 18%,#0000 18%),linear-gradient(90deg,#22d3ee99 42%,#fff5 42% 48%,#0000 48%),linear-gradient(#fff6 65%,#a855f788 65% 72%,#0000 72%),linear-gradient(90deg,#22d3ee80 85%,#fff5 85% 90%,#0000 90%)}66%{opacity:.6;background-image:linear-gradient(#fff7 8%,#22d3ee99 8% 20%,#0000 20%),linear-gradient(90deg,#fff6 35%,#a855f788 35% 45%,#0000 45%),linear-gradient(#22d3ee99 60%,#fff5 60% 68%,#0000 68%),linear-gradient(90deg,#a855f788 80%,#fff6 80% 88%,#0000 88%)}to{opacity:0;background-image:none}}@keyframes microGlitch9{0%{opacity:1;background-image:linear-gradient(#fff6 5%,#a855f7a3 5% 12%,#22d3ee88 12% 18%,#0000 18%),linear-gradient(90deg,#f97316a3 28%,#fff5 28% 35%,#a855f788 35% 42%,#0000 42%),linear-gradient(#22d3ee99 52%,#f9731699 52% 58%,#fff5 58% 64%,#0000 64%),linear-gradient(90deg,#a855f799 72%,#22d3ee88 72% 78%,#f9731680 78% 85%,#0000 85%)}33%{opacity:.06;background-image:linear-gradient(#f9731699 10%,#22d3ee88 10% 18%,#fff5 18% 24%,#0000 24%),linear-gradient(90deg,#a855f7a3 38%,#f9731699 38% 46%,#22d3ee88 46% 52%,#0000 52%),linear-gradient(#fff6 62%,#a855f799 62% 70%,#f9731680 70% 76%,#0000 76%)}66%{opacity:.75;background-image:linear-gradient(#fff6 5%,#a855f7a3 5% 12%,#22d3ee88 12% 18%,#0000 18%),linear-gradient(90deg,#f97316a3 28%,#fff5 28% 35%,#a855f788 35% 42%,#0000 42%),linear-gradient(#22d3ee99 52%,#f9731699 52% 58%,#fff5 58% 64%,#0000 64%),linear-gradient(90deg,#a855f799 72%,#22d3ee88 72% 78%,#f9731680 78% 85%,#0000 85%)}to{opacity:0;background-image:none}}.site-footer{text-align:center;border-top:1px solid var(--border);color:var(--text-soft);z-index:3;padding:3rem 2rem 2.5rem;font-size:.8rem;line-height:1.8;position:relative}.site-footer a{color:var(--text-muted);text-decoration:none;transition:color .2s}.site-footer a:hover{color:var(--neon-purple)}.footer-beian{flex-wrap:wrap;justify-content:center;gap:20px;margin-top:.5rem;display:flex}.footer-beian a{align-items:center;gap:4px;display:inline-flex}@media (width<=900px){.showcase-banner{min-height:500px}.showcase-cta{padding:10px 24px;font-size:13px;will-change:transform,box-shadow}.nav-links{gap:4px}.nav-link{padding:4px 10px;font-size:11px}.sticky-nav{padding:.5rem 1rem}.mouse-glow,.scanlines{display:none}}@media (width<=500px){.showcase-banner{min-height:400px}.showcase-cta{margin-top:1.8rem;padding:8px 20px;font-size:12px;will-change:transform,box-shadow}.hero-title{font-size:2.8rem}.banner-project-name{font-size:2rem}.hero-aura:before,.hero-aura:after{filter:blur(80px);will-change:transform,opacity}.cyber-grid{height:25%}}@media (height<=700px){.hero-section{padding-top:4rem;padding-bottom:4rem;contain:layout style paint}.hero-title{font-size:clamp(2.5rem,8vw,5rem)}.hero-sub{font-size:clamp(1.8rem,5vw,3rem)}}@keyframes navGlowFlash{0%{opacity:0;transform:scaleX(.2)}15%{opacity:1;transform:scaleX(1)}70%{opacity:1;transform:scaleX(1)}to{opacity:0;transform:scaleX(1)}}.sticky-nav.glow-flash:after{animation:navGlowFlash .8s ease-out forwards}.sticky-nav.glow-flash:before{animation:navGlowFlash .8s ease-out .05s forwards}

/* ── 标题：碎片切裂重组 ── */



/* ── 描述：信号干扰闪现 ── */


/* ── 按钮：通电闪烁 ── */


/* ── 触发器：showcase 获得 .active 时播放 ── */



/* ════════════════════════════════════════════
   展示区入场动效 — 涟漪扩散
   ════════════════════════════════════════════ */

/* ── 标题：从中心缩放弹入 + 光晕呼出 ── */
@keyframes rippleTitle {
  0%   { opacity:0; transform:scale(.3); filter:blur(10px) drop-shadow(0 0 0 #a855f700); }
  40%  { opacity:1; transform:scale(1.05); filter:blur(2px) drop-shadow(0 0 30px #a855f740); }
  60%  { transform:scale(.97); filter:blur(0); }
  80%  { transform:scale(1.01); }
  85%  { clip-path:inset(20% 0 60%); transform:translate(-6px,2px) scale(1); filter:blur(0); }
  88%  { clip-path:inset(50% 0 15%); transform:translate(8px,-2px) scale(1); filter:blur(0); }
  91%  { clip-path:inset(0); transform:translate(0) scale(1); filter:blur(0); }
  95%  { transform:scale(1.003); }
  100% { opacity:1; transform:scale(1); filter:blur(0) drop-shadow(0 0 20px #a855f726); }
}

/* ── 描述：从标题方向回落渐显 ── */
@keyframes rippleDesc {
  0%   { opacity:0; transform:translateY(-10px) scale(.95); }
  100% { opacity:.5; transform:translateY(0) scale(1); }
}@keyframes typewriter{0%{width:0}80%{width:100%}100%{width:100%;border-right-color:transparent}}

/* ── 按钮：从下方平稳浮起 ── */
@keyframes rippleBtn {
  0%   { opacity:0; transform:translateY(20px); }
  100% { opacity:1; transform:translateY(0); }
}

/* ── 背景波纹扩散圈 ── */
@keyframes rippleRing {
  0%   { width:0; height:0; margin:0; opacity:1; }
  100% { width:200vmax; height:200vmax; margin:-100vmax 0 0 -100vmax; opacity:0; }
}

/* ── 触发器 ── */
.showcase.active .banner-project-name {
  animation: rippleTitle .9s cubic-bezier(.16,1,.3,1) forwards;
}
.showcase.active .banner-project-desc {
  animation: typewriter .6s .3s steps(8) forwards, rippleDesc .6s cubic-bezier(.16,1,.3,1) .1s forwards;
  overflow: hidden;
  white-space: nowrap;
  width: fit-content;
  border-right: 2px solid #a855f766;
}
.showcase.active .showcase-cta {
  animation: rippleBtn .55s cubic-bezier(.16,1,.3,1) .25s forwards;
}
.showcase.active::before {
  content: ''; position: absolute; top: 50%; left: 50%;
  width: 0; height: 0; border-radius: 50%;
  border: 1px solid #a855f740;
  pointer-events: none; z-index: 1;
  animation: rippleRing 1.2s ease-out forwards;
}

/* ── 悬浮微故障（class 触发，不干扰元素自身动画）── */
.nav-link.micro-glitch::after,.nav-link.active.micro-glitch::after,.showcase-cta.micro-glitch::after,.showcase.active .showcase-cta.micro-glitch::after,[data-glitch].micro-glitch::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:5;border-radius:inherit;animation-duration:.22s;animation-timing-function:steps(3,start);animation-fill-mode:forwards}[data-glitch="0"].micro-glitch::after{animation-name:microGlitch0}[data-glitch="1"].micro-glitch::after{animation-name:microGlitch1}[data-glitch="2"].micro-glitch::after{animation-name:microGlitch2}[data-glitch="3"].micro-glitch::after{animation-name:microGlitch3}[data-glitch="4"].micro-glitch::after{animation-name:microGlitch4}[data-glitch="5"].micro-glitch::after{animation-name:microGlitch5}[data-glitch="6"].micro-glitch::after{animation-name:microGlitch6}[data-glitch="7"].micro-glitch::after{animation-name:microGlitch7}[data-glitch="8"].micro-glitch::after{animation-name:microGlitch8}[data-glitch="9"].micro-glitch::after{animation-name:microGlitch9}
/* ── 全局故障时展示区标题同步抖动 ── */
#glitchOverlay.fire ~ .showcase.active .banner-project-name{animation:glitchText .25s steps(5,end) forwards}


/* ── 横幅标题随机延迟故障 ── */
.showcase .banner-project-name.glitch-burst{animation:glitchText .3s steps(5) forwards}

@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important.showcase.active .banner-project-name,.showcase.active .banner-project-desc,.showcase.active .showcase-cta,.showcase.active::before,.nav-link.micro-glitch::after,.nav-link.active.micro-glitch::after,.showcase-cta.micro-glitch::after,.showcase.active .showcase-cta.micro-glitch::after,#glitchOverlay.fire ~ .showcase.active .banner-project-name,.showcase .banner-project-name.glitch-burst{animation:none}}.hero-title .accent{animation:none}.scroll-hint.visible{animation:.8s .8s forwards hintEnter}}
