/* Light belongs to a surface: atmosphere, floor, rune glass and metal. */
#screen-title { padding-top:calc(var(--u)*16); gap:calc(var(--u)*2.5); }
#screen-title .title-rune { display:none; }
#screen-title .title-heading { width:94%; }
.title-heading .eyebrow { font-size:calc(var(--u)*1.7); letter-spacing:.26em; margin-bottom:calc(var(--u)*2.5); color:#bbb9a9; }
.title-main { filter:drop-shadow(0 2px 2px #000b); }
.title-wordmark { width:100%; height:auto; }
.title-sub { font-size:calc(var(--u)*2.1); letter-spacing:.5em; margin-top:calc(var(--u)*2.1); color:#cab88e; }
.title-tag { font:italic calc(var(--u)*2.6)/1.6 var(--font-story); max-width:76%; color:#cbc8bb; }
.title-vignette { background:linear-gradient(#0710189c,transparent 40%,transparent 58%,#070e0de8 88%); }
.story-logo { max-width:85%; margin:0 auto; filter:drop-shadow(0 2px 2px #000); }

.node.available .disc::after { content:''; position:absolute; inset:-6px; border:1px solid #e3c99455; border-radius:inherit; box-shadow:0 0 16px #dba95735; animation:frontierLight 3s ease-in-out infinite; pointer-events:none; }
.node .disc { position:relative; }
@keyframes frontierLight { 50%{opacity:.35;scale:1.06} }

.enemy { --actor-light:207,218,213; }
.enemy[data-aura=green] { --actor-light:103,226,137; }
.enemy[data-aura=red] { --actor-light:255,102,66; }
.enemy[data-aura=purple] { --actor-light:189,119,255; }
.enemy[data-aura=orange] { --actor-light:255,177,61; }
.ground-aura { background:radial-gradient(ellipse,#e6f9ff30,transparent 65%); box-shadow:0 0 12px var(--aura),inset 0 0 13px var(--aura); }
.ground-aura::before { inset:-100% -30%; opacity:.55; }
.ground-aura::after { content:''; position:absolute; width:140%; aspect-ratio:1; left:-20%; top:50%; background:var(--aura); mask:url('../assets/art/v4/fx_wisp-rgba.png') center/contain no-repeat; -webkit-mask:url('../assets/art/v4/fx_wisp-rgba.png') center/contain no-repeat; transform:translateY(-50%) scaleY(.24) rotate(0deg); opacity:.75; animation:floorEnergy 11s linear infinite; }
.ground-aura i:nth-child(2),.ground-aura i:nth-child(3) { display:none; }
.enemy[data-aura=white] .ground-aura { border:0; background:radial-gradient(ellipse,#dce6d817,transparent 65%); box-shadow:none; opacity:.15; }
.enemy[data-aura=white] .ground-aura::before,.enemy[data-aura=white] .ground-aura::after { display:none; }
.enemy .portrait::after { content:''; position:absolute; inset:0; background:linear-gradient(transparent 48%,rgba(var(--actor-light),.08) 72%,rgba(var(--actor-light),.6)); mask:var(--actor-mask) center bottom/contain no-repeat; -webkit-mask:var(--actor-mask) center bottom/contain no-repeat; mix-blend-mode:screen; pointer-events:none; opacity:.7; }
.enemy.solo .portrait::after { transform:scale(1.04); transform-origin:center bottom; }
.enemy.boss .portrait::after,.enemy.miniboss .portrait::after { transform:scale(1.07); opacity:1; }
.enemy[data-aura=white] .portrait::after { display:none; }
.enemy.dead .portrait::after { display:none; }
@keyframes floorEnergy { to{transform:translateY(-50%) scaleY(.24) rotate(360deg)} }

.tile .gem .shape.has-art { filter:saturate(1.02) contrast(1.06) brightness(1.04); }
.tile.charged_h .gem .shape.has-art,.tile.charged_v .gem .shape.has-art { filter:saturate(1.16) contrast(1.08) brightness(1.14) drop-shadow(0 0 3px var(--rune-light)); }
.tile::before { content:''; position:absolute; inset:0; border-radius:24%; background:radial-gradient(ellipse,var(--rune-light),transparent 70%); opacity:.16; pointer-events:none; transition:opacity .15s; }
.tile .gem::before { content:''; position:absolute; inset:2% 12% 54% 16%; z-index:2; background:radial-gradient(ellipse at 35% 15%,#ffffff70,transparent 66%); border-radius:50%; opacity:.3; pointer-events:none; mix-blend-mode:screen; }
.tile.selected::before,.tile.hint::before { opacity:.45; }
.tile.charged_h::before,.tile.charged_v::before,.tile.blast::before,.tile.world::before { opacity:.44; }
.tile.charged_h .gem::before,.tile.charged_v .gem::before,.tile.blast .gem::before,.tile.world .gem::before { animation:chargedGlass 2.7s ease-in-out infinite; }
.tile.rune-struck::before,.tile.rune-casting::before { opacity:.85; }
.tile.pop::before { animation:glassRelease .28s ease-out forwards; }
.tile.locked::before,.tile[data-rune=stone]::before,.tile[data-rune=stone] .gem::before { display:none; }
@keyframes chargedGlass { 50%{opacity:.85;transform:translate(8%,12%)} }
@keyframes glassRelease { 0%{opacity:.8;scale:1} 100%{opacity:0;scale:1.45} }
@media(prefers-reduced-motion:reduce) {
 .node.available .disc::after,.ground-aura::after,.tile .gem::before,.tile.pop::before { animation:none!important; }
 .tile::before { transition:none; }
}
