/* Measured from getstarrd.app, 2026-10-12. Layout stays in the page snapshots. */
@font-face {
  font-family: Manrope;
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url("/beatrole/fonts/manrope-latin.woff2") format("woff2");
  unicode-range:
    U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC,
    U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212,
    U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: Manrope;
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url("/beatrole/fonts/manrope-latin-ext.woff2") format("woff2");
  unicode-range:
    U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF,
    U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
    U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: Syne;
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("/beatrole/fonts/syne-latin.woff2") format("woff2");
  unicode-range:
    U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC,
    U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212,
    U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: Syne;
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("/beatrole/fonts/syne-latin-ext.woff2") format("woff2");
  unicode-range:
    U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF,
    U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
    U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Syne Mono";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/beatrole/fonts/syne-mono-latin.woff2") format("woff2");
}
:root,
.dark {
  --font-sans: Manrope, "PingFang SC", "Microsoft YaHei", sans-serif;
  --font-display: Syne, "PingFang SC", "Microsoft YaHei", sans-serif;
  --font-serif-display: var(--font-display);
  --background: #0a0a0a;
  --foreground: #fff;
  --primary: #e6ff6f;
  --primary-foreground: #0a0a0a;
  --card: #141414;
  --card-foreground: #fff;
  --popover: #141414;
  --popover-foreground: #fff;
  --secondary: #141414;
  --secondary-foreground: #fff;
  --muted: #1a1a1a;
  --muted-foreground: #a3a3a3;
  --accent: #ffffff0d;
  --accent-foreground: #fff;
  --border: #ffffff1c;
  --input: #ffffff29;
  --ring: #e6ff6f;
  --sidebar: #0a0a0a;
  --sidebar-foreground: #fff;
  --sidebar-primary: #e6ff6f;
  --sidebar-primary-foreground: #0a0a0a;
  --sidebar-accent: #1a1a1a;
  --sidebar-accent-foreground: #fff;
  --sidebar-border: #ffffff1c;
  --sidebar-ring: #e6ff6f;
  --glow-green: 0 0 28px #e6ff6f59;
  --glow-green-sm: 0 0 14px #e6ff6f4d;
  color-scheme: dark;
}
html.light {
  --background: #fafaf8;
  --foreground: #0a0a0a;
  --card: #fff;
  --card-foreground: #0a0a0a;
  --popover: #fff;
  --popover-foreground: #0a0a0a;
  --secondary: #f1f1eb;
  --secondary-foreground: #0a0a0a;
  --muted: #ebebe4;
  --muted-foreground: #62625b;
  --accent: #0a0a0a0d;
  --accent-foreground: #0a0a0a;
  --border: #0a0a0a24;
  --input: #0a0a0a33;
  --ring: #7e950f;
  color-scheme: light;
}
body,
.paper {
  font-family: var(--font-sans);
  background: var(--background);
  background-image: none;
  color: var(--foreground);
}
button,
a {
  transition-duration: 200ms;
  transition-timing-function: ease-out;
}
:is(a, button).sticker img,
#all-pages a img {
  transition: transform 500ms ease-out;
}
:root :is(h1, h2, h3, .font-display, .font-serif) {
  font-family: var(--font-display);
  font-style: normal;
  text-transform: none;
  letter-spacing: -0.025em;
}
:root :is(h1, h2, .font-display) {
  font-weight: 800;
}
:root h3 {
  font-weight: 700;
}
h1 {
  max-width: 1280px;
  margin-inline: auto;
  text-wrap: balance;
}
h1 > span {
  font-family: var(--font-sans);
  font-weight: 500;
  letter-spacing: -0.02em;
}
#create h1,
.home-hero h1 {
  font-size: clamp(32px, 5.5vw, 72px);
  line-height: 1.333333;
}
#home {
  padding-top: 0;
  padding-bottom: 0;
}
.home-hero {
  display: flex;
  min-height: calc(100svh - 64px);
  flex-direction: column;
  justify-content: center;
  /* Keep room for the omitted trend-tag row above the existing lead-in. */
  padding-top: calc(40px + 48px);
  padding-bottom: 24px;
}
.home-studio {
  min-height: 100svh;
  align-content: center;
  padding-block: 64px 48px;
}
h2.font-sans,
.font-sans {
  font-family: var(--font-sans);
}
header {
  border-bottom: 0;
  background: #0a0a0acc;
  backdrop-filter: blur(24px);
}
header > div > div:first-child > a > span,
[data-slot="sidebar"] .font-serif {
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 800;
  font-style: normal;
  letter-spacing: -0.025em;
  text-transform: uppercase;
}
header > div > div:first-child > a > img {
  filter: drop-shadow(0 0 14px #e6ff6f73);
}
header nav a {
  font-weight: 400;
  color: #a3a3a3;
}
header nav a:hover,
header nav a[aria-current="page"] {
  color: #fff;
}
.stage-wash {
  background: #0a0a0a;
}
[data-slot="sidebar"][data-state="collapsed"] .font-serif {
  display: none;
}
[data-slot="sidebar"][data-state="collapsed"] [data-slot="sidebar-header"] a {
  overflow: hidden;
}
.stage-grid,
.stage-beam,
.stage-glow,
.stage-floor,
.stage-grain {
  display: none;
}
.sticker,
.sticker-sm {
  border: 1px solid var(--border);
  box-shadow: none;
  rotate: 0deg;
  transform: none;
}
[class*="rotate-1"],
[class*="rotate-2"] {
  rotate: 0deg;
  transform: none;
}
p.sticker-sm {
  font-family: "Syne Mono", monospace;
  font-weight: 400;
  border: 0;
  border-radius: 0;
  color: var(--primary);
  background: transparent;
  letter-spacing: 0.1em;
}
footer {
  background: #0a0a0a;
  border-top: 1px solid #ffffff1c;
}
button.bg-primary,
a.bg-primary,
button[data-header-action],
a.sticker-sm {
  border-radius: 999px;
  font-family: var(--font-sans);
  font-weight: 600;
  letter-spacing: normal;
  text-transform: none;
}
button.bg-primary,
a.bg-primary,
button[data-header-action] {
  box-shadow: var(--glow-green-sm);
}
button.bg-primary:hover,
a.bg-primary:hover,
button[data-header-action]:hover {
  background: #d7f24e;
  box-shadow: var(--glow-green);
}
button.bg-primary:active,
a.bg-primary:active {
  scale: 0.97;
}
button[aria-pressed="true"].border-primary,
button[aria-checked="true"] {
  border-color: var(--primary);
}
:where(button, a, input, textarea, select):focus-visible {
  outline: 2px solid var(--ring);
  outline-offset: 3px;
}
:is(div, li, figure, a).rounded-2xl {
  border-radius: 24px;
}
:is(div, li, figure, a, button).rounded-xl {
  border-radius: 18px;
}
:is(li, div).border-2:not([id^="studio-photo-"]),
.sticker,
.sticker-sm {
  border-width: 1px;
  border-color: var(--border);
}
:is(a, button).sticker,
#examples figure > div,
#all-pages a {
  border: 1px solid var(--border);
  border-radius: 18px;
  box-shadow: none;
  overflow: hidden;
}
:is(a, button).sticker:hover,
#all-pages a:hover,
#examples figure > div:hover {
  border-color: #e6ff6f73;
  box-shadow: 0 0 30px #0009;
}
:is(a, button).sticker:hover img:not([src^="data:"]),
#all-pages a:hover img {
  transform: scale(1.1);
}
/* Let media cover the caption while retaining both original layout blocks. */
#all-pages a:has(> div > img) {
  position: relative;
  isolation: isolate;
}
#all-pages a > div:first-child:has(> img) {
  position: static;
  overflow: visible;
  background: transparent;
}
#all-pages a > div:first-child > :is(img, video) {
  z-index: 0;
}
#all-pages a:has(> div > img)::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(0deg, #000 0%, #0008 48%, transparent 100%);
  opacity: 0.8;
  transition: opacity 300ms;
}
#all-pages a:has(> div > img):hover::after {
  opacity: 0.7;
}
#all-pages a > div:last-child {
  position: relative;
  z-index: 1;
}
#all-pages a h3 {
  color: #fff;
  text-shadow: 0 2px 4px #000c;
}
#all-pages a p {
  color: #fffc;
  text-shadow: 0 1px 2px #0009;
}
input:not([type="file"]),
textarea {
  border-radius: 12px;
  background: var(--card);
}
.beat-video-prompt {
  min-height: 96px;
  resize: vertical;
}
.beat-video-controls {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: space-between;
  gap: 24px;
}
.beat-video-notes {
  min-width: 0;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: var(--card);
}
.beat-video-notes-toggle {
  display: flex;
  min-height: 48px;
  width: 100%;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  border-radius: 18px;
  color: var(--foreground);
  text-align: left;
  transition: background-color 150ms;
}
.beat-video-notes-toggle:hover {
  background: var(--accent);
}
.beat-video-notes-toggle:focus-visible {
  outline: 2px solid var(--ring);
  outline-offset: 2px;
}
.beat-video-notes-toggle[aria-expanded="true"] {
  border-radius: 18px 18px 0 0;
}
.beat-video-notes-labels {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 12px;
}
.beat-video-notes-toggle svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
.beat-video-notes-toggle .lucide-chevron-down {
  color: var(--muted-foreground);
  transition: transform 150ms;
}
.beat-video-notes-toggle[aria-expanded="true"] .lucide-chevron-down {
  transform: rotate(180deg);
}
.beat-video-notes-content {
  margin-inline: 16px;
  padding: 12px 0 16px;
  border-top: 1px solid var(--border);
}
.beat-video-notes .beat-video-prompt {
  display: block;
  min-width: 0;
  background: var(--card);
}
.replica-toast,
.replica-language-menu,
.replica-account-menu {
  font-family: var(--font-sans);
  border-radius: 18px;
}
html.light .text-primary:not(.bg-primary) {
  color: #617407;
}
@media (max-width: 767px) {
  .home-hero {
    padding-top: 64px;
    padding-bottom: 32px;
  }
  h1 {
    font-size: clamp(32px, 8vw, 60px);
  }
  /* biome-ignore lint/style/noDescendingSpecificity: header layout cannot target example card containers. */
  header > div {
    flex-wrap: wrap;
    height: auto;
    min-height: 64px;
    gap: 8px;
    padding-block: 10px;
  }
  header > div > div:first-child {
    flex-wrap: wrap;
    gap: 12px;
  }
  header nav {
    flex-wrap: wrap;
    gap: 14px;
  }
  /* biome-ignore lint/style/noDescendingSpecificity: header actions cannot target media card captions. */
  header > div > div:last-child {
    margin-left: auto;
  }
  header button[data-header-action] {
    max-width: 150px;
  }
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
  }
}
.home-hero-media li {
  min-width: 136px;
}
.home-template-section {
  padding-block: 64px;
}
.video-history-section {
  padding-block: 40px 56px;
}
[data-video-history][hidden],
.video-history-card [hidden] {
  display: none;
}
.video-history-section h2 {
  margin-bottom: 20px;
  font-size: 24px;
  font-weight: 700;
}
.video-history-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 196px));
  align-items: start;
  gap: 20px;
  list-style: none;
}
.video-history-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: var(--card);
}
.video-history-media {
  display: grid;
  aspect-ratio: 9 / 16;
  overflow: hidden;
  background: var(--muted);
}
.video-history-media video {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #000;
}
.video-history-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 16px;
  color: var(--muted-foreground);
  text-align: center;
  font-size: 13px;
}
.video-history-spinner {
  width: 28px;
  height: 28px;
  border: 2px solid var(--border);
  border-top-color: var(--primary);
  border-radius: 50%;
  animation: video-history-spin 1s linear infinite;
}
.video-history-card[data-job-status="failed"] .video-history-spinner,
.video-history-card[data-job-status="unknown"] .video-history-spinner {
  display: none;
}
@keyframes video-history-spin {
  to {
    transform: rotate(360deg);
  }
}
.video-history-copy {
  padding: 12px;
}
.video-history-copy h3 {
  font-size: 14px;
  font-weight: 600;
}
/* biome-ignore lint/style/noDescendingSpecificity: saved task metadata is outside template showcase links. */
.video-history-copy p,
.video-history-copy time {
  display: block;
  margin-top: 6px;
  color: var(--muted-foreground);
  font-size: 12px;
  line-height: 1.5;
}
.video-history-copy a {
  display: flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  margin-top: 12px;
  border: 1px solid var(--border);
  border-radius: 10px;
  font-size: 13px;
  font-weight: 600;
}
.video-history-copy a:hover {
  background: var(--accent);
}
.video-history-copy a:focus-visible {
  outline: 2px solid var(--ring);
  outline-offset: 2px;
}
@media (max-width: 639px) {
  .video-history-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }
  .video-history-section h2 {
    font-size: 22px;
  }
}
.home-demo-template {
  width: 100%;
  max-width: 760px;
  margin-inline: auto;
  list-style: none;
}
.home-demo-card {
  display: grid;
  grid-template-columns: 216px minmax(0, 1fr);
  gap: 32px;
  align-items: center;
  padding: 24px;
  border: 1px solid var(--border);
  border-radius: 24px;
  background: var(--card);
}
.home-demo-media {
  aspect-ratio: 9 / 16;
  overflow: hidden;
  border-radius: 16px;
  background: #000;
}
.home-demo-media video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.home-demo-copy {
  min-width: 0;
}
.home-demo-copy h3 {
  font-size: 28px;
  line-height: 1.2;
}
.home-demo-meta {
  margin-top: 12px;
  color: var(--primary);
  font-size: 13px;
  line-height: 1.5;
}
.home-demo-description {
  margin-top: 16px;
  color: var(--muted-foreground);
  font-size: 16px;
  line-height: 1.6;
}
#all-pages .home-demo-cta {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 24px;
  padding: 10px 20px;
  border-color: transparent;
  border-radius: 999px;
  background: var(--primary);
  color: var(--primary-foreground);
  font-size: 14px;
  font-weight: 700;
}
#all-pages .home-demo-cta:hover {
  border-color: transparent;
  background: var(--primary);
  box-shadow: 0 0 24px #e6ff6f26;
}
@media (max-width: 639px) {
  .home-template-section {
    padding-block: 48px;
  }
  .home-demo-card {
    grid-template-columns: 136px minmax(0, 1fr);
    gap: 16px;
    padding: 16px;
  }
  .home-demo-copy h3 {
    font-size: 22px;
  }
  .home-demo-description {
    margin-top: 12px;
    font-size: 14px;
  }
  #all-pages .home-demo-cta {
    width: 100%;
    margin-top: 20px;
    padding-inline: 12px;
  }
}
@media (max-width: 359px) {
  .home-demo-card {
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 12px;
    padding: 12px;
  }
  .home-demo-copy h3 {
    font-size: 20px;
  }
}
.home-hero-media .hero-clip {
  position: relative;
}
.hero-clip-player {
  aspect-ratio: 9 / 16;
}
.hero-clip-sound {
  position: absolute;
  top: 8px;
  right: 8px;
  display: flex;
  width: 28px;
  height: 28px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #0009;
  color: #fff;
}
.hero-clip-player[aria-pressed="false"] .hero-clip-audible,
.hero-clip-player[aria-pressed="true"] .hero-clip-muted {
  display: none;
}
.hero-clip-caption {
  position: absolute;
  inset: auto 0 0;
  padding: 32px 8px 10px;
  border-radius: 0 0 18px 18px;
  background: linear-gradient(0deg, #000e 0%, #000a 65%, transparent 100%);
  color: #fff;
  text-align: left;
  font-size: 12px;
  line-height: 1.4;
  pointer-events: none;
}
.hero-clip-title {
  display: block;
  margin-bottom: 3px;
  font-weight: 700;
}
.hero-clip-caption a {
  display: block;
  overflow-wrap: anywhere;
  text-decoration: underline;
  text-underline-offset: 3px;
  pointer-events: auto;
}
.hero-clip-caption a:hover {
  color: var(--primary);
}
@media (min-width: 640px) and (prefers-reduced-motion: no-preference) {
  .home-hero-media li:nth-child(1) {
    rotate: -2deg;
  }
  .home-hero-media li:nth-child(2) {
    rotate: 1.5deg;
  }
  .home-hero-media li:nth-child(3) {
    rotate: -1deg;
  }
  .home-hero-media li:nth-child(4) {
    rotate: 2deg;
  }
  .home-hero-media li:hover {
    rotate: 0deg;
  }
}
