/* Sweet Shift Saga v4.4.0.0 — Unique Level Identity, Daily Candy, Loading, Inventory */

/* ---------- Every Level gets its own visual identity ---------- */
#screen-game {
  --level-hue: 326;
  --level-hue2: 205;
  --level-accent: hsl(var(--level-hue) 84% 58%);
  --level-accent-2: hsl(var(--level-hue2) 82% 58%);
}
#screen-game.active {
  background:
    radial-gradient(circle at 18% 14%, hsl(var(--level-hue) 90% 74% / .36), transparent 32%),
    radial-gradient(circle at 84% 82%, hsl(var(--level-hue2) 88% 68% / .30), transparent 34%),
    linear-gradient(145deg, hsl(var(--level-hue) 58% 93%), hsl(var(--level-hue2) 54% 91%)) !important;
}
#screen-game .saga-board-stage {
  border-radius: 28px !important;
  padding: 10px !important;
  background: linear-gradient(145deg, hsl(var(--level-hue) 82% 67% / .32), hsl(var(--level-hue2) 84% 61% / .22)) !important;
  box-shadow: 0 18px 42px hsl(var(--level-hue) 55% 25% / .15), inset 0 1px 0 rgba(255,255,255,.72) !important;
}
#screen-game .saga-board {
  box-shadow: 0 0 0 4px rgba(255,255,255,.78), 0 0 0 7px hsl(var(--level-hue) 72% 50% / .34), 0 15px 30px rgba(32,43,76,.20) !important;
}
#screen-game .classic-goals-card,
#screen-game .classic-score-card,
#screen-game .future-moves-panel {
  border-color: hsl(var(--level-hue) 70% 48% / .35) !important;
}
.level-identity-chip {
  display:inline-flex;
  align-items:center;
  min-height:20px;
  padding:2px 8px;
  margin-left:6px;
  border-radius:999px;
  background:linear-gradient(135deg,hsl(var(--identity-hue,326) 88% 60%),hsl(var(--identity-hue2,205) 82% 56%));
  color:#fff;
  font-size:.62rem;
  font-weight:1000;
  letter-spacing:.05em;
  text-shadow:0 1px 2px rgba(52,18,56,.25);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 3px 8px rgba(66,31,68,.14);
}
.map4208-level-node.identity-decorated .map4208-node-disc {
  background:linear-gradient(145deg,hsl(var(--node-hue) 88% 62%),hsl(var(--node-hue2) 82% 50%)) !important;
  box-shadow:0 5px 0 hsl(var(--node-hue) 55% 34%),0 8px 14px hsl(var(--node-hue) 60% 24% / .22),inset 0 2px 0 rgba(255,255,255,.52) !important;
}
.map4208-level-node.identity-decorated.passed .map4208-node-disc {
  filter:saturate(.82) brightness(1.06);
}
#level-start-modal.identity-preview .level-preview-card {
  border-color:hsl(var(--identity-hue) 70% 55% / .42) !important;
  box-shadow:0 22px 54px hsl(var(--identity-hue) 44% 24% / .22) !important;
  background:
    radial-gradient(circle at 15% 0%,hsl(var(--identity-hue) 88% 72% / .22),transparent 30%),
    radial-gradient(circle at 100% 100%,hsl(var(--identity-hue2) 82% 70% / .20),transparent 34%),
    #fff !important;
}
#screen-game[data-level-pattern="0"] .saga-board-stage { background-image:linear-gradient(45deg,hsl(var(--level-hue) 75% 60% / .18) 25%,transparent 25%,transparent 75%,hsl(var(--level-hue2) 75% 60% / .18) 75%) !important;background-size:28px 28px !important; }
#screen-game[data-level-pattern="1"] .saga-board-stage { background-image:radial-gradient(circle,hsl(var(--level-hue) 80% 58% / .22) 2px,transparent 3px) !important;background-size:18px 18px !important; }
#screen-game[data-level-pattern="2"] .saga-board-stage { background-image:repeating-linear-gradient(120deg,hsl(var(--level-hue) 78% 60% / .14) 0 8px,transparent 8px 20px) !important; }
#screen-game[data-level-pattern="3"] .saga-board-stage { background-image:repeating-linear-gradient(45deg,hsl(var(--level-hue2) 78% 55% / .15) 0 4px,transparent 4px 16px) !important; }
#screen-game[data-level-pattern="4"] .saga-board-stage { background-image:radial-gradient(circle at 20% 20%,hsl(var(--level-hue) 90% 65% / .25),transparent 28%),radial-gradient(circle at 80% 75%,hsl(var(--level-hue2) 88% 62% / .24),transparent 30%) !important; }
#screen-game[data-level-pattern="5"] .saga-board-stage { background-image:linear-gradient(90deg,hsl(var(--level-hue) 75% 58% / .16) 1px,transparent 1px),linear-gradient(hsl(var(--level-hue2) 75% 58% / .12) 1px,transparent 1px) !important;background-size:22px 22px !important; }
#screen-game[data-level-pattern="6"] .saga-board-stage { background-image:repeating-radial-gradient(circle at 50% 50%,hsl(var(--level-hue) 80% 62% / .15) 0 5px,transparent 6px 15px) !important; }
#screen-game[data-level-pattern="7"] .saga-board-stage { background-image:linear-gradient(135deg,hsl(var(--level-hue) 78% 62% / .20),transparent 38%,hsl(var(--level-hue2) 78% 58% / .18)) !important; }
#screen-game[data-level-pattern="8"] .saga-board-stage { background-image:repeating-linear-gradient(90deg,transparent 0 14px,hsl(var(--level-hue2) 78% 58% / .13) 14px 18px) !important; }
#screen-game[data-level-pattern="9"] .saga-board-stage { background-image:radial-gradient(ellipse at center,hsl(var(--level-hue) 85% 65% / .24),transparent 58%) !important; }
#screen-game[data-level-pattern="10"] .saga-board-stage { background-image:linear-gradient(30deg,hsl(var(--level-hue) 85% 61% / .14) 12%,transparent 12% 38%,hsl(var(--level-hue2) 85% 61% / .14) 38% 50%,transparent 50% 88%,hsl(var(--level-hue) 85% 61% / .14) 88%) !important;background-size:34px 34px !important; }
#screen-game[data-level-pattern="11"] .saga-board-stage { background-image:radial-gradient(circle at 30% 30%,hsl(var(--level-hue) 88% 66% / .20),transparent 16%),radial-gradient(circle at 70% 70%,hsl(var(--level-hue2) 88% 62% / .20),transparent 16%) !important;background-size:54px 54px !important; }

/* ---------- Daily candy reward track under Player Level ---------- */
.map-hud-left {
  align-items:flex-start !important;
}
.daily-candy-track {
  width:310px;
  min-height:54px;
  margin-top:8px;
  margin-left:52px;
  padding:8px 10px 9px;
  border:2px solid rgba(255,255,255,.82);
  border-radius:14px;
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,244,251,.90));
  box-shadow:0 6px 14px rgba(92,42,79,.13),inset 0 1px 0 rgba(255,255,255,.85);
  display:grid;
  grid-template-columns:1fr auto;
  gap:5px 8px;
  box-sizing:border-box;
}
.daily-track-copy { display:flex;align-items:baseline;gap:7px;min-width:0; }
.daily-track-copy strong { color:#6e2c5a;font-size:.68rem;white-space:nowrap; }
.daily-track-copy small { color:#aa7897;font-size:.52rem;font-weight:900;white-space:nowrap; }
.daily-track-meter {
  grid-column:1 / -1;
  position:relative;
  height:13px;
  border-radius:999px;
  overflow:hidden;
  background:#eadde8;
  box-shadow:inset 0 2px 4px rgba(85,48,75,.16);
}
.daily-track-meter i {
  position:absolute;inset:0 auto 0 0;width:0%;
  border-radius:inherit;
  background:linear-gradient(90deg,var(--daily-color,#ef3a5b),color-mix(in srgb,var(--daily-color,#ef3a5b) 55%,white));
  transition:width .28s ease;
}
.daily-track-meter span {
  position:absolute;inset:0;display:grid;place-items:center;
  color:#5f3753;font-size:.48rem;font-weight:1000;text-shadow:0 1px 0 rgba(255,255,255,.78);
}
.daily-track-reward { display:flex;align-items:center;gap:5px;justify-self:end; }
.daily-track-reward span { width:10px;height:10px;border-radius:50%;background:var(--daily-color,#ef3a5b);box-shadow:0 0 0 3px color-mix(in srgb,var(--daily-color,#ef3a5b) 20%,transparent); }
.daily-track-reward b { color:#77415f;font-size:.54rem;white-space:nowrap; }
.map-tool-inventory .map-tool-icon { background:linear-gradient(180deg,rgba(255,192,99,.46),rgba(237,107,68,.20)) !important; }

/* ---------- Inventory ---------- */
.inventory-modal { z-index:12000 !important; }
.inventory-card {
  width:min(760px,92vw) !important;
  max-height:88vh;
  overflow:auto;
  padding:24px !important;
}
.inventory-copy { color:#8c6480;font-weight:800; }
.inventory-section { margin-top:18px; }
.inventory-chest-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px; }
.inventory-chest-item {
  padding:12px;
  border:1px solid #ead8e5;
  border-radius:18px;
  background:linear-gradient(180deg,#fff,#fff4fa);
  display:grid;justify-items:center;gap:7px;
}
.inventory-chest-item img { width:112px;height:88px;object-fit:contain;filter:drop-shadow(0 7px 8px rgba(94,15,66,.18)); }
.inventory-chest-item strong { color:#742252; }
.inventory-chest-item small { color:#a16e8c;font-size:.64rem;font-weight:800;text-align:center; }
.inventory-chest-item button { min-width:92px; }
.inventory-empty { grid-column:1/-1;padding:24px;border:1px dashed #dcbfd3;border-radius:18px;text-align:center;color:#a17491;font-weight:900;background:#fff8fc; }
.inventory-booster-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px; }
.inventory-booster-item { display:flex;align-items:center;gap:8px;padding:9px;border-radius:14px;background:#f9f1f7;border:1px solid #eadce6; }
.inventory-booster-item img { width:34px;height:34px;object-fit:contain; }
.inventory-booster-item .reward-svg { width:34px;height:34px;object-fit:contain; }
.inventory-booster-item div { min-width:0;display:grid;gap:1px; }
.inventory-booster-item strong { font-size:.66rem;color:#704059;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.inventory-booster-item b { color:#9a4c79;font-size:.75rem; }

/* ---------- Chest opening: no card/background, only darkened screen ---------- */
.chest-open-overlay {
  position:fixed;inset:0;z-index:30000;
  background:rgba(12,2,17,.84);
  display:grid;place-items:center;
  backdrop-filter:blur(2px);
}
.chest-open-overlay.hidden { display:none !important; }
.chest-open-stage {
  width:min(760px,94vw);
  min-height:620px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  color:#fff;
}
.chest-open-kicker { font-size:.82rem;font-weight:1000;letter-spacing:.18em;color:#ffd8f3;text-shadow:0 2px 8px #000; }
.chest-open-visual { position:relative;width:min(380px,72vw);height:min(320px,60vw);display:grid;place-items:center; }
.chest-overlay-art { position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 18px 24px rgba(255,39,177,.28));transition:opacity .16s ease,transform .2s ease; }
.chest-overlay-art.open { opacity:0;transform:scale(.88); }
.chest-open-overlay.shaking .chest-overlay-art.closed { animation:chest4400Shake .72s ease-in-out 1; }
.chest-open-overlay.opened .chest-overlay-art.closed { opacity:0;transform:scale(.86); }
.chest-open-overlay.opened .chest-overlay-art.open { opacity:1;transform:scale(1);animation:chest4400Open .34s ease-out 1; }
.chest-open-bam { position:absolute;z-index:5;top:8px;left:50%;transform:translateX(-50%);opacity:0;color:#fff18e;font-size:1.65rem;font-weight:1000;font-style:italic;text-shadow:0 3px 0 #9f1768,0 0 18px #ff5bc7; }
.chest-open-bam.pop { animation:chest4400Bam .42s ease-out 1; }
.chest-reward-burst { width:min(650px,92vw);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;min-height:190px; }
.chest-live-reward { opacity:0;transform:translateY(20px) scale(.78);display:grid;justify-items:center;gap:5px;color:#fff;text-align:center; }
.chest-live-reward.visible { opacity:1;transform:translateY(0) scale(1);animation:chest4400Reward .38s cubic-bezier(.2,.9,.3,1.25) 1; }
.chest-live-reward img { width:72px;height:72px;object-fit:contain;filter:drop-shadow(0 8px 10px rgba(0,0,0,.35)); }
.chest-live-reward strong { font-size:.78rem;text-shadow:0 2px 7px #000; }
.chest-live-reward small { color:#ffd7ef;font-size:.62rem;font-weight:900;text-shadow:0 2px 6px #000; }
#chest-open-done { margin-top:10px;min-width:150px; }
@keyframes chest4400Shake {0%,100%{transform:translateX(0) rotate(0)}16%{transform:translateX(-12px) rotate(-3deg)}32%{transform:translateX(12px) rotate(3deg)}48%{transform:translateX(-9px) rotate(-2deg)}64%{transform:translateX(9px) rotate(2deg)}80%{transform:translateX(-4px) rotate(-1deg)}}
@keyframes chest4400Open {0%{transform:scale(.78)}68%{transform:scale(1.08)}100%{transform:scale(1)}}
@keyframes chest4400Bam {0%{opacity:0;transform:translateX(-50%) translateY(12px) scale(.55)}25%{opacity:1}100%{opacity:0;transform:translateX(-50%) translateY(-16px) scale(1.22)}}
@keyframes chest4400Reward {0%{opacity:0;transform:translateY(20px) scale(.78)}72%{opacity:1;transform:translateY(-4px) scale(1.08)}100%{opacity:1;transform:translateY(0) scale(1)}}

/* ---------- Five-second loading transition ---------- */
.loading-transition {
  position:fixed;inset:0;z-index:28000;
  display:grid;grid-template-columns:minmax(180px,340px) minmax(280px,520px);align-items:center;justify-content:center;gap:34px;
  padding:34px;
  background:
    radial-gradient(circle at 28% 38%,rgba(255,255,255,.28),transparent 24%),
    linear-gradient(135deg,#f67cc7 0%,#a862dc 48%,#587fe7 100%);
  color:#fff;
}
.loading-transition.hidden { display:none !important; }
.loading-character-wrap { display:grid;place-items:center; }
.loading-character-wrap img { width:min(320px,36vw);height:min(320px,36vw);object-fit:contain;filter:drop-shadow(0 20px 28px rgba(54,22,92,.28));animation:loadingBeanFloat 1.8s ease-in-out infinite alternate; }
.loading-copy { display:grid;gap:8px;max-width:520px; }
.loading-copy small { font-size:.72rem;font-weight:1000;letter-spacing:.18em;color:#ffe4f6; }
.loading-copy strong { font-size:clamp(2rem,5vw,4rem);line-height:.95;text-shadow:0 4px 0 rgba(85,39,123,.18); }
.loading-copy p { margin:5px 0 0;font-size:1rem;line-height:1.4;font-weight:850;color:#fff8fd; }
.loading-progress { grid-column:1/-1;width:min(720px,80vw);height:12px;margin:8px auto 0;border-radius:999px;overflow:hidden;background:rgba(49,27,87,.28);box-shadow:inset 0 2px 5px rgba(32,20,57,.22),0 1px 0 rgba(255,255,255,.28); }
.loading-progress i { display:block;width:0%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#fff2a1,#fff,#a8f3ff);box-shadow:0 0 14px rgba(255,255,255,.58); }
.loading-transition.running .loading-progress i { animation:loading4400Progress 5s linear forwards; }
@keyframes loading4400Progress { from{width:0%} to{width:100%} }
@keyframes loadingBeanFloat { from{transform:translateY(5px) rotate(-1deg)} to{transform:translateY(-8px) rotate(1.5deg)} }

@media(max-width:900px){
  .daily-candy-track{width:260px;margin-left:44px}.inventory-booster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .loading-transition{grid-template-columns:1fr;grid-template-rows:auto auto auto;text-align:center;gap:12px;padding:20px}.loading-character-wrap img{width:190px;height:190px}.loading-copy{justify-self:center}.loading-progress{grid-column:1}
}
@media(max-width:620px){
  .daily-candy-track{width:220px;margin-left:0}.daily-track-copy small{display:none}.chest-reward-burst{grid-template-columns:repeat(2,minmax(0,1fr))}.chest-open-stage{min-height:560px}.inventory-booster-grid{grid-template-columns:1fr}
}
#screen-map .map-hud-left{position:relative!important;align-items:center!important;}
#screen-map .daily-candy-track{position:absolute;top:54px;left:57px;margin:0!important;pointer-events:auto;}
@media(max-width:900px){#screen-map .daily-candy-track{left:54px;top:52px;}}
#screen-map .map-tool-inventory{position:relative!important;}
#screen-map .map-inventory-count{position:absolute;right:-5px;top:-7px;min-width:18px;height:18px;padding:0 4px;display:grid;place-items:center;border:2px solid #fff;border-radius:999px;background:#f03d91;color:#fff;font-size:.52rem;font-weight:1000;box-shadow:0 2px 5px rgba(74,26,66,.24);}
#screen-map .map-inventory-count:empty{display:none;}
