/* Denser home page and rating actions */
#viewHome .hero { --hero-backdrop-height: 600px; min-height: 600px; padding-bottom: 118px; }
#viewHome .home-stack { margin-top: -58px; }
.hero-description { display: grid; justify-items: start; gap: 7px; }
.hero-description > span { display: -webkit-box; max-height: 4.75em; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.hero.description-expanded { align-items: flex-start; padding-top: var(--hero-content-top, 150px); }
.hero.description-expanded .hero-description > span { display: block; max-height: none; overflow: visible; }
.hero-description button { padding: 0; border: 0; background: transparent; color: #ff858b; font-size: .68rem; font-weight: 850; cursor: pointer; }
.hero-description button:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
#viewHome .stats-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
#viewHome .home-stats { margin-top: 12px; }
#viewHome .home-stats .stat-card { min-height: 54px; padding: 10px 15px; border-radius: 999px; background: rgba(20,23,30,.72); }
#viewHome .home-stats .stat-card > .stat-icon { flex-basis: 32px; width: 32px; height: 32px; border-radius: 50%; }
#viewHome .home-stats .stat-card strong { font-size: 1.08rem; }
#viewHome .home-stats .stat-card > div > span { margin-top: 3px; font-size: .66rem; }
#homeDraws.is-empty { grid-template-columns: 1fr; }
#homeDraws.is-empty .empty-panel { min-height: 126px; grid-template-columns: 46px minmax(0,1fr); grid-template-rows: auto auto; align-content: center; align-items: center; justify-items: stretch; gap: 2px 14px; padding: 18px 22px; text-align: left; }
#homeDraws.is-empty .empty-panel > span { grid-row: 1 / 3; width: 46px; height: 46px; display: grid; place-items: center; border-radius: 12px; background: rgba(229,9,20,.09); color: #ff7d84; font-size: 1.45rem; }
#homeDraws.is-empty .empty-panel h2 { margin: 0; font-size: .92rem; }
#homeDraws.is-empty .empty-panel p { font-size: .68rem; }
.home-draw-section.is-empty .section-heading { margin-bottom: 10px; }
#viewHome .home-section-heading { align-items: flex-end; justify-content: flex-start; flex-wrap: wrap; gap: 11px 14px; }
.home-section-link { min-height: 31px; display: inline-flex; align-items: center; gap: 8px; margin-bottom: -1px; padding: 4px 5px 4px 11px; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; background: rgba(255,255,255,.065); color: #f3f4f6; font-size: .65rem; font-weight: 850; cursor: pointer; transition: border-color .18s, background .18s, transform .18s; }
.home-section-link b { width: 21px; height: 21px; display: grid; place-items: center; border-radius: 50%; background: var(--red); color: #fff; line-height: 1; transition: transform .18s; }
.home-section-link b svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.home-section-link:hover { border-color: rgba(255,255,255,.38); background: rgba(255,255,255,.12); transform: translateY(-1px); }
.home-section-link:hover b { transform: translateX(2px); }
.home-section-link:focus-visible, .poster-rail-control:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.poster-rail-shell { position: relative; min-width: 0; }
.poster-rail-shell::before, .poster-rail-shell::after { content: ""; position: absolute; z-index: 2; top: 0; bottom: 16px; width: 88px; opacity: 0; pointer-events: none; transition: opacity .18s; }
.poster-rail-shell::before { left: 0; background: linear-gradient(90deg, rgba(8,9,12,.94), transparent); }
.poster-rail-shell::after { right: 0; background: linear-gradient(90deg, transparent, rgba(8,9,12,.94)); }
.poster-rail-shell.has-previous::before { opacity: 1; }
.poster-rail-shell.has-next::after { opacity: 1; }
.poster-rail-control { position: absolute; z-index: 3; top: calc(50% - 8px); width: 44px; height: 44px; display: grid; place-items: center; padding: 0; border: 1px solid rgba(255,255,255,.38); border-radius: 50%; background: rgba(18,20,26,.92); color: #fff; box-shadow: 0 12px 34px rgba(0,0,0,.48); cursor: pointer; transform: translateY(-50%); backdrop-filter: blur(14px); transition: border-color .18s, background .18s, transform .18s; }
.poster-rail-control svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.poster-rail-previous { left: 13px; }
.poster-rail-next { right: 13px; }
.poster-rail-control:hover { border-color: rgba(255,255,255,.7); background: var(--red); transform: translateY(-50%) scale(1.06); }
.poster-rail-control[hidden] { display: none; }
.session-content { min-width: 0; display: flex; flex-direction: column; }
.session-my-rating { color: #d8d9dc !important; }
.session-my-rating strong { color: var(--gold); }
.session-note-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; padding-top: 9px; }
.session-note-actions .mini-button { min-height: 27px; padding: 5px 8px; font-size: .56rem; }
.session-note-actions .mini-button.primary { border-color: rgba(229,9,20,.38); background: rgba(229,9,20,.12); color: #ff9da2; }
.session-note-actions .mini-button.danger { border-color: rgba(248,113,113,.22); background: rgba(127,29,29,.16); color: #fca5a5; }
.session-note-actions .mini-button:hover { transform: translateY(-1px); }

@media (max-width: 820px) {
  #viewHome .hero { --hero-backdrop-height: 560px; min-height: 560px; padding: 135px 22px 98px; }
  #viewHome .home-stack { margin-top: -44px; }
  #viewHome .stats-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}

@media (max-width: 560px) {
  #viewHome .hero { --hero-backdrop-height: 520px; min-height: 520px; padding-bottom: 78px; }
  #viewHome .home-stack { margin-top: -32px; }
  #viewHome .stats-grid { grid-template-columns: 1fr; gap: 7px; }
  #viewHome .stat-card { gap: 10px; padding: 9px 13px; }
  #viewHome .stat-card > .stat-icon { width: 29px; height: 29px; flex-basis: 29px; }
  #viewHome .stat-icon svg { width: 15px; height: 15px; }
  #viewHome .stat-card strong { font-size: 1.05rem; }
  #viewHome .stat-card > div > span { font-size: .61rem; line-height: 1.25; }
  .hero-meta { display: grid; grid-template-columns: 1fr; width: min(100%, 360px); }
  .hero-schedule-date, .hero-schedule-location { width: 100%; min-height: 56px; }
  .hero-schedule-date time { margin-left: auto; }
  #homeDraws.is-empty .empty-panel { min-height: 112px; grid-template-columns: 38px minmax(0,1fr); gap: 2px 10px; padding: 15px; }
  #homeDraws.is-empty .empty-panel > span { width: 38px; height: 38px; font-size: 1.15rem; }
  .session-note-actions .mini-button { flex: 1 1 auto; }
  #viewHome .home-section-heading { gap: 9px; }
  .home-section-link { min-height: 29px; padding-left: 9px; font-size: .6rem; }
  .home-section-link b { width: 19px; height: 19px; }
  .poster-rail-control { width: 40px; height: 40px; }
  .poster-rail-previous { left: 8px; }
  .poster-rail-next { right: 8px; }
}
