/* OVERDRIVE: chrome light, dimensional pixels, editorial scale. */
body[data-edition=max] { --realm:#ffe448; --realm-ink:#18221a; --electric:#dbff73; }
body[data-realm=redstone] { --realm:#ff694c; --realm-ink:#241327; --electric:#fff28a; }
body[data-realm=ender] { --realm:#291547; --realm-ink:#effbc5; --electric:#caff68; }
.hero { background:var(--realm); color:var(--realm-ink); transition:background 1s var(--ease-in-out),color .8s ease; overflow:clip; }
.site-header { color:var(--realm-ink); transition:color .8s ease; }
.site-header .menu-toggle { border-color:currentColor; }
.site-header .menu-toggle b { background:currentColor; }
.hero::after { content:'CREATE. BREAK. REPEAT.'; position:absolute; left:3%; bottom:75px; font:700 8.4vw/.8 var(--font-display); letter-spacing:-.035em; opacity:.065; white-space:nowrap; pointer-events:none; }
.liquid-field { position:absolute; width:100%; height:100%; inset:0; z-index:-2; opacity:.83; pointer-events:none; }
.hero-halo { position:absolute; width:70vw; height:70vw; right:-20vw; top:-12vw; border:1px solid #fff7; border-radius:50%; box-shadow:inset 0 0 80px #fff2,0 0 70px #fffb; opacity:.3; pointer-events:none; z-index:-1; }
.hero-grid { background-size:100px 100px; opacity:.28; transform:rotate(-10deg) scale(1.3); }
.hero-name { perspective:1000px; filter:drop-shadow(4px 5px 0 #fff3); }
.hero-name>span { transform-origin:50% 90%; backface-visibility:visible; }
.hero-name::before { content:'El107t.'; position:absolute; inset:0; color:transparent; -webkit-text-stroke:1px currentColor; transform:translate(9px,11px); opacity:.33; z-index:-1; }
.hero-description { font-weight:550; }
.hero-stamp { border-radius:50%; width:118px; height:118px; justify-content:center; flex-direction:column; gap:0; background:#f1ffba; color:#20251d; box-shadow:inset 0 0 20px #fff9,8px 9px 0 #17221a15; top:110px; right:8%; }
.hero-stamp>span:last-child { font-size:9px; display:block; }
.portal-stage { perspective:850px; }
.portal-orbit { border-color:currentColor; opacity:.4; }
.portal-outline { border-width:2px; border-color:#edffbba1; box-shadow:0 0 60px #fdff8780,inset 0 0 40px #fff3; }
.portal-mask { border:1px solid #f7ffb2; }
.portal-shadow { background:#bf73ff; }
.portal-coordinate { padding:12px 4px; background:var(--realm-ink); color:var(--realm); }
.portal-controls { color:#18221a; }
.ribbon { background:#c9ff63; padding:17px 0; box-shadow:0 4px 0 #1b2019; z-index:9; }
.ribbon-track { animation-duration:17s; font-size:34px; }
.ribbon-track b { color:#8349ef; }
.warp-scene { position:relative; background:#110f18; color:#f1f0e6; }
.warp-stage { height:100svh; min-height:650px; position:relative; overflow:hidden; isolation:isolate; }
.warp-grid { position:absolute; inset:-50%; z-index:-2; background-image:linear-gradient(#b9fd7230 1px,transparent 1px),linear-gradient(90deg,#b9fd7230 1px,transparent 1px); background-size:80px 80px; transform:perspective(500px) rotateX(58deg) rotateZ(-15deg); mask-image:radial-gradient(ellipse,black,transparent 63%); opacity:.4; }
.warp-aura { position:absolute; width:68vw; height:68vw; left:16%; top:calc(50% - 34vw); z-index:-1; background:radial-gradient(circle,#be73ff38 0,#8975fa12 42%,transparent 66%); }
#matter-canvas { width:100%; height:100%; position:absolute; inset:0; pointer-events:none; z-index:2; }
.warp-topline { position:absolute; top:45px; left:var(--gutter); right:var(--gutter); display:flex; justify-content:space-between; gap:15px; font:12px/1.5 var(--font-display); letter-spacing:2px; z-index:3; }
.warp-topline>span:first-child { color:#d3ff78; }
.warp-title { position:absolute; inset:0; display:grid; place-items:center; z-index:1; text-align:center; perspective:900px; }
.warp-word { position:absolute; font:700 clamp(90px,14vw,230px)/.76 var(--font-display); letter-spacing:-.075em; transform-origin:50% 50%; white-space:nowrap; }
.warp-word em { font-style:normal; color:#caff6d; -webkit-text-stroke:1px #caff6d; }
.warp-word.word-b,.warp-word.word-c { opacity:0; visibility:hidden; }
.warp-word.word-b em { color:#c2a4ff; -webkit-text-stroke-color:#c2a4ff; }
.warp-word.word-c em { color:#ffe448; -webkit-text-stroke-color:#ffe448; }
.warp-bottom { position:absolute; left:var(--gutter); right:var(--gutter); bottom:92px; z-index:4; display:flex; align-items:flex-end; justify-content:space-between; gap:24px; }
.warp-bottom p { font-size:13px; line-height:1.8; color:#bbb7ce; }
.warp-play { border:1px solid #caff6d66; padding:14px 24px; border-radius:40px; font-size:12px; color:#e6fec8; background:#211d309c; backdrop-filter:blur(16px); display:flex; align-items:center; gap:35px; }
.warp-play span { font-size:26px; color:#caff6d; line-height:1; }
.warp-scroll-hint { font-size:11px; color:#ada6bb; }
.warp-timeline { position:absolute; left:var(--gutter); right:var(--gutter); bottom:34px; height:2px; background:#ffffff1f; }
.warp-timeline>span { display:block; height:100%; width:100%; transform:scaleX(0); background:linear-gradient(90deg,#caff6d,#b291ff,#ff884e); transform-origin:0 50%; }
.projects { background:#17141d; position:relative; isolation:isolate; }
.projects::before { content:''; position:absolute; top:0; right:-14%; width:65vw; height:70vw; z-index:-1; background:radial-gradient(ellipse,#59458f21,transparent 66%); pointer-events:none; }
.project-heading h2 { font-size:clamp(60px,7.8vw,120px); letter-spacing:-.075em; }
.project-heading h2 em { color:#c5a4ff; }
.project-heading { perspective:1000px; }
.project-star { color:#c5ff71; }
.project-trigger { perspective:900px; transition:padding .5s var(--ease-out),color .4s ease; }
.project-trigger h3 { transform-origin:0 50%; }
.project-trigger[aria-expanded=true] h3 { color:#d2ff80; }
.project-trigger[aria-expanded=true] .project-index { background:#c5a4ff; color:#17141d; border-radius:50%; width:34px; height:34px; display:grid; place-items:center; }
.project-art { overflow:visible; perspective:1000px; }
.project-art>img { clip-path:polygon(0 0,94% 0,100% 9%,100% 100%,6% 100%,0 91%); }
.art-shards { position:absolute; inset:0; pointer-events:none; perspective:1000px; z-index:2; opacity:0; }
.art-shard { position:absolute; top:0; bottom:0; width:12.55%; background-repeat:no-repeat; background-size:800% 100%; transform-origin:50% 50%; box-shadow:1px 0 0 #fff2; }
.art-shard::after { content:''; position:absolute; inset:0; background:linear-gradient(100deg,#d5ff7944,transparent 45%,#7d4cea22); mix-blend-mode:screen; }
.project-art>span { z-index:3; }
.about { background:#d8c9fc; position:relative; isolation:isolate; }
.about::before { content:''; pointer-events:none; position:absolute; top:0; left:0; right:0; height:36%; background:radial-gradient(ellipse at 90% 10%,#f6ffb780,transparent 66%); z-index:-1; }
.about-title-row h2 { font-size:clamp(40px,6.2vw,95px); letter-spacing:-.07em; }
.orange-word { color:#662cce; }
.profile-token { background:#e9e1ff73; padding:18px 25px 18px 18px; border-radius:50px 50px 50px 8px; border:1px solid #fff8; box-shadow:0 12px 50px #784cca14; }
.morph-lab { background:#201a30; color:#e4dded; border-radius:44px 8px 44px 8px; box-shadow:22px 22px 0 #ad93d54f,0 20px 50px #3f21692e; border:1px solid #fff5; }
.morph-viewport { perspective:550px; background:radial-gradient(ellipse,#a375e332,transparent 65%); }
.morph-word { color:#ccbdf81a; }
.lab-topline { border-color:#fff2; }
.morph-control button { color:#eee8fe; }
.morph-control button.is-selected { color:#d9ff8c; }
.morph-control p,.morph-value { color:#b2a4c6; }
.morph-pixel { box-shadow:inset 2px 2px #fff5,4px 4px 0 #0004; }
.skill-strip span { border-radius:30px; background:#ede5fc8f; border-color:#fff5; }
.personal-note { position:relative; }
.personal-note .pixel-star { color:#7536c4; }
.memories { background:#d7f795; position:relative; isolation:isolate; }
.memories-heading h2 { font-size:clamp(44px,6.8vw,105px); }
.reel { perspective:1000px; }
.reel-back { background-size:cover; background-position:center; border:8px solid #f2f5dd; box-shadow:12px 15px 30px #1d382024; }
.reel-back.back-one { background-image:url('./moonstone-opening.webp'); }
.reel-back.back-two { background-image:url('./moonstone-rest.webp'); }
.reel-main { box-shadow:15px 24px 42px #1c351e35; border-color:#f7f5e4; }
.dreamup-banner { background:#17141e; color:#e8f6cf; border-radius:5px 70px 5px 70px; overflow:hidden; position:relative; isolation:isolate; }
.dreamup-banner::before { content:''; position:absolute; width:75%; aspect-ratio:1; right:-20%; top:-70%; background:conic-gradient(from 0deg,transparent,#a189ff44,transparent,#d4ff7c4f,transparent); border-radius:50%; z-index:-1; animation:realm-orbit 14s linear infinite; filter:blur(20px); }
.dreamup-banner strong>span:first-child { color:#c5a4ff; }
.dreamup-arrow { color:#d4ff7c; }
.contact { background:#ffa166; }
.contact-main h2 { letter-spacing:-.075em; }
.contact-face { color:#332025; text-shadow:8px 8px 0 #ffe448; }
.world-dock { z-index:150; background:#f7f5e1bd; backdrop-filter:blur(24px) saturate(1.7); box-shadow:0 10px 50px #12141926,inset 0 1px 0 #fff; }
.fx-toolbar { position:fixed; left:20px; bottom:24px; z-index:151; display:flex; align-items:center; gap:4px; background:#1e1a2acf; color:#f3f4da; border:1px solid #ffffff3d; backdrop-filter:blur(22px) saturate(1.5); border-radius:50px; padding:5px; box-shadow:0 5px 30px #15122130; }
.fx-toolbar button { height:39px; min-width:39px; border-radius:40px; display:flex; align-items:center; justify-content:center; gap:10px; font-size:16px; }
.fx-toolbar button:disabled { opacity:.45; cursor:default; }
.fx-toolbar #realm-switch { padding:0 13px; font-size:11px; }
#realm-switch i { width:10px; height:10px; background:var(--realm); border-radius:50%; box-shadow:0 0 13px var(--realm); }
#realm-switch b { font-weight:400; font-size:19px; }
.fx-toolbar button:hover { background:#ffffff18; }
.chapter-gate { position:fixed; inset:0; z-index:140; visibility:hidden; pointer-events:none; overflow:hidden; }
.chapter-gate.is-running { visibility:visible; pointer-events:auto; }
.gate-slats { position:absolute; inset:0; display:flex; }
.gate-slats>i { flex:1; height:145%; margin-top:-15vh; margin-left:-1px; background:#c4a3ff; transform:translateY(-130%) skewY(-13deg); }
.gate-slats>i:nth-child(3n+1) { background:#d0b3ff; }
.gate-slats>i:nth-child(3n+2) { background:#bc96fb; }
.gate-solid { position:absolute; inset:0; background:#c4a3ff; opacity:0; }
.gate-copy { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; align-items:center; color:#1b1626; text-align:center; perspective:800px; }
.gate-index { position:absolute; top:9%; left:var(--gutter); font:18px/1 var(--font-display); }
.gate-copy strong { font:700 clamp(70px,15vw,240px)/.75 var(--font-display); letter-spacing:-.055em; }
.gate-domain { font:12px/1 var(--font-display); margin-top:55px; letter-spacing:3px; }
.opening-sequence { position:fixed; inset:0; z-index:160; visibility:hidden; pointer-events:none; overflow:hidden; }
.opening-sequence.is-running { visibility:visible; pointer-events:auto; }
.opening-door { position:absolute; inset:0; background:#c6ff6d; }
.door-left { clip-path:polygon(0 0,66% 0,35% 100%,0 100%); }
.door-right { clip-path:polygon(66% 0,100% 0,100% 100%,35% 100%); background:#c6ff6d; }
.opening-copy { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#1a2420; }
.opening-copy>span { font:13px/1 var(--font-display); letter-spacing:5px; }
.opening-copy>strong { font:700 clamp(100px,25vw,400px)/1.2 var(--font-display); letter-spacing:-.07em; }
.opening-copy>strong>span { color:#8751e7; }
.opening-copy>div { display:flex; gap:16px; align-items:center; font:12px/1 var(--font-display); letter-spacing:3px; }
.opening-copy i { width:70px; height:2px; background:#202c20; transform-origin:0 50%; }
.pointer-lens { position:fixed; width:66px; height:66px; left:0; top:0; z-index:130; opacity:0; pointer-events:none; border:1px solid #fff9; border-radius:50%; color:white; background:#ffffff08; backdrop-filter:invert(1) blur(1px); display:grid; place-items:center; transform:translate(-100px,-100px); }
.pointer-lens>span { font:10px/1 var(--font-display); letter-spacing:1px; mix-blend-mode:difference; }
#pointer-trail { position:fixed; inset:0; width:100%; height:100%; z-index:125; pointer-events:none; }
.realm-wave { position:fixed; inset:0; z-index:120; pointer-events:none; background:var(--realm); mix-blend-mode:color; clip-path:circle(0 at 5% 95%); }
.split-letter { display:inline-block; transform-origin:50% 100%; }
.memories-heading h2 .split-letter { display:inline-block; }
.contact-main h2>.split-letter { color:inherit; }
.section-pad h2 { perspective:1000px; }
.menu-dialog { background:#d6c1ff; border-radius:60px 5px 60px 5px; }
.menu-dialog nav>a { perspective:900px; }
.menu-dialog nav strong { transition:transform .5s var(--ease-out),letter-spacing .5s var(--ease-out); transform-origin:0 50%; }
.menu-dialog nav>a:hover strong { transform:rotateY(-14deg) skewX(-7deg); letter-spacing:2px; color:#582490; }
.poster-dialog { box-shadow:0 0 100px #b389ff38; }
@keyframes realm-orbit { to { transform:rotate(360deg); } }
@media(hover:hover) and (pointer:fine) {
  .project-trigger:hover { padding-left:18px; }
  .pill { position:relative; overflow:hidden; isolation:isolate; }
  .pill::before { content:''; position:absolute; z-index:-1; inset:-60% -10%; background:#8758da; transform:translateY(105%) rotate(-12deg); transition:transform .55s var(--ease-out); border-radius:50%; }
  .pill:hover::before { transform:translateY(0) rotate(8deg); }
  .pill:hover { color:#fff !important; }
  .pill>span:last-child { transition:transform .55s var(--ease-out); }
  .pill:hover>span:last-child { transform:rotate(45deg); }
}
@media(max-width:1150px) {
  .fx-toolbar { bottom:100px; left:16px; }
  .project-heading h2 { font-size:7vw; }
}
@media(max-width:760px) {
  .hero-stamp { width:82px; height:82px; right:8%; top:390px; }
  .hero-stamp>span:last-child { font-size:7px; }
  .hero-stamp .stamp-face { font-size:46px; }
  .hero-halo { width:120vw; height:120vw; top:390px; right:-50vw; }
  .hero::after { font-size:16vw; left:-5%; bottom:55px; }
  .hero-name::before { transform:translate(4px,6px); }
  .ribbon-track { font-size:27px; }
  .warp-stage { min-height:680px; height:100svh; }
  .warp-topline { top:35px; font-size:9px; letter-spacing:.5px; }
  .warp-topline>span:first-child { max-width:110px; }
  .warp-word { font-size:17vw; }
  .warp-bottom { bottom:100px; align-items:flex-start; flex-direction:column; gap:14px; }
  .warp-bottom p { font-size:11px; }
  .warp-play { font-size:11px; padding:11px 18px; gap:25px; }
  .warp-scroll-hint { display:none; }
  .warp-aura { width:150vw; height:150vw; left:-25%; top:10%; }
  .warp-timeline { bottom:52px; }
  .project-heading h2 { font-size:57px; }
  .project-trigger[aria-expanded=true] .project-index { width:24px; height:24px; }
  .about-title-row h2 { font-size:43px; }
  .profile-token { padding:12px 20px 12px 12px; margin-top:30px; }
  .morph-lab { border-radius:28px 5px 28px 5px; box-shadow:10px 12px 0 #ad93d56b; }
  .memories-heading h2 { font-size:45px; }
  .dreamup-banner { border-radius:5px 38px 5px 38px; }
  .fx-toolbar { bottom:88px; left:auto; right:12px; padding:4px; }
  .fx-toolbar button { height:31px; min-width:32px; font-size:15px; }
  .fx-toolbar #realm-switch { padding:0 8px; gap:7px; font-size:10px; }
  .fx-toolbar #realm-switch b { display:none; }
  .pointer-lens,#pointer-trail { display:none; }
  .gate-copy strong { font-size:22vw; }
  .chapter-gate[data-chapter=memories] .gate-copy strong { font-size:16.5vw; }
  .gate-domain { font-size:8px; letter-spacing:1.5px; margin-top:32px; }
  .opening-copy>span { font-size:9px; letter-spacing:3px; }
  .opening-copy>div { font-size:9px; letter-spacing:1px; }
  .opening-copy i { width:40px; }
  .menu-dialog { border-radius:35px 5px 35px 5px; }
}
@media(max-width:360px) {
  .hero-stamp { top:366px; right:6%; width:72px; height:72px; }
  .project-heading h2 { font-size:49px; }
  .about-title-row h2 { font-size:37px; }
  .memories-heading h2 { font-size:39px; }
}
body[data-motion=paused] .pointer-lens,body[data-motion=paused] #pointer-trail { display:none; }
body[data-motion=paused] .opening-sequence,body[data-motion=paused] .chapter-gate { visibility:hidden; pointer-events:none; }
body[data-motion=paused] .art-shards { opacity:0!important; }
body[data-motion=paused] .liquid-field { opacity:.65; }
html[data-motion=paused] { scroll-behavior:auto!important; }
body[data-motion=paused] *,body[data-motion=paused] *::before,body[data-motion=paused] *::after { transition-duration:0ms!important; }
@media(prefers-reduced-motion:reduce) {
  .pointer-lens,#pointer-trail { display:none; }
  .opening-sequence,.chapter-gate { display:none; }
}
