/* FicRoot hubs share the public site's violet identity and spotlight canvas. */
body.reference-home.home-hubs{
  --hub-accent:#c7afff;--hub-rgb:199 175 255;--hub-gold:#e6c184;--hub-surface:#15131d;
  background:radial-gradient(ellipse at 70% 0,rgb(var(--hub-rgb)/.045),transparent 38%),var(--home-bg)
}
body.reference-home.home-hubs>.simple-header>nav :is(a.active,a[aria-current="page"]){color:var(--hub-accent);background:linear-gradient(135deg,rgb(var(--hub-rgb)/.16),rgb(var(--hub-rgb)/.07));border-color:rgb(var(--hub-rgb)/.32)}
body.reference-home.home-hubs>.simple-header>nav a:hover{color:var(--hub-accent);background:rgb(var(--hub-rgb)/.09)}
body.reference-home.home-hubs>#mobile-nav :is(a:hover,a[aria-current="page"]){color:var(--hub-accent);background:rgb(var(--hub-rgb)/.1)}
body.reference-home.home-hubs>.simple-header :is(a,button,summary):focus-visible,body.reference-home.home-hubs>#mobile-nav a:focus-visible{outline-color:var(--hub-accent)}
.home-hubs :is(a,button,input):focus-visible{outline-color:var(--hub-accent);outline-offset:4px}
.home-hubs .home-text-link:hover{color:var(--hub-accent)}
.home-hubs .home-live-dot{background:var(--hub-accent);box-shadow:0 0 12px rgb(var(--hub-rgb)/.4)}

/* Keep the introduction compact so the stories remain the first feature. */
.home-hubs .hub-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px 30px;padding:26px 0 23px}
.home-hubs .hub-heading{min-width:0}
.home-hubs .hub-intro .home-eyebrow,.home-hubs .hub-eyebrow{margin:0 0 9px;color:var(--hub-accent);font-size:9px;font-weight:700;letter-spacing:1.7px;text-transform:uppercase}
.home-hubs .hub-intro h1{margin:0;font:700 clamp(28px,2.7vw,40px)/1.1 var(--home-display);letter-spacing:-1.2px;text-wrap:balance}
.home-hubs .hub-intro h1 span{color:var(--hub-accent)}
.home-hubs[data-hub=fanfic] .hub-intro h1 span{color:var(--hub-gold)}
.home-hubs .hub-description{max-width:640px;margin:11px 0 0;color:var(--home-muted);font-size:12px;line-height:1.7;text-wrap:pretty}
.home-hubs .hub-header-tools{display:flex;align-items:center;min-width:0}
.home-hubs .hub-header-tools .home-search{width:300px;min-height:46px;background:#ffffff03;border-color:rgb(var(--hub-rgb)/.19);border-radius:11px}
.home-hubs .hub-header-tools .home-search:focus-within{border-color:rgb(var(--hub-rgb)/.62);box-shadow:0 0 0 3px rgb(var(--hub-rgb)/.07)}
.home-hubs .hub-header-tools input{font-size:12px}
.home-hubs .hub-status{margin:12px 0;color:var(--home-muted);font-size:12px}
.home-hubs .hub-status:empty{display:none}
.home-hubs .hub-status button{min-height:44px;margin-left:10px;padding:8px 13px;border:1px solid rgb(var(--hub-rgb)/.3);border-radius:8px;background:rgb(var(--hub-rgb)/.06);color:var(--hub-accent)}

/* A labelled text filter stays readable without artwork, icons or clipped labels. */
.home-hubs #fandom-hub{display:flex;flex-wrap:wrap;align-items:center;gap:9px 18px;margin:0 0 25px;padding:10px 0 16px;border-bottom:1px solid rgb(var(--hub-rgb)/.13)}
.home-hubs .genre-filter-title{flex:none;margin:0;color:#d7d0e4;font:600 12px/1.5 var(--home-sans);letter-spacing:.1px}
.home-hubs .genre-filters{display:flex;flex:1;flex-wrap:wrap;align-items:center;gap:6px;min-width:min(100%,610px);padding:3px;margin:-3px;overflow:visible}
.home-hubs .genre-filter{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:44px;min-height:44px;max-width:100%;padding:10px 13px;margin:0;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--home-muted);font:500 12px/1.4 var(--home-sans);white-space:nowrap;overflow:visible;text-overflow:clip;transition:background .18s,border-color .18s,color .18s,box-shadow .18s}
.home-hubs .genre-filter:hover{color:#eee6ff;background:rgb(var(--hub-rgb)/.06);border-color:rgb(var(--hub-rgb)/.16)}
.home-hubs .genre-filter[aria-pressed=true]{color:#f0e7ff;background:rgb(var(--hub-rgb)/.14);border-color:rgb(var(--hub-rgb)/.42);box-shadow:0 0 18px rgb(var(--hub-rgb)/.1),inset 0 1px #ffffff08}

/* Preserve the established one-large/two-stacked spotlight layout from home.css. */
.home-hubs #home-carousel{margin-top:0}
.home-hubs .home-carousel-controls .home-icon-button{width:44px;height:44px;min-width:44px}
.home-hubs .home-feature-select{min-height:44px}
.home-hubs .home-featured .home-pill.fanfiction-badge{color:#20172b;background:var(--hub-gold)}
.home-hubs #home-carousel :is(.home-advisory,.home-warnings){color:#c6bdd1}
.home-hubs #home-carousel .home-universe{color:rgb(var(--cover-accent,188 162 255))}
.home-hubs #home-carousel .home-pill.outline{color:rgb(var(--cover-accent,188 162 255));border-color:rgb(var(--cover-accent,188 162 255)/.4)}
.home-hubs #home-carousel .home-companion-art{outline-color:rgb(var(--cover-accent,188 162 255)/.34);box-shadow:0 8px 24px #0006,0 0 18px rgb(var(--cover-accent,188 162 255)/.09)}
.home-hubs #home-carousel .home-lead-art{outline:1px solid rgb(var(--cover-accent,188 162 255)/.22);outline-offset:-1px}
.home-hubs :is(.home-shelf,.home-queue){scrollbar-width:none}
.home-hubs :is(.home-shelf,.home-queue)::-webkit-scrollbar{display:none;width:0;height:0}
.home-hubs #hub-content{display:block;min-width:0}
.home-hubs .hub-section{margin:36px 0 0;min-width:0}
.home-hubs .hub-section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:0 0 18px}
.home-hubs .hub-section-heading>div:first-child{min-width:0}
.home-hubs .hub-section-heading h2{margin:0;font:700 clamp(25px,2.3vw,33px)/1.16 var(--home-display);letter-spacing:-.8px}
.home-hubs .hub-section-heading h2 span{color:var(--hub-accent)}
.home-hubs[data-hub=fanfic] [data-hub-section=top-fanfics] h2 span{color:var(--hub-gold)}
.home-hubs .hub-section-heading p{margin:7px 0 0;color:var(--home-muted);font-size:12px;line-height:1.6}
.home-hubs .hub-section-heading .home-eyebrow{margin:0 0 7px;color:var(--hub-accent);font-size:9px;letter-spacing:1.6px}
.home-hubs .hub-story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;min-width:0}

/* One full-width catalogue grid, with readable titles and modest cover sizes. */
.home-hubs :is(.fanfic-card,.original-card){position:relative;display:grid;grid-template-columns:96px minmax(0,1fr);align-content:start;gap:16px;min-width:0;padding:17px;border:1px solid rgb(var(--cover-accent,188 162 255)/.16);border-radius:14px;background:linear-gradient(140deg,rgb(var(--cover-accent,188 162 255)/.06),transparent 65%),var(--hub-surface);transition:border-color .22s,background .22s}
.home-hubs :is(.fanfic-cover,.original-cover){display:block;position:relative;align-self:start;width:100%;height:auto;aspect-ratio:2/3;overflow:hidden;border:1px solid rgb(var(--cover-accent,188 162 255)/.3);border-radius:7px;background:#25212c;box-shadow:0 8px 20px #0005,0 0 18px rgb(var(--cover-accent,188 162 255)/.07)}
.home-hubs :is(.fanfic-cover,.original-cover) img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s}
.home-hubs :is(.fanfic-cover,.original-cover)>.cover-fallback{display:grid;place-items:center;width:100%;height:100%;min-height:0;padding:12px;background:linear-gradient(145deg,rgb(var(--hub-rgb)/.15),#19151f);color:var(--hub-accent);font-size:13px;letter-spacing:1.3px;text-align:center}
.home-hubs :is(.fanfic-copy,.original-copy){min-width:0;display:flex;flex-direction:column;align-items:start;gap:6px}
.home-hubs .fanfic-universe,.home-hubs .original-copy>.home-eyebrow{max-width:100%;margin:0;color:rgb(var(--cover-accent,188 162 255));font-size:9px;font-weight:600;line-height:1.4;letter-spacing:.7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.home-hubs :is(.fanfic-card,.original-card) h3{width:100%;margin:0;font:700 17px/1.25 var(--home-display);letter-spacing:-.35px;white-space:normal;overflow-wrap:anywhere}
.home-hubs :is(.fanfic-card,.original-card) h3 a{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;white-space:normal}
.home-hubs .fanfic-author,.home-hubs .original-byline{max-width:100%;margin:0;color:var(--home-muted);font-size:10px;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.home-hubs .hook-tags{display:flex;flex-wrap:wrap;gap:5px;margin:3px 0 0;min-width:0}
.home-hubs .hook-tags span{display:block;max-width:100%;padding:3px 7px;border:1px solid rgb(var(--hub-rgb)/.18);border-radius:5px;background:rgb(var(--hub-rgb)/.045);color:var(--hub-accent);font-size:9px;line-height:1.45;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.home-hubs .fanfic-meta{display:flex;flex-wrap:wrap;gap:4px 8px;margin:3px 0 0;color:var(--home-muted);font-size:9px;line-height:1.6;white-space:normal}
.home-hubs .fanfic-meta :is(span,small){margin:0;color:inherit;font:inherit}
.home-hubs .fanfic-open{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;width:100%;margin-top:auto;padding-top:5px;color:var(--hub-accent);font-size:11px;font-weight:600}
.home-hubs .fanfic-open svg{width:17px;height:17px;transition:transform .2s}
.home-hubs .original-logline{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:3px 0 0;color:#c5bdcf;font-size:11px;line-height:1.6}
.home-hubs .original-meta{margin:4px 0 0;color:var(--home-muted);font-size:9px;line-height:1.6}
.home-hubs .original-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:22px}
.home-hubs .original-grid .original-card{display:block;padding:0;border:0;background:none;box-shadow:none}
.home-hubs .original-grid .original-copy{padding-top:13px;gap:8px}
.home-hubs .original-grid h3 a{-webkit-line-clamp:2}
.home-hubs .original-grid .original-logline{font-size:12px}
.home-hubs .hub-empty{grid-column:1/-1;min-width:0;margin:0;padding:27px;border:1px solid rgb(var(--hub-rgb)/.15);border-radius:14px;background:var(--hub-surface);color:var(--home-muted);font-size:13px;line-height:1.7}
.home-hubs .hub-empty h2,.home-hubs .hub-empty h3{margin:0 0 7px;color:var(--home-ink);font:700 23px/1.2 var(--home-display)}
.home-hubs .hub-empty p{margin:0}
.home-hubs .hub-empty :is(a,button){display:inline-flex;align-items:center;min-height:44px;margin-top:8px;color:var(--hub-accent);text-decoration:underline;text-underline-offset:4px}
.home-hubs .home-continue{margin-top:30px}
.home-hubs .home-latest{margin-top:42px}
.home-hubs .home-latest .home-section-heading .home-eyebrow{color:var(--hub-accent)}
.home-hubs .home-update{border-color:rgb(var(--cover-accent,188 162 255)/.16);background:linear-gradient(145deg,rgb(var(--cover-accent,188 162 255)/.075),transparent 65%),var(--hub-surface)}
.home-hubs .home-update-cover{outline:1px solid rgb(var(--cover-accent,188 162 255)/.3);outline-offset:-1px;box-shadow:0 8px 20px #0005,0 0 20px rgb(var(--cover-accent,188 162 255)/.07)}
.home-hubs .home-update-kind{color:rgb(var(--cover-accent,188 162 255))}
.home-hubs .home-update-chapter.is-latest{color:var(--hub-accent);border-color:rgb(var(--hub-rgb)/.2);background:rgb(var(--hub-rgb)/.04)}
.home-hubs .home-update-chapter.is-latest :is(.home-chapter-label,strong,time.is-recent){color:var(--hub-accent)}
.home-hubs .home-write{margin-top:38px}

@media(hover:hover){
  .home-hubs :is(.fanfic-card,.original-card):hover{border-color:rgb(var(--cover-accent,188 162 255)/.36);background:linear-gradient(140deg,rgb(var(--cover-accent,188 162 255)/.1),transparent 70%),var(--hub-surface)}
  .home-hubs .original-grid .original-card:hover{background:none}
  .home-hubs :is(.fanfic-cover,.original-cover):hover img{transform:scale(1.035)}
  .home-hubs .fanfic-card:hover .fanfic-open svg{transform:translateX(3px)}
  .home-hubs :is(.fanfic-card,.original-card) h3 a:hover{color:var(--hub-accent)}
}
@media(max-width:1150px){
  .home-hubs .hub-intro{column-gap:24px}
  .home-hubs .hub-header-tools .home-search{width:260px}
  .home-hubs .hub-story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-hubs .original-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
}
@media(max-width:800px){
  .home-hubs .hub-intro{grid-template-columns:minmax(0,1fr);padding:23px 0 19px;gap:15px}
  .home-hubs .hub-intro h1{font-size:33px;letter-spacing:-1px}
  .home-hubs .hub-description{margin-top:9px}
  .home-hubs .hub-header-tools{width:100%}
  .home-hubs .hub-header-tools .home-search{width:100%;min-height:44px}
  .home-hubs .hub-section{margin-top:29px}
  .home-hubs .hub-section-heading{gap:12px;margin-bottom:14px}
  .home-hubs .hub-section-heading h2{font-size:27px}
  .home-hubs .hub-story-grid{gap:12px}
  .home-hubs .original-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
  .home-hubs :is(.fanfic-card,.original-card){grid-template-columns:76px minmax(0,1fr);gap:12px;padding:14px}
  .home-hubs :is(.fanfic-card,.original-card) h3{font-size:16px}
}
@media(max-width:600px){
  .home-hubs .hub-intro{padding-top:20px}
  .home-hubs .hub-intro h1{font-size:30px}
  .home-hubs .hub-intro .home-eyebrow{font-size:8px;letter-spacing:1.4px;margin-bottom:8px}
  .home-hubs .hub-description{font-size:11px;line-height:1.6}
  .home-hubs #fandom-hub{margin-bottom:20px;gap:8px;padding-top:3px}
  .home-hubs .genre-filter-title{font-size:11px}
  .home-hubs .genre-filters{flex-basis:100%;gap:4px}
  .home-hubs .genre-filter{padding:10px 11px;font-size:11px}
  .home-hubs .hub-section-heading{align-items:center;flex-wrap:wrap}
  .home-hubs .hub-section-heading h2{font-size:25px;letter-spacing:-.6px}
  .home-hubs .hub-section-heading p{font-size:11px}
  .home-hubs .hub-story-grid{grid-template-columns:minmax(0,1fr);gap:12px}
  .home-hubs .original-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .home-hubs :is(.fanfic-card,.original-card){grid-template-columns:88px minmax(0,1fr);padding:15px;gap:15px}
  .home-hubs :is(.fanfic-card,.original-card) h3{font-size:17px}
  .home-hubs .fanfic-open{font-size:11px}
  .home-hubs .home-continue{margin-top:25px}
  .home-hubs .home-latest{margin-top:31px}
  .home-hubs #latest-updates>.home-update:only-child{grid-column:1/-1;display:grid;grid-template-columns:80px minmax(0,1fr);gap:16px;padding:16px}
  .home-hubs .home-update:only-child .home-update-cover{aspect-ratio:2/3;border-radius:7px}
  .home-hubs .home-update:only-child .home-update-copy{padding:0}
  .home-hubs .home-update:only-child .home-update-chapters{padding:0}
  .home-hubs .original-grid .original-card{padding:0}
  .home-hubs .original-grid .original-copy{padding-top:11px}
  .home-hubs .original-grid .original-logline{font-size:11px}
  .home-hubs .hub-empty{padding:20px;font-size:12px}
}
@media(max-width:370px){
  .home-hubs .hub-intro h1{font-size:27px}
  .home-hubs .hub-section-heading h2{font-size:23px}
  .home-hubs :is(.fanfic-card,.original-card){grid-template-columns:72px minmax(0,1fr);padding:12px;gap:12px}
  .home-hubs .original-grid .original-card{padding:0}
  .home-hubs :is(.fanfic-card,.original-card) h3{font-size:16px}
  .home-hubs .fanfic-universe{font-size:8px}
  .home-hubs .hook-tags span{font-size:8px;padding:3px 5px}
}
@media(prefers-reduced-motion:reduce){
  .home-hubs :is(.genre-filter,.fanfic-card,.original-card,.fanfic-cover img,.fanfic-open svg,.original-cover img){transition:none;transform:none!important}
}
@media(forced-colors:active){
  body.reference-home.home-hubs{--hub-accent:LinkText;--hub-gold:Highlight;--home-ink:CanvasText;--home-muted:CanvasText}
  .home-hubs :is(.genre-filter,.fanfic-card,.original-card,.hook-tags span,.original-cover){border-color:CanvasText}
  .home-hubs .genre-filter[aria-pressed=true]{outline:2px solid Highlight;outline-offset:-4px}
  .home-hubs :is(.home-universe,.home-pill.outline,.fanfic-universe,.home-update-kind){color:CanvasText}
  .home-hubs #home-carousel :is(.home-universe,.home-pill.outline){color:CanvasText}
}
