
:root {
  color-scheme: light dark;
  --font-family-theme: "Aptos", "Segoe UI Variable", "Segoe UI", "SF Pro Text", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-family-body: var(--font-family-theme);
  --font-family-heading: var(--font-family-theme);
  font-family: var(--font-family-body);
  --color-background: #faf8f2;
  --color-surface: #ffffff;
  --color-surface-strong: #f4ede4;
  --color-text: #1e1a16;
  --color-muted: #655d57;
  --color-primary: #0b5bd3;
  --color-primary-contrast: #ffffff;
  --bg: var(--color-background);
  --surface: var(--color-surface);
  --surface-strong: var(--color-surface-strong);
  --text: var(--color-text);
  --muted: var(--color-muted);
  --accent: var(--color-primary);
  --accent-contrast: var(--color-primary-contrast);
  --accent-soft: color-mix(in srgb, var(--accent) 14%, var(--surface));
  --accent-strong: color-mix(in srgb, var(--accent) 82%, #000000);
  --color-border: #d2c7bc;
  --border: var(--color-border);
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  --shadow-hover: 0 10px 24px rgba(0, 0, 0, 0.12);
  --radius-sm: 0.5rem;
  --radius-md: 0.875rem;
  --radius-lg: 1.25rem;
  --density-scale: 1;
  --thumbnail-scale: 1;
  --spacing-scale: 1;
  --settings-control-inline-size: clamp(11.5rem, 32vw, 14rem);
}
:root[data-theme="light"] {
  color-scheme: light;
  --font-family-theme: "Aptos", "Segoe UI Variable", "Segoe UI", "SF Pro Text", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --color-background: #faf8f2;
  --color-surface: #ffffff;
  --color-surface-strong: #f4ede4;
  --color-text: #1e1a16;
  --color-muted: #655d57;
  --color-primary: #0b5bd3;
  --color-primary-contrast: #ffffff;
  --color-border: #d2c7bc;
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --font-family-theme: "Aptos", "Segoe UI Variable", "Segoe UI", "SF Pro Text", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --color-background: #151617;
  --color-surface: #202326;
  --color-surface-strong: #262b30;
  --color-text: #edf1f5;
  --color-muted: #b2bbc4;
  --color-primary: #8ab4ff;
  --color-primary-contrast: #10233b;
  --color-border: #3a434d;
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.24);
  --shadow-hover: 0 10px 24px rgba(0, 0, 0, 0.3);
}
:root[data-theme="spring"] {
  color-scheme: light;
  --font-family-theme: "Trebuchet MS", "Aptos", "Segoe UI Variable", "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --color-background: #f4fbf1;
  --color-surface: #ffffff;
  --color-surface-strong: #e8f3e9;
  --color-text: #213127;
  --color-muted: #52655b;
  --color-primary: #267a4c;
  --color-primary-contrast: #ffffff;
  --color-border: #c6dfcb;
}
:root[data-theme="summer"] {
  color-scheme: light;
  --font-family-theme: "Gill Sans", "Aptos", "Trebuchet MS", "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --color-background: #fff6df;
  --color-surface: #fffdf7;
  --color-surface-strong: #f8ebc4;
  --color-text: #33240f;
  --color-muted: #75603f;
  --color-primary: #d27a00;
  --color-primary-contrast: #221506;
  --color-border: #ead6a6;
}
:root[data-theme="autumn"] {
  color-scheme: light;
  --font-family-theme: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;
  --color-background: #fbf0e8;
  --color-surface: #fffaf5;
  --color-surface-strong: #f3e2d6;
  --color-text: #372019;
  --color-muted: #7d5f51;
  --color-primary: #b64f28;
  --color-primary-contrast: #ffffff;
  --color-border: #e3c7b8;
}
:root[data-theme="winter"] {
  color-scheme: light;
  --font-family-theme: "Bahnschrift", "Aptos Narrow", "Aptos", "Segoe UI Variable", "Segoe UI", Helvetica, Arial, sans-serif;
  --color-background: #eef5fb;
  --color-surface: #ffffff;
  --color-surface-strong: #e4edf6;
  --color-text: #1b2738;
  --color-muted: #5d6f85;
  --color-primary: #2d6db7;
  --color-primary-contrast: #ffffff;
  --color-border: #c8d9e9;
}
:root[data-theme="orange"] {
  color-scheme: light;
  --font-family-theme: "Gill Sans", "Aptos", "Trebuchet MS", "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --color-background: #fff2e6;
  --color-surface: #fffaf5;
  --color-surface-strong: #ffe3cb;
  --color-text: #3a2515;
  --color-muted: #7d5a40;
  --color-primary: #c15600;
  --color-primary-contrast: #ffffff;
  --color-border: #f0c49a;
}
:root[data-theme="watermelon"] {
  color-scheme: light;
  --font-family-theme: "Arial Rounded MT Bold", "Trebuchet MS", "Aptos", "Segoe UI Variable", "Segoe UI", Helvetica, Arial, sans-serif;
  --color-background: #fff1f5;
  --color-surface: #fff9fb;
  --color-surface-strong: #ffd7e1;
  --color-text: #331b22;
  --color-muted: #815563;
  --color-primary: #d9325d;
  --color-primary-contrast: #ffffff;
  --color-border: #f0b6c5;
}
:root[data-theme="lime"] {
  color-scheme: light;
  --font-family-theme: "Trebuchet MS", "Aptos", "Segoe UI Variable", "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --color-background: #f5ffe8;
  --color-surface: #fbfff5;
  --color-surface-strong: #e2f5b7;
  --color-text: #22310f;
  --color-muted: #5d7040;
  --color-primary: #6bba1e;
  --color-primary-contrast: #102408;
  --color-border: #d4e8a4;
}
:root[data-theme="black-white"] {
  color-scheme: light;
  --font-family-theme: "Aptos Narrow", "Bahnschrift", "Arial Narrow", "Aptos", "Segoe UI Variable", "Segoe UI", Helvetica, Arial, sans-serif;
  --color-background: #f8f8f8;
  --color-surface: #ffffff;
  --color-surface-strong: #ededed;
  --color-text: #111111;
  --color-muted: #444444;
  --color-primary: #111111;
  --color-primary-contrast: #ffffff;
  --color-border: #111111;
  --shadow: 0 1px 2px rgba(0, 0, 0, 0.12);
  --shadow-hover: 0 8px 20px rgba(0, 0, 0, 0.16);
}
:root[data-theme="anime"] {
  color-scheme: light;
  --font-family-theme: "Yu Gothic UI", "Hiragino Sans", "Meiryo", "Aptos", "Segoe UI Variable", "Segoe UI", Helvetica, Arial, sans-serif;
  --color-background: #fff6fc;
  --color-surface: #ffffff;
  --color-surface-strong: #ffe0f1;
  --color-text: #2f2140;
  --color-muted: #73608a;
  --color-primary: #7c4dff;
  --color-primary-contrast: #ffffff;
  --color-border: #d8c2ef;
}
:root[data-theme="cacao"] {
  color-scheme: dark;
  --font-family-theme: "Palatino Linotype", "Book Antiqua", Georgia, serif;
  --color-background: #2a1d18;
  --color-surface: #382722;
  --color-surface-strong: #4a342c;
  --color-text: #f5ede8;
  --color-muted: #d2b5a8;
  --color-primary: #b9783d;
  --color-primary-contrast: #20120e;
  --color-border: #6a4a3d;
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.28);
  --shadow-hover: 0 10px 24px rgba(0, 0, 0, 0.34);
}
:root[data-theme="redstone"] {
  color-scheme: dark;
  --font-family-theme: "Aptos Narrow", "Bahnschrift", "Arial Narrow", "Aptos", "Segoe UI Variable", "Segoe UI", Helvetica, Arial, sans-serif;
  --color-background: #1f1918;
  --color-surface: #2a2321;
  --color-surface-strong: #3a2f2c;
  --color-text: #f2ebe7;
  --color-muted: #c5b2ad;
  --color-primary: #c44731;
  --color-primary-contrast: #ffffff;
  --color-border: #6f4940;
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.28);
  --shadow-hover: 0 10px 24px rgba(0, 0, 0, 0.34);
}
:root[data-theme="80s-neon"] {
  color-scheme: dark;
  --font-family-theme: "Arial Rounded MT Bold", "Trebuchet MS", "Aptos", "Segoe UI Variable", "Segoe UI", Helvetica, Arial, sans-serif;
  --color-background: #12071d;
  --color-surface: #1a0d28;
  --color-surface-strong: #28113b;
  --color-text: #f6ecff;
  --color-muted: #d2b5ff;
  --color-primary: #ff39c6;
  --color-primary-contrast: #240717;
  --color-border: #7f44ff;
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
  --shadow-hover: 0 10px 24px rgba(0, 0, 0, 0.38);
}
:root[data-theme="desert"] {
  color-scheme: light;
  --font-family-theme: "Palatino Linotype", "Book Antiqua", Georgia, serif;
  --color-background: #f8ead8;
  --color-surface: #fff8ef;
  --color-surface-strong: #efd5b0;
  --color-text: #442d1b;
  --color-muted: #89684f;
  --color-primary: #a66514;
  --color-primary-contrast: #ffffff;
  --color-border: #e5c299;
}
:root[data-theme="tropical-jungle"] {
  color-scheme: dark;
  --font-family-theme: "Gill Sans", "Aptos", "Trebuchet MS", "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --color-background: #10251d;
  --color-surface: #173126;
  --color-surface-strong: #214334;
  --color-text: #edf7ef;
  --color-muted: #a7c5ae;
  --color-primary: #2fcf83;
  --color-primary-contrast: #052212;
  --color-border: #3e7059;
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.26);
  --shadow-hover: 0 10px 24px rgba(0, 0, 0, 0.34);
}
:root[data-theme="volcano"] {
  color-scheme: dark;
  --font-family-theme: "Aptos Narrow", "Bahnschrift", "Arial Narrow", "Aptos", "Segoe UI Variable", "Segoe UI", Helvetica, Arial, sans-serif;
  --color-background: #1c1413;
  --color-surface: #281918;
  --color-surface-strong: #3b2322;
  --color-text: #f9eded;
  --color-muted: #d5b1a8;
  --color-primary: #ff5a36;
  --color-primary-contrast: #2a0d07;
  --color-border: #7b3a2f;
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
  --shadow-hover: 0 10px 24px rgba(0, 0, 0, 0.38);
}
:root[data-theme="ocean"] {
  color-scheme: light;
  --font-family-theme: "Bahnschrift", "Aptos Narrow", "Aptos", "Segoe UI Variable", "Segoe UI", Helvetica, Arial, sans-serif;
  --color-background: #e9f8ff;
  --color-surface: #f8fdff;
  --color-surface-strong: #d0edf8;
  --color-text: #133247;
  --color-muted: #557991;
  --color-primary: #007ea8;
  --color-primary-contrast: #ffffff;
  --color-border: #b6ddec;
}
:root[data-theme="comic-book"] {
  color-scheme: light;
  --font-family-theme: "Comic Sans MS", "Comic Neue", "Trebuchet MS", cursive, sans-serif;
  --color-background: #fff9d9;
  --color-surface: #fffef6;
  --color-surface-strong: #ffe869;
  --color-text: #191919;
  --color-muted: #5d4e29;
  --color-primary: #e02222;
  --color-primary-contrast: #ffffff;
  --color-border: #1d1d1d;
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.14);
  --shadow-hover: 0 10px 24px rgba(0, 0, 0, 0.18);
}
@media (prefers-color-scheme: dark) {
  :root[data-theme="auto"] {
    color-scheme: dark;
    --font-family-theme: "Aptos", "Segoe UI Variable", "Segoe UI", "SF Pro Text", "Helvetica Neue", Helvetica, Arial, sans-serif;
    --color-background: #151617;
    --color-surface: #202326;
    --color-surface-strong: #262b30;
    --color-text: #edf1f5;
    --color-muted: #b2bbc4;
    --color-primary: #8ab4ff;
    --color-primary-contrast: #10233b;
    --color-border: #3a434d;
    --shadow: 0 1px 3px rgba(0, 0, 0, 0.24);
    --shadow-hover: 0 10px 24px rgba(0, 0, 0, 0.3);
  }
}
@media (prefers-color-scheme: light) {
  :root[data-theme="auto"] {
    color-scheme: light;
    --font-family-theme: "Aptos", "Segoe UI Variable", "Segoe UI", "SF Pro Text", "Helvetica Neue", Helvetica, Arial, sans-serif;
    --color-background: #faf8f2;
    --color-surface: #ffffff;
    --color-surface-strong: #f4ede4;
    --color-text: #1e1a16;
    --color-muted: #655d57;
    --color-primary: #0b5bd3;
    --color-primary-contrast: #ffffff;
    --color-border: #d2c7bc;
  }
}
:root[data-high-contrast="on"] {
  --color-background: #ffffff;
  --color-surface: #ffffff;
  --color-surface-strong: #ffffff;
  --color-text: #000000;
  --color-muted: #1f1f1f;
  --color-primary: #0037a3;
  --color-primary-contrast: #ffffff;
  --color-border: #000000;
  --shadow: none;
  --shadow-hover: none;
}
:root[data-large-text="on"] {
  font-size: 118%;
}
:root[data-accessibility-profile="senior"] body {
  line-height: 1.7;
}
body {
  margin: 0 auto;
  max-width: 76rem;
  padding: calc(2rem * var(--spacing-scale));
  background: var(--bg);
  color: var(--text);
  line-height: 1.6;
  font-family: var(--font-family-body);
}
h1, h2, h3, p, dt, dd, button, input, select, .button-link {
  font-family: var(--font-family-body);
}
h1, h2, h3 {
  font-family: var(--font-family-heading);
}
h1 {
  margin: 0 0 0.5rem;
  font-size: clamp(2rem, 2.4vw, 2.6rem);
  line-height: 1.1;
  letter-spacing: -0.02em;
}
h2 {
  margin: 0 0 0.6rem;
  font-size: clamp(1.45rem, 1.8vw, 1.85rem);
  line-height: 1.2;
  letter-spacing: -0.01em;
}
h3 {
  margin: 0 0 0.45rem;
  font-size: 1.15rem;
  line-height: 1.3;
}
p {
  margin: 0.5rem 0;
}
a {
  color: var(--accent);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.15em;
  transition: text-decoration-thickness 0.15s;
}
a:hover {
  text-decoration-thickness: 2px;
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 3px;
}
.active-state:focus,
.active-state:focus-visible,
.playlist-restore-status:focus,
.playlist-restore-status:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 0.2rem;
  border-radius: var(--radius-sm);
}
.skip-link {
  position: absolute;
  left: -9999px;
}
.skip-link:focus {
  left: 1rem;
  top: 1rem;
  background: var(--surface);
  color: var(--text);
  padding: 0.5rem 0.75rem;
  border-radius: var(--radius-sm);
  z-index: 1000;
}
.site-header {
  margin-bottom: calc(2rem * var(--spacing-scale));
  padding-bottom: calc(1rem * var(--spacing-scale));
  border-bottom: 1px solid var(--border);
}
.site-name,
.site-kicker,
.meta,
.settings-summary,
.page-lead,
.playlist-description,
.playlist-card-description,
.active-state,
.playlist-restore-status,
.page-range,
.tag-filter-summary,
.tag-filter-empty,
.playback-disclosure,
.playback-note,
.video-language,
.playlist-card-lang,
.info-section p {
  color: var(--muted);
}
.site-name {
  margin: 0;
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.page-nav-shell {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: calc(0.9rem * var(--spacing-scale)) calc(1.5rem * var(--spacing-scale));
  margin-top: 0.85rem;
  flex-wrap: wrap;
}
.page-nav-shell--playlist {
  display: grid;
  gap: 0.75rem;
  justify-items: stretch;
  inline-size: 100%;
}
.page-nav-group {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  padding: 0;
  margin: 0;
  list-style: none;
}
.page-nav-group--primary {
  margin-inline-end: auto;
}
.page-nav-group a,
.page-nav-group button,
.page-nav-group .page-nav-control--disabled,
.page-nav-group strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.4rem;
  padding: 0.45rem 0.75rem;
  border-radius: 999px;
  text-decoration: none;
}
.page-nav-group a,
.page-nav-group button {
  background: color-mix(in srgb, var(--surface) 78%, var(--bg));
}
.page-nav-group a:hover,
.page-nav-group button:hover {
  background: color-mix(in srgb, var(--surface) 60%, var(--bg));
}
.page-nav-group strong {
  background: var(--surface-strong);
  color: var(--text);
}
.page-nav-group button {
  font: inherit;
}
.playlist-page-shortcuts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 1rem;
  align-items: center;
  margin: 0 0 0.9rem;
}
.index-page-shortcuts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 1rem;
  align-items: center;
  margin: 0 0 0.9rem;
}
.playlist-page-shortcut {
  color: var(--accent);
  font-size: 0.92rem;
  font-weight: 600;
  text-decoration: none;
}
.playlist-page-shortcut:hover {
  color: var(--accent-strong);
}
.page-nav-control--disabled {
  border: 1px dashed var(--border);
  background: color-mix(in srgb, var(--surface) 74%, var(--bg));
  color: var(--muted);
}
.page-nav-group--playlist-controls {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
  gap: 0.5rem;
  justify-content: stretch;
  width: 100%;
}
.page-nav-group--playlist-controls li {
  min-width: 0;
  width: 100%;
}
.page-nav-shell--playlist .page-nav-control,
.page-nav-shell--playlist .page-nav-control--disabled {
  box-sizing: border-box;
  inline-size: 100%;
  min-height: 2.85rem;
  padding: 0.6rem 0.85rem;
  border-radius: var(--radius-md);
  text-align: center;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
}
.page-nav-shell--playlist .page-nav-control {
  border: 1px solid var(--accent);
  background: color-mix(in srgb, var(--accent) 10%, var(--surface));
  color: var(--accent-strong);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 16%, transparent);
}
.page-nav-shell--playlist .page-nav-control:hover {
  background: color-mix(in srgb, var(--accent) 18%, var(--surface));
}
.page-nav-shell--playlist .page-nav-control--disabled {
  border-style: solid;
  border-color: color-mix(in srgb, var(--border) 78%, var(--surface));
  background: color-mix(in srgb, var(--surface) 84%, var(--bg));
}
.page-nav-secondary-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 1rem;
  align-items: center;
  width: 100%;
  list-style: none;
  margin: 0;
  padding: 0;
}
.page-nav-secondary-link {
  color: var(--accent);
  font-size: 0.92rem;
  font-weight: 600;
}
.page-nav-secondary-link:hover {
  text-decoration-thickness: 2px;
}
.playlist-grid {
  display: grid;
  gap: calc(1rem * var(--spacing-scale));
  padding-left: 0;
  margin: 0;
  list-style: none;
}
.playlist-card {
  list-style: none;
  display: grid;
  grid-template-columns: minmax(2.75rem, auto) minmax(calc(12rem * var(--thumbnail-scale)), calc(16rem * var(--thumbnail-scale))) minmax(0, 1fr);
  gap: calc(1rem * var(--density-scale));
  align-items: start;
  padding: calc(1rem * var(--density-scale));
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--surface);
  box-shadow: var(--shadow);
  transition: box-shadow 0.15s, transform 0.15s;
  position: relative;
}
.playlist-card-index {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.5rem;
  min-width: 2.5rem;
  border-radius: 999px;
  background: var(--surface-strong);
  color: var(--accent-strong);
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}
.playlist-card:hover {
  box-shadow: var(--shadow-hover);
  transform: translateY(-1px);
}
.playlist-card:focus-within {
  border-color: color-mix(in srgb, var(--accent) 55%, var(--border));
  box-shadow: var(--shadow-hover), 0 0 0 2px color-mix(in srgb, var(--accent) 20%, transparent);
}
.playlist-card-thumb {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--surface-strong);
  object-fit: cover;
}
.playlist-card-copy {
  display: grid;
  gap: calc(0.55rem * var(--density-scale));
  min-width: 0;
}
.playlist-card-title {
  font-size: 1.2rem;
  font-weight: 700;
  text-decoration: none;
}
.playlist-card-title::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}
.playlist-card-title:focus-visible {
  outline: none;
}
.playlist-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.55rem;
  color: var(--muted);
}
.playlist-card-meta > span:not(.playlist-card-meta-line) {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: 0.1rem 0.6rem;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--surface-strong);
  font-size: 0.8rem;
}
.playlist-card-meta-line {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  width: 100%;
}
.playlist-card-duration,
.playlist-card-date,
.playlist-card-lang {
  display: inline-block;
  padding: 0.16rem 0.55rem;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--surface-strong);
  font-size: 0.8rem;
  font-variant-numeric: tabular-nums;
}
.playlist-card-description,
.playlist-card-tags {
  margin: 0;
}
.playlist-card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}
.card-detail-region {
  display: none;
  gap: 0.35rem;
}
.card-detail-label {
  margin: 0;
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.4;
}
.card-detail-tags {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin: 0;
}
.card-detail-tag {
  color: inherit;
  font-size: 0.8rem;
  line-height: 1.4;
  text-decoration: none;
}
.card-detail-tag:hover {
  text-decoration: underline;
}
.playlist-card .video-action-row {
  position: relative;
  z-index: 2;
}
.playlist-card .card-detail-region,
.playlist-card .card-detail-toggle {
  position: relative;
  z-index: 2;
}
.playlist-card:has(.video-lock-button[aria-pressed="true"]) {
  border-color: var(--accent);
}
.playlist-summary,
.playback-shell,
.share-shell,
.playlist-controls,
.settings-shell,
.info-page {
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--surface);
  box-shadow: var(--shadow);
}
.playlist-summary,
.playback-shell,
.share-shell,
.info-page {
  padding: calc(1.25rem * var(--spacing-scale));
}
.playlist-controls,
.settings-shell {
  margin-top: calc(2rem * var(--spacing-scale));
}
.playlist-description {
  font-size: 1rem;
  max-width: 65ch;
}
.playlist-summary-title-link {
  color: inherit;
  text-decoration: none;
}
.playlist-summary-title-link:hover {
  color: var(--accent-strong);
  text-decoration: underline;
}
.playlist-summary-title-link:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 0.15rem;
}
.playlist-summary-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin: 1rem 0 0;
}
.playlist-stats-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
  margin: 1rem 0 0;
}
.playlist-stats-grid > div {
  padding: 1rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--surface) 70%, var(--bg));
}
.playlist-stats-grid dt {
  margin: 0;
  font-size: 0.875rem;
  color: var(--muted);
}
.playlist-stats-grid dd {
  margin: 0.3rem 0 0;
  font-size: 1.95rem;
  font-weight: 700;
}
.settings-toggle,
.playlist-controls-toggle {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: calc(0.85rem * var(--spacing-scale)) calc(1rem * var(--spacing-scale));
  margin: 0;
  cursor: pointer;
  list-style: none;
  font-size: 1.05rem;
  font-weight: 700;
}
.settings-toggle::-webkit-details-marker,
.playlist-controls-toggle::-webkit-details-marker {
  display: none;
}
.settings-toggle::before,
.playlist-controls-toggle::before {
  content: "\25B8";
  font-size: 0.82em;
  transition: transform 0.2s;
}
details[open] > .settings-toggle::before,
details[open] > .playlist-controls-toggle::before {
  transform: rotate(90deg);
}
.settings-body,
.playlist-controls-body {
  padding: 0 calc(1rem * var(--spacing-scale)) calc(1rem * var(--spacing-scale));
}
.settings-form {
  display: grid;
  gap: calc(1rem * var(--spacing-scale));
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
}
.settings-column {
  display: grid;
  gap: calc(0.85rem * var(--spacing-scale));
  min-width: 0;
  align-content: start;
}
.settings-row,
.control-row {
  gap: 1rem;
}
.settings-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--settings-control-inline-size);
  align-items: center;
}
.control-row {
  display: flex;
  align-items: stretch;
}
.settings-row--toggle {
  min-height: 2.75rem;
  grid-template-columns: minmax(0, 1fr) auto;
}
.settings-row > span:first-child {
  min-width: 0;
}
.settings-select,
.settings-action-button,
.settings-value-pill {
  inline-size: 100%;
  max-inline-size: 100%;
  min-height: 2.75rem;
  box-sizing: border-box;
}
.settings-value-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  padding: 0.5rem 0.75rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: color-mix(in srgb, var(--surface) 82%, var(--bg));
  font-weight: 600;
}
.settings-switch {
  justify-self: end;
}
.settings-slider-card {
  display: grid;
  gap: 0.55rem;
  padding: 0.9rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--surface) 82%, var(--bg));
}
.settings-slider-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
}
.settings-slider-title {
  font-size: 0.96rem;
  font-weight: 700;
}
.settings-slider-value {
  color: var(--muted);
  font-size: 0.85rem;
  font-weight: 600;
  text-align: end;
}
.settings-slider-hint {
  margin-top: 0.1rem;
}
.settings-switch {
  position: relative;
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  min-width: 0;
}
.settings-switch-input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: transparent;
  box-shadow: none;
  opacity: 0;
  appearance: none;
  cursor: pointer;
}
.settings-switch-input:focus {
  border-color: transparent;
  box-shadow: none;
}
.settings-switch-control {
  position: relative;
  display: inline-flex;
  align-items: center;
  inline-size: 3.85rem;
  min-inline-size: 3.85rem;
  block-size: 2rem;
  padding-inline: 0.55rem;
  box-sizing: border-box;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: color-mix(in srgb, var(--surface) 84%, var(--bg));
  transition: background-color 0.15s, border-color 0.15s, box-shadow 0.15s;
}
.settings-switch-control::before {
  content: "Off";
  margin-inline-start: auto;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--muted);
}
.settings-switch-control::after {
  content: "";
  position: absolute;
  inset-block-start: 0.18rem;
  inset-inline-start: 0.2rem;
  inline-size: 1.45rem;
  block-size: 1.45rem;
  border-radius: 50%;
  background: var(--surface);
  box-shadow: var(--shadow);
  transition: transform 0.15s ease, background-color 0.15s ease;
}
.settings-switch-input:checked + .settings-switch-control {
  background: var(--accent);
  border-color: var(--accent);
}
.settings-switch-input:checked + .settings-switch-control::before {
  content: "On";
  margin-inline-start: 0;
  margin-inline-end: auto;
  color: var(--accent-contrast);
}
.settings-switch-input:checked + .settings-switch-control::after {
  transform: translateX(1.62rem);
  background: var(--accent-contrast);
}
.settings-switch-input:focus-visible + .settings-switch-control {
  outline: 3px solid var(--accent);
  outline-offset: 3px;
}
.settings-switch-input:disabled + .settings-switch-control {
  opacity: 0.6;
}
.settings-switch-input:disabled {
  cursor: not-allowed;
}
.control-row {
  flex-direction: column;
  align-items: stretch;
}
.control-row > span,
.length-filter-field > span {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--muted);
}
.control-hint {
  margin: 0;
  color: var(--muted);
  font-size: 0.76rem;
}
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.settings-row,
.control-row,
.tag-filter-block {
  min-width: 0;
}
.playback-shell {
  margin-top: calc(2rem * var(--spacing-scale));
}
.share-shell {
  margin-top: calc(2rem * var(--spacing-scale));
}
.playback-header {
  display: grid;
  gap: 1rem;
}
.playback-actions {
  display: grid;
  gap: 0.8rem;
  width: min(100%, 48rem);
}
.playback-row {
  display: grid;
  grid-template-columns: minmax(14rem, max-content) minmax(0, 1fr);
  gap: 0.8rem;
  align-items: center;
}
.playback-row-label {
  margin: 0;
  color: var(--muted);
}
.playback-row-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.8rem;
}
.playback-row-actions[data-action-count="1"] {
  grid-template-columns: minmax(0, 1fr);
}
.playback-row-actions > .button-link {
  width: 100%;
}
.share-panel-copy {
  display: grid;
  gap: 0.25rem;
}
.share-panel-copy p {
  margin: 0;
  color: var(--muted);
}
.share-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  width: min(100%, 16rem);
  margin-top: 1rem;
}
.share-actions > .button-link {
  width: 100%;
}
.share-status {
  margin: 0.85rem 0 0;
  min-height: 1.4rem;
  color: var(--muted);
  overflow-wrap: anywhere;
}
.share-status[data-share-status-state="success"] {
  color: var(--accent-strong);
}
.share-status[data-share-status-state="error"] {
  color: color-mix(in srgb, #a62323 78%, var(--text));
}
.controls-grid {
  display: grid;
  gap: calc(0.85rem * var(--spacing-scale));
}
.controls-grid-row--sort-order {
  display: grid;
  gap: 0.85rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.controls-grid-row--temporal {
  display: grid;
  gap: 0.85rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.controls-grid-row--categorical {
  display: grid;
  gap: 0.85rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.controls-grid-row--temporal > .tag-filter-block,
.controls-grid-row--categorical > .tag-filter-block {
  margin: 0;
}
.controls-grid-row--temporal .date-filter-actions,
.controls-grid-row--categorical .channel-filter-actions,
.controls-grid-row--categorical .language-filter-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: stretch;
  flex-wrap: nowrap;
}
.controls-grid-row--temporal .date-filter-actions > .tag-filter-control-button,
.controls-grid-row--categorical .channel-filter-actions > .tag-filter-control-button,
.controls-grid-row--categorical .language-filter-actions > .tag-filter-control-button {
  min-inline-size: 0;
}
.controls-grid-row--temporal .date-filter-actions > .date-filter-clear,
.controls-grid-row--categorical .channel-filter-actions > .channel-filter-clear,
.controls-grid-row--categorical .language-filter-actions > .language-filter-clear {
  align-self: stretch;
  white-space: nowrap;
}
.language-filter-group {
  align-content: start;
}
.channel-filter-group,
.date-filter-group,
.language-filter-group,
.tag-filter-group {
  align-content: start;
}
.channel-filter-shell,
.date-filter-shell,
.language-filter-shell,
.tag-filter-shell {
  display: grid;
  gap: 0.75rem;
  align-content: start;
}
.channel-filter-summary,
.date-filter-summary,
.language-filter-summary,
.tag-filter-summary {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 600;
}
.channel-filter-empty,
.date-filter-empty,
.language-filter-empty,
.tag-filter-empty {
  margin: 0;
  color: var(--muted);
  font-size: 0.92rem;
  font-weight: 600;
}
.channel-filter-actions,
.date-filter-actions,
.language-filter-actions,
.tag-filter-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: stretch;
}
.channel-filter-actions > .tag-filter-control-button,
.date-filter-actions > .tag-filter-control-button,
.language-filter-actions > .tag-filter-control-button,
.tag-filter-actions > .tag-filter-control-button {
  min-inline-size: 14rem;
}
.tag-filter-actions > .tag-filter-control-button,
.tag-filter-actions > .tag-filter-clear {
  flex: 1 1 0;
  min-inline-size: 14rem;
  white-space: nowrap;
}
.channel-filter-actions > .channel-filter-clear,
.date-filter-actions > .date-filter-clear,
.language-filter-actions > .language-filter-clear,
.tag-filter-actions > .tag-filter-clear {
  align-self: center;
}
.tag-filter-actions > .tag-filter-clear {
  display: inline-flex;
  align-items: center;
  align-self: stretch;
  justify-content: center;
  min-height: 2.75rem;
  padding: 0.65rem 1rem;
  border: 1px solid var(--accent);
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--accent) 10%, var(--surface));
  color: var(--accent-strong);
  font-weight: 700;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 18%, transparent);
}
.tag-filter-actions > .tag-filter-clear:hover {
  background: color-mix(in srgb, var(--accent) 18%, var(--surface));
}
.channel-filter-selected-list,
.channel-selected-list,
.date-filter-selected-list,
.language-filter-selected-list,
.language-selected-list,
.tag-filter-selected-list,
.tag-selected-list {
  display: grid;
  gap: 0.55rem;
  align-content: start;
}
.channel-filter-overflow-button,
.language-filter-overflow-button,
.tag-filter-overflow-button {
  width: fit-content;
}
.length-filter-row {
  display: grid;
  gap: 0.6rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.length-filter-field {
  display: grid;
  gap: 0.35rem;
}
.controls-grid--index {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.controls-grid--index > .control-row:first-child,
.controls-grid--index > .controls-grid-row--index-sort {
  grid-column: 1 / -1;
}
.controls-grid-row--index-sort {
  display: grid;
  gap: 0.85rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.controls-grid--index > .date-filter-group {
  margin: 0;
}
.controls-grid--index .date-filter-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: stretch;
  flex-wrap: nowrap;
}
.controls-grid--index .date-filter-actions > .tag-filter-control-button {
  min-inline-size: 0;
}
.controls-grid--index .date-filter-actions > .date-filter-clear {
  align-self: stretch;
  white-space: nowrap;
}
.tag-filter-block {
  display: grid;
  gap: 0.85rem;
  margin: 1rem 0 0;
  padding: 0.9rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
}
.tag-filter-block legend {
  padding: 0 0.25rem;
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--muted);
}
.tag-filter-control-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-inline-size: max-content;
  min-height: 2.75rem;
  padding: 0.65rem 1rem;
  border: 1px solid var(--accent);
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--accent) 10%, var(--surface));
  color: var(--accent-strong);
  font-weight: 700;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 18%, transparent);
  text-align: center;
}
.tag-filter-control-button:hover {
  background: color-mix(in srgb, var(--accent) 18%, var(--surface));
}
.tag-filter-mode-button[data-tag-mode="all"] {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--accent-contrast);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 24%, transparent);
}
.tag-filter-button {
  display: inline-flex;
  align-items: stretch;
  gap: 0;
  padding: 0;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--surface-strong);
  color: var(--text);
  overflow: hidden;
  box-shadow: inset 0 0 0 1px transparent;
}
.tag-filter-button:hover {
  background: color-mix(in srgb, var(--surface) 72%, var(--bg));
}
.tag-filter-button[aria-pressed="true"] {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--accent-contrast);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 28%, transparent);
}
.tag-filter-button[aria-pressed="true"] .tag-filter-label {
  background: color-mix(in srgb, var(--accent) 82%, #000000);
  color: var(--accent-contrast);
  font-weight: 700;
}
.tag-filter-button[aria-pressed="true"] .tag-filter-count {
  background: color-mix(in srgb, var(--accent) 38%, #ffffff);
  color: var(--accent-contrast);
  border-left-color: color-mix(in srgb, var(--accent) 65%, #ffffff);
}
:root[data-high-contrast="on"] .tag-filter-button[aria-pressed="true"] {
  box-shadow: 0 0 0 3px var(--text);
}
.tag-filter-label {
  padding: 0.5rem 0.85rem;
  background: color-mix(in srgb, var(--surface) 70%, var(--bg));
  font-size: 0.86rem;
}
.tag-filter-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  padding: 0.5rem 0.7rem;
  background: var(--surface);
  color: var(--accent-strong);
  font-size: 0.8rem;
  font-weight: 800;
  border-left: 1px solid var(--border);
}
.tag-drawer-close,
.tag-toggle,
.player-close {
  width: fit-content;
}
.tag-toggle--mobile {
  display: none;
}
.card-detail-toggle {
  position: relative;
  z-index: 2;
  display: none;
  align-items: center;
  justify-content: center;
  min-height: 2rem;
  padding: 0.3rem 0.8rem;
  border: 1px solid color-mix(in srgb, var(--accent) 60%, var(--border));
  border-radius: 0.78rem;
  background: color-mix(in srgb, var(--accent) 10%, var(--surface));
  color: var(--accent-strong);
  font-size: 0.78rem;
  font-weight: 700;
  cursor: pointer;
}
.card-detail-toggle:hover {
  background: color-mix(in srgb, var(--accent) 18%, var(--surface));
}
.tag-drawer,
.report-modal {
  position: fixed;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 1rem;
  background: rgba(0, 0, 0, 0.55);
  z-index: 120;
}
.tag-drawer-panel,
.report-modal-dialog {
  width: min(100%, 32rem);
  height: min(100%, 44rem);
  padding: 1rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--surface);
  color: var(--text);
  box-shadow: var(--shadow-hover);
  display: grid;
  gap: 0.85rem;
  overflow: hidden;
}
.tag-drawer-panel {
  grid-template-rows: auto auto auto minmax(0, 1fr);
  align-content: start;
}
.playlist-jump-panel {
  --playlist-jump-row-height: 4.75rem;
  --playlist-jump-footer-height: 3rem;
  --playlist-jump-list-height: calc((4 * var(--playlist-jump-row-height)) + (4 * 0.55rem));
  grid-template-rows: auto auto auto auto minmax(0, 1fr) auto;
  align-content: stretch;
}
.playlist-jump-panel .tag-drawer-header {
  justify-content: flex-start;
}
.channel-drawer-panel {
  grid-template-rows: auto auto auto auto minmax(0, 1fr);
}
.language-drawer-panel {
  grid-template-rows: auto auto auto auto minmax(0, 1fr);
}
.date-drawer-panel {
  grid-template-rows: auto auto auto auto auto minmax(0, 1fr);
}
.channel-selected-drawer-panel {
  grid-template-rows: auto minmax(0, 1fr);
  align-content: start;
}
.language-selected-drawer-panel {
  grid-template-rows: auto minmax(0, 1fr);
  align-content: start;
}
.tag-drawer-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}
.tag-drawer-copy {
  display: grid;
  gap: 0.15rem;
}
.tag-drawer-copy p {
  margin: 0;
  color: var(--muted);
}
.tag-drawer-search-row {
  margin-bottom: 0.35rem;
}
.tag-drawer-empty {
  margin: 0;
  color: var(--muted);
  font-size: 0.92rem;
}
.channel-drawer-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}
.language-drawer-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}
.date-drawer-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}
.tag-drawer-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}
.channel-drawer-selected {
  margin: 0;
  font-size: 0.92rem;
  font-weight: 600;
}
.language-drawer-selected {
  margin: 0;
  font-size: 0.92rem;
  font-weight: 600;
}
.date-drawer-selected {
  margin: 0;
  font-size: 0.92rem;
  font-weight: 600;
}
.tag-drawer-selected {
  margin: 0;
  font-size: 0.92rem;
  font-weight: 600;
}
.date-drawer-sort-row {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.date-drawer-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.9rem;
  font-weight: 700;
}
.date-drawer-toggle input[type="checkbox"] {
  appearance: none;
  inline-size: 3rem;
  block-size: 1.75rem;
  min-height: 0;
  margin: 0;
  padding: 0.15rem;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: color-mix(in srgb, var(--surface) 70%, var(--bg));
  display: grid;
  align-items: center;
  cursor: pointer;
}
.date-drawer-toggle input[type="checkbox"]::before {
  content: "";
  inline-size: 1.15rem;
  block-size: 1.15rem;
  border-radius: 999px;
  background: var(--surface);
  box-shadow: var(--shadow);
  transform: translateX(0);
  transition: transform 0.15s ease;
}
.date-drawer-toggle input[type="checkbox"]:checked {
  background: color-mix(in srgb, var(--accent) 28%, var(--surface));
  border-color: var(--accent);
}
.date-drawer-toggle input[type="checkbox"]:checked::before {
  transform: translateX(1.1rem);
}
.date-drawer-toggle input[type="checkbox"]:focus-visible {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 24%, transparent);
}
:root[data-high-contrast="on"] .date-drawer-toggle input[type="checkbox"]:focus-visible {
  box-shadow: 0 0 0 3px var(--text);
}
.channel-drawer-sorts,
.language-drawer-sorts,
.tag-drawer-sorts {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.playlist-jump-toolbar {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.tag-drawer-list {
  display: grid;
  gap: 0.55rem;
  min-height: 0;
  overflow: auto;
  padding-right: 0.2rem;
  align-content: start;
}
.channel-filter-button {
  width: 100%;
  min-height: 5rem;
  padding: 0.9rem 1rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--surface) 76%, var(--bg));
  color: var(--text);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.85rem;
  align-items: center;
  text-align: left;
}
.channel-filter-button:hover {
  background: color-mix(in srgb, var(--surface) 58%, var(--bg));
}
.channel-filter-button[aria-pressed="true"] {
  background: color-mix(in srgb, var(--accent) 18%, var(--surface));
  border-color: var(--accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 24%, transparent);
}
.channel-filter-button[aria-pressed="true"] .channel-filter-title,
.channel-filter-button[aria-pressed="true"] .channel-filter-meta,
.channel-filter-button[aria-pressed="true"] .channel-filter-count {
  color: var(--accent-strong);
}
:root[data-high-contrast="on"] .channel-filter-button[aria-pressed="true"] {
  box-shadow: 0 0 0 3px var(--text);
}
.channel-filter-copy {
  display: grid;
  gap: 0.22rem;
  min-width: 0;
}
.channel-filter-title {
  font-size: 0.95rem;
  font-weight: 700;
}
.channel-filter-meta {
  color: var(--muted);
  font-size: 0.83rem;
}
.playlist-jump-button {
  min-height: var(--playlist-jump-row-height);
}
.playlist-jump-copy {
  align-content: start;
}
.playlist-jump-meta {
  font-variant-numeric: tabular-nums;
}
.playlist-jump-list {
  min-block-size: var(--playlist-jump-list-height);
  block-size: var(--playlist-jump-list-height);
}
.playlist-jump-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 4.9rem;
  min-height: 2rem;
  padding: 0.3rem 0.7rem;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--surface);
  color: var(--accent-strong);
  font-size: 0.78rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}
.playlist-jump-button[aria-pressed="true"] .playlist-jump-chip {
  border-color: color-mix(in srgb, var(--accent) 45%, var(--border));
  background: color-mix(in srgb, var(--accent) 18%, var(--surface));
  color: var(--accent-strong);
}
.channel-filter-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  min-height: 2.5rem;
  padding: 0.35rem 0.65rem;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--surface);
  color: var(--accent-strong);
  font-size: 0.86rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}
.channel-selected-button {
  width: 100%;
  min-height: 0;
  padding: 0.7rem 0.9rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--surface) 84%, var(--bg));
  color: var(--text);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: center;
  text-align: left;
  box-shadow: inset 0 0 0 1px transparent;
}
.channel-selected-button:hover {
  background: color-mix(in srgb, var(--surface) 62%, var(--bg));
}
.channel-selected-button:focus-visible {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 24%, transparent);
}
:root[data-high-contrast="on"] .channel-selected-button:focus-visible {
  box-shadow: 0 0 0 3px var(--text);
}
.channel-selected-button-copy {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}
.channel-selected-button-title {
  font-size: 0.92rem;
  font-weight: 700;
}
.channel-selected-button-meta {
  color: var(--muted);
  font-size: 0.8rem;
}
.playlist-jump-actions {
  display: flex;
  gap: 0.75rem;
  flex-wrap: nowrap;
  justify-content: flex-end;
  align-items: center;
  padding-top: 0.45rem;
  min-block-size: var(--playlist-jump-footer-height);
}
.playlist-jump-actions .button-link {
  flex: 1 1 0;
  min-width: 0;
  min-height: var(--playlist-jump-footer-height);
  block-size: var(--playlist-jump-footer-height);
  align-self: center;
}
.playlist-controls-footer {
  display: flex;
  justify-content: flex-end;
  margin-top: 1rem;
}
.saved-views-panel {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--border);
}
.saved-views-header {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}
.saved-views-action {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.65rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: var(--surface-strong);
  color: var(--muted);
  font-size: 0.8rem;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.15s;
}
.saved-views-action:hover {
  background: var(--surface);
}
.saved-views-list {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin-top: 0.75rem;
}
.saved-view-item {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.saved-view-load {
  flex: 1;
  display: inline-flex;
  align-items: center;
  padding: 0.3rem 0.65rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: var(--surface);
  color: var(--text);
  font-size: 0.82rem;
  font-weight: 500;
  cursor: pointer;
  text-decoration: none;
  text-align: left;
  transition: background 0.15s;
}
.saved-view-load:hover {
  background: var(--surface-strong);
}
.saved-view-delete {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.8rem;
  min-height: 1.8rem;
  padding: 0;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: var(--surface-strong);
  color: var(--muted);
  font-size: 0.9rem;
  cursor: pointer;
  transition: background 0.15s;
}
.saved-view-delete:hover {
  background: var(--surface);
}
.report-modal-dialog {
  grid-template-rows: auto 1fr;
}
.report-modal-copy {
  display: grid;
  gap: 0.2rem;
}
.report-modal-copy p {
  margin: 0;
  color: var(--muted);
}
.report-target {
  font-size: 0.82rem;
}
.report-form {
  display: grid;
  gap: 0.9rem;
  min-height: 0;
}
.report-groups {
  display: grid;
  gap: 0.85rem;
  overflow: auto;
  padding-right: 0.2rem;
}
.report-group {
  display: grid;
  gap: 0.65rem;
  padding: 0.9rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--surface) 72%, var(--bg));
}
.report-group legend {
  padding: 0 0.25rem;
  font-size: 0.84rem;
  font-weight: 700;
  color: var(--muted);
}
.report-option {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.75rem;
  align-items: start;
}
.report-option input {
  margin-top: 0.2rem;
}
.report-option-copy {
  display: grid;
  gap: 0.18rem;
}
.report-option-label {
  font-size: 0.9rem;
  font-weight: 700;
}
.report-option-note {
  color: var(--muted);
  font-size: 0.8rem;
}
.report-error {
  margin: 0;
  color: #9e1b1b;
  font-size: 0.84rem;
  font-weight: 700;
}
.report-actions {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.report-confirmation {
  position: fixed;
  inset-inline-start: 50%;
  inset-inline-end: auto;
  bottom: 1rem;
  inline-size: min(28rem, calc(100vw - 2rem));
  max-inline-size: calc(100vw - 2rem);
  padding: 0.9rem 1rem;
  box-sizing: border-box;
  border: 1px solid var(--accent);
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--accent) 18%, var(--surface));
  color: var(--accent-strong);
  box-shadow: var(--shadow-hover);
  overflow-wrap: anywhere;
  transform: translateX(-50%);
  z-index: 121;
}
.playlist-results {
  margin-top: 2rem;
}
.results-summary {
  display: grid;
  gap: 0.85rem;
  margin: 1rem 0 1.25rem;
  padding: 1rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--surface) 75%, var(--bg));
}
.results-summary-grid {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
  margin: 0;
}
.results-summary-grid > div {
  padding: 0.8rem 0.9rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--surface);
}
.results-summary-grid dt {
  margin: 0;
  font-size: 0.8rem;
  color: var(--muted);
}
.results-summary-grid dd {
  margin: 0.3rem 0 0;
  font-size: 1.35rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.playlist-index-results {
  display: grid;
  gap: 0.85rem;
}
.empty-state {
  margin: 1.25rem 0;
  padding: 1.25rem;
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--surface) 60%, var(--bg));
}
.pagination-bar,
.pagination-utility-card {
  display: grid;
  gap: 0.75rem;
  padding: 0.9rem 1rem;
  margin: 1rem 0;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--surface);
}
.pagination-bar[data-pagination-position="top"] {
  margin-top: 0.75rem;
}
.pagination-utility-card[data-pagination-position="top"] {
  margin-top: 0.75rem;
  margin-bottom: 0.65rem;
}
.pagination-utility-card[data-pagination-position="bottom"] {
  margin-top: 0.65rem;
}
.pagination-controls {
  display: grid;
  gap: 0.75rem;
  align-items: center;
}
.pagination-main-controls {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  flex-wrap: wrap;
}
.pagination-utility-controls {
  display: flex;
  align-items: end;
  justify-content: flex-start;
  gap: 0.75rem;
  flex-wrap: wrap;
}
.pagination-page-size {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
  font-weight: 600;
}
.pagination-page-size span {
  font-size: 0.82rem;
  color: var(--muted);
}
.pagination-page-size input[type="number"] {
  min-inline-size: 5.5rem;
  max-inline-size: 8rem;
}
.pagination-jump-button {
  white-space: nowrap;
}
.page-range {
  font-size: 0.85rem;
}
.results-anchor {
  display: block;
  block-size: 0;
  scroll-margin-top: 1rem;
}
.playlist-restore-status {
  margin: 0;
  padding: 0.7rem 0.85rem;
  border: 1px solid color-mix(in srgb, var(--accent) 28%, var(--border));
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--surface-strong) 76%, var(--surface));
  font-size: 0.92rem;
  font-weight: 600;
}
.excluded-videos-shell {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
  justify-content: space-between;
  padding: 0.85rem 1rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--surface-strong) 72%, var(--surface));
}
.excluded-videos-status {
  margin: 0;
  color: var(--muted);
  font-size: 0.92rem;
  font-weight: 600;
}
.excluded-videos-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}
.excluded-videos-toggle,
.excluded-videos-clear {
  white-space: nowrap;
}
.locked-videos-shell,
.locked-playlists-shell {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
  justify-content: space-between;
  padding: 0.85rem 1rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--surface-strong) 72%, var(--surface));
}
.locked-videos-status,
.locked-playlists-status {
  margin: 0;
  color: var(--muted);
  font-size: 0.92rem;
  font-weight: 600;
}
.locked-videos-actions,
.locked-playlists-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}
.locked-videos-hide-unlocked,
.locked-videos-unlock-all,
.locked-playlists-hide-unlocked,
.locked-playlists-unlock-all {
  white-space: nowrap;
}
.video-list {
  display: grid;
  gap: calc(0.75rem * var(--spacing-scale));
  padding-left: 0;
  margin: 0;
  list-style: none;
}
.video-item {
  display: grid;
  grid-template-columns: minmax(2.75rem, auto) minmax(calc(10rem * var(--thumbnail-scale)), calc(14rem * var(--thumbnail-scale))) minmax(0, 1fr);
  gap: calc(1rem * var(--density-scale));
  align-items: start;
  padding: calc(1rem * var(--density-scale));
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--surface);
  list-style: none;
}
.video-index {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.5rem;
  min-width: 2.5rem;
  border-radius: 999px;
  background: var(--surface-strong);
  color: var(--accent-strong);
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}
.video-thumb-toggle {
  display: block;
  inline-size: 100%;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  box-shadow: none;
  cursor: default;
}
.video-thumb-toggle:hover {
  background: transparent;
  box-shadow: none;
}
.video-thumb-toggle:focus {
  border-color: transparent;
  box-shadow: none;
}
.video-thumb,
.video-thumb-placeholder {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--surface-strong);
  object-fit: cover;
}
.video-thumb-placeholder {
  display: grid;
  place-items: center;
  padding: 0.5rem;
  text-align: center;
}
.video-copy {
  display: grid;
  gap: calc(0.35rem * var(--density-scale));
  min-width: 0;
}
.video-copy > .video-title {
  font-size: 1rem;
  font-weight: 700;
  text-decoration: none;
}
.video-channel {
  display: inline-flex;
  align-items: center;
  padding: 0.15rem 0.6rem;
  border: 1px solid var(--border);
  border-radius: 0.4rem;
  background: var(--surface-strong);
  color: var(--muted);
  font-size: 0.85rem;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.15s;
}
.video-channel:hover {
  background: var(--surface);
}
.video-channel:visited {
  color: var(--muted);
}
.video-meta-line {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}
.video-duration,
.video-published,
.video-language {
  display: inline-block;
  padding: 0.16rem 0.55rem;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--surface-strong);
  font-size: 0.8rem;
  font-variant-numeric: tabular-nums;
}
.video-tags-shell {
  display: grid;
  gap: 0.4rem;
  margin-top: 0.15rem;
}
.video-action-row {
  display: flex;
  gap: 0.55rem;
  flex-wrap: wrap;
  align-items: flex-start;
}
.video-action-button {
  flex: 0 0 auto;
  inline-size: 15ch;
  max-inline-size: 100%;
  min-height: 2.15rem;
  padding: 0.38rem 0.72rem;
  border: 1px solid var(--accent);
  border-radius: 0.78rem;
  background: color-mix(in srgb, var(--accent) 12%, var(--surface));
  color: var(--accent-strong);
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 20%, transparent);
}
.video-action-button:hover {
  background: color-mix(in srgb, var(--accent) 20%, var(--surface));
}
.report-button {
  background: color-mix(in srgb, var(--accent) 16%, var(--surface));
}
.video-hide-button {
  border-color: color-mix(in srgb, #b33a3a 48%, var(--accent));
  background: color-mix(in srgb, #b33a3a 14%, var(--surface));
  color: color-mix(in srgb, #7c1f1f 72%, var(--accent-strong));
}
.video-hide-button:hover {
  background: color-mix(in srgb, #b33a3a 22%, var(--surface));
}
.video-lock-button {
  border-color: color-mix(in srgb, var(--accent) 60%, var(--border));
  background: color-mix(in srgb, var(--accent) 10%, var(--surface));
}
.video-lock-button:hover {
  background: color-mix(in srgb, var(--accent) 18%, var(--surface));
}
.video-lock-button[aria-pressed="true"] {
  border-color: var(--accent);
  background: color-mix(in srgb, var(--accent) 25%, var(--surface));
  color: var(--accent-strong);
}
.video-item:has(.video-lock-button[aria-pressed="true"]) {
  border-color: var(--accent);
}
.video-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
}
.video-tags-extra {
  margin-top: 0;
}
.playlist-results-browser {
  display: grid;
  gap: calc(1rem * var(--spacing-scale));
}
.video-metadata-viewer,
.playlist-metadata-viewer {
  display: grid;
  gap: 1rem;
}
.video-metadata-header,
.playlist-metadata-header {
  display: grid;
  gap: 0.4rem;
}
.video-metadata-kicker,
.playlist-metadata-kicker {
  margin: 0;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: 0.04em;
}
.video-metadata-back,
.playlist-metadata-back {
  justify-self: start;
}
.video-metadata-summary,
.playlist-metadata-summary {
  color: var(--muted);
}
.video-metadata-player-shell,
.playlist-metadata-player-shell {
  display: grid;
  gap: 0.65rem;
}
.video-metadata-player-frame,
.playlist-metadata-player-frame {
  inline-size: min(100%, 60rem);
}
.video-metadata-player-fallback,
.playlist-metadata-player-fallback {
  display: grid;
  gap: 0.65rem;
  justify-items: start;
  padding: 1rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--surface-strong);
}
.video-metadata-player-note,
.playlist-metadata-player-note {
  margin: 0;
  color: var(--muted);
}
.video-metadata-description-shell,
.playlist-metadata-description-shell {
  display: grid;
  gap: 0.5rem;
}
.video-metadata-description,
.playlist-metadata-description {
  margin: 0;
  padding: 0.85rem 1rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--surface-strong);
  color: var(--copy);
  white-space: pre-wrap;
  word-break: break-word;
}
.video-metadata-description[data-metadata-empty="true"],
.playlist-metadata-description[data-metadata-empty="true"] {
  color: var(--muted);
}
.video-metadata-description a,
.playlist-metadata-description a {
  color: var(--accent-strong);
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.16em;
  word-break: break-word;
}
.video-metadata-description a:hover,
.playlist-metadata-description a:hover {
  color: var(--accent);
}
.video-metadata-tabs,
.playlist-metadata-tabs {
  display: grid;
  gap: 0.75rem;
}
.video-metadata-tabs-title,
.playlist-metadata-tabs-title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 800;
}
.video-metadata-tabs-toolbar,
.playlist-metadata-tabs-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  align-items: flex-start;
}
.video-metadata-tabs-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
}
.video-metadata-tablist,
.playlist-metadata-tablist {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  flex: 1 1 auto;
  min-inline-size: 0;
}
.video-metadata-tab,
.video-metadata-tab-action,
.playlist-metadata-tab,
.playlist-metadata-tab-action {
  display: inline-flex;
  flex: 0 0 auto;
  min-block-size: 2.75rem;
  padding: 0.55rem 0.95rem;
  border: 1px solid var(--border);
  border-radius: 0.375rem;
  background: var(--surface);
  color: var(--copy);
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.1;
  text-align: center;
  white-space: nowrap;
  align-items: center;
  justify-content: center;
}
.video-metadata-tab-action,
.playlist-metadata-tab-action {
  align-self: start;
  margin-inline-start: auto;
}
.video-metadata-tab-action {
  justify-self: end;
  margin-inline-start: 0;
}
.video-metadata-tab[aria-selected="true"],
.playlist-metadata-tab[aria-selected="true"] {
  border-color: var(--accent);
  background: color-mix(in srgb, var(--accent) 14%, var(--surface));
  color: var(--accent-strong);
}
.video-metadata-panel,
.playlist-metadata-panel {
  display: grid;
  gap: 0.75rem;
}
.video-metadata-footer,
.playlist-metadata-footer {
  display: flex;
  justify-content: flex-start;
}
.video-metadata-go-up,
.playlist-metadata-go-up {
  align-self: start;
}
.video-metadata-table-shell,
.playlist-metadata-table-shell {
  overflow: auto;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--surface);
}
.video-metadata-table,
.playlist-metadata-table {
  width: 100%;
  min-width: 32rem;
  border-collapse: collapse;
}
.video-metadata-table th,
.video-metadata-table td,
.playlist-metadata-table th,
.playlist-metadata-table td {
  padding: 0.7rem 0.85rem;
  border-bottom: 1px solid var(--border);
  vertical-align: top;
  text-align: left;
}
.video-metadata-table thead th,
.playlist-metadata-table thead th {
  background: var(--surface-strong);
}
.video-metadata-table tbody tr:last-child th,
.video-metadata-table tbody tr:last-child td,
.playlist-metadata-table tbody tr:last-child th,
.playlist-metadata-table tbody tr:last-child td {
  border-bottom: 0;
}
.video-metadata-path,
.playlist-metadata-path {
  width: 34%;
  color: var(--accent-strong);
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, monospace;
  font-size: 0.84rem;
  line-height: 1.45;
  word-break: break-word;
}
.video-metadata-value,
.playlist-metadata-value {
  white-space: pre-wrap;
  word-break: break-word;
}
.video-metadata-list,
.video-metadata-json,
.playlist-metadata-list,
.playlist-metadata-json {
  margin: 0;
  padding: 0.9rem 1rem;
  overflow: auto;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--surface-strong);
  color: var(--copy);
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, monospace;
  font-size: 0.82rem;
  line-height: 1.55;
  white-space: pre-wrap;
  word-break: break-word;
}
.tag-chip {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: 0.05rem 0.55rem;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--surface-strong);
  color: var(--muted);
  font-size: 0.76rem;
  text-decoration: none;
}
.tag-chip:hover {
  background: var(--surface);
}
.tag-chip--overflow {
  font-style: italic;
  color: var(--muted);
  background: transparent;
  border-style: dashed;
}
.info-page {
  display: grid;
  gap: 1.4rem;
}
.info-page-header {
  display: grid;
  gap: 0.35rem;
}
.info-section {
  display: grid;
  gap: 0.3rem;
}
select,
input:not([type="range"]) {
  accent-color: var(--accent);
  min-height: 2.75rem;
  padding: 0.5rem 0.75rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: var(--surface);
  color: var(--text);
  transition: border-color 0.15s, box-shadow 0.15s;
}
.settings-row select,
.control-row select,
.control-row input[type="search"],
.length-filter-field input[type="number"] {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
select {
  appearance: none;
  padding-right: 2rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1.5l5 5 5-5' stroke='%23655d57' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.6rem center;
  background-size: 0.75rem;
}
select:focus,
input:not([type="range"]):focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent);
}
input[type="range"] {
  accent-color: var(--accent);
  inline-size: 100%;
  min-height: 2rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  box-shadow: none;
}
input[type="range"]:focus {
  border-color: transparent;
  box-shadow: none;
}
input[type="range"]:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 3px;
}
button,
.button-link {
  min-height: 2.75rem;
  padding: 0.65rem 1rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: var(--surface);
  color: var(--text);
  font: inherit;
  font-weight: 600;
}
:root[data-large-text="on"] button,
:root[data-large-text="on"] input:not([type="range"]),
:root[data-large-text="on"] select,
:root[data-large-text="on"] .button-link,
:root[data-large-text="on"] .settings-value-pill {
  font-size: 1.05em;
}
:root[data-accessibility-profile="senior"] button,
:root[data-accessibility-profile="senior"] input:not([type="range"]),
:root[data-accessibility-profile="senior"] select,
:root[data-accessibility-profile="senior"] .button-link,
:root[data-accessibility-profile="senior"] .settings-value-pill {
  min-height: 3.25rem;
}
button {
  cursor: pointer;
  transition: background-color 0.15s, box-shadow 0.15s;
}
button:hover {
  background: var(--bg);
  box-shadow: var(--shadow);
}
.button-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: background-color 0.15s, box-shadow 0.15s;
  box-sizing: border-box;
}
.button-link:hover {
  background: var(--bg);
  box-shadow: var(--shadow);
}
.button-primary {
  background: var(--accent);
  border-color: var(--accent);
  color: #ffffff;
}
.button-primary:hover {
  box-shadow: var(--shadow-hover);
  filter: brightness(1.08);
}
.page-btn {
  min-width: 2.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.45rem 0.65rem;
}
:root[data-mobile-mode="off"] .pagination-controls {
  grid-template-columns: minmax(0, 1fr) auto;
}
:root[data-mobile-mode="off"] .pagination-utility-controls {
  justify-content: space-between;
}
@media (min-width: 40rem) {
  :root[data-mobile-mode="auto"] .pagination-controls {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  :root[data-mobile-mode="auto"] .pagination-utility-controls {
    justify-content: space-between;
  }
}
.page-btn-active {
  background: var(--accent);
  border-color: var(--accent);
  color: #ffffff;
}
.page-btn:disabled {
  opacity: 0.45;
  cursor: default;
}
.player-inline-shell {
  display: grid;
  gap: 0.75rem;
  margin-top: 1rem;
}
.player-frame {
  width: 100%;
  aspect-ratio: 16 / 9;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: #000000;
  overflow: hidden;
}
.player-frame iframe {
  width: 100%;
  height: 100%;
  border: 0;
}
.player-modal {
  position: fixed;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 1rem;
  background: rgba(0, 0, 0, 0.72);
  z-index: 100;
}
.player-modal-dialog {
  width: min(100%, 64rem);
  display: grid;
  gap: 0.8rem;
  padding: 1.25rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--surface);
  color: var(--text);
  box-shadow: var(--shadow-hover);
}
.player-modal-header {
  display: grid;
  gap: 0.25rem;
}
.player-modal-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding-top: 0.2rem;
}
.player-modal-close {
  min-width: 8rem;
}
.player-modal-actions .button-link {
  flex: 0 0 auto;
}
.site-footer {
  display: grid;
  gap: 0.6rem;
  margin-top: calc(3rem * var(--spacing-scale));
  padding: calc(1.5rem * var(--spacing-scale)) 0;
  border-top: 1px solid var(--border);
  color: var(--muted);
}
.site-footer-name {
  margin: 0;
}
.footer-meta-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  align-items: center;
}
.footer-meta-link {
  color: var(--muted);
}
[hidden] {
  display: none !important;
}
:root[data-mobile-mode="off"] .page-nav-group--playlist-controls {
  grid-template-columns: repeat(var(--playlist-nav-columns, 1), minmax(0, 1fr));
  gap: 0.45rem;
}
:root[data-mobile-mode="off"] .page-nav-group--playlist-controls--has-index .page-nav-item--desktop-only {
  display: list-item;
}
@media (min-width: 40rem) {
  :root[data-mobile-mode="auto"] .page-nav-group--playlist-controls {
    grid-template-columns: repeat(var(--playlist-nav-columns, 1), minmax(0, 1fr));
    gap: 0.45rem;
  }
  :root[data-mobile-mode="auto"] .page-nav-group--playlist-controls--has-index .page-nav-item--desktop-only {
    display: list-item;
  }
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
:root[data-mobile-mode="on"] body {
  padding: calc(1rem * var(--spacing-scale));
}
:root[data-mobile-mode="on"] .page-nav-shell {
  align-items: stretch;
}
:root[data-mobile-mode="on"] .page-nav-group {
  width: 100%;
}
:root[data-mobile-mode="on"] .page-nav-group--playlist-controls--has-index .page-nav-item--desktop-only {
  display: none;
}
:root[data-mobile-mode="on"] .page-nav-group--playlist-controls--has-index .page-nav-item--playlist-index {
  justify-self: center;
  inline-size: 95%;
}
:root[data-mobile-mode="on"] .playlist-card {
  grid-template-columns: 1fr;
}
:root[data-mobile-mode="on"] .playlist-card-index {
  display: none;
}
:root[data-mobile-mode="on"][data-thumbnail-mode="local"] .playlist-card-thumb,
:root[data-mobile-mode="on"][data-thumbnail-mode="none"] .playlist-card-thumb {
  display: none;
}
:root[data-mobile-mode="on"] .playlist-card-meta-line,
:root[data-mobile-mode="on"] .video-meta-line {
  display: none;
}
:root[data-mobile-mode="on"] .playlist-card-tags {
  display: none;
}
:root[data-mobile-mode="on"] .card-detail-toggle {
  display: flex;
  inline-size: 95%;
  max-inline-size: 95%;
  min-inline-size: 0;
  margin-inline: auto;
  min-height: 2.5rem;
}
:root[data-mobile-mode="on"] .video-channel {
  min-width: 34vw;
}
:root[data-mobile-mode="on"] .video-tags-shell .tag-toggle {
  display: none;
}
:root[data-mobile-mode="on"] .playlist-card[data-details-visible] .playlist-card-meta-line,
:root[data-mobile-mode="on"] .video-item[data-details-visible] .video-meta-line {
  display: flex;
}
:root[data-mobile-mode="on"] .playlist-card[data-details-visible] .card-detail-region,
:root[data-mobile-mode="on"] .video-item[data-details-visible] .card-detail-region {
  display: grid;
}
:root[data-mobile-mode="on"] .playlist-stats-grid,
:root[data-mobile-mode="on"] .controls-grid {
  grid-template-columns: 1fr;
}
:root[data-mobile-mode="on"] .settings-form {
  grid-template-columns: 1fr;
}
:root[data-mobile-mode="on"] .settings-column--empty {
  display: none;
}
:root[data-mobile-mode="on"] .settings-row {
  grid-template-columns: 1fr;
  align-items: stretch;
}
:root[data-mobile-mode="on"] .settings-slider-header {
  flex-direction: column;
  align-items: flex-start;
}
:root[data-mobile-mode="on"] .length-filter-row {
  grid-template-columns: 1fr;
}
:root[data-mobile-mode="on"] .channel-filter-actions,
:root[data-mobile-mode="on"] .language-filter-actions,
:root[data-mobile-mode="on"] .date-filter-actions,
:root[data-mobile-mode="on"] .tag-filter-actions,
:root[data-mobile-mode="on"] .channel-drawer-toolbar,
:root[data-mobile-mode="on"] .language-drawer-toolbar,
:root[data-mobile-mode="on"] .date-drawer-toolbar,
:root[data-mobile-mode="on"] .tag-drawer-toolbar {
  flex-direction: column;
  align-items: stretch;
}
:root[data-mobile-mode="on"] .playlist-jump-toolbar,
:root[data-mobile-mode="on"] .channel-drawer-sorts,
:root[data-mobile-mode="on"] .language-drawer-sorts,
:root[data-mobile-mode="on"] .tag-drawer-sorts {
  grid-template-columns: 1fr;
}
:root[data-mobile-mode="on"] .channel-filter-actions > .tag-filter-control-button,
:root[data-mobile-mode="on"] .channel-filter-actions > .channel-filter-clear,
:root[data-mobile-mode="on"] .language-filter-actions > .tag-filter-control-button,
:root[data-mobile-mode="on"] .language-filter-actions > .language-filter-clear,
:root[data-mobile-mode="on"] .date-filter-actions > .tag-filter-control-button,
:root[data-mobile-mode="on"] .date-filter-actions > .date-filter-clear,
:root[data-mobile-mode="on"] .tag-filter-actions > .tag-filter-control-button,
:root[data-mobile-mode="on"] .tag-filter-actions > .tag-filter-clear {
  width: 100%;
  min-inline-size: 0;
}
:root[data-mobile-mode="on"] .controls-grid-row--index-sort {
  grid-template-columns: 1fr;
}
:root[data-mobile-mode="on"] .controls-grid-row--sort-order {
  grid-template-columns: 1fr;
}
:root[data-mobile-mode="on"] .controls-grid-row--temporal {
  grid-template-columns: 1fr;
}
:root[data-mobile-mode="on"] .controls-grid-row--categorical {
  grid-template-columns: 1fr;
}
:root[data-mobile-mode="on"] .controls-grid-row--temporal .date-filter-actions > .tag-filter-control-button,
:root[data-mobile-mode="on"] .controls-grid-row--temporal .date-filter-actions > .date-filter-clear,
:root[data-mobile-mode="on"] .controls-grid-row--categorical .channel-filter-actions > .tag-filter-control-button,
:root[data-mobile-mode="on"] .controls-grid-row--categorical .channel-filter-actions > .channel-filter-clear,
:root[data-mobile-mode="on"] .controls-grid-row--categorical .language-filter-actions > .tag-filter-control-button,
:root[data-mobile-mode="on"] .controls-grid-row--categorical .language-filter-actions > .language-filter-clear {
  width: 100%;
  min-inline-size: 0;
}
:root[data-mobile-mode="on"] .controls-grid--index .date-filter-actions > .tag-filter-control-button,
:root[data-mobile-mode="on"] .controls-grid--index .date-filter-actions > .date-filter-clear {
  width: auto;
}
:root[data-mobile-mode="on"] .date-drawer-sort-row {
  justify-content: stretch;
}
:root[data-mobile-mode="on"] .date-drawer-toggle {
  width: 100%;
  justify-content: space-between;
}
:root[data-mobile-mode="on"] .channel-filter-overflow-button,
:root[data-mobile-mode="on"] .language-filter-overflow-button,
:root[data-mobile-mode="on"] .tag-filter-overflow-button {
  width: 100%;
}
:root[data-mobile-mode="on"] .playlist-controls-footer button {
  width: 100%;
}
:root[data-mobile-mode="on"] .saved-views-header {
  flex-direction: column;
}
:root[data-mobile-mode="on"] .saved-views-action {
  width: 100%;
  justify-content: center;
}
:root[data-mobile-mode="on"] .tag-drawer,
:root[data-mobile-mode="on"] .report-modal,
:root[data-mobile-mode="on"] .player-modal {
  padding: 0.5rem;
}
:root[data-mobile-mode="on"] .tag-drawer-panel,
:root[data-mobile-mode="on"] .report-modal-dialog,
:root[data-mobile-mode="on"] .player-modal-dialog {
  width: 100%;
  height: min(100%, 100vh - 1rem);
}
:root[data-mobile-mode="on"] .playback-header {
  gap: 0.85rem;
}
:root[data-mobile-mode="on"] .playback-actions {
  width: 100%;
}
:root[data-mobile-mode="on"] .playback-row {
  grid-template-columns: 1fr;
}
:root[data-mobile-mode="on"] .playback-row-actions {
  width: 100%;
}
:root[data-mobile-mode="on"] .share-actions {
  width: 100%;
}
:root[data-mobile-mode="on"] .excluded-videos-shell {
  flex-direction: column;
  align-items: stretch;
}
:root[data-mobile-mode="on"] .excluded-videos-actions {
  width: 100%;
  flex-direction: column;
  align-items: stretch;
}
:root[data-mobile-mode="on"] .excluded-videos-toggle,
:root[data-mobile-mode="on"] .excluded-videos-clear {
  width: 100%;
}
:root[data-mobile-mode="on"] .locked-videos-shell,
:root[data-mobile-mode="on"] .locked-playlists-shell {
  flex-direction: column;
  align-items: stretch;
}
:root[data-mobile-mode="on"] .locked-videos-actions,
:root[data-mobile-mode="on"] .locked-playlists-actions {
  width: 100%;
  flex-direction: column;
  align-items: stretch;
}
:root[data-mobile-mode="on"] .locked-videos-hide-unlocked,
:root[data-mobile-mode="on"] .locked-videos-unlock-all,
:root[data-mobile-mode="on"] .locked-playlists-hide-unlocked,
:root[data-mobile-mode="on"] .locked-playlists-unlock-all {
  width: 100%;
}
:root[data-mobile-mode="on"] .tag-filter-control-button {
  width: 100%;
  min-inline-size: 0;
}
:root[data-mobile-mode="on"] .video-item {
  grid-template-columns: 1fr;
  gap: 0.75rem;
}
:root[data-mobile-mode="on"] .video-index {
  display: none;
}
:root[data-mobile-mode="on"] .video-action-row {
  flex-direction: column;
  align-items: center;
}
:root[data-mobile-mode="on"] .video-thumb-toggle {
  cursor: pointer;
}
:root[data-site-ready="true"][data-mobile-mode="on"] .video-item:not([data-mobile-actions-visible="true"]) .video-action-row,
:root[data-site-ready="true"][data-mobile-mode="on"] .video-item:not([data-mobile-actions-visible="true"]) .video-tags-shell > .card-detail-toggle {
  display: none;
}
:root[data-mobile-mode="on"] .video-action-button {
  inline-size: 95%;
  max-inline-size: 95%;
  min-inline-size: 0;
  min-height: 2.5rem;
}
:root[data-mobile-mode="on"] .playlist-metadata-tablist {
  justify-content: center;
}
:root[data-mobile-mode="on"] .playlist-metadata-tabs-toolbar {
  justify-content: center;
}
:root[data-mobile-mode="on"] .playlist-metadata-tab-action {
  width: 100%;
  margin-inline-start: 0;
}
:root[data-mobile-mode="on"] .video-metadata-player-frame,
:root[data-mobile-mode="on"] .playlist-metadata-player-frame {
  inline-size: 100%;
}
:root[data-mobile-mode="on"] .video-metadata-table,
:root[data-mobile-mode="on"] .playlist-metadata-table {
  min-width: 0;
}
:root[data-mobile-mode="on"] .video-metadata-path,
:root[data-mobile-mode="on"] .playlist-metadata-path {
  width: auto;
}
:root[data-mobile-mode="on"] .video-metadata-back,
:root[data-mobile-mode="on"] .playlist-metadata-back {
  width: 100%;
}
:root[data-mobile-mode="on"] .video-metadata-go-up,
:root[data-mobile-mode="on"] .playlist-metadata-go-up {
  width: 100%;
}
:root[data-mobile-mode="on"] .video-tags {
  display: none;
}
:root[data-mobile-mode="on"] .video-tags-extra:not([hidden]) {
  display: none;
}
:root[data-mobile-mode="on"] .tag-toggle--mobile {
  display: flex;
  justify-content: center;
}
:root[data-mobile-mode="on"] .report-actions {
  flex-direction: column-reverse;
}
:root[data-mobile-mode="on"] .playlist-jump-actions {
  flex-direction: column-reverse;
}
:root[data-mobile-mode="on"] .playlist-jump-actions .button-link {
  width: 100%;
}
:root[data-mobile-mode="on"] .report-actions .button-link {
  width: 100%;
}
:root[data-mobile-mode="on"] .player-modal-actions {
  justify-content: stretch;
}
:root[data-mobile-mode="on"] .player-modal-actions .button-link {
  width: 100%;
}
:root[data-mobile-mode="on"] button,
:root[data-mobile-mode="on"] input:not([type="range"]),
:root[data-mobile-mode="on"] select,
:root[data-mobile-mode="on"] .button-link {
  min-height: 3rem;
}
@media (max-width: 40rem) {
  :root[data-mobile-mode="auto"] body {
    padding: calc(1rem * var(--spacing-scale));
  }
  :root[data-mobile-mode="auto"] .page-nav-shell {
    align-items: stretch;
  }
  :root[data-mobile-mode="auto"] .page-nav-group {
    width: 100%;
  }
  :root[data-mobile-mode="auto"] .page-nav-group--playlist-controls--has-index .page-nav-item--desktop-only {
    display: none;
  }
  :root[data-mobile-mode="auto"] .page-nav-group--playlist-controls--has-index .page-nav-item--playlist-index {
    justify-self: center;
    inline-size: 95%;
  }
  :root[data-mobile-mode="auto"] .playlist-card {
    grid-template-columns: 1fr;
  }
  :root[data-mobile-mode="auto"] .playlist-card-index {
    display: none;
  }
  :root[data-mobile-mode="auto"][data-thumbnail-mode="local"] .playlist-card-thumb,
  :root[data-mobile-mode="auto"][data-thumbnail-mode="none"] .playlist-card-thumb {
    display: none;
  }
  :root[data-mobile-mode="auto"] .playlist-card-meta-line,
  :root[data-mobile-mode="auto"] .video-meta-line {
    display: none;
  }
  :root[data-mobile-mode="auto"] .playlist-card-tags {
    display: none;
  }
  :root[data-mobile-mode="auto"] .card-detail-toggle {
    display: flex;
    inline-size: 95%;
    max-inline-size: 95%;
    min-inline-size: 0;
    margin-inline: auto;
    min-height: 2.5rem;
  }
  :root[data-mobile-mode="auto"] .video-channel {
    min-width: 34vw;
  }
  :root[data-mobile-mode="auto"] .video-tags-shell .tag-toggle {
    display: none;
  }
  :root[data-mobile-mode="auto"] .playlist-card[data-details-visible] .playlist-card-meta-line,
  :root[data-mobile-mode="auto"] .video-item[data-details-visible] .video-meta-line {
    display: flex;
  }
  :root[data-mobile-mode="auto"] .playlist-card[data-details-visible] .card-detail-region,
  :root[data-mobile-mode="auto"] .video-item[data-details-visible] .card-detail-region {
    display: grid;
  }
  :root[data-mobile-mode="auto"] .playlist-stats-grid,
  :root[data-mobile-mode="auto"] .controls-grid {
    grid-template-columns: 1fr;
  }
  :root[data-mobile-mode="auto"] .settings-form {
    grid-template-columns: 1fr;
  }
  :root[data-mobile-mode="auto"] .settings-column--empty {
    display: none;
  }
  :root[data-mobile-mode="auto"] .settings-row {
    grid-template-columns: 1fr;
    align-items: stretch;
  }
  :root[data-mobile-mode="auto"] .settings-slider-header {
    flex-direction: column;
    align-items: flex-start;
  }
  :root[data-mobile-mode="auto"] .length-filter-row {
    grid-template-columns: 1fr;
  }
  :root[data-mobile-mode="auto"] .channel-filter-actions,
  :root[data-mobile-mode="auto"] .language-filter-actions,
  :root[data-mobile-mode="auto"] .date-filter-actions,
  :root[data-mobile-mode="auto"] .tag-filter-actions,
  :root[data-mobile-mode="auto"] .channel-drawer-toolbar,
  :root[data-mobile-mode="auto"] .language-drawer-toolbar,
  :root[data-mobile-mode="auto"] .date-drawer-toolbar,
  :root[data-mobile-mode="auto"] .tag-drawer-toolbar {
    flex-direction: column;
    align-items: stretch;
  }
  :root[data-mobile-mode="auto"] .playlist-jump-toolbar,
  :root[data-mobile-mode="auto"] .channel-drawer-sorts,
  :root[data-mobile-mode="auto"] .language-drawer-sorts,
  :root[data-mobile-mode="auto"] .tag-drawer-sorts {
    grid-template-columns: 1fr;
  }
  :root[data-mobile-mode="auto"] .channel-filter-actions > .tag-filter-control-button,
  :root[data-mobile-mode="auto"] .channel-filter-actions > .channel-filter-clear,
  :root[data-mobile-mode="auto"] .language-filter-actions > .tag-filter-control-button,
  :root[data-mobile-mode="auto"] .language-filter-actions > .language-filter-clear,
  :root[data-mobile-mode="auto"] .date-filter-actions > .tag-filter-control-button,
  :root[data-mobile-mode="auto"] .date-filter-actions > .date-filter-clear,
  :root[data-mobile-mode="auto"] .tag-filter-actions > .tag-filter-control-button,
  :root[data-mobile-mode="auto"] .tag-filter-actions > .tag-filter-clear {
    width: 100%;
    min-inline-size: 0;
  }
  :root[data-mobile-mode="auto"] .controls-grid-row--index-sort {
    grid-template-columns: 1fr;
  }
  :root[data-mobile-mode="auto"] .controls-grid-row--sort-order {
    grid-template-columns: 1fr;
  }
  :root[data-mobile-mode="auto"] .controls-grid-row--temporal {
    grid-template-columns: 1fr;
  }
  :root[data-mobile-mode="auto"] .controls-grid-row--categorical {
    grid-template-columns: 1fr;
  }
  :root[data-mobile-mode="auto"] .controls-grid-row--temporal .date-filter-actions > .tag-filter-control-button,
  :root[data-mobile-mode="auto"] .controls-grid-row--temporal .date-filter-actions > .date-filter-clear,
  :root[data-mobile-mode="auto"] .controls-grid-row--categorical .channel-filter-actions > .tag-filter-control-button,
  :root[data-mobile-mode="auto"] .controls-grid-row--categorical .channel-filter-actions > .channel-filter-clear,
  :root[data-mobile-mode="auto"] .controls-grid-row--categorical .language-filter-actions > .tag-filter-control-button,
  :root[data-mobile-mode="auto"] .controls-grid-row--categorical .language-filter-actions > .language-filter-clear {
    width: 100%;
    min-inline-size: 0;
  }
  :root[data-mobile-mode="auto"] .controls-grid--index .date-filter-actions > .tag-filter-control-button,
  :root[data-mobile-mode="auto"] .controls-grid--index .date-filter-actions > .date-filter-clear {
    width: auto;
  }
  :root[data-mobile-mode="auto"] .date-drawer-sort-row {
    justify-content: stretch;
  }
  :root[data-mobile-mode="auto"] .date-drawer-toggle {
    width: 100%;
    justify-content: space-between;
  }
  :root[data-mobile-mode="auto"] .channel-filter-overflow-button,
  :root[data-mobile-mode="auto"] .language-filter-overflow-button,
  :root[data-mobile-mode="auto"] .tag-filter-overflow-button {
    width: 100%;
  }
  :root[data-mobile-mode="auto"] .playlist-controls-footer button {
    width: 100%;
  }
  :root[data-mobile-mode="auto"] .saved-views-header {
    flex-direction: column;
  }
  :root[data-mobile-mode="auto"] .saved-views-action {
    width: 100%;
    justify-content: center;
  }
  :root[data-mobile-mode="auto"] .tag-drawer,
  :root[data-mobile-mode="auto"] .report-modal,
  :root[data-mobile-mode="auto"] .player-modal {
    padding: 0.5rem;
  }
  :root[data-mobile-mode="auto"] .tag-drawer-panel,
  :root[data-mobile-mode="auto"] .report-modal-dialog,
  :root[data-mobile-mode="auto"] .player-modal-dialog {
    width: 100%;
    height: min(100%, 100vh - 1rem);
  }
  :root[data-mobile-mode="auto"] .playback-header {
    gap: 0.85rem;
  }
  :root[data-mobile-mode="auto"] .playback-actions {
    width: 100%;
  }
  :root[data-mobile-mode="auto"] .playback-row {
    grid-template-columns: 1fr;
  }
  :root[data-mobile-mode="auto"] .playback-row-actions {
    width: 100%;
  }
  :root[data-mobile-mode="auto"] .share-actions {
    width: 100%;
  }
  :root[data-mobile-mode="auto"] .excluded-videos-shell {
    flex-direction: column;
    align-items: stretch;
  }
  :root[data-mobile-mode="auto"] .excluded-videos-actions {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }
  :root[data-mobile-mode="auto"] .excluded-videos-toggle,
  :root[data-mobile-mode="auto"] .excluded-videos-clear {
    width: 100%;
  }
  :root[data-mobile-mode="auto"] .locked-videos-shell,
  :root[data-mobile-mode="auto"] .locked-playlists-shell {
    flex-direction: column;
    align-items: stretch;
  }
  :root[data-mobile-mode="auto"] .locked-videos-actions,
  :root[data-mobile-mode="auto"] .locked-playlists-actions {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }
  :root[data-mobile-mode="auto"] .locked-videos-hide-unlocked,
  :root[data-mobile-mode="auto"] .locked-videos-unlock-all,
  :root[data-mobile-mode="auto"] .locked-playlists-hide-unlocked,
  :root[data-mobile-mode="auto"] .locked-playlists-unlock-all {
    width: 100%;
  }
  :root[data-mobile-mode="auto"] .tag-filter-control-button {
    width: 100%;
    min-inline-size: 0;
  }
  :root[data-mobile-mode="auto"] .video-item {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }
  :root[data-mobile-mode="auto"] .video-index {
    display: none;
  }
  :root[data-mobile-mode="auto"] .video-action-row {
    flex-direction: column;
    align-items: center;
  }
  :root[data-mobile-mode="auto"] .video-thumb-toggle {
    cursor: pointer;
  }
  :root[data-site-ready="true"][data-mobile-mode="auto"] .video-item:not([data-mobile-actions-visible="true"]) .video-action-row,
  :root[data-site-ready="true"][data-mobile-mode="auto"] .video-item:not([data-mobile-actions-visible="true"]) .video-tags-shell > .card-detail-toggle {
    display: none;
  }
  :root[data-mobile-mode="auto"] .video-action-button {
    inline-size: 95%;
    max-inline-size: 95%;
    min-inline-size: 0;
    min-height: 2.5rem;
  }
  :root[data-mobile-mode="auto"] .playlist-metadata-tablist {
    justify-content: center;
  }
  :root[data-mobile-mode="auto"] .playlist-metadata-tabs-toolbar {
    justify-content: center;
  }
  :root[data-mobile-mode="auto"] .playlist-metadata-tab-action {
    width: 100%;
    margin-inline-start: 0;
  }
  :root[data-mobile-mode="auto"] .video-metadata-player-frame,
  :root[data-mobile-mode="auto"] .playlist-metadata-player-frame {
    inline-size: 100%;
  }
  :root[data-mobile-mode="auto"] .video-metadata-table,
  :root[data-mobile-mode="auto"] .playlist-metadata-table {
    min-width: 0;
  }
  :root[data-mobile-mode="auto"] .video-metadata-path,
  :root[data-mobile-mode="auto"] .playlist-metadata-path {
    width: auto;
  }
  :root[data-mobile-mode="auto"] .video-metadata-back,
  :root[data-mobile-mode="auto"] .playlist-metadata-back {
    width: 100%;
  }
  :root[data-mobile-mode="auto"] .video-metadata-go-up,
  :root[data-mobile-mode="auto"] .playlist-metadata-go-up {
    width: 100%;
  }
  :root[data-mobile-mode="auto"] .video-tags {
    display: none;
  }
  :root[data-mobile-mode="auto"] .video-tags-extra:not([hidden]) {
    display: none;
  }
  :root[data-mobile-mode="auto"] .tag-toggle--mobile {
    display: flex;
    justify-content: center;
  }
  :root[data-mobile-mode="auto"] .report-actions {
    flex-direction: column-reverse;
  }
  :root[data-mobile-mode="auto"] .playlist-jump-actions {
    flex-direction: column-reverse;
  }
  :root[data-mobile-mode="auto"] .playlist-jump-actions .button-link {
    width: 100%;
  }
  :root[data-mobile-mode="auto"] .report-actions .button-link {
    width: 100%;
  }
  :root[data-mobile-mode="auto"] .player-modal-actions {
    justify-content: stretch;
  }
  :root[data-mobile-mode="auto"] .player-modal-actions .button-link {
    width: 100%;
  }
  :root[data-mobile-mode="auto"] button,
  :root[data-mobile-mode="auto"] input:not([type="range"]),
  :root[data-mobile-mode="auto"] select,
  :root[data-mobile-mode="auto"] .button-link {
    min-height: 3rem;
  }
}
@media (max-width: 26rem) {
  :root[data-mobile-mode="auto"] .pagination-main-controls,
  :root[data-mobile-mode="auto"] .pagination-utility-controls,
  :root[data-mobile-mode="auto"] .footer-meta-links {
    flex-wrap: wrap;
  }
  :root[data-mobile-mode="auto"] .pagination-page-size {
    inline-size: 100%;
  }
  :root[data-mobile-mode="auto"] .pagination-page-size input[type="number"] {
    flex: 1 1 auto;
    min-inline-size: 0;
  }
}
@media (max-width: 20rem) {
  :root[data-mobile-mode="auto"] body {
    padding: calc(0.75rem * var(--spacing-scale));
  }
}
