.shadow-root{--sh-bg:#060212;--sh-bg-2:#0a0318;--sh-velvet:#2a0f3d;--sh-fog:#5b2a86;--sh-red:#ff3864;--sh-red-glow:#ff5e88;--sh-gold:#ffd770;--sh-warm:#ff9644;--sh-pearl:#fff6ee;--sh-bone:#ffe7c8;--sh-mist:#ff38648c;background:var(--sh-bg);font-family:var(--font-sans), "Inter Tight", sans-serif;color:var(--sh-pearl);perspective:1900px;perspective-origin:50% 54%;contain:layout paint;--cam-ease:cubic-bezier(.7, .05, .18, 1);--cam-dur:1.55s;position:fixed;inset:0;overflow:hidden}.shadow-root *{box-sizing:border-box}.shadow-sky{z-index:0;background:radial-gradient(70% 55% at 50% 112%,#ff3864d9 0%,#0000 55%),radial-gradient(55% 75% at 12% -2%,#5b2a86f2 0%,#0000 60%),radial-gradient(60% 80% at 88% 0,#2d1b4ef2 0%,#0000 55%),linear-gradient(#0a0318 0%,#25083d 38%,#5b2a86 78%,#ff7a98 100%);transition:transform 1.2s cubic-bezier(.76,0,.24,1);position:absolute;inset:-6%}.shadow-aurora{z-index:0;pointer-events:none;filter:blur(12px);mix-blend-mode:screen;background:radial-gradient(38% 18% at 30% 28%,#ff78aa2e 0%,#0000 60%),radial-gradient(30% 22% at 72% 18%,#ffd7701f 0%,#0000 60%);animation:22s ease-in-out infinite alternate auroraShift;position:absolute;inset:-10%}@keyframes auroraShift{0%{opacity:.85;transform:translate(0)scale(1)}to{opacity:1;transform:translate(2%,-1.5%)scale(1.06)}}.shadow-clouds{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.shadow-clouds .cloud{filter:blur(6px);width:38vw;height:90px;transform:scale(var(--sc,1));animation:cloudDrift var(--d,140s) linear infinite;animation-delay:var(--del,0s);mix-blend-mode:screen;background:radial-gradient(50% 80% at 25%,#ffc8dc59 0%,#0000 70%),radial-gradient(60% 90% at 60% 55%,#ffe6e652 0%,#0000 70%),radial-gradient(45% 70% at 85%,#ffc3c347 0%,#0000 70%);position:absolute;left:-25%}@keyframes cloudDrift{0%{transform:translateX(0) scale(var(--sc,1))}to{transform:translateX(150vw) scale(var(--sc,1))}}.shadow-stars{z-index:1;pointer-events:none;transition:transform 1.2s cubic-bezier(.76,0,.24,1);position:absolute;inset:0}.shadow-stars .s{animation:twinkle var(--d,3s) infinite;animation-delay:var(--del,0s);border-radius:50%;position:absolute;box-shadow:0 0 6px}@keyframes twinkle{0%,to{opacity:.15;transform:scale(.7)}50%{opacity:1;transform:scale(1.2)}}.shadow-moon{z-index:1;background:radial-gradient(circle at 30% 28%,#fff6dd 0%,#ffd770 38%,#ff9644 78%,#0000 100%);border-radius:50%;width:130px;height:130px;transition:transform 1.2s cubic-bezier(.76,0,.24,1);position:absolute;top:11%;right:13%;box-shadow:0 0 80px #ffc4648c,0 0 200px #ff966459,inset -10px -16px 40px #b43c3c59}.shadow-moon:before,.shadow-moon:after{content:"";pointer-events:none;border:1px solid #ffd77040;border-radius:50%;position:absolute;inset:-40%}.shadow-moon:after{border-style:dashed;border-color:#ffd7701f;animation:60s linear infinite moonRing;inset:-75%}@keyframes moonRing{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.shadow-skyline-haze{z-index:2;pointer-events:none;mix-blend-mode:screen;background:linear-gradient(#0000 0%,#ff38641f 35%,#ff64822e 100%);height:42vh;position:absolute;bottom:0;left:0;right:0}.shadow-stage{z-index:10;transform-origin:50% 56%;transform-style:preserve-3d;transition:transform var(--cam-dur) var(--cam-ease), filter .55s ease-out;will-change:transform, filter;position:absolute;inset:0}.shadow-city{pointer-events:none;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.shadow-city .city-track{will-change:transform;width:200%;display:flex}.shadow-city .city-svg{flex-shrink:0;width:50%;display:block}.shadow-city.back{z-index:2;filter:blur(2.4px)brightness(.95)saturate(1.05);opacity:.78;transform-origin:50% 100%;bottom:30%;transform:translateZ(-1500px)scale(1.7)}.shadow-city.back .city-track{animation:240s linear infinite cityPan}.shadow-city.mid{z-index:3;filter:blur(.6px);opacity:.92;transform-origin:50% 100%;bottom:14%;transform:translateZ(-1200px)scale(1.5)}.shadow-city.mid .city-track{animation:160s linear infinite cityPan}.shadow-city.front{z-index:4;transform-origin:50% 100%;bottom:0;transform:translateZ(-900px)scale(1.34)}.shadow-city.front .city-track{animation:110s linear infinite cityPan}.shadow-ground{z-index:1;pointer-events:none;transform-origin:50% 100%;opacity:.92;background:radial-gradient(60% 70% at 50% 0,#ff386452 0%,#0000 60%),radial-gradient(40% 50% at 50% 30%,#5b2a8673 0%,#0000 70%),repeating-linear-gradient(90deg,#0000 0 70px,#ff38641f 70px 71px),repeating-linear-gradient(0deg,#0000 0 60px,#ff386414 60px 61px),linear-gradient(#0a0318 0%,#1a0628 50%,#06020e 100%);height:80vh;position:absolute;bottom:-10%;left:-50%;right:-50%;transform:rotateX(82deg)translateZ(-40px);-webkit-mask-image:radial-gradient(80% 80% at 50% 30%,#000 30%,#0000 100%);mask-image:radial-gradient(80% 80% at 50% 30%,#000 30%,#0000 100%)}.shadow-sky-dome{z-index:1;pointer-events:none;transform-origin:50% 0;opacity:.72;background:radial-gradient(50% 60% at 50% 70%,#ffd7702e 0%,#0000 60%),radial-gradient(40% 50% at 30%,#5b2a8666 0%,#0000 70%),radial-gradient(40% 50% at 70%,#ff38642e 0%,#0000 70%),linear-gradient(#06020e 0%,#1a0628 60%,#2a0f3d 100%);height:70vh;position:absolute;top:-10%;left:-50%;right:-50%;transform:rotateX(-78deg)translateZ(-60px);-webkit-mask-image:radial-gradient(80% 80% at 50% 70%,#000 30%,#0000 100%);mask-image:radial-gradient(80% 80% at 50% 70%,#000 30%,#0000 100%)}@keyframes cityPan{0%{transform:translate(0)}to{transform:translate(-50%)}}.shadow-streetfog{z-index:5;pointer-events:none;filter:blur(8px);background:linear-gradient(#0000 0%,#ff386414 50%,#0a0318b3 100%);height:18vh;position:absolute;bottom:0;left:0;right:0}.shadow-root[data-cam=intro] .shadow-stage{filter:blur(7px)saturate(1.15)brightness(.85);transform:translate3d(0,60px,-340px)}.shadow-root[data-cam=intro] .shadow-sky{transform:scale(1.12)}.shadow-root[data-cam=intro] .shadow-moon{transform:translate(20px,-10px)scale(1.05)}.shadow-root[data-cam=menu] .shadow-stage{filter:blur()brightness();transform:translate(0,0)}.shadow-root[data-cam=room-about] .shadow-stage{filter:brightness(.78)saturate(1.05);transform:rotateY(32deg)translate3d(-480px,-20px,780px)}.shadow-root[data-cam=room-projects] .shadow-stage{filter:brightness(.78)saturate(1.05);transform:rotateY(-32deg)translate3d(480px,-20px,780px)}.shadow-root[data-cam=room-demos] .shadow-stage{filter:brightness(.8)saturate(1.05);transform:rotateX(28deg)translate3d(0,460px,760px)}.shadow-root[data-cam=room-experience] .shadow-stage{filter:brightness(.78)saturate(1.05);transform:rotateX(-16deg)rotateY(-26deg)translate3d(420px,-340px,700px)}.shadow-root[data-cam=room-gaming] .shadow-stage{filter:brightness(.78)saturate(1.05);transform:rotateX(-16deg)rotateY(26deg)translate3d(-420px,-340px,700px)}.shadow-root[data-cam=room-contact] .shadow-stage{filter:brightness(.78)saturate(1.05);transform:rotateX(-30deg)translate3d(0,-480px,780px)}.shadow-root[data-cam-moving=true] .shadow-stage{filter:blur(2.6px)saturate(1.25)brightness(.92)!important}.shadow-glyphs{z-index:6;pointer-events:none;position:absolute;inset:0;overflow:hidden}.shadow-glyphs .gl{font-family:var(--font-display), sans-serif;color:var(--sh-red);-webkit-user-select:none;user-select:none;letter-spacing:-.04em;font-weight:900;position:absolute}.shadow-halftone{z-index:7;pointer-events:none;opacity:.45;background-image:radial-gradient(circle,#ff386499 1.4px,#0000 1.7px);background-size:11px 11px;width:56vmin;height:56vmin;position:absolute}.shadow-halftone.tl{top:-16vmin;left:-16vmin;-webkit-mask-image:radial-gradient(circle at 0 0,#000 0%,#0000 65%);mask-image:radial-gradient(circle at 0 0,#000 0%,#0000 65%)}.shadow-halftone.br{bottom:-16vmin;right:-16vmin;-webkit-mask-image:radial-gradient(circle at 100% 100%,#000 0%,#0000 65%);mask-image:radial-gradient(circle at 100% 100%,#000 0%,#0000 65%)}.shadow-vignette{z-index:8;pointer-events:none;background:radial-gradient(90% 80% at 50% 55%,#0000 50%,#0000008c 100%),radial-gradient(130% 100% at 50% 100%,#0006 70%,#0000 100%);position:absolute;inset:0}.shadow-grain{z-index:9;pointer-events:none;opacity:.07;mix-blend-mode:overlay;background-image:repeating-radial-gradient(circle at 17% 23%,#fff6 0 1px,#0000 1px 3px),repeating-radial-gradient(circle at 64% 78%,#fff6 0 1px,#0000 1px 3px),repeating-radial-gradient(circle at 89% 14%,#fff6 0 1px,#0000 1px 3px);background-size:7px 7px,11px 11px,5px 5px;animation:.8s steps(6,end) infinite grainShift;position:absolute;inset:0}@keyframes grainShift{0%,to{transform:translate(0)}20%{transform:translate(-3px,1px)}40%{transform:translate(2px,-2px)}60%{transform:translate(-1px,3px)}80%{transform:translate(3px)}}.shadow-intro-text{z-index:30;pointer-events:none;text-align:center;grid-template-columns:1fr;transition:opacity .6s;display:grid;position:absolute;inset:0}.shadow-intro-marker{font-family:var(--font-mono), monospace;letter-spacing:.32em;color:#fff6eea6;text-transform:uppercase;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a031899;border:1px solid #ff386466;align-items:center;gap:10px;padding:10px 14px;font-size:11px;display:flex;position:absolute}.shadow-intro-marker.top-l{top:28px;left:28px}.shadow-intro-marker.top-r{top:28px;right:28px}.shadow-intro-marker.bot-l{bottom:28px;left:28px}.shadow-intro-marker.bot-r{bottom:28px;right:28px}.shadow-intro-marker .m-num{color:var(--sh-red);border-right:1px solid #ff386480;padding-right:10px;font-weight:700}.shadow-intro-marker .m-pulse{background:var(--sh-red);width:8px;height:8px;box-shadow:0 0 12px var(--sh-red);border-radius:50%;animation:1.6s ease-in-out infinite pulseDot}@keyframes pulseDot{0%,to{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.shadow-intro-stack{pointer-events:none;flex-direction:column;place-self:center;align-items:center;gap:18px;padding:40px 24px;display:flex}.shadow-intro-kana{font-family:var(--font-mono), monospace;letter-spacing:.6em;color:var(--sh-red);text-transform:uppercase;border-top:1px solid var(--sh-red);border-bottom:1px solid var(--sh-red);background:#ff386414;padding:6px 18px;font-size:13px;animation:1s cubic-bezier(.2,.8,.2,1) 50ms both kanaIn;transform:skew(-8deg)}@keyframes kanaIn{0%{opacity:0;transform:skew(-8deg)translateY(-12px)}to{opacity:1;transform:skew(-8deg)translateY(0)}}.shadow-intro-title{font-family:var(--font-display), "Archivo Black", sans-serif;letter-spacing:-.025em;text-transform:uppercase;color:var(--sh-pearl);flex-direction:column;align-items:center;gap:4px;font-size:clamp(80px,14vw,220px);line-height:.82;display:flex}.shadow-intro-title .t-line{display:block;position:relative;transform:skew(-7deg)}.shadow-intro-title .t1{text-shadow:-2px 0 0 var(--sh-red), 4px 4px 0 #000000d9, 0 0 60px #ff386473;animation:.7s cubic-bezier(.16,1,.3,1) .15s both titleSlam}.shadow-intro-title .t2{background:linear-gradient(180deg, var(--sh-red) 0%, var(--sh-red-glow) 50%, var(--sh-red) 100%);color:#0000;-webkit-text-stroke:1.5px #0009;filter:drop-shadow(4px 4px #000000b3);-webkit-background-clip:text;background-clip:text;animation:.7s cubic-bezier(.16,1,.3,1) .32s both titleSlam}.shadow-intro-title .t2 em{font-style:normal}@keyframes titleSlam{0%{opacity:0;letter-spacing:.05em;transform:skew(-7deg)translateY(40px)scale(1.06)}60%{opacity:1;letter-spacing:-.04em;transform:skew(-7deg)translateY(-4px)scale(.985)}to{opacity:1;letter-spacing:-.025em;transform:skew(-7deg)translateY(0)scale(1)}}.shadow-intro-tape{width:min(880px,86vw);height:32px;font-family:var(--font-mono), monospace;letter-spacing:.32em;color:#fff6eec7;text-transform:uppercase;white-space:nowrap;background:#ff38640d;border-top:1px solid #ff386473;border-bottom:1px solid #ff386473;align-items:center;margin-top:8px;font-size:11px;display:flex;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%)}.shadow-intro-tape>span{flex-shrink:0;padding:0 22px;animation:36s linear infinite tapeRun;display:inline-block}.shadow-intro-tape>span:nth-child(odd){color:var(--sh-red)}@keyframes tapeRun{0%{transform:translate(0)}to{transform:translate(-100%)}}.shadow-intro-press{pointer-events:auto;background:var(--sh-red);color:var(--sh-bg-2);font-family:var(--font-display), sans-serif;letter-spacing:.28em;cursor:pointer;text-transform:uppercase;box-shadow:8px 8px 0 #0a0318, 8px 8px 0 4px var(--sh-red), 14px 14px 30px #ff386466;border:none;align-items:center;gap:14px;margin-top:12px;padding:16px 22px 16px 16px;font-size:16px;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex;position:relative;overflow:hidden;transform:skew(-8deg)}.shadow-intro-press:before{content:"";pointer-events:none;background:repeating-linear-gradient(-45deg,#0000 0 6px,#0000001f 6px 7px);position:absolute;inset:0}.shadow-intro-press>*{position:relative;transform:skew(8deg)}.shadow-intro-press .p-arrow{width:28px;height:28px;color:var(--sh-red);background:#0a0318;border-radius:50%;place-items:center;font-size:11px;display:inline-grid}.shadow-intro-press .p-key{font-family:var(--font-mono), monospace;letter-spacing:.25em;background:#00000040;padding:4px 8px;font-size:10px}.shadow-intro-press:hover{box-shadow:11px 11px 0 #0a0318, 11px 11px 0 4px var(--sh-red), 18px 18px 40px #ffee4d73;background:#ffee4d;transform:skew(-8deg)translate(-3px,-3px)}.shadow-intro-press:hover .p-arrow{background:var(--sh-red);color:#ffee4d;animation:.5s ease-in-out infinite alternate bounceArrow}@keyframes bounceArrow{to{transform:skew(8deg)translate(3px)}}.shadow-hud{z-index:40;pointer-events:none;opacity:0;transition:opacity .6s;position:absolute;inset:0}.shadow-root[data-cam=menu] .shadow-hud,.shadow-root[data-cam^=room-] .shadow-hud{opacity:1}.shadow-statusbar{font-family:var(--font-mono), monospace;letter-spacing:.3em;color:var(--sh-pearl);text-transform:uppercase;pointer-events:auto;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0318b8;border:1px solid #ff386473;align-items:center;gap:14px;padding:8px 18px;font-size:10px;animation:.6s cubic-bezier(.2,.8,.2,1) .1s both statusIn;display:flex;position:absolute;top:18px;left:50%;transform:translate(-50%)skew(-6deg);box-shadow:4px 4px #ff386440}@keyframes statusIn{0%{opacity:0;transform:translate(-50%)skew(-6deg)translateY(-12px)}to{opacity:1;transform:translate(-50%)skew(-6deg)translateY(0)}}.shadow-statusbar>*{transform:skew(6deg)}.shadow-statusbar .sb-block.dim{color:#fff6ee8c}.shadow-statusbar .sb-sep{background:#ff386480;width:2px;height:14px}.shadow-statusbar .sb-spacer{width:14px}.shadow-char{pointer-events:auto;opacity:1;width:360px;max-width:32vw;transition:opacity .45s,transform .6s cubic-bezier(.16,1,.3,1);animation:.8s cubic-bezier(.16,1,.3,1) .25s both shadowCharIn;position:absolute;top:11%;bottom:11%;left:4%;transform:translate(0)}@keyframes shadowCharIn{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}.shadow-root[data-cam^=room-] .shadow-char{opacity:0;pointer-events:none;animation:none;transform:translate(-110%)skew(-4deg)}.shadow-char-frame{border:2px solid var(--sh-red);height:100%;box-shadow:14px 14px 0 #0a0318, 14px 14px 0 4px var(--sh-red), 0 30px 80px #0009;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(155deg,#ff386438,#5b2a8638),#0a0318c7;flex-direction:column;padding:22px 22px 22px 24px;display:flex;position:relative;overflow:hidden;transform:skew(-5deg)}.shadow-char-frame>*{transform:skew(5deg)}.shadow-char-frame:before{content:"";pointer-events:none;background:repeating-linear-gradient(-45deg,#0000 0 9px,#ff38640f 9px 11px);position:absolute;inset:0}.shadow-char-frame:after{content:"";border-top:3px solid var(--sh-red);border-left:3px solid var(--sh-red);pointer-events:none;width:28px;height:28px;position:absolute;top:-4px;left:-4px}.shadow-char-tag{font-family:var(--font-mono), monospace;letter-spacing:.32em;color:var(--sh-red);text-transform:uppercase;align-items:center;gap:8px;margin-bottom:6px;font-size:10px;display:flex}.shadow-char-tag .dot{background:var(--sh-red);width:8px;height:8px;box-shadow:0 0 10px var(--sh-red);border-radius:50%;animation:1.4s ease-in-out infinite pulseDot}.shadow-char-name{font-family:var(--font-display), sans-serif;letter-spacing:-.01em;text-transform:uppercase;color:var(--sh-pearl);margin-bottom:6px;font-size:46px;line-height:.9}.shadow-char-name .ac{color:var(--sh-red)}.shadow-char-role{font-family:var(--font-mono), monospace;color:#fff6eeb3;letter-spacing:.18em;text-transform:uppercase;border-top:1px solid #ff38644d;border-bottom:1px solid #ff38644d;margin-bottom:18px;padding:6px 0;font-size:10.5px}.shadow-char-avatar{background:#050210;border:1px solid #ff386480;flex:1;min-height:220px;margin-bottom:18px;position:relative;overflow:hidden}.shadow-char-avatar .shadow-avatar-svg{width:100%;height:100%;position:absolute;inset:0}.shadow-char-avatar .shadow-avatar-photo{object-fit:cover;object-position:center bottom;filter:contrast(1.06)saturate(.92)brightness(.95);-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;position:absolute;inset:0}.shadow-char-avatar .shadow-avatar-tint{pointer-events:none;mix-blend-mode:screen;background:linear-gradient(#0000 0%,#ff386433 60%,#0a03188c 100%),linear-gradient(155deg,#ff5e881f 0%,#0000 50%,#5b2a862e 100%);position:absolute;inset:0}.shadow-char-avatar .shadow-avatar-halftone{opacity:.32;pointer-events:none;mix-blend-mode:overlay;background-image:radial-gradient(circle,#ff38648c .9px,#0000 1.3px);background-size:6px 6px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 70% at 50% 100%,#000 0%,#0000 75%);mask-image:radial-gradient(80% 70% at 50% 100%,#000 0%,#0000 75%)}.shadow-char-avatar .shadow-avatar-scanlines{pointer-events:none;mix-blend-mode:screen;opacity:.7;background:repeating-linear-gradient(0deg,#0000 0 2px,#ffffff0b 2px 3px);position:absolute;inset:0}.shadow-char-avatar .shadow-avatar-tag{z-index:3;background:var(--sh-red);color:#0a0318;font-family:var(--font-mono), monospace;letter-spacing:.32em;text-transform:uppercase;pointer-events:none;padding:5px 12px;font-size:9.5px;font-weight:700;position:absolute;bottom:0;left:0;right:0}.shadow-char-avatar .av-corner{border:2px solid var(--sh-red);width:14px;height:14px;position:absolute}.shadow-char-avatar .av-corner.tl{border-bottom:0;border-right:0;top:6px;left:6px}.shadow-char-avatar .av-corner.tr{border-bottom:0;border-left:0;top:6px;right:6px}.shadow-char-avatar .av-corner.bl{border-top:0;border-right:0;bottom:6px;left:6px}.shadow-char-avatar .av-corner.br{border-top:0;border-left:0;bottom:6px;right:6px}.shadow-char-stats{flex-direction:column;gap:6px;display:flex}.shadow-char-stat{font-family:var(--font-mono), monospace;letter-spacing:.16em;text-transform:uppercase;color:#fff6eed9;grid-template-columns:78px 1fr 30px;align-items:center;gap:10px;font-size:10px;display:grid}.shadow-char-stat .bar{background:#00000080;border:1px solid #ff386440;height:6px;position:relative;overflow:hidden}.shadow-char-stat .fill{background:linear-gradient(90deg, var(--sh-red), #ffee4d);width:var(--v,50%);box-shadow:0 0 8px var(--sh-red);animation:1.2s cubic-bezier(.2,.8,.2,1) .6s backwards fillBar;position:absolute;top:0;bottom:0;left:0}@keyframes fillBar{0%{width:0}}.shadow-menu-title{pointer-events:none;text-align:right;opacity:0;flex-direction:column;gap:6px;width:460px;max-width:40vw;animation:.7s cubic-bezier(.2,.8,.2,1) .3s forwards slideInR2;display:flex;position:absolute;top:12%;right:7%;transform:translate(30px)}@keyframes slideInR2{to{opacity:1;transform:translate(0)}}.shadow-menu-title .mt-kicker{font-family:var(--font-mono), monospace;letter-spacing:.4em;color:var(--sh-red);text-transform:uppercase;font-size:10px}.shadow-menu-title .mt-headline{font-family:var(--font-display), sans-serif;letter-spacing:-.015em;text-transform:uppercase;color:var(--sh-pearl);text-shadow:4px 4px #0009;font-size:44px;line-height:.95;transform:skew(-6deg)}.shadow-menu-title .mt-rule{background:linear-gradient(90deg, transparent 0%, var(--sh-red) 60%, var(--sh-red) 100%);width:100%;height:2px;margin:6px 0 4px}.shadow-menu-title .mt-foot{font-family:var(--font-mono), monospace;letter-spacing:.22em;color:#fff6ee8c;text-transform:uppercase;font-size:10px}.shadow-menu{pointer-events:auto;flex-direction:column;justify-content:flex-start;gap:10px;width:480px;max-width:42vw;display:flex;position:absolute;top:30%;bottom:9%;right:5%}.shadow-menu-item{cursor:pointer;opacity:0;background:#0f0519e0;border:2px solid #fff6ee2e;align-items:center;height:70px;padding:0 28px;transition:transform .32s cubic-bezier(.2,.8,.2,1),background .2s,border-color .2s,box-shadow .32s cubic-bezier(.2,.8,.2,1);animation:.55s cubic-bezier(.2,.8,.2,1) forwards slideInR;display:flex;position:relative;overflow:hidden;transform:skew(-12deg)translate(40px)}.shadow-menu-item:first-child{animation-delay:.5s}.shadow-menu-item:nth-child(2){animation-delay:.6s}.shadow-menu-item:nth-child(3){animation-delay:.7s}.shadow-menu-item:nth-child(4){animation-delay:.8s}.shadow-menu-item:nth-child(5){animation-delay:.9s}.shadow-menu-item:nth-child(6){animation-delay:1s}@keyframes slideInR{to{opacity:1;transform:skew(-12deg)translate(0)}}.shadow-menu-item>*{transform:skew(12deg)}.shadow-menu-item .smi-streak{pointer-events:none;opacity:0;background:repeating-linear-gradient(90deg,#0000 0 4px,#ffffff2e 4px 5px,#0000 5px 28px);transition:opacity .2s;position:absolute;inset:0;transform:skew(0)}.shadow-menu-item:hover,.shadow-menu-item[data-active=true]{background:var(--sh-red);border-color:var(--sh-red);box-shadow:-10px 10px 0 0 #0a0318, -10px 10px 0 3px var(--sh-red), -22px 22px 60px #ff386473;transform:skew(-12deg)translate(-22px)}.shadow-menu-item:hover .smi-num,.shadow-menu-item[data-active=true] .smi-num,.shadow-menu-item:hover .smi-label,.shadow-menu-item[data-active=true] .smi-label,.shadow-menu-item:hover .smi-sub,.shadow-menu-item[data-active=true] .smi-sub,.shadow-menu-item:hover .smi-arrow,.shadow-menu-item[data-active=true] .smi-arrow{color:#0a0318}.shadow-menu-item:hover .smi-arrow span,.shadow-menu-item[data-active=true] .smi-arrow span{animation:.5s linear infinite arrowChase}.shadow-menu-item:hover .smi-streak,.shadow-menu-item[data-active=true] .smi-streak{opacity:1}.shadow-menu-item .smi-num{font-family:var(--font-mono), monospace;letter-spacing:.2em;color:var(--sh-red);width:38px;font-size:12px;font-weight:700}.shadow-menu-item .smi-meta{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.shadow-menu-item .smi-label{font-family:var(--font-display), sans-serif;letter-spacing:.02em;color:var(--sh-pearl);text-transform:uppercase;font-size:28px;line-height:1}.shadow-menu-item .smi-sub{font-family:var(--font-mono), monospace;letter-spacing:.28em;color:#fff6ee8c;text-transform:uppercase;font-size:10px}.shadow-menu-item .smi-arrow{color:#fff6ee66;font-size:12px;font-family:var(--font-mono), monospace;gap:2px;display:inline-flex}.shadow-menu-item .smi-arrow span:first-child{animation-delay:0s}.shadow-menu-item .smi-arrow span:nth-child(2){opacity:.6;animation-delay:.12s}.shadow-menu-item .smi-arrow span:nth-child(3){opacity:.3;animation-delay:.24s}@keyframes arrowChase{0%{opacity:.3;transform:translate(-4px)}50%{opacity:1;transform:translate(0)}to{opacity:.3;transform:translate(4px)}}.shadow-speed{z-index:50;pointer-events:none;opacity:0;mix-blend-mode:overlay;background:repeating-linear-gradient(90deg,#0000 0 2px,#ffffffa6 2px 3px,#0000 3px 44px);transition:opacity .3s;position:absolute;inset:0}.shadow-root[data-cam-moving=true] .shadow-speed{opacity:.7;animation:.7s linear speedRush}@keyframes speedRush{0%{transform:translate(0)}to{transform:translate(-220px)}}.world-room{transform-style:preserve-3d;pointer-events:none;opacity:0;z-index:25;transition:opacity .7s var(--cam-ease);backface-visibility:hidden;position:absolute;inset:11% 13%}.world-room[data-active=true]{pointer-events:auto;opacity:1;transition-delay:.45s}.world-room.about{transform:translate3d(480px,20px,-780px)rotateY(-32deg)}.world-room.projects{transform:translate3d(-480px,20px,-780px)rotateY(32deg)}.world-room.demos{transform:translate3d(0,-460px,-760px)rotateX(-28deg)}.world-room.experience{transform:translate3d(-420px,340px,-700px)rotateY(26deg)rotateX(16deg)}.world-room.gaming{transform:translate3d(420px,340px,-700px)rotateY(-26deg)rotateX(16deg)}.world-room.contact{transform:translate3d(0,480px,-780px)rotateX(30deg)}.world-room:after{content:"";z-index:-1;opacity:.25;filter:blur(50px);transition:opacity .6s var(--cam-ease);pointer-events:none;background:radial-gradient(60% 60%,#ff38648c 0%,#0000 70%);position:absolute;inset:-80px;transform:translateZ(-60px)}.world-room[data-active=true]:after{opacity:1}.world-room .world-sigil{font-family:var(--font-mono), monospace;letter-spacing:.5em;color:var(--sh-red);text-transform:uppercase;border:1px solid var(--sh-red);white-space:nowrap;pointer-events:none;transition:opacity .4s, transform .5s var(--cam-ease);opacity:0;background:#0a0318d9;padding:6px 14px;font-size:10px;position:absolute;top:-38px;left:50%;transform:translate(-50%)translateZ(40px);box-shadow:0 0 24px #ff386499}.world-room[data-active=true] .world-sigil{opacity:1;transform:translate(-50%)translateZ(40px)translateY(-4px)}.shadow-room{pointer-events:auto;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:2px solid var(--sh-red);width:100%;height:100%;box-shadow:18px 18px 0 #0a0318, 18px 18px 0 4px var(--sh-red), 0 40px 120px #000000b3, 0 0 80px #ff386440;background:linear-gradient(#ff38640d 0%,#0000 30%),#0a0318db;position:relative;overflow:hidden;transform:translateZ(0)}.shadow-room:before{content:"";pointer-events:none;background:repeating-linear-gradient(-45deg,#0000 0 11px,#ff38640a 11px 12px);position:absolute;inset:0}.shadow-room .rm-head{background:linear-gradient(90deg,#ff38642e,#0000 70%);border-bottom:2px solid #ff386459;justify-content:space-between;align-items:center;padding:18px 28px;display:flex;position:relative}.shadow-room .rm-title{font-family:var(--font-display), sans-serif;text-transform:uppercase;color:var(--sh-pearl);letter-spacing:-.01em;align-items:baseline;gap:12px;font-size:36px;line-height:1;display:flex;transform:skew(-6deg)}.shadow-room .rm-num{color:var(--sh-red);font-size:20px;font-family:var(--font-mono), monospace;letter-spacing:.2em}.shadow-room .rm-title em{color:var(--sh-red);opacity:.7;font-style:normal}.shadow-room .rm-sub{font-family:var(--font-mono), monospace;letter-spacing:.3em;color:#fff6ee8c;align-self:center;margin-left:6px;font-size:10px}.shadow-room .rm-back{font-family:var(--font-mono), monospace;letter-spacing:.28em;color:var(--sh-red);border:1px solid var(--sh-red);cursor:pointer;text-transform:uppercase;background:0 0;padding:10px 18px;font-size:11px;transition:all .16s}.shadow-room .rm-back:hover{background:var(--sh-red);color:#0a0318;transform:translate(-2px,-2px);box-shadow:4px 4px #0a0318}.shadow-room .rm-body{padding:28px 32px;position:absolute;inset:76px 0 0;overflow-y:auto}.shadow-room .rm-body::-webkit-scrollbar{width:6px}.shadow-room .rm-body::-webkit-scrollbar-thumb{background:#ff386480}.shadow-room .rm-body::-webkit-scrollbar-track{background:0 0}.shadow-root .avatar-card{border-color:var(--sh-red);background:#ff38640d}.shadow-root .stat-bar .fill{background:linear-gradient(90deg, var(--sh-red), #ffee4d);box-shadow:0 0 8px var(--sh-red)}.shadow-root .xp-row:before{background:var(--sh-red);box-shadow:0 0 10px var(--sh-red)}.shadow-root .tag{color:#fff6eebf;border-color:#ff386466}.shadow-root .contact-card:hover{border-color:var(--sh-red);box-shadow:4px 4px 0 var(--sh-red)}.shadow-root .game-card:hover,.shadow-root .demo-tile:hover{border-color:var(--sh-red)}.shadow-root .topbar,.shadow-root .botbar{display:none}.shadow-root[data-cam^=room-] .shadow-statusbar{opacity:.42;transition:opacity .5s}.shadow-warpfield{z-index:50;pointer-events:none;opacity:0;mix-blend-mode:screen;background:repeating-conic-gradient(#fff0 0deg 1.6deg,#ffc8c88c 1.6deg 1.9deg,#fff0 1.9deg 4deg);transition:opacity .25s;position:absolute;inset:-10%;-webkit-mask-image:radial-gradient(60% 60%,#0000 24%,#000 70%);mask-image:radial-gradient(60% 60%,#0000 24%,#000 70%)}.shadow-root[data-cam-moving=true] .shadow-warpfield{opacity:.55;animation:1s cubic-bezier(.2,.8,.2,1) warpZoom}@keyframes warpZoom{0%{opacity:0;transform:scale(.4)rotate(0)}20%{opacity:.85;transform:scale(.7)rotate(2deg)}to{opacity:0;transform:scale(2.2)rotate(-3deg)}}.shadow-reticle{z-index:51;pointer-events:none;opacity:0;width:70px;height:70px;transition:opacity .2s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.shadow-reticle:before,.shadow-reticle:after{content:"";border:1.5px solid var(--sh-red);position:absolute;inset:0;box-shadow:0 0 14px #ff3864b3}.shadow-reticle:before{border-width:1px;border-color:var(--sh-pearl);inset:14px}.shadow-root[data-cam-moving=true] .shadow-reticle{opacity:.85;animation:.8s ease-out reticleSpin}@keyframes reticleSpin{0%{transform:translate(-50%,-50%)rotate(45deg)scale(.4)}60%{transform:translate(-50%,-50%)rotate(135deg)scale(1.1)}to{opacity:0;transform:translate(-50%,-50%)rotate(180deg)scale(.9)}}.shadow-root[data-cam=menu] .shadow-stage{animation:11s ease-in-out infinite alternate camIdleFloat}@keyframes camIdleFloat{0%{transform:translate(-8px,4px)rotateY(-.6deg)rotateX(.3deg)}to{transform:translate(8px,-4px)rotateY(.6deg)rotateX(-.3deg)}}.shadow-root[data-cam-moving=true][data-cam=menu] .shadow-stage{animation:none}.shadow-cosmos-pivot{transform-style:preserve-3d;pointer-events:inherit;transform:rotateY(calc(var(--mx,0) * 5deg)) rotateX(calc(var(--my,0) * -3.5deg));will-change:transform;transition:transform .55s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0}.shadow-root[data-cam-moving=true] .shadow-cosmos-pivot,.shadow-root[data-cam^=room-] .shadow-cosmos-pivot{transform:none}@media (prefers-reduced-motion:reduce){.shadow-city .city-track,.shadow-clouds .cloud,.shadow-stars .s,.shadow-grain,.shadow-aurora,.shadow-moon:after{animation:none!important}}@media (max-width:880px){.shadow-char{width:260px;max-width:60vw}.shadow-char-frame{padding:16px}.shadow-char-name{font-size:32px}.shadow-menu-title{max-width:90vw;top:14%;right:5%}.shadow-menu-title .mt-headline{font-size:32px}.shadow-menu{max-width:90vw;top:28%;bottom:9%;right:5%}.shadow-menu-item{height:60px;padding:0 18px}.shadow-menu-item .smi-label{font-size:22px}.shadow-statusbar{gap:8px;padding:6px 12px;font-size:9px}.shadow-intro-title{font-size:clamp(56px,16vw,120px)}.shadow-intro-marker{padding:6px 10px;font-size:9px}}.shadow-scene-loading{z-index:0;background:radial-gradient(70% 60% at 50% 110%,#ff3864 0%,#0000 55%),radial-gradient(50% 70% at 12% 0,#5b2a86 0%,#0000 55%),linear-gradient(#0a0318 0%,#25083d 38%,#5b2a86 78%,#ff7a98 100%);position:absolute;inset:0}.shadow-root canvas{filter:saturate(1.18)contrast(1.06)brightness(1.04);display:block}.shadow-root:before{content:"";z-index:1;pointer-events:none;mix-blend-mode:screen;background:radial-gradient(60% 40% at 50% 100%,#ff38642e 0%,#0000 60%),radial-gradient(30% 30% at 18% 30%,#5b2a8633 0%,#0000 70%),radial-gradient(30% 30% at 82% 30%,#ffd7701a 0%,#0000 70%);position:absolute;inset:0}.shadow-root .shadow-vignette{z-index:8}.shadow-root .shadow-grain{z-index:9}.shadow-stage3d{--w3d-glow:#ff3864;--w3d-glow-soft:#ff38646b;--w3d-px:0deg;--w3d-py:0deg;z-index:3;pointer-events:none;perspective:1900px;perspective-origin:50%;background:radial-gradient(60% 70% at 50% 100%,#3c125a8c 0%,#0000 70%),radial-gradient(80% 60% at 50% 0,#14062699 0%,#0000 70%),linear-gradient(#04010c 0%,#08021a 55%,#04010c 100%);position:absolute;inset:0;overflow:hidden}.shadow-root[data-cam=room-about] .shadow-stage3d{--w3d-glow:#ff3864;--w3d-glow-soft:#ff386480}.shadow-root[data-cam=room-projects] .shadow-stage3d{--w3d-glow:#ff5e88;--w3d-glow-soft:#ff5e8880}.shadow-root[data-cam=room-demos] .shadow-stage3d{--w3d-glow:#ffd770;--w3d-glow-soft:#ffd77073}.shadow-root[data-cam=room-experience] .shadow-stage3d{--w3d-glow:#a06bd9;--w3d-glow-soft:#a06bd980}.shadow-root[data-cam=room-gaming] .shadow-stage3d{--w3d-glow:#7cf6c6;--w3d-glow-soft:#7cf6c673}.shadow-root[data-cam=room-contact] .shadow-stage3d{--w3d-glow:#ff9644;--w3d-glow-soft:#ff964480}.shadow-world3d{transform-style:preserve-3d;will-change:transform;transition:transform 1.55s cubic-bezier(.34,1.32,.45,1);position:absolute;inset:0}@keyframes w3dSettle{0%{transform:scale(1)}35%{transform:scale(1.012)}70%{transform:scale(.996)}to{transform:scale(1)}}.shadow-root[data-cam-moving=false][data-cam^=room-] .shadow-stage3d{animation:.85s cubic-bezier(.22,1,.36,1) 50ms w3dSettle}.shadow-root[data-cam-moving=false][data-cam=menu] .shadow-stage3d{animation:.7s cubic-bezier(.22,1,.36,1) w3dSettle}.w3d-bg{filter:brightness(.62)saturate(1.18)contrast(1.1);position:absolute;inset:-14%;transform:translateZ(-1100px)scale(1.78)}.w3d-bg:after{content:"";background:radial-gradient(ellipse 70% 55% at 50% 60%, var(--w3d-glow-soft) 0%, transparent 60%), linear-gradient(180deg, #06020e8c 0%, #06020e1a 35%, #06020e8c 100%);mix-blend-mode:screen;opacity:.85;pointer-events:none;transition:background .9s;position:absolute;inset:0}.w3d-bg img{object-fit:cover;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;animation:32s ease-in-out infinite alternate w3dBgDrift;display:block}@keyframes w3dBgDrift{0%{transform:translate(-1.5%,-1%)scale(1.02)}to{transform:translate(1.5%,1%)scale(1.04)}}.w3d-bg-fog{mix-blend-mode:screen;opacity:.85;pointer-events:none;background:radial-gradient(50% 60% at 30% 40%,#5a28826b 0%,#0000 60%),radial-gradient(60% 55% at 75% 65%,#280a4680 0%,#0000 65%),radial-gradient(80% 30% at 50% 100%,#ff38642e 0%,#0000 70%);transition:opacity 1s;animation:26s ease-in-out infinite alternate w3dFogDrift;position:absolute;inset:0}@keyframes w3dFogDrift{0%{transform:translate(-3%,-1.5%)scale(1.06)}to{transform:translate(3%,1.5%)scale(1.1)}}.w3d-bg-grid{mix-blend-mode:screen;opacity:.5;pointer-events:none;background-image:linear-gradient(#0000 0% 70%,#ff38641a 70% 100%),repeating-linear-gradient(90deg,#0000 0 80px,#ff38642e 80px 81px);transition:opacity .9s;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000 60%,#000 78% 100%);mask-image:linear-gradient(#0000 60%,#000 78% 100%)}.shadow-root[data-cam^=room-] .w3d-bg-fog{opacity:.45}.shadow-root[data-cam^=room-] .w3d-bg-grid{opacity:.25}.shadow-root[data-cam=menu][data-cam-moving=false] .shadow-world3d{transform:rotateY(var(--w3d-px)) rotateX(var(--w3d-py));transition:transform .9s cubic-bezier(.22,1,.36,1)}.shadow-pan-tint{background: radial-gradient(ellipse 55% 45% at 50% 52%, transparent 0%, transparent 38%, #06020e59 75%, #06020ec7 100%),  linear-gradient(180deg, #06020e59 0%, #0a03180d 30%, #0a03180d 60%, #06020ea6 90%, #06020eeb 100%),  radial-gradient(ellipse 75% 30% at 50% 100%, var(--w3d-glow-soft) 0%, transparent 70%);pointer-events:none;z-index:2;transition:background .9s;position:absolute;inset:0}.shadow-pan-tint:after{content:"";mix-blend-mode:overlay;opacity:.55;pointer-events:none;background:repeating-linear-gradient(#fff6ee0b 0 1px,#0000 1px 3px);position:absolute;inset:0}.w3d-atmosphere{z-index:1;pointer-events:none;mix-blend-mode:screen;opacity:.85;background:radial-gradient(45% 35% at 50% 55%,#0000 0% 35%,#08031659 70%,#04010cb3 100%),radial-gradient(30% 25% at 22% 35%,#a06bd92e 0%,#0000 65%),radial-gradient(30% 25% at 78% 65%,#ff5e8829 0%,#0000 65%);transition:opacity 1s,background 1s;position:absolute;inset:0}.shadow-root[data-cam^=room-] .w3d-atmosphere{opacity:.55;background:radial-gradient(ellipse 50% 45% at 50% 55%, transparent 0%, transparent 50%, #04010ca6 100%), radial-gradient(ellipse 40% 30% at 50% 75%, var(--w3d-glow-soft) 0%, transparent 65%)}.w3d-vignette{z-index:4;pointer-events:none;background:radial-gradient(ellipse 70% 55% at 50% 50%, transparent 35%, #04010c8c 90%, #04010cd9 100%), radial-gradient(ellipse 130% 30% at 50% 100%, var(--w3d-glow-soft) 0%, transparent 60%);mix-blend-mode:multiply;opacity:.85;transition:background 1s,opacity .7s;position:absolute;inset:0}.shadow-root[data-cam^=room-] .w3d-vignette{background:radial-gradient(ellipse 55% 45% at 50% 50%, transparent 30%, #04010ca6 95%, #04010cf2 100%), radial-gradient(ellipse 100% 35% at 50% 100%, var(--w3d-glow-soft) 0%, transparent 60%);opacity:.92}.w3d-floor-spill{z-index:1;pointer-events:none;background:radial-gradient(ellipse 55% 100% at 50% 0%, var(--w3d-glow-soft) 0%, transparent 70%), radial-gradient(ellipse 80% 60% at 50% 30%, #ff5e8814 0%, transparent 75%);filter:blur(22px);opacity:.7;mix-blend-mode:screen;height:38%;transition:opacity .9s,background 1s;position:absolute;bottom:-8%;left:-10%;right:-10%}.shadow-root[data-cam^=room-] .w3d-floor-spill{opacity:1;background:radial-gradient(ellipse 55% 100% at 50% 0%, var(--w3d-glow) 0%, transparent 65%), radial-gradient(ellipse 90% 70% at 50% 30%, var(--w3d-glow-soft) 0%, transparent 75%)}.w3d-billboard{width:38vw;height:50vh;transform-style:preserve-3d;box-shadow:0 30px 60px #000000a6, 0 0 0 1px #fff6ee14, 0 0 28px var(--w3d-glow-soft), inset 0 0 90px #0009;filter:brightness(.6)saturate(.92);background:#06020e;border:2px solid #fff6ee47;margin-top:-25vh;margin-left:-19vw;transition:box-shadow .6s,border-color .6s,filter .6s,transform .7s cubic-bezier(.34,1.4,.45,1);position:absolute;top:50%;left:50%;overflow:visible}.w3d-billboard img{object-fit:cover;filter:brightness(.92)saturate(1.08)contrast(1.04);-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;display:block}.w3d-billboard:before{content:"";mix-blend-mode:overlay;pointer-events:none;z-index:2;background:radial-gradient(90% 80%,#0000 50%,#06020eb3 100%),repeating-linear-gradient(#fff6ee0d 0 1px,#0000 1px 3px);position:absolute;inset:0}.w3d-billboard:after{content:"";background:radial-gradient(ellipse 60% 100% at 50% 0%, var(--w3d-glow-soft) 0%, transparent 75%);filter:blur(10px);opacity:0;pointer-events:none;z-index:0;height:32%;transition:opacity .7s .2s;position:absolute;bottom:-22%;left:-12%;right:-12%;transform:translateZ(-2px)}.w3d-billboard-frame{outline-offset:2px;pointer-events:none;z-index:3;border:1px solid #fff6ee38;outline:1px solid #00000073;transition:border-color .5s,box-shadow .5s;position:absolute;inset:6px}.w3d-billboard-frame:before,.w3d-billboard-frame:after{content:"";background:var(--w3d-glow);width:38%;height:5px;box-shadow:0 0 14px var(--w3d-glow);opacity:.78;position:absolute;transform:skew(-26deg)}.w3d-billboard-frame:before{top:-3px;left:-10px}.w3d-billboard-frame:after{bottom:-3px;right:-10px}.w3d-billboard-tag{border:1px solid var(--w3d-glow);border-left:3px solid var(--w3d-glow);color:#fff6ee;font-family:var(--font-mono), monospace;letter-spacing:.3em;text-transform:uppercase;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 4px 18px #0009, 0 0 16px var(--w3d-glow-soft);z-index:4;background:#0a0318eb;gap:10px;padding:6px 12px 6px 10px;font-size:10px;display:inline-flex;position:absolute;top:14px;left:14px;transform:skew(-6deg)}.w3d-tag-num{color:var(--w3d-glow);text-shadow:0 0 6px var(--w3d-glow);font-weight:700}.w3d-tag-label{color:var(--sh-pearl)}.w3d-billboard-now{background:var(--w3d-glow);color:#06020e;font-family:var(--font-mono), monospace;letter-spacing:.32em;text-transform:uppercase;box-shadow:0 4px 18px var(--w3d-glow-soft), 0 0 20px var(--w3d-glow-soft);opacity:0;z-index:4;padding:5px 10px;font-size:9px;font-weight:800;transition:opacity .45s .25s;position:absolute;bottom:-10px;right:-8px;transform:skew(-12deg)}.w3d-corner{pointer-events:none;z-index:4;width:22px;height:22px;position:absolute}.w3d-corner:before,.w3d-corner:after{content:"";background:var(--w3d-glow);box-shadow:0 0 10px var(--w3d-glow);position:absolute}.w3d-corner:before{width:100%;height:2px}.w3d-corner:after{width:2px;height:100%}.w3d-corner.tl{top:-2px;left:-2px}.w3d-corner.tl:before,.w3d-corner.tl:after{top:0;left:0}.w3d-corner.tr{top:-2px;right:-2px}.w3d-corner.tr:before,.w3d-corner.tr:after{top:0;right:0}.w3d-corner.bl{bottom:-2px;left:-2px}.w3d-corner.bl:before,.w3d-corner.bl:after{bottom:0;left:0}.w3d-corner.br{bottom:-2px;right:-2px}.w3d-corner.br:before,.w3d-corner.br:after{bottom:0;right:0}.w3d-rec{color:var(--sh-pearl);font-family:var(--font-mono), monospace;letter-spacing:.3em;text-transform:uppercase;z-index:4;background:#0a0318d9;border:1px solid #fff6ee38;align-items:center;gap:6px;padding:4px 8px;font-size:9px;display:inline-flex;position:absolute;top:14px;right:14px}.w3d-rec-dot{background:var(--w3d-glow);width:7px;height:7px;box-shadow:0 0 8px var(--w3d-glow);border-radius:50%;animation:1.4s ease-in-out infinite w3dRecPulse}@keyframes w3dRecPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}.w3d-channel{border:1px solid #fff6ee38;border-left:2px solid var(--w3d-glow);color:var(--sh-pearl);font-family:var(--font-mono), monospace;letter-spacing:.32em;text-transform:uppercase;z-index:4;box-shadow:0 0 14px var(--w3d-glow-soft);background:#0a0318d9;padding:4px 9px;font-size:9px;position:absolute;bottom:14px;left:14px}.w3d-billboard-scan{pointer-events:none;z-index:2;mix-blend-mode:overlay;opacity:.5;background:repeating-linear-gradient(#fff6ee12 0 1px,#0000 1px 2px),linear-gradient(#ff38640d 0%,#0000 30% 70%,#ff38640d 100%);animation:6s linear infinite w3dScanRoll;position:absolute;inset:0}@keyframes w3dScanRoll{0%{background-position:0 0,0 0}to{background-position:0 12px,0 0}}.w3d-billboard-shine{pointer-events:none;z-index:3;mix-blend-mode:screen;opacity:0;background:linear-gradient(115deg,#0000 0% 35%,#fff6ee2e 47%,#fff6ee52 50%,#fff6ee2e 53%,#0000 65% 100%) 200% 0/220% 100%;transition:opacity .6s;animation:5.5s ease-in-out infinite w3dShineSweep;position:absolute;inset:0}@keyframes w3dShineSweep{0%{background-position:200% 0}60%{background-position:-120% 0}to{background-position:-120% 0}}.w3d-skew-shape{pointer-events:none;background:var(--w3d-glow);box-shadow:0 0 18px var(--w3d-glow);opacity:0;z-index:4;transition:opacity .6s;position:absolute;transform:skew(-30deg)}.w3d-skew-shape.ss-1{width:8%;height:4px;top:-14px;right:22%}.w3d-skew-shape.ss-2{width:8%;height:4px;bottom:-14px;left:22%}.w3d-now-caret{color:#06020e;margin-right:6px;animation:1.1s step-end infinite w3dCaretBlink;display:inline-block}@keyframes w3dCaretBlink{0%,49%{opacity:1}50%,to{opacity:.15}}.w3d-billboard[data-active=true]{border-color:var(--w3d-glow);filter:brightness(1.08)saturate(1.18)contrast(1.04);box-shadow:0 60px 130px #000000d1, 0 0 0 1px var(--w3d-glow), 0 0 130px var(--w3d-glow-soft), 0 0 60px var(--w3d-glow-soft), inset 0 0 60px #00000059;transform:scale(1.05)}.w3d-billboard[data-active=true] .w3d-billboard-frame{border-color:var(--w3d-glow);box-shadow:inset 0 0 22px var(--w3d-glow-soft), 0 0 24px var(--w3d-glow-soft)}.w3d-billboard[data-active=true]:after{opacity:.95}.w3d-billboard[data-active=true] .w3d-billboard-now{opacity:1}.w3d-billboard[data-active=true] .w3d-billboard-shine{opacity:.55}.w3d-billboard[data-active=true] .w3d-skew-shape{opacity:.8}.w3d-about{transform:translate3d(1100px,-40px,-100px)rotateY(-32deg)}.w3d-projects{transform:translate3d(-1100px,-40px,-100px)rotateY(32deg)}.w3d-demos{transform:translate3d(0,-700px,-200px)rotateX(28deg)}.w3d-experience{transform:translate3d(-700px,600px,-200px)rotateY(22deg)rotateX(-16deg)}.w3d-gaming{transform:translate3d(700px,600px,-200px)rotateY(-22deg)rotateX(-16deg)}.w3d-contact{transform:translate3d(0,800px,-200px)rotateX(-30deg)}.w3d-about[data-active=true]{transform:translate3d(1100px,-40px,-100px)rotateY(-32deg)scale(1.05)}.w3d-projects[data-active=true]{transform:translate3d(-1100px,-40px,-100px)rotateY(32deg)scale(1.05)}.w3d-demos[data-active=true]{transform:translate3d(0,-700px,-200px)rotateX(28deg)scale(1.05)}.w3d-experience[data-active=true]{transform:translate3d(-700px,600px,-200px)rotateY(22deg)rotateX(-16deg)scale(1.05)}.w3d-gaming[data-active=true]{transform:translate3d(700px,600px,-200px)rotateY(-22deg)rotateX(-16deg)scale(1.05)}.w3d-contact[data-active=true]{transform:translate3d(0,800px,-200px)rotateX(-30deg)scale(1.05)}.shadow-root[data-cam^=room-] .w3d-billboard:not([data-active=true]){filter:brightness(.6)saturate(.7);opacity:.85}.shadow-root[data-cam=menu] .w3d-billboard:not([data-active=true]){filter:brightness(.7)saturate(.95)}.shadow-root[data-cam=intro] .shadow-world3d{transform:translateZ(-280px)}.shadow-root[data-cam=menu][data-cam-moving=true] .shadow-world3d{transform:translateZ(0)}.shadow-root[data-cam=room-about] .shadow-world3d{transform:translate3d(-1100px,40px,700px)rotateY(32deg)}.shadow-root[data-cam=room-projects] .shadow-world3d{transform:translate3d(1100px,40px,700px)rotateY(-32deg)}.shadow-root[data-cam=room-demos] .shadow-world3d{transform:translate3d(0,700px,700px)rotateX(-28deg)}.shadow-root[data-cam=room-experience] .shadow-world3d{transform:translate3d(700px,-600px,700px)rotateY(-22deg)rotateX(16deg)}.shadow-root[data-cam=room-gaming] .shadow-world3d{transform:translate3d(-700px,-600px,700px)rotateY(22deg)rotateX(16deg)}.shadow-root[data-cam=room-contact] .shadow-world3d{transform:translate3d(0,-800px,700px)rotateX(30deg)}.shadow-root[data-cam-moving=true] .shadow-stage3d{filter:blur(10px)brightness(.78)saturate(.7)contrast(1.06)}.shadow-root .shadow-stage3d{transition:filter .7s cubic-bezier(.22,1,.36,1)}.shadow-root[data-cam-moving=true] .w3d-atmosphere,.shadow-root[data-cam-moving=true] .w3d-floor-spill{opacity:1}@media (prefers-reduced-motion:reduce){.shadow-world3d{transition:transform .4s ease-out}.w3d-bg img,.w3d-bg-fog,.w3d-rec-dot,.w3d-billboard-scan,.w3d-billboard-shine{animation:none}.w3d-now-caret{opacity:1;animation:none}.shadow-root[data-cam-moving=false] .shadow-stage3d{animation:none}.shadow-root[data-cam=menu][data-cam-moving=false] .shadow-world3d{transform:none}}.shadow-glyphs-2d{z-index:6;pointer-events:none;font-family:var(--font-display), sans-serif;color:var(--sh-red);letter-spacing:-.04em;mix-blend-mode:screen;font-weight:900;position:absolute;inset:0;overflow:hidden}.shadow-glyphs-2d .gl2{-webkit-user-select:none;user-select:none;filter:blur(.4px);text-shadow:0 0 30px #ff386473,0 0 80px #ff386440;animation:18s ease-in-out infinite alternate glyphFloat;position:absolute}.shadow-glyphs-2d .g1{opacity:.1;--gl-rot:-8deg;font-size:140px;top:6%;left:4%}.shadow-glyphs-2d .g2{opacity:.1;--gl-rot:6deg;font-size:110px;animation-delay:-4s;top:64%;left:90%}.shadow-glyphs-2d .g3{opacity:.09;--gl-rot:-4deg;font-size:88px;animation-delay:-8s;top:78%;left:8%}.shadow-glyphs-2d .g4{opacity:.09;--gl-rot:12deg;font-size:110px;animation-delay:-12s;top:10%;left:86%}@keyframes glyphFloat{0%{transform:translateY(-6px) rotate(var(--gl-rot,0deg))}to{transform:translateY(6px) rotate(var(--gl-rot,0deg))}}.shadow-panel-overlay{z-index:60;pointer-events:none;position:absolute;inset:0}.shadow-panel-overlay:before{content:"";opacity:0;pointer-events:none;background:linear-gradient(#0000 0% 30%,#06020e9e 70%,#06020ed9 100%),radial-gradient(80% 60% at 0 0,#06020e8c 0%,#0000 60%);transition:opacity .5s;position:absolute;inset:0}.shadow-panel-overlay[data-open=true]:before{opacity:1}.ps-motion{pointer-events:none;z-index:2;mix-blend-mode:screen;opacity:0;position:absolute;inset:0;overflow:hidden}.shadow-panel-overlay[data-open=true] .ps-motion{animation:1.1s cubic-bezier(.2,.8,.2,1) psMotionFlash}@keyframes psMotionFlash{0%{opacity:0}20%{opacity:.95}to{opacity:0}}.ps-motion-line{background:linear-gradient(90deg, transparent, var(--rm-glow), white, var(--rm-glow), transparent);transform-origin:0;height:3px;filter:drop-shadow(0 0 6px var(--rm-glow));width:0%;animation:1.1s cubic-bezier(.16,1,.3,1) psStreak;position:absolute}.ps-motion-line-1{animation-delay:0s;top:18%;left:-10%;transform:rotate(-7deg)}.ps-motion-line-2{height:2px;animation-delay:60ms;top:48%;left:-10%;transform:rotate(-4deg)}.ps-motion-line-3{height:4px;animation-delay:.12s;top:76%;left:-10%;transform:rotate(-9deg)}@keyframes psStreak{0%{width:0%}35%{width:130%}to{opacity:0;width:130%}}.ps-halftone{pointer-events:none;z-index:2;background-image:radial-gradient(circle at center, var(--rm-glow) 1.5px, transparent 1.8px);opacity:0;transform-origin:30% 30%;mix-blend-mode:screen;background-size:14px 14px;width:70vw;height:70vh;position:absolute;top:-10%;left:-10%;transform:scale(.6);-webkit-mask-image:radial-gradient(50% 50% at 30% 30%,#000 0%,#0000 65%);mask-image:radial-gradient(50% 50% at 30% 30%,#000 0%,#0000 65%)}.shadow-panel-overlay[data-open=true] .ps-halftone{animation:1s cubic-bezier(.2,.8,.2,1) forwards psHalftone}@keyframes psHalftone{0%{opacity:0;transform:scale(.6)}35%{opacity:.45;transform:scale(1)}to{opacity:.18;transform:scale(1.15)}}.ps-splash{z-index:5;pointer-events:none;opacity:0;flex-direction:column;align-items:flex-start;gap:8px;transition:opacity .55s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;top:clamp(40px,8vh,90px);left:clamp(28px,5vw,90px);transform:translate(-60px)skew(-8deg)}.shadow-panel-overlay[data-open=true] .ps-splash{opacity:1;transition-delay:.32s;transform:translate(0)skew(-8deg)}.ps-splash-num{background:var(--rm-glow);color:#0a0318;font-family:var(--font-mono), monospace;letter-spacing:.3em;text-transform:uppercase;box-shadow:6px 6px 0 #0a0318, 6px 6px 0 3px var(--rm-glow);align-items:baseline;gap:8px;padding:6px 14px;font-size:13px;font-weight:700;display:inline-flex}.ps-splash-num .psn-tag{opacity:.75;font-size:11px}.ps-splash-num .psn-num{font-size:22px}.ps-splash-title{font-family:var(--font-display), "Archivo Black", sans-serif;letter-spacing:-.025em;text-transform:uppercase;color:#fff6ee;text-shadow:-3px 0 0 #0a0318, 3px 0 0 var(--rm-glow), 6px 6px 0 #000000d9, 0 0 60px color-mix(in oklab, var(--rm-glow) 50%, transparent);margin:0;font-size:clamp(80px,12vw,192px);font-weight:900;line-height:.86;position:relative}.ps-splash-title:before{content:attr(data-text);z-index:-1;color:#0000;-webkit-text-stroke:2px var(--rm-glow);opacity:.5;pointer-events:none;position:absolute;top:6px;left:6px}.ps-splash-rule{background:linear-gradient(90deg, var(--rm-glow), transparent 80%);width:60%;height:4px;box-shadow:0 0 18px var(--rm-glow);margin-top:6px}.ps-splash-sub{font-family:var(--font-mono), monospace;letter-spacing:.5em;color:#fff6eed9;text-transform:uppercase;text-shadow:0 0 12px #000000d9;border:1px solid color-mix(in oklab, var(--rm-glow) 50%, transparent);background:#0a0318b3;padding:6px 12px;font-size:12px}.ps-breadcrumb{z-index:5;pointer-events:none;font-family:var(--font-mono), monospace;letter-spacing:.3em;color:#fff6eebf;text-transform:uppercase;border:1px solid color-mix(in oklab, var(--rm-glow) 40%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;background:#0a0318c7;align-items:center;gap:10px;padding:8px 14px;font-size:10px;transition:opacity .45s,transform .45s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;top:clamp(28px,5vh,60px);right:clamp(28px,5vw,70px);transform:translateY(-12px)}.shadow-panel-overlay[data-open=true] .ps-breadcrumb{opacity:1;transition-delay:.45s;transform:translateY(0)}.psb-dot{background:var(--rm-glow);width:7px;height:7px;box-shadow:0 0 10px var(--rm-glow);border-radius:50%;animation:1.6s ease-in-out infinite psbPulse}@keyframes psbPulse{0%,to{opacity:.5;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}.psb-sep{color:#fff6ee52}.psb-active{color:var(--rm-glow);text-shadow:0 0 12px var(--rm-glow)}.ps-back{z-index:5;pointer-events:auto;background:var(--rm-glow);color:#0a0318;font-family:var(--font-display), sans-serif;letter-spacing:.32em;text-transform:uppercase;cursor:pointer;box-shadow:8px 8px 0 #0a0318, 8px 8px 0 4px var(--rm-glow), 14px 14px 30px #0006;opacity:0;border:none;align-items:center;gap:12px;padding:14px 22px 14px 18px;font-size:15px;font-weight:900;transition:transform .18s,box-shadow .18s,background .18s,opacity .45s;display:inline-flex;position:absolute;top:clamp(72px,10vh,110px);right:clamp(28px,5vw,70px);transform:skew(-10deg)}.shadow-panel-overlay[data-open=true] .ps-back{opacity:1;transition-delay:.55s}.ps-back>*{display:inline-block;transform:skew(10deg)}.ps-back:hover{box-shadow:11px 11px 0 #0a0318, 11px 11px 0 4px var(--rm-glow), 18px 18px 40px #00000073;background:#ffee4d;transform:skew(-10deg)translate(-3px,-3px)}.ps-back .psb-arrow{width:26px;height:26px;color:var(--rm-glow);background:#0a0318;border-radius:50%;place-items:center;font-size:11px;display:inline-grid}.ps-back .psb-key{font-family:var(--font-mono), monospace;letter-spacing:.28em;background:#00000040;padding:4px 8px;font-size:10px}.ps-burst{z-index:5;pointer-events:none;opacity:0;width:clamp(110px,12vw,160px);height:clamp(110px,12vw,160px);transition:opacity .5s,transform .7s cubic-bezier(.34,1.56,.64,1);position:absolute;top:clamp(170px,22vh,240px);right:clamp(30px,5vw,80px);transform:scale(.4)rotate(-30deg)}.shadow-panel-overlay[data-open=true] .ps-burst{opacity:1;transition-delay:.7s;transform:scale(1)rotate(0)}.ps-burst-spin{position:absolute;inset:0}.ps-burst-spin svg{width:100%;height:100%;filter:drop-shadow(0 0 22px var(--rm-glow,#ff3864));display:block;overflow:visible}.ps-burst-star-outer{fill:var(--rm-glow,#ff3864);stroke:#0a0318}.ps-burst-star-inner{fill:#0a0318;stroke:var(--rm-glow,#ff3864)}.ps-burst-text{font-family:var(--font-display), sans-serif;text-transform:uppercase;color:var(--rm-glow);text-shadow:0 0 12px #000000d9;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;font-weight:900;display:flex;position:absolute;inset:0}.ps-burst-text .pb-num{letter-spacing:.04em;font-size:26px;line-height:1}.ps-burst-text .pb-go{letter-spacing:.32em;font-size:16px;line-height:1.2}.ps-card{z-index:4;pointer-events:auto;background:linear-gradient(180deg, color-mix(in oklab, var(--rm-glow) 8%, transparent) 0%, transparent 30%), #080212c7;-webkit-backdrop-filter:blur(18px)saturate(1.15);border:2px solid var(--rm-glow);height:clamp(440px,68vh,720px);box-shadow:inset 0 0 80px #0000008c, 0 30px 90px #000000b3, 0 0 80px color-mix(in oklab, var(--rm-glow) 30%, transparent), 14px 14px 0 #0a0318, 14px 14px 0 4px var(--rm-glow);color:var(--sh-pearl);font-family:var(--font-sans), "Inter Tight", sans-serif;opacity:0;flex-direction:column;transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;bottom:clamp(20px,3vh,40px);left:clamp(20px,4vw,70px);right:clamp(20px,4vw,70px);overflow:hidden;transform:translateY(60px)skew(-1.5deg)}.shadow-panel-overlay[data-open=true] .ps-card{opacity:1;transition-delay:.4s;transform:translateY(0)skew(-1.5deg)}.ps-card:before{content:"";pointer-events:none;mix-blend-mode:screen;opacity:.55;background:repeating-linear-gradient(0deg,#0000 0 2px,#ffffff06 2px 3px);position:absolute;inset:0}.ps-card:after{content:"";border:1px solid color-mix(in oklab, var(--rm-glow) 30%, transparent);pointer-events:none;position:absolute;inset:8px}.ps-card-bracket{z-index:3;pointer-events:none;width:24px;height:24px;position:absolute}.ps-card-bracket:before,.ps-card-bracket:after{content:"";background:var(--rm-glow);box-shadow:0 0 10px var(--rm-glow);position:absolute}.ps-card-bracket:before{width:24px;height:3px}.ps-card-bracket:after{width:3px;height:24px}.ps-card-bracket.tl{top:-4px;left:-4px}.ps-card-bracket.tl:before,.ps-card-bracket.tl:after{top:0;left:0}.ps-card-bracket.tr{top:-4px;right:-4px}.ps-card-bracket.tr:before,.ps-card-bracket.tr:after{top:0;right:0}.ps-card-bracket.bl{bottom:-4px;left:-4px}.ps-card-bracket.bl:before,.ps-card-bracket.bl:after{bottom:0;left:0}.ps-card-bracket.br{bottom:-4px;right:-4px}.ps-card-bracket.br:before,.ps-card-bracket.br:after{bottom:0;right:0}.ps-card-tab{z-index:2;border-bottom:1px solid color-mix(in oklab, var(--rm-glow) 35%, transparent);background:linear-gradient(90deg, color-mix(in oklab, var(--rm-glow) 28%, transparent), transparent 80%);font-family:var(--font-mono), monospace;letter-spacing:.32em;color:#fff6eec7;text-transform:uppercase;flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 24px;font-size:10.5px;display:flex;position:relative}.psct-status{color:var(--rm-glow);text-shadow:0 0 10px var(--rm-glow)}.psct-status:before{content:"";background:var(--rm-glow);width:7px;height:7px;box-shadow:0 0 8px var(--rm-glow);border-radius:50%;margin-right:8px;animation:1.6s ease-in-out infinite psbPulse;display:inline-block}.ps-card-body{z-index:2;flex:1 1 0;padding:18px 24px;position:relative;overflow:hidden auto}.shadow-panel-overlay .proj-row{gap:4px 14px;padding:10px 14px}.shadow-panel-overlay .proj-name{font-size:17px}.shadow-panel-overlay .proj-desc{font-size:12px;line-height:1.4}.shadow-panel-overlay .proj-list{gap:6px}.shadow-panel-overlay .xp-row{margin-bottom:6px;padding:8px 12px 8px 22px}.shadow-panel-overlay .xp-title{font-size:14px}.shadow-panel-overlay .xp-desc{font-size:12px;line-height:1.4}.shadow-panel-overlay .xp-where{font-size:11px}.shadow-panel-overlay .xp-date{font-size:10px}.shadow-panel-overlay .demo-grid{gap:12px}.shadow-panel-overlay .about-grid{gap:18px}.shadow-panel-overlay .contact-grid{gap:12px}.ps-card-body::-webkit-scrollbar{width:6px}.ps-card-body::-webkit-scrollbar-thumb{background:color-mix(in oklab, var(--rm-glow) 50%, transparent)}.ps-card-body::-webkit-scrollbar-track{background:0 0}.shadow-panel-overlay .avatar-card{border-color:var(--rm-glow);background:color-mix(in oklab, var(--rm-glow) 6%, transparent)}.shadow-panel-overlay .stat-bar .fill{background:linear-gradient(90deg, var(--rm-glow), #ffee4d);box-shadow:0 0 8px var(--rm-glow)}.shadow-panel-overlay .xp-row:before{background:var(--rm-glow);box-shadow:0 0 10px var(--rm-glow)}.shadow-panel-overlay .tag{border-color:color-mix(in oklab, var(--rm-glow) 40%, transparent);color:#fff6eed9}.shadow-panel-overlay .contact-card:hover{border-color:var(--rm-glow);box-shadow:4px 4px 0 var(--rm-glow)}.shadow-panel-overlay .gaming-wrap{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.shadow-panel-overlay .game-card{border:1px solid color-mix(in oklab, var(--rm-glow) 35%, transparent);color:var(--sh-pearl);background:linear-gradient(165deg,#ff38640d,#0a0318a6);padding:14px 16px;transition:border-color .2s,transform .2s,box-shadow .2s;position:relative}.shadow-panel-overlay .game-card:before{content:"";background:var(--rm-glow);width:4px;height:100%;box-shadow:0 0 12px var(--rm-glow);opacity:.7;position:absolute;top:0;left:0}.shadow-panel-overlay .game-card:hover{border-color:var(--rm-glow);box-shadow:0 12px 28px #00000080, 0 0 24px color-mix(in oklab, var(--rm-glow) 35%, transparent);transform:translateY(-3px)}.shadow-panel-overlay .game-card .gc-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.shadow-panel-overlay .game-card h3{letter-spacing:-.005em;text-shadow:0 0 14px color-mix(in oklab, var(--rm-glow) 50%, transparent);font-weight:900;line-height:1;font-family:var(--font-display), sans-serif!important;text-transform:uppercase!important;color:var(--sh-pearl)!important;font-size:15px!important;font-style:normal!important}.shadow-panel-overlay .game-card .gc-meta{margin-bottom:10px;font-size:10px}.shadow-panel-overlay .game-card .badge{letter-spacing:.22em;font-size:8.5px;font-family:var(--font-mono), monospace;letter-spacing:.28em;background:var(--rm-glow);color:#0a0318;text-transform:uppercase;white-space:nowrap;padding:4px 8px;font-size:9px;font-weight:700}.shadow-panel-overlay .game-card .badge.plat{background:#ffee4d}.shadow-panel-overlay .game-card .badge.done{background:#7cf6c6}.shadow-panel-overlay .game-card .gc-meta{font-family:var(--font-mono), monospace;letter-spacing:.18em;color:#fff6ee99;margin-bottom:14px;font-size:11px}.shadow-panel-overlay .game-card .gc-bar{border:1px solid color-mix(in oklab, var(--rm-glow) 25%, transparent);background:#0000008c;height:6px;margin-bottom:8px;position:relative;overflow:hidden}.shadow-panel-overlay .game-card .gc-bar .fill{background:linear-gradient(90deg, var(--rm-glow), #ffee4d);height:100%;width:var(--p,50%);box-shadow:0 0 8px var(--rm-glow)}.shadow-panel-overlay .game-card .gc-row{font-family:var(--font-mono), monospace;letter-spacing:.28em;color:#fff6ee8c;text-transform:uppercase;justify-content:space-between;font-size:10px;display:flex}.shadow-panel-overlay .game-card .gc-row span:last-child{color:var(--rm-glow);font-weight:700}.shadow-panel-overlay .demo-tile:hover{border-color:var(--rm-glow)}.shadow-panel-overlay .panel-head{display:none}@media (max-width:880px){.ps-splash-title{font-size:clamp(56px,14vw,96px)}.ps-burst,.ps-breadcrumb{display:none}.ps-back{padding:10px 16px;font-size:12px;top:16px;right:16px}.ps-card{height:64vh;bottom:12px;left:12px;right:12px}}
.ashen-root{--ash-bg:#0a0806;--ash-bg-2:#1a0e08;--ash-bone:#d4c5a9;--ash-bone-dim:#d4c5a98c;--ash-bone-faint:#d4c5a92e;--ash-gold:#c9811e;--ash-gold-bright:#ffd060;--ash-ember:#ff7020;--ash-rust:#a3491e;--ash-blood:#8a2418;--ash-ease:cubic-bezier(.22, 1, .36, 1);background:var(--ash-bg);color:var(--ash-bone);font-family:var(--font-souls), "Cormorant Garamond", "EB Garamond", Georgia, serif;position:fixed;inset:0;overflow:hidden}.ashen-root *{box-sizing:border-box}.ashen-bg-image{z-index:0;filter:brightness(.55)saturate(.85)contrast(1.05);opacity:.85;background-image:url(/bg/ashen-backdrop.jpg);background-position:50% 70%;background-size:cover;position:absolute;inset:0}.ashen-bg{z-index:1;pointer-events:none;background-blend-mode:multiply;background:radial-gradient(80% 60% at 50% 70%,#a3491e52 0%,#0000 60%),radial-gradient(100% 80% at 50% 30%,#1a0e088c 0%,#0a080666 80%),linear-gradient(#1a0e08 0%,#0a0806 100%);position:absolute;inset:0}.ashen-vignette{z-index:8;pointer-events:none;background:radial-gradient(92% 82% at 50% 55%,#0000 28%,#0000008c 70%,#000000eb 100%),radial-gradient(60% 50%,#0000 60%,#06040266 100%),radial-gradient(70% 50% at 50% 100%,#0a060399 0%,#0000 60%),linear-gradient(#00000059 0%,#0000 18%);animation:12s ease-in-out infinite ashVignetteBreathe;position:absolute;inset:0}@keyframes ashVignetteBreathe{0%,to{opacity:1}50%{opacity:.92}}.ashen-grain{z-index:9;pointer-events:none;opacity:.22;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.6' numOctaves='2'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/></svg>");position:absolute;inset:0}.ashen-dust{z-index:7;pointer-events:none;mix-blend-mode:screen;position:absolute;inset:0;overflow:hidden}.ashen-dust .dust{filter:blur(.5px);animation:ashDustDrift var(--d,30s) ease-in-out infinite;animation-delay:var(--del,0s);will-change:transform;background:radial-gradient(circle,#fff0c8f2,#d4c5a940);border-radius:50%;position:absolute;box-shadow:0 0 4px #ffe8b466}@keyframes ashDustDrift{0%{opacity:0;transform:translate(0)}10%{opacity:1}25%{transform:translate(20px,-34px)}50%{transform:translate(-14px,-68px)}75%{opacity:.7;transform:translate(26px,-42px)}to{opacity:0;transform:translate(0)}}.ashen-mist{z-index:4;pointer-events:none;position:absolute;inset:0;overflow:hidden}.ashen-mist-layer{filter:blur(32px);mix-blend-mode:screen;opacity:.75;will-change:transform;width:200%;height:32vh;position:absolute;left:-50%}.ashen-mist-layer.l1{background:radial-gradient(56% 100% at 14%,#d4c5a942 0%,#0000 60%),radial-gradient(60% 100%,#466e9638 0%,#0000 60%),radial-gradient(56% 100% at 86%,#d4c5a938 0%,#0000 60%),radial-gradient(40% 100% at 50% 60%,#ffb84d14 0%,#0000 70%);height:38vh;animation:140s linear infinite ashMistDrift;bottom:2%}.ashen-mist-layer.l2{opacity:.6;background:radial-gradient(60% 100% at 26%,#5078a547 0%,#0000 65%),radial-gradient(60% 100% at 72%,#7891b433 0%,#0000 65%),radial-gradient(50% 100% at 52%,#a3491e0f 0%,#0000 60%);height:30vh;animation:200s linear infinite reverse ashMistDrift;bottom:22%}.ashen-mist-layer.l3{opacity:.45;background:radial-gradient(70% 100% at 40%,#3c5f8c3d 0%,#0000 70%),radial-gradient(52% 100% at 78%,#b4c8dc1f 0%,#0000 65%),radial-gradient(38% 100% at 18%,#8caac81a 0%,#0000 65%);height:26vh;animation:280s linear infinite ashMistDrift;bottom:44%}.ashen-mist-shroud{mix-blend-mode:multiply;pointer-events:none;opacity:.8;background:radial-gradient(80% 60% at 50% 100%,#283c5a38 0%,#0000 70%),radial-gradient(60% 80% at 50% 0,#141e3252 0%,#0000 70%);position:absolute;inset:0}@keyframes ashMistDrift{0%{transform:translate(0)}to{transform:translate(50%)}}.ashen-embers{z-index:5;pointer-events:none;position:absolute;inset:0;overflow:hidden}.ashen-embers .em{animation:ashenRise var(--d,8s) linear infinite;animation-delay:var(--del,0s);opacity:0;background:radial-gradient(circle,#ffb84d,#a3491e);border-radius:50%;position:absolute;bottom:-20px;box-shadow:0 0 6px #ff9030,0 0 14px #ff6020}@keyframes ashenRise{0%{opacity:0;transform:translate(0)scale(.6)}10%{opacity:1}90%{opacity:.8}to{transform:translate(var(--dx,0), -100vh) scale(1.3);opacity:0}}.ashen-arch{z-index:3;pointer-events:none;opacity:.92;mix-blend-mode:screen;position:absolute;inset:0}.ashen-arch svg{width:100%;height:100%;display:block}.ashen-arch-halo{transform-origin:600px 380px;animation:7s ease-in-out infinite ashArchHaloPulse}@keyframes ashArchHaloPulse{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}.ashen-arch-rose{transform-origin:600px 240px;animation:5.5s ease-in-out infinite ashArchRoseGlow}@keyframes ashArchRoseGlow{0%,to{filter:drop-shadow(0 0 18px #ffd06073)}50%{filter:drop-shadow(0 0 36px #ffd060d9)}}.ashen-arch-catch{transform-origin:600px 640px;animation:5.5s ease-in-out infinite ashArchCatchPulse}@keyframes ashArchCatchPulse{0%,to{opacity:.55;transform:scale(1)}50%{opacity:.9;transform:scale(1.04)}}.ashen-arch-spill{transform-origin:600px 760px;animation:.42s steps(2,end) infinite alternate ashArchSpillFlick}@keyframes ashArchSpillFlick{0%{opacity:.5;filter:blur(.6px)}to{opacity:.72;filter:blur()}}.ashen-marker{z-index:12;font-family:var(--font-mono), monospace;letter-spacing:.32em;color:var(--ash-bone-dim);text-transform:uppercase;border:1px solid var(--ash-bone-faint);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a080699;align-items:center;gap:10px;padding:8px 12px;font-size:10px;display:flex;position:absolute}.ashen-marker.top-l{top:22px;left:22px}.ashen-marker.top-r{top:22px;right:22px}.ashen-marker.bot-l{bottom:22px;left:22px}.ashen-marker.bot-r{bottom:22px;right:22px}.ashen-marker .am-num{color:var(--ash-gold);border-right:1px solid color-mix(in oklab, var(--ash-gold) 50%, transparent);padding-right:8px;font-weight:700}.ashen-marker .am-pulse{background:var(--ash-gold);width:6px;height:6px;box-shadow:0 0 8px var(--ash-gold);border-radius:50%;animation:2.4s ease-in-out infinite ashPulse}@keyframes ashPulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.ashen-stage{z-index:11;flex-direction:column;justify-content:center;align-items:center;padding:40px;display:flex;position:absolute;inset:0}.ashen-intro{text-align:center;animation:ashIntroIn 1.4s .1s both var(--ash-ease);flex-direction:column;align-items:center;display:flex}@keyframes ashIntroIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.ashen-intro-kicker{font-family:var(--font-mono), monospace;letter-spacing:.55em;color:var(--ash-bone-dim);text-transform:uppercase;margin-bottom:28px;font-size:11px}.ashen-intro-title{font-family:var(--font-souls), serif;color:var(--ash-bone);letter-spacing:.02em;text-shadow:0 0 60px #a3491e8c,0 0 12px #000000b3;font-size:clamp(72px,11vw,168px);font-style:italic;font-weight:700;line-height:1}.ashen-intro-title em{color:var(--ash-gold);text-shadow:0 0 80px #c9811eb3,0 0 12px #000000b3;font-style:italic;display:block}.ashen-intro-sub{font-family:var(--font-souls), serif;color:var(--ash-bone-dim);letter-spacing:.1em;max-width:540px;margin-top:22px;font-size:19px;font-style:italic;line-height:1.55}.ashen-intro-bonfire-wrap{animation:ashBonfireRise 1.6s .6s both var(--ash-ease);margin-top:24px;margin-bottom:16px}@keyframes ashBonfireRise{0%{opacity:0;transform:translateY(40px)scale(.8)}to{opacity:1;transform:translateY(0)scale(1)}}.ashen-intro-press{font-family:var(--font-souls), serif;letter-spacing:.4em;color:var(--ash-bone);border:1px solid var(--ash-bone-faint);cursor:pointer;text-transform:uppercase;transition:color 1.2s var(--ash-ease), border-color 1.2s var(--ash-ease), letter-spacing 1.2s var(--ash-ease), background 1.2s var(--ash-ease), box-shadow 1.2s var(--ash-ease);background:0 0;margin-top:30px;padding:18px 52px;font-size:22px;font-style:italic;font-weight:500;position:relative}.ashen-intro-press:before,.ashen-intro-press:after{content:"";background:var(--ash-bone-faint);width:36px;height:1px;position:absolute;top:50%}.ashen-intro-press:before{left:-50px}.ashen-intro-press:after{right:-50px}.ashen-intro-press:hover{color:var(--ash-gold);border-color:var(--ash-gold);letter-spacing:.55em;background:#a3491e1f;box-shadow:0 0 36px #c9811e59}.ashen-intro-glyph{font-family:var(--font-mono), monospace;letter-spacing:.5em;color:#d4c5a952;text-transform:uppercase;margin-top:28px;font-size:10px}.ashen-bonfire{pointer-events:none;--bf-size:1;flex-direction:column;align-items:center;display:flex;position:relative}.ashen-bonfire-cast{width:calc(540px * var(--bf-size));height:calc(180px * var(--bf-size));filter:blur(14px);pointer-events:none;z-index:-1;background:radial-gradient(50% 100% at 50% 100%,#ffb84d7a 0%,#a3491e3d 30%,#0000 75%);animation:.22s infinite ashCastFlicker;position:absolute;bottom:-56px;left:50%;transform:translate(-50%)}.ashen-bonfire-cast.cast-2{width:calc(320px * var(--bf-size));height:calc(110px * var(--bf-size));filter:blur(7px);background:radial-gradient(50% 100% at 50% 100%,#ffe8b46b 0%,#ff782838 35%,#0000 75%);animation:.13s infinite reverse ashCastFlicker}@keyframes ashCastFlicker{0%,to{opacity:1;transform:translate(-50%)scale(1)}35%{opacity:.82;transform:translate(-50%)scale(.94)}70%{opacity:1.08;transform:translate(-50%)scale(1.06)}}.ashen-bonfire-heat{left:50%;bottom:calc(48px * var(--bf-size));width:calc(120px * var(--bf-size));height:calc(220px * var(--bf-size));pointer-events:none;filter:blur(6px);mix-blend-mode:screen;z-index:1;background:radial-gradient(60% 100% at 50% 100%,#ffb84d1a 0%,#0000 70%);animation:1.6s ease-in-out infinite alternate ashHeatHaze;position:absolute;transform:translate(-50%)}@keyframes ashHeatHaze{0%{opacity:.55;transform:translate(-50%)translateY(0)scaleY(.98)}to{opacity:.85;transform:translate(-50%)translateY(-3px)scaleY(1.04)}}.ashen-bonfire-svg{width:calc(220px * var(--bf-size));height:calc(310px * var(--bf-size));filter:drop-shadow(0 0 32px #ff78288c)drop-shadow(0 0 70px #c9811e59);display:block}.ashen-bonfire-plume{left:50%;bottom:calc(40px * var(--bf-size));width:calc(220px * var(--bf-size));height:calc(280px * var(--bf-size));pointer-events:none;z-index:2;position:absolute;transform:translate(-50%)}.ashen-bonfire-plume .plm{opacity:0;animation:ashPlumeRise var(--d,3s) ease-out infinite;animation-delay:var(--del,0s);background:radial-gradient(circle,#ffe8a0,#ff7020 60%,#0000 100%);border-radius:50%;position:absolute;bottom:0;box-shadow:0 0 4px #ffb84d,0 0 10px #ff782899}.ashen-bonfire-plume .plm.hot{background:radial-gradient(circle,#fffae0,#ffd060 50%,#0000 100%);box-shadow:0 0 6px #ffe28a,0 0 14px #ffd060d9}@keyframes ashPlumeRise{0%{opacity:0;transform:translate(0)scale(.5)}15%{opacity:1}60%{opacity:.75}to{transform:translate(var(--dx,0), -220px) scale(.18);opacity:0}}.ashen-bonfire-flame{transform-origin:100px 230px;animation:4.6s ease-in-out infinite ashFlameSway}@keyframes ashFlameSway{0%,to{transform:scaleY(1)scaleX(1)translateY(0)rotate(0)}20%{transform:scaleY(1.05)scaleX(.96)translateY(-1px)rotate(-.5deg)}45%{transform:scaleY(.97)scaleX(1.03)translateY(1px)rotate(.4deg)}68%{transform:scaleY(1.04)scaleX(.98)translateY(-1px)rotate(-.3deg)}85%{transform:scaleY(1.01)scaleX(1.01)translateY(0)rotate(.2deg)}}.ashen-flame-body{transform-origin:100px 230px}.ashen-flame-body.corona{filter:blur(14px);animation:2.2s ease-in-out infinite alternate ashFlameCorona}.ashen-flame-body.halo{filter:blur(8px);animation:1.4s ease-in-out infinite alternate ashFlameHalo}.ashen-flame-body.outer{filter:blur(3.5px);transform-origin:100px 232px;animation:.34s infinite alternate ashFlameFlickSlow}.ashen-flame-body.mid{filter:blur(1.6px);animation:.21s infinite alternate-reverse ashFlameFlickMid}.ashen-flame-body.wisp{filter:blur(2.2px);transform-origin:118px 224px;mix-blend-mode:screen;animation:.27s infinite alternate ashFlameFlickWisp}.ashen-flame-body.inner{filter:blur(.6px);animation:.13s infinite alternate ashFlameFlickFast}.ashen-flame-body.core{animation:85ms infinite alternate-reverse ashFlameFlickFaster}.ashen-flame-body.white{filter:blur(2px);mix-blend-mode:screen;animation:.11s infinite alternate ashFlameWhite}.ashen-flame-body.spark{filter:blur(1.4px);mix-blend-mode:screen;transform-origin:100px 130px;animation:.6s ease-in-out infinite alternate ashFlameSpark}@keyframes ashFlameCorona{0%{opacity:.22;transform:scale(.98)}to{opacity:.42;transform:scale(1.06)}}@keyframes ashFlameHalo{0%{opacity:.42;transform:scale(.97)}to{opacity:.66;transform:scale(1.05)}}@keyframes ashFlameFlickSlow{0%{opacity:.38;transform:scaleY(.98)scaleX(1.02)}to{opacity:.52;transform:scaleY(1.04)scaleX(.97)}}@keyframes ashFlameFlickMid{0%{opacity:.52;transform:scaleY(.97)scaleX(1.02)translate(-.6px)}to{opacity:.74;transform:scaleY(1.05)scaleX(.96)translate(.6px)}}@keyframes ashFlameFlickWisp{0%{opacity:.36;transform:scaleY(.92)scaleX(1.04)translate(.5px)}to{opacity:.6;transform:scaleY(1.08)scaleX(.94)translate(-.5px)}}@keyframes ashFlameFlickFast{0%{opacity:.7;transform:scaleY(.96)scaleX(1.03)}to{opacity:.95;transform:scaleY(1.06)scaleX(.95)}}@keyframes ashFlameFlickFaster{0%{opacity:.78;transform:scale(.94)}to{opacity:1;transform:scale(1.07)}}@keyframes ashFlameWhite{0%{opacity:.72;transform:scaleY(.92)}to{opacity:.98;transform:scaleY(1.1)}}@keyframes ashFlameSpark{0%{opacity:.4;transform:translateY(0)scale(.7)}to{opacity:.85;transform:translateY(-6px)scale(1.05)}}.ashen-bonfire-sword{filter:drop-shadow(0 0 5px #ff782880)}.ash-ember.e1{animation:1.6s ease-in-out infinite ashEmberPulse}.ash-ember.e2{animation:2.1s ease-in-out .4s infinite ashEmberPulse}.ash-ember.e3{animation:1.8s ease-in-out .7s infinite ashEmberPulse}.ash-ember.e4{animation:2.3s ease-in-out .2s infinite ashEmberPulse}@keyframes ashEmberPulse{0%,to{opacity:.5}50%{opacity:1}}.ashen-bonfire-label{font-family:var(--font-souls), serif;font-style:italic;font-size:calc(18px * var(--bf-size));color:#d4c5a9b8;letter-spacing:.2em;text-transform:lowercase;text-align:center;text-shadow:0 0 10px #0009;margin-top:12px}.ashen-bonfire-label small{font-family:var(--font-mono), monospace;letter-spacing:.32em;color:#d4c5a952;text-transform:uppercase;margin-top:6px;font-size:10px;display:block}.ashen-menu-wrap{z-index:11;grid-template-columns:1fr 1.4fr 1fr;align-items:center;gap:4vw;padding:5vh 5vw 8vh;display:grid;position:absolute;inset:0}.ashen-plaque{border:1px solid var(--ash-bone-faint);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);max-height:76vh;animation:ashPlaqueIn 1.4s .35s both var(--ash-ease);background:radial-gradient(60% 30% at 20% 12%,#c9811e1a,#0000 70%),radial-gradient(50% 25% at 85% 88%,#c9811e17,#0000 70%),radial-gradient(40% 20% at 70% 30%,#8a24180f,#0000 70%),repeating-linear-gradient(90deg,#0000 0 3px,#d4c5a908 3px 4px),repeating-linear-gradient(0deg,#0000 0 5px,#d4c5a905 5px 6px),linear-gradient(#2e2014e6,#120c08eb);align-self:stretch;margin-top:12vh;padding:30px 26px 24px;position:relative;box-shadow:inset 0 0 60px #c9811e1a,inset 0 1px #d4c5a91a,inset 0 -16px 30px #00000080,0 22px 40px #000000a6}@keyframes ashPlaqueIn{0%{opacity:0;transform:translate(-22px)}to{opacity:1;transform:translate(0)}}.ashen-plaque:before,.ashen-plaque:after{content:"";border:1px solid var(--ash-gold);width:22px;height:22px;position:absolute}.ashen-plaque:before{border-bottom:0;border-right:0;top:-7px;left:-7px}.ashen-plaque:after{border-top:0;border-left:0;bottom:-7px;right:-7px}.ashen-plaque-foxing{pointer-events:none;mix-blend-mode:screen;opacity:.4;background:radial-gradient(circle at 12% 18%,#8a24182e 0%,#0000 4%),radial-gradient(circle at 88% 76%,#c9811e2e 0%,#0000 5%),radial-gradient(circle at 30% 92%,#3a120866 0%,#0000 3%);position:absolute;inset:0}.ashen-plaque-kicker{font-family:var(--font-mono), monospace;letter-spacing:.32em;color:var(--ash-gold);text-transform:uppercase;margin-bottom:14px;font-size:10px}.ashen-plaque-name{font-family:var(--font-souls), serif;color:var(--ash-bone);text-shadow:0 0 28px #c9811e66,0 1px #0009;margin-bottom:6px;font-size:38px;font-style:italic;font-weight:600;line-height:1}.ashen-plaque-title{font-family:var(--font-souls), serif;color:var(--ash-bone-dim);margin-bottom:16px;font-size:15px;font-style:italic}.ashen-plaque-sigil{opacity:.95;justify-content:center;margin:8px 0 16px;display:flex}.ashen-plaque-sigil svg{filter:drop-shadow(0 0 18px #c9811e80);width:96px;height:96px;animation:28s linear infinite ashSigilTurn}@keyframes ashSigilTurn{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ashen-plaque-initial{transform-origin:50px 50px;text-shadow:0 0 8px #ffd06099;animation:28s linear infinite ashSigilTurnReverse}@keyframes ashSigilTurnReverse{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}.ashen-plaque-desc{font-family:var(--font-souls), serif;color:#d4c5a9b3;border-top:1px solid var(--ash-bone-faint);padding-top:14px;font-size:14px;font-style:italic;line-height:1.62}.ashen-plaque-stats{border-top:1px solid var(--ash-bone-faint);flex-direction:column;gap:6px;margin-top:16px;padding-top:14px;display:flex}.ashen-plaque-stats .aps-row{font-family:var(--font-mono), monospace;letter-spacing:.22em;color:var(--ash-bone-dim);text-transform:uppercase;cursor:default;transition:color 1.2s var(--ash-ease);justify-content:space-between;align-items:baseline;font-size:10px;display:flex}.ashen-plaque-stats .aps-k{transition:color 1.2s var(--ash-ease), letter-spacing 1.2s var(--ash-ease)}.ashen-plaque-stats .aps-v{font-family:var(--font-souls), serif;letter-spacing:.04em;background:linear-gradient(#ffe28a 0%,#ffd060 35%,#c9811e 80%,#8a5a18 100%);-webkit-text-fill-color:transparent;text-shadow:0 0 10px #c9811e59;transition:filter 1.2s var(--ash-ease), transform 1.2s var(--ash-ease);filter:drop-shadow(0 0 #0000);-webkit-background-clip:text;background-clip:text;font-size:15px;font-style:italic;font-weight:700}.ashen-plaque-stats .aps-row:hover .aps-k{color:var(--ash-bone);letter-spacing:.32em}.ashen-plaque-stats .aps-row:hover .aps-v{filter:drop-shadow(0 0 8px #ffd060b3)brightness(1.15);transform:translateY(-1px)}.ashen-bonfire-wrap{animation:ashBonfireIn 1.4s .4s both var(--ash-ease);flex-direction:column;place-self:center;align-items:center;margin-top:6vh;display:flex}@keyframes ashBonfireIn{0%{opacity:0;transform:translateY(40px)scale(.85)}to{opacity:1;transform:translateY(0)scale(1)}}.ashen-choices{border:1px solid var(--ash-bone-faint);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:linear-gradient(#1a0e088c,#0a08068c);flex-direction:column;align-self:stretch;margin-top:12vh;padding:18px 0;display:flex;position:relative}.ashen-choices:before,.ashen-choices:after{content:"";border:1px solid var(--ash-gold);width:22px;height:22px;position:absolute}.ashen-choices:before{border-bottom:0;border-left:0;top:-7px;right:-7px}.ashen-choices:after{border-top:0;border-right:0;bottom:-7px;left:-7px}.ashen-choices-head{font-family:var(--font-mono), monospace;letter-spacing:.4em;color:var(--ash-gold);text-transform:uppercase;border-bottom:1px solid var(--ash-bone-faint);padding:0 24px 14px;font-size:10px}.ashen-choices-foot{font-family:var(--font-mono), monospace;letter-spacing:.32em;color:#d4c5a952;text-transform:lowercase;border-top:1px solid var(--ash-bone-faint);margin-top:6px;padding:12px 24px 4px;font-size:9.5px}.ashen-choice{cursor:pointer;text-align:left;font-family:var(--font-souls), serif;color:#d4c5a98c;letter-spacing:.04em;text-transform:lowercase;transition:color 1.2s var(--ash-ease), letter-spacing 1.2s var(--ash-ease), padding-left 1.2s var(--ash-ease), background 1.2s var(--ash-ease), border-left-color 1.2s var(--ash-ease), text-shadow 1.2s var(--ash-ease);opacity:0;animation:ashChoiceIn 1.2s both var(--ash-ease);background:0 0;border:0;border-left:2px solid #0000;grid-template-columns:38px 1fr 24px;align-items:center;gap:14px;padding:13px 24px;font-size:24px;font-style:italic;display:grid;position:relative;overflow:visible}.ashen-choice:nth-child(2){animation-delay:.55s}.ashen-choice:nth-child(3){animation-delay:.7s}.ashen-choice:nth-child(4){animation-delay:.85s}.ashen-choice:nth-child(5){animation-delay:1s}.ashen-choice:nth-child(6){animation-delay:1.15s}.ashen-choice:nth-child(7){animation-delay:1.3s}@keyframes ashChoiceIn{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:translate(0)}}.ashen-choice:before{content:"";pointer-events:none;width:0;height:90%;transition:width 1.2s var(--ash-ease), opacity 1.2s var(--ash-ease);opacity:0;filter:blur(6px);background:radial-gradient(110% 100% at 0%,#ffe8b46b 0%,#ffb84d47 18%,#c9811e2e 36%,#0000 72%);position:absolute;top:50%;left:0;transform:translateY(-50%)}.ashen-choice:after{content:"";opacity:0;width:6px;height:6px;transition:transform 1.2s var(--ash-ease), opacity 1.2s var(--ash-ease);pointer-events:none;background:radial-gradient(circle,#ffe28a 0%,#ff7020 60%,#0000 100%);border-radius:50%;position:absolute;top:50%;left:-3px;transform:translateY(-50%)scale(0);box-shadow:0 0 12px #ffd060,0 0 22px #ff782899}.ashen-choice:hover:before,.ashen-choice.active:before{opacity:1;width:100%;animation:.42s steps(2,end) infinite alternate ashChoiceFlicker}.ashen-choice:hover:after,.ashen-choice.active:after{opacity:1;animation:1.6s ease-in-out infinite ashChoiceEmberPulse;transform:translateY(-50%)scale(1)}@keyframes ashChoiceFlicker{0%{opacity:.85}to{opacity:1}}@keyframes ashChoiceEmberPulse{0%,to{box-shadow:0 0 10px #ffd060,0 0 18px #ff782880}50%{box-shadow:0 0 16px #ffe28a,0 0 32px #ff7828d9}}.ashen-choice:hover,.ashen-choice.active{color:var(--ash-bone);border-left-color:var(--ash-gold);letter-spacing:.18em;text-shadow:0 0 14px #ffd0608c,0 0 4px #000000b3;background:linear-gradient(90deg,#c9811e38,#0000 85%);padding-left:36px}.ashen-choice-num{font-family:var(--font-souls), serif;color:var(--ash-gold);text-align:right;transition:text-shadow 1.2s var(--ash-ease);font-size:22px;font-style:italic;font-weight:600}.ashen-choice:hover .ashen-choice-num,.ashen-choice.active .ashen-choice-num{text-shadow:0 0 16px #ffd060d9}.ashen-choice-meta{flex-direction:column;gap:2px;line-height:1.05;display:flex}.ac-label{font-style:italic}.ac-sub{font-family:var(--font-mono), monospace;letter-spacing:.32em;color:#d4c5a966;text-transform:uppercase;transition:color 1.2s var(--ash-ease);margin-top:2px;font-size:9.5px;font-style:normal}.ashen-choice:hover .ac-sub,.ashen-choice.active .ac-sub{color:var(--ash-gold)}.ashen-choice-mark{color:var(--ash-gold);opacity:0;transition:opacity 1.2s var(--ash-ease), transform 1.2s var(--ash-ease), text-shadow 1.2s var(--ash-ease);font-size:14px;transform:translate(-8px)}.ashen-choice:hover .ashen-choice-mark,.ashen-choice.active .ashen-choice-mark{opacity:1;text-shadow:0 0 16px var(--ash-gold), 0 0 4px #ffd060;transform:translate(0)}.ashen-doc{z-index:20;border:1px solid var(--ash-bone-faint);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:ashDocIn 1.4s var(--ash-ease);background:radial-gradient(50% 80% at 50% 0,#c9811e2e 0%,#0000 60%),repeating-linear-gradient(0deg,#0000 0 3px,#d4c5a905 3px 4px),linear-gradient(#261a10f2,#0a0806f5);flex-direction:column;display:flex;position:absolute;inset:6vh 8vw;box-shadow:inset 0 0 90px #c9811e1a,0 0 140px #a3491e38,0 30px 60px #000000bf}@keyframes ashDocIn{0%{opacity:0;filter:blur(2px);transform:scale(.97)translateY(8px)}to{opacity:1;filter:blur();transform:scale(1)translateY(0)}}.ashen-doc-edge{pointer-events:none;filter:drop-shadow(0 -4px 10px #c9811e47);height:22px;position:absolute;top:-12px;left:-1px;right:-1px}.ashen-doc-edge svg{width:100%;height:100%;display:block}.ashen-doc-corner{border:1px solid var(--ash-gold);pointer-events:none;width:30px;height:30px;position:absolute;box-shadow:0 0 12px #c9811e73}.ashen-doc-corner.tl{border-bottom:0;border-right:0;top:-7px;left:-7px}.ashen-doc-corner.tr{border-bottom:0;border-left:0;top:-7px;right:-7px}.ashen-doc-corner.bl{border-top:0;border-right:0;bottom:-7px;left:-7px}.ashen-doc-corner.br{border-top:0;border-left:0;bottom:-7px;right:-7px}.ashen-doc-head{border-bottom:1px solid var(--ash-bone-faint);flex-shrink:0;justify-content:space-between;align-items:flex-end;padding:26px 38px 22px;display:flex}.ashen-doc-headline{align-items:flex-start;gap:22px;display:flex}.ashen-doc-numeral{font-family:var(--font-souls), serif;color:var(--ash-gold);text-shadow:0 0 28px #c9811e8c;letter-spacing:.02em;border-right:1px solid var(--ash-bone-faint);padding-right:22px;font-size:60px;font-style:italic;font-weight:700;line-height:.85}.ashen-doc-title{font-family:var(--font-souls), serif;color:var(--ash-bone);letter-spacing:.01em;text-shadow:0 0 18px #0009;align-items:baseline;font-size:44px;font-style:italic;font-weight:600;line-height:1;display:flex}.ashen-doc-dropcap{font-family:var(--font-souls), serif;background:linear-gradient(#fff0a8 0%,#ffd060 28%,#c9811e 72%,#8a5a18 100%);-webkit-text-fill-color:transparent;text-shadow:0 0 22px #c9811e99;filter:drop-shadow(0 0 16px #ffd06073);-webkit-background-clip:text;background-clip:text;margin-right:.06em;padding:0 .05em;font-size:1.55em;font-style:italic;font-weight:700;line-height:.9;animation:4.4s ease-in-out infinite ashDropcapGlow;position:relative}.ashen-doc-dropcap:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(50% 50%,#c9811e38 0%,#0000 70%);position:absolute;inset:-16% -8% -10% -10%}@keyframes ashDropcapGlow{0%,to{filter:drop-shadow(0 0 14px #ffd06066)}50%{filter:drop-shadow(0 0 22px #ffd060b3)}}.ashen-doc-sub{font-family:var(--font-souls), serif;letter-spacing:.2em;color:#d4c5a980;text-transform:lowercase;margin-top:6px;font-size:14px;font-style:italic}.ashen-doc-back{font-family:var(--font-souls), serif;color:var(--ash-bone-dim);border:1px solid var(--ash-bone-faint);cursor:pointer;letter-spacing:.12em;transition:color 1.2s var(--ash-ease), border-color 1.2s var(--ash-ease), box-shadow 1.2s var(--ash-ease), letter-spacing 1.2s var(--ash-ease);background:0 0;padding:10px 22px;font-size:16px;font-style:italic}.ashen-doc-back:hover{color:var(--ash-gold);border-color:var(--ash-gold);letter-spacing:.22em;box-shadow:0 0 26px #c9811e66}.ashen-doc-flourish{padding:14px 38px 6px}.ashen-doc-flourish svg{opacity:.85;width:100%;height:32px;display:block}.ashen-doc-body{flex:1;padding:14px 40px 32px;overflow-y:auto}.ashen-doc-body::-webkit-scrollbar{width:6px}.ashen-doc-body::-webkit-scrollbar-thumb{background:#c9811e66}.ashen-doc-body::-webkit-scrollbar-track{background:0 0}.ashen-root .panel-head{display:none}.ashen-root .display,.ashen-root .eyebrow{font-family:var(--font-souls), serif}.ashen-root h2,.ashen-root h3,.ashen-root h4,.ashen-root .proj-name{letter-spacing:.02em;font-style:italic;font-weight:600;font-family:var(--font-souls), serif!important;text-transform:none!important}.ashen-root .bio-block h2{font-size:38px}.ashen-root .stat-bar .fill{background:linear-gradient(90deg, var(--ash-gold), var(--ash-gold-bright));box-shadow:0 0 10px #c9811e8c}.ashen-root .avatar-card{border-color:#c9811e66}.ashen-root .corner{border-color:var(--ash-gold)!important}.ashen-root .tag{border-color:var(--ash-bone-faint);color:#d4c5a999;font-family:var(--font-mono), monospace}.ashen-root .xp-row:before{background:var(--ash-gold);box-shadow:0 0 10px var(--ash-gold)}.ashen-root .xp-row .xp-date,.ashen-root .kicker{color:var(--ash-gold)}.ashen-root .contact-card{border-color:var(--ash-bone-faint);background:#1a0e0880}.ashen-root .contact-card .cc-v{font-style:italic;font-family:var(--font-souls), serif!important;text-transform:none!important}.ashen-root .contact-card:hover{border-color:var(--ash-gold);box-shadow:4px 4px #c9811e66}.ashen-root .game-card{background:#1a0e0880;border-color:#d4c5a929}.ashen-root .game-card:hover{border-color:var(--ash-gold)}.ashen-root .badge{color:var(--ash-bg);background:var(--ash-gold)!important}.ashen-root .demo-tile{background:#1a0e0880;border-color:#d4c5a929}.ashen-root .demo-tile:hover{border-color:var(--ash-gold)}.ashen-root .topbar,.ashen-root .botbar{display:none}@media (max-width:980px){.ashen-menu-wrap{grid-template-rows:auto auto auto;grid-template-columns:1fr;gap:24px;padding:4vh 5vw 6vh;overflow-y:auto}.ashen-plaque,.ashen-choices,.ashen-bonfire-wrap{margin-top:0}.ashen-doc{inset:4vh 5vw}.ashen-doc-numeral{font-size:44px}.ashen-doc-title{font-size:32px}.ashen-marker{padding:6px 10px;font-size:9px}.ashen-marker.bot-l,.ashen-marker.bot-r{display:none}.ashen-intro-title{font-size:clamp(48px,14vw,96px)}.ashen-intro-press{letter-spacing:.32em;padding:14px 36px;font-size:18px}}@media (prefers-reduced-motion:reduce){.ashen-mist-layer,.ashen-embers .em,.ashen-dust .dust,.ashen-bonfire-flame,.ashen-flame-body,.ashen-bonfire-cast,.ashen-bonfire-plume .plm,.ashen-arch-halo,.ashen-arch-rose,.ashen-plaque-sigil svg,.ashen-plaque-initial,.ash-ember,.ashen-grain{animation:none!important}}
