/* Novel V2 home entry — isolated replacement for the retired Balance Game banner. */
.novel-home-entry-section { margin-top: 26px; margin-bottom: 30px; }
.novel-home-entry {
  --nhe-gold: #d9a748;
  position: relative; display: block; width: 100%; height: 218px;
  overflow: hidden; padding: 0; border: 1px solid rgba(202, 150, 61, .42);
  border-radius: 22px; color: #f9eed7; text-align: left; cursor: pointer;
  background:
    radial-gradient(ellipse 90% 130% at 8% 20%, rgba(118, 55, 19, .42), transparent 64%),
    linear-gradient(125deg, #2a170d 0%, #1b100a 56%, #0e0a08 100%);
  box-shadow: 0 18px 42px rgba(0, 0, 0, .28), inset 0 1px rgba(255, 225, 168, .06);
  -webkit-tap-highlight-color: transparent;
}
.novel-home-entry:focus-visible { outline: 2px solid #efbf62; outline-offset: 3px; }
.novel-home-entry:active { transform: scale(.995); }
.novel-home-entry-glow {
  position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(100deg, transparent 0 64%, rgba(241, 186, 83, .07) 65% 66%, transparent 67%);
}
.novel-home-entry-copy {
  position: absolute; z-index: 3; left: 24px; top: 25px; right: 160px; bottom: 20px;
  display: flex; flex-direction: column; align-items: flex-start;
}
.novel-home-entry-kicker,
.novel-home-cover-kicker {
  color: var(--nhe-gold); font-size: 9px; line-height: 1; font-weight: 800;
  letter-spacing: .18em; text-transform: uppercase;
}
.novel-home-entry-title {
  display: block; margin-top: 10px; color: #fff5e2;
  font-family: 'Nanum Myeongjo', 'Noto Serif KR', serif; font-size: 22px;
  line-height: 1.32; letter-spacing: -.045em; font-weight: 800;
}
.novel-home-entry-body {
  display: -webkit-box; margin-top: 8px; overflow: hidden; color: rgba(246, 225, 195, .72);
  font-size: 12px; line-height: 1.55; letter-spacing: -.02em;
  -webkit-line-clamp: 2; -webkit-box-orient: vertical;
}
.novel-home-entry-action {
  display: inline-flex; align-items: center; gap: 8px; margin-top: auto;
  color: #efbf62; font-size: 13px; line-height: 1; font-weight: 750;
}
.novel-home-entry-action b { font-size: 18px; font-weight: 400; transition: transform .18s ease; }
.novel-home-entry:hover .novel-home-entry-action b { transform: translateX(3px); }
.novel-home-entry-badge {
  position: absolute; z-index: 5; right: 18px; top: 14px; max-width: 116px;
  padding: 5px 8px 4px; border: 1px solid rgba(234, 183, 86, .44); border-radius: 999px;
  color: #f3c667; background: rgba(29, 17, 10, .76); backdrop-filter: blur(8px);
  font-size: 9px; line-height: 1; font-weight: 800; letter-spacing: .02em;
}
.novel-home-book {
  position: absolute; z-index: 2; width: 122px; height: 168px; right: 27px; bottom: -7px;
  transform: perspective(560px) rotateY(-8deg) rotateZ(2deg);
  filter: drop-shadow(-14px 14px 15px rgba(0, 0, 0, .44)); pointer-events: none;
}
.novel-home-book-edge {
  position: absolute; inset: 5px -7px 4px 8px; border-radius: 3px 10px 10px 3px;
  background: repeating-linear-gradient(90deg, #c8aa74 0 1px, #efe0bd 1px 3px);
}
.novel-home-book-face {
  position: absolute; inset: 0; overflow: hidden; border: 1px solid rgba(238, 192, 105, .66);
  border-radius: 5px 10px 10px 5px; background: #2c1711;
  box-shadow: inset 5px 0 10px rgba(0, 0, 0, .44);
}
.novel-home-cover-img,
.novel-home-cover-fallback { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 22%; }
.novel-home-cover-fallback {
  display: grid; place-items: center; color: rgba(243, 198, 103, .56);
  background: radial-gradient(circle at 65% 25%, #75432c 0, #28150e 58%, #100b08 100%);
  font-family: 'Nanum Myeongjo', serif; font-size: 48px; font-weight: 800;
}
.novel-home-cover-shade { position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(9, 5, 3, .05) 18%, rgba(8, 4, 3, .22) 48%, rgba(6, 3, 2, .91) 100%); }
.novel-home-cover-kicker { position: absolute; left: 12px; bottom: 50px; font-size: 7px; }
.novel-home-book-face strong {
  position: absolute; left: 12px; right: 10px; bottom: 14px; color: #fff6e8;
  font-family: 'Nanum Myeongjo', 'Noto Serif KR', serif; font-size: 15px;
  line-height: 1.3; letter-spacing: -.045em; text-shadow: 0 1px 6px #000;
}
@media (max-width: 390px) {
  .novel-home-entry { height: 210px; border-radius: 20px; }
  .novel-home-entry-copy { left: 20px; top: 23px; right: 142px; }
  .novel-home-entry-title { font-size: 20px; }
  .novel-home-entry-body { font-size: 11px; }
  .novel-home-book { right: 18px; width: 111px; height: 158px; }
  .novel-home-entry-badge { right: 13px; top: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .novel-home-entry, .novel-home-entry-action b { transition: none; }
}
