/* ============================================================
   Kidora Sunny Modal Skin — Compliance + Fire Safety
   ------------------------------------------------------------
   Re-skins the existing .k-modal__panel + .cscore-* + .fire-*
   markup to the Sunny theme (cream paper, coral primary, Nunito).

   Activated by setting data-design="sunny" on the modal panel.
   The attribute is inherited so every child element gets the
   Sunny tokens automatically.

   Loads after kidora-shell.css so Sunny overrides Storybook
   inside modal scope. Storybook stays the page-level theme.
   ============================================================ */

/* ---- Panel chrome ---- */
[data-design="sunny"].k-modal__panel,
[data-design="sunny"] .k-modal__panel {
  background: var(--k-bg);
  border-radius: var(--k-r-xl);
  border: 1px solid var(--k-line);
  box-shadow: var(--k-shadow-lg);
  color: var(--k-ink);
  font-family: var(--k-font-sans);
  overflow: hidden;
}

/* Scrim — fully obscures the background so the modal owns focus.
   Legacy var(--surface-overlay) was too transparent (~0.55); bump to 0.7. */
[data-design="storybook"] .k-modal__scrim,
[data-design="sunny"] .k-modal__scrim {
  background: rgba(23, 34, 56, 0.7) !important;
  backdrop-filter: blur(6px);
}

[data-design="sunny"] .k-modal__header {
  background: var(--k-surface);
  border-bottom: 1px solid var(--k-line);
  padding: 20px 28px;
}

[data-design="sunny"] .k-modal__title {
  font-family: var(--k-font-display);
  font-size: 22px;
  font-weight: 800;
  color: var(--k-ink);
  letter-spacing: 0;
}

[data-design="sunny"] .k-modal__close {
  background: var(--k-bg-alt);
  color: var(--k-ink-soft);
  border-radius: 50%;
  width: 40px;
  height: 40px;
  border: none;
  transition: background var(--k-dur-fast) var(--k-ease),
              color var(--k-dur-fast) var(--k-ease);
}
[data-design="sunny"] .k-modal__close:hover {
  background: var(--k-coral-soft);
  color: var(--k-coral);
}

[data-design="sunny"] .k-modal__footer {
  background: var(--k-surface);
  border-top: 1px solid var(--k-line);
  padding: 16px 28px;
}

/* ============================================================
   COMPLIANCE SCORE — Sunny treatment
   ============================================================ */
[data-design="sunny"] .cscore-body {
  padding: 28px;
  background: var(--k-bg);
}

[data-design="sunny"] .cscore-loading {
  color: var(--k-ink-muted);
  font-family: var(--k-font-sans);
  font-weight: 600;
  padding: 80px 0;
}

/* Hero — score ring + headline framed in surface card */
[data-design="sunny"] .cscore-hero {
  background: linear-gradient(135deg, var(--k-surface), var(--k-surface-tint));
  border: 1px solid var(--k-line);
  border-radius: var(--k-r-xl);
  box-shadow: var(--k-shadow-sm);
  padding: 28px;
  gap: 18px;
  align-items: center;
}

/* v2 hero — destination-focused layout: ring left + pitch right.
   Replaces the centered "F / 16% / CRITICAL" treatment with a hopeful
   "Two quick fixes will get you to 85%" narrative per the brand brief. */
[data-design="sunny"] .cscore-hero-v2 {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 28px;
  padding: 28px 28px 28px 24px;
}
@media (max-width: 720px) {
  [data-design="sunny"] .cscore-hero-v2 {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 20px;
  }
}
[data-design="sunny"] .cscore-hero-v2 .cscore-ring-wrap {
  flex-shrink: 0;
  filter: drop-shadow(0 6px 18px rgba(229, 86, 74, 0.13));
}

[data-design="sunny"] .cscore-pitch {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
}
[data-design="sunny"] .cscore-pitch-cap {
  font-family: var(--k-font-sans);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--k-bad);
  margin-bottom: 2px;
}
[data-design="sunny"] .cscore-pitch-headline {
  font-family: var(--k-font-display);
  font-size: clamp(22px, 2.4vw, 28px);
  font-weight: 800;
  line-height: 1.2;
  color: var(--k-ink);
}
[data-design="sunny"] .cscore-pitch-dest {
  color: var(--k-good);
  font-weight: 900;
}
[data-design="sunny"] .cscore-pitch-body {
  font-family: var(--k-font-sans);
  font-size: 14.5px;
  font-weight: 500;
  line-height: 1.55;
  color: var(--k-ink-soft);
}
[data-design="sunny"] .cscore-pitch-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 6px;
}
[data-design="sunny"] .cscore-cta-primary {
  background: var(--k-coral);
  color: var(--k-ink-on-color);
  border: none;
  border-radius: var(--k-r-md);
  padding: 14px 22px;
  min-height: 44px;     /* WCAG touch target */
  font-family: var(--k-font-sans);
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 4px 0 rgba(42, 38, 32, 0.18);
  transition: filter var(--k-dur-fast) var(--k-ease),
              transform var(--k-dur-fast) var(--k-ease),
              box-shadow var(--k-dur-fast) var(--k-ease);
}
[data-design="sunny"] .cscore-cta-primary:hover { filter: brightness(1.05); }
[data-design="sunny"] .cscore-cta-primary:active {
  transform: translateY(2px);
  box-shadow: 0 2px 0 rgba(42, 38, 32, 0.18);
}
[data-design="sunny"] .cscore-cta-ghost {
  background: var(--k-surface);
  color: var(--k-ink);
  border: 1px solid var(--k-line-strong);
  border-radius: var(--k-r-md);
  padding: 14px 22px;
  min-height: 44px;
  font-family: var(--k-font-sans);
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: background var(--k-dur-fast) var(--k-ease),
              border-color var(--k-dur-fast) var(--k-ease),
              color var(--k-dur-fast) var(--k-ease);
}
[data-design="sunny"] .cscore-cta-ghost:hover {
  background: var(--k-bg-alt);
  border-color: var(--k-coral);
  color: var(--k-coral);
}

/* Softer caps box — informative ("what's holding the score down")
   instead of scolding. Plain card with no accent stripe so it doesn't
   shout "warning"; the bg-alt color does the demote on its own. */
[data-design="sunny"] .cscore-caps-soft {
  background: var(--k-bg-alt);
  border: 1px solid var(--k-line);
  border-radius: var(--k-r-md);
  padding: 14px 18px;
  margin: 18px 0;
}
[data-design="sunny"] .cscore-caps-soft .cscore-cap-title {
  color: var(--k-ink);
  font-family: var(--k-font-sans);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 6px;
}
[data-design="sunny"] .cscore-caps-soft .cscore-cap-row {
  color: var(--k-ink-soft);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5;
}

[data-design="sunny"] .cscore-ring-wrap {
  width: 220px;
  height: 220px;
  filter: drop-shadow(0 6px 18px rgba(229, 86, 74, 0.13));
}
[data-design="sunny"] .cscore-ring-track {
  stroke: var(--k-coral-soft);
}
/* The fill stroke color is set inline by JS — leave that alone, but
   add a fallback in case it's missing. */
[data-design="sunny"] .cscore-ring-fill:not([stroke]) {
  stroke: var(--k-bad);
}

/* In v2 hero, the destination headline on the right is the lead message.
   The grade letter inside the ring is demoted to a small secondary mark —
   not the punitive shout it was in the legacy treatment. */
[data-design="sunny"] .cscore-hero-v2 .cscore-grade {
  font-family: var(--k-font-display);
  font-weight: 800;
  font-size: 56px;
  letter-spacing: -0.03em;
  line-height: 1;
  color: var(--k-bad);
  opacity: 0.6;
}
[data-design="sunny"] .cscore-hero-v2 .cscore-pct {
  font-family: var(--k-font-sans);
  font-size: 22px;
  font-weight: 800;
  color: var(--k-ink);
  margin-top: 2px;
  letter-spacing: -0.01em;
}
/* Legacy (non-v2) hero — keep the dramatic grade-first rendering for any
   code path that still uses the old structure. */
[data-design="sunny"] .cscore-hero:not(.cscore-hero-v2) .cscore-grade {
  font-family: var(--k-font-display);
  font-weight: 900;
  font-size: 92px;
  letter-spacing: -0.04em;
  line-height: 0.95;
  color: var(--k-bad);
}
[data-design="sunny"] .cscore-hero:not(.cscore-hero-v2) .cscore-pct {
  font-family: var(--k-font-sans);
  font-size: 18px;
  font-weight: 700;
  color: var(--k-ink);
  margin-top: 4px;
}
[data-design="sunny"] .cscore-tier {
  font-family: var(--k-font-sans);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--k-ink-muted);
  margin-top: 10px;
}

/* Caps — keeps the red but uses Sunny's bad-soft surface */
[data-design="sunny"] .cscore-caps {
  background: var(--k-bad-soft);
  border: 1px solid var(--k-bad-soft);
  border-radius: var(--k-r-md);
  padding: 12px 16px;
  margin: 18px 0;
}
[data-design="sunny"] .cscore-cap-title {
  font-family: var(--k-font-sans);
  font-weight: 800;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--k-bad);
  margin-bottom: 6px;
}
[data-design="sunny"] .cscore-cap-row {
  color: var(--k-ink);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5;
}

/* Pillars — 6-up category donuts */
[data-design="sunny"] .cscore-pillars {
  grid-template-columns: repeat(6, 1fr);
  gap: 10px;
  margin: 24px 0;
}
@media (max-width: 720px) {
  [data-design="sunny"] .cscore-pillars { grid-template-columns: repeat(3, 1fr); }
}
[data-design="sunny"] .cscore-pillar {
  background: var(--k-surface);
  border: 1px solid var(--k-line);
  border-radius: var(--k-r-md);
  padding: 14px 8px;
  gap: 8px;
  transition: border-color var(--k-dur-fast) var(--k-ease),
              background var(--k-dur-fast) var(--k-ease);
}
[data-design="sunny"] .cscore-pillar:hover {
  border-color: var(--k-coral);
  background: var(--k-surface-tint);
}
[data-design="sunny"] .cscore-pillar.weak {
  border-color: var(--k-bad);
  background: var(--k-bad-soft);
}
[data-design="sunny"] .cscore-pillar-ring .pr-track {
  stroke: var(--k-line);
}
[data-design="sunny"] .cscore-pillar-pct {
  color: var(--k-ink);
  font-weight: 800;
  font-size: 12px;
}
[data-design="sunny"] .cscore-pillar-label {
  color: var(--k-ink-soft);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.25;
}

/* Actions title — caption styling */
[data-design="sunny"] .cscore-actions-title {
  font-family: var(--k-font-sans);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--k-ink-muted);
  margin: 24px 0 12px;
}

/* Improvement rows */
[data-design="sunny"] .cscore-action {
  background: var(--k-surface);
  border: 1px solid var(--k-line);
  border-radius: var(--k-r-md);
  padding: 14px 16px;
  gap: 14px;
  margin-bottom: 10px;
  transition: border-color var(--k-dur-fast) var(--k-ease),
              background var(--k-dur-fast) var(--k-ease);
}
[data-design="sunny"] .cscore-action:hover {
  border-color: var(--k-coral);
  background: var(--k-surface-tint);
}
/* The top (most-impactful) improvement is highlighted */
[data-design="sunny"] .cscore-action.critical,
[data-design="sunny"] .cscore-action:first-of-type {
  border: 2px solid var(--k-coral);
  background: linear-gradient(135deg, var(--k-surface), var(--k-coral-soft));
  box-shadow: var(--k-shadow-sm);
}
[data-design="sunny"] .cscore-action-label {
  color: var(--k-ink);
  font-family: var(--k-font-sans);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
}
[data-design="sunny"] .cscore-action-note {
  color: var(--k-ink-soft);
  font-size: 12px;
  font-weight: 500;
  margin-top: 4px;
}
[data-design="sunny"] .cscore-action-pts {
  background: var(--k-good-soft);
  color: var(--k-good);
  font-family: var(--k-font-sans);
  font-size: 11px;
  font-weight: 800;
  padding: 4px 10px;
  border-radius: var(--k-r-pill);
  letter-spacing: 0.04em;
}
[data-design="sunny"] .cscore-action.critical .cscore-action-pts {
  background: var(--k-coral-soft);
  color: var(--k-coral);
}

/* "Do it" CTA — primary on the highlighted row, ghost otherwise */
[data-design="sunny"] .cscore-action-cta {
  background: var(--k-surface);
  color: var(--k-ink);
  border: 1px solid var(--k-line-strong);
  font-family: var(--k-font-sans);
  font-size: 13px;
  font-weight: 700;
  padding: 10px 16px;
  border-radius: var(--k-r-md);
  cursor: pointer;
  transition: background var(--k-dur-fast) var(--k-ease),
              border-color var(--k-dur-fast) var(--k-ease),
              color var(--k-dur-fast) var(--k-ease);
}
[data-design="sunny"] .cscore-action-cta:hover {
  background: var(--k-bg-alt);
  border-color: var(--k-coral);
  color: var(--k-coral);
}
[data-design="sunny"] .cscore-action.critical .cscore-action-cta,
[data-design="sunny"] .cscore-action:first-of-type .cscore-action-cta {
  background: var(--k-coral);
  color: var(--k-ink-on-color);
  border-color: transparent;
  box-shadow: 0 4px 0 rgba(42, 38, 32, 0.18);
}
[data-design="sunny"] .cscore-action.critical .cscore-action-cta:hover,
[data-design="sunny"] .cscore-action:first-of-type .cscore-action-cta:hover {
  filter: brightness(1.05);
  background: var(--k-coral);
  color: var(--k-ink-on-color);
}
[data-design="sunny"] .cscore-action.critical .cscore-action-cta:active,
[data-design="sunny"] .cscore-action:first-of-type .cscore-action-cta:active {
  transform: translateY(2px);
  box-shadow: 0 2px 0 rgba(42, 38, 32, 0.18);
}

[data-design="sunny"] .cscore-show-more {
  color: var(--k-coral);
  font-family: var(--k-font-sans);
  font-weight: 700;
  font-size: 13px;
  margin-top: 12px;
}

/* Perfect badge — sage instead of generic green */
[data-design="sunny"] .cscore-perfect-badge {
  background: linear-gradient(135deg, var(--k-sage), var(--k-good));
  color: var(--k-ink-on-color);
  font-family: var(--k-font-sans);
  font-weight: 800;
  letter-spacing: 0.16em;
}

/* ============================================================
   FIRE SAFETY CHECKLIST — Sunny treatment
   ============================================================ */

/* Panel chrome — fire modal isn't a .k-modal__panel, it's a custom
   bottom-sheet style #fire-modal. Style it directly. */
[data-design="sunny"]#fire-modal,
#fire-modal[data-design="sunny"] {
  background: var(--k-bg);
  border-radius: var(--k-r-xl) var(--k-r-xl) 0 0;
  color: var(--k-ink);
  font-family: var(--k-font-sans);
}

[data-design="sunny"] .fire-head {
  background: var(--k-surface);
  padding: 20px 28px 0;
  border-bottom: 1px solid var(--k-line);
}

[data-design="sunny"] .fire-title {
  font-family: var(--k-font-display);
  font-size: 22px;
  font-weight: 800;
  color: var(--k-ink);
}

[data-design="sunny"] .fire-badge {
  background: var(--k-bad-soft);
  color: var(--k-bad);
  font-family: var(--k-font-sans);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.18em;
  padding: 4px 10px;
  border-radius: var(--k-r-pill);
}

[data-design="sunny"] .fire-close {
  background: var(--k-bg-alt);
  color: var(--k-ink-soft);
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  padding: 0;
}
[data-design="sunny"] .fire-close:hover {
  background: var(--k-coral-soft);
  color: var(--k-coral);
}

/* Tabs — pill style, surface-on-tint-bg, coral text on active */
[data-design="sunny"] .fire-tabs {
  display: flex;
  gap: 6px;
  padding: 12px 0 16px;
  border-bottom: none;
}
[data-design="sunny"] .fire-tab {
  flex: 0 0 auto;
  background: transparent;
  color: var(--k-ink-soft);
  font-family: var(--k-font-sans);
  font-weight: 700;
  font-size: 13px;
  padding: 10px 16px;
  border-radius: var(--k-r-pill);
  border: 1px solid transparent;
  border-bottom: none;
  transition: background var(--k-dur-fast) var(--k-ease),
              color var(--k-dur-fast) var(--k-ease);
}
[data-design="sunny"] .fire-tab:hover { color: var(--k-ink); }
[data-design="sunny"] .fire-tab.active {
  background: var(--k-surface);
  border-color: var(--k-line-strong);
  color: var(--k-coral);
  box-shadow: var(--k-shadow-sm);
  border-bottom: 1px solid var(--k-line-strong);
}

/* Body */
[data-design="sunny"] .fire-body {
  padding: 20px 28px;
  background: var(--k-bg);
}

/* Progress bar — gradient coral → sunshine per handoff */
[data-design="sunny"] .fire-progress-wrap {
  background: var(--k-bg-alt);
  padding: 14px 16px;
  border-radius: var(--k-r-md);
  margin-bottom: 18px;
}
[data-design="sunny"] .fire-progress-bar {
  height: 10px;
  background: var(--k-surface);
  border: 1px solid var(--k-line);
  border-radius: var(--k-r-pill);
  overflow: hidden;
  flex: 1;
}
[data-design="sunny"] .fire-progress-fill {
  background: linear-gradient(90deg, var(--k-coral), var(--k-sunshine));
  border-radius: var(--k-r-pill);
}
[data-design="sunny"] .fire-progress-label {
  font-family: var(--k-font-sans);
  font-weight: 800;
  font-size: 13px;
  color: var(--k-ink);
  font-variant-numeric: tabular-nums;
}

/* Category headers */
[data-design="sunny"] .fire-category { margin-bottom: 22px; }
[data-design="sunny"] .fire-cat-label {
  font-family: var(--k-font-sans);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--k-ink-muted);
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 8px;
}
/* Add a small icon tile before the label via :before — color rotates */
[data-design="sunny"] .fire-category:nth-of-type(3n+1) .fire-cat-label::before { background: var(--k-coral); }
[data-design="sunny"] .fire-category:nth-of-type(3n+2) .fire-cat-label::before { background: var(--k-sky); }
[data-design="sunny"] .fire-category:nth-of-type(3n+3) .fire-cat-label::before { background: var(--k-sage); }
[data-design="sunny"] .fire-cat-label::before {
  content: "";
  width: 18px;
  height: 18px;
  border-radius: 5px;
  background: var(--k-coral);
  flex-shrink: 0;
}

/* Items */
[data-design="sunny"] .fire-item {
  background: var(--k-surface);
  border: 1px solid var(--k-line);
  border-radius: var(--k-r-md);
  padding: 12px 14px;
  margin-bottom: 6px;
  transition: border-color var(--k-dur-fast) var(--k-ease),
              background var(--k-dur-fast) var(--k-ease);
}
[data-design="sunny"] .fire-item:hover {
  border-color: var(--k-coral);
  background: var(--k-surface-tint);
}

/* 3-state checkbox: default (open), .pending, .done.
   Visual stays 22px to match handoff; transparent overlay below expands
   tap zone to 44×44 for WCAG touch compliance. */
[data-design="sunny"] .fire-cb {
  position: relative;
  width: 22px;
  height: 22px;
  border: 2px solid var(--k-line-strong);
  border-radius: 7px;
  background: transparent;
  color: transparent;
  display: grid;
  place-items: center;
  transition: background var(--k-dur-fast) var(--k-ease),
              border-color var(--k-dur-fast) var(--k-ease);
}
[data-design="sunny"] .fire-cb::before {
  content: "";
  position: absolute;
  inset: -11px;
  z-index: -1;
}
[data-design="sunny"] .fire-cb.pending {
  border-color: var(--k-warn);
  background: transparent;
}
[data-design="sunny"] .fire-cb.pending::after {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--k-warn);
}
[data-design="sunny"] .fire-cb.done,
[data-design="sunny"] .fire-cb.checked,
[data-design="sunny"] .fire-item.done .fire-cb {
  background: var(--k-good);
  border-color: var(--k-good);
  color: #fff;
}

[data-design="sunny"] .fire-item-label {
  font-family: var(--k-font-sans);
  font-size: 14px;
  font-weight: 700;
  color: var(--k-ink);
  line-height: 1.4;
}
[data-design="sunny"] .fire-item.done .fire-item-label,
[data-design="sunny"] .fire-item-label.done {
  color: var(--k-good);
  text-decoration: line-through;
  text-decoration-thickness: 1.5px;
}
[data-design="sunny"] .fire-item-note {
  font-family: var(--k-font-sans);
  font-size: 12px;
  font-weight: 500;
  color: var(--k-ink-soft);
  margin-top: 4px;
}

/* Section + label (drill schedule form) */
[data-design="sunny"] .fire-section { margin-bottom: 20px; }
[data-design="sunny"] .fire-section-title {
  font-family: var(--k-font-display);
  font-size: 16px;
  font-weight: 800;
  color: var(--k-ink);
  padding-bottom: 8px;
  border-bottom: 1px solid var(--k-line);
  margin-bottom: 12px;
}
[data-design="sunny"] .fire-label {
  font-family: var(--k-font-sans);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--k-ink-muted);
  margin-bottom: 6px;
}

/* Inputs */
[data-design="sunny"] .fire-input {
  background: var(--k-surface);
  border: 2px solid var(--k-line-strong);
  border-radius: var(--k-r-md);
  padding: 12px 14px;
  font-family: var(--k-font-sans);
  font-size: 14px;
  font-weight: 500;
  color: var(--k-ink);
  transition: border-color var(--k-dur-fast) var(--k-ease),
              box-shadow var(--k-dur-fast) var(--k-ease);
}
[data-design="sunny"] .fire-input:focus {
  outline: none;
  border-color: var(--k-coral);
  box-shadow: 0 0 0 4px var(--k-coral-soft);
}

/* Footer + buttons */
[data-design="sunny"] .fire-foot {
  background: var(--k-surface);
  padding: 16px 28px;
  border-top: 1px solid var(--k-line);
  gap: 12px;
}
[data-design="sunny"] .fire-btn-primary,
[data-design="sunny"] .fire-btn-orange {
  background: var(--k-coral);
  color: var(--k-ink-on-color);
  font-family: var(--k-font-sans);
  font-weight: 800;
  font-size: 14px;
  padding: 14px 18px;
  border-radius: var(--k-r-md);
  box-shadow: 0 4px 0 rgba(42, 38, 32, 0.18);
  transition: filter var(--k-dur-fast) var(--k-ease),
              transform var(--k-dur-fast) var(--k-ease),
              box-shadow var(--k-dur-fast) var(--k-ease);
}
[data-design="sunny"] .fire-btn-primary:hover,
[data-design="sunny"] .fire-btn-orange:hover { filter: brightness(1.05); }
[data-design="sunny"] .fire-btn-primary:active,
[data-design="sunny"] .fire-btn-orange:active {
  transform: translateY(2px);
  box-shadow: 0 2px 0 rgba(42, 38, 32, 0.18);
}
[data-design="sunny"] .fire-btn-secondary {
  background: var(--k-surface);
  color: var(--k-ink);
  border: 1px solid var(--k-line-strong);
  font-family: var(--k-font-sans);
  font-weight: 700;
  font-size: 14px;
  padding: 14px 22px;
  border-radius: var(--k-r-md);
}
[data-design="sunny"] .fire-btn-secondary:hover {
  background: var(--k-bg-alt);
  border-color: var(--k-coral);
  color: var(--k-coral);
}

[data-design="sunny"] .fire-empty {
  color: var(--k-ink-muted);
  font-family: var(--k-font-sans);
  font-weight: 600;
}

[data-design="sunny"] .fire-toast {
  background: var(--k-ink);
  color: #fff;
  border-radius: var(--k-r-pill);
  font-family: var(--k-font-sans);
  font-weight: 700;
  box-shadow: var(--k-shadow);
}
