/* ============================================================
   [FILE: game/css/theme.css]
   Тема: STACK BURGER TOWER.
   ============================================================ */

:root {
  --header-h: 40px;
  --gap-sm: 8px;
  --field-aspect: 0.7222;

  --color-field-bg:      #fdf8ed;
  --color-field-bg-top:  #fef5e3;
  --color-field-bg-bot:  #f0dcbb;

  --color-text-main:     #3d2818;
  --color-text-dim:      #7a5e3e;
  --color-text-accent:   #3d2818;
  --color-text-warm:     #3d2818;

  --color-timer-normal:  #4a8a1a;
  --color-timer-warning: #d89a1a;
  --color-timer-danger:  #c93a2e;

  --color-block-border:   rgba(0,0,0,0.4);
  --color-perfect-glow:   rgba(255,255,200,0.75);
  --color-perfect-ring:   #ffd23f;
  --color-spark:          #fff8c9;
  --color-perfect-text:   #ffde59;
  --color-perfect-stroke: #5a3a10;

  --color-gameover-bg:    rgba(253,248,237,0.94);
  --color-gameover-title: #3d2818;
  --color-gameover-text:  #3d2818;

  --color-panel-border: #8b5a2b;
  --color-warning:      #d89a1a;
  --color-red:          #c93a2e;

  --radius-sm:   4px;
  --radius-md:   12px;
  --radius-lg:   20px;
  --radius-pill: 40px;

  --font-mono: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;

  --hud-top-h:    0.08;
  --hud-padding:  0.03;
}

body {
  background-color: #c99a5b;
  font-family: var(--font-mono);
  color: var(--color-text-main);
}

:focus-visible { outline-color: var(--color-panel-border); }

.game-wrapper {
  background-image: linear-gradient(135deg, #ffeac2 0%, #f5d79e 100%);
}

.header-brand {
  font-size: clamp(16px, 4vw, 22px);
  font-weight: 900;
  letter-spacing: 4px;
  color: #4a2e1b;
}

canvas { background-color: var(--color-field-bg); }



/* ============================================================
   [BLOCK: hud]
   ============================================================ */

@media (max-width: 420px) {
  .hud-best-label, .hud-score-label, .hud-streak-label,
  .hud-best-value, .hud-score-value, .hud-streak-value {
    font-size: 0.75em;
  }
  .hud-timer {
    font-size: 0.95em;
  }
  .hud-right {
    gap: 0.6em;
  }
  .hud-top {
    gap: 3%;
  }
}

.hud-layer {
  font-family: var(--font-mono);
  color: var(--color-text-accent);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: geometricPrecision;
}

.hud-timer {
  font-size: 1.10em;
  font-weight: 900;
  color: var(--color-timer-normal);
  transition: color .2s, font-size .2s, opacity .2s;
}
.hud-timer.is-warning  { font-size: 1.40em; color: var(--color-timer-warning); }
.hud-timer.is-danger   { font-size: 1.45em; color: var(--color-timer-danger); }
.hud-timer.is-critical {
  font-size: 1.20em;
  color: var(--color-timer-danger);
  animation: hud-timer-pulse 1s ease-in-out infinite;
}
@keyframes hud-timer-pulse {
  0%, 100% { opacity: 1; }
  50%      { opacity: .6; }
}

.hud-best-label, .hud-score-label {
  font-size: 1.10em;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-text-dim);
}
.hud-best-value, .hud-score-value {
  font-size: 1.10em;
  font-weight: 700;
  color: var(--color-text-accent);
}

.hud-streak-label {
  font-size: 1.10em;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-text-dim);
}
.hud-streak-value {
  font-size: 1.10em;
  font-weight: 700;
  color: var(--color-timer-warning);
}

/* ============================================================
   [BLOCK: touch-hint — базовый]
   ============================================================ */
.touch-hint {
  background-color: rgba(255,234,194,0.96);
  color: var(--color-text-warm);
  border: 2px solid #e6a448;
  border-radius: var(--radius-md);
  font-family: var(--font-mono);
  font-size: clamp(18px, 5vw, 28px);
  font-weight: 900;
  line-height: 1.6;
  letter-spacing: 2px;
  text-align: center;
  box-shadow: 0 0 40px rgba(230,164,72,.25);
}
.touch-hint small {
  font-size: .75em;
  letter-spacing: 3px;
  color: var(--color-text-dim);
}

/* ============================================================
   [BLOCK: intro]
   ============================================================ */
.intro-modal { background-color: rgba(201,154,91,0.85); }
.intro-content {
  background-image: linear-gradient(135deg, #ffeac2 0%, #f5d79e 100%);
  border: 3px solid #e6a448;
  border-radius: var(--radius-lg);
  box-shadow: 0 0 40px rgba(230,164,72,.25);
  color: var(--color-text-main);
}
.intro-title {
  font-size: clamp(20px, 5vw, 28px);
  font-family: var(--font-mono);
  font-weight: 900;
  letter-spacing: 2px;
  color: var(--color-text-warm);
}
.intro-rules {
  font-size: clamp(13px, 3.4vw, 15px);
  color: var(--color-text-dim);
  font-family: var(--font-mono);
}
.intro-rules li::before {
  color: #e6a448;
  font-size: .9em;
  font-family: var(--font-mono);
}
.intro-cookie {
  font-family: var(--font-mono);
  font-size: clamp(12px, 2.8vw, 14px);
  color: var(--color-text-dim);
}
.intro-accept {
  font-family: var(--font-mono);
  font-size: clamp(14px, 3.6vw, 17px);
  font-weight: 900;
  letter-spacing: 2px;
  color: #ffffff;
  text-transform: uppercase;
  border: 2px solid #a56e2e;
  border-radius: var(--radius-pill);
  background-color: #e6a448;
  box-shadow: 0 4px 0 #a56e2e, 0 6px 12px rgba(0,0,0,0.3);
}
.intro-accept:active {
  background-color: #f0b45e;
  box-shadow: 0 1px 0 #a56e2e, 0 3px 8px rgba(0,0,0,.3);
  transform: translateY(3px);
}

/* ============================================================
   [BLOCK: hint-limit]
   ============================================================ */
body[data-hint="limit"] .touch-hint {
  background-color: rgba(251, 248, 240, 0.97);

  border: 1px solid var(--color-warning);
  border-radius: var(--radius-lg);

  color: var(--color-text-main);

  box-shadow:
    0 0 40px rgba(232, 161, 122, 0.35),
    0 0 80px rgba(154, 160, 166, 0.2),
    inset 0 0 30px rgba(255, 255, 255, 0.6);
}

body[data-hint="limit"] .hint-limit-title {
  font-family: var(--font-mono);
  font-size: clamp(20px, 5vw, 28px);
  font-weight: 900;
  letter-spacing: .5px;
  color: var(--color-text-warm);
  text-shadow: 0 1px 0 #ffffff;
  margin-bottom: 1px;
}

body[data-hint="limit"] .hint-limit-record {
  font-family: var(--font-mono);
  font-size: clamp(18px, 3.4vw, 20px);
  color: var(--color-text-dim);
  letter-spacing: 0.5px;
  margin-bottom: 1px;
  padding-bottom: 1px;
}

body[data-hint="limit"] #limitBestScore {
  font-size: 1.3em;
  font-weight: 900;
  color: var(--color-text-dim);
  margin-left: 4px;
}

body[data-hint="limit"] .hint-limit-streak {
  font-family: var(--font-mono);
  font-size: clamp(18px, 3.4vw, 20px);
  color: var(--color-text-dim);
  letter-spacing: 0.5px;
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(139, 111, 58, 0.25);
}
body[data-hint="limit"] #limitBestStreak {
  font-size: 1.4em;
  font-weight: 900;
  color: var(--color-timer-warning);
  margin-left: 4px;
}

body[data-hint="limit"] .hint-limit-body {
  font-family: var(--font-mono);
  font-size: clamp(18px, 3.4vw, 20px);
  font-weight: 500;
  letter-spacing: 0.2px;
  color: var(--color-text-dim);
  text-align: center;
}

