:root{--forest-void: #020808;--background: #121414;--surface: #121414;--surface-container: #1e2020;--surface-container-low: #1a1c1c;--surface-container-high: #282a2a;--surface-container-lowest: #0d0f0f;--on-surface: #e2e2e2;--on-surface-variant: #dfc0b3;--on-surface-muted: #dfc0b3;--primary: #ffb694;--primary-container: #ea6b23;--on-primary-container: #4c1a00;--runic-blue: #00f0ff;--amber-glow: #ffb800;--blood-orange: #ad2817;--outline: #a78b7f;--container-max: 1440px;--margin: 32px;--gutter: 24px;--section-padding: 96px;--font-display: "Sora", sans-serif;--font-body: "Sora", sans-serif;--font-mono: "JetBrains Mono", monospace;color:var(--on-surface);background:var(--forest-void);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:var(--forest-void);overflow-x:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:linear-gradient(#12101000 50%,#0000001a 50%),linear-gradient(90deg,#ff000003,#00ff0003);background-size:100% 4px,3px 100%;z-index:100;pointer-events:none;opacity:.3}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input{font:inherit}#root{min-height:100vh}::selection{background:var(--runic-blue);color:var(--forest-void)}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 48;-webkit-user-select:none;user-select:none}.glassmorphism{background:#1b1c1c66;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.05)}.glow-text-runic{text-shadow:0 0 15px rgba(0,240,255,.8),0 0 30px rgba(0,240,255,.4)}.carved-button{background:linear-gradient(145deg,#1e2020,#0d0f0f);box-shadow:4px 4px 8px #080a0a,-4px -4px 8px #282a2a;border:1px solid rgba(255,255,255,.05);color:var(--on-surface);transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer}.carved-button:hover{box-shadow:0 0 25px #00f0ff66;border-color:var(--runic-blue);color:var(--runic-blue);transform:scale(1.05)}.glitch-hover:hover{animation:glitch .3s cubic-bezier(.25,.46,.45,.94) both infinite}@keyframes glitch{0%{transform:translate(0)}20%{transform:translate(-2px,2px)}40%{transform:translate(-2px,-2px)}60%{transform:translate(2px,2px)}80%{transform:translate(2px,-2px)}to{transform:translate(0)}}.pulse-button{animation:pulse-glow 2s infinite}@keyframes pulse-glow{0%,to{box-shadow:0 0 15px #ea6b2366}50%{box-shadow:0 0 30px #ea6b23b3}}.entrance-fade-up{opacity:1;transform:translateY(0);animation:fadeUp .8s cubic-bezier(.16,1,.3,1) both}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.entrance-fade-up,.reveal-card{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}}.reveal-card{opacity:0;transform:scale(.95);transition:all .8s cubic-bezier(.16,1,.3,1)}.reveal-card.visible{opacity:1;transform:scale(1)}.breathe-indicator{animation:breathe 3s ease-in-out infinite}@keyframes breathe{0%,to{opacity:.4;transform:scale(.9)}50%{opacity:1;transform:scale(1.1);box-shadow:0 0 10px #00f0ff99}}.ember{position:absolute;left:0;bottom:-12px;width:var(--size, 10px);height:var(--size, 10px);margin:0;padding:0;border:0;background:transparent center / contain no-repeat;background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='64'%20height='64'%20viewBox='0%200%2064%2064'%20fill='none'%3e%3cdefs%3e%3cradialGradient%20id='ember'%20cx='50%25'%20cy='50%25'%20r='50%25'%3e%3cstop%20offset='0%25'%20stop-color='%23FFB694'%20stop-opacity='0.95'/%3e%3cstop%20offset='28%25'%20stop-color='%23EA6B23'%20stop-opacity='0.65'/%3e%3cstop%20offset='62%25'%20stop-color='%23EA6B23'%20stop-opacity='0.2'/%3e%3cstop%20offset='100%25'%20stop-color='%23EA6B23'%20stop-opacity='0'/%3e%3c/radialGradient%3e%3c/defs%3e%3ccircle%20cx='32'%20cy='32'%20r='32'%20fill='url(%23ember)'/%3e%3c/svg%3e");pointer-events:none;will-change:transform,opacity;animation:ember-rise var(--duration, 8s) linear infinite;animation-delay:var(--delay, 0s);opacity:0;filter:blur(var(--blur, 0px))}.ember--cyan{background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='64'%20height='64'%20viewBox='0%200%2064%2064'%20fill='none'%3e%3cdefs%3e%3cradialGradient%20id='emberCyan'%20cx='50%25'%20cy='50%25'%20r='50%25'%3e%3cstop%20offset='0%25'%20stop-color='%23E0FCFF'%20stop-opacity='0.9'/%3e%3cstop%20offset='30%25'%20stop-color='%2300F0FF'%20stop-opacity='0.55'/%3e%3cstop%20offset='65%25'%20stop-color='%2300F0FF'%20stop-opacity='0.15'/%3e%3cstop%20offset='100%25'%20stop-color='%2300F0FF'%20stop-opacity='0'/%3e%3c/radialGradient%3e%3c/defs%3e%3ccircle%20cx='32'%20cy='32'%20r='32'%20fill='url(%23emberCyan)'/%3e%3c/svg%3e")}@keyframes ember-rise{0%{transform:translateZ(0) scale(var(--scale-start, .55));opacity:0}8%{opacity:var(--peak, .75)}50%{transform:translate3d(var(--drift-a, 18px),-54vh,0) scale(var(--scale-mid, 1));opacity:var(--peak, .75)}88%{opacity:calc(var(--peak, .75) * .55)}to{transform:translate3d(var(--drift-b, -22px),-108vh,0) scale(var(--scale-end, .35));opacity:0}}.tech-badge{background:#ffffff08;border:1px solid rgba(0,240,255,.1);transition:all .3s ease}.tech-badge:hover{border-color:var(--runic-blue);box-shadow:0 0 20px #00f0ff33;background:#00f0ff0d}.label-caps{font-family:var(--font-mono);font-size:12px;line-height:16px;letter-spacing:.1em;font-weight:700;text-transform:uppercase}.page-shell{width:min(100% - (var(--margin) * 2),var(--container-max));margin-inline:auto}.section-pad{padding-block:var(--section-padding)}@media(max-width:768px){:root{--margin: 20px;--section-padding: 72px}}.navbar{position:fixed;top:0;left:0;right:0;width:100%;z-index:50;border-radius:0;border:0;border-bottom:1px solid rgba(0,240,255,.2);background:#1214148c;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:0 8px 24px #00000040}.navbar__inner{width:min(100% - (var(--margin) * 2),var(--container-max));margin-inline:auto;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:2rem 0;position:relative}.navbar__brand{font-family:var(--font-display);font-size:clamp(1rem,2vw,1.5rem);font-weight:700;letter-spacing:-.04em;color:var(--primary);white-space:nowrap}.navbar__links{display:flex;align-items:center;gap:1.35rem}.navbar__link{font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--on-surface-variant);padding:.25rem .75rem;border-radius:9999px;transition:color .2s ease,transform .2s ease,background .2s ease}.navbar__link:hover,.navbar__link.is-active{color:var(--runic-blue);transform:scale(1.08);background:#ffffff0d}.navbar__actions{display:flex;align-items:center;gap:.85rem}.lang-switch{display:inline-flex;align-items:center;gap:.15rem;padding:.2rem;border-radius:9999px;border:1px solid rgba(0,240,255,.28);background:#0d0f0f8c}.lang-switch__btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--on-surface-variant);font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.08em;padding:.35rem .55rem;border-radius:9999px;cursor:pointer;transition:color .2s ease,background .2s ease}.lang-switch__btn:hover{color:var(--runic-blue)}.lang-switch__btn.is-active{color:#041014;background:var(--runic-blue)}.navbar__icon{color:var(--runic-blue);display:grid;place-items:center;transition:transform .2s ease}.navbar__icon:hover{transform:scale(1.25)}.navbar__cta{display:inline-flex;align-items:center;padding:.5rem 1.5rem;border-radius:9999px;background:var(--primary-container);color:var(--on-primary-container);transition:transform .2s ease,opacity .2s ease}.navbar__cta:hover{transform:scale(1.08)}.navbar__menu{display:none;background:transparent;border:0;color:var(--runic-blue);cursor:pointer;padding:0}@media(max-width:900px){.navbar__inner{padding:.75rem 0}.navbar__menu{display:grid;place-items:center}.navbar__cta{display:none}.lang-switch__btn{padding:.3rem .45rem;font-size:10px}.navbar__links{position:absolute;top:calc(100% + .35rem);left:0;right:0;flex-direction:column;gap:.5rem;padding:1rem;border-radius:1rem;border:1px solid rgba(0,240,255,.2);background:#0d0f0ff2;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);opacity:0;pointer-events:none;transform:translateY(-8px);transition:opacity .2s ease,transform .2s ease}.navbar__links.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}}.footer{width:100%;border-top:1px solid rgba(255,182,148,.2);padding:3rem 0 2rem;background:#020808cc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);margin-top:4rem}.footer__inner{display:flex;flex-direction:column;align-items:center;gap:2rem}.footer__brand{display:flex;flex-direction:column;align-items:center;gap:1rem}.footer__token{width:3rem;height:3rem;border-radius:1rem;display:grid;place-items:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--primary);transition:transform .2s ease,border-color .2s ease}.footer__token:hover{transform:scale(1.1);border-color:var(--primary)}.footer__brand-text{color:var(--primary);letter-spacing:.2em;font-size:1rem}.footer__nav{display:flex;flex-wrap:wrap;justify-content:center;gap:2rem;font-family:var(--font-mono);font-size:14px;color:var(--on-surface-muted)}.footer__nav a{transition:color .2s ease,transform .2s ease}.footer__nav a:hover{color:var(--primary);transform:scale(1.08)}.footer__social{display:flex;gap:1.5rem}.footer__social a{width:2.5rem;height:2.5rem;border-radius:9999px;border:1px solid rgba(255,255,255,.05);display:grid;place-items:center;transition:all .2s ease}.footer__social a:hover{border-color:var(--runic-blue);color:var(--runic-blue);transform:scale(1.2)}.footer__copy{text-align:center;opacity:.7;font-family:var(--font-mono);font-size:14px;color:var(--on-surface-muted)}.footer__copy p{margin:0}.footer__copy p+p{margin-top:.5rem;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.layout{min-height:100vh;display:flex;flex-direction:column;background:var(--forest-void)}.layout__main{flex:1}.character-placeholder{position:relative;width:100%;display:flex;flex-direction:column;align-items:center;justify-self:center;gap:0}.character-placeholder__viewport{position:relative;width:100%;min-height:min(560px,72svh);display:grid;place-items:center}.character-placeholder__ring{position:absolute;width:min(380px,72%);aspect-ratio:1;border-radius:9999px;border:2px solid rgba(0,240,255,.2);animation:spin 18s linear infinite;opacity:.35;pointer-events:none}@keyframes spin{to{transform:rotate(360deg)}}.character-placeholder__canvas{position:relative;z-index:1;width:min(420px,100%);height:min(560px,72svh);border-radius:1.5rem;overflow:hidden;background:radial-gradient(circle at 50% 35%,rgba(0,240,255,.1),transparent 55%),linear-gradient(160deg,#1e202059,#0d0f0f26);border:1px solid rgba(0,240,255,.18)}.character-placeholder__canvas{touch-action:pan-y}.character-placeholder__canvas canvas{width:100%!important;height:100%!important;display:block;cursor:grab;touch-action:pan-y}.character-placeholder__canvas canvas:active{cursor:grabbing}.shader-docks{position:absolute;top:0;left:0;width:100%;height:min(560px,72svh);z-index:3;pointer-events:none}.shader-dock{position:absolute;width:min(168px,40%);box-sizing:border-box;padding:.65rem .7rem;border-radius:.9rem;border:1px solid rgba(0,240,255,.25);display:flex;flex-direction:column;gap:.4rem;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);pointer-events:auto;overflow:hidden}.shader-dock--tl{top:.85rem;left:.85rem}.shader-dock--tr{top:.85rem;right:.85rem}.shader-dock--bl{bottom:3.6rem;left:.85rem}.shader-dock--br{bottom:3.6rem;right:.85rem}.shader-dock__head{color:var(--runic-blue);font-size:11px;letter-spacing:.14em;margin-bottom:.1rem}.shader-dock__label{color:var(--amber-glow);font-size:10px;letter-spacing:.14em}.shader-panel__row{display:flex;flex-direction:column;align-items:stretch;gap:.25rem;min-width:0;font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;color:var(--on-surface-variant)}.shader-panel__row:has(input[type=checkbox]),.shader-panel__row:has(input[type=color]){flex-direction:row;justify-content:space-between;align-items:center;gap:.5rem}.shader-panel__row span{display:inline-flex;align-items:center;justify-content:space-between;gap:.35rem;min-width:0}.shader-panel__row em{font-style:normal;color:var(--runic-blue);font-variant-numeric:tabular-nums}.shader-panel__row input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;max-width:100%;min-width:0;height:1.1rem;margin:0;background:transparent;cursor:pointer}.shader-panel__row input[type=range]:focus{outline:none}.shader-panel__row input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 2px #020808e6,0 0 0 3px #00f0ff8c,0 0 12px #00f0ff8c}.shader-panel__row input[type=range]::-webkit-slider-runnable-track{height:3px;border-radius:1px;background:linear-gradient(90deg,#00f0ff59,#ea6b2373),#0a0e0e;border:1px solid rgba(0,240,255,.22);box-shadow:inset 0 1px 2px #0000008c}.shader-panel__row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:11px;height:11px;margin-top:-5px;border-radius:2px;background:linear-gradient(145deg,#7ff7ff,var(--runic-blue) 45%,#00b8c4);border:1px solid rgba(255,255,255,.35);box-shadow:0 0 8px #00f0ff8c,1px 1px #00000073;transition:transform .15s ease,box-shadow .15s ease}.shader-panel__row input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.12);box-shadow:0 0 12px #00f0ffb3,1px 1px #00000073}.shader-panel__row input[type=range]::-moz-range-track{height:3px;border-radius:1px;background:linear-gradient(90deg,#00f0ff59,#ea6b2373),#0a0e0e;border:1px solid rgba(0,240,255,.22);box-shadow:inset 0 1px 2px #0000008c}.shader-panel__row input[type=range]::-moz-range-thumb{width:11px;height:11px;border-radius:2px;background:linear-gradient(145deg,#7ff7ff,var(--runic-blue) 45%,#00b8c4);border:1px solid rgba(255,255,255,.35);box-shadow:0 0 8px #00f0ff8c,1px 1px #00000073}.shader-panel__row input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;width:2.05rem;height:1.1rem;flex-shrink:0;margin:0;border-radius:.2rem;border:1px solid rgba(0,240,255,.28);background:linear-gradient(180deg,#1e2020f2,#0a0c0cfa);box-shadow:inset 2px 2px 4px #080a0a,inset -1px -1px 2px #282a2a80;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.shader-panel__row input[type=checkbox]:after{content:"";position:absolute;top:2px;left:2px;width:.7rem;height:.7rem;border-radius:.12rem;background:#5a5048;box-shadow:0 0 0 1px #00000059;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}.shader-panel__row input[type=checkbox]:hover{border-color:#00f0ff80}.shader-panel__row input[type=checkbox]:checked{border-color:#00f0ffa6;background:linear-gradient(180deg,#0050588c,#081416f2);box-shadow:inset 2px 2px 4px #00000073,0 0 10px #00f0ff40}.shader-panel__row input[type=checkbox]:checked:after{transform:translate(.85rem);background:linear-gradient(145deg,#7ff7ff,var(--runic-blue));box-shadow:0 0 8px #00f0ffb3}.shader-panel__row input[type=checkbox]:focus{outline:none}.shader-panel__row input[type=checkbox]:focus-visible{box-shadow:inset 2px 2px 4px #080a0a,0 0 0 2px #00f0ff73}.shader-panel__row input[type=color]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:2rem;height:1.25rem;flex-shrink:0;padding:0;border:1px solid rgba(0,240,255,.3);border-radius:.25rem;background:#0a0e0e;box-shadow:inset 1px 1px 2px #0000008c;cursor:pointer;overflow:hidden}.shader-panel__row input[type=color]::-webkit-color-swatch-wrapper{padding:2px}.shader-panel__row input[type=color]::-webkit-color-swatch{border:0;border-radius:.12rem}.shader-panel__row input[type=color]::-moz-color-swatch{border:0;border-radius:.12rem}.shader-panel__row input[type=color]:hover{border-color:#00f0ff8c;box-shadow:0 0 8px #00f0ff33}.character-placeholder__badge{position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%);padding:.5rem 1rem;border-radius:9999px;border:1px solid rgba(0,240,255,.3);display:flex;align-items:center;gap:.75rem;white-space:nowrap;z-index:3}.character-placeholder__badge .label-caps{font-size:10px;color:var(--runic-blue);letter-spacing:.2em}.character-placeholder__dot{width:.5rem;height:.5rem;border-radius:9999px;background:var(--runic-blue);display:inline-block}.project-card{position:relative;overflow:hidden;border-radius:1rem;display:flex;flex-direction:column;height:100%;transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}.project-card:hover{transform:translateY(-4px) scale(1.01);border-color:#00f0ff59;box-shadow:0 0 30px #00f0ff1f}.project-card__media{position:relative;flex:0 0 auto;aspect-ratio:16 / 10;width:100%;background-size:cover;background-position:center;background-color:#00000059;transition:transform 1s ease}.project-card:hover .project-card__media{transform:scale(1.03)}.project-card__body{position:relative;z-index:1;display:flex;flex-direction:column;flex:1;padding:1rem 1.1rem 1.1rem;background:#0a0e0eeb;border-top:1px solid rgba(0,240,255,.1)}.project-card__meta{display:flex;gap:.75rem;color:var(--runic-blue);margin-bottom:.35rem;font-size:.68rem}.project-card__title{margin:0 0 .4rem;font-family:var(--font-display);font-size:clamp(1.05rem,1.4vw,1.3rem);letter-spacing:-.02em;line-height:1.2}.project-card__body p{margin:0;color:var(--on-surface-variant);max-width:36rem;font-size:.82rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-card__tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.7rem}.project-card__tags span{padding:.15rem .4rem;border-radius:.3rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase}.project-card__cta{display:inline-flex;align-items:center;gap:.4rem;margin-top:auto;padding-top:.85rem;color:var(--runic-blue);font-size:.72rem}.project-card:hover .project-card__cta .material-symbols-outlined{transform:translate(6px)}.project-card__cta .material-symbols-outlined{font-size:1rem;transition:transform .25s ease}.hero{position:relative;min-height:100svh;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:5.5rem var(--margin) 5rem;box-sizing:border-box}.hero__bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.hero__bg-img{width:100%;height:100%;object-fit:cover;object-position:center center;opacity:.72;transform:scale(1.06);will-change:transform;filter:saturate(1.05) contrast(1.05)}.hero__veil{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#0208088c,#02080833 42%,#02080859),linear-gradient(to bottom,rgba(2,8,8,.25),rgba(2,8,8,.45) 55%,var(--forest-void))}.hero__glow{position:absolute;top:50%;left:50%;width:min(800px,90vw);height:min(800px,90vw);transform:translate(-50%,-50%);background:#00f0ff1a;border-radius:9999px;filter:blur(120px);animation:pulse-soft 4s ease-in-out infinite}@keyframes pulse-soft{0%,to{opacity:.7}50%{opacity:1}}.embers{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1}.hero__content{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(1.5rem,3vw,var(--gutter));align-items:center;justify-items:stretch;width:min(100%,var(--container-max));margin-inline:auto}.hero__protocol{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;color:var(--runic-blue)}.hero__protocol-line{width:3rem;height:1px;background:#00f0ff80}.hero__identity{margin:0 0 .75rem;font-family:var(--font-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--primary)}.hero__title{margin:0;font-family:var(--font-display);font-weight:800;font-size:clamp(3.5rem,9vw,6rem);line-height:1.05;letter-spacing:-.04em;max-width:16ch}.hero__accent{color:var(--runic-blue);text-transform:uppercase}.hero__desc{margin:1.5rem 0 0;max-width:36rem;color:var(--on-surface-variant);padding:.5rem 0 .5rem 1.5rem;background:#ffffff0d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:.75rem;font-size:1.05rem;line-height:1.5}.hero__actions{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:3rem}.hero__btn{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;padding:1.15rem 2.25rem;border-radius:.75rem}.hero__btn--ghost{color:var(--on-surface-variant);border-color:#00f0ff33}.hero__scroll{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:.5rem;opacity:.4;color:var(--on-surface-variant);font-size:10px;letter-spacing:.2em;transition:opacity .2s ease}.hero__scroll:hover{opacity:1}.hero__scroll span{width:1px;height:3rem;background:linear-gradient(to bottom,var(--runic-blue),transparent)}.section-heading{margin-bottom:3rem}.section-heading--center{text-align:center}.section-heading h2{margin:0;font-family:var(--font-display);font-size:clamp(1.75rem,3vw,2rem);letter-spacing:-.02em;text-transform:uppercase}.section-chip{display:inline-block;margin-bottom:1rem;padding:.25rem 1rem;border-radius:9999px;color:var(--amber-glow);background:#ffb8001a;border:1px solid rgba(255,184,0,.2)}.section-heading--center .section-chip{color:var(--runic-blue);background:#00f0ff1a;border-color:#00f0ff33}.featured-section{position:relative}.featured-section__heading{margin-bottom:3rem}.tools{position:relative;border-top:1px solid rgba(0,240,255,.14)}.tools:before{content:"";position:absolute;top:-1px;left:50%;width:min(12rem,36%);height:1px;transform:translate(-50%);background:linear-gradient(90deg,transparent,var(--runic-blue),transparent);box-shadow:0 0 10px #00f0ff59}.featured-slider{position:relative;padding:0 0 1.5rem}.featured-slider__frame{position:relative;height:clamp(380px,50vh,500px);overflow:hidden}.featured-slide{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,.85fr);align-items:center;gap:clamp(1rem,3vw,2.5rem);height:100%;width:100%;opacity:0;pointer-events:none;visibility:hidden;z-index:0}.featured-slide.is-active{opacity:1;pointer-events:auto;visibility:visible;z-index:2}.featured-slide.is-enter-right,.featured-slide.is-enter-left,.featured-slide.is-leave-left,.featured-slide.is-leave-right{visibility:visible;pointer-events:none;z-index:3}.featured-slide.is-enter-right,.featured-slide.is-enter-left{animation:featured-fade-in .75s ease both}.featured-slide.is-leave-left,.featured-slide.is-leave-right{animation:featured-fade-out .75s ease both}.featured-slide.is-enter-right .featured-slide__bg{animation:featured-bg-enter-right .85s cubic-bezier(.22,1,.36,1) both}.featured-slide.is-enter-left .featured-slide__bg{animation:featured-bg-enter-left .85s cubic-bezier(.22,1,.36,1) both}.featured-slide.is-leave-left .featured-slide__bg{animation:featured-bg-leave-left .85s cubic-bezier(.22,1,.36,1) both}.featured-slide.is-leave-right .featured-slide__bg{animation:featured-bg-leave-right .85s cubic-bezier(.22,1,.36,1) both}.featured-slide.is-enter-right .featured-slide__fg{animation:featured-fg-enter-right .95s cubic-bezier(.22,1,.36,1) both}.featured-slide.is-enter-left .featured-slide__fg{animation:featured-fg-enter-left .95s cubic-bezier(.22,1,.36,1) both}.featured-slide.is-leave-left .featured-slide__fg{animation:featured-fg-leave-left .95s cubic-bezier(.22,1,.36,1) both}.featured-slide.is-leave-right .featured-slide__fg{animation:featured-fg-leave-right .95s cubic-bezier(.22,1,.36,1) both}.featured-slide__stage{position:relative;height:100%;min-height:0;overflow:visible}.featured-slide__bg{position:absolute;top:2%;right:4%;bottom:8%;left:0;border-radius:.35rem;background-size:cover;background-position:center;box-shadow:0 18px 50px #00000073;transform-origin:center center}.featured-slide__bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(105deg,transparent 45%,rgba(2,8,8,.35) 100%);pointer-events:none}.featured-slide__fg{position:absolute;left:-1%;bottom:-8%;width:clamp(170px,36%,300px);z-index:2;transform-origin:bottom left}.featured-slide__fg-main,.featured-slide__fg-shadow-sizer{width:100%;height:auto;display:block}.featured-slide__fg-main{position:relative;z-index:1;border-radius:.4rem;border:1px solid rgba(0,240,255,.18);background:#02080866}.featured-slide__fg-shadow{position:absolute;left:0;top:0;z-index:0;width:100%;line-height:0;pointer-events:none;transform:translate(12px,-14px);background-color:var(--fg-shadow-color, #000000);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-mode:alpha;mask-mode:alpha}.featured-slide__fg-shadow-sizer{opacity:0;pointer-events:none}.featured-slide:not(.is-layered) .featured-slide__fg{width:clamp(140px,30%,220px);opacity:.95}.featured-slide.is-cutout .featured-slide__fg{width:clamp(110px,24%,190px);bottom:-4%}.featured-slide.is-fg-left .featured-slide__fg,.featured-slide.is-cutout.is-fg-left .featured-slide__fg{left:2%;right:auto;transform-origin:bottom left}.featured-slide.is-fg-right .featured-slide__fg,.featured-slide.is-cutout.is-fg-right .featured-slide__fg{left:auto;right:6%;transform-origin:bottom right}.featured-slide.is-cutout .featured-slide__fg-main{border:0;border-radius:0;background:transparent;image-rendering:pixelated}.featured-slide.is-cutout .featured-slide__fg-shadow,.featured-slide.is-cutout .featured-slide__fg-shadow-sizer{image-rendering:pixelated}.featured-slide.is-fg-left .featured-slide__fg-shadow,.featured-slide.is-cutout.is-fg-left .featured-slide__fg-shadow{transform:translate(16px,-18px)}.featured-slide.is-fg-right .featured-slide__fg-shadow,.featured-slide.is-cutout.is-fg-right .featured-slide__fg-shadow{transform:translate(-16px,-18px)}.featured-slide.is-fg-flip .featured-slide__fg-main{transform:scaleX(-1)}.featured-slide.is-fg-flip.is-fg-left .featured-slide__fg-shadow{transform:translate(-16px,-18px) scaleX(-1)}.featured-slide.is-fg-flip.is-fg-right .featured-slide__fg-shadow{transform:translate(16px,-18px) scaleX(-1)}.featured-slide__body{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;height:100%;min-height:0;overflow:hidden;padding:clamp(.5rem,1.5vw,1rem) .25rem clamp(.5rem,1.5vw,1rem) 0}.featured-slide.is-active .featured-slide__meta,.featured-slide.is-active .featured-slide__title,.featured-slide.is-active .featured-slide__desc,.featured-slide.is-active .featured-slide__tags,.featured-slide.is-active .featured-slide__cta{animation:featured-copy-up .65s cubic-bezier(.22,1,.36,1) both}.featured-slide.is-active .featured-slide__meta{animation-delay:.08s}.featured-slide.is-active .featured-slide__title{animation-delay:.14s}.featured-slide.is-active .featured-slide__desc{animation-delay:.2s}.featured-slide.is-active .featured-slide__tags{animation-delay:.26s}.featured-slide.is-active .featured-slide__cta{animation-delay:.32s}.featured-slide__meta{display:flex;flex-wrap:wrap;gap:.75rem;margin:0 0 .85rem;color:var(--runic-blue);font-size:.72rem}.featured-slide__title{margin:0;font-family:var(--font-display);font-size:clamp(1.6rem,3vw,2.4rem);letter-spacing:-.03em;line-height:1.1}.featured-slide__desc{margin:.9rem 0 0;color:var(--on-surface-variant);font-size:.95rem;line-height:1.55;max-width:32rem}.featured-slide__tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1.15rem}.featured-slide__tags span{padding:.2rem .5rem;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.featured-slide__cta{display:inline-flex;align-items:center;gap:.45rem;margin-top:1.5rem;width:fit-content;color:var(--runic-blue)}.featured-slide__cta .material-symbols-outlined{font-size:1rem;transition:transform .25s ease}.featured-slide__cta:hover .material-symbols-outlined{transform:translate(6px)}.featured-slider__controls{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.25rem}.featured-slider__nav{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:999px;border:1px solid rgba(0,240,255,.22);background:#0a0e0ecc;color:var(--runic-blue);cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .2s ease}.featured-slider__nav:hover{border-color:#00f0ff80;background:#00f0ff14;transform:translateY(-1px)}.featured-slider__nav .material-symbols-outlined{font-size:1.15rem}.featured-slider__dots{display:flex;align-items:center;gap:.45rem}.featured-slider__dot{width:.55rem;height:.55rem;border-radius:999px;border:0;padding:0;background:#e2e2e247;cursor:pointer;transition:width .25s ease,background .25s ease}.featured-slider__dot.is-active{width:1.45rem;background:var(--runic-blue)}.projects-page__grid>* .project-card{height:100%}.featured-more{display:flex;justify-content:center;margin-top:2.5rem}@keyframes featured-fade-in{0%{opacity:0}to{opacity:1}}@keyframes featured-fade-out{0%{opacity:1}to{opacity:0}}@keyframes featured-bg-enter-right{0%{opacity:0;transform:translate(12%) scale(1.04)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes featured-bg-enter-left{0%{opacity:0;transform:translate(-12%) scale(1.04)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes featured-bg-leave-left{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(-10%) scale(.98)}}@keyframes featured-bg-leave-right{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(10%) scale(.98)}}@keyframes featured-fg-enter-right{0%{opacity:0;transform:translate(28%,18%) scale(1.08) rotate(-2deg)}to{opacity:1;transform:translate(0) scale(1) rotate(0)}}@keyframes featured-fg-enter-left{0%{opacity:0;transform:translate(-28%,18%) scale(1.08) rotate(2deg)}to{opacity:1;transform:translate(0) scale(1) rotate(0)}}@keyframes featured-fg-leave-left{0%{opacity:1;transform:translate(0) scale(1) rotate(0)}to{opacity:0;transform:translate(-22%,14%) scale(.96) rotate(-2deg)}}@keyframes featured-fg-leave-right{0%{opacity:1;transform:translate(0) scale(1) rotate(0)}to{opacity:0;transform:translate(22%,14%) scale(.96) rotate(2deg)}}@keyframes featured-copy-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.tools__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.tools__item{padding:2rem;border-radius:1rem;display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center}.tools__item .material-symbols-outlined{font-size:3rem;color:var(--runic-blue);transition:transform .4s ease}.tools__item:hover .material-symbols-outlined{transform:scale(1.2)}.tools__item strong{color:var(--on-surface)}.tools__item span:last-child{font-size:10px;color:#00f0ff99;text-transform:uppercase;letter-spacing:.08em}.cta-band{padding-bottom:var(--section-padding)}.cta-band__inner{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:2.5rem;border-radius:1.5rem}.cta-band__label{color:var(--runic-blue)}.cta-band__inner h2{margin:.75rem 0;font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2rem)}.cta-band__inner p{margin:0;color:var(--on-surface-variant)}.cta-band__inner code{font-family:var(--font-mono);font-size:.85em;color:var(--primary)}.cta-band__actions{display:flex;flex-direction:column;align-items:flex-end;gap:1rem}.cta-band__itch{color:var(--runic-blue)}@media(min-width:1001px)and (max-width:1170px){.hero__content{gap:clamp(1rem,2vw,1.25rem);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.hero__copy{min-width:0}.hero__title{font-size:clamp(2.35rem,5.2vw,3.35rem);max-width:13ch;line-height:1.08}.hero__desc{margin-top:1.15rem;font-size:.95rem;max-width:28rem}.hero__actions{margin-top:2rem;gap:1rem}}@media(max-width:1000px){.hero{min-height:auto;overflow-x:clip;overflow-y:visible;padding:5.75rem var(--margin) 3.5rem;align-items:flex-start}.hero__content{grid-template-columns:1fr;justify-items:stretch;text-align:left;gap:1.75rem}.hero__copy{width:100%;max-width:40rem;order:1;place-items:center;text-align:center;margin:auto;padding-top:20px}.hero__stage{order:2;width:100%;max-width:26rem;justify-self:center}.hero__title{font-size:clamp(2.4rem,12vw,4.5rem);max-width:none}.hero__desc{margin-top:1.1rem;padding:.65rem .85rem;font-size:.98rem}.hero__actions{margin-top:1.75rem;gap:.85rem}.hero__btn{padding:.95rem 1.35rem}.hero__scroll{display:none}.character-placeholder__viewport{min-height:min(320px,48svh)}.character-placeholder__canvas{width:min(360px,100%);height:min(320px,48svh)}.shader-docks{height:min(320px,48svh)}.featured-slider{padding-bottom:2rem}.featured-slider__frame{display:grid;height:auto;min-height:0;overflow:hidden}.featured-slide{grid-area:1 / 1;position:relative;inset:auto;grid-template-columns:1fr;grid-template-rows:auto auto;height:auto;width:100%;align-self:stretch;gap:1.25rem;opacity:0;visibility:hidden;pointer-events:none;z-index:0}.featured-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:2}.featured-slide.is-enter-right,.featured-slide.is-enter-left,.featured-slide.is-leave-left,.featured-slide.is-leave-right{position:relative;inset:auto;visibility:visible;pointer-events:none;z-index:3}.featured-slide.is-leave-left,.featured-slide.is-leave-right{z-index:1}.featured-slide__stage{height:clamp(200px,48vw,280px);overflow:hidden}.featured-slide__bg{top:4%;right:4%;bottom:10%;left:4%}.featured-slide__fg{bottom:-2%;width:clamp(100px,34%,160px)}.featured-slide.is-fg-left .featured-slide__fg{left:0;right:auto}.featured-slide.is-fg-right .featured-slide__fg{left:auto;right:0}.featured-slide__body{padding:0;height:auto;overflow:hidden}.tools__grid{grid-template-columns:repeat(2,1fr)}.cta-band__inner{flex-direction:column;align-items:flex-start}.cta-band__actions{align-items:flex-start}}@media(min-width:701px)and (max-width:1000px){.hero__stage{max-width:none;width:100vw;margin-inline:calc(50% - 50vw);justify-self:stretch}.character-placeholder{width:100%}.character-placeholder__viewport{width:100%;min-height:clamp(360px,52vw,520px)}.character-placeholder__canvas{width:100%;max-width:none;height:clamp(360px,52vw,520px)}.shader-docks{width:100%;height:clamp(360px,52vw,520px)}.character-placeholder__ring{width:min(440px,56%)}.shader-dock{width:min(172px,24%)}.shader-dock--tl,.shader-dock--bl{left:clamp(.65rem,2vw,1rem)}.shader-dock--tr,.shader-dock--br{right:clamp(.65rem,2vw,1rem)}.shader-dock--bl,.shader-dock--br{bottom:clamp(3rem,8vw,3.6rem)}}@media(max-width:700px){.shader-docks{position:relative;top:auto;left:auto;width:100%;height:auto;display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.85rem;pointer-events:auto;z-index:1}.shader-dock{position:relative;top:auto;left:auto;right:auto;bottom:auto;width:100%;max-width:none;padding:.55rem .6rem;gap:.3rem}.shader-dock__head,.shader-dock__label{font-size:9px}.shader-panel__row{font-size:10px}}@media(max-width:600px){.tools__grid{grid-template-columns:1fr}}@media(max-width:400px){:root{--margin: 14px;--section-padding: 56px}.hero{padding:5.25rem var(--margin) 2.5rem}.hero__content{gap:1.25rem}.hero__title{font-size:clamp(2rem,13vw,2.75rem);letter-spacing:-.03em}.hero__identity{font-size:10px;letter-spacing:.12em}.hero__desc{font-size:.92rem;line-height:1.45;padding:.55rem .7rem}.hero__actions{margin-top:1.25rem;gap:.65rem}.hero__btn{width:100%;padding:.9rem 1rem}.character-placeholder__viewport{min-height:min(260px,42svh)}.character-placeholder__canvas{width:100%;height:min(260px,42svh)}.shader-docks{height:auto;gap:.4rem;margin-top:.65rem}.character-placeholder__ring{width:min(240px,70%)}.character-placeholder__badge{bottom:.75rem;padding:.4rem .75rem}.featured-slide__stage{height:clamp(170px,52vw,220px)}.featured-slide__title{font-size:1.35rem}.featured-slide__desc{font-size:.88rem}}.projects-page{padding-top:calc(var(--section-padding) + 2rem);padding-bottom:var(--section-padding)}.projects-page:has(.ongoing-banner){padding-top:0}.projects-page__archive{padding-top:0}.projects-page:has(.ongoing-banner) .projects-page__archive{padding-top:var(--section-padding)}.projects-page__lead{margin:1rem 0 0;color:var(--on-surface-variant);max-width:40rem}.projects-page__lead code{font-family:var(--font-mono);color:var(--primary);font-size:.9em}.ongoing-banner{position:relative;display:block;width:100%;min-height:clamp(280px,42vh,420px);overflow:hidden;border-bottom:1px solid rgba(0,240,255,.14);padding-top:calc(var(--section-padding) + 2rem)}.ongoing-banner__media{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;transform:scale(1.02);transition:transform 1.1s ease}.ongoing-banner:hover .ongoing-banner__media{transform:scale(1.06)}.ongoing-banner__veil{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#020808eb,#020808b8 42%,#02080847),linear-gradient(to bottom,rgba(2,8,8,.45) 0%,transparent 45%),linear-gradient(to top,rgba(2,8,8,.4),transparent 40%)}.ongoing-banner__content{position:relative;z-index:1;display:flex;align-items:flex-start;min-height:calc(clamp(280px,42vh,420px) - (var(--section-padding) + 2rem));padding-block:0 2.5rem}.ongoing-banner__copy{max-width:40rem}.ongoing-banner__meta{display:flex;flex-wrap:wrap;gap:.85rem;margin:1rem 0 .75rem;color:var(--runic-blue);font-size:.72rem}.ongoing-banner__title{margin:0;font-family:var(--font-display);font-size:clamp(1.8rem,4vw,3rem);letter-spacing:-.03em;line-height:1.1}.ongoing-banner__lead{margin:.85rem 0 0;color:var(--on-surface-variant);font-size:1rem;line-height:1.55;max-width:34rem}.ongoing-banner__tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1.1rem}.ongoing-banner__tags span{padding:.2rem .5rem;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.ongoing-banner__cta{display:inline-flex;align-items:center;gap:.45rem;margin-top:1.35rem;color:var(--runic-blue)}.ongoing-banner:hover .ongoing-banner__cta .material-symbols-outlined{transform:translate(6px)}.ongoing-banner__cta .material-symbols-outlined{font-size:1rem;transition:transform .25s ease}.projects-page__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.projects-page__grid .project-card{height:100%}@media(max-width:1000px){.projects-page__grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.projects-page__grid{grid-template-columns:1fr}.ongoing-banner__veil{background:linear-gradient(to bottom,#020808e0,#0208088c 45%,#02080859)}}.project-detail__hero{position:relative;min-height:52vh;background-size:cover;background-position:center;display:flex;align-items:flex-end;padding:8rem 0 3rem}.project-detail__hero-veil{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,var(--forest-void),rgba(2,8,8,.45),rgba(2,8,8,.35))}.project-detail__hero-content{position:relative;z-index:1}.project-detail__back{color:var(--runic-blue);display:inline-block;margin-bottom:1.5rem}.project-detail__badges{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.project-detail__badges span{padding:.25rem .75rem;border-radius:9999px;border:1px solid rgba(0,240,255,.25);color:var(--runic-blue);background:#00f0ff14}.project-detail__hero h1{margin:0;font-family:var(--font-display);font-size:clamp(2.5rem,6vw,4.5rem);letter-spacing:-.03em}.project-detail__hero p{margin:1rem 0 0;max-width:40rem;color:var(--on-surface-variant);font-size:1.1rem}.project-detail__body{display:grid;grid-template-columns:1.4fr .8fr;gap:2rem;align-items:start}.project-detail__label{color:var(--amber-glow);display:block;margin-bottom:1rem}.project-detail__main p{margin:0 0 1rem;color:var(--on-surface-variant);font-size:1.05rem;line-height:1.6}.project-detail__block{margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid rgba(0,240,255,.12)}.project-detail__list{margin:.75rem 0 0;padding-left:1.15rem;display:grid;gap:.65rem;color:var(--on-surface-muted);font-size:.95rem;line-height:1.55}.project-detail__list li::marker{color:var(--runic-cyan, #00f0ff)}.project-detail__hint{opacity:.75;font-family:var(--font-mono);font-size:.85rem!important}.project-detail__video{margin:0 auto 2rem}.project-detail__video .project-detail__label{display:block;margin-bottom:.85rem}.project-detail__video-frame{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:1rem;overflow:hidden;border:1px solid rgba(0,240,255,.2);background:#050808;box-shadow:0 0 30px #00f0ff14}.project-detail__video-frame iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.project-detail__side{padding:1.75rem;border-radius:1rem;display:flex;flex-direction:column;gap:1.5rem}.project-detail__side span.label-caps,.project-detail__side .label-caps{display:block;color:var(--runic-blue);margin-bottom:.5rem}.project-detail__side strong{font-family:var(--font-display);font-size:1.25rem}.project-detail__tags,.project-detail__links{display:flex;flex-wrap:wrap;gap:.5rem}.project-detail__tags span,.project-detail__links a{padding:.35rem .65rem;border-radius:.4rem;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase}.project-detail__links a:hover{border-color:var(--runic-blue);color:var(--runic-blue)}.project-detail__empty{color:var(--on-surface-muted);font-size:.9rem}.project-detail__actions{display:flex;flex-direction:column;gap:.75rem}.project-detail__btn{display:inline-flex;justify-content:center;width:100%;padding:1rem 1.5rem;border-radius:.75rem}.project-detail__gallery{padding-bottom:var(--section-padding)}.project-detail__shots{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:1rem}.project-detail__shots img{width:100%;border-radius:1rem;border:1px solid rgba(0,240,255,.12);opacity:.9}@media(max-width:900px){.project-detail__body{grid-template-columns:1fr}}.about-page{padding-top:calc(var(--section-padding) + 2rem)}.rpg-sheet{position:relative;display:grid;gap:2rem;padding:clamp(1.5rem,3vw,2.5rem);border-radius:1.25rem;overflow:hidden}.rpg-sheet:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(135deg,rgba(0,240,255,.06),transparent 42%),linear-gradient(to top,rgba(255,184,0,.04),transparent 35%)}.rpg-sheet>*{position:relative;z-index:1}.rpg-sheet__identity{display:grid;grid-template-columns:auto 1fr;gap:1.5rem;align-items:center;padding-bottom:1.75rem;border-bottom:1px solid rgba(0,240,255,.14)}.rpg-sheet__portrait{width:clamp(6.5rem,14vw,8.5rem);height:clamp(6.5rem,14vw,8.5rem);display:grid;place-items:center;overflow:hidden;border:1px solid rgba(0,240,255,.35);background:radial-gradient(circle at 35% 30%,rgba(0,240,255,.18),transparent 55%),#00000059;box-shadow:inset 0 0 0 1px #ffb8001f,0 0 24px #00f0ff1f}.rpg-sheet__photo{width:100%;height:100%;object-fit:cover;object-position:center 20%;display:block}.rpg-sheet__rune{font-family:var(--font-display);font-size:clamp(2.4rem,5vw,3.2rem);letter-spacing:-.04em;color:var(--runic-blue);line-height:1}.rpg-sheet__kicker{color:var(--runic-blue)}.rpg-sheet__name{margin:.4rem 0 1rem;font-family:var(--font-display);font-size:clamp(1.8rem,3.5vw,2.4rem);letter-spacing:-.03em;line-height:1.05}.rpg-sheet__meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:0}.rpg-sheet__meta dt{margin:0 0 .3rem;color:var(--amber-glow)}.rpg-sheet__meta dd{margin:0;font-family:var(--font-mono);font-size:.92rem;color:var(--on-surface)}.rpg-sheet__block{display:grid;gap:1rem}.rpg-sheet__label{margin:0;color:var(--runic-blue);letter-spacing:.12em}.rpg-sheet__attrs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.rpg-attr{padding:1rem 1.1rem;border:1px solid rgba(255,255,255,.08);background:#00000047}.rpg-attr__label{display:block;color:var(--amber-glow);margin-bottom:.4rem}.rpg-attr__value{font-family:var(--font-display);font-size:1.05rem;letter-spacing:-.02em}.rpg-sheet__skill-trees{display:grid;gap:.85rem}.rpg-skill-tree{border:1px solid rgba(255,255,255,.08);background:#00000038;transition:border-color .3s ease,background .3s ease}.rpg-skill-tree.is-featured{border-color:#00f0ff47;background:linear-gradient(135deg,rgba(0,240,255,.07),transparent 55%),#00000047}.rpg-skill-tree__summary{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:.75rem;width:100%;padding:1rem 1.15rem;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .25s ease}.rpg-skill-tree__summary:hover{background:#ffffff08}.rpg-skill-tree__summary:focus-visible{outline:1px solid rgba(0,240,255,.55);outline-offset:-1px}.rpg-skill-tree__title{margin:0;color:var(--amber-glow);letter-spacing:.12em}.rpg-skill-tree.is-featured .rpg-skill-tree__title{color:var(--runic-blue)}.rpg-skill-tree__count{color:var(--on-surface-variant);font-size:.68rem;opacity:.85}.rpg-skill-tree__chevron{font-size:1.25rem;color:var(--on-surface-variant);transition:transform .35s cubic-bezier(.22,1,.36,1),color .25s ease}.rpg-skill-tree.is-open .rpg-skill-tree__chevron{transform:rotate(180deg);color:var(--runic-blue)}.rpg-skill-tree__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.22,1,.36,1)}.rpg-skill-tree.is-open .rpg-skill-tree__panel{grid-template-rows:1fr}.rpg-skill-tree__panel-inner{overflow:hidden;min-height:0;opacity:0;transform:translateY(-.4rem);transition:opacity .28s ease,transform .4s cubic-bezier(.22,1,.36,1)}.rpg-skill-tree.is-open .rpg-skill-tree__panel-inner{opacity:1;transform:translateY(0);transition-delay:.04s}.rpg-skill-tree .rpg-sheet__skills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem 1.5rem;padding:0 1.15rem 1.15rem}.rpg-skill-tree.is-open .rpg-skill{animation:rpg-skill-in .4s cubic-bezier(.22,1,.36,1) both}.rpg-skill-tree.is-open .rpg-skill:nth-child(1){animation-delay:.05s}.rpg-skill-tree.is-open .rpg-skill:nth-child(2){animation-delay:.08s}.rpg-skill-tree.is-open .rpg-skill:nth-child(3){animation-delay:.11s}.rpg-skill-tree.is-open .rpg-skill:nth-child(4){animation-delay:.14s}.rpg-skill-tree.is-open .rpg-skill:nth-child(5){animation-delay:.17s}.rpg-skill-tree.is-open .rpg-skill:nth-child(6){animation-delay:.2s}.rpg-skill-tree.is-open .rpg-skill:nth-child(7){animation-delay:.23s}.rpg-skill-tree.is-open .rpg-skill:nth-child(8){animation-delay:.26s}.rpg-skill-tree.is-open .rpg-skill:nth-child(9){animation-delay:.29s}.rpg-skill-tree.is-open .rpg-skill:nth-child(10){animation-delay:.32s}.rpg-skill-tree.is-open .rpg-skill:nth-child(11){animation-delay:.35s}.rpg-skill-tree.is-open .rpg-skill:nth-child(n+12){animation-delay:.38s}@keyframes rpg-skill-in{0%{opacity:0;transform:translateY(.35rem)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.rpg-skill-tree__panel,.rpg-skill-tree__panel-inner,.rpg-skill-tree__chevron,.rpg-skill-tree.is-open .rpg-skill{transition:none;animation:none}}@media(max-width:900px){.rpg-skill-tree .rpg-sheet__skills{grid-template-columns:1fr}}.rpg-skill__meta{display:flex;justify-content:space-between;gap:.75rem;margin-bottom:.45rem}.rpg-skill__name{font-size:.95rem;color:var(--on-surface)}.rpg-skill__level{color:var(--on-surface-variant);font-size:.68rem;white-space:nowrap}.rpg-skill__bar{height:.45rem;border:1px solid rgba(0,240,255,.2);background:#00000073;overflow:hidden}.rpg-skill__fill{display:block;height:100%;background:linear-gradient(90deg,#00b8c4,var(--runic-blue) 55%,#7ff7ff);box-shadow:0 0 12px #00f0ff59}.rpg-sheet__gear{display:flex;flex-wrap:wrap;gap:.55rem}.rpg-gear__chip{padding:.4rem .75rem;border:1px solid rgba(255,184,0,.28);background:#ffb80014;color:var(--amber-glow);font-size:.7rem;letter-spacing:.1em}.rpg-sheet__story{padding-top:.25rem;border-top:1px solid rgba(0,240,255,.12)}.rpg-sheet__lead{margin:0;font-size:1.15rem;color:var(--on-surface);border-left:2px solid rgba(0,240,255,.4);padding-left:1.15rem;line-height:1.6}.rpg-sheet__story p{margin:0 0 1rem;color:var(--on-surface-variant);line-height:1.7;font-size:1.02rem}.rpg-sheet__story p:last-child{margin-bottom:0}.rpg-sheet__footer{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:1.25rem;padding-top:.5rem;border-top:1px solid rgba(0,240,255,.12)}.rpg-sheet__contacts{display:flex;flex-direction:column;gap:.4rem}.rpg-sheet__contacts .label-caps{color:var(--runic-blue)}.rpg-sheet__contacts a{color:var(--on-surface-variant);font-family:var(--font-mono);font-size:.9rem;word-break:break-all}.rpg-sheet__contacts a:hover{color:var(--runic-blue)}.rpg-sheet__btn{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem 1.5rem;border-radius:.75rem}@media(max-width:900px){.rpg-sheet__identity{grid-template-columns:1fr;justify-items:start}.rpg-sheet__meta,.rpg-sheet__attrs{grid-template-columns:1fr}}@media(max-width:640px){.rpg-sheet__footer{align-items:stretch}.rpg-sheet__btn{width:100%}}.play-page{padding-top:calc(var(--section-padding) + 2rem)}.play-page__lead{margin:1rem 0 0;max-width:42rem;color:var(--on-surface-variant)}.play-page__frame{border-radius:1.25rem;overflow:hidden;min-height:560px;display:flex;flex-direction:column}.play-page__bar{display:flex;align-items:center;gap:.75rem;padding:.9rem 1.25rem;border-bottom:1px solid rgba(0,240,255,.15);color:var(--runic-blue);font-size:10px;letter-spacing:.18em}.play-page__dot{width:.5rem;height:.5rem;border-radius:9999px;background:var(--runic-blue);display:inline-block}.play-page__embed{flex:1;width:100%;min-height:min(70vh,640px);aspect-ratio:16 / 10;border:0;background:#000}@media(max-width:700px){.play-page__frame{min-height:0}.play-page__embed{min-height:55vh;aspect-ratio:16 / 10}}.play-page__placeholder{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.75rem;padding:3rem 1.5rem;background:radial-gradient(circle at 50% 40%,rgba(0,240,255,.08),transparent 50%),linear-gradient(180deg,#1e202080,#020808e6)}.play-page__placeholder .material-symbols-outlined{font-size:4rem;color:var(--runic-blue)}.play-page__placeholder h3{margin:0;font-family:var(--font-display);font-size:1.75rem}.play-page__placeholder p{margin:0;max-width:32rem;color:var(--on-surface-variant)}.play-page__placeholder code{font-family:var(--font-mono);color:var(--primary);font-size:.9em}.play-page__actions{margin-top:1rem}.play-page__back{color:var(--runic-blue)}.play-page__btn{display:inline-flex;padding:1rem 1.75rem;border-radius:.75rem}.contact-page{padding-top:calc(var(--section-padding) + 2rem)}.contact-page__lead{margin:1rem 0 0;max-width:42rem;color:var(--on-surface-variant);font-size:1.05rem;line-height:1.6}.contact-page__grid{display:grid;grid-template-columns:1.25fr .85fr;gap:1.5rem;align-items:start}.contact-form-wrap{border-radius:1.25rem;overflow:hidden}.contact-form__bar{display:flex;align-items:center;gap:.75rem;padding:.9rem 1.25rem;border-bottom:1px solid rgba(0,240,255,.15);color:var(--runic-blue);font-size:10px;letter-spacing:.18em}.contact-form__dot{width:.5rem;height:.5rem;border-radius:9999px;background:var(--runic-blue);display:inline-block}.contact-form{position:relative;display:grid;gap:1.1rem;padding:1.5rem}.contact-field{display:grid;gap:.45rem}.contact-field--honeypot{position:absolute;overflow:hidden;clip:rect(0 0 0 0);width:1px;height:1px;margin:-1px;padding:0;border:0}.contact-field .label-caps{color:var(--amber-glow)}.contact-field input,.contact-field textarea{width:100%;border-radius:.75rem;border:1px solid rgba(255,255,255,.08);background:#00000059;color:var(--on-surface);padding:.9rem 1rem;outline:none;transition:border-color .2s ease,box-shadow .2s ease;resize:vertical;font-family:var(--font-body)}.contact-field input::placeholder,.contact-field textarea::placeholder{color:#e2e2e259}.contact-field input:focus,.contact-field textarea:focus{border-color:#00f0ff8c;box-shadow:0 0 0 3px #00f0ff1f}.contact-field input:-webkit-autofill,.contact-field input:-webkit-autofill:hover,.contact-field input:-webkit-autofill:focus,.contact-field textarea:-webkit-autofill,.contact-field textarea:-webkit-autofill:hover,.contact-field textarea:-webkit-autofill:focus{-webkit-text-fill-color:var(--on-surface);caret-color:var(--on-surface);border:1px solid rgba(255,255,255,.08);box-shadow:0 0 0 1000px #00000059 inset;transition:background-color 99999s ease-out}.contact-form__submit{justify-self:start;display:inline-flex;align-items:center;gap:.75rem;margin-top:.25rem}.contact-form__submit:disabled{opacity:.65;pointer-events:none}.contact-form__submit .material-symbols-outlined{color:var(--amber-glow);font-variation-settings:"FILL" 1}.contact-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:center;padding:1.5rem;background:#020808b8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.contact-modal__panel{width:min(100%,26rem);padding:2rem 1.75rem 1.75rem;border-radius:1.25rem;display:grid;justify-items:center;text-align:center;gap:.85rem;animation:fadeUp .35s cubic-bezier(.16,1,.3,1) both}.contact-modal__icon{width:3.5rem;height:3.5rem;border-radius:9999px;display:grid;place-items:center;background:#00f0ff1f;color:var(--runic-blue)}.contact-modal__icon[data-type=error]{background:#ad281738;color:#ffb4ab}.contact-modal__icon .material-symbols-outlined{font-size:1.85rem;font-variation-settings:"FILL" 1}.contact-modal__panel h3{margin:0;font-family:var(--font-display);font-size:1.35rem}.contact-modal__panel p{margin:0;color:var(--on-surface-variant);line-height:1.5}.contact-modal__btn{margin-top:.35rem}.contact-aside{display:flex;flex-direction:column;gap:1.25rem}.contact-aside__panel{padding:1.75rem;border-radius:1.25rem;display:flex;flex-direction:column;gap:.5rem}.contact-aside__panel .label-caps{color:var(--runic-blue)}.contact-aside__panel h3{margin:0;font-family:var(--font-display);font-size:1.75rem;letter-spacing:-.03em}.contact-aside__panel p{margin:0;color:var(--primary)}.contact-aside__email{margin-top:.75rem;font-family:var(--font-mono);font-size:.9rem;color:var(--on-surface-variant);word-break:break-all}.contact-aside__email:hover{color:var(--runic-blue)}.contact-socials{display:grid;gap:.75rem}.contact-socials__title{color:var(--amber-glow);margin-bottom:.25rem}.contact-social{display:flex;align-items:center;gap:.9rem;padding:.95rem 1.1rem;border-radius:1rem;text-align:left;color:inherit;cursor:pointer;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;font:inherit;width:100%}button.contact-social{background:#1b1c1c66}.contact-social:hover{transform:translateY(-2px) scale(1.01);border-color:#00f0ff59;box-shadow:0 0 24px #00f0ff1f}.contact-social--copied,.contact-social--copied:hover{border-color:var(--runic-blue);box-shadow:0 0 24px #00f0ff38;transform:none}.contact-social--copied small{color:var(--runic-blue)}.contact-social .material-symbols-outlined{color:var(--runic-blue);font-size:1.6rem}.contact-social span{display:flex;flex-direction:column;gap:.15rem}.contact-social strong{color:var(--on-surface)}.contact-social small{color:var(--on-surface-variant);font-family:var(--font-mono);font-size:.75rem}@media(max-width:900px){.contact-page__grid{grid-template-columns:1fr}}.status-page{padding-top:calc(var(--section-padding) + 2rem);display:grid;place-items:center;min-height:min(70vh,720px)}.status-page__panel{width:min(100%,40rem);padding:clamp(1.75rem,4vw,2.75rem);text-align:center;display:grid;justify-items:center;gap:.85rem;background:linear-gradient(145deg,rgba(0,240,255,.05),transparent 40%),#020a0c8c}.status-page--construction .status-page__panel{background:linear-gradient(145deg,rgba(234,107,35,.08),transparent 42%),#020a0c8c}.status-page--construction .section-chip{color:var(--amber-glow);background:#ffb8001a;border-color:#ffb80040}.status-page--missing .section-chip{color:var(--runic-blue);background:#00f0ff1a;border-color:#00f0ff40}.status-page__code{margin:0;font-family:var(--font-display);font-size:clamp(3.5rem,10vw,5.5rem);letter-spacing:-.04em;line-height:.9;color:var(--runic-blue);text-shadow:0 0 28px rgba(0,240,255,.28)}.status-page__icon{display:grid;place-items:center;width:3.5rem;height:3.5rem;margin-top:.35rem;border:1px solid rgba(255,255,255,.1);background:#00000047;color:var(--primary-container)}.status-page--missing .status-page__icon{color:var(--runic-blue)}.status-page__icon .material-symbols-outlined{font-size:1.75rem}.status-page__title{margin:.35rem 0 0;font-family:var(--font-display);font-size:clamp(1.6rem,3.5vw,2.2rem);letter-spacing:-.03em;line-height:1.15;text-transform:uppercase}.status-page__lead{margin:0;max-width:32rem;color:var(--on-surface-variant);line-height:1.65;font-size:1.02rem}.status-page__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.85rem;margin-top:1rem}.status-page__btn{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;padding:.95rem 1.35rem;border-radius:.75rem}@media(max-width:640px){.status-page__actions,.status-page__btn{width:100%}}
