/* Additive enhancement layer for Mandelbulb Descent. Does not modify the base bundle. */
#dsc-objectives{position:fixed;left:16px;bottom:16px;z-index:12;width:min(320px,calc(100vw - 32px));box-sizing:border-box;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel-strong);font-size:12.5px;line-height:1.5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none}
#dsc-objectives .dsc-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:7px;letter-spacing:.08em;font-weight:760;color:var(--accent);font-size:11.5px}
#dsc-objectives .dsc-score{color:#f4fbff;font-variant-numeric:tabular-nums}
#dsc-objectives ol{margin:0;padding:0;list-style:none;display:grid;gap:4px}
#dsc-objectives li{display:flex;justify-content:space-between;gap:8px;color:#93a8b3;transition:color .3s}
#dsc-objectives li .dsc-tick{opacity:.35}
#dsc-objectives li.done{color:#c9f5d5}
#dsc-objectives li.done .dsc-tick{opacity:1;color:#8ef5b0}
#dsc-objectives li.next{color:#f4fbff}
#dsc-progress{margin-top:9px;height:4px;border-radius:3px;background:#ffffff1f;overflow:hidden}
#dsc-progress i{display:block;height:100%;width:0%;background:var(--accent);transition:width .35s ease}

#dsc-toasts{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:24;display:grid;gap:8px;justify-items:center;pointer-events:none}
.dsc-toast{padding:10px 18px;border:1px solid var(--line);border-radius:8px;background:#070d15f2;font-weight:760;letter-spacing:.06em;text-align:center;color:var(--accent);text-shadow:0 2px 12px #000;animation:dsc-pop 1.9s ease forwards}
.dsc-toast small{display:block;margin-top:3px;font-weight:400;letter-spacing:0;color:#c2d8de}
@keyframes dsc-pop{0%{opacity:0;transform:scale(.85)}12%{opacity:1;transform:scale(1.04)}22%{transform:scale(1)}78%{opacity:1}100%{opacity:0;transform:translateY(-22px) scale(.98)}}

#dsc-flash{position:fixed;inset:0;z-index:22;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--accent),white 20%),transparent 62%)}
#dsc-flash.on{animation:dsc-flash .5s ease-out}
@keyframes dsc-flash{0%{opacity:.5}100%{opacity:0}}
.dsc-shake{animation:dsc-shake .42s cubic-bezier(.36,.07,.19,.97)}
@keyframes dsc-shake{10%,90%{transform:translate(-2px,1px)}20%,80%{transform:translate(4px,-2px)}30%,50%,70%{transform:translate(-6px,2px)}40%,60%{transform:translate(6px,-1px)}100%{transform:none}}
@media (prefers-reduced-motion:reduce){.dsc-shake{animation:none}.dsc-toast{animation-duration:2.4s}}

#dsc-help{position:fixed;inset:0;z-index:30;display:grid;place-items:center;background:#04070cee;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
#dsc-help.hidden,#dsc-end.hidden{display:none}
#dsc-help .dsc-card,#dsc-end .dsc-card{width:min(660px,calc(100vw - 32px));box-sizing:border-box;padding:24px 26px;border:1px solid rgba(220,249,255,.25);border-radius:10px;background:#070d15f7;box-shadow:0 24px 80px #000000a6}
#dsc-help h2,#dsc-end h2{margin:0 0 6px;font-size:1.6rem;letter-spacing:.02em}
#dsc-help .dsc-sub,#dsc-end .dsc-sub{margin:0 0 16px;color:#c2d8de;line-height:1.5}
#dsc-help dl{display:grid;grid-template-columns:auto 1fr;gap:7px 14px;margin:0 0 18px;font-size:14px;align-items:baseline}
#dsc-help dt{color:var(--accent);font-weight:760;white-space:nowrap}
#dsc-help dd{margin:0;color:#d5e6ec}
#dsc-help .dsc-goal{margin:0 0 16px;padding:11px 13px;border-left:2px solid var(--accent);background:#ffffff0f;border-radius:0 6px 6px 0;font-size:14px;line-height:1.5;color:#eaf6fa}
#dsc-helpbtn{position:fixed;right:16px;top:60px;z-index:11;width:34px;height:34px;padding:0;border-radius:50%}
#dsc-end .dsc-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin:0 0 18px}
#dsc-end .dsc-stats div{padding:10px;border:1px solid var(--line);border-radius:8px;background:#ffffff0d}
#dsc-end .dsc-stats b{display:block;font-size:1.35rem;color:var(--accent);font-variant-numeric:tabular-nums}
#dsc-end .dsc-stats span{font-size:11.5px;letter-spacing:.07em;color:#a9bcc5}
@media (max-width:640px){#dsc-objectives{display:none}}
