/**
 * Clave Quest 2.0.4
 * Bibliotecas externas utilizadas: nenhuma.
 */

.cq-host,
.cq-login-gate {
  --cq-bg: #f2f2f2;
  --cq-panel: #ffffff;
  --cq-panel-2: #f8f8f8;
  --cq-text: #111111;
  --cq-muted: #666666;
  --cq-accent: #f5c400;
  --cq-accent-soft: #fff5b8;
  --cq-danger: #d9344d;
  --cq-success: #148447;
  --cq-border: rgba(0, 0, 0, .13);
  --cq-shadow: 0 18px 50px rgba(0, 0, 0, .12);
  --cq-radius: 22px;
  color: var(--cq-text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.cq-host *,
.cq-login-gate * { box-sizing: border-box; }
.cq-host button,
.cq-host input,
.cq-host select { font: inherit; }
.cq-host button { cursor: pointer; }

.clave-quest-page .cq-host {
  width: 100%;
  max-width: none;
  margin: 0;
}

.clave-quest-page .e-con-boxed > .e-con-inner,
.clave-quest-page .elementor-widget-shortcode,
.clave-quest-page .elementor-shortcode {
  width: 100% !important;
  max-width: none !important;
}

.cq-login-gate {
  width: min(680px, calc(100% - 24px));
  margin: 32px auto;
  padding: 34px;
  text-align: center;
  background: #fff;
  border: 1px solid var(--cq-border);
  border-radius: 26px;
  box-shadow: var(--cq-shadow);
}
.cq-login-mark {
  width: 72px;
  height: 72px;
  margin: 0 auto 18px;
  display: grid;
  place-items: center;
  border-radius: 22px;
  color: var(--cq-accent);
  background: #111;
  font-size: 42px;
}
.cq-login-gate h2 { margin: 0 0 10px; font-size: clamp(26px, 5vw, 42px); }
.cq-login-gate p { margin: 0 auto; max-width: 520px; color: var(--cq-muted); line-height: 1.6; }
.cq-login-actions { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; margin-top: 22px; }
.cq-login-primary,
.cq-login-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 18px;
  border-radius: 14px;
  font-weight: 900;
  text-decoration: none;
}
.cq-login-primary { color: #111; background: var(--cq-accent); }
.cq-login-secondary { color: #111; background: #fff; border: 1px solid #111; }

.cq-app {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 18px clamp(14px, 2.4vw, 38px) 42px;
  min-height: 620px;
}
.cq-loading {
  min-height: 380px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 14px;
  color: var(--cq-muted);
}
.cq-spinner {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 4px solid rgba(0,0,0,.12);
  border-top-color: #111;
  animation: cq-spin .8s linear infinite;
}
@keyframes cq-spin { to { transform: rotate(360deg); } }

.cq-topbar {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 14px;
  align-items: center;
  margin-bottom: 16px;
}
.cq-brand { display: flex; align-items: center; gap: 12px; min-width: 0; }
.cq-brand-mark {
  width: 50px;
  height: 50px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  color: var(--cq-accent);
  background: #111;
  box-shadow: 0 12px 28px rgba(0,0,0,.18);
  font-size: 30px;
}
.cq-brand h1 { margin: 0; font-size: clamp(22px, 3vw, 31px); line-height: 1; letter-spacing: -.03em; }
.cq-brand p { margin: 5px 0 0; color: var(--cq-muted); font-size: 13px; }
.cq-top-actions { display: flex; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }

.cq-icon-btn,
.cq-small-btn,
.cq-secondary-btn,
.cq-primary-btn,
.cq-danger-btn {
  border-radius: 14px;
  min-height: 42px;
  padding: 9px 13px;
  border: 1px solid var(--cq-border);
  font-weight: 850;
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.cq-icon-btn,
.cq-small-btn,
.cq-secondary-btn { color: #111; background: #fff; }
.cq-primary-btn { color: #111; background: var(--cq-accent); border-color: var(--cq-accent); }
.cq-danger-btn { color: #fff; background: var(--cq-danger); border-color: var(--cq-danger); }
.cq-icon-btn:hover,
.cq-small-btn:hover,
.cq-secondary-btn:hover,
.cq-primary-btn:hover,
.cq-danger-btn:hover { transform: translateY(-1px); border-color: #111; }
.cq-icon-btn:hover,
.cq-small-btn:hover { background: var(--cq-accent); }

.cq-view { animation: cq-fade .22s ease; }
@keyframes cq-fade { from { opacity: .45; transform: translateY(5px); } to { opacity: 1; transform: none; } }
.cq-dashboard {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 16px;
  align-items: start;
}
.cq-main-column,
.cq-side-column { display: grid; gap: 16px; }
.cq-card {
  background: #fff;
  border: 1px solid var(--cq-border);
  border-radius: var(--cq-radius);
  box-shadow: var(--cq-shadow);
  overflow: hidden;
}
.cq-card-inner { padding: 18px; }
.cq-hero {
  min-height: 225px;
  color: #fff;
  background:
    radial-gradient(circle at 82% 20%, rgba(245,196,0,.18), transparent 28%),
    repeating-linear-gradient(-12deg, transparent 0, transparent 24px, rgba(255,255,255,.025) 25px, transparent 26px),
    linear-gradient(135deg, #080808 0%, #1d1d1d 100%);
  border-color: #111;
}
.cq-hero-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 18px; align-items: center; }
.cq-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #111;
  background: var(--cq-accent);
  border-radius: 999px;
  padding: 7px 11px;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.cq-hero h2 { margin: 14px 0 8px; font-size: clamp(29px, 5vw, 49px); line-height: 1.02; letter-spacing: -.05em; }
.cq-hero p { margin: 0; color: #cfcfcf; line-height: 1.6; max-width: 650px; }
.cq-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.cq-hero .cq-secondary-btn { color: #fff; background: transparent; border-color: rgba(255,255,255,.38); }
.cq-hero .cq-secondary-btn:hover { color: #111; background: #fff; }
.cq-hero-badge { display: grid; place-items: center; min-height: 170px; }
.cq-orbit {
  width: 166px;
  height: 166px;
  display: grid;
  place-items: center;
  position: relative;
  border-radius: 50%;
  border: 1px dashed rgba(255,255,255,.4);
  animation: cq-orbit 18s linear infinite;
}
.cq-orbit::before,
.cq-orbit::after {
  content: "♪";
  position: absolute;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: #111;
  background: var(--cq-accent);
  font-size: 24px;
}
.cq-orbit::before { top: -10px; left: 10px; }
.cq-orbit::after { content: "♫"; right: -8px; bottom: 16px; }
.cq-level-core {
  width: 104px;
  height: 104px;
  display: grid;
  place-items: center;
  border-radius: 34px;
  color: #111;
  background: var(--cq-accent);
  font-size: 48px;
  font-weight: 1000;
  transform: rotate(-8deg);
  animation: cq-counter-orbit 18s linear infinite;
}
@keyframes cq-orbit { to { transform: rotate(360deg); } }
@keyframes cq-counter-orbit { to { transform: rotate(-352deg); } }

.cq-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.cq-stat { padding: 14px; border-radius: 17px; background: #f7f7f7; border: 1px solid rgba(0,0,0,.09); }
.cq-stat-label { color: var(--cq-muted); font-size: 12px; display: block; margin-bottom: 6px; }
.cq-stat strong { display: block; font-size: 21px; line-height: 1; }
.cq-xp-wrap { margin-top: 14px; display: grid; gap: 8px; }
.cq-xp-meta { display: flex; justify-content: space-between; gap: 10px; color: var(--cq-muted); font-size: 12px; }
.cq-progress,
.cq-mini-progress {
  overflow: hidden;
  border-radius: 999px;
  background: #e6e6e6;
}
.cq-progress { height: 12px; }
.cq-mini-progress { height: 8px; margin-top: 10px; }
.cq-progress span,
.cq-mini-progress span { display: block; height: 100%; background: linear-gradient(90deg, #111, var(--cq-accent)); transition: width .35s ease; }

.cq-section-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.cq-section-title h3 { margin: 0; font-size: 20px; letter-spacing: -.02em; }
.cq-section-title p { margin: 4px 0 0; color: var(--cq-muted); font-size: 13px; }
.cq-track-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; }
.cq-lessons-panel { align-self: start; overflow: hidden; }
.cq-lessons-menu { display:flex; align-items:center; justify-content:space-between; gap:12px; cursor:pointer; list-style:none; padding:16px 18px; font-weight:850; }
.cq-lessons-menu::-webkit-details-marker { display:none; }
.cq-lessons-menu span { color:var(--cq-muted); font-size:12px; }
.cq-lessons-panel[open] .cq-lessons-menu { border-bottom:1px solid var(--cq-border); }
.cq-track-card {
  min-width: 0;
  min-height: 184px;
  padding: 15px;
  text-align: left;
  color: #111;
  background: #f7f7f7;
  border: 1px solid var(--cq-border);
  border-radius: 18px;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
  position: relative;
  white-space: normal;
  overflow: hidden;
}
.cq-track-card:hover { transform: translateY(-2px); background: #fff; border-color: #111; }
.cq-track-card.cq-track-current { background: #fff8cf; border-color: #111; box-shadow: inset 5px 0 0 var(--cq-accent); }
.cq-track-icon {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  margin-bottom: 12px;
  border-radius: 14px;
  color: var(--cq-accent);
  background: #111;
  font-size: 22px;
}
.cq-track-card strong { display: block; width: 100%; max-width: 100%; min-width: 0; margin-bottom: 5px; font-size: 15px; white-space: normal; overflow-wrap: break-word; }
.cq-track-card small { display: block; width: 100%; max-width: 100%; min-width: 0; min-height: 49px; color: var(--cq-muted); line-height: 1.4; white-space: normal; overflow-wrap: break-word; word-break: normal; }
.cq-track-footer { display: flex; justify-content: space-between; gap: 10px; align-items: center; margin-top: 12px; font-size: 11px; font-weight: 850; }
.cq-track-status { padding: 5px 8px; border-radius: 999px; background: var(--cq-accent); }

.cq-quest-list { display: grid; gap: 10px; }
.cq-quest {
  padding: 13px;
  border-radius: 16px;
  background: #f8f8f8;
  border: 1px solid rgba(0,0,0,.10);
}
.cq-quest.cq-done { background: #effaf3; border-color: rgba(20,132,71,.35); }
.cq-quest-top { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.cq-quest strong { font-size: 13px; }
.cq-quest small { display: block; margin-top: 5px; color: var(--cq-muted); line-height: 1.35; }
.cq-achievement-list { display: grid; gap: 10px; }
.cq-achievement {
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 12px;
  border-radius: 16px;
  background: #f8f8f8;
  border: 1px solid rgba(0,0,0,.1);
}
.cq-achievement.cq-unlocked { background: #fff9da; border-color: var(--cq-accent); }
.cq-achievement.cq-locked { opacity: .48; filter: grayscale(1); }
.cq-badge { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 12px; color: var(--cq-accent); background: #111; font-size: 19px; }
.cq-achievement strong { display: block; font-size: 13px; }
.cq-achievement small { display: block; margin-top: 4px; color: var(--cq-muted); }
.cq-tips { color: var(--cq-muted); font-size: 13px; line-height: 1.55; }
.cq-tips strong { color: #111; }

.cq-track-view { display: grid; gap: 16px; }
.cq-track-header {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
}
.cq-track-title h2 { margin: 0; font-size: clamp(26px, 4vw, 40px); letter-spacing: -.04em; }
.cq-track-title p { margin: 5px 0 0; color: var(--cq-muted); }
.cq-track-summary { text-align: right; }
.cq-track-summary strong { display: block; font-size: 22px; }
.cq-track-summary span { color: var(--cq-muted); font-size: 12px; }

.cq-track-layout { display: grid; grid-template-columns: 300px minmax(0,1fr); gap: 16px; align-items: start; }
.cq-lessons-panel { position: sticky; top: 14px; }
.cq-lesson-list { display: grid; gap: 8px; max-height: 72vh; overflow: auto; padding-right: 3px; }
.cq-lesson-item {
  width: 100%;
  display: grid;
  grid-template-columns: 42px minmax(0,1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 10px;
  text-align: left;
  color: #111;
  background: #f8f8f8;
  border: 1px solid var(--cq-border);
  border-radius: 15px;
  transition: .18s ease;
}
.cq-lesson-item:hover:not(.cq-locked) { transform: translateX(2px); border-color: #111; background: #fff; }
.cq-lesson-item.cq-selected { background: #fff8cf; border-color: #111; box-shadow: inset 4px 0 0 var(--cq-accent); }
.cq-lesson-item.cq-completed { border-color: rgba(20,132,71,.4); }
.cq-lesson-item.cq-locked { opacity: .5; cursor: not-allowed; }
.cq-lesson-number { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; color: var(--cq-accent); background: #111; font-weight: 950; }
.cq-lesson-item.cq-completed .cq-lesson-number { color: #fff; background: var(--cq-success); }
.cq-lesson-copy { min-width: 0; }
.cq-lesson-copy strong { display: block; font-size: 13px; line-height: 1.25; }
.cq-lesson-copy small { display: block; margin-top: 3px; color: var(--cq-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cq-lesson-state { font-size: 15px; }

.cq-stage-card { min-height: 560px; }
.cq-stage-head { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; margin-bottom: 14px; }
.cq-stage-head h3 { margin: 0; font-size: 23px; letter-spacing: -.03em; }
.cq-stage-head p { margin: 5px 0 0; color: var(--cq-muted); }
.cq-game-status { display: flex; gap: 7px; flex-wrap: wrap; justify-content: flex-end; }
.cq-pill { padding: 7px 10px; border-radius: 999px; background: #f4f4f4; border: 1px solid var(--cq-border); font-size: 12px; font-weight: 850; }
.cq-pill.cq-hearts { color: #c9213b; }
.cq-pill.cq-timer { color: #111; background: var(--cq-accent); }
.cq-pill.cq-warning { color: #fff; background: var(--cq-danger); }

.cq-lesson-content { display: grid; gap: 14px; }
.cq-lesson-block { padding: 16px; border-radius: 18px; background: #f8f8f8; border: 1px solid var(--cq-border); }
.cq-lesson-block h4 { margin: 0 0 8px; font-size: 18px; }
.cq-lesson-block p { margin: 0; color: var(--cq-muted); line-height: 1.65; }
.cq-lesson-tip { background: #fff8cf; border-color: var(--cq-accent); }
.cq-mini-staff { padding: 15px; border-radius: 16px; text-align: center; background: #fff; border: 1px solid #111; font-weight: 900; letter-spacing: .03em; }
.cq-lesson-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 4px; }

.cq-staff-stage {
  min-height: 350px;
  display: grid;
  place-items: center;
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  border: 5px solid #111;
  background: radial-gradient(circle at 50% 0%, rgba(245,196,0,.10), transparent 52%), #fff;
}
.cq-staff-stage svg { width: 100%; max-width: 680px; height: 330px; display: block; }
.cq-question { margin-top: 13px; text-align: center; color: var(--cq-muted); font-size: 14px; }
.cq-answer-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 8px; margin-top: 14px; }
.cq-answer-btn {
  min-height: 54px;
  padding: 9px;
  border-radius: 14px;
  border: 1px solid #111;
  color: #fff;
  background: #111;
  font-weight: 900;
  transition: .18s ease;
}
.cq-answer-btn:hover { transform: translateY(-1px); color: #111; background: var(--cq-accent); }
.cq-answer-btn.cq-correct { color: #fff; background: var(--cq-success); border-color: var(--cq-success); }
.cq-answer-btn.cq-wrong { color: #fff; background: var(--cq-danger); border-color: var(--cq-danger); }
.cq-answer-btn:disabled { cursor: default; transform: none; }
.cq-feedback { min-height: 28px; margin-top: 10px; text-align: center; font-weight: 900; }
.cq-feedback.cq-good { color: var(--cq-success); }
.cq-feedback.cq-bad { color: var(--cq-danger); }
.cq-response-progress { height: 7px; margin-top: 12px; border-radius: 999px; overflow: hidden; background: #e5e5e5; }
.cq-response-progress span { display: block; width: 100%; height: 100%; background: linear-gradient(90deg, var(--cq-accent), var(--cq-danger)); transform-origin: left center; }

.cq-results { display: grid; gap: 14px; text-align: center; place-items: center; padding: 22px 0; }
.cq-results-icon { width: 84px; height: 84px; display: grid; place-items: center; border-radius: 28px; color: var(--cq-accent); background: #111; font-size: 44px; }
.cq-results h3 { margin: 0; font-size: 30px; }
.cq-results p { margin: 0; max-width: 560px; color: var(--cq-muted); line-height: 1.6; }
.cq-result-stats { width: 100%; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; }
.cq-result-stat { padding: 14px; border-radius: 16px; background: #f7f7f7; border: 1px solid var(--cq-border); }
.cq-result-stat span { display: block; color: var(--cq-muted); font-size: 12px; }
.cq-result-stat strong { display: block; margin-top: 5px; font-size: 23px; }

.cq-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  place-items: center;
  padding: 16px;
  background: rgba(0,0,0,.72);
  backdrop-filter: blur(8px);
}
.cq-modal.cq-visible { display: grid; }
.cq-modal-box { width: min(520px,100%); max-height: 90vh; overflow: auto; padding: 22px; border-radius: 24px; background: #fff; border: 1px solid rgba(0,0,0,.2); box-shadow: var(--cq-shadow); }
.cq-modal-box h3 { margin: 0 0 7px; font-size: 26px; }
.cq-modal-box > p { margin: 0 0 18px; color: var(--cq-muted); line-height: 1.55; }
.cq-field { display: grid; gap: 7px; margin-bottom: 15px; }
.cq-field label { font-weight: 850; }
.cq-field select { min-height: 44px; padding: 8px 10px; border-radius: 12px; border: 1px solid var(--cq-border); background: #fff; }
.cq-switch-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 13px 0; border-top: 1px solid var(--cq-border); }
.cq-switch-row input { width: 20px; height: 20px; accent-color: var(--cq-accent); }
.cq-modal-actions { display: flex; justify-content: flex-end; gap: 9px; flex-wrap: wrap; margin-top: 20px; }

.cq-toast {
  position: fixed;
  left: 50%;
  bottom: 22px;
  z-index: 100000;
  max-width: calc(100% - 28px);
  padding: 12px 16px;
  border-radius: 14px;
  color: #111;
  background: var(--cq-accent);
  border: 1px solid #111;
  box-shadow: 0 16px 40px rgba(0,0,0,.2);
  font-weight: 850;
  text-align: center;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 24px);
  transition: .24s ease;
}
.cq-toast.cq-show { opacity: 1; transform: translate(-50%,0); }
.cq-confetti { position: fixed; top: -16px; width: 10px; height: 18px; z-index: 100001; border-radius: 3px; pointer-events: none; animation: cq-fall 1.8s linear forwards; }
@keyframes cq-fall { to { transform: translateY(110vh) rotate(720deg); opacity: .9; } }

.cq-empty { padding: 28px; text-align: center; color: var(--cq-muted); }
.cq-error { padding: 22px; border-radius: 18px; background: #fff0f2; border: 1px solid rgba(217,52,77,.3); color: #7e1425; }
.cq-hidden { display: none !important; }

@media (max-width: 980px) {
  .cq-dashboard { grid-template-columns: 1fr; }
  .cq-side-column { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .cq-side-column .cq-card:last-child { grid-column: 1 / -1; }
  .cq-track-layout { grid-template-columns: 250px minmax(0,1fr); }
  .cq-track-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .cq-app { width: 100%; padding: 10px 7px 34px; }
  .cq-topbar { grid-template-columns: 1fr; }
  .cq-top-actions { justify-content: flex-start; }
  .cq-hero-grid { grid-template-columns: 1fr; }
  .cq-hero-badge { display: none; }
  .cq-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .cq-track-layout { grid-template-columns: 1fr; }
  .cq-lessons-panel { position: static; }
  .cq-lesson-list { grid-auto-flow: column; grid-auto-columns: minmax(240px,80vw); overflow-x: auto; overflow-y: hidden; max-height: none; padding: 1px 1px 8px; scroll-snap-type: x mandatory; }
  .cq-lesson-item { scroll-snap-align: start; }
  .cq-track-header { grid-template-columns: auto 1fr; }
  .cq-track-summary { grid-column: 1 / -1; text-align: left; }
  .cq-stage-head { flex-direction: column; }
  .cq-game-status { justify-content: flex-start; }
  .cq-answer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .cq-stage-card { min-height: auto; }
}
@media (max-width: 520px) {
  .cq-card-inner { padding: 14px; }
  .cq-track-grid { grid-template-columns: minmax(0,1fr); width: 100%; min-width: 0; overflow: hidden; }
  .cq-track-card { width: 100%; max-width: 100%; min-width: 0; min-height: 150px; overflow: hidden; }
  .cq-track-card strong, .cq-track-card small { max-width: 100%; overflow-wrap: anywhere; word-break: normal; }
  .cq-track-footer { min-width: 0; flex-wrap: wrap; }
  .cq-track-footer > * { max-width: 100%; }
  .cq-track-status { white-space: normal; overflow-wrap: anywhere; }
  .cq-side-column { grid-template-columns: 1fr; }
  .cq-side-column .cq-card:last-child { grid-column: auto; }
  .cq-track-header { grid-template-columns: 1fr; }
  .cq-track-header .cq-small-btn { width: fit-content; }
  .cq-result-stats { grid-template-columns: 1fr; }
  .cq-staff-stage { min-height: 285px; border-width: 4px; }
  .cq-staff-stage svg { height: 270px; }
  .cq-brand p { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .cq-host *, .cq-host *::before, .cq-host *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; }
}

/* =========================================================
   CLAVE QUEST 2.0 — aplicação de tela única
   A página do WordPress não rola; cada módulo é renderizado no workspace.
   ========================================================= */
body.clave-quest-page { overflow: hidden !important; }
.clave-quest-page .cq-host {
  position: fixed !important;
  inset: 0 !important;
  z-index: 99990 !important;
  width: 100vw !important;
  height: 100dvh !important;
  margin: 0 !important;
  background: #f4f4f1;
  overflow: hidden !important;
}
body.admin-bar.clave-quest-page .cq-host { top: 32px !important; height: calc(100dvh - 32px) !important; }
.clave-quest-page .cq-app {
  --cq-app-bg: #f4f4f1;
  --cq-panel: #fff;
  --cq-ink: #111;
  --cq-muted: #4b4b4b;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  display: grid;
  grid-template-rows: 68px minmax(0, 1fr);
  padding: 0 !important;
  color: var(--cq-ink);
  background: var(--cq-app-bg);
  overflow: hidden;
}
.cq-app[data-theme="midnight"] { --cq-accent:#8edcff; --cq-app-bg:#12141b; --cq-panel:#20232d; --cq-ink:#f6f7fb; --cq-muted:#c8ceda; --cq-border:rgba(255,255,255,.18); }
.cq-app[data-theme="ocean"] { --cq-accent:#35b7d3; --cq-app-bg:#eaf8fb; --cq-panel:#fff; --cq-ink:#10242a; }
.cq-app[data-theme="forest"] { --cq-accent:#55c789; --cq-app-bg:#eaf6ef; --cq-panel:#fff; --cq-ink:#10251a; }
.cq-app[data-theme="violet"] { --cq-accent:#9a7cff; --cq-app-bg:#f1edff; --cq-panel:#fff; --cq-ink:#211a38; }
.cq-app[data-theme="coral"] { --cq-accent:#ff796b; --cq-app-bg:#fff0ed; --cq-panel:#fff; --cq-ink:#321915; }
.cq-app[data-environment="stage"] .cq-workspace { background-image:radial-gradient(circle at 20% 0, color-mix(in srgb,var(--cq-accent) 25%,transparent),transparent 35%),radial-gradient(circle at 80% 0,rgba(214,52,89,.14),transparent 32%); }
.cq-app[data-environment="library"] .cq-workspace { background-image:repeating-linear-gradient(90deg,rgba(92,62,31,.035) 0,rgba(92,62,31,.035) 1px,transparent 1px,transparent 28px); }
.cq-app[data-environment="space"] .cq-workspace { background-image:radial-gradient(circle at 10% 20%,rgba(255,255,255,.7) 0 1px,transparent 2px),radial-gradient(circle at 80% 40%,rgba(154,124,255,.18),transparent 28%),radial-gradient(circle at 40% 80%,rgba(53,183,211,.15),transparent 25%); background-size:130px 130px,auto,auto; }
.cq-app[data-environment="neon"] .cq-workspace { background-image:linear-gradient(rgba(154,124,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(53,183,211,.08) 1px,transparent 1px); background-size:34px 34px; }
.cq-app[data-frame="gold"] .cq-hero,.cq-app[data-frame="gold"] .cq-profile-preview { box-shadow:inset 0 0 0 3px #d9a800,0 18px 55px rgba(217,168,0,.22); }
.cq-app[data-frame="flame"] .cq-hero,.cq-app[data-frame="flame"] .cq-profile-preview { box-shadow:inset 0 0 0 3px #ff6a35,0 18px 55px rgba(255,70,30,.25); }
.cq-app[data-frame="galaxy"] .cq-hero,.cq-app[data-frame="galaxy"] .cq-profile-preview { box-shadow:inset 0 0 0 3px #9a7cff,0 18px 55px rgba(90,65,210,.3); }
.cq-app[data-theme="midnight"] .cq-card,
.cq-app[data-theme="midnight"] .cq-stat,
.cq-app[data-theme="midnight"] .cq-quest,
.cq-app[data-theme="midnight"] .cq-achievement,
.cq-app[data-theme="midnight"] .cq-store-item,
.cq-app[data-theme="midnight"] .cq-sticker,
.cq-app[data-theme="midnight"] .cq-owned-grid button { color:var(--cq-ink); background:var(--cq-panel); }
.cq-app[data-theme="midnight"] .cq-secondary-btn,.cq-app[data-theme="midnight"] .cq-icon-btn,.cq-app[data-theme="midnight"] .cq-small-btn { color:var(--cq-ink); background:#272b36; }

.clave-quest-page .cq-topbar {
  position: relative;
  z-index: 20;
  height: 68px;
  display: grid;
  grid-template-columns: 210px minmax(0,1fr) auto;
  align-items: center;
  gap: 18px;
  margin: 0;
  padding: 8px clamp(12px,2vw,28px);
  color: var(--cq-ink);
  background: color-mix(in srgb,var(--cq-panel) 94%,transparent);
  border-bottom: 1px solid var(--cq-border);
  box-shadow: 0 5px 20px rgba(0,0,0,.05);
}
.clave-quest-page .cq-brand-mark { width:44px;height:44px;border-radius:14px;font-size:25px; }
.clave-quest-page .cq-brand h1 { font-size:20px; }
.clave-quest-page .cq-brand p { margin-top:2px; color:var(--cq-accent); font-weight:900; text-transform:uppercase; letter-spacing:.1em; font-size:9px; }
.cq-main-nav { height: 50px; display:flex;align-items:center;justify-content:center;gap:5px; }
.cq-main-nav button { min-width:72px;height:48px;display:grid;place-items:center;align-content:center;gap:2px;border:0;border-radius:13px;color:var(--cq-muted);background:transparent;font-weight:850; }
.cq-main-nav button span { font-size:18px;line-height:1; }
.cq-main-nav button small { font-size:10px; }
.cq-main-nav button:hover,.cq-main-nav button.cq-active { color:var(--cq-ink);background:color-mix(in srgb,var(--cq-accent) 28%,transparent); }
.clave-quest-page .cq-top-actions { align-items:center; flex-wrap:nowrap; }
.cq-wallet { min-width:100px;height:46px;display:grid;grid-template-columns:auto auto;grid-template-rows:1fr 1fr;align-items:center;column-gap:7px;padding:6px 12px;border-radius:14px;color:#111;background:var(--cq-accent); }
.cq-wallet b { grid-row:1/-1;font-size:21px; }.cq-wallet strong{align-self:end;line-height:1;font-size:15px}.cq-wallet small{align-self:start;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}
.clave-quest-page .cq-icon-btn { width:46px;min-height:46px;padding:0;font-size:18px; }
.cq-exit-link{width:46px;height:46px;display:grid;place-items:center;align-content:center;gap:0;border:1px solid var(--cq-border);border-radius:14px;color:var(--cq-ink);background:var(--cq-panel);text-decoration:none;font-weight:900}.cq-exit-link small{font-size:8px}.cq-logout-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.cq-workspace { min-width:0;min-height:0;padding:14px clamp(12px,2vw,28px) 18px;overflow:hidden;background-color:var(--cq-app-bg); }
.clave-quest-page .cq-view { width:100%;height:100%;min-height:0;overflow:hidden; }
.clave-quest-page .cq-card { color:var(--cq-ink);background:var(--cq-panel); }
.clave-quest-page .cq-card.cq-hero {
  color:#fff !important;
  background:
    radial-gradient(circle at 82% 20%,color-mix(in srgb,var(--cq-accent) 24%,transparent),transparent 29%),
    repeating-linear-gradient(-12deg,transparent 0,transparent 24px,rgba(255,255,255,.03) 25px,transparent 26px),
    linear-gradient(135deg,#080808 0%,#242424 100%) !important;
  border-color:#111;
}
.clave-quest-page .cq-card.cq-hero h2 { color:#fff !important; }
.clave-quest-page .cq-card.cq-hero p { color:#e7e7e7 !important; font-weight:500; }
.clave-quest-page .cq-card.cq-hero .cq-eyebrow { color:#111 !important; }
.clave-quest-page .cq-card.cq-hero .cq-secondary-btn { color:#fff !important; border-color:rgba(255,255,255,.62); }
.clave-quest-page .cq-card.cq-hero .cq-secondary-btn:hover { color:#111 !important; }
.clave-quest-page .cq-stat-label,
.clave-quest-page .cq-xp-meta,
.clave-quest-page .cq-section-title p,
.clave-quest-page .cq-track-card small,
.clave-quest-page .cq-quest small,
.clave-quest-page .cq-achievement small,
.clave-quest-page .cq-store-item p,
.clave-quest-page .cq-home-action small { color:var(--cq-muted); }

.cq-home-grid { width:min(1440px,100%);height:100%;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(310px,.75fr);grid-template-rows:minmax(0,1fr) auto auto auto;gap:12px; }
.cq-home-hero { grid-row:1/-1;min-height:0; }
.cq-home-hero .cq-card-inner { height:100%; }
.cq-home-stats .cq-card-inner { padding:14px; }
.cq-home-stats .cq-stats { grid-template-columns:repeat(2,minmax(0,1fr));gap:7px; }
.cq-home-stats .cq-stat { padding:10px; }.cq-home-stats .cq-stat strong{font-size:18px}.cq-home-stats .cq-xp-wrap{margin-top:8px}
.cq-home-action { width:100%;min-height:72px;display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:11px;padding:11px 13px;text-align:left;border:1px solid var(--cq-border); }
.cq-home-action:hover { transform:translateY(-1px);border-color:var(--cq-ink); }
.cq-home-action-icon { width:44px;height:44px;display:grid;place-items:center;border-radius:13px;color:#111;background:var(--cq-accent);font-size:22px; }
.cq-home-action span:nth-child(2){display:grid;gap:3px;min-width:0}.cq-home-action b{font-size:14px}.cq-home-action small{color:var(--cq-muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cq-home-action>strong{font-size:11px}

.cq-module-view { width:min(1440px,100%);margin:0 auto;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:11px; }
.cq-module-head { min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:18px; }
.cq-module-head h2 { margin:6px 0 2px;font-size:clamp(25px,3vw,38px);line-height:1;letter-spacing:-.04em; }
.cq-module-head p { margin:0;color:var(--cq-muted);font-size:12px; }
.cq-special-actions { display:flex;gap:8px; }
.cq-subnav { min-height:42px;display:flex;align-items:center;gap:7px;overflow:hidden; }
.cq-subnav button { min-height:38px;padding:7px 14px;border:1px solid var(--cq-border);border-radius:12px;color:var(--cq-ink);background:var(--cq-panel);font-size:12px;font-weight:850;white-space:nowrap; }
.cq-subnav button.cq-active { color:#111;background:var(--cq-accent);border-color:var(--cq-ink); }
.cq-module-card { min-height:0;overflow:hidden; }.cq-module-card>.cq-card-inner{height:100%;padding:16px;}
.cq-module-card .cq-quest-list { height:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-content:stretch; }
.cq-module-card .cq-quest { display:flex;flex-direction:column;min-height:0;padding:17px; }
.cq-module-card .cq-quest small{font-size:12px}.cq-module-card .cq-mini-progress{margin-top:auto}.cq-quest-reward{margin:12px 0 7px;font-size:11px;font-weight:900;color:var(--cq-muted)}
.cq-achievement-grid { height:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-content:center; }

.cq-track-hub-grid { min-height:0;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:11px; }
.cq-track-hub-grid .cq-track-card { min-height:0;height:100%;padding:13px; }
.cq-track-hub-grid .cq-track-icon { width:40px;height:40px;margin-bottom:8px; }
.cq-track-hub-grid .cq-track-card small { min-height:0;font-size:11px; }
.cq-track-hub-grid .cq-track-footer { margin-top:7px; }

.cq-balance-card { min-width:150px;padding:10px 16px;border-radius:15px;color:#111;background:var(--cq-accent);display:grid;gap:2px; }.cq-balance-card span{font-size:10px;text-transform:uppercase;font-weight:850}.cq-balance-card strong{font-size:21px}
.cq-store-grid { min-height:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:11px; }
.cq-store-item { min-height:0;padding:14px;display:grid;grid-template-columns:72px 1fr;grid-template-rows:1fr auto;gap:10px 14px; }
.cq-store-art { grid-row:1/-1;width:72px;min-height:100%;display:grid;place-items:center;align-content:center;gap:7px;border-radius:17px;color:#111;background:color-mix(in srgb,var(--cq-swatch) 42%,#fff);font-size:31px; }.cq-store-art b{padding:3px 7px;border-radius:999px;background:#111;color:#fff;font-size:10px}
.cq-store-item h3{margin:0 0 4px;font-size:16px}.cq-store-item p{margin:0;color:var(--cq-muted);font-size:11px;line-height:1.35}.cq-store-footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.cq-store-footer small{color:var(--cq-muted);font-size:10px}.cq-store-footer button{min-height:34px;padding:6px 11px;border-radius:10px;font-size:11px;font-weight:900}

.cq-pack-button { min-width:175px;display:grid;grid-template-columns:46px 1fr;grid-template-rows:1fr 1fr;padding:8px 13px;text-align:left;border:1px solid #111;border-radius:16px;color:#111;background:var(--cq-accent); }.cq-pack-button>span{grid-row:1/-1;font-size:31px;align-self:center}.cq-pack-button b{align-self:end}.cq-pack-button small{align-self:start;font-size:10px}.cq-pack-button:disabled{opacity:.45}
.cq-album-tabs { justify-content:center; }
.cq-album-page { min-height:0;padding:15px;display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;background:linear-gradient(135deg,var(--cq-panel),color-mix(in srgb,var(--cq-accent) 12%,var(--cq-panel))); }
.cq-album-title{display:flex;align-items:center;justify-content:space-between;gap:15px}.cq-album-title h3{margin:0;font-size:20px}.cq-album-title p{margin:2px 0 0;color:var(--cq-muted);font-size:11px}.cq-album-title>strong{font-size:20px}
.cq-sticker-grid { min-height:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:10px; }
.cq-sticker { min-height:0;display:grid;place-items:center;align-content:center;gap:4px;padding:8px;border:2px dashed var(--cq-border);border-radius:17px;color:var(--cq-ink);background:color-mix(in srgb,var(--cq-panel) 85%,transparent); }.cq-sticker>span{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;color:#111;background:var(--cq-accent);font-size:31px}.cq-sticker b{font-size:12px}.cq-sticker small{color:var(--cq-muted);font-size:9px}.cq-sticker.cq-locked{filter:grayscale(1);opacity:.42}.cq-sticker.cq-featured{border-style:solid;border-color:var(--cq-accent);box-shadow:inset 0 0 0 2px var(--cq-accent)}

.cq-collection-layout { min-height:0;display:grid;grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);gap:12px; }
.cq-profile-preview { min-height:0;padding:16px;display:grid;place-items:center;background:linear-gradient(145deg,#111,#252525); }
.cq-preview-frame { width:min(320px,90%);aspect-ratio:1/1;display:grid;place-items:center;align-content:center;gap:6px;position:relative;border:2px solid var(--cq-accent);border-radius:34px;color:#fff;background:radial-gradient(circle at 50% 25%,color-mix(in srgb,var(--cq-accent) 30%,transparent),transparent 40%); }.cq-preview-level{position:absolute;top:15px;right:15px;width:43px;height:43px;display:grid;place-items:center;border-radius:14px;color:#111;background:var(--cq-accent);font-size:19px;font-weight:950}.cq-preview-sticker{font-size:70px}.cq-preview-frame h3{margin:5px 0 0;font-size:24px}.cq-preview-frame p{margin:0;color:#ccc;font-size:11px}.cq-preview-tags{display:flex;gap:6px;margin-top:8px}.cq-preview-tags span{padding:5px 8px;border-radius:999px;color:#111;background:var(--cq-accent);font-size:9px;font-weight:850}
.cq-owned-panel { min-height:0;overflow:hidden; }.cq-owned-panel>.cq-card-inner{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr)}
.cq-owned-grid { min-height:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(70px,1fr);gap:8px; }
.cq-owned-grid button { min-height:0;display:grid;grid-template-columns:38px 1fr;grid-template-rows:1fr 1fr;align-items:center;column-gap:8px;padding:8px;text-align:left;border:1px solid var(--cq-border);border-radius:13px;color:var(--cq-ink);background:#f7f7f7; }.cq-owned-grid button>span{grid-row:1/-1;font-size:24px}.cq-owned-grid b{align-self:end;font-size:11px}.cq-owned-grid small{align-self:start;color:var(--cq-muted);font-size:9px}.cq-owned-grid button.cq-active{border-color:var(--cq-ink);background:color-mix(in srgb,var(--cq-accent) 27%,var(--cq-panel))}

.clave-quest-page .cq-track-view { display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px; }
.clave-quest-page .cq-track-view>.cq-card>.cq-card-inner { padding:11px 14px; }
.clave-quest-page .cq-track-header { min-height:68px;grid-template-columns:auto 1fr auto; }
.clave-quest-page .cq-track-title{display:flex;align-items:center;gap:10px;min-width:0}.clave-quest-page .cq-track-title h2{font-size:22px;white-space:nowrap}.clave-quest-page .cq-track-title p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px}.clave-quest-page .cq-track-title .cq-eyebrow{font-size:9px;white-space:nowrap}.clave-quest-page .cq-track-summary strong{font-size:18px}
.clave-quest-page .cq-track-layout { min-height:0;height:100%;grid-template-columns:300px minmax(0,1fr);gap:10px; }
.clave-quest-page .cq-lessons-panel { position:static;min-height:0;overflow:hidden; }.clave-quest-page .cq-lessons-panel>.cq-card-inner{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:12px}.clave-quest-page .cq-lessons-panel .cq-section-title{margin-bottom:7px}.clave-quest-page .cq-lessons-panel .cq-section-title h3{font-size:15px}.clave-quest-page .cq-lessons-panel .cq-section-title p{font-size:9px}
.clave-quest-page .cq-lesson-list { min-height:0;max-height:none;display:grid;grid-template-rows:repeat(5,minmax(0,1fr));gap:6px;overflow:hidden;padding:0; }
.clave-quest-page .cq-lesson-item { min-height:0;padding:7px;grid-template-columns:34px minmax(0,1fr) auto;gap:7px;border-radius:11px; }.clave-quest-page .cq-lesson-number{width:31px;height:31px;border-radius:9px;font-size:11px}.clave-quest-page .cq-lesson-copy strong{font-size:11px}.clave-quest-page .cq-lesson-copy small{font-size:9px}.cq-lesson-pages{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:7px}.cq-lesson-pages button{min-height:31px;border:1px solid var(--cq-border);border-radius:9px;color:var(--cq-ink);background:var(--cq-panel);font-size:10px;font-weight:900}.cq-lesson-pages button.cq-active{color:#111;background:var(--cq-accent);border-color:var(--cq-ink)}
.clave-quest-page .cq-stage-card { min-height:0;height:100%; }.clave-quest-page .cq-stage-card>.cq-card-inner{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr);padding:13px}.clave-quest-page .cq-stage-head{margin-bottom:7px}.clave-quest-page .cq-stage-head h3{font-size:18px}.clave-quest-page .cq-stage-head p{font-size:10px}.clave-quest-page #cq-stage-content{min-height:0;display:grid;align-content:center}.clave-quest-page .cq-staff-stage{min-height:clamp(260px,38vh,350px)}.clave-quest-page .cq-answer-btn{min-height:44px}.clave-quest-page .cq-results{padding:8px 0}.clave-quest-page .cq-results-icon{width:62px;height:62px;font-size:32px}.clave-quest-page .cq-results h3{font-size:22px}.clave-quest-page .cq-result-stat{padding:9px}.clave-quest-page .cq-result-stat strong{font-size:17px}
.cq-boost-bar{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:7px}.cq-boost-bar button,.cq-boost-bar span{padding:6px 9px;border:1px solid var(--cq-border);border-radius:10px;color:var(--cq-ink);background:var(--cq-panel);font-size:10px;font-weight:850}

@media (max-height: 780px) and (min-width: 761px) {
  .clave-quest-page .cq-app{grid-template-rows:60px minmax(0,1fr)}
  .clave-quest-page .cq-topbar{height:60px;padding-top:5px;padding-bottom:5px}.cq-main-nav{height:46px}.cq-main-nav button{height:43px}.cq-workspace{padding-top:9px;padding-bottom:9px}
  .cq-module-head{min-height:67px}.cq-module-head h2{font-size:27px}.cq-module-head p{display:none}.cq-track-hub-grid .cq-track-icon{width:34px;height:34px}.cq-track-hub-grid .cq-track-card{padding:10px}.cq-track-hub-grid .cq-track-card small{line-height:1.25}.cq-store-item{padding:10px}.cq-sticker>span{width:44px;height:44px;font-size:24px}
  .clave-quest-page .cq-track-header{min-height:55px}.clave-quest-page .cq-staff-stage{min-height:235px}.clave-quest-page .cq-staff-stage svg{height:220px}.clave-quest-page .cq-answer-btn{min-height:38px}.clave-quest-page .cq-stage-head p{display:none}
}

@media (max-width: 900px) {
  .clave-quest-page .cq-topbar{grid-template-columns:165px minmax(0,1fr) auto;gap:7px;padding-left:10px;padding-right:10px}.cq-main-nav button{min-width:56px}.cq-main-nav button small{font-size:9px}.cq-wallet{min-width:88px}
  .cq-home-grid{grid-template-columns:minmax(0,1.25fr) minmax(270px,.75fr)}
  .cq-track-hub-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr))}.cq-store-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr))}.cq-module-card .cq-quest-list,.cq-achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width: 760px) {
  body.admin-bar.clave-quest-page .cq-host{top:46px!important;height:calc(100dvh - 46px)!important}
  .clave-quest-page .cq-app{grid-template-rows:56px minmax(0,1fr)}
  .clave-quest-page .cq-topbar{height:56px;grid-template-columns:1fr auto;padding:6px 9px}.clave-quest-page .cq-brand-mark{width:38px;height:38px}.clave-quest-page .cq-brand h1{font-size:17px}.cq-wallet{height:40px;min-width:72px;padding:5px 7px}.cq-wallet small{display:block}.clave-quest-page .cq-icon-btn,.cq-exit-link{width:40px;height:40px;min-height:40px}.cq-exit-link small{display:none}.cq-main-nav{position:fixed;left:0;right:0;bottom:0;z-index:99993;height:62px;padding:5px 7px;background:var(--cq-panel);border-top:1px solid var(--cq-border);justify-content:space-around}.cq-main-nav button{min-width:0;width:16.66%;height:51px;padding:2px}.cq-main-nav button span{font-size:17px}.cq-main-nav button small{font-size:8px}.cq-workspace{padding:8px 8px 70px}
  .cq-home-grid{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto auto;gap:7px}.cq-home-hero{grid-row:auto;min-height:0}.cq-home-hero .cq-hero-grid{height:100%;display:flex}.cq-home-hero .cq-hero-badge{display:none}.cq-home-hero h2{font-size:clamp(23px,8vw,36px);margin:8px 0 5px}.cq-home-hero p{font-size:10px}.cq-home-hero .cq-card-inner{padding:13px}.cq-home-stats{display:none}.cq-home-action{min-height:53px;padding:6px 9px}.cq-home-action-icon{width:36px;height:36px}.cq-home-action:nth-of-type(4){display:none}
  .cq-module-view{gap:7px}.cq-module-head{min-height:64px}.cq-module-head h2{font-size:23px;margin-top:4px}.cq-module-head p{font-size:9px}.cq-module-head .cq-eyebrow{font-size:8px;padding:5px 8px}.cq-special-actions{display:none}.cq-balance-card{min-width:100px;padding:7px 10px}.cq-balance-card strong{font-size:16px}.cq-subnav{min-height:35px;overflow-x:auto}.cq-subnav button{min-height:32px;padding:5px 9px;font-size:10px}.cq-track-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));gap:6px}.cq-track-hub-grid .cq-track-card{padding:7px;display:grid;grid-template-columns:32px 1fr;grid-template-rows:auto auto 1fr auto;column-gap:7px}.cq-track-hub-grid .cq-track-icon{grid-row:1/3;width:31px;height:31px;margin:0;font-size:16px}.cq-track-hub-grid .cq-track-card strong{font-size:11px;margin:0}.cq-track-hub-grid .cq-track-card small{font-size:8px;line-height:1.15;min-height:0}.cq-track-hub-grid .cq-mini-progress{grid-column:1/-1;height:5px;margin-top:3px}.cq-track-hub-grid .cq-track-footer{grid-column:1/-1;margin:2px 0 0;font-size:8px}.cq-track-hub-grid .cq-track-status{padding:3px 5px}
  .cq-store-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:6px}.cq-store-item{grid-template-columns:45px 1fr;padding:7px;gap:5px}.cq-store-art{width:45px;border-radius:12px;font-size:22px}.cq-store-item h3{font-size:11px}.cq-store-item p{font-size:8px;line-height:1.2}.cq-store-footer small{display:none}.cq-store-footer button{min-height:28px;padding:4px 7px;font-size:9px}
  .cq-pack-button{min-width:128px;grid-template-columns:34px 1fr;padding:5px 7px}.cq-pack-button>span{font-size:23px}.cq-pack-button b{font-size:10px}.cq-pack-button small{font-size:8px}.cq-album-tabs{justify-content:flex-start}.cq-album-page{padding:8px}.cq-sticker-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));gap:5px}.cq-sticker{display:grid;grid-template-columns:40px 1fr;grid-template-rows:1fr 1fr;text-align:left;padding:4px}.cq-sticker>span{grid-row:1/-1;width:36px;height:36px;border-radius:10px;font-size:20px}.cq-sticker b{font-size:9px}.cq-sticker small{font-size:7px}
  .cq-collection-layout{grid-template-columns:1fr;grid-template-rows:minmax(150px,.75fr) minmax(0,1.25fr);gap:7px}.cq-profile-preview{padding:6px}.cq-preview-frame{height:100%;width:min(280px,90%);aspect-ratio:auto;border-radius:20px}.cq-preview-sticker{font-size:38px}.cq-preview-frame h3{font-size:16px}.cq-preview-level{width:34px;height:34px;font-size:14px}.cq-owned-panel>.cq-card-inner{padding:8px}.cq-owned-panel .cq-section-title{margin-bottom:5px}.cq-owned-panel .cq-section-title p{display:none}.cq-owned-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.cq-owned-grid button{min-height:44px;padding:4px;grid-template-columns:26px 1fr}.cq-owned-grid button>span{font-size:18px}.cq-owned-grid b{font-size:8px}.cq-owned-grid small{font-size:7px}
  .clave-quest-page .cq-track-view{grid-template-rows:auto minmax(0,1fr);gap:6px}.clave-quest-page .cq-track-view>.cq-card>.cq-card-inner{padding:6px 8px}.clave-quest-page .cq-track-header{min-height:44px;grid-template-columns:auto 1fr auto;gap:5px}.clave-quest-page .cq-track-title .cq-eyebrow,.clave-quest-page .cq-track-title p{display:none}.clave-quest-page .cq-track-title h2{font-size:15px}.clave-quest-page .cq-track-summary strong{font-size:13px}.clave-quest-page .cq-track-summary span{display:none}.clave-quest-page .cq-track-layout{grid-template-columns:1fr;grid-template-rows:100px minmax(0,1fr);gap:6px}.clave-quest-page .cq-lessons-panel>.cq-card-inner{padding:5px;grid-template-columns:auto 1fr;grid-template-rows:1fr auto;gap:4px}.clave-quest-page .cq-lessons-panel .cq-section-title{display:none}.clave-quest-page .cq-lesson-list{grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:1fr;gap:3px}.clave-quest-page .cq-lesson-item{display:grid;grid-template-columns:1fr;padding:3px;place-items:center;text-align:center}.clave-quest-page .cq-lesson-number{width:27px;height:27px}.clave-quest-page .cq-lesson-copy small,.clave-quest-page .cq-lesson-state{display:none}.clave-quest-page .cq-lesson-copy strong{font-size:7px;line-height:1.05}.cq-lesson-pages{grid-row:2;grid-column:1/-1;margin:0;grid-template-columns:repeat(4,1fr)}.cq-lesson-pages button{min-height:20px}.clave-quest-page .cq-stage-card>.cq-card-inner{padding:7px}.clave-quest-page .cq-stage-head{margin-bottom:3px}.clave-quest-page .cq-stage-head h3{font-size:13px}.clave-quest-page .cq-stage-head p{display:none}.clave-quest-page .cq-pill{padding:4px 6px;font-size:8px}.clave-quest-page .cq-staff-stage{min-height:210px;border-width:3px}.clave-quest-page .cq-staff-stage svg{height:195px}.clave-quest-page .cq-question{margin-top:5px;font-size:9px}.clave-quest-page .cq-answer-grid{margin-top:6px;gap:4px}.clave-quest-page .cq-answer-btn{min-height:34px;padding:4px;font-size:10px}.clave-quest-page .cq-feedback{min-height:17px;margin-top:3px;font-size:9px}.clave-quest-page .cq-response-progress{margin-top:4px;height:4px}.cq-boost-bar{margin-top:3px}.cq-boost-bar button,.cq-boost-bar span{padding:3px 5px;font-size:7px}.clave-quest-page .cq-results{gap:5px}.clave-quest-page .cq-results-icon{width:42px;height:42px;font-size:23px}.clave-quest-page .cq-results h3{font-size:15px}.clave-quest-page .cq-results p{font-size:9px}.clave-quest-page .cq-result-stats{gap:4px}.clave-quest-page .cq-result-stat{padding:5px}.clave-quest-page .cq-result-stat strong{font-size:12px}.clave-quest-page .cq-lesson-actions{margin-top:2px}.clave-quest-page .cq-lesson-actions button{min-height:30px;padding:4px 7px;font-size:9px}
}


/* =========================================================
   CLAVE QUEST 2.0.4 — correção da experiência de jogo mobile
   Mantém todas as quatro alternativas visíveis acima do menu inferior.
   ========================================================= */
@media (max-width: 760px) {
  /* O resumo não deve herdar a segunda linha do layout responsivo antigo. */
  .clave-quest-page .cq-track-summary {
    grid-column: auto !important;
    align-self: center;
    text-align: right !important;
  }

  /* Compacta apenas as áreas de navegação da lição, preservando o jogo. */
  .clave-quest-page .cq-track-layout {
    grid-template-rows: 88px minmax(0, 1fr);
  }
  .clave-quest-page .cq-lessons-panel > .cq-card-inner {
    grid-template-columns: 1fr;
    grid-template-rows: minmax(0, 1fr) 20px;
    gap: 3px;
    padding: 4px;
  }
  .clave-quest-page .cq-lesson-list {
    min-width: 0;
    overflow: hidden;
  }
  .clave-quest-page .cq-lesson-copy {
    width: 100%;
    min-width: 0;
    overflow: hidden;
  }
  .clave-quest-page .cq-lesson-copy strong {
    display: -webkit-box;
    max-width: 100%;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow-wrap: anywhere;
  }
  .clave-quest-page .cq-lesson-pages {
    grid-row: 2;
    grid-column: 1;
    height: 20px;
  }
  .clave-quest-page .cq-lesson-pages button {
    min-height: 20px;
    height: 20px;
    padding: 0;
  }

  /* A pauta usa altura fluida; o viewBox ampliado continua exibindo as notas extremas. */
  .clave-quest-page #cq-stage-content {
    align-content: start;
    overflow: hidden;
  }
  .clave-quest-page .cq-staff-stage {
    width: 100%;
    height: clamp(155px, 25dvh, 195px);
    min-height: 155px;
  }
  .clave-quest-page .cq-staff-stage svg {
    width: 100%;
    height: 100%;
    max-height: 190px;
  }

  /* Quatro respostas em uma única linha: nenhuma alternativa fica sob o menu. */
  .clave-quest-page .cq-answer-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 4px;
    margin-top: 5px;
  }
  .clave-quest-page .cq-answer-btn {
    min-width: 0;
    min-height: 40px;
    padding: 5px 3px;
    font-size: clamp(9px, 2.6vw, 11px);
    line-height: 1.12;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .clave-quest-page .cq-question {
    margin-top: 4px;
    font-size: 10px;
  }
  .clave-quest-page .cq-feedback {
    min-height: 16px;
    margin-top: 2px;
  }
}

@media (max-width: 390px), (max-width: 760px) and (max-height: 700px) {
  .clave-quest-page .cq-track-layout {
    grid-template-rows: 80px minmax(0, 1fr);
  }
  .clave-quest-page .cq-staff-stage {
    height: clamp(140px, 23dvh, 170px);
    min-height: 140px;
  }
  .clave-quest-page .cq-answer-btn {
    min-height: 36px;
    font-size: 9px;
  }
}


/* =========================================================
   CLAVE QUEST 2.0.4 — acessibilidade mobile 50+
   Tipografia legível, alto contraste e alvos de toque amplos,
   sem perder o funcionamento em tela única.
   ========================================================= */
@media (max-width: 760px) {
  .clave-quest-page .cq-app {
    --cq-muted: #3b3b3b;
    --cq-border: rgba(0, 0, 0, .24);
    font-size: 16px;
    line-height: 1.38;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }
  .clave-quest-page .cq-app[data-theme="midnight"] {
    --cq-muted: #e0e4ec;
    --cq-border: rgba(255, 255, 255, .30);
  }
  .clave-quest-page button,
  .clave-quest-page a,
  .clave-quest-page select,
  .clave-quest-page input {
    touch-action: manipulation;
    -webkit-tap-highlight-color: rgba(245, 196, 0, .28);
  }
  .clave-quest-page button:focus-visible,
  .clave-quest-page a:focus-visible,
  .clave-quest-page select:focus-visible,
  .clave-quest-page input:focus-visible {
    outline: 3px solid #005fcc;
    outline-offset: 2px;
  }

  /* Cabeçalho: identidade e controles fáceis de enxergar e tocar. */
  .clave-quest-page .cq-app { grid-template-rows: 64px minmax(0, 1fr); }
  .clave-quest-page .cq-topbar {
    height: 64px;
    padding: 7px 10px;
    gap: 8px;
    border-bottom-width: 2px;
  }
  .clave-quest-page .cq-brand { gap: 9px; }
  .clave-quest-page .cq-brand-mark {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    font-size: 26px;
  }
  .clave-quest-page .cq-brand h1 { font-size: 19px; line-height: 1.05; }
  .clave-quest-page .cq-brand p { display: none; }
  .clave-quest-page .cq-top-actions { gap: 6px; }
  .clave-quest-page .cq-wallet {
    min-width: 78px;
    height: 46px;
    padding: 5px 8px;
    border: 2px solid rgba(0,0,0,.10);
  }
  .clave-quest-page .cq-wallet b { font-size: 22px; }
  .clave-quest-page .cq-wallet strong { font-size: 17px; }
  .clave-quest-page .cq-wallet small { font-size: 10px; letter-spacing: .04em; }
  .clave-quest-page .cq-icon-btn,
  .clave-quest-page .cq-exit-link {
    width: 46px;
    height: 46px;
    min-height: 46px;
    border-width: 2px;
    border-radius: 14px;
    font-size: 22px;
  }

  /* Navegação inferior: 76 px + safe area, com rótulos de 11 px. */
  .clave-quest-page .cq-main-nav {
    height: calc(76px + env(safe-area-inset-bottom));
    padding: 5px 5px calc(5px + env(safe-area-inset-bottom));
    border-top: 2px solid var(--cq-border);
    box-shadow: 0 -7px 20px rgba(0,0,0,.10);
  }
  .clave-quest-page .cq-main-nav button {
    width: 16.66%;
    height: 64px;
    min-height: 56px;
    padding: 4px 1px;
    gap: 4px;
    border-radius: 14px;
    color: var(--cq-ink);
  }
  .clave-quest-page .cq-main-nav button span { font-size: 24px; }
  .clave-quest-page .cq-main-nav button small {
    font-size: clamp(10px, 2.9vw, 12px);
    line-height: 1;
    font-weight: 900;
  }
  .clave-quest-page .cq-main-nav button.cq-active {
    color: #111;
    background: var(--cq-accent);
    box-shadow: inset 0 0 0 2px #111;
  }
  .clave-quest-page .cq-workspace {
    padding: 9px 9px calc(84px + env(safe-area-inset-bottom));
  }

  /* Controles globais: tamanho mínimo confortável para toque. */
  .clave-quest-page .cq-primary-btn,
  .clave-quest-page .cq-secondary-btn,
  .clave-quest-page .cq-danger-btn,
  .clave-quest-page .cq-small-btn {
    min-height: 46px;
    padding: 9px 13px;
    border-width: 2px;
    border-radius: 13px;
    font-size: 15px;
    line-height: 1.15;
    font-weight: 900;
  }
  .clave-quest-page .cq-card { border-width: 1.5px; }

  /* Início: conteúdo essencial em letras maiores. */
  .clave-quest-page .cq-home-grid { gap: 8px; }
  .clave-quest-page .cq-home-hero .cq-card-inner { padding: 15px; }
  .clave-quest-page .cq-home-hero h2 {
    margin: 9px 0 7px;
    font-size: clamp(27px, 8.5vw, 38px);
    line-height: 1.03;
  }
  .clave-quest-page .cq-home-hero p {
    font-size: 14px;
    line-height: 1.42;
  }
  .clave-quest-page .cq-eyebrow {
    padding: 6px 10px;
    font-size: 11px;
    letter-spacing: .04em;
  }
  .clave-quest-page .cq-hero-actions { gap: 7px; margin-top: 12px; }
  .clave-quest-page .cq-home-action {
    min-height: 64px;
    grid-template-columns: 46px 1fr auto;
    gap: 10px;
    padding: 8px 10px;
    border-width: 2px;
  }
  .clave-quest-page .cq-home-action-icon {
    width: 44px;
    height: 44px;
    font-size: 24px;
  }
  .clave-quest-page .cq-home-action b { font-size: 15px; line-height: 1.15; }
  .clave-quest-page .cq-home-action small { font-size: 12px; line-height: 1.2; }
  .clave-quest-page .cq-home-action > strong { font-size: 12px; }

  /* Cabeçalhos e abas dos módulos. */
  .clave-quest-page .cq-module-view { gap: 8px; }
  .clave-quest-page .cq-module-head { min-height: 70px; gap: 10px; }
  .clave-quest-page .cq-module-head h2 {
    margin: 4px 0 2px;
    font-size: clamp(25px, 7vw, 31px);
    line-height: 1.05;
  }
  .clave-quest-page .cq-module-head p { font-size: 12px; line-height: 1.25; }
  .clave-quest-page .cq-module-head .cq-eyebrow { font-size: 10px; }
  .clave-quest-page .cq-balance-card {
    min-width: 106px;
    padding: 8px 10px;
    border: 2px solid rgba(0,0,0,.12);
  }
  .clave-quest-page .cq-balance-card span { font-size: 11px; }
  .clave-quest-page .cq-balance-card strong { font-size: 18px; }
  .clave-quest-page .cq-subnav {
    min-height: 44px;
    display: flex;
    flex-wrap: nowrap;
    gap: 5px;
    overflow: visible;
  }
  .clave-quest-page .cq-subnav button {
    flex: 1 1 0;
    min-width: 0;
    min-height: 42px;
    padding: 6px 4px;
    border-width: 2px;
    font-size: clamp(11px, 3.2vw, 13px);
    line-height: 1.08;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .clave-quest-page .cq-subnav button.cq-active {
    box-shadow: inset 0 0 0 1px #111;
  }

  /* Trilhas: oito cartões ainda cabem, mas sem textos microscópicos. */
  .clave-quest-page .cq-track-hub-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
    grid-template-rows: repeat(4, minmax(0,1fr));
    gap: 7px;
  }
  .clave-quest-page .cq-track-hub-grid .cq-track-card {
    padding: 9px;
    grid-template-columns: 38px 1fr;
    column-gap: 8px;
    border-width: 2px;
  }
  .clave-quest-page .cq-track-hub-grid .cq-track-icon {
    width: 38px;
    height: 38px;
    font-size: 21px;
  }
  .clave-quest-page .cq-track-hub-grid .cq-track-card strong {
    font-size: 13px;
    line-height: 1.15;
  }
  .clave-quest-page .cq-track-hub-grid .cq-track-card small {
    font-size: 10.5px;
    line-height: 1.22;
  }
  .clave-quest-page .cq-track-hub-grid .cq-track-footer { font-size: 10px; }
  .clave-quest-page .cq-track-hub-grid .cq-track-status { padding: 4px 6px; }

  /* Missões e conquistas. */
  .clave-quest-page .cq-module-card > .cq-card-inner { padding: 10px; }
  .clave-quest-page .cq-module-card .cq-quest-list,
  .clave-quest-page .cq-achievement-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 8px;
  }
  .clave-quest-page .cq-module-card .cq-quest { padding: 12px; }
  .clave-quest-page .cq-quest strong,
  .clave-quest-page .cq-achievement strong { font-size: 14px; line-height: 1.2; }
  .clave-quest-page .cq-module-card .cq-quest small,
  .clave-quest-page .cq-achievement small { font-size: 12px; line-height: 1.3; }
  .clave-quest-page .cq-quest-reward { font-size: 12px; }
  .clave-quest-page .cq-badge {
    width: 44px;
    height: 44px;
    font-size: 23px;
  }

  /* Loja: descrições e ações realmente legíveis. */
  .clave-quest-page .cq-store-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
    grid-template-rows: repeat(3, minmax(0,1fr));
    gap: 7px;
  }
  .clave-quest-page .cq-store-item {
    grid-template-columns: 52px 1fr;
    padding: 9px;
    gap: 7px;
    border-width: 2px;
  }
  .clave-quest-page .cq-store-art {
    width: 52px;
    border-radius: 14px;
    font-size: 26px;
  }
  .clave-quest-page .cq-store-art b { font-size: 11px; }
  .clave-quest-page .cq-store-item h3 { font-size: 14px; line-height: 1.15; }
  .clave-quest-page .cq-store-item p { font-size: 11.5px; line-height: 1.28; }
  .clave-quest-page .cq-store-footer button {
    min-height: 40px;
    padding: 6px 9px;
    border-width: 2px;
    font-size: 13px;
  }

  /* Álbum: figurinhas, nomes e estados ampliados. */
  .clave-quest-page .cq-pack-button {
    min-width: 145px;
    min-height: 48px;
    grid-template-columns: 40px 1fr;
    padding: 6px 9px;
  }
  .clave-quest-page .cq-pack-button > span { font-size: 27px; }
  .clave-quest-page .cq-pack-button b { font-size: 12px; }
  .clave-quest-page .cq-pack-button small { font-size: 10px; }
  .clave-quest-page .cq-album-page { padding: 10px; gap: 7px; }
  .clave-quest-page .cq-album-title h3 { font-size: 18px; }
  .clave-quest-page .cq-album-title p { font-size: 11px; }
  .clave-quest-page .cq-album-title > strong { font-size: 18px; }
  .clave-quest-page .cq-sticker-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
    grid-template-rows: repeat(4, minmax(0,1fr));
    gap: 6px;
  }
  .clave-quest-page .cq-sticker {
    grid-template-columns: 50px 1fr;
    padding: 6px;
    gap: 7px;
    border-width: 2px;
  }
  .clave-quest-page .cq-sticker > span {
    width: 46px;
    height: 46px;
    border-radius: 13px;
    font-size: 25px;
  }
  .clave-quest-page .cq-sticker b { font-size: 12px; line-height: 1.15; }
  .clave-quest-page .cq-sticker small { font-size: 10px; line-height: 1.15; }

  /* Coleção: itens equipáveis com textos e alvos maiores. */
  .clave-quest-page .cq-collection-layout {
    grid-template-rows: minmax(155px,.72fr) minmax(0,1.28fr);
    gap: 8px;
  }
  .clave-quest-page .cq-profile-preview { padding: 8px; }
  .clave-quest-page .cq-preview-frame h3 { font-size: 18px; }
  .clave-quest-page .cq-preview-level {
    width: 40px;
    height: 40px;
    font-size: 16px;
  }
  .clave-quest-page .cq-owned-panel > .cq-card-inner { padding: 9px; }
  .clave-quest-page .cq-owned-grid { gap: 6px; }
  .clave-quest-page .cq-owned-grid button {
    min-height: 52px;
    grid-template-columns: 34px 1fr;
    padding: 6px;
    border-width: 2px;
  }
  .clave-quest-page .cq-owned-grid button > span { font-size: 23px; }
  .clave-quest-page .cq-owned-grid b { font-size: 11px; }
  .clave-quest-page .cq-owned-grid small { font-size: 10px; }

  /* Tela da lição: quatro cartões maiores por página. */
  .clave-quest-page .cq-track-view { gap: 7px; }
  .clave-quest-page .cq-track-view > .cq-card > .cq-card-inner { padding: 7px 9px; }
  .clave-quest-page .cq-track-header {
    min-height: 54px;
    grid-template-columns: auto minmax(0,1fr) auto;
    gap: 7px;
  }
  .clave-quest-page .cq-track-header .cq-small-btn {
    min-height: 44px;
    padding: 7px 10px;
    font-size: 14px;
  }
  .clave-quest-page .cq-track-title h2 {
    font-size: clamp(17px, 4.8vw, 21px);
    line-height: 1.08;
  }
  .clave-quest-page .cq-track-summary strong { font-size: 15px; }
  .clave-quest-page .cq-track-layout {
    grid-template-rows: 112px minmax(0, 1fr);
    gap: 7px;
  }
  .clave-quest-page .cq-lessons-panel > .cq-card-inner {
    grid-template-rows: minmax(0,1fr) 32px;
    gap: 5px;
    padding: 6px;
  }
  .clave-quest-page .cq-lesson-list {
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 5px;
  }
  .clave-quest-page .cq-lesson-item {
    min-height: 66px;
    padding: 5px 3px;
    gap: 3px;
    border-width: 2px;
    border-radius: 12px;
  }
  .clave-quest-page .cq-lesson-number {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    font-size: 14px;
  }
  .clave-quest-page .cq-lesson-copy strong {
    font-size: clamp(10px, 2.8vw, 12px);
    line-height: 1.12;
  }
  .clave-quest-page .cq-lesson-pages {
    height: 32px;
    grid-template-columns: repeat(5, minmax(0,1fr));
    gap: 5px;
  }
  .clave-quest-page .cq-lesson-pages button {
    height: 32px;
    min-height: 32px;
    border-width: 2px;
    font-size: 13px;
  }

  /* Jogo: pauta preservada e respostas 2x2 com letras grandes. */
  .clave-quest-page .cq-stage-card > .cq-card-inner { padding: 8px; }
  .clave-quest-page .cq-stage-head { margin-bottom: 4px; gap: 7px; }
  .clave-quest-page .cq-stage-head h3 { font-size: 16px; line-height: 1.15; }
  .clave-quest-page .cq-pill {
    padding: 5px 8px;
    border-width: 1.5px;
    font-size: 11px;
  }
  .clave-quest-page #cq-stage-content { align-content: start; }
  .clave-quest-page .cq-staff-stage {
    height: clamp(148px, 24dvh, 205px);
    min-height: 148px;
    border-width: 3px;
    border-radius: 20px;
  }
  .clave-quest-page .cq-staff-stage svg {
    width: 100%;
    height: 100%;
    max-height: 202px;
  }
  .clave-quest-page .cq-question {
    margin-top: 6px;
    font-size: 14px;
    line-height: 1.2;
    font-weight: 700;
    color: var(--cq-ink);
  }
  .clave-quest-page .cq-answer-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 7px;
    margin-top: 7px;
  }
  .clave-quest-page .cq-answer-btn {
    min-height: 49px;
    padding: 8px 6px;
    border-width: 2px;
    border-radius: 14px;
    font-size: clamp(16px, 4.6vw, 19px);
    line-height: 1.1;
    font-weight: 900;
  }
  .clave-quest-page .cq-feedback {
    min-height: 20px;
    margin-top: 4px;
    font-size: 13px;
    line-height: 1.2;
    font-weight: 800;
  }
  .clave-quest-page .cq-response-progress {
    height: 6px;
    margin-top: 5px;
  }
  .clave-quest-page .cq-boost-bar { gap: 7px; margin-top: 5px; }
  .clave-quest-page .cq-boost-bar button,
  .clave-quest-page .cq-boost-bar span {
    min-height: 36px;
    padding: 5px 8px;
    border-width: 1.5px;
    font-size: 11px;
  }

  /* Aulas explicativas e resultados. */
  .clave-quest-page .cq-lesson-content { gap: 8px; }
  .clave-quest-page .cq-lesson-block { padding: 11px; }
  .clave-quest-page .cq-lesson-block h4 { font-size: 17px; }
  .clave-quest-page .cq-lesson-block p { font-size: 14px; line-height: 1.42; }
  .clave-quest-page .cq-mini-staff { font-size: 13px; line-height: 1.3; }
  .clave-quest-page .cq-lesson-actions button {
    min-height: 46px;
    font-size: 14px;
  }
  .clave-quest-page .cq-results { gap: 7px; }
  .clave-quest-page .cq-results-icon {
    width: 54px;
    height: 54px;
    font-size: 29px;
  }
  .clave-quest-page .cq-results h3 { font-size: 20px; }
  .clave-quest-page .cq-results p { font-size: 13px; line-height: 1.3; }
  .clave-quest-page .cq-result-stat span { font-size: 11px; }
  .clave-quest-page .cq-result-stat strong { font-size: 16px; }

  /* Configurações: formulário claro e confortável. */
  .clave-quest-page .cq-modal-box {
    width: min(94vw, 520px);
    max-height: calc(100dvh - 24px);
    padding: 20px;
    overflow-y: auto;
  }
  .clave-quest-page .cq-modal-box h3 { font-size: 26px; }
  .clave-quest-page .cq-modal-box p,
  .clave-quest-page .cq-modal-box label,
  .clave-quest-page .cq-switch-row strong { font-size: 15px; line-height: 1.4; }
  .clave-quest-page .cq-switch-row small { font-size: 13px; }
  .clave-quest-page .cq-field select { min-height: 48px; font-size: 16px; }
  .clave-quest-page .cq-modal-actions { gap: 8px; }
  .clave-quest-page .cq-modal-actions > * { min-height: 46px; font-size: 14px; }
}

/* Em aparelhos muito baixos, reduzimos espaços e pauta, nunca a fonte principal. */
@media (max-width: 760px) and (max-height: 680px) {
  .clave-quest-page .cq-app { grid-template-rows: 60px minmax(0,1fr); }
  .clave-quest-page .cq-topbar { height: 60px; padding-top: 6px; padding-bottom: 6px; }
  .clave-quest-page .cq-brand-mark { width: 42px; height: 42px; font-size: 24px; }
  .clave-quest-page .cq-brand h1 { font-size: 18px; }
  .clave-quest-page .cq-wallet { min-width: 72px; height: 42px; }
  .clave-quest-page .cq-icon-btn,
  .clave-quest-page .cq-exit-link { width: 42px; height: 42px; min-height: 42px; font-size: 20px; }
  .clave-quest-page .cq-main-nav {
    height: calc(70px + env(safe-area-inset-bottom));
    padding-bottom: calc(4px + env(safe-area-inset-bottom));
  }
  .clave-quest-page .cq-main-nav button { height: 58px; min-height: 54px; }
  .clave-quest-page .cq-main-nav button span { font-size: 22px; }
  .clave-quest-page .cq-main-nav button small { font-size: 10px; }
  .clave-quest-page .cq-workspace { padding: 6px 8px calc(78px + env(safe-area-inset-bottom)); }
  .clave-quest-page .cq-track-header { min-height: 50px; }
  .clave-quest-page .cq-track-layout { grid-template-rows: 88px minmax(0,1fr); }
  .clave-quest-page .cq-lessons-panel > .cq-card-inner { grid-template-rows: minmax(0,1fr) 27px; padding: 4px; gap: 3px; }
  .clave-quest-page .cq-lesson-pages,
  .clave-quest-page .cq-lesson-pages button { height: 27px; min-height: 27px; }
  .clave-quest-page .cq-lesson-item { min-height: 52px; padding-top: 3px; padding-bottom: 3px; }
  .clave-quest-page .cq-lesson-number { width: 31px; height: 31px; }
  .clave-quest-page .cq-staff-stage {
    height: clamp(122px, 19.5dvh, 145px);
    min-height: 122px;
  }
  .clave-quest-page .cq-answer-btn { min-height: 46px; padding-top: 6px; padding-bottom: 6px; font-size: 16px; }
  .clave-quest-page .cq-stage-head h3 { font-size: 15px; }
  .clave-quest-page .cq-module-head { min-height: 62px; }
  .clave-quest-page .cq-module-head p { display: none; }
}
