/* Permanent guardian: progression moves from untouched stone to ceremonial stele. */
.guardian-stage-stone .guardian-scene > .guardian-statue {
  background: radial-gradient(circle at 24% 31%, #202c2a 0 2px, transparent 3px), radial-gradient(circle at 72% 68%, #8c938a33 0 2px, transparent 3px), linear-gradient(96deg, #2c3734, #69716a 43%, #4c5752 70%, #263330);
  filter: grayscale(.35) drop-shadow(7px 17px 8px #132a253f);
}
.guardian-stage-stone .guardian-scene > .guardian-statue::after {
  inset: 28px 31px 52px; border: 0; background: repeating-linear-gradient(8deg, transparent 0 21px, #1723212c 22px 23px); box-shadow: none; opacity: .22;
}
.guardian-stage-stone .guardian-aura { opacity: .12; }

.guardian-stage-sprout .guardian-scene > .guardian-statue {
  background: radial-gradient(circle at 30% 24%, #a8ad9d24 0 2px, transparent 3px), linear-gradient(96deg, #2c3835, #6e756d 42%, #515e58 72%, #263431);
}
.guardian-stage-sprout .guardian-scene > .guardian-statue::after {
  inset: 27px 65px 48px; border: 2px solid #303d3988; background: repeating-linear-gradient(3deg, transparent 0 18px, #273430aa 19px 21px, transparent 22px 28px); box-shadow: inset 1px 1px #c8c8ad2b; opacity: .62;
}
.guardian-stage-sprout .guardian-scene > .guardian-sacred-rope { filter: saturate(.78); }

.guardian-stage-guardian .guardian-scene > .guardian-statue::after {
  inset: 23px 24px 46px; border: 3px solid #26333099; background: linear-gradient(90deg, transparent 31%, #293532aa 32% 35%, transparent 36% 65%, #293532aa 66% 69%, transparent 70%), repeating-linear-gradient(4deg, transparent 0 13px, #27332fa8 14px 16px, transparent 17px 23px); box-shadow: inset 2px 2px 2px #d2d0b427, inset -2px -2px 2px #101b1a77; opacity: .76;
}
.guardian-stage-guardian .guardian-aura { opacity: .5; }

.guardian-stage-radiant .guardian-scene > .guardian-statue {
  background: radial-gradient(circle at 24% 18%, #b7a65d3d 0 2px, transparent 3px), linear-gradient(96deg, #293633, #70766b 37%, #746e57 51%, #46534e 73%, #22302d);
  filter: drop-shadow(0 0 11px #b99b4650) drop-shadow(7px 17px 8px #132a253f);
}
.guardian-stage-radiant .guardian-scene > .guardian-statue::after {
  inset: 20px 20px 42px; border: 3px double #776942a8; background: linear-gradient(90deg, transparent 23%, #403e2db0 24% 27%, transparent 28% 48%, #403e2da8 49% 52%, transparent 53% 73%, #403e2db0 74% 77%, transparent 78%), repeating-linear-gradient(3deg, transparent 0 10px, #504a30b0 11px 13px, transparent 14px 19px), linear-gradient(125deg, transparent 42%, #b39a4848 43% 45%, transparent 46%); box-shadow: inset 0 0 9px #c2a84e40; opacity: .88;
}
.guardian-stage-radiant .guardian-aura { opacity: .82; background: radial-gradient(circle, #d0b45f55, transparent 68%); }

.guardian-stage-ascended .guardian-scene > .guardian-statue {
  background: radial-gradient(circle at 31% 21%, #d1b85a44 0 2px, transparent 3px), radial-gradient(circle at 74% 67%, #b79c4540 0 2px, transparent 3px), linear-gradient(96deg, #222f2c, #62695f 31%, #82795e 50%, #44514c 73%, #1c2927);
  filter: drop-shadow(0 0 18px #c5aa516e) drop-shadow(7px 17px 8px #132a253f);
}
.guardian-stage-ascended .guardian-scene > .guardian-statue::after {
  inset: 17px 17px 37px; border: 4px double #8d7845c4; background: radial-gradient(circle at 50% 48%, transparent 0 16px, #9d874a70 17px 19px, transparent 20px), linear-gradient(90deg, transparent 19%, #564b31bd 20% 23%, transparent 24% 39%, #564b31bd 40% 43%, transparent 44% 57%, #564b31bd 58% 61%, transparent 62% 77%, #564b31bd 78% 81%, transparent 82%), repeating-linear-gradient(2deg, transparent 0 8px, #695a34b5 9px 11px, transparent 12px 17px), linear-gradient(132deg, transparent 33%, #d0ad4c66 34% 36%, transparent 37% 64%, #d0ad4c55 65% 67%, transparent 68%); box-shadow: inset 0 0 13px #d1b35755, 0 0 5px #bfa04a55; opacity: .96;
}
.guardian-stage-ascended .guardian-aura { opacity: 1; background: radial-gradient(circle, #d4b75872, #9b7e2929 42%, transparent 70%); }
.guardian-stage-ascended .guardian-scene > .guardian-sacred-rope { height: 19px; filter: saturate(1.15) drop-shadow(0 0 7px #d4b75e88); }

@media (prefers-reduced-motion: reduce) {
  .guardian-aura { animation: none !important; }
}

.guardian-preview { margin-top: 22px; padding: 13px; border: 1px dashed #a68e56; background: #f1ead9; }
.guardian-preview > span { display: block; margin-bottom: 9px; color: #8e7542; font-size: 9px; letter-spacing: .12em; }
.guardian-preview > div { display: flex; flex-wrap: wrap; gap: 5px; }
.guardian-preview button { flex: 1 0 29%; padding: 7px 5px; border: 1px solid #a99568; background: #fff9e9; color: #554b38; font-size: 9px; cursor: pointer; }
.guardian-preview button.active { border-color: #9f3e32; background: #9f3e32; color: #fff; }

.daily-guardian { margin-top: 22px; padding: 15px; border-left: 3px solid #9e864e; background: #122d2b; color: #eee4ce; }
.daily-guardian > div:first-child { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 12px; margin-bottom: 10px; }
.daily-guardian span,.daily-guardian em,.daily-guardian small { font-size: 10px; font-style: normal; }
.daily-guardian b { color: #d2b861; letter-spacing: .12em; }
.daily-guardian em { color: #9caf9f; }
.daily-guardian small { display: block; margin-top: 8px; color: #8fa49b; }
.daily-guardian .progress-track { background: #071b1a; }
.daily-guardian .progress-track i { background: linear-gradient(90deg,#547c70,#d4b85c); box-shadow: 0 0 8px #d5b75766; }
.guardian-daily-warm .guardian-aura { box-shadow: 0 0 30px #b99d4655; }
.guardian-daily-resonant .guardian-sacred-rope { filter: saturate(1.12) drop-shadow(0 0 5px #d1b45566); }
.guardian-daily-blessed .guardian-statue { filter: drop-shadow(0 0 12px #c1a34f66) drop-shadow(7px 17px 8px #132a253f); }
.guardian-daily-full .guardian-statue { filter: drop-shadow(0 0 19px #d2b45599) drop-shadow(7px 17px 8px #132a253f); }
.guardian-daily-full .guardian-scene::after { content:''; position:absolute; z-index:1; inset:25px 25px 45px; pointer-events:none; background:radial-gradient(circle at 18% 22%,#e5ce72 0 2px,transparent 3px),radial-gradient(circle at 78% 31%,#fff3b0 0 1px,transparent 2px),radial-gradient(circle at 25% 76%,#d9bc55 0 1px,transparent 2px),radial-gradient(circle at 83% 70%,#f1da80 0 2px,transparent 3px); animation:dailySpirit 2.8s ease-in-out infinite alternate; }
@keyframes dailySpirit { to { opacity:.35; transform:translateY(-9px) scale(1.04); } }
