/* FRAME Home refresh — preserve real profile data, clickable statistics and poster art. */
.frame-home-heading{
 display:flex;align-items:center;justify-content:space-between;gap:16px;
 margin:0 0 16px;
}
.frame-home-heading .eyebrow{
 color:var(--accent);font-size:12px;font-weight:850;
 letter-spacing:2.1px;line-height:1.4;
}
.frame-home-heading>.secondary{flex:0 0 auto;min-height:36px}
.frame-home-heading+.hero{margin:0}
.frame-home-stats{margin:14px 0 22px;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.frame-home-stats .stat.frame-stat-button{
 position:relative;isolation:isolate;overflow:hidden;display:flex;
 flex-direction:row;align-items:center;justify-content:space-between;
 text-align:left;gap:6px;padding:16px 14px 16px 17px;min-height:135px;
 border-radius:16px;
}
.frame-home-stats .frame-stat-copy{
 flex:1 1 auto;min-width:0;position:relative;z-index:2;
 display:flex;flex-direction:column;align-items:flex-start;
}
.frame-home-stats .frame-stat-copy>strong{font-size:27px;line-height:1.05}
.frame-home-stats .frame-stat-copy>.frame-stat-label{font-size:13px;line-height:1.4;margin-top:7px;max-width:135px}
.frame-home-stats .frame-stat-cta{font-size:11px;margin-top:6px;color:var(--text)}
.frame-home-stats .frame-stat-posters{
 position:relative;display:block;flex:0 0 146px;width:146px;
 height:108px;pointer-events:none;
}
.frame-home-stats .frame-stat-poster{
 position:absolute;top:7px;left:calc(var(--stack-index) * 25px);
 width:67px;height:98px;overflow:hidden;border-radius:8px;
 border:1px solid color-mix(in srgb,var(--line) 55%,#fff 45%);
 background:var(--surface2);box-shadow:0 6px 13px #0007;
 transform-origin:center bottom;transition:transform .2s ease;
}
.frame-home-stats .frame-stat-poster img{
 display:block;width:100%;height:100%;object-fit:cover;
}
.frame-home-stats .frame-stat-poster:nth-child(1){transform:rotate(-11deg) translateY(5px)}
.frame-home-stats .frame-stat-poster:nth-child(2){transform:rotate(-4deg)}
.frame-home-stats .frame-stat-poster:nth-child(3){transform:rotate(5deg)}
.frame-home-stats .frame-stat-poster:nth-child(4){transform:rotate(12deg) translateY(5px)}
.frame-home-stats .frame-stat-posters[data-count="1"] .frame-stat-poster:nth-child(1){
 left:42px;transform:rotate(-5deg)
}
.frame-home-stats .frame-stat-posters[data-count="2"] .frame-stat-poster:nth-child(1){left:24px;transform:rotate(-8deg) translateY(4px)}
.frame-home-stats .frame-stat-posters[data-count="2"] .frame-stat-poster:nth-child(2){left:61px;transform:rotate(8deg) translateY(4px)}
.frame-home-stats .frame-stat-posters[data-count="3"] .frame-stat-poster:nth-child(1){left:12px;transform:rotate(-10deg) translateY(4px)}
.frame-home-stats .frame-stat-posters[data-count="3"] .frame-stat-poster:nth-child(2){left:43px;transform:rotate(0)}
.frame-home-stats .frame-stat-posters[data-count="3"] .frame-stat-poster:nth-child(3){left:74px;transform:rotate(10deg) translateY(4px)}
.frame-home-stats .frame-stat-button:hover .frame-stat-poster:nth-child(1){transform:rotate(-14deg) translateY(3px)}
.frame-home-stats .frame-stat-button:hover .frame-stat-poster:nth-child(4){transform:rotate(14deg) translateY(3px)}
.frame-home-stats .frame-stat-button:not(.has-poster-stack){min-height:135px}
.frame-home-stats .stat.frame-stat-button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.frame-continue-section{margin-top:25px!important}
.frame-continue-card:has(.frame-continue-progress) .frame-continue-progress{margin-top:0}
.frame-continue-card .frame-progress-empty{display:none}
/* Only the corner favorite star appears on poster hover. Detail view retains the other controls. */
.frame-card-quick{display:none!important}
@media(max-width:1450px){
 .frame-home-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .frame-home-stats .stat.frame-stat-button{min-height:130px}
}
@media(max-width:680px){
 .frame-home-heading{gap:9px;align-items:center}
 .frame-home-heading .eyebrow{font-size:11px;letter-spacing:1.25px}
 .frame-home-heading>.secondary{font-size:11px;padding:8px 10px}
 .frame-home-stats{gap:10px}
 .frame-home-stats .stat.frame-stat-button{min-height:145px;padding:12px;align-items:flex-start}
 .frame-home-stats .frame-stat-copy{align-self:flex-start;z-index:3}
 .frame-home-stats .frame-stat-copy>strong{font-size:23px}
 .frame-home-stats .frame-stat-copy>.frame-stat-label{font-size:12px}
 .frame-home-stats .frame-stat-posters{
   position:absolute;right:6px;bottom:5px;
   transform:scale(.72);transform-origin:right bottom;opacity:.92;
 }
}
@media(max-width:360px){
 .frame-home-stats .frame-stat-posters{transform:scale(.64)}
 .frame-home-stats .stat.frame-stat-button{min-height:140px}
 .frame-home-stats .frame-stat-copy>.frame-stat-label{max-width:100px}
}
@media(prefers-reduced-motion:reduce){
 .frame-home-stats .frame-stat-poster{transition:none}
}
body.frame-reduced-motion .frame-home-stats .frame-stat-poster{transition:none}

/* FRAME Home refinements + reusable scroll control visibility (October 2026).
   Older .stat span styles add margins to nested poster elements; reset them
   so the poster fans are truly vertically centered without changing their X. */
.frame-home-stats .frame-stat-posters,
.frame-home-stats .frame-stat-poster{margin:0}
.frame-home-stats .frame-stat-posters{align-self:center}
@media(max-width:680px){
 .frame-home-stats .frame-stat-posters{
  top:50%;bottom:auto;transform:translateY(-50%) scale(.72);
  transform-origin:right center;
 }
}
@media(max-width:360px){
 .frame-home-stats .frame-stat-posters{transform:translateY(-50%) scale(.64)}
}
/* The collapse affordance stays clickable and keyboard-focusable, without a
   permanent outlined box. Keyboard focus retains an accessibility indicator. */
.frame-collapse{border:0;background:transparent;box-shadow:none}
.frame-collapse:hover{border-color:transparent;background:var(--surface2)}
.frame-collapse:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
/* Common visibility rule for every horizontal rail, including future sections. */
button[data-scroll-target][hidden]{display:none!important}
/* Give the daily featured artwork prominence while keeping the title legible. */
.hero{min-height:290px;grid-template-columns:minmax(0,1.4fr) minmax(215px,.75fr)}
.hero-content{min-height:290px;padding-block:25px}
.hero-visual{min-height:290px;padding:14px 20px}
.hero-visual-image{max-height:260px;max-width:min(100%,190px)}
.hero-atmosphere{filter:blur(2px) saturate(1.03);opacity:.68}
.hero::after{
 background:linear-gradient(90deg,var(--surface) 0%,
  color-mix(in srgb,var(--surface) 94%,transparent) 38%,
  color-mix(in srgb,var(--surface) 20%,transparent) 100%);
}
@media(max-width:600px){
 .hero{min-height:0}
 .hero-content{min-height:0}
 .hero-visual{min-height:0;padding:18px 16px 0}
 .hero-visual-image{max-height:220px;max-width:min(100%,155px);width:auto}
 .hero::after{
  background:linear-gradient(0deg,var(--surface) 0%,
   color-mix(in srgb,var(--surface) 70%,transparent) 62%,
   color-mix(in srgb,var(--surface) 34%,transparent) 100%);
 }
}
