:root { --sh-accent: #ff3d5a; --sh-panel: #151821; --sh-muted: #959cab; }
.storyhub-page .hero-section { display: none; }
.storyhub-page .site-main > .ct-container-full { padding-top: 0; }
.storyhub-reading-page .page-title, .storyhub-reading-page .entry-title { color: #fff; }

.sh-library { box-sizing: border-box; width: min(1296px,calc(100% - 32px)); max-width: 100%; margin: 0 auto; padding: 2.3rem 0 5rem; }
.sh-library__heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.sh-library__heading h2 { margin: .12rem 0 0; color: #fff; font-size: clamp(1.7rem,3vw,2.5rem); }
.sh-library__heading > a { color: #fff; text-decoration: none; }
.sh-eyebrow { color: var(--sh-accent); font-size: .7rem; font-weight: 800; letter-spacing: .18em; }
.sh-filters { display: flex; overflow-x: auto; gap: .5rem; margin: -.25rem 0 1.5rem; padding-bottom: .25rem; scrollbar-width: none; }
.sh-filters::-webkit-scrollbar { display: none; }
.sh-filters a { flex: 0 0 auto; border: 1px solid rgba(255,255,255,.12); border-radius: 999px; padding: .42rem .8rem; color: #b7bdc8; font-size: .78rem; text-decoration: none; background: #12151c; }
.sh-filters a:hover, .sh-filters a.is-active { border-color: var(--sh-accent); color: #fff; background: rgba(255,61,90,.14); }

.sh-story-list { border-top: 1px solid rgba(255,255,255,.1); }
.sh-story-row { border-bottom: 1px solid rgba(255,255,255,.08); }
.sh-story-row > a { display: grid; grid-template-columns: minmax(0,1fr) 250px 24px; align-items: center; gap: 1rem; padding: 1.25rem .35rem; color: inherit; text-decoration: none; transition: background .2s ease; }
.sh-story-row > a:hover { background: rgba(255,255,255,.025); }
.sh-story-row__copy { min-width: 0; }
.sh-story-row__copy small { color: var(--sh-accent); font-size: .68rem; font-weight: 800; }
.sh-story-row h3 { margin: .15rem 0 .3rem; color: #fff; font-size: 1.05rem; }
.sh-story-row__copy p { overflow: hidden; margin: 0; color: var(--sh-muted); font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.sh-story-row__meta { display: flex; justify-content: flex-end; gap: .8rem; color: var(--sh-muted); font-size: .7rem; white-space: nowrap; }
.sh-story-row__arrow { color: #fff; text-align: right; }
.sh-story-row > a:hover h3, .sh-story-row > a:hover .sh-story-row__arrow { color: var(--sh-accent); }
.sh-pagination { margin-top:2rem; }
.sh-pagination ul { display:flex; flex-wrap:wrap; justify-content:center; gap:.4rem; margin:0; padding:0; list-style:none; }
.sh-pagination .page-numbers { display:grid; min-width:38px; min-height:38px; place-items:center; border:1px solid rgba(255,255,255,.12); border-radius:7px; padding:.42rem .7rem; color:#d9dce3; text-decoration:none; background:#151821; }
.sh-pagination .page-numbers:hover, .sh-pagination .current { border-color:var(--sh-accent); color:#fff; background:var(--sh-accent); }
.sh-pagination .dots { border-color:transparent; background:transparent; }

.sh-home-lists { box-sizing: border-box; width: min(1296px,calc(100% - 32px)); max-width: 100%; margin: 0 auto; border-top: 1px solid rgba(255,255,255,.08); padding: 3.2rem 0 5rem; }
.sh-home-lists__heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.7rem; }
.sh-home-lists__heading h2 { margin: .15rem 0 0; color: #fff; font-size: clamp(1.8rem,3vw,2.6rem); }
.sh-home-lists__heading > a { color: #fff; font-size: .84rem; font-weight: 700; text-decoration: none; }
.sh-home-categories { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.sh-home-category { border: 1px solid rgba(255,255,255,.08); border-radius: 10px; padding: 1rem 1.15rem; background: #10131a; }
.sh-home-category > header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 1px solid rgba(255,255,255,.08); padding: 0 0 .8rem; }
.sh-home-category h3 { margin: 0; color: #fff; font-size: 1.15rem; }
.sh-home-category > header a { color: var(--sh-muted); font-size: .75rem; text-decoration: none; }
.sh-home-category ol { margin: 0; padding: 0; list-style: none; }
.sh-home-category li + li { border-top: 1px solid rgba(255,255,255,.06); }
.sh-home-category li > a { display: block; padding: .85rem 0; color: inherit; text-decoration: none; }
.sh-home-category li div { min-width: 0; }
.sh-home-category strong { display: block; overflow: hidden; color: #f5f6f8; text-overflow: ellipsis; white-space: nowrap; }
.sh-home-category small { display: block; margin-top: .18rem; color: var(--sh-muted); font-size: .67rem; }
.sh-home-category p { overflow: hidden; margin: .38rem 0 0; color: #9fa5b1; font-size: .75rem; line-height: 1.5; text-overflow: ellipsis; white-space: nowrap; }
.sh-home-category li > a:hover strong, .sh-home-category > header a:hover { color: var(--sh-accent); }

.sh-work-meta { display: flex; flex-wrap: wrap; align-content: start; gap: .5rem; margin-bottom: 2rem; }
.sh-work-meta span { border: 1px solid rgba(255,255,255,.1); border-radius: 99px; padding: .35rem .7rem; color: #cdd1d9; background: #171a22; }
.sh-reading { max-width: 760px; margin: 0 auto; color: #e2e4e9; font-size: clamp(1.05rem,2vw,1.18rem); line-height: 2; }
.sh-reading p { margin-bottom: 1.45em; }
.sh-reading .sh-scene-break { margin: 2rem 0; color: var(--sh-muted); letter-spacing: .8em; text-align: center; }
.sh-reading a.sh-reading-promo-inline { margin-left:.15em; color:#ff6480; font-size:.9em; font-weight:750; text-decoration:none; white-space:nowrap; }
.sh-reading a.sh-reading-promo-inline:hover { color:var(--sh-accent); text-decoration:underline; }

.sh-empty, .sh-notice { grid-column: 1/-1; border: 1px dashed rgba(255,255,255,.13); border-radius: 10px; padding: 2rem; color: var(--sh-muted); text-align: center; background: rgba(255,255,255,.025); }
.sh-notice--success { border-style: solid; color: #baf2ce; background: #163525; }
.sh-creator { display: grid; grid-template-columns: minmax(0,2fr) minmax(250px,1fr); gap: 1.5rem; }
.sh-creator section, .sh-creator aside { border: 1px solid rgba(255,255,255,.08); border-radius: 12px; padding: 1.4rem; background: var(--sh-panel); }
.sh-creator h2 { margin-top: 0; color: #fff; }
.sh-creator form { display: grid; gap: 1rem; }
.sh-creator label { display: grid; gap: .4rem; color: #e8eaf0; font-weight: 700; }
.sh-creator input, .sh-creator textarea, .sh-creator select { width: 100%; border: 1px solid #343945; border-radius: 7px; padding: .75rem; color: #fff; background: #0e1117; }
.sh-creator button { justify-self: start; border: 0; border-radius: 7px; padding: .75rem 1.2rem; color: #fff; font-weight: 800; background: var(--sh-accent); }
.sh-creator .sh-check { grid-template-columns: auto 1fr; }
.sh-creator .sh-check input { width: auto; }
.sh-creator ul { margin: 0; padding: 0; list-style: none; }
.sh-creator li { display: flex; justify-content: space-between; gap: .6rem; border-bottom: 1px solid rgba(255,255,255,.07); padding: .75rem 0; }
.sh-creator li a { color: #fff; }
.sh-creator li small { color: var(--sh-muted); }
.sh-points { display: flex; }

@media (max-width: 700px) {
  .sh-library { width: 100%; padding: 1.8rem 10px 4rem; }
  .sh-story-row > a { grid-template-columns: minmax(0,1fr) 18px; gap: .6rem; padding: 1rem .1rem; }
  .sh-story-row__meta { grid-column: 1; justify-content: flex-start; margin-top: .25rem; font-size: .64rem; }
  .sh-story-row__arrow { grid-column: 2; grid-row: 1/3; }
  .sh-story-row__copy p { display: -webkit-box; white-space: normal; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  .sh-home-lists { width: 100%; padding: 2.2rem 10px 4rem; }
  .sh-home-lists__heading { margin-bottom: 1.2rem; }
  .sh-home-categories { grid-template-columns: 1fr; }
  .sh-home-category { padding: .9rem 1rem; }
  .sh-work-meta { gap: .35rem; }
  .sh-work-meta span { padding: .25rem .5rem; font-size: .67rem; }
  .sh-reading { font-size: 1rem; line-height: 1.9; }
  .sh-pagination .page-numbers { min-width:36px; min-height:36px; padding:.35rem .6rem; font-size:.78rem; }
  .sh-creator { grid-template-columns: 1fr; }
}
