/* Direction: SR Handy Services — steel-and-workwear trades brand. Charcoal
   navy ground, safety-orange accent, a bold grotesk display for job-site
   confidence. Extra gradient tokens are used only inside the vertical
   story-card slides in the reel preview. */
/* Completed by the platform from the short form: both modes, every
   palette token, each text-on-ground pair at its floor. To restyle, write the
   short form again (the decisions in one :root) and it is completed again. */

:root {
  --canvas: #f4f5f6;
  --surface: #ffffff;
  --surface-2: #e8ebee;
  --border: #d7dce1;
  --border-strong: #b4b0ad;
  --ink: #1b2430;
  --muted: #5b6675;
  --accent: #d9720a;
  --accent-hover: #b86109;
  --accent-ink: #1e1001;
  --accent-text: #a45506;
  --accent-strong: #8a4705;
  --accent-soft: #fbe4c8;
  --accent-border: #e8ba8c;
  --success: #2f7a4f;
  --success-ink: #ffffff;
  --success-soft: #dce6e2;
  --success-strong: #2b7049;
  --warning: #b58a2f;
  --warning-ink: #1b2430;
  --warning-soft: #ece8de;
  --warning-strong: #836322;
  --danger: #b53a3a;
  --danger-ink: #ffffff;
  --danger-soft: #ecdfdf;
  --danger-strong: #a73535;
  --chart-1: #d9720a;
  --chart-2: #89951f;
  --chart-3: #118e77;
  --chart-4: #0997d2;
  --chart-5: #805ec9;
  --chart-6: #db6397;

  --font-display: "Barlow Condensed", "Inter", system-ui, sans-serif;
  --font-body: "Inter", system-ui, sans-serif;
  --display-weight: 700;
  --display-tracking: -0.01em;
  --radius-card: 14px;
  --radius-btn: 8px;
  --radius-input: 8px;
  --shadow-card: 0 20px 40px -24px rgba(27, 36, 48, 0.4);
  --x-on-photo: #f4f5f6;
  --x-slide-1: linear-gradient(160deg, #d9720a 0%, #8a4705 100%);
  --x-slide-2: linear-gradient(160deg, #2d4a5e 0%, #101c26 100%);
  --x-slide-3: linear-gradient(160deg, #3a5a9b 0%, #16233f 100%);
  --font-mono: "JetBrains Mono Variable", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --font-sans: "Inter", system-ui, sans-serif;
  --eyebrow-tracking: 0.08em;
}

html[data-theme="dark"] {
  --canvas: #100901;
  --surface: #28221a;
  --surface-2: #1c150e;
  --border: #312b25;
  --border-strong: #58534d;
  --ink: #f4f5f6;
  --muted: #999794;
  --accent: #d9720a;
  --accent-hover: #df872f;
  --accent-ink: #1e1001;
  --accent-text: #d9720a;
  --accent-strong: #d9720a;
  --accent-soft: #3c2003;
  --accent-border: #6a3805;
  --success: #2f7a4f;
  --success-ink: #ffffff;
  --success-soft: #172212;
  --success-strong: #5d9876;
  --warning: #b58a2f;
  --warning-ink: #ffffff;
  --warning-soft: #34250b;
  --warning-strong: #b58a2f;
  --danger: #b53a3a;
  --danger-ink: #ffffff;
  --danger-soft: #34140e;
  --danger-strong: #ca7171;
  --chart-1: #d9720a;
  --chart-2: #aab825;
  --chart-3: #1f947d;
  --chart-4: #25b4f6;
  --chart-5: #8968d4;
  --chart-6: #f67bae;
}

/*
 * app.css — this app's own CSS: the vertical story/reel frame used in the
 * reel preview screen. Everything else is primitives + utilities.
 */

.reel-frame {
  position: relative;
  width: min(360px, 86vw);
  aspect-ratio: 9 / 16;
  border-radius: 28px;
  overflow: hidden;
  box-shadow: var(--shadow-card);
  background: var(--ink);
}

.reel-track {
  display: flex;
  height: 100%;
  transition: transform 0.5s cubic-bezier(0.65, 0, 0.35, 1);
}

.reel-slide {
  height: 100%;
  flex: 1 0 100%;
  width: 100%;
}

.reel-progress {
  position: absolute;
  top: 12px;
  left: 12px;
  right: 12px;
  display: flex;
  gap: 4px;
}

.reel-dot {
  flex: 1;
  height: 3px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--x-on-photo) 30%, transparent);
  overflow: hidden;
}

.reel-dot::after {
  content: "";
  display: block;
  height: 100%;
  width: 0%;
  background: var(--x-on-photo);
}

.reel-dot[data-active]::after {
  width: 100%;
}

.reel-dot[data-filled]::after {
  width: 100%;
}

.reel-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.reel-nav-prev {
  left: -1.25rem;
}

.reel-nav-next {
  right: -1.25rem;
}

@media (max-width: 640px) {
  .reel-nav-prev {
    left: -0.5rem;
  }
  .reel-nav-next {
    right: -0.5rem;
  }
}

html.reduced-motion .reel-track {
  transition: none;
}

.reel-frame-mini {
  width: min(220px, 60vw);
  margin: 0 auto;
  box-shadow: var(--shadow-card);
}
