@font-face {
  font-family: "Manrope";
  src: url("/assets/fonts/manrope-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
}

@font-face {
  font-family: "Newsreader";
  src: url("/assets/fonts/newsreader-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
}

:root {
  --font-sans: "Manrope", system-ui, sans-serif;
  --font-display: "Sora", system-ui, sans-serif;
  --fs-base: 16px;
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4.5rem;
  --radius-sm: 14px;
  --radius-md: 20px;
  --radius-lg: 28px;
  --color-bg: #f6f2ea;
  --color-bg-strong: #efe6d8;
  --color-surface: rgba(255, 251, 245, 0.88);
  --color-surface-strong: #fffaf3;
  --color-panel: #fffdf8;
  --color-text: #131722;
  --color-text-soft: #5c6474;
  --color-text-faint: #7b8394;
  --color-border: rgba(19, 23, 34, 0.11);
  --color-accent: #1f4fd1;
  --color-accent-soft: rgba(31, 79, 209, 0.14);
  --color-shadow: rgba(20, 22, 32, 0.13);
  --color-anime: #df6a6d;
  --color-manga: #467dcf;
  --color-comics: #7b4ddb;
  --color-vgames: #3e8c63;
  --color-events: #bb7b2f;
  --gradient-page: radial-gradient(circle at top left, rgba(255, 255, 255, 0.8), transparent 42%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.22), rgba(246, 242, 234, 0));
  --shadow-sm: 0 16px 34px -24px rgba(18, 20, 30, 0.4);
  --shadow-md: 0 26px 60px -36px rgba(18, 20, 30, 0.35);
  --shadow-lg: 0 46px 96px -54px rgba(18, 20, 30, 0.4);
  --nav-height: 72px;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  font-size: var(--fs-base);
  scroll-behavior: smooth;
  color-scheme: light;
}

body {
  margin: 0;
  min-height: 100vh;
  font-family: var(--font-sans);
  color: var(--color-text);
  line-height: 1.65;
  background: var(--gradient-page), var(--color-bg);
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

a {
  color: inherit;
  text-decoration: none;
  touch-action: manipulation;
}

button,
input,
textarea {
  font: inherit;
}

button {
  touch-action: manipulation;
}

:focus-visible {
  outline: 2px solid rgba(31, 79, 209, 0.55);
  outline-offset: 3px;
}

.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;
}

.hidden {
  display: none !important;
}

main,
.page-content {
  position: relative;
  z-index: 1;
}

.page-content {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
  padding-bottom: var(--space-8);
}

.container {
  width: min(1160px, 100%);
  margin: 0 auto;
  padding: 0 var(--space-4);
}

.eyebrow {
  margin: 0 0 var(--space-2);
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-text-faint);
}

.section-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(1.55rem, 2vw + 1rem, 2.55rem);
  line-height: 1.08;
  letter-spacing: -0.03em;
  text-wrap: balance;
}

.section-description {
  margin: 0;
  max-width: 60ch;
  color: var(--color-text-soft);
}

.section-header {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.section-link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-weight: 700;
  color: var(--color-accent);
}

.section-link::after {
  content: "\2192";
  font-size: 0.9rem;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  min-height: 44px;
  padding: 0.78rem 1.2rem;
  border: 0;
  border-radius: 999px;
  background: var(--color-text);
  color: #fff;
  font-weight: 800;
  letter-spacing: -0.01em;
  cursor: pointer;
  box-shadow: var(--shadow-sm);
  transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

.button:hover,
.button:focus-visible {
  transform: translateY(-1px);
  box-shadow: var(--shadow-md);
}

.button:disabled {
  opacity: 0.65;
  cursor: wait;
}

.button--secondary {
  background: rgba(255, 255, 255, 0.7);
  color: var(--color-text);
  border: 1px solid rgba(19, 23, 34, 0.1);
  box-shadow: none;
}

.button--ghost {
  background: transparent;
  color: var(--color-text);
  border: 1px solid rgba(19, 23, 34, 0.14);
  box-shadow: none;
}

.button--lg {
  padding-inline: 1.4rem;
}

.button--sm {
  min-height: 38px;
  padding: 0.58rem 0.95rem;
  font-size: 0.88rem;
}

.navbar {
  position: sticky;
  top: 0;
  z-index: 220;
  min-height: var(--nav-height);
  border-bottom: 1px solid rgba(91, 175, 255, 0.18);
  background:
    linear-gradient(180deg, rgba(9, 15, 26, 0.96) 0%, rgba(12, 19, 31, 0.92) 100%);
  box-shadow: 0 22px 48px -38px rgba(0, 0, 0, 0.82);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.nav-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  width: min(1160px, 100%);
  min-height: var(--nav-height);
  margin: 0 auto;
  padding: 0 var(--space-4);
  position: relative;
  color: #f5f8ff;
}

.logo {
  display: inline-flex;
  align-items: center;
  gap: 0.72rem;
  flex-shrink: 0;
  min-width: 0;
}

.logo-mark {
  width: 50px;
  height: 50px;
  object-fit: contain;
  flex-shrink: 0;
  filter: drop-shadow(0 10px 16px rgba(19, 82, 154, 0.18));
}

.logo-lockup {
  display: grid;
  gap: 0.1rem;
  line-height: 0.88;
}

.logo-title {
  font-family: var(--font-display);
  font-size: clamp(1.05rem, 0.9rem + 0.6vw, 1.45rem);
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #39a9ff;
}

.logo-section {
  font-size: clamp(0.74rem, 0.68rem + 0.28vw, 0.98rem);
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #f5f8ff;
}

.search-form {
  display: none;
  position: relative;
  flex: 1;
  max-width: 280px;
  min-width: 180px;
}

.search-form::before {
  content: "\1F50D";
  position: absolute;
  left: 0.95rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.95rem;
  color: rgba(230, 239, 255, 0.76);
  opacity: 1;
}

.search-form input {
  width: 100%;
  height: 44px;
  padding: 0 1rem 0 2.6rem;
  border-radius: 999px;
  border: 1px solid rgba(145, 171, 220, 0.24);
  background: rgba(255, 255, 255, 0.08);
  color: #f5f8ff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.search-form input::placeholder {
  color: rgba(230, 239, 255, 0.56);
}

.search-suggestions {
  position: absolute;
  inset: calc(100% + 0.55rem) 0 auto;
  display: grid;
  gap: 0.2rem;
  padding: 0.5rem;
  margin: 0;
  list-style: none;
  border-radius: 18px;
  border: 1px solid rgba(145, 171, 220, 0.2);
  background: rgba(15, 22, 35, 0.98);
  box-shadow: 0 30px 70px -34px rgba(0, 0, 0, 0.82);
  z-index: 20;
}

.search-suggestions[hidden] {
  display: none;
}

.search-suggestions li {
  display: grid;
  gap: 0.12rem;
  padding: 0.75rem 0.8rem;
  border-radius: 14px;
  cursor: pointer;
}

.search-suggestions li:hover,
.search-suggestions li.active {
  background: rgba(47, 167, 255, 0.12);
}

.search-suggestions small {
  color: rgba(214, 226, 248, 0.66);
  font-size: 0.78rem;
}

.search-panel {
  display: none;
  flex: 1;
  justify-content: center;
  min-width: 0;
}

.search-panel.open {
  display: block;
  position: absolute;
  inset: calc(100% + 1px) 0 auto;
  padding: 0.8rem 1rem 1rem;
  border-bottom: 1px solid rgba(91, 175, 255, 0.18);
  background: rgba(12, 19, 31, 0.98);
  box-shadow: 0 26px 54px -34px rgba(0, 0, 0, 0.88);
}

.search-panel .search-form {
  width: 100%;
  max-width: 34rem;
}

.search-panel.open .search-form,
.search-panel.open .search-form input {
  display: block;
}

.search-toggle,
.nav-toggle {
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(145, 171, 220, 0.26);
  background: rgba(255, 255, 255, 0.08);
  color: #f5f8ff;
  font-size: 1.25rem;
  cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.search-toggle svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}

.search-toggle:hover,
.search-toggle:focus-visible,
.nav-toggle:hover,
.nav-toggle:focus-visible {
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(145, 171, 220, 0.38);
}

.menu {
  display: none;
}

.menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.menu.open {
  display: block;
  position: absolute;
  right: var(--space-4);
  top: calc(100% - 0.2rem);
  width: min(260px, calc(100vw - 2rem));
  padding: var(--space-3);
  border-radius: 18px;
  border: 1px solid rgba(145, 171, 220, 0.18);
  background: rgba(15, 22, 35, 0.98);
  box-shadow: 0 30px 70px -34px rgba(0, 0, 0, 0.82);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.menu li + li {
  margin-top: var(--space-2);
}

.menu a {
  display: block;
  padding: 0.45rem 0.25rem;
  border-radius: 999px;
  color: rgba(233, 242, 255, 0.84);
  font-weight: 700;
  line-height: 1.2;
  transition: color 0.18s ease, background-color 0.18s ease, box-shadow 0.18s ease;
}

.menu a:hover,
.menu a:focus-visible {
  color: #ffffff;
}

.menu a[aria-current="page"],
.menu a.nav-link--active {
  color: #ffffff;
  background: rgba(57, 169, 255, 0.14);
  box-shadow: inset 0 0 0 1px rgba(105, 191, 255, 0.22);
}

.home-intro,
.archive-hero,
.legal-page {
  padding-top: var(--space-4);
}

.home-intro {
  position: relative;
  overflow: hidden;
  padding-block: clamp(2rem, 4vw, 3.25rem);
  color: #f5f8ff;
  background:
    linear-gradient(90deg, rgba(8, 11, 24, 0.9) 0%, rgba(8, 11, 24, 0.74) 42%, rgba(8, 11, 24, 0.44) 70%, rgba(8, 11, 24, 0.78) 100%),
    radial-gradient(circle at 18% 20%, rgba(95, 240, 214, 0.16), transparent 24%),
    url("/assets/fondo.webp") center 42% / cover no-repeat;
  background:
    linear-gradient(90deg, rgba(8, 11, 24, 0.9) 0%, rgba(8, 11, 24, 0.74) 42%, rgba(8, 11, 24, 0.44) 70%, rgba(8, 11, 24, 0.78) 100%),
    radial-gradient(circle at 18% 20%, rgba(95, 240, 214, 0.16), transparent 24%),
    image-set(url("/assets/fondo.avif") type("image/avif"), url("/assets/fondo.webp") type("image/webp")) center 42% / cover no-repeat;
  box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.08);
}

.home-intro__layout,
.archive-hero__inner {
  display: grid;
  gap: var(--space-4);
}

.home-intro__layout {
  min-height: clamp(280px, 34vw, 360px);
  align-items: end;
}

.home-intro__highlights {
  width: 100%;
  max-width: 360px;
  justify-self: end;
}

.home-intro__copy,
.archive-hero__copy {
  display: grid;
  gap: var(--space-3);
}

.home-intro__copy {
  max-width: min(680px, 100%);
}

.home-intro__copy .eyebrow {
  margin-bottom: 0;
  width: fit-content;
  padding: 0.32rem 0.62rem;
  border: 1px solid rgba(126, 246, 222, 0.24);
  border-radius: 999px;
  background: rgba(126, 246, 222, 0.12);
  color: #bffcf0;
  letter-spacing: 0.14em;
}

.home-intro__copy h1 {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(2.5rem, 3.6vw + 0.8rem, 4.35rem);
  line-height: 0.96;
  letter-spacing: -0.045em;
  max-width: 13ch;
  color: #f7fbff;
  text-shadow: 0 18px 50px rgba(5, 7, 16, 0.42);
  text-wrap: balance;
}

.home-intro__description {
  margin: 0;
  max-width: 42ch;
  font-size: clamp(1rem, 0.35vw + 0.92rem, 1.12rem);
  color: rgba(227, 237, 255, 0.9);
  text-wrap: pretty;
  text-shadow: 0 12px 28px rgba(5, 7, 16, 0.28);
}

.home-intro__update {
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  width: fit-content;
  min-height: 36px;
  padding: 0.45rem 0.95rem;
  border-radius: 999px;
  border: 1px solid rgba(126, 246, 222, 0.2);
  background: rgba(95, 240, 214, 0.14);
  color: #d9fbf4;
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.4;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.home-intro__update::before {
  content: "";
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 999px;
  background: #7ef6de;
  box-shadow: 0 0 0 0.28rem rgba(126, 246, 222, 0.16);
}

.home-intro .sidebar-module--home {
  border-color: rgba(227, 238, 255, 0.2);
  background: rgba(255, 253, 248, 0.92);
  color: var(--color-text);
  box-shadow: 0 20px 52px rgba(3, 7, 18, 0.24);
}

.archive-hero__stats {
  display: grid;
  gap: var(--space-3);
  padding: var(--space-4);
  border-radius: var(--radius-lg);
  border: 1px solid rgba(19, 23, 34, 0.08);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.7), rgba(255, 250, 243, 0.9));
  box-shadow: var(--shadow-sm);
}

.archive-hero__stats span {
  color: var(--color-text-soft);
}

.filter-shell {
  position: relative;
  z-index: 180;
}

.filter-shell--sticky {
  position: sticky;
  top: calc(var(--nav-height) - 1px);
}

.filter-shell__inner {
  display: grid;
  gap: var(--space-3);
  padding-top: var(--space-2);
  padding-bottom: 0;
  background: rgba(246, 242, 234, 0.93);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.filter-tabs {
  position: relative;
  display: block;
}

.filter-tabs::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  background: rgba(19, 23, 34, 0.1);
}

.category-list {
  display: flex;
  align-items: flex-end;
  gap: 0.35rem;
  padding: 0;
  margin: 0;
  list-style: none;
  overflow-x: auto;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
}

.category-list__item {
  display: flex;
  flex: 0 0 auto;
}

.category-list::-webkit-scrollbar {
  display: none;
}

.chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0.65rem 1rem;
  border-radius: 999px;
  border: 1px solid rgba(19, 23, 34, 0.11);
  background: rgba(255, 255, 255, 0.58);
  color: var(--color-text-soft);
  font-weight: 800;
  white-space: nowrap;
  scroll-snap-align: start;
  transition: transform 0.18s ease, background-color 0.18s ease, color 0.18s ease;
}

.filter-tab {
  --filter-tab-accent: var(--color-text);
  position: relative;
  z-index: 1;
  min-height: 48px;
  padding: 0.85rem 1.15rem 0.72rem;
  border-radius: 1.1rem 1.1rem 0 0;
  border-color: transparent;
  border-bottom: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.34), rgba(255, 251, 245, 0.88));
  color: var(--color-text-faint);
  margin-bottom: -1px;
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

.filter-tab::after {
  content: "";
  position: absolute;
  right: 1rem;
  bottom: 0.55rem;
  left: 1rem;
  height: 3px;
  border-radius: 999px;
  background: var(--filter-tab-accent);
  opacity: 0;
  transform: scaleX(0.58);
  transform-origin: center;
  transition: opacity 0.18s ease, transform 0.18s ease;
}

.chip:hover,
.chip:focus-visible {
  transform: translateY(-1px);
  color: var(--color-text);
}

.filter-tab:hover,
.filter-tab:focus-visible {
  z-index: 2;
  transform: none;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.74), rgba(255, 251, 245, 0.98));
  border-color: rgba(19, 23, 34, 0.08);
  color: var(--color-text);
}

.filter-tab:hover::after,
.filter-tab:focus-visible::after {
  opacity: 0.42;
  transform: scaleX(1);
}

.chip--active {
  background: var(--color-text);
  border-color: var(--color-text);
  color: #fff;
}

.filter-tab.chip--active {
  z-index: 3;
  background: var(--color-panel);
  border-color: rgba(19, 23, 34, 0.12);
  color: var(--color-text);
  box-shadow: 0 -1px 0 rgba(255, 255, 255, 0.8) inset, var(--shadow-sm);
}

.filter-tab.chip--active::after {
  opacity: 1;
  transform: scaleX(1);
}

.chip--anime {
  border-color: rgba(223, 106, 109, 0.35);
}

.chip--manga,
.chip--webtoon {
  border-color: rgba(70, 125, 207, 0.35);
}

.chip--vgames {
  border-color: rgba(62, 140, 99, 0.35);
}

.chip--events {
  border-color: rgba(187, 123, 47, 0.35);
}

.chip--comics {
  border-color: rgba(123, 77, 219, 0.35);
}

.filter-tab.chip--anime:not(.chip--active),
.filter-tab.chip--manga:not(.chip--active),
.filter-tab.chip--webtoon:not(.chip--active),
.filter-tab.chip--vgames:not(.chip--active),
.filter-tab.chip--comics:not(.chip--active),
.filter-tab.chip--events:not(.chip--active) {
  border-color: rgba(19, 23, 34, 0.08);
}

.filter-tab.chip--anime {
  --filter-tab-accent: var(--color-anime);
}

.filter-tab.chip--manga,
.filter-tab.chip--webtoon {
  --filter-tab-accent: var(--color-manga);
}

.filter-tab.chip--vgames {
  --filter-tab-accent: var(--color-vgames);
}

.filter-tab.chip--comics {
  --filter-tab-accent: var(--color-comics);
}

.filter-tab.chip--events {
  --filter-tab-accent: var(--color-events);
}

.chip--topic {
  cursor: default;
}

.news-section .container {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.news-grid,
.feed-loading {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-4);
}

.home-editorial-lead,
.home-category-digest,
.home-guides {
  padding: clamp(1.8rem, 4vw, 4rem) 0;
}

.home-guides {
  background: rgba(255, 255, 255, 0.42);
}

.home-guides__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
  gap: var(--space-3);
}

.home-guide-card {
  display: grid;
  gap: 0.7rem;
  min-height: 230px;
  padding: var(--space-4);
  border: 1px solid rgba(19, 23, 34, 0.09);
  border-radius: 22px;
  background: rgba(255, 253, 248, 0.92);
  color: var(--color-text);
  box-shadow: var(--shadow-sm);
  text-decoration: none;
}

.home-guide-card:hover,
.home-guide-card:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(31, 79, 209, 0.28);
}

.home-guide-card strong {
  font-family: var(--font-display);
  font-size: 1.15rem;
  line-height: 1.2;
}

.home-guide-card > span:not(.home-guide-card__eyebrow):not(.home-guide-card__cta) {
  color: var(--color-text-soft);
  line-height: 1.55;
}

.home-guide-card__eyebrow,
.home-guide-card__cta {
  color: var(--color-accent);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.home-guide-card__cta {
  align-self: end;
}

.home-category-digest .section-header {
  margin-bottom: clamp(0.25rem, 1vw, 0.75rem);
}

.home-editorial-lead__grid,
.home-category-digest__grid {
  display: grid;
  gap: clamp(1.2rem, 2.4vw, 2rem);
}

.home-editorial-lead__main,
.home-editorial-lead__side {
  min-width: 0;
}

.home-editorial-lead__main {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.home-category-digest__grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
  align-items: stretch;
}

.home-category-panel {
  --category-color: var(--color-accent);
  --category-tint: rgba(31, 79, 209, 0.12);
  position: relative;
  isolation: isolate;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  padding: clamp(1rem, 1.8vw, 1.25rem);
  overflow: hidden;
  border: 1px solid rgba(19, 23, 34, 0.08);
  border-radius: var(--radius-md);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(255, 250, 243, 0.96)),
    var(--category-tint);
  box-shadow: var(--shadow-sm);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.home-category-panel::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: var(--category-color);
  opacity: 0.9;
  pointer-events: none;
}

.home-category-panel::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(circle at 16% 0%, var(--category-tint), transparent 34%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.62), transparent 48%);
  pointer-events: none;
}

.home-category-panel:hover,
.home-category-panel:focus-within {
  transform: translateY(-3px);
  border-color: rgba(19, 23, 34, 0.14);
  box-shadow: var(--shadow-md);
}

.home-category-panel--anime {
  --category-color: var(--color-anime);
  --category-tint: rgba(223, 106, 109, 0.14);
}

.home-category-panel--manga {
  --category-color: var(--color-manga);
  --category-tint: rgba(70, 125, 207, 0.14);
}

.home-category-panel--webtoon {
  --category-color: #008c7a;
  --category-tint: rgba(0, 140, 122, 0.13);
}

.home-category-panel--videojuegos {
  --category-color: var(--color-vgames);
  --category-tint: rgba(62, 140, 99, 0.14);
}

.home-category-panel--eventos {
  --category-color: var(--color-events);
  --category-tint: rgba(187, 123, 47, 0.15);
}

.home-category-panel--comics {
  --category-color: var(--color-comics);
  --category-tint: rgba(123, 77, 219, 0.13);
}

.home-category-panel__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-3);
}

.home-category-panel__eyebrow {
  display: block;
  margin-bottom: 0.12rem;
  color: var(--color-text-faint);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  line-height: 1.2;
  text-transform: uppercase;
}

.home-category-panel__header h3 {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(1.1rem, 0.65vw + 0.95rem, 1.28rem);
  line-height: 1.1;
  letter-spacing: -0.02em;
}

.home-category-panel__header a {
  flex: 0 0 auto;
  margin-top: 0.05rem;
  padding: 0.35rem 0.62rem;
  border-radius: 999px;
  color: var(--category-color);
  background: rgba(255, 255, 255, 0.72);
  box-shadow: inset 0 0 0 1px rgba(19, 23, 34, 0.06);
  font-size: 0.82rem;
  font-weight: 800;
}

.home-category-panel__lead {
  display: grid;
  gap: 0.85rem;
  color: inherit;
}

.home-category-panel__lead .news-image-frame,
.home-category-panel__lead .card-media {
  aspect-ratio: 16 / 9;
  border-radius: 18px;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.18);
}

.home-category-panel__lead .news-image-frame > img {
  object-fit: cover;
  object-position: center;
}

.home-category-panel__lead-copy {
  display: grid;
  min-width: 0;
  gap: 0.3rem;
}

.home-category-panel__lead-title {
  display: -webkit-box;
  overflow: hidden;
  color: var(--color-text);
  font-size: clamp(1rem, 0.38vw + 0.92rem, 1.16rem);
  font-weight: 850;
  letter-spacing: -0.01em;
  line-height: 1.22;
  text-wrap: pretty;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.home-category-panel__summary {
  display: -webkit-box;
  overflow: hidden;
  color: var(--color-text-soft);
  font-size: 0.86rem;
  font-weight: 700;
  line-height: 1.42;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.home-category-panel__stories {
  padding-top: 0.8rem;
  border-top: 1px solid rgba(19, 23, 34, 0.08);
}

.home-category-panel__stories a {
  position: relative;
  padding-left: 0.85rem;
}

.home-category-panel__stories a::before {
  content: "";
  position: absolute;
  top: 0.48rem;
  left: 0;
  width: 0.38rem;
  height: 0.38rem;
  border-radius: 999px;
  background: var(--category-color);
  opacity: 0.86;
}

.home-category-panel__stories .story-list__title {
  display: -webkit-box;
  overflow: hidden;
  font-size: 0.92rem;
  line-height: 1.32;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.news-grid--compact {
  gap: var(--space-3);
}

.home-secondary-list {
  display: grid;
  gap: 0.85rem;
}

.card--compact .card-body {
  gap: var(--space-2);
}

.card--compact .card-title {
  font-size: 1rem;
}

@media (min-width: 920px) {
  .home-editorial-lead__grid {
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
    align-items: start;
  }
}

.card {
  position: relative;
  min-width: 0;
  border-radius: 24px;
  border: 1px solid rgba(19, 23, 34, 0.08);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.82), rgba(255, 250, 243, 0.96));
  box-shadow: var(--shadow-sm);
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.card:hover,
.card:focus-within {
  transform: translateY(-4px);
  border-color: rgba(19, 23, 34, 0.14);
  box-shadow: var(--shadow-md);
}

.card-link {
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.news-image-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: rgba(19, 23, 34, 0.06);
}

.news-image-frame > picture,
.news-image-frame > img,
.news-image-frame > .card-media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.news-image-frame > picture {
  display: block;
}

.news-image-frame > picture > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.news-image-frame > .card-media {
  aspect-ratio: auto;
}

.news-image-frame > [hidden] {
  display: none !important;
}

.news-image-frame.is-image-broken > picture,
.news-image-frame.is-image-broken > img {
  display: none;
}

.card img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  background: rgba(19, 23, 34, 0.06);
}

.card-media {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: var(--space-3);
  width: 100%;
  aspect-ratio: 16 / 10;
  padding: clamp(1rem, 1.8vw, 1.5rem);
  overflow: hidden;
  color: #f7f9ff;
  background:
    radial-gradient(circle at top right, rgba(255, 255, 255, 0.18), transparent 34%),
    radial-gradient(circle at bottom left, rgba(255, 255, 255, 0.1), transparent 28%),
    linear-gradient(145deg, #131722 0%, #1a2332 56%, #22364b 100%);
}

.card-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(115deg, rgba(255, 255, 255, 0.08), transparent 48%),
    repeating-linear-gradient(
      135deg,
      rgba(255, 255, 255, 0.02) 0,
      rgba(255, 255, 255, 0.02) 12px,
      transparent 12px,
      transparent 28px
    );
  pointer-events: none;
}

.card-media > * {
  position: relative;
  z-index: 1;
}

.card-media__eyebrow,
.card-media__status {
  font-size: 0.76rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.card-media__eyebrow {
  font-weight: 800;
  opacity: 0.78;
}

.card-media__category {
  display: inline-flex;
  align-self: flex-start;
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.card-media__title {
  margin: 0;
  max-width: 16ch;
  font-size: clamp(1.15rem, 1vw + 0.95rem, 1.55rem);
  line-height: 1.05;
  letter-spacing: 0;
  font-weight: 800;
  text-wrap: balance;
}

.card-media__status {
  color: rgba(247, 249, 255, 0.74);
  font-weight: 700;
}

.card-media--anime {
  background:
    radial-gradient(circle at top right, rgba(255, 255, 255, 0.2), transparent 34%),
    radial-gradient(circle at bottom left, rgba(255, 255, 255, 0.12), transparent 28%),
    linear-gradient(145deg, #3a1120 0%, #7b223f 56%, #e16876 100%);
}

.card-media--manga {
  background:
    radial-gradient(circle at top right, rgba(255, 255, 255, 0.2), transparent 34%),
    radial-gradient(circle at bottom left, rgba(255, 255, 255, 0.12), transparent 28%),
    linear-gradient(145deg, #172d63 0%, #2852b2 56%, #7696e6 100%);
}

.card-media--vgames {
  background:
    radial-gradient(circle at top right, rgba(255, 255, 255, 0.2), transparent 34%),
    radial-gradient(circle at bottom left, rgba(255, 255, 255, 0.12), transparent 28%),
    linear-gradient(145deg, #103321 0%, #1f7b52 56%, #54c089 100%);
}

.card-media--events {
  background:
    radial-gradient(circle at top right, rgba(255, 255, 255, 0.2), transparent 34%),
    radial-gradient(circle at bottom left, rgba(255, 255, 255, 0.12), transparent 28%),
    linear-gradient(145deg, #4a2708 0%, #b06512 56%, #e1a154 100%);
}

.card-body {
  display: flex;
  flex-direction: column;
  gap: 0.72rem;
  flex: 1;
  padding: 1rem;
}

.card-badges,
.tags,
.topic-cluster,
.platform-links__items,
.share-actions,
.contact-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.pill,
.badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 0 0.7rem;
  border-radius: 999px;
  font-size: 0.76rem;
  font-weight: 800;
}

.pill {
  color: #fff;
}

.pill.anime {
  background: var(--color-anime);
}

.pill.manga {
  background: var(--color-manga);
}

.pill.vgames {
  background: var(--color-vgames);
}

.pill.comics {
  background: var(--color-comics);
}

.pill.events {
  background: var(--color-events);
}

.badge {
  background: rgba(19, 23, 34, 0.06);
  color: var(--color-text-soft);
}

.card-title {
  margin: 0;
  font-size: clamp(1.1rem, 1vw + 1rem, 1.28rem);
  line-height: 1.24;
  letter-spacing: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.7rem;
  margin: 0;
  color: var(--color-text-faint);
  font-size: 0.8rem;
  font-weight: 700;
}

.card--compact {
  border-radius: 16px;
  box-shadow: 0 16px 32px -28px rgba(19, 23, 34, 0.42);
}

.card--compact:hover,
.card--compact:focus-within {
  transform: translateY(-2px);
}

.card--compact .card-link {
  display: grid;
  grid-template-columns: minmax(104px, 34%) minmax(0, 1fr);
  min-height: 132px;
}

.card--compact .news-image-frame,
.card--compact .card img,
.card--compact .card-media {
  height: 100%;
  min-height: 132px;
  aspect-ratio: auto;
}

.card--compact .card-body {
  min-width: 0;
  padding: 0.85rem 0.95rem;
  gap: 0.45rem;
}

.card--compact .pill {
  width: fit-content;
  min-height: 22px;
  padding: 0 0.55rem;
  font-size: 0.66rem;
}

.card--compact .card-title {
  font-size: 0.98rem;
  line-height: 1.22;
  -webkit-line-clamp: 3;
  text-wrap: pretty;
}

.card--compact .card-kicker {
  display: -webkit-box;
  overflow: hidden;
  font-size: 0.82rem;
  line-height: 1.35;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.card--compact .card-meta {
  gap: 0.28rem 0.55rem;
  font-size: 0.72rem;
}

.card--compact .card-meta span:last-child {
  display: none;
}

@media (max-width: 479px) {
  .card--compact .card-link {
    grid-template-columns: 92px minmax(0, 1fr);
    min-height: 118px;
  }

  .card--compact .news-image-frame,
  .card--compact .card img,
  .card--compact .card-media {
    min-height: 118px;
  }

  .card--compact .card-body {
    padding: 0.75rem;
  }
}

.card-cta {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-weight: 800;
  color: var(--color-accent);
}

.card-cta::after {
  content: "\2192";
  font-size: 0.9rem;
}

.feed-loading[hidden],
.error-state[hidden],
.feed-end[hidden] {
  display: none;
}

.feed-end {
  padding: 0.35rem 0 0;
}

.feed-end p {
  margin: 0;
  color: var(--color-text-soft);
  text-align: center;
  font-weight: 700;
}

.feed-sentinel {
  width: 100%;
  height: 1px;
}

.skeleton {
  min-height: 320px;
  background: linear-gradient(120deg, rgba(19, 23, 34, 0.04), rgba(255, 255, 255, 0.55), rgba(19, 23, 34, 0.04));
  background-size: 240% 100%;
  animation: shimmer 1.45s linear infinite;
}

@keyframes shimmer {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -60% 0;
  }
}

.empty-state,
.error-state {
  padding: var(--space-5);
  border-radius: var(--radius-lg);
  border: 1px solid rgba(19, 23, 34, 0.1);
  background: rgba(255, 251, 245, 0.9);
  text-align: center;
  box-shadow: var(--shadow-sm);
}

.empty-state,
.error-state p {
  margin: 0;
}

.error-state {
  display: grid;
  gap: var(--space-3);
}

.breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  list-style: none;
  padding: 0;
  margin: 0;
  color: var(--color-text-faint);
  font-size: 0.88rem;
  font-weight: 700;
}

.breadcrumbs li + li::before {
  content: "/";
  margin-right: var(--space-2);
}

.archive-hero__stats {
  gap: var(--space-2);
}

.article-shell {
  width: min(1240px, 100%);
  margin: 0 auto;
  padding: var(--space-5) var(--space-4) var(--space-8);
}

.article-main {
  min-width: 0;
}

.article-sidebar {
  display: none;
}

.article {
  display: grid;
  gap: var(--space-4);
  padding: clamp(1.2rem, 2vw, 2rem);
  border-radius: 30px;
  border: 1px solid rgba(19, 23, 34, 0.08);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.78), rgba(255, 250, 243, 0.94));
  box-shadow: var(--shadow-sm);
}

.article-header {
  display: grid;
  gap: var(--space-3);
}

.article h1 {
  margin: 0;
  font-family: var(--font-display);
  max-inline-size: 24ch;
  font-size: clamp(2rem, 2.35vw + 1rem, 3rem);
  line-height: 1.02;
  letter-spacing: -0.05em;
  text-wrap: balance;
}

.article-standfirst,
.contact-note,
.contact-card p,
.contact-form p,
.legal-lead {
  margin: 0;
  color: var(--color-text-soft);
}

.meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  align-items: center;
  margin: 0;
  color: var(--color-text-faint);
  font-size: 0.88rem;
  font-weight: 700;
}

.article-review {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.85rem;
  padding: 0.85rem 1rem;
  border-left: 4px solid var(--color-accent);
  border-radius: 14px;
  background: rgba(31, 79, 209, 0.06);
  color: var(--color-text-soft);
  font-size: 0.86rem;
  line-height: 1.45;
}

.article-review strong {
  color: var(--color-text);
}

.article-review--automated {
  border-left-color: #a06517;
  background: rgba(255, 246, 231, 0.9);
}

.article-review a {
  color: var(--color-accent);
  font-weight: 800;
}

.article-review__disclosure {
  flex-basis: 100%;
}

.hero-image,
.article-image {
  margin: 0;
}

.hero-image img,
.article-image img,
.gallery img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 22px;
  box-shadow: var(--shadow-sm);
}

.hero-image figcaption,
.article-image figcaption {
  margin-top: 0.55rem;
  color: var(--color-muted);
  font-size: 0.78rem;
}

.article-body {
  display: grid;
  gap: var(--space-3);
}

.article-body > * {
  margin: 0;
}

.article-body h2,
.article-body h3 {
  font-family: var(--font-display);
  letter-spacing: -0.03em;
}

.article-body h2 {
  margin-top: var(--space-4);
  font-size: 1.34rem;
}

.article-body h3 {
  margin-top: var(--space-3);
  font-size: 1.08rem;
}

.article-body ul,
.legal-card ul,
.contact-list {
  padding-left: 1.15rem;
}

.article-body a,
.article-sources a,
.legal-card a,
.site-footer__links a,
.cookie-banner__link {
  color: var(--color-accent);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: var(--space-2);
  margin-top: var(--space-4);
}

.gallery img {
  cursor: pointer;
}

.gallery .article-image {
  min-width: 0;
}

.video-wrapper {
  position: relative;
  overflow: hidden;
  padding-top: 56.25%;
  border-radius: 22px;
  background: #0d0f15;
}

.video-wrapper iframe,
.video-wrapper .video-embed {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.video-embed {
  display: grid;
  place-items: center;
  padding: 0;
  background-color: #111;
  background-position: center;
  background-size: cover;
  color: #fff;
  cursor: pointer;
}

.video-embed__overlay {
  display: grid;
  justify-items: center;
  gap: var(--space-2);
  width: 100%;
  height: 100%;
  padding: var(--space-5);
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.76));
}

.video-embed__icon {
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.16);
  font-size: 1.45rem;
}

.video-embed__text {
  font-weight: 800;
}

.article-sources,
.article-facts,
.article-radar,
.coverage-history,
.platform-links,
.sidebar-module,
.contact-card,
.contact-form,
.legal-card {
  display: grid;
  gap: var(--space-3);
  padding: var(--space-4);
  border-radius: 24px;
  border: 1px solid rgba(19, 23, 34, 0.08);
  background: rgba(255, 253, 248, 0.86);
  box-shadow: var(--shadow-sm);
}

.article-sources h2,
.article-facts h2,
.article-radar h2,
.coverage-history h2,
.platform-links h2,
.sidebar-title {
  margin: 0;
  font-size: 1.02rem;
  letter-spacing: -0.02em;
}

.sources,
.story-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--space-2);
}

.story-list a {
  display: grid;
  gap: 0.18rem;
}

.story-list__category {
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-text-faint);
  font-weight: 800;
}

.story-list__title {
  font-weight: 700;
  line-height: 1.35;
}

.story-list__meta {
  color: var(--color-text-soft);
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.35;
}

.article-facts dl {
  display: grid;
  gap: var(--space-2);
  margin: 0;
}

.article-facts__row {
  display: grid;
  gap: 0.1rem;
}

.article-facts dt {
  font-weight: 800;
}

.article-facts dd {
  margin: 0;
  color: var(--color-text-soft);
}

.article-radar {
  gap: var(--space-4);
  background: rgba(255, 253, 248, 0.92);
}

.article-radar__header {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-2);
}

.article-radar__header h2,
.article-radar__eyebrow,
.article-radar__item p {
  margin: 0;
}

.article-radar__eyebrow,
.article-radar__label {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-text-faint);
}

.article-radar__grid {
  display: grid;
  gap: var(--space-2);
}

.article-radar__item {
  display: grid;
  gap: 0.35rem;
  min-width: 0;
  padding: var(--space-3);
  border: 1px solid rgba(19, 23, 34, 0.08);
  border-radius: 14px;
}

.article-radar__item--status {
  border-color: rgba(31, 79, 209, 0.2);
}

.article-radar__item strong {
  font-size: 0.98rem;
}

.article-radar__item p {
  color: var(--color-text-soft);
}

.article-radar__item a {
  width: fit-content;
  color: var(--color-accent);
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.article-radar__muted {
  font-size: 0.92rem;
}

.article-footer {
  display: grid;
  gap: var(--space-3);
}

.related-section {
  display: grid;
  gap: var(--space-4);
  margin-top: var(--space-5);
}

.pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--space-3);
}

.pagination__status {
  color: var(--color-text-soft);
  font-weight: 800;
}

.legal-page {
  padding-bottom: var(--space-8);
}

.legal-shell {
  width: min(860px, 100%);
  margin: 0 auto;
  padding: 0 var(--space-4);
}

.legal-card h1,
.legal-card h2,
.legal-card p,
.legal-card ul {
  margin: 0;
}

.legal-card h1 {
  font-family: var(--font-display);
  font-size: clamp(2rem, 2.4vw + 1rem, 2.95rem);
  line-height: 1.04;
  letter-spacing: -0.05em;
}

.legal-card h2 {
  font-size: 1.08rem;
}

.guide-shell {
  width: min(940px, 100%);
}

.guide-page {
  gap: clamp(1.3rem, 2.5vw, 2rem);
}

.guide-hero,
.guide-method,
.guide-page > section {
  display: grid;
  gap: var(--space-3);
}

.guide-byline {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  color: var(--color-text-faint);
  font-size: 0.86rem;
  font-weight: 800;
}

.guide-method {
  padding: var(--space-4);
  border-left: 4px solid var(--color-accent);
  border-radius: 18px;
  background: rgba(31, 79, 209, 0.06);
}

.guide-update-log {
  display: grid;
  gap: var(--space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}

.guide-update-log li {
  display: grid;
  grid-template-columns: minmax(100px, auto) 1fr;
  gap: var(--space-3);
  padding-top: var(--space-2);
  border-top: 1px solid rgba(19, 23, 34, 0.08);
}

.guide-update-log time {
  color: var(--color-text-faint);
  font-weight: 800;
}

.about-page {
  padding-top: clamp(1rem, 2.4vw, 2rem);
}

.about-shell {
  width: min(1160px, 100%);
  margin: 0 auto;
  padding: 0 var(--space-4);
}

.about-story {
  display: grid;
  gap: clamp(2rem, 4vw, 3.5rem);
}

.about-story h1,
.about-story h2,
.about-story h3,
.about-story p,
.about-story ul {
  margin: 0;
}

.about-story a:not(.button):not(.page-card__link) {
  color: var(--color-accent);
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 0.16em;
}

.about-hero {
  position: relative;
  overflow: hidden;
  display: grid;
  gap: clamp(1.25rem, 3vw, 2rem);
  padding: clamp(1.25rem, 4vw, 3rem);
  border-radius: clamp(22px, 4vw, 34px);
  color: #f7fbff;
  background:
    linear-gradient(110deg, rgba(8, 13, 24, 0.92) 0%, rgba(8, 13, 24, 0.82) 48%, rgba(8, 13, 24, 0.58) 100%),
    url("/assets/fondo.webp") center 42% / cover no-repeat;
  background:
    linear-gradient(110deg, rgba(8, 13, 24, 0.92) 0%, rgba(8, 13, 24, 0.82) 48%, rgba(8, 13, 24, 0.58) 100%),
    image-set(url("/assets/fondo.avif") type("image/avif"), url("/assets/fondo.webp") type("image/webp")) center 42% / cover no-repeat;
  box-shadow: 0 34px 82px -54px rgba(4, 16, 34, 0.86);
}

.about-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.1), transparent 18%),
    radial-gradient(circle at 14% 18%, rgba(57, 169, 255, 0.24), transparent 26%);
  mix-blend-mode: screen;
}

.about-hero > * {
  position: relative;
  z-index: 1;
}

.about-hero .breadcrumbs ol {
  color: rgba(226, 237, 255, 0.7);
}

.about-hero .breadcrumbs a {
  color: #ffffff;
}

.about-hero .eyebrow {
  color: rgba(187, 216, 255, 0.82);
}

.about-hero__copy {
  display: grid;
  align-content: start;
  gap: var(--space-4);
  max-width: 740px;
}

.about-hero h1 {
  max-width: 13ch;
  font-family: var(--font-display);
  font-size: clamp(2.4rem, 6vw, 5.35rem);
  line-height: 0.96;
  letter-spacing: -0.06em;
  text-wrap: balance;
}

.about-lead {
  max-width: 62ch;
  color: rgba(235, 243, 255, 0.78);
  font-size: clamp(1.02rem, 0.8vw + 0.92rem, 1.22rem);
  line-height: 1.7;
}

.about-brief {
  display: grid;
  align-content: start;
  gap: var(--space-3);
  padding: clamp(1rem, 2.2vw, 1.45rem);
  border: 1px solid rgba(220, 236, 255, 0.18);
  border-radius: 22px;
  background: rgba(8, 15, 28, 0.58);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 22px 52px -42px rgba(0, 0, 0, 0.92);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.about-brief__label {
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(187, 216, 255, 0.82);
}

.about-brief dl {
  display: grid;
  gap: var(--space-3);
  margin: 0;
}

.about-brief div {
  display: grid;
  gap: 0.15rem;
}

.about-brief dt {
  font-weight: 800;
}

.about-brief dd {
  margin: 0;
  color: rgba(235, 243, 255, 0.72);
}

.about-brief a {
  color: #ffffff;
}

.about-snapshot {
  display: grid;
  gap: var(--space-3);
}

.about-snapshot div {
  display: grid;
  gap: var(--space-1);
  padding: var(--space-4);
  border-radius: 18px;
  border: 1px solid rgba(19, 23, 34, 0.08);
  background: rgba(255, 253, 248, 0.78);
  box-shadow: var(--shadow-sm);
}

.about-snapshot span {
  font-family: var(--font-display);
  font-size: clamp(1.35rem, 1.2vw + 1rem, 2rem);
  font-weight: 800;
  letter-spacing: -0.04em;
}

.about-snapshot p,
.about-section p,
.about-section li {
  color: var(--color-text-soft);
}

.about-section {
  display: grid;
  gap: var(--space-4);
}

.about-topic-grid article,
.about-section .page-card {
  border-radius: 18px;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.about-topic-grid article {
  position: relative;
  overflow: hidden;
  background: rgba(255, 253, 248, 0.82);
}

.about-topic-grid article::before {
  content: "";
  width: 2.25rem;
  height: 0.24rem;
  border-radius: 999px;
  background: var(--color-accent);
}

.about-topic-grid article:hover,
.about-section .page-card:hover {
  transform: translateY(-2px);
  border-color: rgba(31, 79, 209, 0.18);
  box-shadow: var(--shadow-md);
}

.about-section--method {
  padding: clamp(1rem, 3vw, 1.8rem);
  border-radius: 26px;
  background:
    linear-gradient(135deg, rgba(255, 253, 248, 0.88), rgba(239, 246, 255, 0.72));
  box-shadow: inset 0 0 0 1px rgba(19, 23, 34, 0.07);
}

.about-split {
  grid-template-columns: 1fr;
  padding-top: var(--space-5);
  border-top: 1px solid rgba(19, 23, 34, 0.09);
}

.about-split > p,
.about-split > ul {
  max-width: 68ch;
}

.contact-grid {
  display: grid;
  gap: var(--space-4);
}

.form-field {
  display: grid;
  gap: var(--space-1);
}

.form-field label {
  font-weight: 700;
}

.form-field input,
.form-field textarea {
  width: 100%;
  padding: 0.9rem 1rem;
  border-radius: 16px;
  border: 1px solid rgba(19, 23, 34, 0.12);
  background: rgba(255, 255, 255, 0.8);
  color: var(--color-text);
}

.form-field textarea {
  min-height: 180px;
  resize: vertical;
}

.lightbox {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(12, 14, 18, 0.82);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease;
  z-index: 320;
}

.lightbox.open {
  opacity: 1;
  pointer-events: auto;
}

.lightbox img {
  max-width: 90vw;
  max-height: 90vh;
  border-radius: 22px;
}

.site-footer {
  padding: var(--space-6) 0 var(--space-7);
  color: var(--color-text-soft);
}

.site-footer__grid {
  display: grid;
  gap: var(--space-3);
}

.site-footer__brand,
.site-footer__links {
  display: grid;
  gap: var(--space-2);
}

.site-footer__title,
.site-footer__copy,
.site-footer__meta {
  margin: 0;
}

.site-footer__title {
  font-family: var(--font-display);
  font-weight: 700;
  color: var(--color-text);
}

.cookie-banner {
  position: relative;
  z-index: 2;
  width: min(100% - 2rem, 76rem);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.85rem 1.25rem;
  margin: 0.8rem auto;
  padding: 0.85rem 1rem;
  border: 1px solid rgba(19, 23, 34, 0.1);
  border-radius: 16px;
  background: rgba(255, 252, 247, 0.98);
  box-shadow: 0 10px 24px rgba(19, 23, 34, 0.08);
}

.footer-link-button {
  appearance: none;
  width: fit-content;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--color-text-soft);
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.footer-link-button:hover,
.footer-link-button:focus-visible {
  color: var(--color-accent);
  text-decoration: underline;
}

.sources li {
  display: grid;
  gap: 0.12rem;
}

.source-domain {
  color: var(--color-text-faint);
  font-size: 0.76rem;
}

.coverage-history__list {
  display: grid;
  gap: var(--space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}

.coverage-history__item {
  display: grid;
  grid-template-columns: minmax(92px, auto) 1fr;
  gap: 0.25rem 0.8rem;
  align-items: baseline;
  padding: 0.7rem 0;
  border-top: 1px solid rgba(19, 23, 34, 0.08);
}

.coverage-history__item:first-child {
  border-top: 0;
}

.coverage-history__item.is-current {
  padding-inline: 0.75rem;
  border-radius: 14px;
  background: rgba(31, 79, 209, 0.06);
}

.coverage-history__date,
.coverage-history__status {
  color: var(--color-text-faint);
  font-size: 0.76rem;
  font-weight: 800;
}

.coverage-history__status {
  grid-column: 2;
}

.cookie-banner[hidden] {
  display: none;
}

.cookie-banner__content {
  display: grid;
  gap: var(--space-1);
  max-width: 54rem;
}

.cookie-banner__eyebrow,
.cookie-banner__text,
.cookie-banner__link {
  margin: 0;
}

.cookie-banner__eyebrow {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-text-faint);
}

.cookie-banner__text {
  color: var(--color-text-soft);
}

.cookie-banner__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
}

.skip-link {
  position: absolute;
  left: var(--space-4);
  top: -120px;
  z-index: 999;
  padding: 0.7rem 1rem;
  border-radius: 999px;
  background: var(--color-text);
  color: #fff;
}

.skip-link:focus {
  top: var(--space-4);
}

.section-spotlight {
  padding-inline: var(--space-4);
}

.section-spotlight__grid {
  display: grid;
  gap: var(--space-4);
}

.hero-story {
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: rgba(255, 250, 243, 0.9);
  box-shadow: var(--shadow-md);
}

.hero-story__link {
  display: grid;
  gap: 0;
}

.hero-story img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.hero-story__content {
  display: grid;
  gap: var(--space-2);
  padding: clamp(1.2rem, 2vw, 1.8rem);
}

.hero-story__content h2 {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(1.8rem, 2vw + 1rem, 3rem);
  line-height: 1.05;
  text-wrap: balance;
}

.hero-story__summary,
.hero-story__meta,
.card-kicker,
.page-card__description {
  margin: 0;
  color: var(--color-text-soft);
}

.hero-story__meta {
  font-size: 0.95rem;
}

.sidebar-module--home,
.section-spotlight__calendar .page-card,
.editorial-page,
.editorial-highlight,
.article-source-primary,
.editorial-cta {
  border: 1px solid var(--color-border);
  background: rgba(255, 253, 248, 0.88);
  box-shadow: var(--shadow-sm);
}

.page-card-grid__items,
.trust-grid,
.editorial-highlights {
  display: grid;
  gap: var(--space-3);
}

.page-card {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  overflow: hidden;
  background: rgba(255, 253, 248, 0.88);
  box-shadow: var(--shadow-sm);
}

.page-card__link {
  display: grid;
  gap: var(--space-2);
  padding: var(--space-4);
}

.page-card__eyebrow,
.site-footer__heading {
  margin: 0;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-text-faint);
}

.page-card__title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.2rem;
}

.page-card__cta,
.card-cta {
  font-weight: 800;
  color: var(--color-accent);
}

.news-section--recommended .news-grid {
  margin-top: var(--space-4);
}

.card-kicker {
  font-size: 0.97rem;
}

.card-meta {
  flex-wrap: wrap;
  gap: 0.45rem 0.8rem;
}

.article-header .meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.9rem;
}

.article-header .meta > *:not(.pill) {
  color: var(--color-text-soft);
}

.article-header .meta a {
  color: inherit;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.12em;
}

.article-body h2,
.article-body h3 {
  scroll-margin-top: calc(var(--nav-height) + 1rem);
}

.editorial-highlights {
  margin: var(--space-4) 0;
}

.transparency-hero,
.transparency-stack {
  display: grid;
  gap: var(--space-4);
}

.transparency-hero__panel {
  align-content: start;
}

.transparency-list {
  display: grid;
  gap: var(--space-2);
  margin: 0;
  padding-left: 1.15rem;
}

.transparency-list li {
  margin: 0;
}

.editorial-highlight,
.article-source-primary,
.editorial-cta {
  border-radius: var(--radius-md);
  padding: var(--space-4);
}

.editorial-highlight h2,
.article-source-primary h2,
.editorial-cta h2 {
  margin: 0 0 var(--space-2);
  font-size: 1.05rem;
}

.editorial-highlight p,
.article-source-primary p,
.editorial-cta p {
  margin: 0;
}

.trust-grid article {
  display: grid;
  gap: var(--space-2);
  padding: var(--space-4);
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border);
  background: rgba(255, 255, 255, 0.56);
}

.trust-grid h3,
.site-footer__heading {
  margin: 0;
}

.editorial-page ul {
  padding-left: 1.2rem;
}

.editorial-page li {
  margin-bottom: 0.5rem;
}

.calendar-hero,
.calendar-toolbar,
.calendar-feed-section,
.article-availability {
  width: min(1160px, 100%);
  margin: 0 auto;
  padding: 0 var(--space-4);
}

.calendar-hero > .container,
.calendar-toolbar > .container,
.calendar-feed-section > .container {
  padding-inline: 0;
}

.calendar-hero__copy,
.calendar-hero__meta,
.calendar-toolbar__inner,
.calendar-feed,
.calendar-feed__entries,
.article-availability__items {
  display: grid;
  gap: var(--space-3);
}

.calendar-hero__copy h1,
.calendar-feed__date h3 {
  margin: 0;
  font-family: var(--font-display);
  letter-spacing: -0.03em;
}

.calendar-hero__meta {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  margin-top: var(--space-4);
}

.calendar-hero__meta span,
.calendar-toolbar__label,
.calendar-entry__meta,
.calendar-entry__description,
.article-availability__meta {
  color: var(--color-text-soft);
}

.calendar-toolbar__inner,
.calendar-feed-section .container,
.article-availability {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: rgba(255, 253, 248, 0.9);
  box-shadow: var(--shadow-sm);
}

.calendar-toolbar__inner,
.calendar-feed-section .container,
.article-availability {
  padding: var(--space-4);
}

.calendar-toolbar__nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
}

.calendar-toolbar__label {
  margin: 0;
  font-size: clamp(1.1rem, 1vw + 0.95rem, 1.45rem);
  font-weight: 800;
}

.calendar-grid__scroller {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  padding-bottom: var(--space-2);
  scrollbar-width: thin;
  scrollbar-color: rgba(19, 23, 34, 0.28) rgba(19, 23, 34, 0.06);
}

.calendar-grid__weekdays,
.calendar-grid {
  display: grid;
  min-width: 66rem;
  grid-template-columns: repeat(7, minmax(8.8rem, 1fr));
  gap: var(--space-2);
}

.calendar-grid__weekdays span {
  padding: 0.2rem 0.1rem;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-align: center;
  text-transform: uppercase;
  color: var(--color-text-faint);
}

.calendar-grid__cell {
  min-width: 0;
  min-height: 168px;
  display: grid;
  align-content: start;
  gap: var(--space-2);
  padding: 0.78rem;
  border: 1px solid rgba(19, 23, 34, 0.09);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.72);
  overflow: hidden;
}

.calendar-grid__cell--empty {
  background: transparent;
  border-style: dashed;
  opacity: 0.45;
}

.calendar-grid__cell--today {
  border-color: rgba(31, 79, 209, 0.28);
  box-shadow: inset 0 0 0 1px rgba(31, 79, 209, 0.14);
}

.calendar-grid__date {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-2);
  min-width: 0;
}

.calendar-grid__date span {
  display: inline-flex;
  align-items: baseline;
  gap: 0.28rem;
  font-size: 1.15rem;
  font-weight: 800;
  line-height: 1;
}

.calendar-grid__weekday {
  display: none;
}

.calendar-grid__items {
  display: grid;
  min-width: 0;
  gap: 0.42rem;
}

.calendar-grid__chip {
  display: grid;
  min-width: 0;
  gap: 0.16rem;
  padding: 0.48rem 0.55rem;
  border-radius: 10px;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.25;
  background: rgba(19, 23, 34, 0.06);
}

.calendar-grid__chip-type {
  font-size: 0.64rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-text-faint);
}

.calendar-grid__chip-title {
  display: -webkit-box;
  overflow: hidden;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.calendar-grid__chip-date {
  color: var(--color-text-soft);
  font-size: 0.68rem;
  font-weight: 700;
}

.calendar-grid__chip--anime {
  background: rgba(223, 106, 109, 0.16);
}

.calendar-grid__chip--manga {
  background: rgba(70, 125, 207, 0.14);
}

.calendar-grid__chip--webtoon {
  background: rgba(123, 77, 219, 0.12);
}

.calendar-grid__chip--comic,
.calendar-grid__chip--comics {
  background: rgba(123, 77, 219, 0.14);
}

.calendar-grid__chip--videojuego {
  background: rgba(62, 140, 99, 0.15);
}

.calendar-grid__chip--evento {
  background: rgba(187, 123, 47, 0.16);
}

.calendar-grid__more {
  display: inline-flex;
  width: fit-content;
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--color-accent);
}

.calendar-agenda__header {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: space-between;
  gap: var(--space-2);
}

.calendar-event,
.article-availability__item {
  display: grid;
  gap: var(--space-2);
  padding: var(--space-4);
  border: 1px solid rgba(19, 23, 34, 0.09);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.68);
}

.calendar-event__badges {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.calendar-event__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.9rem;
}

.calendar-event__platforms,
.calendar-event__notes,
.article-availability__platform,
.article-availability__meta {
  margin: 0;
}

.calendar-event__windows {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.calendar-event__windows span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 0.7rem;
  border-radius: 999px;
  background: rgba(19, 23, 34, 0.05);
  color: var(--color-text-soft);
  font-size: 0.78rem;
  font-weight: 700;
}

.calendar-event__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.article-availability {
  display: grid;
  gap: var(--space-3);
}

.article-availability h2 {
  margin: 0;
  font-size: 1.15rem;
}

.article-availability__platform {
  font-size: 1.02rem;
  font-weight: 800;
}

.site-footer__grid {
  gap: var(--space-5);
}

.site-footer__links {
  align-content: start;
}

.site-footer__links a {
  color: var(--color-text-soft);
}

.site-footer__links a:hover,
.site-footer__links a:focus-visible,
.page-card__link:hover .page-card__cta,
.section-link:hover {
  color: var(--color-accent);
}

@media (min-width: 640px) {
  .page-card-grid__items,
  .trust-grid,
  .editorial-highlights {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .article-radar__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .calendar-agenda__items,
  .article-availability__items {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .news-grid,
  .feed-loading,
  .news-grid--related {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .transparency-hero {
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.95fr);
    align-items: start;
  }

  .about-snapshot {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .section-header {
    align-items: end;
    justify-content: space-between;
    flex-direction: row;
  }

  .calendar-grid__cell {
    min-height: 185px;
  }
}

@media (min-width: 768px) {
  .page-content {
    gap: var(--space-7);
  }

  .about-split {
    grid-template-columns: minmax(220px, 0.72fr) minmax(0, 1fr);
    align-items: start;
    gap: var(--space-5);
  }

  .about-split .section-header {
    display: grid;
    gap: var(--space-2);
  }

  .about-split > p,
  .about-split > ul {
    grid-column: 2;
  }

  .home-intro__layout {
    min-height: clamp(300px, 32vw, 390px);
    grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
    gap: var(--space-5);
  }

  .archive-hero__inner {
    gap: var(--space-5);
  }

  .section-spotlight__grid {
    grid-template-columns: minmax(0, 1.7fr) minmax(280px, 0.8fr);
    align-items: start;
  }

  .site-footer__grid {
    grid-template-columns: minmax(0, 1.2fr) repeat(4, minmax(0, auto));
    align-items: start;
  }

  .site-footer__links {
    gap: var(--space-2);
    align-items: start;
  }

  .calendar-agenda__days {
    gap: var(--space-4);
  }
}

@media (min-width: 980px) {
  .search-panel {
    display: flex;
  }

  .search-form {
    display: block;
  }

  .search-toggle,
  .nav-toggle {
    display: none;
  }

  .menu {
    display: block !important;
  }

  .menu,
  .menu.open {
    position: static;
    min-width: 0;
    width: auto;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  .menu ul {
    display: flex;
    align-items: center;
    gap: clamp(0.4rem, 0.8vw, 0.9rem);
  }

  .menu a {
    padding: 0.45rem 0.6rem;
    font-size: clamp(0.78rem, 0.42vw + 0.68rem, 0.95rem);
  }

  .menu li + li {
    margin-top: 0;
  }

  .about-hero {
    grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.72fr);
    align-items: end;
    min-height: clamp(460px, 42vw, 580px);
  }

  .news-grid,
  .feed-loading,
  .news-grid--related,
  .news-grid--archive {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1180px) {
  .search-form {
    max-width: 320px;
  }

  .menu ul {
    gap: var(--space-3);
  }

  .article-shell {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(300px, 0.72fr);
    gap: var(--space-5);
    align-items: start;
  }

  .article-sidebar {
    display: grid;
    gap: var(--space-4);
    position: sticky;
    top: calc(var(--nav-height) + var(--space-4));
  }
}

@media (max-width: 767px) {
  .home-intro {
    padding-block: var(--space-4) var(--space-5);
    background-position: 62% center;
  }

  .home-intro__copy h1 {
    max-width: 11.5ch;
  }

  .filter-shell__inner {
    gap: var(--space-2);
  }

  .filter-shell--sticky {
    position: static;
  }

  .filter-tabs::after {
    display: none;
  }

  .category-list {
    flex-wrap: wrap;
    align-items: stretch;
    gap: 0.5rem;
    overflow-x: visible;
    padding-bottom: var(--space-1);
  }

  .category-list__item {
    flex: 1 1 calc(50% - 0.25rem);
    min-width: min(10.5rem, 100%);
  }

  .home-category-digest {
    padding-block: var(--space-5);
  }

  .home-category-digest__grid {
    gap: 0.85rem;
  }

  .home-category-panel {
    gap: 0.9rem;
    padding: 0.95rem 1rem;
    border-radius: var(--radius-sm);
  }

  .home-category-panel__header {
    align-items: center;
  }

  .home-category-panel__header a {
    padding: 0.32rem 0.52rem;
    font-size: 0.76rem;
    white-space: nowrap;
  }

  .home-category-panel__lead {
    grid-template-columns: minmax(88px, 34%) minmax(0, 1fr);
    align-items: start;
    gap: 0.78rem;
  }

  .home-category-panel__lead .news-image-frame,
  .home-category-panel__lead .card-media {
    aspect-ratio: 1 / 1;
    border-radius: 12px;
  }

  .home-category-panel__lead-title {
    font-size: 0.94rem;
    line-height: 1.24;
    -webkit-line-clamp: 3;
  }

  .home-category-panel__summary {
    display: none;
  }

  .home-category-panel__stories {
    gap: 0.55rem;
    padding-top: 0.65rem;
  }

  .home-category-panel__stories .story-list__category {
    display: none;
  }

  .home-category-panel__stories .story-list__title {
    font-size: 0.88rem;
  }

  .filter-tab {
    width: 100%;
    min-height: 44px;
    padding: 0.8rem 1rem;
    border-radius: 999px;
    border-width: 1px;
    border-bottom-width: 1px;
    margin-bottom: 0;
    justify-content: center;
    background: rgba(255, 255, 255, 0.72);
  }

  .filter-tab::after {
    right: 0.9rem;
    bottom: 0.52rem;
    left: 0.9rem;
  }

  .filter-tab.chip--active {
    background: var(--color-text);
    border-color: var(--color-text);
    color: #fff;
    box-shadow: var(--shadow-sm);
  }

  .article-shell {
    padding-inline: var(--space-3);
  }

  .section-spotlight {
    padding-inline: 0;
  }

  .calendar-grid__weekdays {
    display: none;
  }

  .calendar-grid {
    grid-template-columns: 1fr;
  }

  .calendar-grid__cell,
  .calendar-grid__cell--empty {
    min-height: 0;
  }
}

@media (max-width: 639px) {
  .nav-inner {
    padding-inline: 0.85rem;
  }

  .logo {
    gap: 0.55rem;
  }

  .logo-mark {
    width: 44px;
    height: 44px;
  }

  .logo-title {
    font-size: 0.96rem;
  }

  .logo-section {
    font-size: 0.72rem;
  }

  .menu.open {
    right: 0.85rem;
    width: min(248px, calc(100vw - 1.7rem));
  }

  .cookie-banner {
    width: calc(100% - 1.2rem);
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.45rem;
    margin: 0.55rem auto;
    padding: 0.7rem;
    border-radius: 16px;
  }

  .cookie-banner__eyebrow {
    display: none;
  }

  .cookie-banner__text {
    font-size: 0.82rem;
    line-height: 1.35;
  }

  .cookie-banner__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 0.45rem;
  }

  .cookie-banner__actions .button {
    width: auto;
    min-height: 36px;
    padding-inline: 0.65rem;
    font-size: 0.78rem;
    justify-content: center;
  }

  .cookie-banner__actions .cookie-banner__link {
    grid-column: 1 / -1;
    font-size: 0.78rem;
    text-align: center;
  }
}

.page-calendar {
  background:
    radial-gradient(circle at 12% 8%, rgba(223, 106, 109, 0.14), transparent 24%),
    radial-gradient(circle at 88% 12%, rgba(31, 79, 209, 0.16), transparent 28%),
    linear-gradient(180deg, #f4eddf 0%, #f6f1e8 34%, #fcfaf5 100%);
}

.calendar-hero {
  width: 100%;
  padding: var(--space-4) 0 var(--space-7);
  overflow: clip;
  background:
    radial-gradient(circle at top left, rgba(255, 255, 255, 0.68), transparent 34%),
    linear-gradient(135deg, rgba(255, 250, 243, 0.82), rgba(245, 237, 223, 0.18));
}

.calendar-hero__inner {
  position: relative;
  display: grid;
  gap: var(--space-4);
}

.calendar-hero__grid {
  display: grid;
  gap: var(--space-5);
  align-items: end;
}

.calendar-hero__copy {
  gap: var(--space-4);
  max-width: 40rem;
}

.calendar-hero__month {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(3rem, 9vw, 6.4rem);
  line-height: 0.88;
  letter-spacing: -0.06em;
}

.calendar-hero__copy h1 {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(2rem, 3vw + 1rem, 4.1rem);
  line-height: 0.96;
  letter-spacing: -0.05em;
  max-width: 11ch;
}

.calendar-hero__actions,
.calendar-hero__topics,
.calendar-toolbar__summary {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.calendar-hero__stats {
  display: grid;
  gap: var(--space-3);
}

.calendar-hero__stat {
  display: grid;
  gap: 0.2rem;
  padding-top: var(--space-3);
  border-top: 1px solid rgba(19, 23, 34, 0.12);
}

.calendar-hero__stat strong {
  font-size: clamp(1.3rem, 1vw + 1rem, 1.75rem);
  line-height: 1;
}

.calendar-hero__stat span {
  color: var(--color-text-soft);
}

.calendar-hero__spotlight {
  display: grid;
  gap: var(--space-3);
  padding: clamp(1rem, 1.4vw, 1.3rem);
  border: 1px solid rgba(19, 23, 34, 0.1);
  border-radius: 24px;
  background: rgba(255, 252, 247, 0.72);
  box-shadow: var(--shadow-sm);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.calendar-hero__lead,
.calendar-hero__list-item,
.calendar-radar__item {
  display: grid;
  gap: 0.38rem;
  color: inherit;
}

.calendar-hero__lead,
.calendar-radar__item,
.calendar-event,
.calendar-grid__chip {
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.calendar-hero__lead {
  padding: 1rem;
  border-radius: 20px;
  background: rgba(19, 23, 34, 0.04);
  border: 1px solid rgba(19, 23, 34, 0.08);
}

.calendar-hero__lead--anime {
  background: rgba(223, 106, 109, 0.08);
  border-color: rgba(223, 106, 109, 0.18);
}

.calendar-hero__lead--videojuego {
  background: rgba(62, 140, 99, 0.08);
  border-color: rgba(62, 140, 99, 0.2);
}

.calendar-hero__lead--evento {
  background: rgba(187, 123, 47, 0.09);
  border-color: rgba(187, 123, 47, 0.2);
}

.calendar-hero__lead:hover,
.calendar-hero__lead:focus-visible,
.calendar-radar__item:hover,
.calendar-radar__item:focus-visible,
.calendar-event:hover,
.calendar-event:focus-within,
.calendar-grid__chip:hover,
.calendar-grid__chip:focus-visible {
  transform: translateY(-2px);
}

.calendar-hero__lead-date,
.calendar-radar__date {
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-text-faint);
}

.calendar-hero__lead strong,
.calendar-radar__item strong {
  font-size: 1.08rem;
  line-height: 1.2;
}

.calendar-hero__lead-meta,
.calendar-radar__meta {
  color: var(--color-text-soft);
  font-size: 0.92rem;
}

.calendar-hero__list {
  display: grid;
  gap: 0.9rem;
}

.calendar-hero__list-item {
  padding-top: 0.9rem;
  border-top: 1px solid rgba(19, 23, 34, 0.08);
}

.calendar-hero__list-item span {
  color: var(--color-text-faint);
  font-size: 0.82rem;
}

.calendar-toolbar {
  position: sticky;
  top: calc(var(--nav-height) + 0.65rem);
  z-index: 40;
}

.calendar-toolbar__inner {
  grid-template-columns: 1fr;
  gap: var(--space-4);
  border-radius: 24px;
  background: rgba(255, 252, 247, 0.9);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.calendar-toolbar__summary {
  margin-top: var(--space-3);
}
.calendar-toolbar__summary span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 0.85rem;
  border-radius: 999px;
  background: rgba(19, 23, 34, 0.05);
  color: var(--color-text-soft);
  font-size: 0.84rem;
  font-weight: 700;
}

.calendar-feed-section {
  position: relative;
}

.calendar-feed__anchor {
  position: absolute;
  top: calc((var(--nav-height) + var(--space-5)) * -1);
}

.calendar-feed-shell {
  border-radius: 28px;
}

.calendar-feed {
  gap: var(--space-5);
}

.calendar-feed__group {
  display: grid;
  gap: var(--space-3);
  padding-top: var(--space-4);
  border-top: 1px solid rgba(19, 23, 34, 0.08);
}

.calendar-feed__group:first-child {
  padding-top: 0;
  border-top: 0;
}

.calendar-feed__group--secondary {
  margin-top: var(--space-2);
  padding-top: var(--space-5);
  border-top: 2px solid rgba(19, 23, 34, 0.12);
}

.calendar-feed__date {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: space-between;
  gap: var(--space-2);
}

.calendar-feed__date .eyebrow {
  margin: 0;
}

.calendar-feed__date h3 {
  font-size: 1rem;
  line-height: 1.1;
}

.calendar-entry {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  align-items: center;
  gap: 0.78rem;
  min-width: 0;
  padding: 0.72rem;
  border: 1px solid rgba(19, 23, 34, 0.08);
  border-left: 4px solid rgba(19, 23, 34, 0.12);
  border-radius: 0 8px 8px 0;
  background: rgba(255, 255, 255, 0.76);
  color: inherit;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.calendar-entry:hover,
.calendar-entry:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(19, 23, 34, 0.16);
  box-shadow: 0 16px 34px rgba(19, 23, 34, 0.08);
}

.calendar-entry:focus-visible {
  outline: 3px solid rgba(38, 146, 255, 0.34);
  outline-offset: 2px;
}

.calendar-entry--window,
.calendar-entry--watchlist {
  background: rgba(255, 252, 247, 0.88);
}

.calendar-entry--anime {
  border-left-color: rgba(223, 106, 109, 0.72);
}

.calendar-entry--manga {
  border-left-color: rgba(70, 125, 207, 0.72);
}

.calendar-entry--webtoon,
.calendar-entry--comic,
.calendar-entry--comics {
  border-left-color: rgba(123, 77, 219, 0.68);
}

.calendar-entry--videojuego {
  border-left-color: rgba(62, 140, 99, 0.72);
}

.calendar-entry--evento {
  border-left-color: rgba(187, 123, 47, 0.76);
}

.calendar-entry__thumb {
  position: relative;
  display: block;
  width: 72px;
  height: 72px;
  overflow: hidden;
  border-radius: 8px;
  background: rgba(19, 23, 34, 0.08);
}

.calendar-entry__thumb img,
.calendar-entry__thumb-fallback {
  width: 100%;
  height: 100%;
}

.calendar-entry__thumb img {
  display: block;
  object-fit: cover;
}

.calendar-entry__thumb-fallback {
  display: grid;
  align-content: space-between;
  padding: 0.55rem;
  color: #f7f9ff;
  background:
    radial-gradient(circle at top right, rgba(255, 255, 255, 0.18), transparent 38%),
    linear-gradient(145deg, #131722 0%, #1a2a3c 100%);
}

.calendar-entry__thumb-fallback span,
.calendar-entry__thumb-fallback strong {
  display: block;
}

.calendar-entry__thumb-fallback span {
  font-size: 0.52rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  opacity: 0.76;
}

.calendar-entry__thumb-fallback strong {
  font-size: 0.64rem;
  line-height: 1.05;
}

.calendar-entry__body {
  display: grid;
  min-width: 0;
  gap: 0.34rem;
}

.calendar-entry__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 0.65rem;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.calendar-entry__title {
  display: -webkit-box;
  overflow: hidden;
  color: var(--color-text);
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.18;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.calendar-entry__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.calendar-entry__badges .badge {
  min-height: 24px;
  padding-inline: 0.55rem;
  font-size: 0.68rem;
}

.calendar-entry__description {
  display: -webkit-box;
  overflow: hidden;
  font-size: 0.9rem;
  line-height: 1.42;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.calendar-entry__cta {
  grid-column: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 30px;
  padding: 0 0.72rem;
  border-radius: 999px;
  background: rgba(19, 23, 34, 0.06);
  color: var(--color-text);
  font-size: 0.74rem;
  font-weight: 900;
  white-space: nowrap;
}

@media (min-width: 768px) {
  .calendar-entry {
    grid-template-columns: 96px minmax(0, 1fr) auto;
    gap: 0.9rem;
    min-height: 104px;
    padding: 0.8rem 0.9rem;
  }

  .calendar-entry__thumb {
    width: 96px;
    height: 72px;
  }

  .calendar-entry__title {
    font-size: 1.08rem;
  }

  .calendar-entry__cta {
    grid-column: auto;
  }
}

@media (max-width: 520px) {
  .calendar-feed-shell {
    padding: var(--space-3);
  }

  .calendar-entry {
    grid-template-columns: 64px minmax(0, 1fr);
    align-items: start;
    gap: 0.68rem;
    padding: 0.62rem;
  }

  .calendar-entry__thumb {
    width: 64px;
    height: 64px;
  }

  .calendar-entry__badges {
    gap: 0.28rem;
  }

  .calendar-entry__description {
    -webkit-line-clamp: 3;
  }
}

.calendar-workspace {
  display: grid;
  gap: var(--space-4);
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.calendar-board,
.calendar-radar {
  min-width: 0;
  padding: clamp(1rem, 1.4vw, 1.35rem);
  border: 1px solid rgba(19, 23, 34, 0.1);
  border-radius: 24px;
  background: rgba(255, 252, 247, 0.84);
  box-shadow: var(--shadow-sm);
}

.calendar-board .section-header,
.calendar-agenda .section-header {
  margin-bottom: var(--space-4);
}

.calendar-grid__cell {
  background: rgba(255, 255, 255, 0.86);
}

.calendar-grid__cell--active {
  border-color: rgba(19, 23, 34, 0.14);
}

.calendar-grid__chip {
  border: 1px solid transparent;
}

.calendar-grid__chip--anime,
.calendar-radar__item--anime,
.calendar-event--anime,
.calendar-followup--anime {
  border-color: rgba(223, 106, 109, 0.2);
}

.calendar-grid__chip--manga,
.calendar-radar__item--manga,
.calendar-event--manga,
.calendar-followup--manga {
  border-color: rgba(70, 125, 207, 0.22);
}

.calendar-grid__chip--webtoon,
.calendar-radar__item--webtoon,
.calendar-event--webtoon,
.calendar-followup--webtoon {
  border-color: rgba(123, 77, 219, 0.2);
}

.calendar-grid__chip--comic,
.calendar-grid__chip--comics,
.calendar-radar__item--comic,
.calendar-radar__item--comics,
.calendar-event--comic,
.calendar-event--comics,
.calendar-followup--comic,
.calendar-followup--comics {
  border-color: rgba(123, 77, 219, 0.22);
}

.calendar-grid__chip--videojuego,
.calendar-radar__item--videojuego,
.calendar-event--videojuego,
.calendar-followup--videojuego {
  border-color: rgba(62, 140, 99, 0.22);
}

.calendar-grid__chip--evento,
.calendar-radar__item--evento,
.calendar-event--evento,
.calendar-followup--evento {
  border-color: rgba(187, 123, 47, 0.22);
}

.calendar-radar {
  display: grid;
  gap: var(--space-3);
  align-content: start;
}

.calendar-radar__list {
  display: grid;
  gap: var(--space-3);
}

.calendar-radar__item {
  padding: 0.95rem 1rem;
  border: 1px solid rgba(19, 23, 34, 0.08);
  border-left: 3px solid transparent;
  border-radius: 18px;
  background: rgba(19, 23, 34, 0.03);
}

.calendar-radar__legend {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  padding-top: var(--space-2);
  border-top: 1px solid rgba(19, 23, 34, 0.08);
}

.calendar-radar__legend-item {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 0.75rem;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 800;
}

.calendar-radar__legend-item--anime {
  background: rgba(223, 106, 109, 0.14);
}

.calendar-radar__legend-item--videojuego {
  background: rgba(62, 140, 99, 0.14);
}

.calendar-radar__legend-item--evento {
  background: rgba(187, 123, 47, 0.16);
}

.calendar-followups {
  display: grid;
  gap: var(--space-3);
  padding-top: var(--space-3);
  border-top: 1px solid rgba(19, 23, 34, 0.08);
}

.calendar-followups h3 {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.24rem;
  line-height: 1.08;
  letter-spacing: -0.03em;
}

.calendar-followups__list {
  display: grid;
  gap: var(--space-2);
}

.calendar-followup {
  display: grid;
  gap: 0.34rem;
  padding: 0.85rem 0.95rem;
  border: 1px solid rgba(19, 23, 34, 0.08);
  border-left: 3px solid transparent;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.54);
}

.calendar-followup strong {
  line-height: 1.18;
}

.calendar-followup p {
  margin: 0;
  color: var(--color-text-soft);
  font-size: 0.88rem;
}

.calendar-followup a {
  width: fit-content;
  color: var(--color-accent);
  font-size: 0.82rem;
  font-weight: 800;
}

.calendar-followup__date,
.calendar-followup__meta {
  color: var(--color-text-faint);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.calendar-agenda .container {
  border-radius: 28px;
}

.calendar-agenda__days {
  gap: var(--space-4);
}

.calendar-agenda__day {
  display: grid;
  gap: var(--space-2);
  padding-top: var(--space-2);
  border-top: 1px solid rgba(19, 23, 34, 0.08);
}

.calendar-agenda__day:first-child {
  padding-top: 0;
  border-top: 0;
}

.calendar-agenda__items {
  grid-template-columns: 1fr;
  gap: 0.7rem;
}

.calendar-agenda__header {
  position: sticky;
  top: calc(var(--nav-height) + 4.25rem);
  z-index: 2;
  padding: 0.65rem 0;
  background: rgba(245, 250, 255, 0.92);
  backdrop-filter: blur(14px);
}

.calendar-agenda__header .eyebrow {
  margin: 0;
}

.calendar-agenda__header h3 {
  font-size: 0.95rem;
  line-height: 1.1;
}

.calendar-event {
  overflow: hidden;
  padding: 0;
  border: 1px solid rgba(19, 23, 34, 0.08);
  border-left: 4px solid rgba(19, 23, 34, 0.12);
  border-radius: 0 18px 18px 0;
  background: rgba(255, 255, 255, 0.78);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.calendar-event[open],
.calendar-event:hover,
.calendar-event:focus-within {
  border-color: rgba(19, 23, 34, 0.16);
  box-shadow: 0 18px 42px rgba(19, 23, 34, 0.08);
}

.calendar-event__summary {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem;
  min-height: 82px;
  padding: 0.7rem;
  cursor: pointer;
  list-style: none;
}

.calendar-event__summary::-webkit-details-marker {
  display: none;
}

.calendar-event__summary::marker {
  content: "";
}

.calendar-event__summary:focus-visible {
  outline: 3px solid rgba(38, 146, 255, 0.36);
  outline-offset: -3px;
}

.calendar-event__thumb {
  position: relative;
  display: block;
  width: 64px;
  height: 64px;
  overflow: hidden;
  border-radius: 14px;
  background: rgba(19, 23, 34, 0.08);
}

.calendar-event__thumb img,
.calendar-event__thumb-fallback {
  width: 100%;
  height: 100%;
}

.calendar-event__thumb img {
  display: block;
  object-fit: cover;
}

.calendar-event__thumb-fallback {
  display: grid;
  align-content: space-between;
  padding: 0.55rem;
  color: #f7f9ff;
  background:
    radial-gradient(circle at top right, rgba(255, 255, 255, 0.18), transparent 38%),
    linear-gradient(145deg, #131722 0%, #1a2a3c 100%);
}

.calendar-event__thumb-fallback span,
.calendar-event__thumb-fallback strong {
  display: block;
}

.calendar-event__thumb-fallback span {
  font-size: 0.52rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  opacity: 0.76;
}

.calendar-event__thumb-fallback strong {
  font-size: 0.64rem;
  line-height: 1.05;
}

.calendar-event__summary-copy {
  display: grid;
  min-width: 0;
  gap: 0.34rem;
}

.calendar-event__summary-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 0.65rem;
  color: var(--color-text-faint);
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.calendar-event__title {
  display: -webkit-box;
  overflow: hidden;
  color: var(--color-text);
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.18;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.calendar-event__summary .calendar-event__badges {
  gap: 0.35rem;
}

.calendar-event__summary .badge {
  min-height: 24px;
  padding-inline: 0.55rem;
  font-size: 0.68rem;
}

.calendar-event__toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 0.78rem;
  border-radius: 999px;
  background: rgba(19, 23, 34, 0.06);
  color: var(--color-text);
  font-size: 0.76rem;
  font-weight: 900;
  white-space: nowrap;
}

.calendar-event[open] .calendar-event__toggle {
  background: rgba(38, 146, 255, 0.13);
}

.calendar-event[open] .calendar-event__toggle::after {
  content: " abierto";
}

.calendar-event__details {
  display: grid;
  gap: var(--space-2);
  padding: 0 var(--space-3) var(--space-3) calc(var(--space-3) + 64px + 0.75rem);
  border-top: 1px solid rgba(19, 23, 34, 0.08);
}

.calendar-event__details .calendar-event__meta {
  padding-top: var(--space-3);
}

.calendar-event__notes {
  color: var(--color-text-soft);
}

.calendar-event__platforms,
.calendar-event__notes {
  font-size: 0.94rem;
  line-height: 1.45;
}

.calendar-event__actions .button {
  box-shadow: none;
}

@media (min-width: 768px) {
  .calendar-event__summary {
    grid-template-columns: 96px minmax(0, 1fr) auto;
    min-height: 96px;
    padding: 0.8rem 0.9rem;
  }

  .calendar-event__thumb {
    width: 96px;
    height: 72px;
    border-radius: 16px;
  }

  .calendar-event__title {
    font-size: 1.08rem;
  }

  .calendar-event__details {
    padding-left: calc(var(--space-4) + 96px + 0.9rem);
  }
}

@media (max-width: 520px) {
  .calendar-agenda__header {
    top: calc(var(--nav-height) + 3.85rem);
  }

  .calendar-event__summary {
    grid-template-columns: 64px minmax(0, 1fr) 34px;
  }

  .calendar-event__toggle {
    width: 34px;
    padding: 0;
    font-size: 0;
  }

  .calendar-event__toggle::before {
    content: "+";
    font-size: 1rem;
    line-height: 1;
  }

  .calendar-event[open] .calendar-event__toggle::before {
    content: "-";
  }

  .calendar-event[open] .calendar-event__toggle::after {
    content: "";
  }

  .calendar-event__details {
    padding-left: var(--space-3);
  }
}

@media (min-width: 640px) {
  .calendar-hero__stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 900px) {
  .calendar-hero__grid {
    grid-template-columns: minmax(0, 1.5fr) minmax(300px, 0.78fr);
  }

  .calendar-radar__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 899px) {
  .calendar-toolbar__inner {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .calendar-hero {
    padding-bottom: var(--space-5);
  }

  .calendar-hero__copy h1 {
    max-width: 9.5ch;
  }

  .calendar-toolbar {
    top: calc(var(--nav-height) + 0.35rem);
  }

  .calendar-grid__scroller {
    overflow: visible;
    padding-bottom: 0;
  }

  .calendar-grid__weekdays,
  .calendar-grid {
    min-width: 0;
  }

  .calendar-grid__cell--empty,
  .calendar-grid__cell:not(.calendar-grid__cell--active) {
    display: none;
  }

  .calendar-grid__cell {
    grid-template-columns: minmax(3.4rem, auto) minmax(0, 1fr);
    align-items: start;
    gap: var(--space-3);
    padding: 0.9rem;
  }

  .calendar-grid__date {
    display: grid;
    justify-content: start;
    gap: 0.2rem;
  }

  .calendar-grid__date span {
    display: grid;
    gap: 0.1rem;
    font-size: 1.45rem;
  }

  .calendar-grid__weekday {
    display: block;
    font-size: 0.7rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-text-faint);
  }

  .calendar-grid__items {
    grid-column: 2;
  }

  .calendar-grid__chip {
    padding: 0.68rem 0.75rem;
  }

  .calendar-grid__chip-title {
    -webkit-line-clamp: 3;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .card,
  .button,
  .chip,
  .lightbox,
  .skeleton {
    transition: none;
    animation: none;
  }
}

/* Editorial interface refresh: compact signals, calm surfaces, and a clear blue anchor. */
:root {
  --color-accent: #2458c6;
  --color-accent-soft: rgba(36, 88, 198, 0.13);
  --color-surface: rgba(255, 252, 247, 0.9);
  --color-panel: #fffdf9;
  --color-border: rgba(19, 23, 34, 0.12);
  --radius-sm: 12px;
  --radius-md: 18px;
  --radius-lg: 26px;
  --shadow-sm: 0 12px 28px -24px rgba(18, 20, 30, 0.46);
  --shadow-md: 0 24px 54px -34px rgba(18, 20, 30, 0.38);
}

body {
  background:
    radial-gradient(circle at 96% 0%, rgba(66, 127, 222, 0.1), transparent 25rem),
    radial-gradient(circle at 4% 12%, rgba(255, 255, 255, 0.76), transparent 30rem),
    var(--gradient-page),
    var(--color-bg);
}

.navbar {
  border-bottom-color: rgba(113, 167, 249, 0.22);
  background: linear-gradient(110deg, rgba(13, 19, 30, 0.98), rgba(21, 32, 49, 0.95));
  box-shadow: 0 16px 40px -32px rgba(0, 0, 0, 0.9);
}

.menu a {
  font-weight: 700;
}

.menu a[aria-current="page"],
.menu a.nav-link--active {
  background: rgba(77, 148, 255, 0.16);
  box-shadow: inset 0 0 0 1px rgba(132, 193, 255, 0.28);
}

.button {
  border-radius: 14px;
  background: linear-gradient(135deg, #172337, #243d66);
  box-shadow: 0 12px 24px -18px rgba(22, 37, 65, 0.74);
}

.button--secondary,
.button--ghost {
  background: rgba(255, 255, 255, 0.74);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

.section-title {
  letter-spacing: -0.04em;
}

.chip,
.badge {
  border: 1px solid rgba(19, 23, 34, 0.09);
  background: rgba(255, 255, 255, 0.54);
}

.card {
  border-color: rgba(19, 23, 34, 0.1);
  box-shadow: 0 16px 34px -30px rgba(19, 23, 34, 0.5);
}

.card:hover,
.card:focus-within {
  box-shadow: 0 24px 50px -32px rgba(19, 23, 34, 0.4);
}

.card-body {
  gap: 0.66rem;
}

.card-title {
  letter-spacing: -0.015em;
}

.page-calendar .calendar-toolbar {
  position: relative;
  top: auto;
  z-index: auto;
}

.page-calendar .calendar-toolbar__inner {
  position: sticky;
  top: calc(var(--nav-height) + 0.6rem);
  z-index: 40;
  border-color: rgba(36, 88, 198, 0.16);
  background: rgba(255, 253, 248, 0.93);
  box-shadow: 0 18px 38px -30px rgba(21, 43, 85, 0.5);
}

.calendar-toolbar__summary {
  margin: 0.85rem 0 0;
}

.calendar-toolbar__summary span {
  border: 1px solid rgba(19, 23, 34, 0.08);
  background: rgba(255, 255, 255, 0.64);
}

.calendar-filters {
  display: grid;
  gap: 0.9rem;
  margin-top: 0.9rem;
  padding: clamp(0.9rem, 1.6vw, 1.2rem);
  border: 1px solid rgba(19, 23, 34, 0.1);
  border-radius: var(--radius-md);
  background:
    linear-gradient(135deg, rgba(245, 250, 255, 0.88), rgba(255, 252, 247, 0.94)),
    var(--color-panel);
  box-shadow: var(--shadow-sm);
}

.calendar-filters__intro {
  display: grid;
  gap: 0.18rem;
}

.calendar-filters__intro .eyebrow,
.calendar-filters__intro p:last-child {
  margin: 0;
}

.calendar-filters__intro p:last-child {
  color: var(--color-text-soft);
  font-size: 0.92rem;
}

.calendar-filters__group {
  display: grid;
  gap: 0.45rem;
  min-width: 0;
  padding: 0;
  border: 0;
}

.calendar-filters__group legend {
  padding: 0;
  color: var(--color-text-soft);
  font-size: 0.74rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.calendar-filters__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.calendar-filter-chip,
.calendar-filter-reset {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0.45rem 0.72rem;
  border: 1px solid rgba(19, 23, 34, 0.12);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.66);
  color: var(--color-text);
  font: inherit;
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1.1;
  cursor: pointer;
  transition: background-color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.calendar-filter-chip:hover,
.calendar-filter-chip:focus-visible,
.calendar-filter-reset:hover,
.calendar-filter-reset:focus-visible {
  transform: translateY(-1px);
  border-color: color-mix(in srgb, var(--calendar-filter-color, var(--color-accent)) 42%, #131722);
}

.calendar-filter-chip.is-active {
  border-color: var(--calendar-filter-color, var(--color-accent));
  background: color-mix(in srgb, var(--calendar-filter-color, var(--color-accent)) 16%, #ffffff);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--calendar-filter-color, var(--color-accent)) 23%, transparent);
}

.calendar-filter-chip--anime { --calendar-filter-color: var(--color-anime); }
.calendar-filter-chip--manga { --calendar-filter-color: var(--color-manga); }
.calendar-filter-chip--webtoon { --calendar-filter-color: var(--color-comics); }
.calendar-filter-chip--comic,
.calendar-filter-chip--comics { --calendar-filter-color: var(--color-comics); }
.calendar-filter-chip--videojuego { --calendar-filter-color: var(--color-vgames); }
.calendar-filter-chip--evento { --calendar-filter-color: var(--color-events); }
.calendar-filter-chip--active { --calendar-filter-color: #2d8956; }
.calendar-filter-chip--ending-today { --calendar-filter-color: #b06512; }
.calendar-filter-chip--tomorrow,
.calendar-filter-chip--next-seven-days { --calendar-filter-color: var(--color-accent); }
.calendar-filter-chip--watchlist { --calendar-filter-color: var(--color-comics); }
.calendar-filter-chip--past { --calendar-filter-color: #6d7585; }

.calendar-filters__result {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(19, 23, 34, 0.08);
}

.calendar-filters__result output {
  color: var(--color-text-soft);
  font-size: 0.82rem;
  font-weight: 700;
}

.calendar-filter-reset {
  min-height: 32px;
  padding-inline: 0.65rem;
  color: var(--color-accent);
}

.calendar-feed-shell {
  border-color: rgba(19, 23, 34, 0.1);
}

.calendar-feed__group {
  gap: 0.85rem;
}

.calendar-feed__date {
  align-items: center;
}

.calendar-feed__date h3 {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.45rem;
  font-size: clamp(1rem, 0.4vw + 0.94rem, 1.18rem);
}

.calendar-feed__count {
  color: var(--color-text-faint);
  font-family: var(--font-sans);
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.calendar-feed__group--active .calendar-feed__date .eyebrow { color: #23764a; }
.calendar-feed__group--ending-today .calendar-feed__date .eyebrow { color: #9b590f; }
.calendar-feed__group--tomorrow .calendar-feed__date .eyebrow,
.calendar-feed__group--next-seven-days .calendar-feed__date .eyebrow { color: var(--color-accent); }
.calendar-feed__group--secondary .calendar-feed__date .eyebrow { color: var(--color-comics); }

.calendar-entry {
  position: relative;
  overflow: hidden;
  border-color: rgba(19, 23, 34, 0.1);
  border-left-width: 4px;
  background: rgba(255, 255, 255, 0.78);
}

.calendar-entry--state-active,
.calendar-entry--state-ending-today {
  background: linear-gradient(100deg, rgba(235, 249, 239, 0.92), rgba(255, 255, 255, 0.82));
}

.calendar-entry--state-ending-today {
  background: linear-gradient(100deg, rgba(255, 244, 228, 0.94), rgba(255, 255, 255, 0.84));
}

.calendar-entry__thumb {
  border-radius: 12px;
  box-shadow: inset 0 0 0 1px rgba(19, 23, 34, 0.08);
}

.calendar-entry__meta {
  font-size: 0.7rem;
}

.calendar-entry__badges .badge--temporal {
  border-color: transparent;
  color: #173525;
  font-weight: 900;
}

.badge--active { background: rgba(77, 172, 96, 0.16); }
.badge--ending-today { background: rgba(187, 123, 47, 0.19); color: #75420a !important; }
.badge--tomorrow,
.badge--next-seven-days { background: rgba(36, 88, 198, 0.13); color: #1e4aa8 !important; }
.badge--later { background: rgba(19, 23, 34, 0.07); color: var(--color-text-soft) !important; }
.badge--watchlist { background: rgba(123, 77, 219, 0.12); color: #5732a5 !important; }
.badge--past { background: rgba(19, 23, 34, 0.06); color: var(--color-text-faint) !important; }

.calendar-entry__cta {
  min-height: 34px;
  border-radius: 10px;
  background: rgba(36, 88, 198, 0.08);
  color: #1e4aa8;
}

.calendar-filter-empty {
  margin-top: var(--space-4);
  border-color: rgba(36, 88, 198, 0.2);
  background: rgba(242, 247, 255, 0.88);
}

@media (max-width: 767px) {
  .page-calendar .calendar-toolbar__inner {
    top: calc(var(--nav-height) + 0.35rem);
  }

  .calendar-filters {
    gap: 0.78rem;
  }

  .calendar-filters__chips {
    gap: 0.38rem;
  }

  .calendar-filter-chip {
    min-height: 34px;
    padding-inline: 0.62rem;
    font-size: 0.74rem;
  }

  .calendar-entry__badges .badge--temporal {
    order: -1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .calendar-filter-chip,
  .calendar-filter-reset {
    transition: none;
  }
}

/* Chronological public hub: the full page remains visible on every viewport. */
.hub-intro { padding-block: 2.5rem 1.5rem; }
.hub-intro h1 { margin: .35rem 0 .75rem; font-size: clamp(2rem, 4vw, 3.25rem); }
.hub-intro > p { max-width: 65ch; color: var(--color-text-soft); }
.hub-shortcuts { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; }
.hub-shortcuts a { display: inline-flex; align-items: center; min-height: 44px; }
.hub-upcoming { margin-bottom: 2rem; padding-block: 1rem; border-block: 1px solid var(--color-border); }
.hub-upcoming__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 1rem 2rem; margin: 0; padding: 0; list-style: none; }
.hub-upcoming__list a { display: grid; gap: .35rem; min-height: 44px; }
.hub-upcoming__list time, .hub-upcoming__list span { font-size: .875rem; color: var(--color-text-soft); }
.hub-feed { padding-bottom: 3rem; }
.hub-day { margin-block: 1.5rem 2rem; }
.hub-day__date { font: 700 1rem var(--font-ui, sans-serif); padding-bottom: .75rem; border-bottom: 1px solid var(--color-border); }
.hub-day__stories { display: grid; gap: 0; }
.card--hub { border: 0; border-bottom: 1px solid var(--color-border); border-radius: 0; box-shadow: none; background: transparent; padding: 1.5rem 0; overflow: visible; }
.hub-day__stories > .card--hub:last-child { border-bottom: 0; }
@media (hover: hover) {
  .hub-day__stories > .card--hub:hover { border-bottom-color: transparent; }
}
.card--hub .card-link { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 1.5rem; }
.card--hub .card-body { padding: 0; }
.card--hub .card-title { font-size: clamp(1.4rem, 2.3vw, 1.9rem); }
.card--hub .card-media, .card--hub .news-image-frame { border-radius: 8px; aspect-ratio: 16 / 10; }
.card--hub [data-reaction-news-id] { margin-top: .75rem; }
[data-reaction-news-id] { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; }
[data-reaction-toggle] { display: inline-flex; align-items: center; gap: .3rem; min-width: 44px; min-height: 44px; border: 0; border-radius: 4px; padding: .35rem 0; background: transparent; color: var(--color-text-soft); font-size: .75rem; line-height: 1.4; cursor: pointer; }
[data-reaction-toggle][aria-pressed="true"] { color: var(--color-accent); font-weight: 600; }
[data-reaction-toggle]:hover { color: var(--color-accent); }
[data-reaction-toggle] > [aria-hidden] { font-size: 1.15rem; line-height: 1; }
[data-reaction-toggle]:disabled { cursor: default; opacity: .65; }
[data-reaction-status] { font-size: .875rem; color: var(--color-text-soft); }
[data-reaction-count] { font-variant-numeric: tabular-nums; }
.search-results-form { max-width: 760px; margin-bottom: 1.5rem; }
.search-results-form label { display: block; margin-bottom: .5rem; }
.search-results-form > div { display: flex; gap: .75rem; }
.search-results-form input { min-width: 0; flex: 1; min-height: 44px; border: 1px solid var(--color-border); border-radius: 8px; padding: .75rem; background: var(--color-surface); font: inherit; }
.search-results-count { margin-block: 1.5rem; }
.article-shell--editorial { grid-template-columns: minmax(0, 760px); justify-content: center; }
.article-aftercare + [data-reaction-news-id], .article--editorial > [data-reaction-news-id] { margin-block: 1.5rem; }
.site-footer__grid { grid-template-columns: 1.2fr 1fr 1fr; }
@media (max-width: 640px) {
  .hub-intro { padding-top: 1.5rem; }
  .card--hub .card-link { grid-template-columns: 1fr; gap: 1rem; }
  .card--hub .card-media, .card--hub .news-image-frame { aspect-ratio: 16 / 9; }
  .hub-feed .section-header { align-items: flex-start; flex-wrap: wrap; }
  .site-footer__grid { grid-template-columns: 1fr; }
}

.direct-ad { margin-block: 1.5rem; }
.direct-ad__label { display: block; margin-bottom: .5rem; font-size: .875rem; color: var(--color-text-soft); }
.direct-ad img { display: block; max-width: 100%; height: auto; }

.no-js .search-panel { display: block; position: static; opacity: 1; visibility: visible; transform: none; }
.no-js .search-toggle { display: none; }
@media (max-width: 768px) { .no-js .search-panel { flex-basis: 100%; width: 100%; order: 4; } }

/* Keep the daily reading list close to the navigation. */
.page-home-hub .page-content { gap: 0; }
.hub-intro { padding-block: 1.25rem 1rem; }
.hub-intro > p { margin-block: .5rem .75rem; }
.hub-upcoming { margin-bottom: 1rem; padding-block: .75rem; }
.hub-upcoming .section-header { margin-bottom: .75rem; }
.hub-upcoming .section-header h2 { font-size: 1.2rem; }
.hub-feed > .section-header { margin-bottom: 1rem; }
.no-js .search-form { display: block; }
@media (max-width: 979px) {
  .no-js .nav-inner { flex-wrap: wrap; }
  .no-js .search-panel { flex: 1 0 100%; width: 100%; order: 4; }
  .no-js .search-form { max-width: none; }
}

/* Public editorial front page and category radars. */
:root {
  --font-display: "Manrope", system-ui, sans-serif;
  --color-bg: #f7f8fa;
  --color-panel: #fff;
  --color-surface: #fff;
  --color-surface-strong: #fff;
  --color-text: #182338;
  --color-text-soft: #536176;
  --color-border: #d9dfe8;
  --color-accent: #713cd6;
  --color-accent-soft: #f0eaff;
  --color-anime: #7438d2;
  --color-manga: #b62e6f;
  --color-webtoon: #316bb4;
  --color-vgames: #087a84;
  --color-comics: #986009;
  --color-events: #32724a;
}
body { background: var(--color-bg); }
h1, h2, h3 { font-family: var(--font-sans); }
.navbar { position: relative; background: var(--color-panel); border-top: 3px solid var(--color-accent); border-bottom: 1px solid var(--color-border); box-shadow: none; backdrop-filter: none; }
.nav-inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, 320px); padding-block: 1.15rem 0; color: var(--color-text); gap: 1rem; }
.logo-title { color: var(--color-text); font-size: 1.8rem; letter-spacing: -.05em; font-weight: 600; }
.logo-mark { width: 40px; height: 40px; transform: none; }
.logo-section { color: var(--color-text-soft); font-size: .7rem; font-weight: 500; letter-spacing: .04em; text-transform: none; }
.search-panel { display: block; min-width: 0; position: static; width: 100%; padding: 0; background: transparent; box-shadow: none; border: 0; }
.search-form { display: block; max-width: none; }
.search-form input { color: var(--color-text); background: var(--color-bg); border: 1px solid var(--color-border); box-shadow: none; border-radius: 6px; }
.search-toggle, .nav-toggle { display: none; }
.menu, .menu.open { display: block !important; grid-column: 1 / -1; position: static; min-width: 0; width: 100%; padding: 0; border: 0; border-top: 1px solid var(--color-border); border-radius: 0; background: transparent; box-shadow: none; backdrop-filter: none; }
.menu ul { display: flex; flex-wrap: wrap; gap: .2rem 1.25rem; align-items: center; }
.menu li + li { margin: 0; }
.menu li:last-child { margin-left: auto; }
.menu .nav-link--about { display: none; }
.menu a { padding: .8rem 0; font-size: .8rem; color: var(--color-text-soft); font-weight: 500; border-radius: 0; min-height: 44px; }
.menu a:hover, .menu a:focus-visible, .menu a[aria-current="page"], .menu a.nav-link--active { background: transparent; box-shadow: none; color: var(--color-accent); }
.menu a[aria-current="page"] { border-bottom: 3px solid currentColor; }
.menu .nav-link--anime { color: var(--color-anime); }
.menu .nav-link--manga { color: var(--color-manga); }
.menu .nav-link--webtoon { color: var(--color-webtoon); }
.menu .nav-link--videojuegos { color: var(--color-vgames); }
.menu .nav-link--comics { color: var(--color-comics); }
.menu .nav-link--eventos { color: var(--color-events); }
.menu .nav-link--calendar { color: var(--color-accent); }
.card[data-category="anime"], .page-category--anime { --category-color: var(--color-anime); }
.card[data-category="manga"], .page-category--manga { --category-color: var(--color-manga); }
.card[data-category="webtoon"], .page-category--webtoon { --category-color: var(--color-webtoon); }
.card[data-category="videojuegos"], .page-category--videojuegos { --category-color: var(--color-vgames); }
.card[data-category="comics"], .page-category--comics { --category-color: var(--color-comics); }
.card[data-category="eventos"], .page-category--eventos { --category-color: var(--color-events); }
.pill.anime { color: var(--color-anime); }.pill.manga { color: var(--color-manga); }.pill.vgames { color: var(--color-vgames); }.pill.comics { color: var(--color-comics); }.pill.events { color: var(--color-events); }
.card .pill { width: fit-content; max-width: 100%; align-self: flex-start; justify-self: start; min-height: 22px; line-height: 1.3; color: var(--category-color, var(--color-accent)); background: color-mix(in srgb, var(--category-color, var(--color-accent)) 8%, var(--color-panel)); border-radius: 4px; padding: .15rem .45rem; letter-spacing: .01em; font-size: .6875rem; font-weight: 500; text-transform: none; }
.page-home-hub .page-content, .page-section-editorial .page-content { gap: 0; }
.editorial-topline { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .5rem; padding-block: .75rem; color: var(--color-text-soft); font-size: .75rem; }
.editorial-topline p { margin: 0; }.editorial-topline nav { display: flex; gap: 1.25rem; }.editorial-topline a { display: inline-flex; min-height: 30px; align-items: center; }
.editorial-front { display: grid; grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr); gap: 2rem; padding-block: 1rem 2rem; }
.editorial-front__lead, .editorial-front__aside, .radar-layout > * { min-width: 0; }
.card--editorial-lead, .card--editorial-secondary { background: transparent; border: 0; border-radius: 0; box-shadow: none; overflow: visible; }
.card--editorial-lead:hover, .card--editorial-secondary:hover, .card--radar:hover { box-shadow: none; transform: none; }
.card--editorial-lead .card-link { display: grid; grid-template-areas: "details" "title" "image"; gap: .85rem; }
.card--editorial-lead .card-body { display: contents; }
.card--editorial-lead .card-details { grid-area: details; }
.card--editorial-lead .card-title { grid-area: title; font-size: clamp(1.7rem, 2.9vw, 2.4rem); line-height: 1.25; font-weight: 600; letter-spacing: -.035em; margin: 0; }
.card--editorial-lead .news-image-frame, .card--editorial-lead .card-media { grid-area: image; border-radius: 8px; aspect-ratio: 16 / 9; }
.card--editorial-lead .news-image-frame img { aspect-ratio: 16 / 9; object-fit: cover; }
.card--editorial-lead .card-meta { margin: 0; }
.calendar-highlights { padding: 1.15rem; background: var(--color-accent-soft); border: 1px solid color-mix(in srgb, var(--color-accent) 15%, var(--color-border)); border-radius: 10px; }
.calendar-highlights__eyebrow { display: inline-block; padding: .25rem .55rem; margin: 0 0 .65rem; color: var(--color-accent); background: var(--color-panel); border-radius: 4px; font-size: .72rem; }
.calendar-highlights h2 { display: flex; justify-content: space-between; margin: 0; font-size: 1.2rem; font-weight: 600; letter-spacing: -.02em; }
.calendar-highlights h2 > span { color: var(--color-accent); }
.calendar-highlights__list { margin: .9rem 0; padding: 0; list-style: none; }
.calendar-highlights__list li + li { border-top: 1px solid var(--color-border); margin-top: .75rem; padding-top: .75rem; }
.calendar-highlights__list a { display: flex; align-items: center; gap: .8rem; min-height: 44px; }
.calendar-highlights__date { display: grid; justify-items: center; background: var(--color-panel); color: var(--color-accent); border-radius: 6px; padding: .45rem .75rem; min-width: 55px; transform: none; }
.calendar-highlights__date span { font-size: .7rem; text-transform: uppercase; }.calendar-highlights__date strong { font-size: 1.4rem; line-height: 1.2; }
.calendar-highlights__copy { display: grid; min-width: 0; gap: .15rem; }.calendar-highlights__copy strong { font-size: .9rem; line-height: 1.4; }.calendar-highlights__copy time, .calendar-highlights__copy > span { color: var(--color-text-soft); font-size: .73rem; }
.calendar-highlights__cta { display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding: .6rem .75rem; min-height: 44px; background: var(--color-panel); color: var(--color-accent); border-radius: 5px; font-size: .8rem; }
.calendar-highlights__empty { color: var(--color-text-soft); font-size: .85rem; }
.editorial-secondary { margin-top: 1.5rem; }.editorial-secondary > h2 { margin: 0 0 1rem; border-top: 3px solid var(--color-vgames); padding-top: .6rem; font-size: 1.1rem; font-weight: 600; }
.card--editorial-secondary .card-link { display: block; }.card--editorial-secondary .card-body { padding: .75rem 0 0; }.card--editorial-secondary .card-title { font-size: 1.15rem; line-height: 1.4; font-weight: 600; }.card--editorial-secondary .news-image-frame { border-radius: 8px; }
.editorial-feed > .section-header { border-top: 1px solid var(--color-border); padding-top: 1rem; }
.editorial-feed .section-header h1, .editorial-feed .section-header h2 { font-size: 1.45rem; font-weight: 600; }
.card-meta { color: var(--color-text-soft); font-size: .75rem; font-weight: 400; }
.card--radar .card-link { grid-template-columns: 145px minmax(0, 1fr); gap: 1.25rem; }.card--radar .card-title { font-size: 1.25rem; line-height: 1.4; font-weight: 600; }.card--radar .news-image-frame { aspect-ratio: 4 / 3; border-radius: 7px; }
.hub-day__date { font-family: var(--font-sans); color: var(--color-text-soft); font-weight: 500; font-size: .85rem; }
.filter-tabs { margin-bottom: 1rem; }.filter-tabs .chip { border-radius: 5px; font-size: .78rem; min-height: 44px; box-shadow: none; }
.chip--anime { color: var(--color-anime); }.chip--manga { color: var(--color-manga); }.chip--webtoon { color: var(--color-webtoon); }.chip--vgames { color: var(--color-vgames); }.chip--comics { color: var(--color-comics); }.chip--events { color: var(--color-events); }
.radar-heading { padding-block: 1.5rem 1rem; }.radar-heading .eyebrow { color: var(--category-color); margin-top: 1rem; }.radar-heading h1 { font-size: clamp(2rem, 4vw, 2.6rem); line-height: 1.25; margin: .5rem 0; letter-spacing: -.04em; font-weight: 600; }.radar-heading h1 span { color: var(--category-color); }.radar-heading > p:not(.eyebrow) { color: var(--color-text-soft); }
.radar-tabs { display: flex; flex-wrap: wrap; gap: 1.25rem; border-bottom: 1px solid var(--color-border); margin-top: 1.25rem; }.radar-tabs a { min-height: 44px; padding: .75rem 0; color: var(--color-text-soft); font-size: .85rem; }.radar-tabs a[aria-current] { border-bottom: 2px solid var(--category-color); color: var(--category-color); }
.radar-layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr); gap: 2rem; padding-block: 1rem 2rem; }.radar-layout .section-header { align-items: baseline; flex-wrap: wrap; }.radar-layout .section-header h2 { font-size: 1.25rem; }.radar-layout .section-header > span { font-size: .75rem; }.radar-secondary-links { display: grid; gap: .65rem; margin-top: 1rem; color: var(--category-color); font-size: .8rem; }.radar-secondary-links a { display: flex; align-items: center; min-height: 44px; }
@media (max-width: 799px) {
  .nav-inner { grid-template-columns: minmax(0, 1fr); gap: .75rem; }.logo { justify-self: start; }.logo-title { font-size: 1.6rem; }.search-panel { display: block !important; }.menu ul { gap: .15rem 1rem; }.menu li:last-child { margin-left: 0; }.menu a { font-size: .78rem; }.search-form input { font-size: 16px; }
  .editorial-front, .radar-layout { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }.editorial-front { padding-block: .75rem 1.5rem; }.editorial-secondary { display: none; }.editorial-front__aside .editorial-secondary { display: block; margin-top: 1.25rem; }.editorial-front__aside .card--editorial-secondary .card-link { display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: .8rem; }.editorial-front__aside .card--editorial-secondary .card-body { padding: 0; }.editorial-front__aside .card--editorial-secondary .card-title { font-size: 1rem; }.editorial-front__aside .card--editorial-secondary .news-image-frame { aspect-ratio: 4 / 3; }
  .card--radar .card-link { grid-template-columns: 90px minmax(0, 1fr); gap: .8rem; }.card--radar .card-title { font-size: 1.05rem; }.editorial-topline { font-size: .7rem; }.editorial-topline nav { gap: 1rem; }.radar-aside { grid-row: auto; }.radar-heading { padding-top: 1rem; }
}
@media (prefers-color-scheme: dark) {
  body.page-home-hub, body.page-section-editorial { --color-bg: #151b24; --color-panel: #202834; --color-surface: #202834; --color-surface-strong: #202834; --color-text: #edf1f8; --color-text-soft: #b4bfd0; --color-text-faint: #a8b5c9; --color-border: #3b4759; --color-accent: #c0a1ff; --color-accent-soft: #302746; --color-anime: #c3a3ff; --color-manga: #f59bc6; --color-webtoon: #90baff; --color-vgames: #73dae2; --color-comics: #f1c574; --color-events: #87d6a4; }
  .page-home-hub .card, .page-section-editorial .card { background: transparent; }.page-home-hub .chip, .page-section-editorial .chip { background: var(--color-panel); }.page-home-hub .chip--active, .page-section-editorial .chip--active { background: var(--color-accent-soft); color: var(--color-accent); }
}
.card--editorial-lead .card-title, .card--editorial-secondary .card-title, .card--radar .card-title { display: block; -webkit-line-clamp: unset; overflow: visible; max-height: none; }
.card--editorial-secondary .pill { align-self: flex-start; justify-self: start; }
.card--editorial-lead .reaction-controls { margin-top: .75rem; }
.card--radar .reaction-controls { margin-left: calc(145px + 1.25rem); }
.menu li:has(.nav-link--calendar) { margin-left: auto; }
.cookie-banner { background: var(--color-panel); color: var(--color-text); }
.cookie-banner__eyebrow, .cookie-banner__text { color: var(--color-text-soft); }
.cookie-banner .button--secondary { background: var(--color-bg); color: var(--color-text); }
.search-suggestions { background: var(--color-panel); color: var(--color-text); }
@media (max-width: 799px) { .card--radar .reaction-controls { margin-left: calc(90px + .8rem); }.menu li:has(.nav-link--calendar) { margin-left: 0; } }

.calendar-highlights > h2 + .calendar-highlights__cta { margin-top: .9rem; }

/* Dense news cards: image, title, and a single group of publication details. */
.card-details { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .65rem; min-width: 0; }
.card-details .pill { flex: 0 0 auto; }
.card-source { overflow-wrap: anywhere; }
.card-body { gap: .55rem; }
.card--hub { padding-block: 1rem; }
.card--radar .card-link { grid-template-columns: 180px minmax(0, 1fr); gap: 1.15rem; }
.card--radar .reaction-controls { margin-left: calc(180px + 1.15rem); margin-top: .25rem; }
.card--radar .card-title { font-size: 1.15rem; line-height: 1.35; }
.card--radar .news-image-frame { aspect-ratio: 4 / 3; }
.card--editorial-secondary .card-body { gap: .55rem; }
@media (max-width: 799px) {
  .card--hub .card-link, .editorial-front__aside .card--editorial-secondary .card-link { grid-template-columns: 112px minmax(0, 1fr); gap: .75rem; }
  .card--hub .card-title, .editorial-front__aside .card--editorial-secondary .card-title { font-size: 1rem; line-height: 1.35; }
  .card--hub .news-image-frame { aspect-ratio: 4 / 3; }
  .card--radar .reaction-controls, .card--hub .reaction-controls, .editorial-front__aside .card--editorial-secondary .reaction-controls { margin-left: calc(112px + .75rem); margin-top: .2rem; }
  .card-details { gap: .25rem .45rem; }
  .card--editorial-lead .card-title { font-size: 1.65rem; }
}
@media (max-width: 359px) {
  .card--hub .card-link, .editorial-front__aside .card--editorial-secondary .card-link { grid-template-columns: 96px minmax(0, 1fr); gap: .65rem; }
  .card--radar .reaction-controls, .card--hub .reaction-controls, .editorial-front__aside .card--editorial-secondary .reaction-controls { margin-left: calc(96px + .65rem); }
}
.card-details > .card-date, .card-details > .card-source { color: var(--color-text-soft); font-size: .6875rem; line-height: 1.45; max-width: 100%; }
.card-date { white-space: nowrap; }
.editorial-feed > .section-header { gap: .75rem; align-items: baseline; }
.editorial-feed > .section-header > span { font-size: .75rem; }
.editorial-feed .category-list { display: flex; flex-wrap: wrap; gap: .4rem; }
.editorial-feed .category-list__item { flex: 0 0 auto; width: auto; }
.editorial-feed .filter-tab { padding-inline: .7rem; }
.card--hub {
  --thumbnail-width: 180px;
  --thumbnail-gap: 1.15rem;
  display: grid;
  grid-template-columns: var(--thumbnail-width) minmax(0, 1fr);
  grid-template-rows: auto;
  column-gap: var(--thumbnail-gap);
  row-gap: .2rem;
  align-items: start;
}
.card--hub .card-image-link { grid-column: 1; grid-row: 1; align-self: start; }
.card--hub .card-link { display: flex; }

.card--hub .card-body { grid-column: 2; grid-row: 1; }
.card--hub .reaction-controls { margin: 0; align-self: start; }
.card--hub:has(.card-link:focus-visible) { outline: 2px solid var(--color-accent); outline-offset: 3px; }
@media (max-width: 799px) {
  .card--hub { --thumbnail-width: 112px; --thumbnail-gap: .75rem; }
}
@media (max-width: 359px) {
  .card--hub { --thumbnail-width: 96px; --thumbnail-gap: .65rem; }
}

.card-image-link { display: block; min-width: 0; }
.card-image-link > .news-image-frame { display: block; }
.card .card-link { display: flex; flex-direction: column; gap: .55rem; }
.card .reaction-controls { margin-left: 0; }
.card--editorial-lead { display: flex; flex-direction: column; gap: .85rem; }
.card--editorial-lead .card-body { display: contents; }
.card--editorial-lead .card-link { order: 1; gap: .85rem; }
.card--editorial-lead .card-image-link { order: 2; }
.card--editorial-lead .reaction-controls { order: 3; margin: 0; }
.card--hub .card-body { gap: .2rem; }
@media (max-width: 799px) {
  .editorial-front__aside .card--editorial-secondary { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: .75rem; }
  .editorial-front__aside .card--editorial-secondary .card-link { display: flex; }
  .editorial-front__aside .card--editorial-secondary .card-body { gap: .2rem; }
  .editorial-front__aside .card--editorial-secondary .reaction-controls { margin: 0; }
}
@media (max-width: 359px) {
  .editorial-front__aside .card--editorial-secondary { grid-template-columns: 96px minmax(0, 1fr); gap: .65rem; }
}
.card .card-title { display: block; -webkit-line-clamp: unset; overflow: visible; max-height: none; }

/* Mobile masthead: one row, with search and category navigation on demand. */
@media (max-width: 799px) {
  .nav-inner { grid-template-columns: minmax(0, 1fr) 44px 44px; gap: .3rem; padding-block: .3rem; min-height: 54px; }
  .logo { grid-column: 1; grid-row: 1; gap: .45rem; }
  .logo-mark { width: 32px; height: 32px; }
  .logo-title { font-size: 1.25rem; letter-spacing: -.035em; }
  .logo-section { display: none; }
  .search-toggle, .nav-toggle { display: inline-grid; grid-row: 1; border: 0; border-radius: 4px; background: transparent; color: var(--color-text); box-shadow: none; }
  .search-toggle { grid-column: 2; }
  .nav-toggle { grid-column: 3; }
  .search-toggle[aria-expanded="true"], .nav-toggle[aria-expanded="true"] { background: var(--color-accent-soft); color: var(--color-accent); }
  .search-panel { display: none !important; grid-column: 1 / -1; grid-row: 2; }
  .search-panel.open { display: block !important; position: static; inset: auto; padding: .25rem 0 .4rem; border: 0; background: transparent; box-shadow: none; }
  .menu, .menu.open { display: none !important; position: static; inset: auto; width: 100%; min-width: 0; grid-column: 1 / -1; grid-row: 2; }
  .menu.open { display: block !important; }
  .menu ul { padding-block: .25rem; gap: .1rem 1rem; }
  .no-js .logo { grid-column: 1 / -1; }
  .no-js .search-toggle, .no-js .nav-toggle { display: none; }
  .no-js .search-panel { display: block !important; }
  .no-js .menu { display: block !important; grid-row: 3; }
  .editorial-topline { display: none; }
  .editorial-front { padding-top: .75rem; }
}
@media (min-width: 800px) {
  .search-panel.open { position: static; inset: auto; padding: 0; border: 0; background: transparent; box-shadow: none; }
}
@media (max-width: 799px) { .navbar { min-height: 0; } }
.card--editorial-lead .card-lead-summary { order: 3; margin: 0; max-width: 75ch; color: var(--color-text-soft); font-size: .95rem; line-height: 1.65; }
.card--editorial-lead .reaction-controls { order: 4; }
@media (max-width: 799px) { .card--editorial-lead .card-lead-summary { font-size: .875rem; } }

/* Article reading: broad artwork, a focused column, and category accents. */
.page-article { --category-color: var(--color-accent); --color-text-faint: var(--color-text-soft); }
.page-article--anime { --category-color: var(--color-anime); }
.page-article--manga { --category-color: var(--color-manga); }
.page-article--webtoon { --category-color: var(--color-webtoon); }
.page-article--videojuegos { --category-color: var(--color-vgames); }
.page-article--comics { --category-color: var(--color-comics); }
.page-article--eventos { --category-color: var(--color-events); }
.page-article .page-content { gap: 0; }
.page-article .article-shell--editorial,
.page-article .article-related-shell { width: min(1072px, 100%); margin-inline: auto; padding: 1.5rem 1rem 3rem; }
.page-article .article-shell--editorial { display: block; }
.page-article .article--editorial { display: grid; gap: 2rem; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.page-article .breadcrumbs { margin-bottom: 1.5rem; font-size: .875rem; overflow-wrap: anywhere; }
.page-article .article-header--editorial { gap: 1.25rem; }
.page-article .article-kicker .pill { padding: .35rem .65rem; border-radius: 4px; background: var(--color-panel); color: var(--category-color); border-left: 3px solid currentColor; font-size: .875rem; letter-spacing: .06em; }
.page-article .article h1 { max-inline-size: 28ch; font-family: var(--font-sans); font-size: clamp(2rem, 4.5vw, 3.5rem); line-height: 1.12; letter-spacing: -.045em; overflow-wrap: anywhere; }
.page-article .article-standfirst { max-width: 70ch; font-size: clamp(1.125rem, 2vw, 1.375rem); line-height: 1.6; }
.page-article .article-header .article-meta { gap: .5rem 1.25rem; padding-block: .75rem; border-block: 1px solid var(--color-border); font-size: .875rem; font-weight: 500; color: var(--color-text-soft); }
.page-article .article-meta a { color: var(--color-text); text-decoration: underline; text-underline-offset: .2em; }
.page-article .hero-image { margin-top: .25rem; }
.page-article .hero-image img { width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; border-radius: 8px; box-shadow: none; }
.page-article .hero-image figcaption,
.page-article .article-image figcaption { color: var(--color-text-soft); font-size: .875rem; overflow-wrap: anywhere; }
.page-article .article-content,
.page-article .article-follow-topic,
.page-article .article--editorial > .ad-slot,
.page-article .article--editorial > .direct-ad,
.page-article .article-availability,
.page-article .article--editorial > [data-reaction-news-id],
.page-article .article-aftercare { width: min(680px, 100%); min-width: 0; margin-inline: auto; }
.page-article .article-body { gap: 1.25rem; font-size: 1.125rem; line-height: 1.8; overflow-wrap: anywhere; }
.page-article .article-body h2 { font-size: 1.5rem; line-height: 1.3; margin-top: 1rem; }
.page-article .article-body h3 { font-size: 1.25rem; line-height: 1.4; }
.page-article .article-body :is(h2, h3) { scroll-margin-top: 2rem; }
.page-article .article-image img { border-radius: 8px; box-shadow: none; }
.page-article .article-toc { padding: 1rem 1.25rem; margin-bottom: 2rem; border-left: 3px solid var(--category-color); background: var(--color-panel); font-size: 1rem; }
.page-article .article-toc__title { margin: 0; font-weight: 700; }
.page-article .article-toc ol { margin-bottom: 0; padding-left: 1.25rem; }
.page-article .article-toc a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: .2em; }
.page-article .article-follow-topic { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; padding: 1.25rem; background: var(--color-panel); border-left: 3px solid var(--category-color); border-radius: 6px; }
.page-article .article-follow-topic > div { flex: 1 1 280px; min-width: 0; }
.page-article .article-follow-topic__eyebrow { display: block; margin-bottom: .5rem; font-size: .875rem; color: var(--category-color); }
.page-article .article-follow-topic p { margin: .5rem 0 0; color: var(--color-text-soft); }
.page-article .article-follow-topic__status { flex-basis: 100%; font-size: .875rem; }
.page-article .article-follow-topic__status:empty { display: none; }
.page-article .article-availability { padding: 1.25rem; border: 1px solid var(--color-border); border-radius: 8px; background: var(--color-panel); box-shadow: none; }
.page-article .article-availability h2 { margin-top: 0; font-size: 1.125rem; }
.page-article .article-availability__items { grid-template-columns: minmax(0, 1fr); }
.page-article .article-availability__item { padding: 1rem 0 0; border: 0; border-top: 1px solid var(--color-border); border-radius: 0; background: transparent; min-width: 0; overflow-wrap: anywhere; }
.page-article .article-availability__meta,
.page-article .article-availability .meta { font-size: .875rem; color: var(--color-text-soft); }
.page-article .article--editorial > [data-reaction-news-id] { margin-block: 0; padding-block: 1rem; border-block: 1px solid var(--color-border); }
.page-article [data-reaction-toggle] { font-size: .875rem; padding-inline: .5rem; }
.page-article .article-aftercare { display: grid; gap: 1.5rem; }
.page-article .article-sources { padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.page-article .sources { gap: .5rem; }
.page-article .sources li { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem 1rem; padding-block: .25rem; border-bottom: 1px solid var(--color-border); overflow-wrap: anywhere; }
.page-article .sources a { display: inline-flex; align-items: center; min-height: 44px; max-width: 100%; font-size: 1rem; }
.page-article .source-domain { font-size: .875rem; }
.page-article .tags .badge { font-size: .875rem; background: var(--color-panel); color: var(--color-text-soft); border-radius: 4px; }
.page-article .button { min-height: 44px; min-width: 44px; border-radius: 6px; }
.page-article .button--secondary { color: var(--color-text); background: var(--color-panel); border: 1px solid var(--color-border); box-shadow: none; }
.page-article .article-related-shell { padding-top: 0; }
.page-article .related-section { margin-top: 0; padding-top: 2rem; border-top: 1px solid var(--color-border); }
.page-article .related-section .eyebrow { color: var(--category-color); font-size: .875rem; }
.page-article .news-grid--related { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
.page-article .related-section .card { border: 1px solid var(--color-border); border-radius: 8px; background: var(--color-panel); box-shadow: none; }
.page-article .related-section .card-title { display: block; overflow: visible; -webkit-line-clamp: unset; font-size: 1.25rem; line-height: 1.4; }
.page-article .related-section :is(.card-date, .card-source, .pill, .meta) { font-size: .875rem; }
.page-article .article-reading-progress { position: fixed; inset: 0 0 auto; height: 3px; z-index: 100; pointer-events: none; }
.page-article .article-reading-progress__bar { display: block; width: 100%; height: 100%; background: var(--category-color); transform: scaleX(var(--reading-progress, 0)); transform-origin: left; }
@media (min-width: 768px) {
  .page-article .article-shell--editorial { padding-top: 2rem; }
  .page-article .article-body { font-size: 1.1875rem; }
  .page-article .news-grid--related { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (prefers-color-scheme: dark) {
  body.page-article { color-scheme: dark; --color-bg: #151b24; --color-panel: #202834; --color-surface: #202834; --color-surface-strong: #202834; --color-text: #edf1f8; --color-text-soft: #b4bfd0; --color-text-faint: #b4bfd0; --color-border: #3b4759; --color-accent: #c0a1ff; --color-accent-soft: #302746; --color-anime: #c3a3ff; --color-manga: #f59bc6; --color-webtoon: #90baff; --color-vgames: #73dae2; --color-comics: #f1c574; --color-events: #87d6a4; }
}
@media (prefers-reduced-motion: reduce) {
  .page-article .related-section .card { transition: none; }
  .page-article .related-section .card:hover { transform: none; }
}
.page-article .article-footer .tags { display: flex; flex-wrap: wrap; gap: .5rem; padding: 0; margin: 0; list-style: none; }
.page-article .article-footer .tags li { margin: 0; }

/* Compact shared footer: essential links wrap instead of forming long columns. */
.site-footer--compact { padding-block: 1.5rem; border-top: 1px solid var(--color-border); }
.site-footer--compact .site-footer__grid { grid-template-columns: minmax(0, 1fr); gap: .75rem; }
.site-footer--compact .site-footer__brand { display: flex; flex-wrap: wrap; align-items: baseline; gap: .35rem 1rem; }
.site-footer--compact .site-footer__copy { font-size: .875rem; }
.site-footer--compact .site-footer__links { display: flex; flex-wrap: wrap; align-items: center; gap: 0 1.25rem; }
.site-footer--compact .site-footer__links :is(a, button) { display: inline-flex; align-items: center; min-height: 44px; min-width: 44px; padding-block: .5rem; font-size: .875rem; line-height: 1.5; }
.site-footer--compact .footer-link-button { padding-inline: 0; }

/* Compact calendar: monthly navigation and complete, readable event rows. */
.page-calendar { --color-text-faint: var(--color-text-soft); background: var(--color-bg); }
.page-calendar .page-content { gap: 0; }
.page-calendar :is(.calendar-hero__inner, .calendar-toolbar > .container, .calendar-feed-shell) { width: min(1072px, 100%); padding-inline: 1rem; margin-inline: auto; }
.page-calendar .calendar-hero { padding-block: 1.5rem 1rem; background: transparent; border: 0; }
.page-calendar .calendar-hero__inner { display: block; }
.page-calendar .calendar-hero__compact { display: flex; flex-wrap: wrap; gap: 1rem 2rem; align-items: center; }
.page-calendar .calendar-hero__copy { display: block; flex: 1 1 480px; min-width: 0; }
.page-calendar .calendar-hero h1 { margin: 0 0 .5rem; max-width: none; font-size: clamp(2rem, 4vw, 3rem); line-height: 1.15; letter-spacing: -.04em; }
.page-calendar .calendar-hero .section-description { margin: 0; font-size: 1rem; line-height: 1.6; max-width: 65ch; }
.page-calendar :is(.calendar-updated, .calendar-download-help) { margin: .5rem 0 0; font-size: .875rem; color: var(--color-text-soft); }
.page-calendar .breadcrumbs { margin-bottom: 1rem; font-size: .875rem; }
.page-calendar .calendar-toolbar { position: static; padding-block: 0 1rem; }
.page-calendar .calendar-toolbar__inner { position: static; display: block; padding-block: .75rem; border: 0; border-block: 1px solid var(--color-border); border-radius: 0; background: transparent; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
.page-calendar .calendar-month-nav { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: .5rem 1rem; align-items: center; width: 100%; }
.page-calendar .calendar-month-nav__current { text-align: center; font-size: clamp(1rem, 2vw, 1.375rem); font-weight: 700; white-space: normal; }
.page-calendar .calendar-month-nav__link { gap: .5rem; padding: .5rem .75rem; }
.page-calendar .calendar-month-nav__today { grid-column: 1 / -1; justify-self: center; display: inline-flex; align-items: center; min-height: 44px; font-size: .875rem; color: var(--color-accent); text-decoration: underline; text-underline-offset: .2em; }
.page-calendar .button { min-height: 44px; min-width: 44px; border-radius: 6px; font-size: .875rem; box-shadow: none; }
.page-calendar .button--secondary { background: var(--color-panel); color: var(--color-text); border: 1px solid var(--color-border); }
.page-calendar .calendar-filters { padding: .75rem 0 0; margin-top: 0; gap: .75rem; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.page-calendar .calendar-filters__intro { display: flex; flex-wrap: wrap; gap: .5rem 1rem; align-items: baseline; }
.page-calendar .calendar-filters__intro .eyebrow { font-size: .875rem; letter-spacing: 0; text-transform: none; }
.page-calendar .calendar-filters__group { margin: 0; gap: .4rem; }
.page-calendar .calendar-filters__group legend { font-size: .875rem; font-weight: 600; letter-spacing: 0; text-transform: none; }
.page-calendar :is(.calendar-filter-chip, .calendar-filter-reset) { min-height: 44px; min-width: 44px; padding: .5rem .75rem; border-radius: 6px; border-color: var(--color-border); background: var(--color-panel); font-size: .875rem; font-weight: 500; transform: none; }
.page-calendar .calendar-filter-chip.is-active { background: var(--color-accent-soft); color: var(--color-accent); border-color: var(--color-accent); box-shadow: none; font-weight: 700; }
.page-calendar .calendar-filters__result { padding-top: .5rem; border-color: var(--color-border); }
.page-calendar .calendar-filters__result output { font-size: .875rem; font-weight: 500; }
.page-calendar .calendar-feed-section { padding-block: .5rem 2.5rem; }
.page-calendar .calendar-feed-shell { padding-block: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.page-calendar .calendar-feed-shell > .section-header { margin-bottom: 1.25rem; }
.page-calendar .calendar-feed-shell .section-title { font-size: 1.375rem; }
.page-calendar .calendar-feed { display: grid; gap: 1.5rem; }
.page-calendar .calendar-feed__group { gap: .75rem; border-color: var(--color-border); }
.page-calendar .calendar-feed__date { justify-content: flex-start; gap: .5rem 1rem; }
.page-calendar .calendar-feed__date :is(.eyebrow, h3) { margin: 0; }
.page-calendar .calendar-feed__date .eyebrow { font-size: .875rem; color: var(--color-accent); letter-spacing: 0; }
.page-calendar .calendar-feed__count { font-size: .875rem; font-weight: 500; text-transform: none; letter-spacing: 0; }
.page-calendar .calendar-feed__entries { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; }
.page-calendar .calendar-entry { --entry-color: var(--color-accent); grid-template-columns: 64px minmax(0, 1fr); align-items: start; gap: .75rem; padding: 1rem .75rem; border: 0; border-bottom: 1px solid var(--color-border); border-left: 3px solid var(--entry-color); border-radius: 0; background: transparent; box-shadow: none; overflow: visible; transform: none; min-height: 0; }
.page-calendar .calendar-entry--anime { --entry-color: var(--color-anime); }
.page-calendar .calendar-entry--manga { --entry-color: var(--color-manga); }
.page-calendar .calendar-entry--webtoon { --entry-color: var(--color-webtoon); }
.page-calendar :is(.calendar-entry--comic, .calendar-entry--comics) { --entry-color: var(--color-comics); }
.page-calendar .calendar-entry--videojuego { --entry-color: var(--color-vgames); }
.page-calendar .calendar-entry--evento { --entry-color: var(--color-events); }
.page-calendar .calendar-entry:hover { background: var(--color-panel); }
.page-calendar .calendar-entry:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 3px; }
.page-calendar .calendar-entry__thumb { width: 64px; height: 64px; border-radius: 6px; box-shadow: none; background: var(--color-panel); }
.page-calendar .calendar-entry__thumb-fallback { background: var(--color-accent-soft); color: var(--color-accent); padding: .4rem; }
.page-calendar .calendar-entry__thumb-fallback span { display: none; }
.page-calendar .calendar-entry__thumb-fallback strong { font-size: .75rem; line-height: 1.3; overflow-wrap: anywhere; }
.page-calendar .calendar-entry__body { gap: .5rem; overflow-wrap: anywhere; }
.page-calendar :is(.calendar-entry__primary-meta, .calendar-entry__supporting-meta, .calendar-entry__verification) { display: flex; flex-wrap: wrap; gap: .35rem .75rem; font-size: .875rem; line-height: 1.5; font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--color-text-soft); }
.page-calendar .calendar-entry__date { color: var(--entry-color); font-weight: 700; }
.page-calendar .calendar-entry__title { display: block; overflow: visible; -webkit-line-clamp: unset; max-height: none; font-size: 1.125rem; line-height: 1.4; font-weight: 700; }
.page-calendar .calendar-entry__description { display: block; overflow: visible; -webkit-line-clamp: unset; max-height: none; font-size: 1rem; line-height: 1.6; }
.page-calendar .badge--temporal { padding: .2rem .5rem; border-radius: 4px; font-size: .875rem; font-weight: 500; background: var(--color-accent-soft); color: var(--color-accent) !important; }
.page-calendar .calendar-entry__cta { grid-column: 2; min-height: 0; padding: 0; white-space: normal; font-size: .875rem; font-weight: 600; color: var(--entry-color); background: transparent; text-decoration: underline; text-underline-offset: .2em; }
.page-calendar :is(.calendar-empty-state, .calendar-filter-empty) { padding: 1.25rem; background: var(--color-panel); border: 1px solid var(--color-border); border-radius: 6px; box-shadow: none; }
.page-calendar .calendar-empty-state h3 { font-size: 1.25rem; line-height: 1.4; }
.page-calendar [hidden] { display: none !important; }
.no-js .page-calendar .calendar-filters { display: none; }
@media (min-width: 768px) {
  .page-calendar .calendar-month-nav { grid-template-columns: auto minmax(0, 1fr) auto auto; }
  .page-calendar .calendar-month-nav__today { grid-column: auto; }
  .page-calendar .calendar-entry { grid-template-columns: 96px minmax(0, 1fr); gap: 1rem; }
  .page-calendar .calendar-entry__thumb { width: 96px; height: 72px; }
  .page-calendar .calendar-entry__title { font-size: 1.25rem; }
}
@media (max-width: 390px) {
  .page-calendar .calendar-month-nav__action { display: none; }
}
@media (prefers-color-scheme: dark) {
  body.page-calendar { color-scheme: dark; --color-bg: #151b24; --color-panel: #202834; --color-surface: #202834; --color-surface-strong: #202834; --color-text: #edf1f8; --color-text-soft: #b4bfd0; --color-text-faint: #b4bfd0; --color-border: #3b4759; --color-accent: #c0a1ff; --color-accent-soft: #302746; --color-anime: #c3a3ff; --color-manga: #f59bc6; --color-webtoon: #90baff; --color-vgames: #73dae2; --color-comics: #f1c574; --color-events: #87d6a4; }
}
@media (prefers-reduced-motion: reduce) {
  .page-calendar :is(.calendar-entry, .calendar-filter-chip, .calendar-filter-reset) { transition: none; }
}

@media (max-width: 600px) {
  .page-calendar .calendar-entry__body { display: contents; }
  .page-calendar .calendar-entry__thumb { grid-row: 1 / span 2; }
  .page-calendar :is(.calendar-entry__primary-meta, .calendar-entry__title) { grid-column: 2; }
  .page-calendar :is(.calendar-entry__supporting-meta, .calendar-entry__description, .calendar-entry__verification, .calendar-entry__cta) { grid-column: 1 / -1; }
}
.page-calendar .calendar-entry__supporting-meta .pill { font-size: .875rem; font-weight: 500; letter-spacing: 0; text-transform: none; border-radius: 4px; padding: .15rem .45rem; background: color-mix(in srgb, var(--entry-color) 10%, var(--color-panel)); color: var(--entry-color); }
.page-calendar .calendar-entry__thumb picture { display: block; width: 100%; height: 100%; }
/* Keep navigation and filter labels on the same rows as their controls. */
.page-calendar .calendar-toolbar { padding-bottom: .5rem; }
.page-calendar .calendar-toolbar__inner { padding-block: .4rem; }
.page-calendar .calendar-month-nav { grid-template-columns: auto minmax(0, 1fr) auto auto; gap: .5rem; }
.page-calendar .calendar-month-nav__today { grid-column: auto; }
.page-calendar .calendar-filters { padding-top: .4rem; gap: .35rem; }
.page-calendar .calendar-filters__group { display: block; }
.page-calendar .calendar-filters__group legend { float: left; width: 4rem; min-height: 44px; padding-top: .7rem; }
.page-calendar .calendar-filters__chips { margin-left: 4rem; gap: .35rem; }
.page-calendar .calendar-filters__result { padding-top: .35rem; }
@media (max-width: 600px) {
  .page-calendar .calendar-month-nav__action { display: none; }
  .page-calendar .calendar-month-nav__current { font-size: 1rem; }
  .page-calendar .calendar-month-nav__link { padding-inline: .5rem; }
}

/* Trim the trailing space of news cards in mobile category feeds. */
@media (max-width: 799px) {
  .hub-feed .card--hub { padding-bottom: .25rem; }
  .hub-feed .hub-day { margin-bottom: 1rem; }
}

/* A compact secondary story keeps the desktop front page columns balanced. */
@media (min-width: 800px) {
  .editorial-front__aside .card--editorial-secondary { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: .75rem; align-items: start; }
  .editorial-front__aside .card--editorial-secondary .card-image-link { grid-column: 1; grid-row: 1; }
  .editorial-front__aside .card--editorial-secondary .card-body { grid-column: 2; grid-row: 1; padding: 0; gap: .2rem; }
  .editorial-front__aside .card--editorial-secondary .news-image-frame { aspect-ratio: 4 / 3; }
  .editorial-front__aside .card--editorial-secondary .card-title { font-size: 1rem; line-height: 1.4; }
  .editorial-front__aside .card--editorial-secondary .reaction-controls { margin: 0; }
}

/* Keep the article introduction brief and group its reader actions. */
.page-article .breadcrumbs li:last-child { display: none; }
.page-article .article-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1rem; width: min(680px, 100%); min-width: 0; margin-inline: auto; padding-block: .5rem; border-block: 1px solid var(--color-border); }
.page-article .article-actions [data-reaction-news-id] { margin: 0; flex: 1 1 auto; }
.page-article .article-actions .share-actions { margin: 0; }
@media (max-width: 767px) {
  .page-article .article-shell--editorial { padding-top: 1rem; }
  .page-article .breadcrumbs { margin-bottom: .75rem; }
  .page-article .article-header--editorial { gap: .75rem; }
  .page-article .article-standfirst { display: none; }
  .page-article .article-meta > span:last-child { display: none; }
  .page-article .article-header .article-meta { padding-block: .5rem; gap: .25rem .75rem; }
}

/* Home filters stay in a single, horizontally scrollable row on mobile. */
@media (max-width: 799px) {
  .page-home-hub .editorial-feed .filter-tabs--home .category-list { display: flex; flex-wrap: nowrap; overflow-x: auto; gap: .5rem; padding-block: .25rem .5rem; overscroll-behavior-x: contain; }
  .page-home-hub .editorial-feed .filter-tabs--home .category-list__item { flex: 0 0 auto; width: auto; min-width: 0; }
  .page-home-hub .editorial-feed .filter-tabs--home .filter-tab { width: auto; min-width: 44px; min-height: 44px; white-space: nowrap; padding-inline: .85rem; }
  .page-home-hub .filter-tabs--home::after { display: none; }
}

/* Category pages start with the category and filters, followed by the news. */
.page-section-editorial .radar-heading { padding-block: 1rem .25rem; }
.page-section-editorial .radar-heading h1 { margin: 0; font-size: clamp(1.75rem, 3vw, 2.25rem); }
.page-section-editorial .radar-tabs { margin-top: .5rem; gap: 1rem; flex-wrap: nowrap; overflow-x: auto; }
.page-section-editorial .radar-tabs a { flex: 0 0 auto; padding-block: .5rem; }
.page-section-editorial .radar-layout { padding-top: .5rem; }
.page-section-editorial .hub-day:first-of-type { margin-top: 0; }

/* Shared navigation and search: native form controls with readable contrast. */
.menu li:has(.nav-link--about) { display: none; }
.menu li:last-child { margin-left: 0; }
.menu ul { width: 100%; }
.menu .nav-link--rankings { color: var(--color-accent); }
.search-form::before { content: none; }
.search-form input::placeholder { color: var(--color-text-soft); opacity: 1; }
.search-submit { position: absolute; inset: 0 auto 0 0; width: 44px; height: 44px; display: grid; place-items: center; padding: 0; background: transparent; color: var(--color-text); border: 0; border-radius: 6px; cursor: pointer; }
.search-submit:focus-visible { outline: 2px solid var(--color-accent); outline-offset: -3px; }
.search-form:focus-within input { border-color: var(--color-accent); outline: 2px solid var(--color-accent-soft); }

/* Ranking lists are compact image-led links, with more context on desktop. */
.page-ratings .page-content { gap: 0; }
.page-ratings .news-section { padding-block: 1.25rem 2rem; }
.page-ratings .container { width: min(1128px, 100%); }
.page-ratings .news-section > .container { display: block; }
.ratings-header { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 1rem; }
.ratings-header .eyebrow { margin: 0 0 .25rem; font-size: .7rem; }
.ratings-header h1 { margin: 0; font-size: clamp(1.8rem, 3vw, 2.35rem); letter-spacing: -.04em; }
.ratings-intro { margin: .35rem 0 0; font-size: .95rem; color: var(--color-text-soft); }
.ratings-method-link { font-size: .8rem; color: var(--color-accent); white-space: nowrap; }
.ratings-types { display: flex; gap: .25rem; border-bottom: 1px solid var(--color-border); }
.ratings-types a { padding: .6rem 1rem; border-bottom: 2px solid transparent; font-size: .9rem; font-weight: 600; color: var(--color-text-soft); }
.ratings-types a[aria-current] { color: var(--color-accent); border-bottom-color: currentColor; }
.ratings-filters { display: flex; align-items: end; gap: .75rem; flex-wrap: wrap; margin: .75rem 0 1.1rem; padding: 0; }
.ratings-filter { display: flex; align-items: center; gap: .5rem; }
.ratings-filters label { font-size: .8rem; font-weight: 600; color: var(--color-text-soft); }
.ratings-filters select { max-width: 100%; min-height: 40px; padding: .4rem .65rem; border: 1px solid var(--color-border); border-radius: .5rem; background: var(--color-panel); color: var(--color-text); font: inherit; font-size: .85rem; }
.ratings-filters button { min-height: 40px; padding: .45rem .8rem; border: 1px solid var(--color-border); border-radius: .5rem; background: var(--color-panel); color: var(--color-text); font: inherit; font-size: .85rem; font-weight: 600; cursor: pointer; }
.ratings-filters :is(button, select):focus-visible, .ratings-types a:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 3px; }
.ratings-results-heading { display: flex; justify-content: space-between; align-items: baseline; gap: .75rem; }
.ratings-results-heading h2 { margin: 0; font-size: 1.1rem; }
.ratings-results-heading p { margin: 0; font-size: .8rem; color: var(--color-text-soft); }
.ratings-list { list-style: none; padding: 0; display: grid; gap: .75rem; margin: .65rem 0 1.5rem; }
.ratings-entry { min-width: 0; border: 1px solid var(--color-border); border-radius: .85rem; background: var(--color-panel); overflow: hidden; }
.ratings-entry-link { display: grid; grid-template-columns: 160px minmax(0,1fr) 96px; gap: 1.25rem; align-items: center; padding: .85rem; color: var(--color-text); text-decoration: none; }
.ratings-entry-link:hover { background: var(--color-accent-soft); }
.ratings-entry-link:focus-visible { outline: 3px solid var(--color-accent); outline-offset: -3px; }
.ratings-thumbnail { position: relative; display: block; aspect-ratio: 4/3; overflow: hidden; border-radius: .5rem; background: var(--color-bg); }
.ratings-thumbnail :is(picture,img) { display: block; width: 100%; height: 100%; }
.ratings-image { object-fit: cover; object-position: center 38%; }
.ratings-position { position: absolute; inset: .4rem auto auto .4rem; display: grid; place-items: center; min-width: 32px; min-height: 28px; padding: .15rem .3rem; border-radius: .35rem; background: #151b24eb; color: #fff; font-size: .85rem; font-weight: 800; }
.ratings-entry--podium .ratings-position { background: #6735c6; }
.ratings-entry-copy { min-width: 0; }
.ratings-entry-copy h3 { margin: 0 0 .35rem; font-size: 1.15rem; line-height: 1.3; }
.ratings-entry-copy p { margin: .25rem 0; }
.ratings-summary { font-size: .9rem; line-height: 1.5; color: var(--color-text-soft); }
.ratings-meta, .ratings-read-more { font-size: .75rem; }
.ratings-meta { color: var(--color-text-soft); }
.ratings-read-more { display: block; margin-top: .4rem; color: var(--color-accent); }
.ratings-entry-score { display: grid; place-content: center; text-align: center; min-height: 84px; padding: .5rem; border-radius: .7rem; background: var(--color-accent-soft); color: var(--color-accent); font-size: 2rem; line-height: 1.1; white-space: nowrap; }
.ratings-method { max-width: 80ch; margin: 1.5rem 0 0; padding-top: 1.25rem; border-top: 1px solid var(--color-border); }
.ratings-method summary { cursor: pointer; font-size: 1rem; font-weight: 600; }
.ratings-method p { margin: .75rem 0; font-size: .95rem; color: var(--color-text-soft); }

/* The aggregate is a hub seal; every original source remains attributed. */
.article--ranking { grid-template-columns: minmax(0,1fr); }
.article--ranking .article-content { min-width: 0; }
.rating-details { padding: 1.25rem; margin: 1.5rem 0; border: 1px solid var(--color-border); border-radius: 1rem; background: var(--color-panel); }
.rating-details h2 { scroll-margin-top: calc(var(--nav-height) + 1rem); font-size: 1.5rem; line-height: 1.25; margin: .4rem 0 .65rem; }
.rating-overview { display: grid; grid-template-columns: minmax(0,1fr) 140px; gap: 1.25rem; align-items: center; }
.rating-overview .eyebrow { margin: 0; font-size: .7rem; }
.rating-overview-meta { margin: 0; font-size: .85rem; font-weight: 600; }
.rating-overview-date { margin: .35rem 0 0; font-size: .75rem; color: var(--color-text-soft); }
.rating-seal { display: grid; place-content: center; justify-items: center; gap: .35rem; width: 140px; min-height: 112px; border-radius: 1rem; color: var(--color-accent); background: var(--color-accent-soft); border: 1px solid color-mix(in srgb, var(--color-accent) 25%, var(--color-border)); }
.rating-seal .rating-score { margin: 0; font-size: 3rem; line-height: 1; letter-spacing: -.055em; font-weight: 750; font-variant-numeric: tabular-nums; }
.rating-seal-scale { font-size: .75rem; color: var(--color-text-soft); }
.rating-disclosure { margin: 1.25rem 0; padding-left: .8rem; border-left: 2px solid var(--color-accent); color: var(--color-text-soft); font-size: .85rem; line-height: 1.5; }
.rating-details > p { font-size: .85rem; }
.rating-sources-heading { margin: 1rem 0 .65rem; font-size: 1rem; }
.rating-source-list { display: grid; gap: .75rem; padding: 0; margin: 0; list-style: none; }
.rating-source-card { padding: .8rem; border: 1px solid var(--color-border); border-radius: .65rem; }
.rating-source-header { display: flex; justify-content: space-between; align-items: center; gap: .75rem; }
.rating-source-brand { display: inline-flex; align-items: center; gap: .6rem; min-width: 0; color: var(--color-text); }
.rating-source-brand strong { display: block; font-size: .9rem; }
.rating-source-brand small { display: block; font-size: .7rem; color: var(--color-text-soft); }
.rating-source-icon { display: grid; place-items: center; flex: 0 0 40px; width: 40px; height: 40px; padding: 4px; border-radius: .55rem; background: #fff; overflow: hidden; }
.rating-source-icon img { width: 32px; height: 32px; object-fit: contain; }
.rating-source-icon--metacritic { background: #111; }
.rating-source-icon--initials { color: #6735c6; font-size: .85rem; font-weight: 800; }
.rating-source-score { display: flex; align-items: center; gap: .5rem; flex-shrink: 0; white-space: nowrap; }
.rating-source-score > span { font-size: .8rem; color: var(--color-text-soft); }
.rating-source-score strong { font-size: 1.4rem; color: var(--color-accent); }
.rating-source-score strong small { display: block; text-align: right; font-size: .6rem; color: var(--color-text-soft); font-weight: 400; }
.rating-source-meter { height: 3px; margin: .75rem 0 .5rem; overflow: hidden; border-radius: 3px; background: var(--color-border); }
.rating-source-meter span { display: block; height: 100%; border-radius: inherit; background: var(--color-accent); }
.rating-source-context { margin: 0; font-size: .7rem; line-height: 1.4; color: var(--color-text-soft); overflow-wrap: anywhere; }
.rating-source-provisional { color: var(--color-accent); }
.rating-details details { margin-top: 1rem; font-size: .85rem; }
.rating-details summary { cursor: pointer; font-weight: 600; }
@media (prefers-color-scheme: dark) {
  body.page-ratings { color-scheme: dark; --color-bg: #151b24; --color-panel: #202834; --color-surface: #202834; --color-surface-strong: #202834; --color-text: #edf1f8; --color-text-soft: #b4bfd0; --color-text-faint: #b4bfd0; --color-border: #3b4759; --color-accent: #c0a1ff; --color-accent-soft: #302746; --color-anime: #c3a3ff; --color-manga: #f59bc6; --color-webtoon: #90baff; --color-vgames: #73dae2; --color-comics: #f1c574; --color-events: #87d6a4; }
}
@media (max-width: 600px) {
  .page-ratings .news-section { padding-top: .8rem; }
  .ratings-header { margin-bottom: .6rem; }
  .ratings-intro, .ratings-summary, .ratings-meta, .ratings-read-more { display: none; }
  .ratings-header h1 { font-size: 1.75rem; }
  .ratings-method-link { font-size: .7rem; }
  .ratings-filters { margin-block: .6rem .85rem; gap: .5rem; }
  .ratings-filter { gap: .35rem; }
  .ratings-filters select { min-height: 40px; font-size: .8rem; }
  .ratings-results-heading h2 { font-size: 1rem; }
  .ratings-list { gap: .5rem; }
  .ratings-entry-link { grid-template-columns: 80px minmax(0,1fr) 65px; gap: .6rem; padding: .55rem; }
  .ratings-entry-copy h3 { margin: 0; font-size: .95rem; }
  .ratings-thumbnail { aspect-ratio: 1; }
  .ratings-position { inset: .2rem auto auto .2rem; min-width: 25px; min-height: 23px; font-size: .7rem; }
  .ratings-entry-score { min-height: 60px; padding: .35rem; font-size: 1.5rem; }
  .rating-details { padding: 1rem; }
  .rating-overview { grid-template-columns: minmax(0,1fr) 104px; gap: .6rem; }
  .rating-details h2 { font-size: 1.15rem; }
  .rating-overview-meta, .rating-overview-date { font-size: .7rem; }
  .rating-seal { width: 104px; min-height: 92px; border-radius: .8rem; }
  .rating-seal .rating-score { font-size: 2.4rem; }
  .rating-seal-scale { font-size: .7rem; }
  .rating-source-header { flex-wrap: wrap; }
  .rating-source-score { margin-left: auto; }
}

/* The calendar preview keeps a white surface and the established category hues. */
.calendar-highlights { --color-panel:#fff; --color-border:#d9dfe8; --color-text-soft:#536176; --color-accent:#713cd6; background:#fff; color:#182338; border-color:#d9dfe8; }
.calendar-highlights h2 { color:#182338; }
.calendar-highlights__list li { --calendar-kind-color:#32724a; }
.calendar-highlights__list [data-calendar-kind="anime"] { --calendar-kind-color:#7438d2; }
.calendar-highlights__list [data-calendar-kind="manga"] { --calendar-kind-color:#b62e6f; }
.calendar-highlights__list [data-calendar-kind="webtoon"] { --calendar-kind-color:#316bb4; }
.calendar-highlights__list [data-calendar-kind="videojuego"] { --calendar-kind-color:#087a84; }
.calendar-highlights__list [data-calendar-kind="comic"] { --calendar-kind-color:#986009; }
.calendar-highlights__date { color:var(--calendar-kind-color); background:color-mix(in srgb,var(--calendar-kind-color) 10%,#fff); }
.calendar-highlights__copy strong { color:#182338; }
.calendar-highlights__copy > .calendar-highlights__kind { color:var(--calendar-kind-color); font-weight:700; }
.calendar-highlights__cta { color:#182338; background:#f2f4f8; }
.calendar-highlights__cta > span { color:#713cd6; }
.calendar-highlights a:focus-visible { outline:2px solid #713cd6; outline-offset:3px; }

.platform-badge { display:inline-flex; align-items:center; gap:.5rem; }
.platform-icon { display:inline-grid; place-items:center; flex:0 0 32px; width:32px; height:32px; border-radius:50%; color:#fff; background:#242936; }
.platform-icon svg { width:20px; height:20px; }
.platform-icon--netflix { background:#111; color:#e50914; }
.platform-icon--crunchyroll { background:#e95716; }
.platform-icon--xbox { background:#107c10; }
.platform-icon--nintendoswitch { background:#e60012; }
.platform-icon--playstation { background:#003791; }
.ranking-platforms { display:flex; flex-wrap:wrap; gap:.5rem; margin:.7rem 0; }
.ranking-platforms a,.ranking-platforms__label { display:inline-flex; align-items:center; gap:.5rem; padding:.35rem .65rem; border:1px solid var(--color-border); border-radius:2rem; color:var(--color-text); text-decoration:none; }
.ranking-platforms a:hover { background:var(--color-accent-soft); }
.ranking-platforms a:focus-visible { outline:3px solid var(--color-accent); outline-offset:2px; }
.ratings-entry > .ranking-platforms { padding:0 .85rem .6rem; margin:0; }
@media(max-width:600px) { .ratings-filters { flex-wrap:wrap; } .ratings-entry > .ranking-platforms { padding:0 .55rem .55rem; } .ratings-entry .platform-icon { width:26px; height:26px; flex-basis:26px; } .ratings-entry .platform-icon svg { width:17px; height:17px; } }

.ratings-platform-control { display:flex; align-items:center; gap:.5rem; }

.platform-icon--primevideo { background:#00a8e1; color:#111; }
.platform-icon--appletv { background:#111; }
.platform-icon--webtoon { background:#00dc64; color:#111; }

.platform-icon img { width:24px; height:24px; object-fit:contain; }
.platform-icon--disneyplus { background:#fff; }

.rating-source-brand > .platform-icon { width:44px; height:44px; flex-basis:44px; }
.rating-source-brand > .platform-icon svg { width:28px; height:28px; }

/* The native app owns primary navigation; keep only compact web search/categories. */
.app-mode .navbar { border-top:0; }
.app-mode .nav-inner { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:8px 16px; }
.app-mode .logo { margin-right:auto; }
.app-mode .logo-mark { width:32px; height:32px; object-fit:contain; }
.app-mode .logo-title { font-size:1.15rem; letter-spacing:-.03em; }
.app-mode .search-toggle,.app-mode .nav-toggle { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; color:var(--color-text); }
.app-mode .search-panel { display:none; }
.app-mode .search-panel.open { display:block; order:4; flex-basis:100%; }
.app-mode .menu { display:none !important; order:5; flex-basis:100%; }
.app-mode .menu.open { display:block !important; }
.app-mode .menu li:last-child { margin-left:0; }
.app-mode .site-footer__grid { display:block; }

/* The native calendar tab already provides context: prioritize the agenda. */
.app-mode.page-calendar .breadcrumbs { display:none; }
.app-mode.page-calendar .calendar-hero { padding-block:.75rem .5rem; }
.app-mode.page-calendar .calendar-hero__compact { flex-wrap:nowrap; gap:.75rem; }
.app-mode.page-calendar .calendar-hero__copy { flex:1 1 0; }
.app-mode.page-calendar .calendar-hero h1 { font-size:1.4rem; margin-bottom:.25rem; }
.app-mode.page-calendar .calendar-hero .section-description { font-size:.875rem; line-height:1.35; }
.app-mode.page-calendar .calendar-updated { margin-top:.25rem; font-size:.75rem; }
.app-mode.page-calendar .calendar-hero__compact > .button { flex:0 0 100px; padding:.5rem; text-align:center; }
.app-mode.page-calendar .calendar-filters__chips {
  display:flex; flex-wrap:nowrap; overflow-x:auto; padding-block:2px 4px;
  overscroll-behavior-x:contain; scrollbar-width:thin;
}
.app-mode.page-calendar .calendar-filter-chip { flex:0 0 auto; white-space:nowrap; }
.app-mode.page-calendar .calendar-filters__group legend { width:3.5rem; }
.app-mode.page-calendar .calendar-filters__chips { margin-left:3.5rem; }
.app-mode.page-calendar .calendar-filters__result { padding-top:.25rem; }

.page-calendar .calendar-filter-section > .container { width:min(1072px, 100%); padding-inline:1rem; margin-inline:auto; }
.app-mode.page-calendar .calendar-toolbar { position:sticky; top:0; z-index:25; align-self:start; background:var(--color-panel); padding-block:0; }
.app-mode.page-calendar .calendar-month-nav { grid-template-columns:44px minmax(0, 1fr) 44px; }
.app-mode.page-calendar .calendar-month-nav__link { justify-content:center; }
.app-mode.page-calendar .calendar-toolbar__inner { border-top:0; }
.app-mode.page-ratings .news-section { padding-top:.75rem; }
.app-mode.page-ratings .ratings-header { gap:.5rem; margin-bottom:.5rem; }
.app-mode.page-ratings .ratings-header .eyebrow { display:none; }
.app-mode.page-ratings .ratings-header h1 { font-size:1.4rem; }
.app-mode.page-ratings .ratings-intro { font-size:.8rem; line-height:1.35; margin-top:.25rem; }
.app-mode.page-ratings .ratings-method-link { font-size:.75rem; }
.app-mode.page-ratings .ratings-types a { min-height:44px; padding:.5rem .75rem; }
.app-mode.page-ratings .ratings-filters { display:grid; grid-template-columns:72px minmax(0,1fr); gap:.5rem; margin:.5rem 0 .75rem; }
.app-mode.page-ratings .ratings-filters:has(#ratings-season) { grid-template-columns:68px 108px minmax(0,1fr); }
.app-mode.page-ratings .ratings-filter { min-width:0; align-items:stretch; flex-direction:column; gap:.2rem; }
.app-mode.page-ratings .ratings-platform-control { display:block; width:100%; }
.app-mode.page-ratings .ratings-platform-control .platform-icon { display:none; }
.app-mode.page-ratings .ratings-filters select { width:100%; min-height:44px; padding-inline:.4rem; }
.app-mode.page-ratings .ratings-filters[data-auto-filter] button[type=submit] { display:none; }
.app-listing-error { margin:.5rem 1rem; padding:.5rem; border:1px solid var(--color-border); border-radius:6px; background:var(--color-panel); font-size:.875rem; }

/* Mobile reading density: remove stacked margins, retain readable text and touch targets. */
@media (max-width:799px) {
  .page-content { gap:1rem; }
  .section-header { gap:.5rem; margin-bottom:.75rem; }
  .editorial-front, .radar-layout { padding-block:.5rem 1rem; gap:1rem; }
  .radar-heading { padding-block:.75rem .5rem; }
  .radar-heading h1 { margin:.25rem 0; font-size:1.6rem; }
  .radar-tabs { margin-top:.5rem; gap:1rem; }
  .filter-tabs { margin-bottom:.5rem; }
  .hub-day { margin-block:1rem; }
  .hub-day__date { margin-block:0 .25rem; padding-bottom:.5rem; }
  .hub-feed { padding-bottom:1.5rem; }
  .card--hub { --thumbnail-width:96px; --thumbnail-gap:.75rem; padding-block:.75rem; }
  .card--hub .card-link { gap:.35rem; }
  .card--hub .card-title { font-size:1.05rem; line-height:1.35; margin-block:.25rem; }
  .card--hub .card-media, .card--hub .news-image-frame { aspect-ratio:4/3; }
  .card--hub .card-body { min-width:0; }
  .card--hub [data-reaction-news-id] { margin-top:.25rem; }
  .card--editorial-lead .card-link { gap:.5rem; }
  .card--editorial-lead .card-title { font-size:1.5rem; line-height:1.25; }
  .card--editorial-lead .card-lead-summary { line-height:1.5; }
  .calendar-highlights { padding:.75rem; }
  .calendar-highlights__list { margin-block:.5rem; }
  .editorial-secondary { margin-top:.75rem; }
  .search-results-form { margin-bottom:.75rem; }
  .search-results-count { margin-block:.75rem; }
  .page-article .article-shell--editorial { padding-block:.75rem 1.5rem; }
  .page-article .article--editorial { gap:1rem; }
  .page-article .breadcrumbs { margin-bottom:.5rem; }
  .page-article .article-header--editorial { gap:.5rem; }
  .page-article .article h1 { font-size:1.65rem; line-height:1.2; margin:0; }
  .page-article .article-header .article-meta { gap:.25rem .75rem; padding-block:.5rem; }
  .page-article .article-body { gap:.75rem; line-height:1.65; }
  .page-article .article-body > :is(p, ul, ol, blockquote) { margin-block:0; }
  .page-article :is(.hero-image, .article-image) { margin:0; }
  .page-article :is(.hero-image, .article-image) img { max-height:420px; object-fit:contain; }
  .page-article :is(.article-toc, .article-follow-topic, .article-availability) { padding:.75rem; }
  .page-article .article-toc { margin-bottom:.5rem; }
  .page-article .article-aftercare { gap:1rem; }
  .page-article .related-section { padding-top:1rem; }
  .page-article .news-grid--related { gap:.75rem; }
  .legal-page { padding-block:.75rem 1.5rem; }
  .legal-card.editorial-page { padding:1rem; gap:1rem; }
  .editorial-page__header, .editorial-page__section, .guide-hero, .guide-method { gap:.5rem; }
  .legal-card :is(h1, h2, p, ul) { margin-block:0; }
  .legal-card h1 { font-size:1.65rem; line-height:1.2; }
  .legal-lead { font-size:1rem; line-height:1.6; }
  .guide-page { gap:1rem; }
  .guide-method { padding:.75rem; }
  .trust-grid { gap:.75rem; }
  .trust-grid > * { padding:.75rem; }
  .site-footer--compact { padding-block:.75rem; }
  .page-calendar .calendar-feed__group { gap:.5rem; }
  .page-calendar .calendar-entry { padding-block:.75rem; }
  .ratings-list { gap:.5rem; }
  .app-mode.page-article .breadcrumbs { display:none; }
}
.app-mode .app-back-button { display:inline-flex; align-items:center; justify-content:center; flex:0 0 44px; width:44px; height:44px; padding:0; border:0; border-radius:6px; background:transparent; color:var(--color-text); cursor:pointer; }
.app-mode .app-back-button[hidden] { display:none; }
.app-mode .app-back-button:focus-visible { outline:2px solid var(--color-accent); }
@media(max-width:360px) { .app-mode .nav-inner { gap:4px; padding-inline:12px; } .app-mode .logo-title { font-size:1.05rem; } }

/* Shared artwork controls keep the reading column focused on the headline. */
.card-artwork { position: relative; min-width: 0; }
.card-artwork { grid-column: 1; grid-row: 1; align-self: start; }
.card--editorial-lead .card-artwork { order: 2; align-self: stretch; width: 100%; }
.card-artwork .card-image-link { margin: 0; }
.card .card-artwork .reaction-controls { position: absolute; right: .35rem; bottom: .35rem; z-index: 2; margin: 0; }
.card .reaction-controls--compact .reaction-toggle { min-height: 44px; padding: .25rem .5rem; border-radius: .5rem; background: #151b24e8; color: #fff; gap: .25rem; }
.card .reaction-controls--compact .reaction-toggle[aria-pressed="true"] { color: #ffc2da; }
.reaction-controls--compact .reaction-label { display: none; }
.card .reaction-status:empty { display: none; }
.card .reaction-status:not(:empty) { position: absolute; right: 0; top: 100%; width: min(230px, 75vw); padding: .5rem; background: var(--color-panel); border: 1px solid var(--color-border); z-index: 3; }
.page-article .sources { display: flex; flex-wrap: wrap; gap: .4rem .75rem; }
.page-article .sources li { border: 0; padding: 0; }
.page-article .sources a { font-size: .85rem; padding: .2rem .65rem; border: 1px solid var(--color-border); border-radius: .5rem; }
.rating-source-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
.rating-source-card { min-width: 0; padding: .65rem; }
.rating-source-header { flex-wrap: wrap; gap: .4rem; }
.rating-source-score { margin-left: auto; }
.rating-source-score strong { font-size: 1.15rem; }
.rating-source-meter { margin-block: .5rem .35rem; }
.rating-source-context { margin-block: .35rem 0; font-size: .7rem; }
.ranking-method-fallback { padding-block: .5rem 1rem; }
.ranking-method-fallback .ratings-method { max-width: 80ch; margin: 0; border: 0; padding: 0; }
.ranking-method-dialog { width: min(680px, calc(100vw - 2rem)); max-height: calc(100dvh - 2rem); box-sizing: border-box; padding: 1.25rem; border: 1px solid var(--color-border); border-radius: .8rem; background: var(--color-panel); color: var(--color-text); }
.ranking-method-dialog::backdrop { background: #101420b3; }
.ranking-method-dialog h2 { font-size: 1.25rem; margin: 0 0 1rem; }
.ranking-method-dialog p { font-size: .95rem; line-height: 1.6; }
.ranking-method-close { float: right; min-width: 44px; min-height: 44px; margin-left: .5rem; border: 1px solid var(--color-border); border-radius: .4rem; background: var(--color-bg); color: var(--color-text); cursor: pointer; }
@media (max-width: 799px) {
  .card--hub, .card--radar, .editorial-front__aside .card--editorial-secondary { --thumbnail-width: 128px; grid-template-columns: 128px minmax(0, 1fr); gap: .65rem; padding-block: .6rem; }
  .card--hub .card-link, .card--radar .card-link, .editorial-front__aside .card--editorial-secondary .card-link { gap: .2rem; }
  .card--hub .card-title, .card--radar .card-title { font-size: 1rem; line-height: 1.3; margin: .15rem 0; }
  .card .card-source { display: none; }
  .card .card-details { gap: .2rem; }
  .card--hub .news-image-frame, .card--radar .news-image-frame, .editorial-front__aside .card--editorial-secondary .news-image-frame { aspect-ratio: 1; }
}
@media (max-width: 600px) { .rating-source-list { grid-template-columns: minmax(0, 1fr); }.rating-source-header { flex-wrap: nowrap; }.ratings-entry-link { grid-template-columns: 96px minmax(0,1fr) 60px; gap: .5rem; } }
@media (max-width: 359px) { .card--hub, .card--radar, .editorial-front__aside .card--editorial-secondary { --thumbnail-width: 112px; grid-template-columns: 112px minmax(0, 1fr); } }
@media (max-width: 799px) {
  .page-article .related-section .card { display: grid; grid-template-columns: 128px minmax(0,1fr); gap: .65rem; padding: .5rem; }
  .page-article .related-section .card-body { padding: 0; }
  .page-article .related-section .card-link { gap: .25rem; }
  .page-article .related-section .card-title { font-size: 1rem; line-height: 1.3; margin: 0; }
  .page-article .related-section .news-image-frame { aspect-ratio: 1; }
  .page-article .news-grid--related { gap: .5rem; }
}
@media (max-width: 359px) { .page-article .related-section .card { grid-template-columns: 112px minmax(0,1fr); } }
.ranking-method-fallback[hidden] { display: none; }
