/* Shared materials keep every game scene part of the same frosted world. */
:root {
  --glass-ink: #203e40;
  --glass-muted: #304c45;
  --glass-edge: rgba(255, 255, 255, .8);
  --glass-surface: linear-gradient(135deg, rgba(255,255,255,.86), rgba(227,245,238,.76));
  --glass-reading: linear-gradient(135deg, rgba(255,255,255,.94), rgba(233,246,242,.85));
  --glass-shadow: inset 0 1px 0 rgba(255,255,255,.95), inset 0 -1px 0 rgba(255,255,255,.3), 0 12px 28px rgba(15,47,48,.16);
}

/* High-contrast ink sits on pale glass, including the formerly unbacked titles. */
.map-intro-glass, .garden-heading, .play-top,
.rank-pill, .seed-wallet, .round-button, .small-ribbon,
.portal-sign, .portal-orb>b, .speech, .daily-quest, .garden-progress,
.trail-progress, .question-plaque, .game-feedback, .small-companion>span,
.strategy-card, .division-parchment, .division-guide, .garden-shop,
.reward-card, .learning-workbench, .soft-button, dialog {
  color: var(--glass-ink);
  background: var(--glass-surface);
  border: 1px solid var(--glass-edge);
  box-shadow: var(--glass-shadow);
  -webkit-backdrop-filter: blur(20px) saturate(145%);
  backdrop-filter: blur(20px) saturate(145%);
}
.map-title { color: var(--glass-ink); text-shadow: none; }
.map-intro-glass {
  width: fit-content;
  max-width: 100%;
  margin: 10px auto 0;
  padding: 12px 26px 14px;
  border-radius: 24px;
}
.map-title .map-intro-glass h1 { margin: 0 0 6px; line-height: 1.15; }
.map-intro-glass p { color: #294b40; font-weight: 600; line-height: 1.4; }
.small-ribbon { background: rgba(243,255,247,.8); color: #315746; }
.map-level .difficulty-label {
  padding: 9px;
  border: 1px solid var(--glass-edge);
  border-radius: 20px;
  color: var(--glass-ink);
  text-shadow: none;
  background: var(--glass-surface);
  box-shadow: var(--glass-shadow);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
}
.difficulty-label select {
  color: #284d43;
  background: rgba(255,255,255,.65);
  border: 1px solid rgba(255,255,255,.95);
  box-shadow: inset 0 1px 3px #305d4810;
}
.difficulty-label select option { background: #f2faf5; color: #284d43; }
.game-logo { text-shadow: 0 2px 5px #183d44a6; }
.rank-track { background: #416a5126; }
.rank-track i { background: linear-gradient(90deg, #79a89a, #88b979); }
.rank-star { color: #98741d; }

/* Colored glass keeps each destination and answer visually distinct. */
.portal-orb {
  background: linear-gradient(145deg, #ffffffbd, #e1f7ef70);
  background: linear-gradient(145deg, #ffffffc9, color-mix(in srgb, var(--accent) 70%, transparent));
  border: 2px solid #ffffffcf;
  box-shadow: inset 0 2px 4px #ffffffd9, inset 0 -8px 18px #ffffff26, 0 9px 22px #1f4f4930;
  -webkit-backdrop-filter: blur(14px) saturate(165%);
  backdrop-filter: blur(14px) saturate(165%);
}
.portal-orb>b { color: #315e50; }
.portal-sign small, .speech span, .daily-quest>span>span { color: var(--glass-muted); }
.daily-quest small { color: #4e411f; }
.daily-quest>i svg { color: #4c6959; }
.portal-glow { opacity: .45; }
.garden-progress { color: #304d38; }
.portal-stars { filter: drop-shadow(0 1px 2px #254d47d9); }
.portal-stars i { color: #e2eee3; }
.portal-stars .earned { color: #ffe38b; }

.play-top { padding: 10px 13px; border-radius: 22px; }
.play-title { color: var(--glass-ink); text-shadow: none; }
.question-plaque, .division-parchment, .division-guide,
.reward-card, .learning-workbench, dialog { background: var(--glass-reading); }
.question-instruction, .game-feedback>span, .division-label>span,
.long-feedback, .guide-companion>span, .division-guide>p { color: var(--glass-muted); }
.question-equation { color: #294e43; }
.question-equation>span { color: #536a60; }
.question-equation>b { color: #65418c; background: #d6c5f266; border: 1px solid #ffffffb3; }
.answer-target {
  background: radial-gradient(circle at 30% 20%, #ffffffc9, #ffffff00 48%), linear-gradient(145deg, color-mix(in srgb, var(--color) 80%, transparent), #eefcffab);
  border: 2px solid #ffffffe6;
  color: #233f59;
  box-shadow: inset 0 2px 5px #fffffff0, inset 0 -7px 15px #ffffff60, 0 10px 25px #24534d33;
  -webkit-backdrop-filter: blur(12px) saturate(140%);
  backdrop-filter: blur(12px) saturate(140%);
}
.answer-target small { color: #3c5667; }
.bridge-target { background: linear-gradient(145deg, #f5ffdfd9, #b5d3c3ad); box-shadow: inset 0 2px 5px #fff, 0 7px 0 #709b8c80, 0 14px 23px #23595d30; }
.bridge-target:before { background: #93c0a2b3; }
.answer-target.correct-choice { background: linear-gradient(135deg, #fffffff0, #acf1cfd9); box-shadow: 0 0 0 4px #d9ffc288, 0 0 30px #ceffac70, inset 0 2px 4px #fff; }
.arena-hint {
  left: 50%; right: auto; bottom: 1px; transform: translateX(-50%);
  width: max-content; max-width: 96%; padding: 6px 13px; border-radius: 14px;
  color: #f5fff9; text-shadow: none; background: #214944d4; border: 1px solid #ffffff66;
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
}
.game-feedback.success { background: linear-gradient(135deg, #f7ffefd9, #d8f7d6bf); border-color: #edffe3; }
.game-feedback.retry { background: linear-gradient(135deg, #fff6e5e6, #ffe3b5cc); border-color: #ffecd2; }
.strategy-card { background: linear-gradient(135deg, #faf5ffe6, #e9d9f5bf); color: #554078; }
.long-answer { background: linear-gradient(140deg, #fbf5ffe0, #d5bfefb8); color: #583d80; border: 1px solid #fff; box-shadow: inset 0 1px 3px #fff, 0 5px 13px #55367824; }
.long-feedback, .learning-model { background: #e0eddf8f; border: 1px solid #ffffffa6; }
.bring-instruction { background: linear-gradient(135deg, #f5ecffd6, #d6bfefad); border-color: #aa83cf; }
.bring-instruction p, .bring-instruction small { color: #5c4278; }
.step-wheel>span { color: #506856; }
.step-wheel b { color: #536b57; background: #c8dacf77; }
.step-wheel .current b { box-shadow: 0 3px 8px #23394a26, 0 0 0 3px #ffffffa6; }
.division-board { background: #ffffff40; border-radius: 18px; }
.earned-tag { color: #705522; background: #ffe5a899; border: 1px solid #fff3ce; }

/* A consistent, obvious play button still stands out from the glass controls. */
.gold-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 46px; padding: 12px 21px; border-radius: 16px; border: 1px solid #fff4ca;
  background: linear-gradient(145deg, #fff1b7e8, #f2ce73d6); color: #59421d;
  font-size: 1rem; font-weight: 600;
  box-shadow: inset 0 2px 3px #ffffffe0, 0 4px 0 #ac874866, 0 8px 20px #7b5d2726;
  -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
}
.text-button { color: #5d407f; }
.garden-heading { width: fit-content; max-width: 100%; margin: 0 auto; padding: 15px 24px 18px; border-radius: 26px; text-shadow: none; }
.garden-heading p { color: var(--glass-muted); }
.garden-bed { background: #d6f3e326; border: 1px solid #ffffffa6; box-shadow: inset 0 1px 0 #ffffffa6, 0 14px 35px #143e4426; -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.garden-plot { background: linear-gradient(145deg, #fff0cfde, #d1c5a9ad); border: 2px solid #fff4d1cc; box-shadow: inset 0 2px 6px #fff9, 0 7px 0 #58765b59, 0 12px 20px #1b443c26; }
.garden-plot.planted { background: linear-gradient(140deg, #e6f7d6d9, #9cc18bba); border-color: #edffdc; }
.garden-plot>span:first-child, .garden-plot>small { color: #4a593d; }
.garden-plot.planted small { background: #ffffffe0; }
.growth-dots { background: #244d43b3; color: #fff0a5; border-radius: 8px; padding: 2px 5px; }
.garden-tabs { background: #aecdb040; border: 1px solid #ffffff99; }
.garden-tabs button { color: #46664b; }
.garden-tabs .active { background: #ffffffbd; color: #315b40; box-shadow: 0 3px 8px #264c2920; }
.seed-packet, .friend-card, .mode-option, .setting-toggle {
  background: linear-gradient(135deg, #ffffff9e, #daebdf70);
  border: 1px solid #ffffffb3; box-shadow: inset 0 1px 2px #ffffffa6;
}
.seed-packet.selected, .friend-card.selected, .mode-option.selected {
  background: linear-gradient(135deg, #f8f2ffd9, #d6c1efab);
  border-color: #9672bb; box-shadow: inset 0 1px 2px #fff, 0 0 0 1px #ab8bca;
}
.shop-note, .seed-packet>small, .friend-card>small, .garden-message,
.reward-card>p, .reward-stats span, .world-intro p, .mode-option small,
.long-launch p, .setting-description, dialog>p, #type-form label,
.counter-bowl strong, .block-legend, .lesson-status { color: var(--glass-muted); }
.reward-stats b { color: #79602f; }
.world-intro>.eyebrow { color: #416950; }
.sharing-pot { background: linear-gradient(145deg, #ffeedae0, #ebcda9ab); border: 1px solid #fff4db; }
.sharing-pot strong { color: #68523b; }
.world-medallion { background: linear-gradient(145deg, #ffffffbf, var(--accent,#cce7cc)); border: 1px solid #fff; box-shadow: inset 0 2px 4px #fff, 0 7px 20px #2d57352b; }
dialog { box-shadow: inset 0 1px 0 #fff, 0 28px 80px #10383a66; }
dialog::backdrop { background: #153b476b; -webkit-backdrop-filter: blur(9px); backdrop-filter: blur(9px); }
.dialog-close { background: #ffffffa6; border: 1px solid #ffffffbf; }
#typed-answer { background: #f8f4ffe0; border: 2px solid #b18bd1; color: #583f79; box-shadow: inset 0 2px 6px #5d33821a; }

@media (max-width:600px) {
  .map-intro-glass { padding: 12px 15px; border-radius: 21px; }
  .map-intro-glass p { font-size: .79rem; }
  .map-level .difficulty-label { padding: 7px 9px; border-radius: 17px; }
  .play-top { padding: 10px; gap: 10px; }
  .garden-heading { padding: 15px 16px; }
  .arena-hint { padding: 5px 10px; font-size: .64rem; }
}
@media (prefers-reduced-transparency:reduce) {
  :root { --glass-surface: #edf6f1; --glass-reading: #f4f9f5; }
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  :root { --glass-surface: #eaf3ef; --glass-reading: #f4f9f5; }
}
