/* RAPTOR_PUBLIC_VISUAL_POLISH_V1
   Small visual repair only. No route rebuild, no MutationObserver, no data changes. */

/* Header/logo: remove the mismatched animated/boxed logo background without hiding the logo/text. */
header .brand .mark,
header .brand .logo,
header .brand-logo,
header .site-logo,
.site-header .brand .mark,
.site-header .brand .logo,
.rm-header .brand .mark,
.rm-header .brand .logo,
.topbar .brand .mark,
.topbar .brand .logo,
.navbar .brand .mark,
.navbar .brand .logo {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  animation: none !important;
  border-color: transparent !important;
}

header .brand .mark::before,
header .brand .mark::after,
header .brand .logo::before,
header .brand .logo::after,
.site-header .brand .mark::before,
.site-header .brand .mark::after,
.site-header .brand .logo::before,
.site-header .brand .logo::after {
  display: none !important;
  content: none !important;
}

/* Keep header backgrounds consistent instead of random separate shaded strips. */
header,
.site-header,
.rm-header,
.topbar,
.navbar {
  background-color: rgba(7, 9, 20, 0.92) !important;
  background-image: none !important;
  backdrop-filter: blur(18px);
}

/* Genre heading readability. */
.genre-hero,
.genres-hero,
.page-hero,
.hero {
  color: #f8fafc;
}

.genre-hero .eyebrow,
.genres-hero .eyebrow,
.page-hero .eyebrow,
.hero .eyebrow,
.genre-kicker,
.page-kicker,
.section-kicker {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  letter-spacing: .08em !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  color: #a5b4fc !important;
  text-transform: uppercase !important;
  text-shadow: none !important;
}

/* Hide any remaining "Discovery upgraded" if it is hard-rendered somewhere old. */
[data-label="Discovery upgraded"],
[data-title="Discovery upgraded"] {
  display: none !important;
}

/* Genre page: restore a more designed card feel instead of flat block tiles. */
.genre-grid,
.genres-grid,
#genresGrid,
.raptor-genre-grid,
.genre-list {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)) !important;
  gap: 16px !important;
  align-items: stretch !important;
}

.genre-card,
.raptor-genre-card,
a[href^="/genre/"],
a[href^="/genres/"].genre-card {
  position: relative !important;
  overflow: hidden !important;
  border-radius: 24px !important;
  border: 1px solid rgba(148, 163, 184, .18) !important;
  background:
    radial-gradient(circle at top left, rgba(139, 92, 246, .22), transparent 38%),
    linear-gradient(180deg, rgba(18, 24, 46, .94), rgba(9, 13, 28, .96)) !important;
  box-shadow: 0 18px 45px rgba(0, 0, 0, .22) !important;
  padding: 18px !important;
  min-height: 116px !important;
  color: #f8fafc !important;
  text-decoration: none !important;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease !important;
}

.genre-card:hover,
.raptor-genre-card:hover,
a[href^="/genre/"]:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(129, 140, 248, .42) !important;
  box-shadow: 0 22px 60px rgba(0, 0, 0, .32) !important;
}

.raptor-genre-icon,
.genre-icon {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  border-radius: 16px !important;
  display: inline-grid !important;
  place-items: center !important;
  margin: 0 0 12px 0 !important;
  background: rgba(99, 102, 241, .15) !important;
  border: 1px solid rgba(129, 140, 248, .22) !important;
  font-size: 22px !important;
  line-height: 1 !important;
}

/* Defensive: if old JS creates more than one icon inside a genre card, show only the first. */
.genre-card .raptor-genre-icon ~ .raptor-genre-icon,
.raptor-genre-card .raptor-genre-icon ~ .raptor-genre-icon,
.genre-card .genre-icon ~ .genre-icon,
.raptor-genre-card .genre-icon ~ .genre-icon {
  display: none !important;
}

.genre-card h2,
.genre-card h3,
.genre-card strong,
.raptor-genre-card h2,
.raptor-genre-card h3,
.raptor-genre-card strong {
  color: #ffffff !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: -.01em !important;
}

.genre-card p,
.genre-card span,
.raptor-genre-card p,
.raptor-genre-card span {
  color: #cbd5e1;
}

/* Novels: stop background-only rendering if a service-level style accidentally hides content. */
.novel-shell,
.novel-wrap,
.novel-page,
.novel-grid,
.novel-card,
.novel-detail,
.novel-text,
.novel-summary,
main:has(.novel-card),
main:has(.novel-text) {
  opacity: 1 !important;
  visibility: visible !important;
  display: revert-layer;
  transform: none !important;
}

.novel-card,
.novel-detail,
.novel-form,
.novel-panel {
  background:
    radial-gradient(circle at top left, rgba(139, 92, 246, .16), transparent 36%),
    rgba(15, 23, 42, .86) !important;
  border: 1px solid rgba(148, 163, 184, .20) !important;
  color: #f8fafc !important;
}

.novel-text,
.novel-summary,
.novel-card p {
  color: #e2e8f0 !important;
}


/* RAPTOR_GENRES_PRO_V13_START */
.genre-v13-page{
  width:min(1180px, calc(100% - 32px));
  margin:0 auto;
  padding:34px 0 58px;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.genre-v13-hero{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 220px;
  gap:22px;
  align-items:stretch;
  padding:28px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:30px;
  background:
    radial-gradient(circle at 18% 0%, rgba(165,80,255,.24), transparent 34%),
    radial-gradient(circle at 85% 20%, rgba(255,71,123,.16), transparent 30%),
    linear-gradient(135deg, rgba(22,18,40,.96), rgba(9,8,18,.98));
  box-shadow:0 24px 70px rgba(0,0,0,.36);
  overflow:hidden;
}

.genre-v13-kicker{
  display:inline-flex;
  width:max-content;
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  color:#cdb8ff;
  background:rgba(255,255,255,.06);
  font-size:12px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.genre-v13-hero h1{
  margin:14px 0 10px;
  color:#fff;
  font-size:clamp(34px, 6vw, 70px);
  line-height:.94;
  letter-spacing:-.07em;
  font-weight:950;
}

.genre-v13-hero p{
  margin:0;
  max-width:760px;
  color:rgba(244,239,255,.78);
  font-size:16px;
  line-height:1.65;
}

.genre-v13-panel{
  min-height:160px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.13);
  background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.04));
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}

.genre-v13-panel strong{
  color:#fff;
  font-size:58px;
  line-height:1;
  letter-spacing:-.06em;
}

.genre-v13-panel span{
  margin-top:8px;
  color:rgba(255,255,255,.65);
  font-size:13px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.12em;
}

.genre-v13-selected{
  margin-top:18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:20px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:26px;
  background:rgba(255,255,255,.055);
}

.genre-v13-selected-icon{
  float:left;
  margin-right:14px;
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:20px;
  background:rgba(255,255,255,.10);
  font-size:30px;
}

.genre-v13-eyebrow{
  margin:0 0 3px;
  color:#b99cff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.genre-v13-selected h2{
  margin:0;
  color:#fff;
  font-size:28px;
  line-height:1.05;
}

.genre-v13-selected p:last-child{
  margin:5px 0 0;
  color:rgba(255,255,255,.68);
}

.genre-v13-primary{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 18px;
  border-radius:999px;
  color:#fff !important;
  text-decoration:none !important;
  font-weight:900;
  background:linear-gradient(135deg, #8b22ff, #ff477b);
  box-shadow:0 14px 32px rgba(139,34,255,.28);
}

.genre-v13-grid{
  margin-top:22px;
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:14px;
}

.genre-v13-card{
  min-height:170px;
  display:flex;
  flex-direction:column;
  gap:14px;
  padding:18px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.105);
  background:
    radial-gradient(circle at 22% 0%, rgba(139,34,255,.16), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.035));
  color:#fff !important;
  text-decoration:none !important;
  box-shadow:0 14px 36px rgba(0,0,0,.22);
  transition:transform .18s ease, border-color .18s ease, background .18s ease;
}

.genre-v13-card:hover,
.genre-v13-card.is-active{
  transform:translateY(-3px);
  border-color:rgba(192,151,255,.42);
  background:
    radial-gradient(circle at 22% 0%, rgba(139,34,255,.26), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,.105), rgba(255,255,255,.045));
}

.genre-v13-icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:rgba(255,255,255,.10);
  font-size:26px;
}

.genre-v13-copy{
  display:flex;
  flex-direction:column;
  gap:7px;
  min-width:0;
}

.genre-v13-copy strong{
  color:#fff;
  font-size:20px;
  line-height:1.05;
  letter-spacing:-.035em;
}

.genre-v13-copy small{
  color:rgba(245,241,255,.66);
  font-size:13px;
  line-height:1.45;
}

.genre-v13-card em{
  margin-top:auto;
  color:#d7c5ff;
  font-size:12px;
  font-style:normal;
  font-weight:950;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.site-footer a.brand,
.site-footer .brand,
.site-footer .footer-brand,
footer a.brand,
footer .brand,
footer .footer-brand,
footer a[href="/"]{
  background:transparent !important;
  background-color:transparent !important;
  box-shadow:none !important;
  text-decoration:none !important;
}

.site-footer a.brand:hover,
footer a.brand:hover,
footer a[href="/"]:hover{
  background:transparent !important;
  background-color:transparent !important;
}

.site-footer .brand-mark,
footer .brand-mark{
  background:linear-gradient(135deg, #8b22ff, #ff477b) !important;
}

@media (max-width: 980px){
  .genre-v13-hero{grid-template-columns:1fr;}
  .genre-v13-panel{min-height:112px;}
  .genre-v13-grid{grid-template-columns:repeat(2, minmax(0, 1fr));}
}

@media (max-width: 560px){
  .genre-v13-page{
    width:min(100% - 22px, 1180px);
    padding-top:20px;
  }
  .genre-v13-hero{
    padding:20px;
    border-radius:24px;
  }
  .genre-v13-hero h1{
    font-size:42px;
    letter-spacing:-.06em;
  }
  .genre-v13-hero p{
    font-size:14px;
  }
  .genre-v13-selected{
    align-items:flex-start;
    flex-direction:column;
  }
  .genre-v13-primary{
    width:100%;
  }
  .genre-v13-grid{
    grid-template-columns:1fr;
  }
  .genre-v13-card{
    min-height:132px;
  }
}
/* RAPTOR_GENRES_PRO_V13_END */

/* RAPTOR_EXISTING_LOGO_BACKGROUND_REPAIR_V15_START */
html, body {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
  scroll-behavior: auto !important;
}

header a:has(img[src*="logo"]),
footer a:has(img[src*="logo"]),
a:has(.logo),
a:has(.brand-mark),
a:has(.site-logo),
a:has(.footer-logo),
.brand,
.brand a,
.brand-link,
.logo-link,
.site-logo-link,
.footer-brand,
.footer-brand a,
.footer-logo-link {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

header a:has(img[src*="logo"]):hover,
header a:has(img[src*="logo"]):focus,
header a:has(img[src*="logo"]):active,
footer a:has(img[src*="logo"]):hover,
footer a:has(img[src*="logo"]):focus,
footer a:has(img[src*="logo"]):active,
.brand:hover,
.brand a:hover,
.brand a:focus,
.logo-link:hover,
.logo-link:focus,
.footer-brand a:hover,
.footer-brand a:focus {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}
/* RAPTOR_EXISTING_LOGO_BACKGROUND_REPAIR_V15_END */

/* RAPTOR_LOGO_BACKGROUND_REPAIR_V17_START */
a[href="/"].brand,
a[href="/"].site-brand,
a[href="/"].logo,
a[href="/"].logo-link,
a[href="/"].footer-brand,
header a[href="/"],
footer a[href="/"],
.site-header a[href="/"],
.site-footer a[href="/"],
.brand,
.brand:hover,
.brand:focus,
.logo,
.logo:hover,
.logo:focus,
.logo-link,
.logo-link:hover,
.logo-link:focus,
.footer-brand,
.footer-brand:hover,
.footer-brand:focus {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  outline: none !important;
}
a[href="/"] img,
.brand img,
.logo img,
.logo-link img,
.footer-brand img,
.site-footer img,
.site-header img {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}
/* RAPTOR_LOGO_BACKGROUND_REPAIR_V17_END */

/* RAPTOR_V22_GLOBAL_HEADER_LOGO_FONT_REPAIR_START */
html { scroll-behavior: auto !important; }
body, button, input, select, textarea {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
}
.site-header img, .site-footer img, .brand img, .logo img, .header-logo img, .footer-logo img, .footer-brand img, a[href="/"] img {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}
.site-header a[href="/"], .site-footer a[href="/"], .brand, .logo, .footer-brand, .header-logo, .footer-logo {
  background: transparent !important;
  box-shadow: none !important;
}
/* RAPTOR_V22_GLOBAL_HEADER_LOGO_FONT_REPAIR_END */

/* RAPTOR_GLOBAL_PUBLIC_REPAIR_V23_START */
html{scroll-behavior:auto!important}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
.site-header a[href="/"],
.site-footer a[href="/"],
.logo,
.logo *,
.brand,
.brand *,
.site-logo,
.site-logo *,
.footer-logo,
.footer-logo *,
.header-logo,
.header-logo *{
  background:transparent!important;
  background-color:transparent!important;
  box-shadow:none!important;
}
.logo img,
.brand img,
.site-logo img,
.footer-logo img,
.header-logo img,
.site-header a[href="/"] img,
.site-footer a[href="/"] img{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.site-header .nav a[href="/art"],
.site-header .nav a[href="/novels"],
.site-footer a[href="/art"],
.site-footer a[href="/novels"]{
  display:inline-flex!important;
}
/* RAPTOR_GLOBAL_PUBLIC_REPAIR_V23_END */
