/* DinoLich v6.34 — canvas field creature. The active skull is rendered every frame;
   only the dormant footer skull and badge use the static SVG. */
html[data-dinolich-unlocked="true"] .mpe-badge-rack { display: flex !important; }
.mpe-badge--dinolich { position: relative; border-color: rgba(157,171,105,.34); background: rgba(23,36,26,.34); overflow: hidden; }
.mpe-badge--dinolich::before {
    content: ""; width: 38px; height: 34px;
    background: url("dinolich-skull.svg") center / contain no-repeat;
    filter: saturate(.5) drop-shadow(0 1px 2px rgba(0,0,0,.5));
}
.mpe-badge--dinolich::after {
    content: ""; position: absolute; width: 7px; height: 7px; left: 43%; top: 44%; border-radius: 50%;
    background: #a8f66f; opacity: .18; box-shadow: 0 0 7px #8bea55; transition: opacity .2s ease, box-shadow .2s ease;
}
html[data-dinolich-active="true"] .mpe-badge--dinolich { border-color: rgba(177,226,121,.60); box-shadow: 0 0 0 1px rgba(151,214,86,.10),0 0 22px rgba(151,214,86,.14); }
html[data-dinolich-active="true"] .mpe-badge--dinolich::before { filter: saturate(.76) drop-shadow(0 0 4px rgba(157,236,91,.56)); }
html[data-dinolich-active="true"] .mpe-badge--dinolich::after { opacity: .95; box-shadow: 0 0 11px 4px rgba(139,235,79,.42); }
.mpe-badge--dinolich:focus-visible { outline: 2px solid #c7ea8f; outline-offset: 4px; }
.gh-foot .gh-foot-inner,.dl-footer-host { position: relative; }

.dl-perch {
    --dl-charge: 0;
    position: absolute;
    right: max(20px,8vw);
    bottom: calc(100% - 7px);
    z-index: 8;
    width: 110px;
    height: 86px;
    appearance: none;
    border: 0;
    padding: 0;
    margin: 0;
    background: url("dinolich-skull.svg") center / contain no-repeat !important;
    cursor: pointer;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    filter: drop-shadow(0 7px 6px rgba(0,0,0,.58));
    transform: rotate(-6deg);
}
.dl-perch::before {
    content: "";
    position: absolute;
    left: 36%; top: 38%; width: 18px; height: 18px;
    border-radius: 50%;
    opacity: calc(.12 + var(--dl-charge) * .88);
    background: radial-gradient(circle,#f0ffd0 0 10%,#9ff468 24%,#68b94e 44%,rgba(81,120,53,.12) 70%,transparent 76%);
    box-shadow: 0 0 calc(6px + var(--dl-charge) * 16px) rgba(130,232,80,calc(.16 + var(--dl-charge) * .48));
    transform: scale(calc(.55 + var(--dl-charge) * .65));
    transition: opacity .12s linear, transform .12s linear, box-shadow .12s linear;
}
.dl-perch::after {
    content: "";
    position: absolute;
    inset: -10px -12px -8px;
    opacity: calc(var(--dl-charge) * .7);
    background:
        radial-gradient(ellipse at 45% 76%, rgba(93,141,59,.0) 0 48%, rgba(135,204,74,.24) 55%, transparent 69%),
        radial-gradient(ellipse at 68% 70%, rgba(184,145,66,.20), transparent 55%);
    filter: blur(5px);
    pointer-events: none;
}
.dl-perch:focus-visible { outline: 1px solid #c2e995; outline-offset: 5px; border-radius: 30%; }

.dl-runner {
    position: fixed;
    inset: 0;
    z-index: 382;
    width: 100vw;
    height: 100vh;
    pointer-events: none;
}
.dl-hitbox {
    position: fixed;
    left: 0;
    top: 0;
    z-index: 386;
    width: 122px;
    height: 96px;
    border: 0;
    padding: 0;
    margin: 0;
    background: transparent;
    touch-action: manipulation;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transform: translate3d(-200px,-200px,0);
}
.dl-hitbox:focus-visible { outline: 1px solid rgba(194,233,149,.72); outline-offset: -7px; border-radius: 45%; }
html[data-dinolich-active="true"] .dl-hitbox { pointer-events: auto; }
body.is-head-open :is(.dl-runner,.dl-hitbox),
html[data-mpe-search-open="true"] :is(.dl-runner,.dl-hitbox) { visibility: hidden; }

.dl-ash {
    display: block;
    position: absolute;
    bottom: calc(100% - 8px);
    right: max(24px,9vw);
    z-index: 5;
    width: 118px;
    height: 37px;
    pointer-events: none;
    filter: drop-shadow(0 6px 7px rgba(0,0,0,.50));
}
.dl-ash::before {
    content: "";
    position: absolute;
    left: 0; right: 0; bottom: 0; height: 31px;
    clip-path: polygon(0 100%,7% 79%,15% 83%,22% 56%,29% 68%,36% 33%,43% 60%,50% 22%,58% 56%,65% 37%,72% 70%,80% 58%,88% 81%,94% 76%,100% 100%);
    background:
        radial-gradient(circle at 34% 58%,rgba(190,164,80,.36) 0 3%,transparent 5%),
        radial-gradient(circle at 63% 62%,rgba(125,194,73,.26) 0 3%,transparent 5%),
        linear-gradient(145deg,#8b7956,#4a4f40 54%,#202820 82%);
}
.dl-ash::after {
    content: "";
    position: absolute;
    left: 13px; right: 8px; bottom: 3px; height: 7px;
    background: radial-gradient(ellipse at 25% 50%,rgba(152,211,82,.46),transparent 18%),radial-gradient(ellipse at 58% 42%,rgba(213,174,70,.43),transparent 20%);
    animation: dl-heap-ember 2.4s steps(3,end) infinite;
}
@keyframes dl-heap-ember { 0%,100%{opacity:.34} 45%{opacity:.82} 70%{opacity:.48} }

.dl-status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

/* Local, reversible normalization burns. */
.dl-token { font: inherit; color: inherit; letter-spacing: inherit; }
.dl-normalized {
    position: relative;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    background: linear-gradient(180deg,transparent 62%,rgba(148,108,45,.10) 76%,rgba(64,50,32,.17) 92%);
    text-decoration: underline;
    text-decoration-style: wavy;
    text-decoration-color: rgba(118,91,47,.54);
    text-decoration-thickness: .045em;
    text-underline-offset: .16em;
    text-shadow: .018em .03em .015em rgba(115,97,53,.30);
}
.dl-normalized::after {
    content: "";
    position: absolute;
    left: -.12em;
    right: -.12em;
    bottom: -.18em;
    height: .68em;
    pointer-events: none;
    background:
        radial-gradient(ellipse at 8% 100%,rgba(126,198,67,.62),transparent 34%),
        radial-gradient(ellipse at 26% 100%,rgba(208,169,54,.58),transparent 31%),
        radial-gradient(ellipse at 52% 100%,rgba(124,199,67,.56),transparent 33%),
        radial-gradient(ellipse at 76% 100%,rgba(219,177,57,.52),transparent 32%),
        radial-gradient(ellipse at 94% 100%,rgba(130,201,70,.56),transparent 34%);
    filter: blur(.15px) drop-shadow(0 0 2px rgba(180,192,65,.42));
    opacity: .52;
    transform-origin: 50% 100%;
    animation: dl-smoulder 1.35s ease-in-out infinite alternate;
    animation-play-state: paused;
}
.dl-normalized.is-burn-visible::after { animation-play-state: running; }
.dl-normalized.is-fresh-burn { animation: dl-scorch 1.1s ease-out; }
@keyframes dl-smoulder { from{opacity:.28;transform:scaleY(.58) translateY(.08em)} to{opacity:.72;transform:scaleY(1.15) translateY(-.08em)} }
@keyframes dl-scorch { 0%{text-shadow:0 0 10px #ebd55d;background-color:rgba(165,213,97,.34)} 100%{background-color:transparent} }

html[data-tlb-motion="paused"] .dl-ash::after,
html[data-tlb-motion="paused"] .dl-normalized::after { animation-play-state: paused !important; }
@media (max-width:767px) {
    .dl-perch { width: 88px; height: 70px; right: 18px; }
    .dl-hitbox { width: 74px; height: 62px; }
    .dl-ash { right: 17px; width: 94px; height: 31px; }
}
@media (max-width:420px) { .dl-hitbox { width: 64px; height: 54px; } }
@media (prefers-reduced-motion:reduce) {
    .dl-ash::after,.dl-normalized,.dl-normalized::after { animation: none !important; }
    .dl-runner { display: none !important; }
}
@media print {
    .dl-perch,.dl-runner,.dl-hitbox,.dl-ash,.mpe-badge--dinolich { display: none !important; }
    .dl-normalized { background: none; text-shadow: none; text-decoration: none; }
    .dl-normalized::after { display: none; }
}
