/* ══════════════════════════════════════════
   SOUL HARVEST v5 — style.css (Souls-like Redesign)
   ══════════════════════════════════════════ */
*{margin:0;padding:0;box-sizing:border-box;}
:root{
  --ink:#060408;
  --ink2:#0d0810;
  --ink3:#130d18;
  --gold:#b8943a;
  --gold-bright:#d4aa50;
  --gold-dim:rgba(184,148,58,.4);
  --gold-faint:rgba(184,148,58,.18);
  --crimson:#6b1a1a;
  --crimson-bright:#9b2a2a;
  --blood:#c23232;
  --void:#2a0d4a;
  --void-bright:#5a1e8a;
  --ash:rgba(220,200,180,.55);
  --ash-dim:rgba(220,200,180,.22);
  --border-gold:rgba(184,148,58,.18);
  --border-blood:rgba(140,40,40,.28);
  --border-void:rgba(100,40,180,.22);
  --ff-title:'Cinzel',serif;
  --ff-body:'Crimson Text',serif;
  --t-fast:.15s ease;
  --t-mid:.3s ease;
  --t-slow:.5s ease;
}
html,body{margin:0;padding:0;}
body{
  background:var(--ink);
  color:var(--ash);
  font-family:var(--ff-body);
}
/* grain overlay */
body::before{
  content:'';position:fixed;inset:0;z-index:999;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
  opacity:.025;mix-blend-mode:overlay;
}

/* ══ INTRO ══ */
#intro-screen{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:var(--ink);}
#intro-bg{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 70%,rgba(100,20,20,.18) 0%,transparent 55%),radial-gradient(ellipse at 30% 25%,rgba(50,10,80,.12) 0%,transparent 50%);animation:introBgPulse 5s ease-in-out infinite;}
@keyframes introBgPulse{0%,100%{opacity:.5;}50%{opacity:1;}}
#intro-content{position:relative;z-index:1;text-align:center;animation:introFadeIn 1.4s ease forwards;}
@keyframes introFadeIn{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:none;}}
#intro-runes{font-size:12px;letter-spacing:8px;color:rgba(184,148,58,.18);margin-bottom:32px;animation:runesDrift 7s ease-in-out infinite;}
@keyframes runesDrift{0%,100%{letter-spacing:8px;opacity:.18;}50%{letter-spacing:10px;opacity:.4;}}
#intro-orb{font-size:80px;margin-bottom:24px;display:block;animation:introOrbFloat 4s ease-in-out infinite,introOrbGlow 3s ease-in-out infinite;}
@keyframes introOrbFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}
@keyframes introOrbGlow{0%,100%{filter:drop-shadow(0 0 10px rgba(180,130,40,.25));}50%{filter:drop-shadow(0 0 28px rgba(180,130,40,.6));}}
#intro-title{font-family:var(--ff-title);font-size:42px;font-weight:900;color:var(--gold-bright);letter-spacing:8px;text-shadow:0 0 40px rgba(180,130,40,.25),0 2px 0 rgba(0,0,0,.8);margin-bottom:10px;}
#intro-sub{font-size:13px;font-style:italic;color:var(--gold-dim);letter-spacing:3px;margin-bottom:40px;}
#intro-btn{display:block;padding:14px 44px;background:linear-gradient(180deg,rgba(120,30,20,.5),rgba(80,15,10,.6));border:1px solid rgba(180,100,40,.35);border-top-color:rgba(220,150,60,.28);border-radius:2px;color:var(--gold-bright);font-family:var(--ff-title);font-size:13px;letter-spacing:4px;cursor:pointer;transition:all var(--t-mid);margin:0 auto 14px;box-shadow:0 4px 20px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,220,100,.06);}
#intro-btn:hover{background:linear-gradient(180deg,rgba(160,40,20,.55),rgba(110,20,10,.65));border-color:rgba(220,150,60,.55);box-shadow:0 0 30px rgba(180,100,30,.22),0 4px 20px rgba(0,0,0,.5);}
#intro-load-row{margin-top:6px;}
#intro-load-btn{background:transparent;border:none;color:rgba(184,148,58,.28);font-family:var(--ff-body);font-size:12px;font-style:italic;cursor:pointer;letter-spacing:1px;transition:color var(--t-mid);}
#intro-load-btn:hover{color:var(--gold-dim);}
#intro-screen.fade-out{animation:introFadeOut .9s ease forwards;}
@keyframes introFadeOut{from{opacity:1;}to{opacity:0;pointer-events:none;}}

/* ══ SCREENSHAKE ══ */
#screenshake-root.shake{animation:shake .35s ease;}
@keyframes shake{0%{transform:translate(0,0);}10%{transform:translate(-4px,2px);}20%{transform:translate(4px,-3px);}30%{transform:translate(-3px,4px);}40%{transform:translate(3px,-2px);}50%{transform:translate(-2px,3px);}60%{transform:translate(3px,2px);}70%{transform:translate(-2px,-2px);}80%{transform:translate(2px,1px);}100%{transform:translate(0,0);}}
#screenshake-root.shake-heavy{animation:shakeHeavy .5s ease;}
@keyframes shakeHeavy{0%{transform:translate(0,0);}8%{transform:translate(-7px,4px);}16%{transform:translate(7px,-5px);}24%{transform:translate(-5px,6px);}32%{transform:translate(6px,-4px);}40%{transform:translate(-4px,5px);}50%{transform:translate(5px,3px);}60%{transform:translate(-3px,-4px);}75%{transform:translate(3px,2px);}100%{transform:translate(0,0);}}

/* ══ BG LAYERS ══ */
#particle-canvas{position:fixed;inset:0;z-index:2;pointer-events:none;}
#bg-fx{position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse at 12% 50%,rgba(100,15,15,.10) 0%,transparent 55%),radial-gradient(ellipse at 88% 18%,rgba(50,8,80,.08) 0%,transparent 50%),radial-gradient(ellipse at 55% 95%,rgba(20,8,45,.08) 0%,transparent 45%);}
#event-overlay{position:fixed;inset:0;z-index:1;pointer-events:none;transition:background 1.4s;background:transparent;}
#particles{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;}
.particle{position:absolute;border-radius:50%;animation:drift linear infinite;opacity:0;}
@keyframes drift{0%{transform:translateY(100vh) scale(0);opacity:0;}10%{opacity:.4;}90%{opacity:.12;}100%{transform:translateY(-10vh) scale(1.5);opacity:0;}}
#lightning-layer{position:fixed;inset:0;z-index:2;pointer-events:none;overflow:hidden;}
.lightning-bolt{position:absolute;top:0;width:2px;background:linear-gradient(180deg,transparent,rgba(200,60,60,.8),transparent);transform-origin:top center;animation:lbolt .13s ease-out forwards;}
@keyframes lbolt{0%{opacity:1;transform:scaleY(0);}40%{opacity:1;transform:scaleY(1);}100%{opacity:0;transform:scaleY(1);}}
.demon-rune{position:fixed;font-size:28px;z-index:10;cursor:pointer;pointer-events:auto;animation:runeFloat linear forwards;text-shadow:0 0 14px rgba(180,50,220,.9),0 0 28px rgba(120,20,160,.5);user-select:none;filter:drop-shadow(0 0 6px rgba(200,60,240,.6));transition:transform .08s ease,filter .08s;}
.demon-rune:hover{transform:scale(1.4) !important;filter:drop-shadow(0 0 12px rgba(240,80,255,.9)) brightness(1.6) !important;}
.demon-rune.hit{animation:runeHit .2s ease-out forwards !important;}
@keyframes runeHit{0%{transform:scale(1.5);filter:brightness(3) drop-shadow(0 0 20px rgba(255,150,255,1));}100%{transform:scale(0);opacity:0;filter:brightness(0);}}
@keyframes runeFloat{0%{opacity:0;transform:translateY(10px) rotate(-15deg) scale(.4);}12%{opacity:1;transform:translateY(0) rotate(0deg) scale(1.1);}20%{transform:scale(1);}75%{opacity:.9;}100%{opacity:0;transform:translateY(-80px) rotate(20deg) scale(.8);}}
.demon-burst{position:fixed;pointer-events:none;z-index:11;width:0;height:0;border-radius:50%;border:3px solid rgba(200,80,255,.8);transform:translate(-50%,-50%);animation:burstRing .5s ease-out forwards;}
@keyframes burstRing{0%{width:0;height:0;opacity:1;}100%{width:80px;height:80px;opacity:0;border-color:rgba(200,80,255,0);}}
#void-cracks{position:fixed;inset:0;z-index:2;pointer-events:none;opacity:0;transition:opacity 1.2s;}
#void-cracks.active{opacity:.35;}
.vcrack{position:absolute;background:rgba(80,20,120,.45);transform-origin:left center;animation:crackPulse 4s ease-in-out infinite;}
@keyframes crackPulse{0%,100%{opacity:.15;}50%{opacity:.6;}}
#convergence-ring{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:0;height:0;z-index:2;pointer-events:none;opacity:0;transition:opacity 1s;}
#convergence-ring.active{opacity:.4;}
.cring-rune{position:absolute;font-size:12px;color:rgba(180,130,220,.45);animation:cruneSpin linear infinite;}
@keyframes cruneSpin{from{transform:rotate(0deg) translateX(130px) rotate(0deg);}to{transform:rotate(360deg) translateX(130px) rotate(-360deg);}}

/* ══ HEADER ══ */
header{
  grid-column:1/-1;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 clamp(10px,2vw,22px);
  border-bottom:1px solid rgba(184,148,58,.18);
  background:rgba(5,3,8,.98);backdrop-filter:blur(12px);
  min-height:54px;flex-shrink:0;position:relative;
}
header::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(184,148,58,.22),rgba(180,50,50,.10),rgba(184,148,58,.22),transparent);}
.hdr-title{font-family:var(--ff-title);font-size:clamp(13px,2.2vw,17px);font-weight:900;color:var(--gold-bright);letter-spacing:clamp(3px,.6vw,6px);text-shadow:0 0 28px rgba(200,158,50,.18),0 1px 0 rgba(0,0,0,.8);white-space:nowrap;}
.hdr-sub{font-size:clamp(9px,1.1vw,10px);color:var(--gold-dim);font-style:italic;letter-spacing:2px;}
.hdr-center{flex:1;display:flex;justify-content:center;align-items:center;min-width:40px;}
.hdr-right{text-align:right;flex-shrink:0;}
.hdr-total{font-family:var(--ff-title);font-size:clamp(11px,1.5vw,13px);color:var(--gold);}
.hdr-sps{font-size:clamp(9px,1.1vw,10px);color:var(--gold-dim);font-style:italic;}
.prestige-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:rgba(100,15,15,.35);border:1px solid rgba(160,40,40,.3);border-radius:20px;font-family:var(--ff-title);font-size:10px;color:var(--blood);margin-left:10px;}
.abyss-badge{background:rgba(15,8,50,.35);border-color:rgba(90,30,160,.3);color:#9060d0;}
#save-indicator{font-family:var(--ff-title);font-size:10px;letter-spacing:1px;color:rgba(184,148,58,.2);transition:color var(--t-mid);}
#save-indicator.saving{color:rgba(120,200,110,.7);}

/* ══ MAIN (LEFT PANEL) ══ */
#main{
  padding:clamp(6px,1.2vh,12px) clamp(8px,1.5vw,14px);
  display:flex;flex-direction:column;align-items:center;
  gap:clamp(5px,.9vh,9px);
  overflow-y:auto;overflow-x:hidden;min-height:0;
  border-right:1px solid rgba(184,148,58,.12);
  position:relative;
  background:linear-gradient(180deg,rgba(14,8,20,.6) 0%,rgba(8,5,14,.3) 40%,transparent 100%);
}
#main::before{content:'';position:absolute;top:0;left:0;right:0;height:80px;background:linear-gradient(180deg,rgba(184,148,58,.03),transparent);pointer-events:none;z-index:0;}
#main::after{content:'';position:absolute;bottom:0;left:0;right:0;height:45%;background:radial-gradient(ellipse at 50% 100%,rgba(80,15,120,.10) 0%,rgba(40,5,70,.05) 35%,transparent 68%);pointer-events:none;animation:mainFog 9s ease-in-out infinite;z-index:0;}
@keyframes mainFog{0%,100%{opacity:.4;}50%{opacity:1;}}

/* ══ SOUL COUNT ══ */
.soul-block{text-align:center;position:relative;z-index:1;}
.soul-count{font-family:var(--ff-title);font-size:42px;font-weight:700;color:var(--gold-bright);line-height:1;text-shadow:0 0 30px rgba(180,130,40,.18),0 2px 0 rgba(0,0,0,.6);transition:color var(--t-mid),text-shadow var(--t-mid);will-change:contents;}
.soul-count.tier-2{color:#e09840;}
.soul-count.tier-3{color:#d84040;text-shadow:0 0 28px rgba(210,50,50,.28);}
.soul-count.tier-4{color:#9040f0;text-shadow:0 0 32px rgba(140,50,220,.35);}
.soul-count.tier-5{color:#fff;text-shadow:0 0 18px rgba(255,200,100,.45),0 0 45px rgba(200,100,50,.28);animation:soulPulse 2s ease-in-out infinite;}
@keyframes soulPulse{0%,100%{opacity:1;}50%{opacity:.82;}}
.soul-count.event-red{color:var(--blood);}
.soul-count.event-demon{color:#b070f0;}
.soul-label{font-size:10px;color:var(--gold-dim);letter-spacing:3px;text-transform:uppercase;font-style:italic;text-align:center;display:block;margin-top:4px;}

/* ══ ORB ══ */
/* ── ORB WRAPPER — shifted right ── */
.orb-wrapper{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;transform:translateX(22px);}
.orb-wrapper::before{content:'';position:absolute;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(100,20,150,.09) 0%,rgba(60,8,100,.04) 40%,transparent 68%);animation:orbAmbient 7s ease-in-out infinite;pointer-events:none;z-index:0;}
@keyframes orbAmbient{0%,100%{transform:scale(1);opacity:.55;}50%{transform:scale(1.07);opacity:1;}}
.orb-ring{position:absolute;border-radius:50%;border:1px solid;animation:rpulse 3.5s ease-in-out infinite;pointer-events:none;transition:border-color .8s;will-change:transform,opacity;}
#ring1{width:221px;height:221px;border-color:rgba(184,148,58,.28);animation-delay:0s;}
#ring2{width:254px;height:254px;border-color:rgba(184,120,40,.12);animation-delay:.7s;}
#ring3{width:288px;height:288px;border-color:rgba(120,60,140,.09);animation-delay:1.4s;}
#ring4{width:315px;height:315px;border-color:rgba(184,148,58,.05);animation:ring4Drift 28s linear infinite;}
@keyframes ring4Drift{from{transform:rotate(0deg) scale(1);}to{transform:rotate(360deg) scale(1);}}
body.tier-3 #ring1{border-color:rgba(180,60,50,.22)!important;}
body.tier-4 #ring1{border-color:rgba(110,50,180,.28)!important;}
body.tier-5 #ring1{border-color:rgba(200,160,80,.38)!important;animation-duration:1.6s!important;}
body.eclipse-active #ring1{border-color:rgba(200,50,50,.5)!important;animation-duration:1.8s!important;}
body.eclipse-active #ring2{border-color:rgba(160,30,30,.32)!important;}
body.invasion-active #ring1{border-color:rgba(110,35,180,.5)!important;}
body.invasion-active #ring2{border-color:rgba(90,20,160,.32)!important;}
@keyframes rpulse{0%,100%{opacity:.42;transform:scale(1);}50%{opacity:1;transform:scale(1.03);}}
/* orb aura */
#orb-aura{position:absolute;width:191px;height:191px;border-radius:50%;pointer-events:none;z-index:1;transition:box-shadow .5s;will-change:box-shadow;animation:orbBreath 5s ease-in-out infinite;}
#orb-canvas{position:absolute;width:360px;height:360px;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:3;}
@keyframes orbBreath{0%,100%{box-shadow:0 0 36px rgba(184,130,30,.12),0 0 70px rgba(130,70,20,.06);}50%{box-shadow:0 0 60px rgba(184,130,30,.26),0 0 105px rgba(140,80,20,.13);}}
#orb-aura.vfx-fire{animation:none;box-shadow:0 0 70px rgba(220,70,15,.55),0 0 115px rgba(180,40,8,.18);}
#orb-aura.vfx-lightning{animation:none;box-shadow:0 0 70px rgba(80,130,255,.45),0 0 115px rgba(50,90,200,.18);}
#orb-aura.vfx-void{animation:none;box-shadow:0 0 70px rgba(70,15,130,.55),0 0 115px rgba(45,8,90,.18);}
/* orb */
.orb{width:191px;height:191px;border-radius:50%;background:radial-gradient(circle at 38% 35%,#2e1530,#1a0c1e 40%,#0d0612 65%,#060309);border:1.5px solid rgba(184,148,58,.38);cursor:pointer;position:relative;z-index:2;display:flex;align-items:center;justify-content:center;transition:transform .07s ease,border-color var(--t-mid),background .8s,box-shadow var(--t-mid);user-select:none;box-shadow:0 0 55px rgba(90,20,120,.22),0 0 100px rgba(60,10,90,.12),inset 0 0 40px rgba(0,0,0,.7),inset 0 1px 0 rgba(230,170,80,.07);will-change:transform;}
.orb::before{content:'';position:absolute;top:11%;left:14%;width:44%;height:44%;border-radius:50%;background:radial-gradient(circle,rgba(200,150,60,.07) 0%,transparent 70%);pointer-events:none;z-index:0;}
.orb:hover{border-color:rgba(220,160,60,.65);box-shadow:0 0 65px rgba(100,25,130,.32),0 0 110px rgba(70,15,100,.16),inset 0 0 35px rgba(0,0,0,.65),inset 0 1px 0 rgba(220,160,70,.08);}
.orb:active{transform:scale(.90);}
body.tier-3 .orb{background:radial-gradient(circle at 38% 35%,#2a0808,#160402 55%,#0a0101)!important;border-color:rgba(180,50,30,.4)!important;}
body.tier-4 .orb{background:radial-gradient(circle at 38% 35%,#120630,#080318 55%,#04020e)!important;border-color:rgba(110,40,180,.45)!important;}
body.tier-5 .orb{background:radial-gradient(circle at 38% 35%,#1e1200,#0e0806 55%,#060404)!important;border-color:rgba(200,160,60,.55)!important;}
.orb.eclipse-orb{background:radial-gradient(circle at 38% 35%,#2e0606,#180202 55%,#0b0101)!important;border-color:rgba(200,45,45,.6)!important;}
.orb.invasion-orb{background:radial-gradient(circle at 38% 35%,#140630,#09041e 55%,#050210)!important;border-color:rgba(110,35,180,.68)!important;}
.orb.boss-orb{border-color:rgba(220,180,50,.8)!important;animation:bossOrbPulse .8s ease-in-out infinite;}
@keyframes bossOrbPulse{0%,100%{box-shadow:0 0 40px rgba(220,160,40,.28),inset 0 0 29px rgba(0,0,0,.6);}50%{box-shadow:0 0 86px rgba(220,160,40,.6),inset 0 0 29px rgba(0,0,0,.6);}}
.orb.surge::after{content:'';position:absolute;inset:-4px;border-radius:50%;border:2px solid rgba(220,170,70,.7);animation:shockOut .5s ease-out forwards;}
@keyframes shockOut{0%{transform:scale(1);opacity:1;}100%{transform:scale(1.9);opacity:0;}}
.orb-glyph{font-size:62px;animation:gfloat 4s ease-in-out infinite;pointer-events:none;position:relative;z-index:1;will-change:transform;}
@keyframes gfloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-5px);}}
.click-hint{font-size:9.5px;color:rgba(184,148,58,.28);letter-spacing:3px;text-transform:uppercase;font-style:italic;}
#click-power-display{font-family:var(--ff-title);font-size:10px;color:rgba(184,148,58,.32);letter-spacing:1px;min-height:14px;}

/* ══ COMBO ══ */
#combo-display{
  width:100%;max-width:300px;
  font-family:var(--ff-title);letter-spacing:1px;
  pointer-events:none;opacity:0;
  transition:opacity .35s,box-shadow .25s;
  background:linear-gradient(145deg,rgba(12,6,22,.96),rgba(18,8,12,.96));
  border:1px solid rgba(184,148,58,.18);
  border-top-color:rgba(184,148,58,.28);
  border-radius:4px;padding:10px 14px 9px;
  box-shadow:0 4px 20px rgba(0,0,0,.5),inset 0 1px 0 rgba(200,140,60,.04);
}
#combo-display.show{opacity:1;}
#combo-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;}
#combo-mult{font-size:9.5px;color:rgba(200,160,60,.55);letter-spacing:2px;text-transform:uppercase;}
#combo-clicks{font-size:9.5px;font-style:italic;color:rgba(184,148,58,.38);letter-spacing:.5px;}
#combo-val{font-size:42px;font-weight:900;display:block;line-height:1;transition:color .2s;text-shadow:0 0 24px currentColor,0 0 48px currentColor;margin-bottom:7px;transform-origin:left center;}
#combo-val.gain{animation:comboGain .28s cubic-bezier(.2,1.5,.4,1) forwards;}
@keyframes comboGain{0%{transform:scale(1.22);}100%{transform:scale(1);}}
#combo-decay-bar{height:4px;background:rgba(255,255,255,.04);border-radius:2px;overflow:hidden;border:1px solid rgba(150,100,50,.08);margin-bottom:6px;}
#combo-decay-fill{height:100%;border-radius:2px;transition:width .08s linear,background .25s;will-change:width;}
#combo-hint{font-size:8.5px;color:rgba(184,148,58,.22);font-style:italic;letter-spacing:.5px;text-align:center;}
#combo-display.show{box-shadow:0 4px 24px rgba(0,0,0,.55),0 0 14px rgba(184,148,58,.06),inset 0 1px 0 rgba(200,140,60,.04);}
#combo-display.warning{border-color:rgba(220,140,40,.35)!important;}
#combo-display.warning #combo-decay-fill{animation:decayPulse .35s ease-in-out infinite;}
@keyframes decayPulse{0%,100%{opacity:1;}50%{opacity:.3;}}
#combo-display.danger{animation:comboShake .15s ease-in-out infinite;border-color:rgba(220,60,60,.5)!important;box-shadow:0 4px 20px rgba(0,0,0,.55),0 0 18px rgba(220,60,60,.28)!important;}
@keyframes comboShake{0%,100%{transform:translateX(0);}50%{transform:translateX(-2px);}}

/* ── Combo Ranks ── */
#combo-display.rank-ardeur   {border-color:rgba(232,160,64,.32);}
#combo-display.rank-frenésie {border-color:rgba(232,96,48,.42);}
#combo-display.rank-infernal {border-color:rgba(216,48,32,.52);}
#combo-display.rank-abyssal  {border-color:rgba(144,48,216,.58);box-shadow:0 4px 24px rgba(0,0,0,.6),0 0 22px rgba(144,48,216,.18)!important;}
#combo-display.rank-surcharge{border-color:rgba(255,216,64,.72)!important;animation:comboBorderPulse .5s ease-in-out infinite;}
@keyframes comboBorderPulse{0%,100%{box-shadow:0 4px 24px rgba(0,0,0,.6),0 0 28px rgba(255,200,40,.22);}50%{box-shadow:0 4px 24px rgba(0,0,0,.6),0 0 48px rgba(255,200,40,.48);}}
#combo-display.rank-infernal #combo-mult{animation:rankLabelPulse .7s ease-in-out infinite;}
#combo-display.rank-abyssal  #combo-mult{animation:rankLabelPulse .42s ease-in-out infinite;}
#combo-display.rank-surcharge #combo-mult{animation:rankLabelPulse .24s ease-in-out infinite;text-shadow:0 0 12px currentColor,0 0 24px currentColor;}
@keyframes rankLabelPulse{0%,100%{opacity:1;}50%{opacity:.45;}}
.orb.combo-max{border-color:rgba(255,216,64,.88)!important;box-shadow:0 0 88px rgba(255,200,40,.48),0 0 155px rgba(200,155,20,.22),inset 0 0 40px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,210,70,.18)!important;}
#combo-flash{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:55;opacity:0;}
@keyframes comboFlashAnim{0%{opacity:.13;}100%{opacity:0;}}

/* ══ MILESTONE ══ */
.milestone-wrap{width:100%;max-width:300px;}
.milestone-lbl{font-family:var(--ff-title);font-size:9.5px;letter-spacing:2px;color:var(--gold-dim);text-transform:uppercase;margin-bottom:5px;display:flex;justify-content:space-between;}
.milestone-track{height:5px;background:rgba(255,255,255,.03);border:1px solid rgba(150,100,50,.08);border-radius:3px;overflow:hidden;}
.milestone-fill{height:100%;background:linear-gradient(90deg,var(--crimson),#c06030,var(--gold));border-radius:3px;transition:width .4s ease;will-change:width;box-shadow:0 0 6px rgba(190,100,30,.3);}
#ml-name{font-size:9.5px;color:rgba(184,148,58,.25);font-style:italic;margin-top:3px;text-align:center;}

/* ══ LOG ══ */
.log-box{width:100%;max-width:300px;padding:8px 11px;background:rgba(255,255,255,.015);border:1px solid var(--border-gold);border-radius:3px;min-height:46px;max-height:66px;overflow:hidden;}
.log-entry{font-size:10.5px;font-style:italic;color:var(--ash-dim);animation:lfade .35s ease;line-height:1.55;}
.log-entry.ev-red{color:rgba(210,70,70,.75);}
.log-entry.ev-purple{color:rgba(170,90,230,.75);}
.log-entry.ev-gold{color:rgba(215,170,70,.85);}
.log-entry.ev-green{color:rgba(90,210,110,.75);}
@keyframes lfade{from{opacity:0;transform:translateX(-6px);}to{opacity:1;transform:none;}}

/* ══ SAVE BUTTONS ══ */
#save-btns{display:flex;gap:0;width:100%;flex-wrap:nowrap;border-top:1px solid rgba(184,148,58,.14);background:rgba(4,2,7,.99);flex-shrink:0;}
#save-btns button{padding:9px 5px;background:transparent;border:none;border-right:1px solid rgba(184,148,58,.07);color:rgba(184,148,58,.38);font-family:var(--ff-title);font-size:8px;letter-spacing:.7px;cursor:pointer;transition:all var(--t-fast);flex:1;text-transform:uppercase;white-space:nowrap;}
#save-btns button:last-child{border-right:none;}
#save-btns button:hover{background:rgba(184,148,58,.06);color:var(--gold-bright);}

/* ══ EVENT UI ══ */
#event-banner{position:fixed;top:62px;left:50%;transform:translateX(-50%);z-index:60;padding:9px 28px;border-radius:3px;font-family:var(--ff-title);font-size:12px;letter-spacing:2px;text-align:center;pointer-events:none;opacity:0;transition:opacity .4s;min-width:240px;}
#event-banner.show{opacity:1;}
#event-banner.eclipse{background:rgba(80,8,8,.94);border:1px solid rgba(180,40,40,.5);color:#d04040;}
#event-banner.invasion{background:rgba(15,4,50,.94);border:1px solid rgba(100,40,180,.5);color:#a070f0;}
#event-banner.harvest{background:rgba(35,24,4,.94);border:1px solid rgba(160,120,30,.4);color:#d0b040;}
#event-banner.storm{background:rgba(8,16,38,.94);border:1px solid rgba(50,90,180,.5);color:#70a0f0;}
#event-banner.pact{background:rgba(25,4,28,.94);border:1px solid rgba(140,35,120,.5);color:#d070c0;}
#event-banner.titan{background:rgba(4,18,4,.94);border:1px solid rgba(35,140,70,.5);color:#70c070;}
#event-banner.ended{background:rgba(12,8,18,.92);border:1px solid var(--border-gold);color:var(--gold-dim);}
.eb-sub{font-size:9.5px;color:inherit;opacity:.5;margin-top:2px;font-style:italic;letter-spacing:1px;}
#event-timer-bar{position:fixed;top:104px;left:50%;transform:translateX(-50%);z-index:60;width:220px;height:3px;background:rgba(255,255,255,.04);border-radius:2px;overflow:hidden;opacity:0;transition:opacity .4s;}
#event-timer-bar.show{opacity:1;}
#event-timer-fill{height:100%;border-radius:2px;transition:width .4s linear;}
#event-timer-fill.eclipse{background:linear-gradient(90deg,#3a0606,#b02828);}
#event-timer-fill.invasion{background:linear-gradient(90deg,#140640,#6028b8);}
#event-timer-fill.harvest{background:linear-gradient(90deg,#2e2000,#a07818);}
#event-timer-fill.storm{background:linear-gradient(90deg,#061428,#1850a8);}
#event-timer-fill.pact{background:linear-gradient(90deg,#200620,#8028a0);}
#event-timer-fill.titan{background:linear-gradient(90deg,#061806,#289048);}
#eclipse-hint{position:fixed;bottom:66px;left:50%;transform:translateX(-50%);z-index:60;font-family:var(--ff-title);font-size:10px;letter-spacing:2px;color:rgba(200,70,70,.4);font-style:italic;opacity:0;transition:opacity .4s;pointer-events:none;}
#eclipse-hint.show{opacity:1;animation:hintPulse 1.6s ease-in-out infinite;}
@keyframes hintPulse{0%,100%{opacity:.3;}50%{opacity:.82;}}

/* ══ INVASION / BOSS / QUEST BARS ══ */
#invasion-bar-wrap{position:fixed;bottom:14px;left:50%;transform:translateX(-50%);z-index:60;width:250px;opacity:0;transition:opacity .4s;pointer-events:none;}
#invasion-bar-wrap.show{opacity:1;}
#invasion-label{font-family:var(--ff-title);font-size:9.5px;letter-spacing:1.5px;color:rgba(160,70,220,.65);text-align:center;margin-bottom:4px;}
#invasion-track{height:7px;background:rgba(255,255,255,.04);border:1px solid rgba(120,50,180,.25);border-radius:4px;overflow:hidden;}
#invasion-fill{height:100%;background:linear-gradient(90deg,#3a0678,#9028c8);border-radius:4px;transition:width .2s;}
#invasion-count{font-family:var(--ff-title);font-size:9px;color:rgba(160,70,220,.42);text-align:center;margin-top:3px;}
#boss-bar-wrap{position:fixed;bottom:14px;left:50%;transform:translateX(-50%);z-index:60;width:290px;opacity:0;transition:opacity .4s;pointer-events:none;text-align:center;}
#boss-bar-wrap.show{opacity:1;}
#boss-label{font-family:var(--ff-title);font-size:10px;letter-spacing:2px;color:rgba(210,170,45,.8);margin-bottom:4px;}
#boss-track{height:10px;background:rgba(255,255,255,.04);border:1px solid rgba(190,140,35,.28);border-radius:5px;overflow:hidden;}
#boss-fill{height:100%;background:linear-gradient(90deg,#380e00,#b04818);border-radius:5px;transition:width .15s;}
#boss-hp-text{font-family:var(--ff-title);font-size:9px;color:rgba(190,140,45,.48);margin-top:3px;}
#boss-hint{font-size:9px;font-style:italic;color:rgba(190,150,50,.32);margin-top:2px;animation:hintPulse 1.5s ease-in-out infinite;}
#quest-bar-wrap{position:fixed;top:115px;right:16px;z-index:60;width:205px;opacity:0;transition:opacity .4s;background:rgba(8,5,14,.92);border:1px solid var(--border-gold);border-radius:3px;padding:8px 10px;}
#quest-bar-wrap.show{opacity:1;}
#quest-icon{font-size:18px;float:left;margin-right:8px;margin-top:2px;}
#quest-info{overflow:hidden;}
#quest-name{font-family:var(--ff-title);font-size:9.5px;color:var(--gold);letter-spacing:.5px;margin-bottom:4px;}
#quest-track{height:4px;background:rgba(255,255,255,.04);border:1px solid rgba(150,100,50,.10);border-radius:2px;overflow:hidden;margin-bottom:3px;}
#quest-fill{height:100%;background:linear-gradient(90deg,var(--crimson),#b04018);border-radius:2px;transition:width .3s;}
#quest-timer{font-size:9px;font-style:italic;color:var(--gold-dim);}

/* ══ MILESTONE POPUP ══ */
#milestone-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:180;pointer-events:none;opacity:0;font-family:var(--ff-title);font-size:22px;font-weight:900;letter-spacing:4px;text-align:center;text-shadow:0 0 28px currentColor;}
#milestone-popup.show{animation:popupAnim 3.5s ease forwards;}
@keyframes popupAnim{0%{opacity:0;transform:translate(-50%,-50%) scale(.55);}15%{opacity:1;transform:translate(-50%,-50%) scale(1.08);}25%{transform:translate(-50%,-50%) scale(1);}70%{opacity:1;}100%{opacity:0;transform:translate(-50%,-50%) scale(.82);}}

/* ══ OVERLAYS (base) ══ */
#prestige-overlay,#ascension-overlay,#achievements-overlay,#skilltree-overlay,#stats-overlay,#relics-overlay,#shop-overlay{display:none;position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.92);align-items:center;justify-content:center;overflow-y:auto;}
#prestige-overlay.open,#ascension-overlay.open,#achievements-overlay.open,#skilltree-overlay.open,#stats-overlay.open,#relics-overlay.open,#shop-overlay.open{display:flex;}

/* ══ PRESTIGE / ASCENSION MODAL ══ */
.prestige-modal{background:linear-gradient(160deg,#100818,#180808);border:1px solid rgba(140,35,35,.4);border-top-color:rgba(180,60,60,.2);border-radius:4px;padding:26px 28px;max-width:420px;width:90%;text-align:center;max-height:88vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.7);}
.prestige-modal h2{font-family:var(--ff-title);font-size:20px;font-weight:900;color:var(--blood);letter-spacing:4px;margin-bottom:6px;}
.ascension-modal{background:linear-gradient(160deg,#060a18,#0c0620);border-color:rgba(90,35,180,.45);}
.ascension-modal h2{color:#8050e0;}
.pm-sub{font-style:italic;color:rgba(185,90,90,.45);font-size:12px;margin-bottom:16px;}
.pm-stat{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px solid rgba(140,35,35,.1);font-size:12px;}
.pm-stat .label{color:rgba(195,130,130,.42);font-style:italic;}
.pm-stat .val{font-family:var(--ff-title);color:#c05050;}
.pm-warning{margin:12px 0 8px;font-size:11px;color:rgba(190,90,90,.35);font-style:italic;}
.btn-prestige{width:100%;padding:12px;background:rgba(100,15,15,.45);border:1px solid rgba(160,35,35,.5);border-radius:3px;color:#d04040;font-family:var(--ff-title);font-size:14px;letter-spacing:2px;cursor:pointer;margin-top:8px;transition:all var(--t-fast);}
.btn-prestige:hover{background:rgba(140,15,15,.55);border-color:rgba(210,55,55,.65);}
.asc-btn{background:rgba(35,8,70,.42);border-color:rgba(110,45,180,.5);color:#8050e0;}
.asc-btn:hover{background:rgba(55,8,110,.55);border-color:rgba(140,75,210,.65);}
.btn-cancel{width:100%;padding:8px;background:transparent;border:1px solid var(--border-gold);border-radius:3px;color:var(--gold-dim);font-family:var(--ff-title);font-size:11px;letter-spacing:1px;cursor:pointer;margin-top:5px;transition:all var(--t-fast);}
.btn-cancel:hover{border-color:rgba(184,148,58,.32);color:var(--gold);}
.prestige-buffs{display:flex;flex-wrap:wrap;gap:4px;margin:10px 0;}
.pbuff{padding:2px 8px;background:rgba(90,15,15,.28);border:1px solid rgba(140,35,35,.22);border-radius:20px;font-size:10px;color:#b04040;font-style:italic;}
.pm-unlock{display:flex;align-items:center;gap:7px;padding:4px 7px;margin-bottom:3px;background:rgba(110,15,70,.1);border:1px solid rgba(160,35,110,.18);border-radius:3px;font-size:10px;color:rgba(210,110,170,.6);font-style:italic;}

/* ══ ACHIEVEMENTS ══ */
.ach-modal,.stats-modal{background:linear-gradient(160deg,#0c0916,#100710);border:1px solid rgba(130,75,45,.22);border-radius:4px;padding:22px;max-width:500px;width:92%;max-height:85vh;overflow-y:auto;}
.ach-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--border-gold);}
.ach-header h3{font-family:var(--ff-title);font-size:16px;font-weight:700;color:var(--gold);letter-spacing:2px;}
.ach-header button{background:transparent;border:1px solid var(--border-gold);border-radius:3px;color:var(--gold-dim);padding:3px 8px;cursor:pointer;font-family:var(--ff-title);font-size:11px;transition:all var(--t-fast);}
.ach-header button:hover{color:var(--gold);border-color:rgba(184,148,58,.32);}
#ach-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;}
.ach-item{padding:10px;background:rgba(255,255,255,.02);border:1px solid var(--border-gold);border-radius:3px;transition:all .2s;}
.ach-item.unlocked{border-color:rgba(170,130,45,.3);background:rgba(170,110,25,.05);}
.ach-item.locked{opacity:.35;}
.ach-icon{font-size:20px;margin-bottom:4px;}
.ach-name{font-family:var(--ff-title);font-size:10px;font-weight:600;color:var(--gold);letter-spacing:.5px;margin-bottom:2px;}
.ach-desc{font-size:9.5px;font-style:italic;color:rgba(184,148,58,.38);line-height:1.3;}
.ach-bonus{font-size:9px;color:rgba(110,195,115,.6);margin-top:3px;}

/* ══ SKILL TREE ══ */
.st-modal{background:linear-gradient(160deg,#060918,#0e0716);border:1px solid rgba(75,55,165,.22);border-radius:4px;padding:22px;max-width:600px;width:94%;max-height:88vh;overflow-y:auto;}
.st-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--border-void);}
.st-header h3{font-family:var(--ff-title);font-size:16px;font-weight:700;color:#a070c8;letter-spacing:2px;}
#st-points{font-family:var(--ff-title);font-size:11px;color:rgba(170,130,210,.48);}
#st-branches{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.st-branch{padding:12px;background:rgba(255,255,255,.018);border:1px solid rgba(110,70,185,.14);border-radius:4px;}
.st-branch-title{font-family:var(--ff-title);font-size:11px;font-weight:600;letter-spacing:1px;margin-bottom:10px;padding-bottom:5px;border-bottom:1px solid rgba(110,70,185,.10);}
.st-node{display:flex;align-items:center;gap:8px;padding:7px 8px;background:rgba(90,50,145,.05);border:1px solid rgba(110,70,185,.16);border-radius:3px;cursor:pointer;margin-bottom:5px;transition:all var(--t-fast);}
.st-node:hover:not(.locked):not(.maxed){background:rgba(90,50,145,.10);border-color:rgba(140,90,200,.32);}
.st-node.locked{opacity:.25;cursor:not-allowed;}
.st-node.maxed{opacity:.22;cursor:default;}
.st-node-icon{font-size:16px;flex-shrink:0;}
.st-node-info{flex:1;}
.st-node-name{font-family:var(--ff-title);font-size:9.5px;color:#a070c8;font-weight:600;}
.st-node-desc{font-size:9px;color:rgba(150,110,190,.38);font-style:italic;}
.st-node-rank{font-family:var(--ff-title);font-size:9px;color:rgba(130,90,170,.38);margin-left:auto;flex-shrink:0;}

/* ══ STATS ══ */
#stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.stat-row{padding:8px 10px;background:rgba(255,255,255,.018);border:1px solid var(--border-gold);border-radius:3px;}
.stat-label{font-size:10px;font-style:italic;color:rgba(184,148,58,.38);margin-bottom:2px;}
.stat-val{font-family:var(--ff-title);font-size:13px;color:var(--gold);}

/* ══ RELICS ══ */
.relic-item{display:flex;align-items:center;gap:10px;padding:10px;background:rgba(35,8,70,.14);border:1px solid rgba(90,45,165,.22);border-radius:4px;margin-bottom:6px;}
.relic-icon{font-size:24px;}
.relic-name{font-family:var(--ff-title);font-size:11px;color:#8050c0;font-weight:600;margin-bottom:2px;}
.relic-desc{font-size:10px;color:rgba(150,110,190,.42);font-style:italic;line-height:1.3;}
#asc-relic-preview{margin:12px 0;text-align:left;}

/* ══ DARK COOKIE ══ */
#dark-cookie{position:fixed;z-index:50;cursor:pointer;pointer-events:auto;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:27px;border:2px solid;animation:dcFloat 15s ease-in-out infinite,dcPulse 2s ease-in-out infinite;backdrop-filter:blur(2px);}
#dark-cookie.type-bonus{background:rgba(8,4,16,.88);border-color:rgba(170,130,45,.6);box-shadow:0 0 22px rgba(190,150,50,.28);}
#dark-cookie.type-malus{background:rgba(16,4,4,.88);border-color:rgba(145,25,25,.6);box-shadow:0 0 22px rgba(190,35,35,.28);}
#dark-cookie.type-event{background:rgba(8,4,22,.88);border-color:rgba(120,45,185,.6);box-shadow:0 0 22px rgba(140,55,205,.32);}
@keyframes dcFloat{0%{transform:translate(0,0) rotate(0deg);}25%{transform:translate(16px,-20px) rotate(90deg);}50%{transform:translate(-10px,-34px) rotate(180deg);}75%{transform:translate(20px,-14px) rotate(270deg);}100%{transform:translate(0,0) rotate(360deg);}}
@keyframes dcPulse{0%,100%{opacity:.7;}50%{opacity:1;}}
#dark-cookie.vanish{animation:dcVanish .3s ease-out forwards!important;}
@keyframes dcVanish{0%{opacity:1;transform:scale(1);}100%{opacity:0;transform:scale(2.6);}}
.dc-label{position:fixed;z-index:51;font-family:var(--ff-title);font-size:9.5px;letter-spacing:1px;pointer-events:none;text-align:center;width:90px;transform:translateX(-19px);}
.dc-label.bonus{color:rgba(210,170,70,.75);}
.dc-label.malus{color:rgba(210,70,70,.75);}
.dc-label.event{color:rgba(170,95,225,.75);}

/* ══ FLOATERS ══ */
#floaters{position:fixed;inset:0;pointer-events:none;z-index:150;overflow:hidden;}
.floater{position:absolute;font-family:var(--ff-title);font-size:14px;font-weight:600;color:var(--gold-bright);text-shadow:0 0 7px rgba(210,150,45,.42);animation:floatUp 1.1s ease-out forwards;pointer-events:none;}
.floater.red{color:#d04040;}
.floater.purple{color:#a050d0;}
.floater.green{color:#50c870;}
.floater.big{font-size:20px;}
.floater.demon{color:#b060f0;font-size:17px;}
.floater.crit{color:#ffdd44;font-size:22px;text-shadow:0 0 12px rgba(255,215,45,.7);}
@keyframes floatUp{0%{opacity:1;transform:translateY(0) scale(1);}100%{opacity:0;transform:translateY(-78px) scale(.55);}}

/* ══ SIDEBAR ══ */
#sidebar{display:flex;flex-direction:column;overflow:hidden;min-height:0;border-left:1px solid rgba(184,148,58,.12);background:rgba(8,5,12,.35);}
.tab-bar{display:flex;border-bottom:1px solid rgba(184,148,58,.14);flex-shrink:0;background:rgba(8,6,12,.95);}
.tab{flex:1;padding:clamp(7px,1vh,10px) 0;font-family:var(--ff-title);font-size:clamp(7.5px,.95vw,9px);letter-spacing:1px;text-align:center;cursor:pointer;color:rgba(184,148,58,.28);text-transform:uppercase;transition:all var(--t-fast);border-bottom:2px solid transparent;}
.tab.active{color:var(--gold-bright);border-bottom-color:var(--gold);background:rgba(184,148,58,.04);text-shadow:0 0 14px rgba(200,158,50,.25);}
.tab:hover:not(.active){color:var(--gold-dim);background:rgba(184,148,58,.02);}
.tab-content{flex:1;overflow-y:auto;min-height:0;padding:clamp(8px,1vh,12px) 10px 18px;}
.tab-content:not(.active-tab){display:none;}

/* ══ LEGION PANEL ══ */
#legion-panel{display:flex;flex-direction:column;overflow:hidden;min-height:0;border-left:1px solid rgba(184,148,58,.12);background:linear-gradient(180deg,rgba(6,3,12,.7),rgba(4,2,8,.55));}
.legion-panel-title{font-family:var(--ff-title);font-size:9px;letter-spacing:2.5px;color:rgba(210,168,68,.55);text-transform:uppercase;text-align:center;padding:9px 10px 7px;border-bottom:1px solid rgba(184,148,58,.12);flex-shrink:0;background:rgba(8,5,12,.95);position:relative;}
.legion-panel-title::after{content:'';position:absolute;bottom:-1px;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,rgba(184,148,58,.28),transparent);}
#legion-panel #building-visuals{flex:1;overflow-y:auto;min-height:0;padding:5px 7px;width:100%;}

/* ══ SECTION TITLE ══ */
.sec-title{font-family:var(--ff-title);font-size:9px;letter-spacing:2.5px;color:rgba(184,148,58,.28);text-transform:uppercase;padding-bottom:5px;border-bottom:1px solid var(--border-gold);margin-bottom:8px;}

/* ══ BUILDINGS ══ */
.building{display:flex;align-items:center;gap:10px;padding:9px 11px;background:rgba(255,255,255,.022);border:1px solid rgba(184,148,58,.14);border-radius:3px;cursor:pointer;transition:border-color var(--t-fast),background var(--t-fast),box-shadow var(--t-fast);margin-bottom:4px;position:relative;overflow:hidden;}
.building::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(184,148,58,.07),transparent);transform:translateX(-101%);transition:transform .32s ease;}
.building:hover:not(.locked)::before{transform:translateX(101%);}
.building:hover:not(.locked){border-color:rgba(184,148,58,.38);background:rgba(255,255,255,.034);box-shadow:0 2px 12px rgba(0,0,0,.35),0 0 8px rgba(184,148,58,.07);}
.building.locked{opacity:.28;cursor:not-allowed;}
.building.can-afford{border-color:rgba(184,148,58,.40);box-shadow:0 0 10px rgba(184,148,58,.11),inset 0 0 8px rgba(184,148,58,.03);}
.building.just-bought{animation:buyFlash .4s ease;}
@keyframes buyFlash{0%{background:rgba(190,150,55,.20);}100%{background:rgba(255,255,255,.022);}}
.b-icon{font-size:19px;min-width:26px;text-align:center;}
.b-info{flex:1;min-width:0;}
.b-name{font-family:var(--ff-title);font-size:10.5px;font-weight:600;color:rgba(210,172,80,.92);letter-spacing:.4px;}
.b-desc{font-size:9.5px;color:rgba(184,148,58,.32);font-style:italic;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.b-right{text-align:right;flex-shrink:0;}
.b-owned{font-family:var(--ff-title);font-size:16px;font-weight:700;color:rgba(200,162,80,.62);display:block;line-height:1;}
.b-cost{font-size:9.5px;color:#986020;white-space:nowrap;}
.can-afford .b-cost{color:#d09828;}
.building.prestige-unlocked .b-name::after{content:' 🩸';font-size:8px;}
.building.abyss-unlocked .b-name::after{content:' 🌑';font-size:8px;}

/* ══ UPGRADES ══ */
.up-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:9px;}
.upgrade{padding:7px 8px;background:rgba(90,45,130,.04);border:1px solid var(--border-void);border-radius:3px;cursor:pointer;transition:all var(--t-fast);position:relative;overflow:hidden;}
.upgrade::after{content:'';position:absolute;inset:0;background:rgba(140,70,185,.07);transform:scale(0);border-radius:3px;transition:transform .22s ease;}
.upgrade:hover:not(.locked):not(.maxed)::after{transform:scale(1);}
.upgrade:hover:not(.locked):not(.maxed){border-color:rgba(150,90,185,.36);}
.upgrade.locked{opacity:.22;cursor:not-allowed;}
.upgrade.can-afford{border-color:rgba(140,90,200,.30);box-shadow:0 0 5px rgba(140,70,200,.06);}
.upgrade.maxed{opacity:.18;cursor:default;}
.upgrade.just-bought{animation:upFlash .45s ease;}
@keyframes upFlash{0%{background:rgba(140,70,185,.24);}100%{background:rgba(90,45,130,.04);}}
.up-head{display:flex;align-items:center;gap:4px;margin-bottom:2px;}
.up-icon{font-size:14px;}
.up-name{font-family:var(--ff-title);font-size:9.5px;font-weight:600;color:#9868c8;letter-spacing:.3px;}
.up-desc{font-size:9px;color:rgba(150,110,180,.36);font-style:italic;line-height:1.3;}
.up-footer{display:flex;justify-content:space-between;align-items:center;margin-top:3px;}
.up-cost{font-family:var(--ff-title);font-size:9px;color:#704898;}
.up-rank{font-size:8.5px;color:rgba(130,90,170,.32);font-style:italic;}
.up-rank.full{color:rgba(190,150,55,.35);}
.up-blood{background:rgba(90,15,15,.07);border-color:rgba(145,35,35,.22);}
.up-blood:hover:not(.locked):not(.maxed){border-color:rgba(185,50,50,.36);}
.up-blood .up-name{color:#b05050;}
.up-blood .up-cost{color:#803030;}
.up-prestige-mechanic{background:rgba(70,15,70,.08);border-color:rgba(145,50,125,.25)!important;}
.up-prestige-mechanic .up-name{color:#c070b0!important;}
.up-abyss{background:rgba(15,6,45,.1);border-color:rgba(90,45,185,.25)!important;}
.up-abyss .up-name{color:#8050c0!important;}

/* ══ PRESTIGE TAB ══ */
.btn-open-prestige{width:100%;padding:9px;background:rgba(70,8,8,.32);border:1px solid rgba(145,25,25,.28);border-radius:3px;color:#a84040;font-family:var(--ff-title);font-size:10.5px;letter-spacing:1.5px;cursor:pointer;text-transform:uppercase;margin-bottom:9px;transition:all var(--t-fast);display:flex;align-items:center;justify-content:center;gap:7px;}
.btn-open-prestige:hover:not(:disabled){background:rgba(100,8,8,.48);border-color:rgba(185,45,45,.42);}
.btn-open-prestige:disabled{opacity:.28;cursor:not-allowed;}
.btn-open-asc{background:rgba(18,4,55,.32);border-color:rgba(90,35,185,.28);color:#7040b0;}
.btn-open-asc:hover:not(:disabled){background:rgba(28,4,75,.48);border-color:rgba(120,55,215,.42);}
.prestige-info-box{padding:8px 10px;background:rgba(70,8,8,.12);border:1px solid rgba(135,25,25,.18);border-radius:3px;margin-bottom:9px;}
.pi-row{display:flex;justify-content:space-between;font-size:10.5px;color:rgba(185,110,110,.42);padding:2px 0;}
.pi-val{font-family:var(--ff-title);color:#a84040;}
.prestige-req{font-size:9.5px;font-style:italic;color:rgba(185,110,110,.35);margin-bottom:9px;text-align:center;}
.prestige-mechanic-section{padding:7px 9px;margin-bottom:9px;background:rgba(70,15,70,.07);border:1px solid rgba(130,45,110,.18);border-radius:3px;}
.pm-mechanic-desc{font-size:9.5px;font-style:italic;color:rgba(185,110,170,.38);margin-bottom:7px;line-height:1.4;}
.abyss-info-box{padding:8px 10px;background:rgba(18,6,45,.15);border:1px solid rgba(90,45,165,.2);border-radius:3px;margin-bottom:9px;}
.abyss-info-box .pi-val{color:#8050c0;}
.abyss-info-box .pi-row{color:rgba(150,110,210,.38);}

/* ══ TOAST ══ */
.toast{position:fixed;bottom:14px;left:50%;transform:translateX(-50%);background:rgba(14,6,22,.97);border:1px solid rgba(170,122,45,.38);border-radius:3px;padding:7px 17px;font-family:var(--ff-title);font-size:12px;color:var(--gold);letter-spacing:1px;z-index:300;animation:toastIn .28s ease;pointer-events:none;white-space:nowrap;}
.toast.red-toast{border-color:rgba(165,45,45,.48);color:#d05050;}
.toast.purple-toast{border-color:rgba(120,45,185,.48);color:#a060c8;}
.toast.gold-toast{border-color:rgba(190,162,45,.48);color:#d8b050;}
.toast.green-toast{border-color:rgba(70,165,70,.48);color:#70c880;}
.toast.milestone-toast{border-color:rgba(190,162,45,.65);color:#d8b050;font-size:15px;padding:11px 26px;box-shadow:0 0 28px rgba(190,150,45,.16);}
@keyframes toastIn{from{opacity:0;transform:translateX(-50%) translateY(8px);}to{opacity:1;transform:translateX(-50%) translateY(0);}}

/* ══ GENERIC MODAL ══ */
#relics-overlay,#shop-overlay{align-items:center;justify-content:center;}
.gen-modal{background:linear-gradient(160deg,#0c0916,#100710);border:1px solid rgba(130,75,45,.22);border-radius:4px;padding:22px;max-width:560px;width:94%;max-height:88vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.7);}
.gen-modal-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--border-gold);}
.gen-modal-hdr h3{font-family:var(--ff-title);font-size:16px;font-weight:700;color:var(--gold);letter-spacing:2px;}
.gen-modal-hdr button{background:transparent;border:1px solid var(--border-gold);border-radius:3px;color:var(--gold-dim);padding:3px 8px;cursor:pointer;font-family:var(--ff-title);font-size:11px;transition:all var(--t-fast);}
.gen-modal-hdr button:hover{color:var(--gold);border-color:rgba(184,148,58,.38);}

/* ══ RELICS OVERLAY ══ */
#relics-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.relic-card{padding:12px;background:rgba(35,8,70,.12);border:1px solid rgba(90,45,165,.20);border-radius:4px;transition:all .2s;}
.relic-card.owned{border-color:rgba(130,70,205,.42);background:rgba(55,18,95,.16);box-shadow:0 0 12px rgba(110,55,165,.12);}
.relic-card.locked-relic{opacity:.28;filter:grayscale(.7);}
.relic-card-top{display:flex;align-items:center;gap:8px;margin-bottom:6px;}
.relic-name{font-family:var(--ff-title);font-size:11px;color:#8050c0;font-weight:600;}
.relic-desc{font-size:10px;color:rgba(150,110,190,.42);font-style:italic;line-height:1.35;}
.abyssal-relic-summary{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 11px;background:linear-gradient(90deg,rgba(32,6,65,.32),rgba(6,20,58,.18));border:1px solid rgba(110,65,205,.32);border-radius:4px;color:#a882f8;font-family:var(--ff-title);font-size:10px;letter-spacing:1px;}
.abyssal-relic-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.abyssal-relic-card{position:relative;background:rgba(25,6,50,.2);border-color:rgba(75,34,135,.32);}
.abyssal-relic-card.high-level{background:linear-gradient(160deg,rgba(20,6,56,.28),rgba(5,28,62,.22));border-color:rgba(55,140,240,.4);box-shadow:0 0 14px rgba(30,115,240,.10);}
.abyssal-relic-card.max-level{background:linear-gradient(160deg,rgba(255,255,255,.08),rgba(30,8,72,.32));border-color:rgba(235,245,255,.76);box-shadow:0 0 16px rgba(215,240,255,.20),inset 0 0 18px rgba(255,255,255,.04);animation:abyssGlitch 1.9s infinite steps(2,end);}
.relic-level{margin-left:auto;font-family:var(--ff-title);font-size:9px;color:#88c0f8;background:rgba(18,65,125,.24);border:1px solid rgba(65,140,240,.28);border-radius:10px;padding:1px 6px;}
.relic-preview{margin-top:6px;font-size:9px;color:rgba(150,205,248,.6);line-height:1.3;}
.relic-scale{margin-top:3px;font-size:8px;color:rgba(200,205,248,.28);font-style:italic;}
.btn-relic-upgrade{width:100%;margin-top:7px;padding:6px 7px;background:rgba(24,8,68,.58);border:1px solid rgba(85,145,248,.36);border-radius:3px;color:#a5d5f8;font-family:var(--ff-title);font-size:9px;letter-spacing:1px;cursor:pointer;transition:all var(--t-fast);}
.btn-relic-upgrade:hover:not(:disabled){background:rgba(16,48,105,.68);border-color:rgba(155,215,248,.62);color:#fff;}
.btn-relic-upgrade:disabled{opacity:.32;cursor:not-allowed;filter:grayscale(.3);}
@keyframes abyssGlitch{0%,100%{filter:none;transform:translate(0,0);}48%{filter:brightness(1.35) contrast(1.2);}50%{transform:translate(1px,-1px);}52%{transform:translate(-1px,1px);}}

/* ══ SHOP ══ */
.shop-section{margin-bottom:16px;}
.shop-section-title{font-family:var(--ff-title);font-size:10px;letter-spacing:2px;color:rgba(184,148,58,.28);text-transform:uppercase;padding-bottom:5px;border-bottom:1px solid var(--border-gold);margin-bottom:8px;}
.shop-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;}
.shop-item{padding:9px 10px;background:rgba(70,15,15,.06);border:1px solid rgba(145,35,35,.18);border-radius:4px;cursor:pointer;transition:all var(--t-fast);}
.shop-item:hover:not(.locked):not(.maxed){border-color:rgba(185,55,55,.36);background:rgba(95,15,15,.12);}
.shop-item.locked{opacity:.20;cursor:not-allowed;}
.shop-item.maxed{opacity:.16;cursor:default;}
.shop-item.prestige-mech{background:rgba(70,15,70,.07);border-color:rgba(145,50,120,.18);}
.shop-item.prestige-mech:hover:not(.locked):not(.maxed){border-color:rgba(185,70,165,.36);}
.shop-item-head{display:flex;align-items:center;gap:5px;margin-bottom:3px;}
.shop-item-icon{font-size:15px;}
.shop-item-name{font-family:var(--ff-title);font-size:9.5px;font-weight:600;color:#a85050;}
.shop-item.prestige-mech .shop-item-name{color:#c068a8;}
.shop-item-desc{font-size:9px;color:rgba(190,110,110,.38);font-style:italic;line-height:1.3;}
.shop-item-footer{display:flex;justify-content:space-between;margin-top:4px;}
.shop-item-cost{font-size:9px;color:#803030;font-family:var(--ff-title);}
.shop-item-rank{font-size:8.5px;color:rgba(150,70,70,.32);}
.shop-item-rank.maxed-rank{color:rgba(190,152,55,.35);}

/* ══ BUILDING VISUALS ══ */
#building-visuals{width:100%;padding:6px 8px 2px;display:flex;flex-direction:column;gap:3px;}
.bv-row{background:rgba(0,0,0,.15);border:1px solid rgba(130,75,35,.10);border-radius:3px;padding:4px 8px;transition:background var(--t-mid);}
.bv-row:hover{background:rgba(130,75,25,.06);}
.bv-label{display:flex;align-items:center;gap:5px;margin-bottom:3px;}
.bv-building-icon{font-size:11px;}
.bv-building-name{font-family:var(--ff-title);font-size:8px;color:rgba(184,148,58,.40);letter-spacing:.08em;flex:1;}
.bv-count{font-family:var(--ff-title);font-size:9px;color:rgba(192,152,72,.55);background:rgba(192,132,45,.07);border:1px solid rgba(175,112,35,.16);border-radius:8px;padding:0 5px;}
.bv-icons{display:flex;flex-wrap:wrap;gap:1px;min-height:18px;align-items:flex-end;}
.bv-icon{font-size:14px;display:inline-block;animation:bvBreathe 3s ease-in-out infinite;animation-delay:var(--bv-delay,0s);transform:translateY(var(--bv-offset,0px));transition:filter .2s;line-height:1;filter:drop-shadow(0 0 2px rgba(190,132,55,.18));}
.bv-icon:hover{filter:drop-shadow(0 0 6px rgba(210,165,72,.65)) brightness(1.28);}
@keyframes bvBreathe{0%,100%{transform:translateY(var(--bv-offset,0px)) scale(1);}50%{transform:translateY(calc(var(--bv-offset,0px) - 2px)) scale(1.06);}}
.bv-overflow{font-family:var(--ff-title);font-size:8px;color:rgba(175,132,55,.48);align-self:center;margin-left:3px;background:rgba(130,75,18,.10);border:1px solid rgba(155,95,25,.18);border-radius:8px;padding:1px 5px;}
.bv-tier1{border-color:rgba(130,75,35,.18);}
.bv-tier2{border-color:rgba(170,95,35,.28);box-shadow:inset 0 0 8px rgba(150,72,18,.03);}
.bv-tier3{border-color:rgba(190,112,35,.38);box-shadow:inset 0 0 12px rgba(170,72,8,.06);}
.bv-tier4{border-color:rgba(210,142,45,.48);box-shadow:inset 0 0 18px rgba(190,85,8,.09),0 0 8px rgba(192,112,25,.09);background:rgba(115,45,8,.10);}
.bv-tier4 .bv-icon{animation-duration:1.8s;filter:drop-shadow(0 0 3px rgba(230,170,55,.32));}

/* ══ CORRUPTION BAR ══ */
#corruption-bar-wrap{margin:6px 8px 2px;padding:5px 8px;background:rgba(70,8,35,.10);border:1px solid rgba(145,35,70,.13);border-radius:3px;}
.corruption-bar-label{display:flex;justify-content:space-between;font-family:var(--ff-title);font-size:9px;color:rgba(190,92,105,.55);margin-bottom:3px;}
.corruption-track{height:5px;background:rgba(35,4,18,.4);border-radius:3px;overflow:hidden;}
.corruption-fill{height:100%;border-radius:3px;transition:width .8s ease,background .5s;}
.corruption-fill.tier-0{background:rgba(95,72,35,.4);}
.corruption-fill.tier-1{background:linear-gradient(90deg,rgba(190,148,35,.58),rgba(210,130,25,.78));}
.corruption-fill.tier-2{background:linear-gradient(90deg,rgba(210,110,25,.68),rgba(228,72,18,.88));box-shadow:0 0 4px rgba(228,72,18,.38);}
.corruption-fill.tier-3{background:linear-gradient(90deg,rgba(210,52,25,.78),rgba(190,25,52,1));box-shadow:0 0 6px rgba(190,25,52,.58);animation:corruptPulse 1.5s ease-in-out infinite;}
.corruption-fill.tier-4{background:linear-gradient(90deg,rgba(170,15,170,.88),rgba(110,0,188,1));box-shadow:0 0 10px rgba(150,0,208,.68);animation:corruptPulse .8s ease-in-out infinite;}
@keyframes corruptPulse{0%,100%{opacity:1;}50%{opacity:.55;}}
#corrupt-tier-text{font-family:var(--ff-body);font-size:9px;color:rgba(175,92,108,.48);margin-top:2px;font-style:italic;}

/* ══ RELIC FUSION ══ */
.relic-fuse-wrap{margin-top:16px;padding:12px;border-top:1px solid rgba(130,55,165,.18);background:rgba(28,4,55,.14);border-radius:3px;}
.fuse-header{display:flex;justify-content:space-between;align-items:center;font-family:var(--ff-title);font-size:11px;color:rgba(190,142,228,.68);margin-bottom:6px;}
.fuse-cost{font-size:9px;color:rgba(172,132,208,.48);}
.fuse-desc{font-family:var(--ff-body);font-size:10px;color:rgba(152,112,190,.48);font-style:italic;margin-bottom:8px;line-height:1.5;}
.fuse-notice{font-family:var(--ff-body);font-size:10px;color:rgba(152,112,170,.38);font-style:italic;text-align:center;padding:8px;}
.fuse-slots{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px;}
.fuse-slot{padding:4px 8px;border:1px solid rgba(132,55,165,.18);border-radius:3px;cursor:pointer;font-size:10px;color:rgba(172,132,208,.58);background:rgba(38,4,75,.14);transition:all .2s;user-select:none;}
.fuse-slot:hover{border-color:rgba(172,75,228,.38);color:rgba(212,172,248,.78);}
.fuse-sel{border-color:rgba(192,95,248,.68)!important;background:rgba(95,18,172,.24)!important;color:rgba(222,192,248,1)!important;box-shadow:0 0 6px rgba(172,75,248,.38);}
.btn-do-fuse{padding:6px 14px;font-family:var(--ff-title);font-size:10px;background:rgba(75,8,132,.28);border:1px solid rgba(152,55,208,.38);color:rgba(192,132,248,.78);border-radius:3px;cursor:pointer;transition:all .2s;width:100%;}
.btn-do-fuse:hover:not(:disabled){background:rgba(95,18,172,.38);box-shadow:0 0 8px rgba(152,55,208,.28);}
.btn-do-fuse:disabled{opacity:.32;cursor:not-allowed;}
.fuse-existing-title{font-family:var(--ff-title);font-size:9px;color:rgba(172,112,228,.38);margin:10px 0 5px;letter-spacing:.08em;}
.fuse-existing-item{display:flex;align-items:flex-start;gap:8px;padding:5px 6px;background:rgba(55,8,95,.14);border:1px solid rgba(112,35,188,.13);border-radius:3px;margin-bottom:4px;}
.fuse-ex-icon{font-size:16px;line-height:1;flex-shrink:0;}
.fuse-ex-name{font-family:var(--ff-title);font-size:9px;color:rgba(192,152,248,.68);margin-bottom:2px;}
.fuse-ex-name em{font-style:normal;color:rgba(152,112,208,.48);}
.fuse-ex-desc{font-family:var(--ff-body);font-size:9px;color:rgba(152,112,190,.42);font-style:italic;line-height:1.4;}

/* ══ SYNERGY in building list ══ */
.building .b-desc em{pointer-events:none;}

/* ══ RESPONSIVE ══ */
@media (max-width:768px){
  header{padding:0 12px;min-height:46px;}
  .hdr-sub,.hdr-center{display:none;}
  #main{border-right:none;border-bottom:1px solid var(--border-gold);padding:10px 12px;gap:8px;}
  #sidebar{height:42vh;min-height:195px;flex-shrink:0;}
  #legion-panel{height:28vh;flex-shrink:0;border-left:none;border-top:1px solid var(--border-gold);}
  .tab-content{padding:8px 8px 14px;}
  .up-grid{gap:5px;}
  .milestone-wrap,.log-box{max-width:100%;}
  #save-btns{flex-wrap:wrap;}
  #save-btns button{min-width:60px;padding:7px 4px;}
}
@media (max-width:480px){
  .hdr-title{font-size:13px;letter-spacing:2px;}
  .hdr-total{font-size:11px;}.hdr-sps{font-size:9px;}
  .soul-count{font-size:clamp(26px,8vw,36px);}
  .orb{width:clamp(126px,34vw,167px)!important;height:clamp(126px,34vw,167px)!important;}
  #orb-aura{width:clamp(126px,34vw,167px)!important;height:clamp(126px,34vw,167px)!important;}
  .orb-glyph{font-size:clamp(39px,11.5vw,55px)!important;}
  #ring1{width:clamp(152px,41vw,198px)!important;height:clamp(152px,41vw,198px)!important;}
  #ring2{width:clamp(175px,47vw,226px)!important;height:clamp(175px,47vw,226px)!important;}
  #ring3{width:clamp(198px,53vw,255px)!important;height:clamp(198px,53vw,255px)!important;}
  .up-grid{grid-template-columns:1fr;}
  #combo-display{max-width:100%;}
  #boss-bar-wrap,#invasion-bar-wrap{width:88vw;}
  #quest-bar-wrap{width:44vw;right:6px;top:100px;}
  .prestige-modal,.ach-modal,.st-modal,.stats-modal{max-width:96vw;max-height:92dvh;padding:14px 12px;}
  #st-branches,#ach-grid{grid-template-columns:1fr;}
  #save-btns button{font-size:7px;padding:6px 3px;}
}
@media (max-width:360px){
  .soul-count{font-size:24px!important;}
  .orb{width:115px!important;height:115px!important;}
  #orb-aura{width:115px!important;height:115px!important;}
  .orb-glyph{font-size:35px!important;}
  #ring1{width:143px!important;height:143px!important;}
  #ring2{width:163px!important;height:163px!important;}
  #ring3{width:184px!important;height:184px!important;}
}
::-webkit-scrollbar{width:3px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:rgba(184,148,58,.14);border-radius:2px;}
/* ══ RITUELS ══ */
.rituals-panel-wrap{margin-bottom:10px;}
.rituals-header{font-family:var(--ff-title);font-size:9px;letter-spacing:2px;color:rgba(220,160,60,.45);text-transform:uppercase;padding-bottom:5px;border-bottom:1px solid rgba(200,140,40,.12);margin-bottom:7px;}
.ritual-active-wrap{display:flex;align-items:center;gap:8px;padding:6px 8px;background:rgba(200,140,30,.08);border:1px solid rgba(200,140,30,.25);border-radius:3px;margin-bottom:7px;animation:ritualPulse 1.5s ease-in-out infinite;}
@keyframes ritualPulse{0%,100%{box-shadow:0 0 4px rgba(220,160,40,.15);}50%{box-shadow:0 0 10px rgba(220,160,40,.35);}}
.ritual-active-icon{font-size:20px;flex-shrink:0;}
.ritual-active-info{flex:1;}
.ritual-active-name{font-family:var(--ff-title);font-size:10px;color:rgba(220,180,60,.9);margin-bottom:4px;}
.ritual-timer-bar{height:4px;background:rgba(255,255,255,.04);border-radius:2px;overflow:hidden;}
.ritual-timer-fill{height:100%;background:linear-gradient(90deg,#6b1a1a,#d4aa50);border-radius:2px;transition:width .25s linear;}
.ritual-list{display:flex;flex-direction:column;gap:4px;}
.ritual-btn{display:flex;align-items:center;gap:7px;padding:6px 8px;background:rgba(200,140,30,.04);border:1px solid rgba(200,140,30,.14);border-radius:3px;cursor:pointer;transition:all var(--t-fast);}
.ritual-btn:hover:not(.ritual-busy){background:rgba(200,140,30,.10);border-color:rgba(220,160,50,.3);}
.ritual-btn.ritual-busy{opacity:.35;cursor:not-allowed;}
.ritual-btn.ritual-active-btn{border-color:rgba(220,180,60,.45);background:rgba(200,150,40,.10);}
.ritual-icon{font-size:16px;flex-shrink:0;}
.ritual-info{flex:1;min-width:0;}
.ritual-name{font-family:var(--ff-title);font-size:9.5px;color:rgba(210,170,60,.85);letter-spacing:.3px;}
.ritual-desc{font-size:9px;color:rgba(190,150,60,.4);font-style:italic;margin-top:1px;}
.ritual-meta{text-align:right;flex-shrink:0;}
.ritual-cost{font-family:var(--ff-title);font-size:8.5px;color:rgba(190,140,40,.55);}
.ritual-cd{font-size:8.5px;color:rgba(200,100,100,.55);font-style:italic;}

/* ══ RELIC XP ══ */
.relic-xp-wrap{margin:5px 0 3px;}
.relic-xp-label{display:flex;justify-content:space-between;font-family:var(--ff-title);font-size:8px;color:rgba(140,180,240,.5);margin-bottom:2px;letter-spacing:.5px;}
.relic-xp-track{height:3px;background:rgba(20,40,80,.4);border-radius:2px;overflow:hidden;}
.relic-xp-fill{height:100%;background:linear-gradient(90deg,rgba(60,100,200,.7),rgba(120,180,255,.9));border-radius:2px;transition:width .6s ease;}

/* ══ CHOICE EVENTS ══ */
#choice-event-overlay{
  display:none;position:fixed;inset:0;z-index:210;
  background:rgba(0,0,0,.88);
  align-items:center;justify-content:center;
}
#choice-event-overlay.open{display:flex;}
.ce-modal{
  background:linear-gradient(160deg,#0e0c18,#160a0a);
  border:1px solid rgba(180,130,50,.35);
  border-top-color:rgba(220,170,70,.22);
  border-radius:4px;
  padding:28px 26px;
  max-width:400px;width:92%;
  text-align:center;
  box-shadow:0 20px 60px rgba(0,0,0,.7),0 0 40px rgba(180,120,30,.06);
  animation:ceFadeIn .35s ease;
}
@keyframes ceFadeIn{from{opacity:0;transform:scale(.92);}to{opacity:1;transform:scale(1);}}
.ce-name{font-family:var(--ff-title);font-size:18px;font-weight:900;color:var(--gold-bright);letter-spacing:3px;margin-bottom:12px;text-shadow:0 0 20px rgba(180,130,40,.2);}
.ce-text{font-size:13px;font-style:italic;color:rgba(220,200,160,.55);line-height:1.6;margin-bottom:20px;}
.ce-choices{display:flex;flex-direction:column;gap:8px;}
.ce-btn{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 14px;
  background:rgba(184,148,58,.04);
  border:1px solid var(--border-gold);
  border-radius:3px;cursor:pointer;
  transition:all var(--t-mid);text-align:left;
  width:100%;
}
.ce-btn:hover{background:rgba(184,148,58,.10);border-color:rgba(200,160,60,.35);transform:translateX(3px);}
.ce-btn-label{font-family:var(--ff-title);font-size:11px;color:var(--gold);letter-spacing:.5px;}
.ce-btn-reward{font-size:10px;font-style:italic;color:rgba(180,200,120,.55);}
/* ══ STATUS PANEL ══ */
#status-panel{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;width:100%;max-width:300px;min-height:18px;}
.sp-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:20px;font-family:var(--ff-title);font-size:8.5px;letter-spacing:.5px;font-weight:600;border:1px solid;white-space:nowrap;line-height:1.5;}
.sp-badge em{font-style:normal;opacity:.6;font-size:8px;}
.sp-eclipse{background:rgba(90,5,5,.35);border-color:rgba(180,30,30,.45);color:#d04040;}
.sp-invasion{background:rgba(20,5,60,.35);border-color:rgba(100,40,180,.45);color:#a070f0;}
.sp-harvest{background:rgba(40,25,4,.35);border-color:rgba(160,120,30,.38);color:#d0a840;}
.sp-storm{background:rgba(4,15,45,.35);border-color:rgba(40,90,200,.38);color:#7090e0;}
.sp-pact{background:rgba(30,4,30,.35);border-color:rgba(140,40,140,.38);color:#d060c0;}
.sp-titan{background:rgba(4,25,4,.35);border-color:rgba(40,140,60,.38);color:#60c060;}
.sp-event{background:rgba(15,5,35,.35);border-color:rgba(120,60,180,.35);color:#c070e0;}
.sp-buff-sps{background:rgba(5,30,50,.35);border-color:rgba(40,120,200,.42);color:#70b0f0;}
.sp-buff-click{background:rgba(50,20,5,.35);border-color:rgba(200,100,30,.42);color:#f09040;}
.sp-resonance{background:rgba(30,5,50,.35);border-color:rgba(140,40,200,.42);color:#c060e0;}
.sp-boss{background:rgba(40,25,5,.35);border-color:rgba(200,150,30,.55);color:#e0b040;animation:spBossPulse 1.2s ease-in-out infinite;}
.sp-ap{background:rgba(5,15,40,.3);border-color:rgba(80,100,200,.32);color:rgba(180,160,255,.7);}
.sp-corrupt{background:rgba(50,5,25,.35);border-color:rgba(180,30,80,.42);color:rgba(230,80,100,.8);}
@keyframes spBossPulse{0%,100%{opacity:1;}50%{opacity:.55;}}