/*
  home2v2-delta.css  —  scope: .home-v2
  Serif for editorial content, Inter for chrome.
  v7
*/

/* ════════════════════════════════════════════════
   HEADER
   ════════════════════════════════════════════════ */

.home-v2 .brand-row {
  height: 4rem;
}
.home-v2 .brand-icon {
  width: 3.2rem;
  height: 3.2rem;
}
.home-v2 .brand-title .wm-d {
  opacity: 0.68;
}

/* ════════════════════════════════════════════════
   ES/EN — pill sin icono de globo
   ════════════════════════════════════════════════ */

.lang-switch-v2 {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  padding: 0.24rem 0.52rem;
  border-radius: 999px;
  border: 1px solid hsl(var(--border));
  background: transparent;
  transition: background 0.14s ease;
}
.lang-switch-v2:hover {
  background: hsl(var(--secondary) / 0.5);
}
.lang-opt {
  font-size: 0.74rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: hsl(var(--muted-foreground));
  text-decoration: none;
  line-height: 1;
  transition: color 0.12s ease;
}
.lang-opt.active { color: hsl(var(--foreground)); }
.lang-opt:hover  { color: hsl(var(--primary)); }
.lang-sep {
  font-size: 0.55rem;
  color: hsl(var(--border));
  user-select: none;
  line-height: 1;
}

/* ════════════════════════════════════════════════
   SKELETON — loading state
   Smooth shimmer instead of pulsating opacity
   ════════════════════════════════════════════════ */

@keyframes sk-shimmer {
  0%   { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

.puzzle-skeleton {
  border-radius: 6px;
  background: linear-gradient(
    90deg,
    hsl(var(--border) / 0.4) 25%,
    hsl(var(--border) / 0.2) 50%,
    hsl(var(--border) / 0.4) 75%
  );
  background-size: 200% 100%;
  animation: sk-shimmer 1.8s ease-in-out infinite;
  color: transparent !important;
  pointer-events: none;
  user-select: none;
}
.puzzle-skeleton-title {
  height: 1.6em;
  width: 72%;
  margin-bottom: 0.2em;
}
.puzzle-skeleton-stmt {
  height: 4.5rem;
}

/* Dark mode skeleton */
[data-theme="dark"] .puzzle-skeleton {
  background: linear-gradient(
    90deg,
    hsl(var(--border) / 0.5) 25%,
    hsl(var(--border) / 0.25) 50%,
    hsl(var(--border) / 0.5) 75%
  );
  background-size: 200% 100%;
}

/* ════════════════════════════════════════════════
   HERO — dateline editorial en dos lineas
   ════════════════════════════════════════════════ */

.home-v2 .hero-intro {
  margin-bottom: 1.5rem;
  animation: v2-fade-in 0.3s ease both;
}

.home-v2 .date-line {
  margin-bottom: 0;
  line-height: 1;
}

/* Kicker: weekday in small caps Inter */
.home-v2 .date-weekday {
  display: block;
  font-family: Inter, system-ui, sans-serif;
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground) / 0.45);
  margin-bottom: 0.2rem;
}

/* Dateline: day+month in Crimson Pro, editorial presence */
.home-v2 .date-daymonth {
  display: block;
  font-family: 'Crimson Pro', Georgia, serif;
  font-size: 1.45rem;
  font-weight: 400;
  color: hsl(var(--foreground) / 0.78);
  line-height: 1.1;
  letter-spacing: 0;
}

[data-theme="dark"] .home-v2 .date-weekday {
  color: hsl(var(--muted-foreground) / 0.38);
}
[data-theme="dark"] .home-v2 .date-daymonth {
  color: hsl(var(--foreground) / 0.72);
}

/* ════════════════════════════════════════════════
   PUZZLE CARD
   ════════════════════════════════════════════════ */

.home-v2 .home-main {
  padding-top: 5.58rem;
}

.home-v2 #dailyPuzzleCard {
  animation: v2-card-in 0.42s cubic-bezier(0.16, 1, 0.3, 1) both 0.07s;
  padding: 1.9rem 1.7rem 1.85rem;
}

/* Hover: subtle editorial lift */
.home-v2 #dailyPuzzleCard:hover {
  transform: translateY(-1px);
  box-shadow:
    0 6px 20px rgba(48, 38, 75, 0.07),
    0 2px 6px rgba(48, 38, 75, 0.04),
    0 1px 0 rgba(255, 255, 255, 0.98) inset;
}
@media (hover: none) {
  .home-v2 #dailyPuzzleCard:hover {
    transform: none;
    box-shadow:
      0 2px 8px rgba(48, 38, 75, 0.04),
      0 1px 0 rgba(255, 255, 255, 0.98) inset;
  }
}

/* Level badge: purple dot + subtle text */
.home-v2 .puzzle-level {
  font-size: 0.67rem;
  font-weight: 600;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground) / 0.5);
}
.home-v2 .puzzle-level::before {
  width: 4px;
  height: 4px;
  opacity: 0.45;
}

/* ════════════════════════════════════════════════
   PUZZLE TYPOGRAPHY
   ════════════════════════════════════════════════ */

.home-v2 .puzzle-title {
  font-family: 'Crimson Pro', Georgia, serif;
  font-size: clamp(1.75rem, 5.5vw, 2.5rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.08;
  font-optical-sizing: auto;
  margin-bottom: 1.3rem;
  text-wrap: pretty;
}

.home-v2 .puzzle-statement p {
  font-family: 'Crimson Pro', Georgia, serif;
  font-size: 1.16rem;
  line-height: 1.74;
  font-weight: 400;
  color: hsl(var(--foreground) / 0.88);
}

.home-v2 .puzzle-statement {
  margin-bottom: 1.7rem;
  max-width: 62ch;
}
@media (min-width: 640px) {
  .home-v2 .puzzle-statement {
    margin-left: auto;
    margin-right: auto;
  }
}

/* ════════════════════════════════════════════════
   INPUT + BUTTON
   ════════════════════════════════════════════════ */

/* Prevent iOS zoom on input focus */
.home-v2 #answerInput {
  font-size: 16px;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.03), 0 1px 3px rgba(0, 0, 0, 0.02);
  transition: border-color 0.16s ease, box-shadow 0.16s ease;
}

.home-v2 #answerInput::placeholder {
  color: hsl(var(--muted-foreground) / 0.48);
  font-style: italic;
}

@media (min-width: 480px) {
  .home-v2 .answer-stack {
    grid-template-columns: 1fr auto;
    gap: 0.5rem;
    align-items: start;
  }
  .home-v2 #checkBtn {
    width: auto;
    min-width: 136px;
    height: 3.4rem;
    min-height: unset;
    padding: 0 1.5rem;
    border-radius: 14px;
    font-size: 0.9rem;
  }
  .home-v2 #answerInput {
    min-height: 3.4rem;
  }
}

/* Mobile: ensure adequate touch target */
@media (max-width: 479px) {
  .home-v2 #checkBtn {
    min-height: 52px;
  }
}

/* Button: gradient + premium shadow */
.home-v2 #checkBtn {
  background: linear-gradient(135deg, #7154e8, #9275ea);
  box-shadow: 0 3px 12px rgba(113, 84, 232, 0.22);
  transition: background 0.2s ease, box-shadow 0.2s ease,
              opacity 0.18s ease, transform 0.12s cubic-bezier(0.22, 1, 0.36, 1);
  font-weight: 720;
  letter-spacing: -0.005em;
}
.home-v2 #checkBtn:not(:disabled):hover {
  transform: translateY(-1px);
  box-shadow: 0 5px 18px rgba(113, 84, 232, 0.32);
  background: linear-gradient(135deg, #6548e0, #856de5);
}
.home-v2 #checkBtn:not(:disabled):active {
  transform: scale(0.97) translateY(0);
  box-shadow: 0 2px 8px rgba(113, 84, 232, 0.18);
}
.home-v2 #checkBtn:disabled {
  opacity: 0.35;
  box-shadow: none;
  cursor: not-allowed;
}

/* Focus rings */
.home-v2 #answerInput:focus {
  outline: 2px solid hsl(var(--primary) / 0.45);
  outline-offset: 0;
  border-color: hsl(var(--primary) / 0.5);
  box-shadow: 0 0 0 4px hsl(var(--primary) / 0.08);
}
.home-v2 #checkBtn:focus-visible,
.home-v2 .kimi-text-action:focus-visible {
  outline: 2px solid hsl(var(--primary) / 0.5);
  outline-offset: 2px;
  border-radius: 3px;
}
.home-v2 .lang-switch-v2:focus-visible {
  outline: 2px solid hsl(var(--primary) / 0.5);
  outline-offset: 2px;
  border-radius: 999px;
}

/* ════════════════════════════════════════════════
   KIMI — icon + text, no chrome
   ════════════════════════════════════════════════ */

.home-v2 .kimi-inline-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  padding: 1.15rem 0 0.3rem;
  margin-top: 0.15rem;
}

.kimi-text-action {
  display: inline-flex;
  align-items: center;
  gap: 0.32rem;
  background: none;
  border: none;
  padding: 0.3rem 0.8rem;
  min-height: 44px;
  cursor: pointer;
  font-size: 0.78rem;
  font-weight: 500;
  color: hsl(var(--muted-foreground) / 0.58);
  transition: color 0.14s ease, transform 0.1s ease;
  line-height: 1;
  letter-spacing: 0.005em;
}

.kimi-text-action:hover {
  transform: translateY(-0.5px);
}

.kimi-text-action svg {
  flex: 0 0 auto;
  opacity: 0.85;
  transition: opacity 0.14s ease;
}

.kimi-text-action:hover svg {
  opacity: 1;
}

/* Hint -> amber, Solution -> purple */
.kimi-text-hint:hover,
.kimi-text-hint.is-open {
  color: hsl(38 52% 36%);
}
.kimi-text-sol:hover,
.kimi-text-sol.is-open {
  color: hsl(var(--primary));
}

.kimi-text-action.is-open {
  font-weight: 600;
}

[data-theme="dark"] .kimi-text-action {
  color: hsl(var(--muted-foreground) / 0.45);
}
[data-theme="dark"] .kimi-text-hint:hover,
[data-theme="dark"] .kimi-text-hint.is-open {
  color: hsl(38 55% 60%);
}
[data-theme="dark"] .kimi-text-sol:hover,
[data-theme="dark"] .kimi-text-sol.is-open {
  color: hsl(var(--primary));
}

.kimi-text-sep {
  font-size: 0.5rem;
  color: hsl(var(--border));
  user-select: none;
  line-height: 1;
}

/* ════════════════════════════════════════════════
   POST-ANSWER
   ════════════════════════════════════════════════ */

.home-v2 .postnav-header {
  display: block;
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground) / 0.55);
  text-align: center;
  margin: 0 0 0.9rem;
}

/* ════════════════════════════════════════════════
   HINTS — pre-answer (hint-content / kimi)
   ════════════════════════════════════════════════ */

.home-v2 .hint-kimi-body p,
.home-v2 .fc-hint-text {
  font-family: 'Crimson Pro', Georgia, serif;
  font-size: 1.06rem;
  line-height: 1.68;
}

/* Smooth reveal for hints */
.home-v2 .hint-step {
  animation: v2-hint-in 0.3s cubic-bezier(0.16, 1, 0.3, 1) both;
}

@keyframes v2-hint-in {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ════════════════════════════════════════════════
   SOLUTION — pre-answer (kimi-disclosure)
   ════════════════════════════════════════════════ */

[data-theme="dark"] .home-v2 .kimi-disclosure {
  background: hsl(260 28% 9%);
  border-color: rgba(113, 84, 232, 0.18);
}

.home-v2 .kimi-disclosure .v2-sol-prose p,
.home-v2 .sol-body .v2-sol-prose p {
  font-family: 'Crimson Pro', Georgia, serif;
  font-size: 1.08rem;
  line-height: 1.72;
  color: hsl(var(--foreground) / 0.88);
  margin: 0 0 0.82rem;
}
.home-v2 .kimi-disclosure .v2-sol-prose p:last-child,
.home-v2 .sol-body .v2-sol-prose p:last-child {
  margin-bottom: 0;
}
.home-v2 .kimi-disclosure .v2-sol-prose strong,
.home-v2 .sol-body .v2-sol-prose strong {
  font-weight: 600;
  color: hsl(var(--foreground));
}

/* ════════════════════════════════════════════════
   SOLUTION POST-ANSWER
   ════════════════════════════════════════════════ */

.home-v2 .sol-body .v2-sol-prose {
  padding-top: 0.2rem;
}

/* ════════════════════════════════════════════════
   NAV LINKS — improved spacing and touch targets
   ════════════════════════════════════════════════ */

.home-v2 .v2-nav-links {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.2rem 0;
  padding: 1.6rem 0 0.3rem;
  margin-top: 1rem;
  border-top: 1px solid hsl(var(--border) / 0.4);
}

.home-v2 .v2-nav-links a {
  font-size: 0.79rem;
  font-weight: 500;
  color: hsl(var(--muted-foreground) / 0.75);
  text-decoration: none;
  padding: 0.35rem 0.75rem;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  transition: color 0.12s ease;
  position: relative;
}

.home-v2 .v2-nav-links a:not(:last-child)::after {
  content: "\00B7";
  position: absolute;
  right: -0.1rem;
  color: hsl(var(--border));
  font-size: 0.65rem;
  pointer-events: none;
}

.home-v2 .v2-nav-links a:hover {
  color: hsl(var(--primary));
}

.home-v2 .v2-nav-links .v2-nav-support {
  color: hsl(var(--primary) / 0.7);
  font-weight: 600;
}
.home-v2 .v2-nav-links .v2-nav-support:hover {
  color: hsl(var(--primary));
}

/* ════════════════════════════════════════════════
   FOOTER — clean, minimal
   ════════════════════════════════════════════════ */

.home-v2 .site-footer .footer-top {
  display: none;
}

.home-v2 .site-footer {
  margin-top: 0.5rem;
  padding-top: 1rem;
}

.home-v2 .site-footer .footer-line-v2 {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 0.3rem;
}

.home-v2 .site-footer .footer-line-v2 a {
  font-size: 0.71rem;
  color: hsl(var(--muted-foreground) / 0.5);
  text-decoration: none;
  padding: 0.18rem 0.5rem;
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  transition: color 0.12s ease;
}
.home-v2 .site-footer .footer-line-v2 a:hover {
  color: hsl(var(--muted-foreground));
}
.home-v2 .site-footer .footer-line-v2 .footer-sep {
  font-size: 0.55rem;
  color: hsl(var(--border));
  user-select: none;
}

/* Nav row: slightly larger than legal */
.home-v2 .site-footer .footer-nav-v2 {
  margin-bottom: 0.45rem;
}
.home-v2 .site-footer .footer-nav-v2 a {
  font-size: 0.76rem;
  color: hsl(var(--muted-foreground) / 0.62);
}
.home-v2 .site-footer .footer-nav-v2 a:hover {
  color: hsl(var(--primary));
}

/* Copy line */
.home-v2 .site-footer .copy {
  font-size: 0.68rem;
  color: hsl(var(--muted-foreground) / 0.4);
  text-align: center;
  margin: 0.25rem 0 0;
}

/* Easter egg */
.home-v2 .footer-easter {
  color: hsl(var(--muted-foreground) / 0.3);
  text-decoration: none;
  transition: color 0.14s ease;
  cursor: pointer;
}
.home-v2 .footer-easter:hover {
  color: hsl(var(--primary) / 0.75);
}

/* ════════════════════════════════════════════════
   ANIMATIONS
   ════════════════════════════════════════════════ */

@keyframes v2-fade-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}

@keyframes v2-card-in {
  from { opacity: 0; transform: translateY(8px) scale(0.994); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}

/* ════════════════════════════════════════════════
   QUALITY DETAILS
   ════════════════════════════════════════════════ */

/* Text selection in subtle purple */
.home-v2 ::selection {
  background: hsl(var(--primary) / 0.14);
  color: hsl(var(--foreground));
}

/* Editorial separator: symmetric fade, opaque center, transparent edges */
.home-v2 .date-daymonth {
  margin-top: 0.4rem;
  padding-top: 0.55rem;
  background-image: linear-gradient(
    to right,
    transparent,
    hsl(var(--border) / 0.38) 40%,
    hsl(var(--border) / 0.38) 60%,
    transparent
  );
  background-size: 100% 1px;
  background-repeat: no-repeat;
  background-position: top center;
}

/* Dark mode: card with depth gradient + floating shadow */
[data-theme="dark"] .home-v2 #dailyPuzzleCard {
  background: linear-gradient(180deg, hsl(242 12% 14%) 0%, hsl(242 12% 11%) 100%);
  border-color: rgba(120, 100, 180, 0.18);
  box-shadow:
    0 0 0 1px rgba(255,255,255,0.04) inset,
    0 1px 0 rgba(255,255,255,0.07) inset,
    0 16px 48px hsl(240 50% 3% / 0.65),
    0 4px 12px hsl(240 40% 5% / 0.35);
}
[data-theme="dark"] .home-v2 #dailyPuzzleCard:hover {
  border-color: rgba(140, 115, 210, 0.28);
  box-shadow:
    0 0 0 1px rgba(255,255,255,0.05) inset,
    0 1px 0 rgba(255,255,255,0.09) inset,
    0 20px 56px hsl(240 50% 3% / 0.72),
    0 6px 16px hsl(240 40% 5% / 0.4);
}

/* Dark mode: button deeper gradient with glow */
[data-theme="dark"] .home-v2 #checkBtn {
  background: linear-gradient(135deg, hsl(252 72% 52%), hsl(262 50% 48%));
  box-shadow:
    0 1px 0 rgba(255,255,255,0.1) inset,
    0 4px 14px rgba(113, 84, 232, 0.35),
    0 1px 3px rgba(0,0,0,0.25);
}
[data-theme="dark"] .home-v2 #checkBtn:not(:disabled):hover {
  background: linear-gradient(135deg, hsl(252 76% 56%), hsl(262 54% 52%));
  box-shadow:
    0 1px 0 rgba(255,255,255,0.12) inset,
    0 6px 20px rgba(113, 84, 232, 0.45),
    0 2px 6px rgba(0,0,0,0.3);
}

/* ════════════════════════════════════════════════
   FEEDBACK CARD — improved contrast (WCAG AA)
   ════════════════════════════════════════════════ */

.home-v2 .feedback-card.correct .fc-label { color: #137040; }
.home-v2 .feedback-card.partial .fc-label { color: #7a5316; }
.home-v2 .feedback-card.incorrect .fc-label { color: #7a3530; }

.home-v2 .feedback-card.correct .fc-icon { color: #137040; }
.home-v2 .feedback-card.partial .fc-icon { color: #7a5316; }
.home-v2 .feedback-card.incorrect .fc-icon { color: #7a3530; }

[data-theme="dark"] .home-v2 .feedback-card.correct  .fc-label { color: #4ade80; }
[data-theme="dark"] .home-v2 .feedback-card.partial  .fc-label { color: #fbbf24; }
[data-theme="dark"] .home-v2 .feedback-card.incorrect .fc-label { color: #fca5a5; }
[data-theme="dark"] .home-v2 .feedback-card.correct  .fc-icon  { color: #4ade80; }
[data-theme="dark"] .home-v2 .feedback-card.partial  .fc-icon  { color: #fbbf24; }
[data-theme="dark"] .home-v2 .feedback-card.incorrect .fc-icon  { color: #fca5a5; }

/* Feedback title — slightly larger for hierarchy */
.home-v2 .fc-title {
  font-size: 1.35rem;
  letter-spacing: -0.04em;
}

/* ════════════════════════════════════════════════
   RATING — larger touch targets
   ════════════════════════════════════════════════ */

.home-v2 .rating-stars button {
  width: 2.4rem;
  height: 2.4rem;
  min-width: 44px;
  min-height: 44px;
  font-size: 1.72rem;
}

/* ════════════════════════════════════════════════
   PROGRESS STRIP — slight refinement
   ════════════════════════════════════════════════ */

.home-v2 #progressStrip {
  border-radius: 18px;
}

.home-v2 .pm-dot {
  width: 8px;
  height: 8px;
}

/* ════════════════════════════════════════════════
   POST-ACTION TILES — improved touch area
   ════════════════════════════════════════════════ */

.home-v2 .postnav-tile {
  min-height: 92px;
}

@media (max-width: 480px) {
  .home-v2 .postnav-tile {
    min-height: 78px;
    padding: 0.92rem 1rem;
  }
}

/* ════════════════════════════════════════════════
   MOBILE REFINEMENTS
   ════════════════════════════════════════════════ */

@media (max-width: 768px) {
  .home-v2 #dailyPuzzleCard {
    padding: 1.5rem 1.2rem 1.4rem;
  }
  .home-v2 .puzzle-title {
    font-size: clamp(1.6rem, 7vw, 2.2rem);
    margin-bottom: 1.1rem;
  }
  .home-v2 .puzzle-statement {
    margin-bottom: 1.5rem;
  }
  .home-v2 .hero-intro {
    margin-bottom: 1.2rem;
  }
}

@media (max-width: 380px) {
  .home-v2 #dailyPuzzleCard {
    padding: 1.3rem 1rem 1.2rem;
    border-radius: 18px;
  }
  .home-v2 .puzzle-statement p {
    font-size: 1.08rem;
  }
  .home-v2 .v2-nav-links a {
    padding: 0.35rem 0.55rem;
    font-size: 0.75rem;
  }
}

/* ════════════════════════════════════════════════
   ACCESSIBILITY — minimum touch targets
   ════════════════════════════════════════════════ */

.home-v2 .kimi-text-action {
  min-height: 44px;
  min-width: 44px;
}

.home-v2 .header-btn {
  min-width: 44px;
  min-height: 44px;
}

.home-v2 .site-footer .footer-line-v2 a {
  min-height: 36px;
}

.home-v2 .v2-nav-links a:focus-visible {
  outline: 2px solid hsl(var(--primary) / 0.5);
  outline-offset: 2px;
  border-radius: 6px;
}

/* ════════════════════════════════════════════════
   SMOOTH TRANSITIONS FOR STATE CHANGES
   ════════════════════════════════════════════════ */

.home-v2 .char-count {
  transition: color 0.16s ease, opacity 0.2s ease;
  opacity: 0;
}
.home-v2 .char-count.has-value {
  opacity: 1;
}

.home-v2 #feedbackCard,
.home-v2 #solutionSection,
.home-v2 #ratingModule,
.home-v2 #progressStripContainer,
.home-v2 #postActionsContainer {
  transition: opacity 0.2s ease;
}

/* ════════════════════════════════════════════════
   DARK MODE — comprehensive overrides
   ════════════════════════════════════════════════ */

[data-theme="dark"] .home-v2 .v2-nav-links {
  border-top-color: hsl(var(--border) / 0.3);
}

[data-theme="dark"] .home-v2 .v2-nav-links a {
  color: hsl(var(--muted-foreground) / 0.6);
}

[data-theme="dark"] .home-v2 .v2-nav-links a:hover {
  color: hsl(var(--primary));
}

[data-theme="dark"] .home-v2 .date-daymonth {
  background-image: linear-gradient(
    to right,
    transparent,
    hsl(var(--border) / 0.25) 40%,
    hsl(var(--border) / 0.25) 60%,
    transparent
  );
}

[data-theme="dark"] .home-v2 #answerInput::placeholder {
  color: hsl(var(--muted-foreground) / 0.35);
}

/* ════════════════════════════════════════════════
   REDUCED MOTION
   ════════════════════════════════════════════════ */

@media (prefers-reduced-motion: reduce) {
  .home-v2 .hero-intro,
  .home-v2 #dailyPuzzleCard,
  .home-v2 .hint-step { animation: none; }
  .home-v2 #dailyPuzzleCard:hover { transform: none; }
  .home-v2 #checkBtn { transition: opacity 0.1s ease; }
  .puzzle-skeleton { animation: none; opacity: 0.6; }
}

/* ════════════════════════════════════════════════
   DONE BADGE — compact restore state
   ════════════════════════════════════════════════ */

.home-v2 .done-badge {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.65rem 0.9rem;
  border-radius: 10px;
  margin-bottom: 1rem;
  font-size: 0.82rem;
}
.home-v2 .done-badge--correct  { background: hsl(143 40% 96%); }
.home-v2 .done-badge--partial  { background: hsl(38 50% 96%); }
.home-v2 .done-badge--incorrect { background: hsl(0 30% 96%); }

[data-theme="dark"] .home-v2 .done-badge--correct  { background: hsl(143 30% 10%); }
[data-theme="dark"] .home-v2 .done-badge--partial  { background: hsl(38 30% 10%); }
[data-theme="dark"] .home-v2 .done-badge--incorrect { background: hsl(0 20% 10%); }

.home-v2 .done-badge__icon {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
}
.home-v2 .done-badge__label {
  flex: 1;
  font-weight: 500;
  color: hsl(var(--foreground) / 0.75);
}
.home-v2 .done-badge__expand {
  display: inline-flex;
  align-items: center;
  gap: 0.22rem;
  background: none;
  border: none;
  padding: 0.2rem 0;
  font-size: 0.76rem;
  font-weight: 500;
  color: hsl(var(--muted-foreground) / 0.7);
  cursor: pointer;
  white-space: nowrap;
  transition: color 0.12s ease;
}
.home-v2 .done-badge__expand:hover {
  color: hsl(var(--primary));
}

/* ════════════════════════════════════════════════
   SEGUIR JUGANDO — mobile premium refinements
   ════════════════════════════════════════════════ */

@media (max-width: 600px) {
  /* Panel container: tighter padding, full-bleed feel */
  .home-v2 .week-panel-premium .postnav-panel-inner {
    padding: 1.28rem 1.1rem 1.2rem;
  }

  /* Heading: give the ring more breathing room */
  .home-v2 .week-heading-premium {
    gap: 0.9rem;
    margin-bottom: 1.2rem;
  }

  /* Title: slightly smaller but still bold */
  .home-v2 .week-heading-premium strong {
    font-size: 1rem;
  }

  /* Stats row: tighter */
  .home-v2 .week-stats-compact {
    gap: 0.44rem;
  }
  .home-v2 .wsc-done strong {
    font-size: 1.44rem;
  }

  /* Week row: compact 3-col grid, slightly smaller chip */
  .home-v2 .week-row-premium {
    grid-template-columns: 2.7rem minmax(0, 1fr) 1.8rem;
    gap: 0.72rem;
    min-height: 3.6rem;
    padding: 0.7rem 0.82rem 0.7rem 0.78rem;
    border-radius: 16px;
  }

  /* Day chip: smaller on mobile */
  .home-v2 .week-day-chip-premium {
    width: 2.7rem;
    height: 2.7rem;
    border-radius: 12px;
  }
  .home-v2 .wdc-day {
    font-size: 0.56rem;
  }
  .home-v2 .wdc-date {
    font-size: 0.88rem;
    margin-top: 0.22rem;
  }

  /* Title: keep truncation but give a touch more space */
  .home-v2 .wip-title {
    font-size: 0.88rem;
  }
  .home-v2 .wip-meta {
    gap: 0.32rem;
  }
  .home-v2 .wip-dot,
  .home-v2 .wip-theme {
    font-size: 0.64rem;
  }

  /* Status icon: slightly smaller */
  .home-v2 .week-status-premium {
    width: 1.8rem;
    height: 1.8rem;
  }

  /* Difficulty dots: tighter on mobile */
  .home-v2 .wip-diff-dots {
    gap: 2px;
  }
  .home-v2 .wip-diff-dot {
    width: 4px;
    height: 4px;
  }

  /* Inline check: smaller on mobile */
  .home-v2 .wip-check-inline {
    width: 10px;
    height: 10px;
    margin-right: 0.24rem;
  }

  /* Footer link: full height, easier tap */
  .home-v2 .week-footer-link {
    min-height: 2.9rem;
    font-size: 0.84rem;
    border-radius: 13px;
    margin-top: 0.82rem;
    gap: 0.4rem;
  }
  .home-v2 .week-footer-link .wfl-icon {
    width: 13px; height: 13px;
  }

  /* Today row: left border visible on mobile */
  .home-v2 .week-row-premium.week-today {
    padding-left: calc(0.78rem + 3px);
  }
  .home-v2 .week-row-premium.week-today.week-done {
    padding-left: calc(0.78rem + 3px);
  }
}

@media (max-width: 380px) {
  /* Very small screens: go even more compact */
  .home-v2 .week-row-premium {
    grid-template-columns: 2.4rem minmax(0, 1fr) 1.6rem;
    gap: 0.6rem;
    padding: 0.64rem 0.72rem;
    border-radius: 14px;
  }
  .home-v2 .week-row-premium.week-today {
    padding-left: calc(0.72rem + 3px);
  }
  .home-v2 .week-day-chip-premium {
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 10px;
  }
  .home-v2 .wdc-date {
    font-size: 0.82rem;
  }
  .home-v2 .week-status-premium {
    width: 1.6rem;
    height: 1.6rem;
  }
  .home-v2 .week-panel-premium .postnav-panel-inner {
    padding: 1.1rem 0.9rem 1rem;
  }
  .home-v2 .wip-diff-dot {
    width: 3.5px;
    height: 3.5px;
  }
  .home-v2 .wip-check-inline {
    width: 9px;
    height: 9px;
  }
}

/* Dark mode: week panel glass effect */
[data-theme="dark"] .home-v2 .week-panel-premium .postnav-panel {
  background: linear-gradient(180deg, hsl(240 8% 11%) 0%, hsl(240 8% 10%) 100%);
  border-color: hsl(250 20% 22%);
  box-shadow: 0 16px 36px rgba(0,0,0,0.3), 0 1px 0 rgba(255,255,255,0.04) inset;
}
[data-theme="dark"] .home-v2 .week-panel-premium .postnav-panel-inner {
  background: linear-gradient(180deg, hsl(240 8% 11% / 0.6) 0%, hsl(240 8% 10% / 0.9) 100%);
}
[data-theme="dark"] .home-v2 .week-heading-premium {
  border-bottom-color: hsl(250 20% 20%);
}
[data-theme="dark"] .home-v2 .week-row-premium {
  background: linear-gradient(180deg, hsl(240 8% 13%) 0%, hsl(240 8% 12%) 100%);
  border-color: hsl(250 15% 22%);
  box-shadow: 0 2px 6px rgba(0,0,0,0.2), 0 1px 0 rgba(255,255,255,0.03) inset;
}
[data-theme="dark"] .home-v2 .week-row-premium:hover {
  background: linear-gradient(180deg, hsl(240 8% 16%) 0%, hsl(240 8% 14%) 100%);
  border-color: hsl(250 50% 40%);
  box-shadow: 0 8px 24px rgba(113,84,232,0.18), 0 1px 0 rgba(255,255,255,0.04) inset;
}
/* Dark: today row */
[data-theme="dark"] .home-v2 .week-row-premium.week-today {
  background: linear-gradient(135deg, hsl(250 40% 14%) 0%, hsl(240 8% 12%) 100%);
  border-color: hsl(250 60% 40%);
  box-shadow: 0 3px 12px rgba(113,84,232,0.15),
              0 1px 0 rgba(255,255,255,0.03) inset,
              inset 3px 0 0 hsl(250 85% 55%);
}
[data-theme="dark"] .home-v2 .week-row-premium.week-today:hover {
  border-color: hsl(250 65% 50%);
  box-shadow: 0 10px 28px rgba(113,84,232,0.22),
              0 1px 0 rgba(255,255,255,0.04) inset,
              inset 3px 0 0 hsl(250 85% 55%);
}
/* Dark: done row */
[data-theme="dark"] .home-v2 .week-row-premium.week-done {
  background: linear-gradient(135deg, hsl(155 30% 12%) 0%, hsl(240 8% 12%) 100%);
  border-color: hsl(155 40% 22%);
}
[data-theme="dark"] .home-v2 .week-row-premium.week-done:hover {
  border-color: hsl(155 50% 32%);
  box-shadow: 0 8px 24px rgba(22,138,80,0.12), 0 1px 0 rgba(255,255,255,0.03) inset;
}
/* Dark: today + done */
[data-theme="dark"] .home-v2 .week-row-premium.week-today.week-done {
  border-color: hsl(155 45% 28%);
  background: linear-gradient(135deg, hsl(155 30% 12%) 0%, hsl(250 20% 13%) 50%, hsl(240 8% 12%) 100%);
  box-shadow: 0 3px 12px rgba(22,138,80,0.1),
              0 1px 0 rgba(255,255,255,0.03) inset,
              inset 3px 0 0 #168a50;
}
/* Dark: day chip */
[data-theme="dark"] .home-v2 .week-day-chip-premium {
  background: linear-gradient(145deg, hsl(250 25% 18%), hsl(250 20% 16%));
  border-color: hsl(250 30% 28%);
}
[data-theme="dark"] .home-v2 .week-day-chip-premium.wdc-today {
  background: linear-gradient(145deg, hsl(250 70% 42%), hsl(250 65% 36%));
  border-color: hsl(250 70% 50%);
  box-shadow: 0 3px 12px rgba(113,84,232,0.35);
}
[data-theme="dark"] .home-v2 .week-day-chip-premium.wdc-done {
  background: linear-gradient(145deg, hsl(155 35% 16%), hsl(155 30% 13%));
  border-color: hsl(155 40% 26%);
}
[data-theme="dark"] .home-v2 .week-day-chip-premium.wdc-today.wdc-done {
  background: linear-gradient(145deg, hsl(155 50% 24%), hsl(155 45% 20%));
  border-color: hsl(155 50% 32%);
  box-shadow: 0 3px 12px rgba(22,138,80,0.3);
}
[data-theme="dark"] .home-v2 .wdc-date { color: hsl(250 15% 88%); }
[data-theme="dark"] .home-v2 .wip-title { color: hsl(250 10% 90%); }
[data-theme="dark"] .home-v2 .week-heading-premium strong { color: hsl(250 10% 92%); }
[data-theme="dark"] .home-v2 .wsc-done span { color: hsl(250 15% 60%); }
[data-theme="dark"] .home-v2 .wsc-separator { color: hsl(250 15% 35%); }
[data-theme="dark"] .home-v2 .wsc-pending { color: hsl(250 15% 48%); }
/* Dark: difficulty dots */
[data-theme="dark"] .home-v2 .wip-diff-dot {
  background: hsl(250 15% 28%);
}
[data-theme="dark"] .home-v2 .wip-diff-dot.active {
  background: hsl(var(--primary) / 0.6);
}
[data-theme="dark"] .home-v2 .week-row-premium.week-done .wip-diff-dot.active {
  background: hsl(155 50% 40% / 0.6);
}
/* Dark: inline check */
[data-theme="dark"] .home-v2 .wip-check-inline {
  stroke: #3dce7a;
}
/* Dark: footer link */
[data-theme="dark"] .home-v2 .week-footer-link {
  background: linear-gradient(135deg, hsl(250 20% 15%), hsl(250 18% 13%));
  border-color: hsl(250 25% 24%);
  color: hsl(var(--primary));
}
[data-theme="dark"] .home-v2 .week-footer-link:hover {
  background: linear-gradient(135deg, hsl(250 25% 18%), hsl(250 22% 16%));
  border-color: hsl(var(--primary) / 0.3);
}
/* Dark: progress ring track */
[data-theme="dark"] .home-v2 .week-ring-svg circle:first-child {
  stroke: hsl(250 20% 18%);
}

/* ════════════════════════════════════════════════
   PRINT — clean layout for printing a puzzle
   ════════════════════════════════════════════════ */

@media print {
  .site-header,
  .kimi-inline-actions,
  .v2-nav-links,
  .site-footer,
  #answerStack,
  #kimiHintsArea,
  #kimiDisclosure { display: none !important; }

  .home-v2 #dailyPuzzleCard {
    box-shadow: none;
    border: 1px solid #ccc;
    animation: none;
  }
}
