/* AnimeSaturn — browse area: archives / filter / A-Z / most viewed / schedule.
   Uses the --as-* tokens and shared classes from base.css. Selectors that carry
   legacy hooks (.filters, .dropdown, .btn …) are scoped under form.as-filter so
   they win over the old theme sheet without !important. */

/* ---------- page head ---------- */
.as-browse .as-crumbs{margin:0 0 14px;font-size:.8125rem;color:var(--as-ink-dim)}
.as-browse .as-crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;margin:0;padding:0;list-style:none}
.as-browse .as-crumbs li{display:inline-flex;align-items:center;gap:.375rem;min-width:0}
.as-browse .as-crumbs li+li::before{content:"\203A";color:var(--as-ink-dim);font-size:1rem;line-height:1}
.as-browse .as-crumbs a{color:var(--as-ink-mute);text-decoration:none}
.as-browse .as-crumbs a:hover{color:var(--as-brand)}
.as-browse .as-crumbs [aria-current]{color:var(--as-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60vw}

.as-browse__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:24px}
.as-browse__intro{min-width:0}
.as-browse__title{margin:0;font-family:Manrope,Inter,system-ui,sans-serif;font-weight:800;font-size:1.375rem;line-height:1.15;letter-spacing:-.02em;color:var(--as-ink)}
.as-browse__page{font-size:.6em;font-weight:700;color:var(--as-ink-dim);letter-spacing:0}
.as-browse__sub{margin:4px 0 0;font-size:.875rem;color:var(--as-ink-mute)}
.as-browse__count{margin:0;font-size:.875rem;color:var(--as-ink-mute);white-space:nowrap}
.as-browse__count strong{color:var(--as-brand);font-weight:700}
@media (min-width:768px){.as-browse__title{font-size:1.75rem}}

/* tabs (discovery lists) */
.as-browse .as-tabs{display:flex;flex-wrap:nowrap;gap:.25rem;margin:-8px 0 24px;border-bottom:1px solid var(--as-border);overflow-x:auto;scrollbar-width:none}
.as-browse .as-tabs::-webkit-scrollbar{display:none}
.as-browse .as-tabs.is-fade-end{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 40px),transparent)}
.as-browse .as-tabs.is-fade-start{-webkit-mask-image:linear-gradient(90deg,transparent,#000 40px);mask-image:linear-gradient(90deg,transparent,#000 40px)}
.as-browse .as-tabs.is-fade-start.is-fade-end{-webkit-mask-image:linear-gradient(90deg,transparent,#000 40px,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(90deg,transparent,#000 40px,#000 calc(100% - 40px),transparent)}
@media (max-width:479.98px){.as-browse .as-tab{padding:.625rem .625rem}}
.as-browse .as-tab{flex:0 0 auto;padding:.625rem .875rem;margin-bottom:-1px;border-bottom:2px solid transparent;color:var(--as-ink-mute);font-size:.875rem;font-weight:500;white-space:nowrap;text-decoration:none;transition:color .15s,border-color .15s}
.as-browse .as-tab:hover{color:var(--as-ink)}
.as-browse .as-tab.active{color:var(--as-brand);border-bottom-color:var(--as-brand);font-weight:600}

/* genre chips on genre archives */
.as-genre-strip{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 20px}
.as-genre-strip .as-chip{text-decoration:none}

/* ---------- A-Z letter strip ---------- */
.as-letters{margin:0 0 24px}
.as-letters__list{display:flex;flex-wrap:wrap;justify-content:center;gap:.375rem;margin:0;padding:.75rem;list-style:none;background:var(--as-soft);border:1px solid var(--as-border);border-radius:var(--as-r-lg)}
.as-letters .as-letter{display:inline-flex;align-items:center;justify-content:center;min-width:2.25rem;height:2.25rem;padding:0 .625rem;border-radius:var(--as-r-md);background:var(--as-elev);border:1px solid var(--as-border);color:var(--as-ink-mute);font-size:.8125rem;font-weight:700;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s}
.as-letters .as-letter:hover{background:var(--as-hover);color:var(--as-ink);border-color:var(--as-border-strong)}
.as-letters .as-letter.active{background:var(--as-brand);border-color:var(--as-brand);color:#fff}
.as-letters .as-letter:focus-visible{outline:none;box-shadow:0 0 0 3px var(--as-brand-ring)}

/* ---------- filter (collapsed on archives) ---------- */
.as-filter-toggle{margin:0 0 20px}
.as-filter-toggle>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;user-select:none}
.as-filter-toggle>summary::-webkit-details-marker{display:none}
.as-filter-toggle[open]>summary{margin-bottom:12px;border-color:var(--as-brand);color:var(--as-brand)}

/* ---------- filter panel ---------- */
form.as-filter{position:relative;margin:0 0 24px;padding:20px;background:var(--as-elev);border:1px solid var(--as-border);border-radius:var(--as-r-lg);box-shadow:0 1px 2px rgba(0,0,0,.04),0 8px 24px -8px rgba(134,61,186,.1);overflow:visible}
form.as-filter::after{content:none}
form.as-filter .as-filter__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (min-width:768px){form.as-filter .as-filter__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}}
form.as-filter .as-filter__field{position:relative;min-width:0}
form.as-filter .as-filter__label{display:block;margin:0 0 4px;font-size:.75rem;line-height:1.3;color:var(--as-ink-dim);text-transform:uppercase;letter-spacing:.05em;font-weight:500}

/* legacy .filter wrapper: neutralise the old float grid */
form.as-filter .filter{display:block;float:none;width:auto;margin:0;padding:0}
form.as-filter .dropdown{position:relative}

/* toggle looks like the reference's select */
form.as-filter .dropdown-toggle,
form.as-filter .dropdown-toggle.btn{display:flex;align-items:center;gap:.4rem;width:100%;height:2.5rem;margin:0;padding:0 .75rem 0 .875rem;background:var(--as-soft);border:1px solid var(--as-border);border-radius:var(--as-r-md);color:var(--as-ink);font:inherit;font-size:.875rem;font-weight:400;text-align:left;box-shadow:none;cursor:pointer;transition:border-color .15s,box-shadow .15s}
form.as-filter .dropdown-toggle::after{content:none;display:none}
form.as-filter .dropdown-toggle:hover{border-color:var(--as-border-strong)}
form.as-filter .dropdown-toggle:focus-visible,
form.as-filter .dropdown.show>.dropdown-toggle{outline:none;border-color:var(--as-brand);box-shadow:0 0 0 3px var(--as-brand-ring)}
form.as-filter .dropdown-toggle .value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* one chevron per control (markup <i.as-dd__chev>, rotates while open) */
form.as-filter .as-dd__chev{flex:0 0 auto;margin-left:auto;font-size:.75rem;color:var(--as-ink-dim);transition:transform .2s}
form.as-filter .dropdown.show .as-dd__chev{transform:rotate(180deg)}

/* menus */
form.as-filter .dropdown-menu{position:absolute;top:calc(100% + 4px);bottom:auto;left:0;right:auto;z-index:60;display:none;float:none;width:auto;min-width:100%;max-width:calc(100vw - 2rem);max-height:18rem;margin:0;padding:.5rem;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;list-style:none;background:var(--as-elev);border:1px solid var(--as-border);border-radius:var(--as-r-md);box-shadow:0 18px 40px -12px rgba(0,0,0,.45);color:var(--as-ink);font-size:.875rem;line-height:1.4;text-align:left}
form.as-filter .dropdown.show>.dropdown-menu{display:block}
form.as-filter .dropdown-menu::after{content:"";display:block;clear:both}
form.as-filter .dropdown-menu.lg{width:min(600px,calc(100vw - 2rem))!important}
form.as-filter .dropdown-menu.md{width:min(350px,calc(100vw - 2rem))!important}
form.as-filter .dropdown-menu li{float:left;width:100%;margin:0;padding:0;list-style:none}
form.as-filter .dropdown-menu.c2>li{width:50%}
form.as-filter .dropdown-menu.c3>li{width:33.3333%}
form.as-filter .dropdown-menu.c4>li{width:25%}
/* genre list is nested (main.js reads .dropdown-menu .genres input) */
form.as-filter .dropdown-menu>ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;margin:0;padding:0;list-style:none}
form.as-filter .as-filter__field .dropdown-menu>ul>li{float:none;width:auto}

form.as-filter .dropdown-menu li>input[type=checkbox],
form.as-filter .dropdown-menu li>input[type=radio]{position:absolute;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}
form.as-filter .dropdown-menu li>label{display:flex;align-items:center;gap:.5rem;margin:0;padding:.375rem .5rem;border-radius:var(--as-r-sm);color:var(--as-ink-mute);font-size:.875rem;font-weight:400;line-height:1.3;cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;transition:background-color .12s,color .12s}
form.as-filter .dropdown-menu li>label:hover{background:var(--as-hover);color:var(--as-ink)}
form.as-filter .dropdown-menu li>input+label::before{content:"";flex:0 0 16px;width:16px;height:16px;margin:0;border:1.5px solid var(--as-border-strong);border-radius:4px;background:transparent center/12px 12px no-repeat;font-family:inherit;transition:background-color .12s,border-color .12s}
form.as-filter .dropdown-menu li>input[type=radio]+label::before{border-radius:50%}
form.as-filter .dropdown-menu li>input:checked+label{color:var(--as-ink);font-weight:500}
form.as-filter .dropdown-menu li>input[type=checkbox]:checked+label::before{content:"";background-color:var(--as-brand);border-color:var(--as-brand);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>")}
form.as-filter .dropdown-menu li>input[type=radio]:checked+label::before{content:"";border-color:var(--as-brand);background:radial-gradient(circle,var(--as-brand) 0 4px,transparent 4.5px)}
form.as-filter .dropdown-menu li>input.exclude[type=checkbox]+label::before{content:"";color:inherit;border-color:#ef4444}
form.as-filter .dropdown-menu li>input.exclude[type=checkbox]:checked+label{color:#ef4444;text-decoration:line-through;text-decoration-thickness:1px}
form.as-filter .dropdown-menu li>input.exclude[type=checkbox]:checked+label::before{content:"";background-color:#ef4444;border-color:#ef4444;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round'><path d='M6 6l12 12M18 6L6 18'/></svg>")}
form.as-filter .dropdown-menu li>input:focus-visible+label{box-shadow:inset 0 0 0 2px var(--as-brand-ring)}

/* episode range + my-list menus */
form.as-filter .filter-ep-range-menu{min-width:240px}
form.as-filter .filter-ep-range-fields{float:none;display:flex;flex-direction:column;gap:.625rem;padding:.25rem}
form.as-filter .filter-ep-range-row{display:flex;flex-direction:column;gap:.25rem}
form.as-filter .filter-ep-range-row label{font-size:.75rem;color:var(--as-ink-dim);text-transform:uppercase;letter-spacing:.05em}
form.as-filter .filter-ep-range-hint{font-size:.75rem;color:var(--as-ink-dim)}
form.as-filter .filter-exclude-watchlist-dd .dropdown-menu{min-width:240px}
form.as-filter .as-filter__hint{display:none;padding:.375rem .5rem;font-size:.8125rem;color:var(--as-ink-dim);white-space:normal}
form.as-filter li[style*="none"]+.as-filter__hint{display:block}

/* inputs */
form.as-filter .as-input,
form.as-filter .as-input.form-control{display:block;width:100%;height:2.5rem;margin:0;padding:0 .875rem;background:var(--as-soft);border:1px solid var(--as-border);border-radius:var(--as-r-md);color:var(--as-ink);font:inherit;font-size:.875rem;box-shadow:none;transition:border-color .15s,box-shadow .15s}
form.as-filter .as-input::placeholder{color:var(--as-ink-dim);opacity:1}
form.as-filter .as-input:focus{outline:none;border-color:var(--as-brand);box-shadow:0 0 0 3px var(--as-brand-ring)}

/* search row */
form.as-filter .as-filter__search{margin-top:16px}
form.as-filter .as-filter__row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
form.as-filter .as-filter__kw{position:relative;flex:1 1 260px;min-width:0}
form.as-filter .as-filter__kw .as-input{padding-left:2.25rem}
form.as-filter .as-filter__kw-icon{position:absolute;left:.8rem;top:50%;transform:translateY(-50%);color:var(--as-ink-dim);pointer-events:none}
form.as-filter .as-filter__actions{display:flex;gap:.5rem;flex:0 0 auto;width:auto}
form.as-filter .as-filter__actions .as-btn{height:2.5rem;display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap}
@media (max-width:479.98px){
  form.as-filter{padding:20px 18px}
  form.as-filter .as-filter__actions{flex:1 1 100%}
}

/* phones: menus become a centred sheet (old .dropdown.responsive behaviour) */
@media (max-width:767.98px){
  form.as-filter .dropdown.responsive .dropdown-menu,
  form.as-filter .dropdown.responsive .dropdown-menu.lg,
  form.as-filter .dropdown.responsive .dropdown-menu.md{position:fixed;top:15vh;left:1rem;right:1rem;width:auto!important;min-width:0!important;max-width:none;height:auto!important;max-height:65vh!important;z-index:1050;padding:.75rem;border-color:var(--as-border-strong)}
  form.as-filter .dropdown.responsive.show::before{content:"";position:fixed;inset:0;z-index:1049;background:rgba(5,4,10,.55)}
  form.as-filter .dropdown.responsive .dropdown-menu>li{width:50%}
  form.as-filter .dropdown.responsive .dropdown-menu.c1>li{width:100%}
  form.as-filter .dropdown-menu>ul{grid-template-columns:repeat(2,minmax(0,1fr))}
  form.as-filter .as-filter__field .dropdown.responsive .dropdown-menu>ul>li{width:auto}
}

/* ---------- ad + results bar ---------- */
.as-browse__ad{margin:0 0 24px}
.as-browse__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px}
.as-browse__range{font-size:.8125rem;color:var(--as-ink-dim)}
.as-modes{display:inline-flex;padding:3px;gap:2px;background:var(--as-soft);border:1px solid var(--as-border);border-radius:var(--as-r-md)}
.as-modes .mode{display:inline-flex;align-items:center;justify-content:center;width:32px;height:28px;padding:0;border:0;border-radius:var(--as-r-sm);background:transparent;color:var(--as-ink-dim);cursor:pointer;transition:background-color .15s,color .15s}
.as-modes .mode:hover{color:var(--as-ink)}
.as-modes .mode.active{background:var(--as-brand-soft);color:var(--as-brand)}
.as-modes .mode:focus-visible{outline:none;box-shadow:0 0 0 3px var(--as-brand-ring)}

/* display modes toggled by main.js (DisplayModes adds .mode2 / .mode2.mode3) */
#list-items.as-grid.mode2{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:12px}
#list-items.as-grid.mode2.mode3{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}
@media (max-width:479.98px){
  #list-items.as-grid.mode2{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  #list-items.as-grid.mode2.mode3{grid-template-columns:minmax(0,1fr);gap:16px}
}
.as-browse .as-empty{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;gap:12px;padding:48px 16px;text-align:center;color:var(--as-ink-mute)}
.as-browse .as-empty p{margin:0}

/* ---------- ranked list (most viewed) ---------- */
.as-podium{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin:0 0 40px}
@media (min-width:640px){.as-podium{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.as-podium{grid-template-columns:repeat(3,minmax(0,1fr))}}
.as-podium__card{position:relative;display:flex;gap:16px;padding:16px;overflow:hidden;border:1px solid var(--as-border);border-radius:var(--as-r-xl);color:var(--as-ink);text-decoration:none;transition:transform .2s,border-color .2s}
.as-podium__card--1{background:linear-gradient(135deg,rgba(245,158,11,.3),rgba(245,158,11,.1) 50%,transparent)}
.as-podium__card--2{background:linear-gradient(135deg,rgba(161,161,170,.3),rgba(161,161,170,.1) 50%,transparent)}
.as-podium__card--3{background:linear-gradient(135deg,rgba(194,65,12,.3),rgba(194,65,12,.1) 50%,transparent)}
.as-podium__card:hover{transform:translateY(-4px);border-color:var(--as-border-strong);color:var(--as-ink)}
.as-podium__num{position:absolute;top:8px;right:12px;font-family:Manrope,Inter,system-ui,sans-serif;font-size:3.5rem;font-weight:900;line-height:1;opacity:.25;pointer-events:none}
.as-podium__card--1 .as-podium__num{color:#fbbf24}
.as-podium__card--2 .as-podium__num{color:#d4d4d8}
.as-podium__card--3 .as-podium__num{color:#fb923c}
.as-podium__card img{flex:0 0 80px;width:80px;height:120px;object-fit:cover;border-radius:var(--as-r-sm);background:var(--as-soft);box-shadow:0 10px 24px -10px rgba(0,0,0,.6)}
.as-podium__body{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;flex:1}
.as-podium__body .as-badge{position:static}
.as-podium__title{margin-top:4px;font-weight:700;font-size:1rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color .15s}
.as-podium__card:hover .as-podium__title{color:var(--as-brand)}
.as-podium__meta{font-size:.75rem;color:var(--as-ink-mute)}
.as-podium__score{margin-top:4px;font-size:.8125rem;font-weight:700;color:#f59e0b}

.as-rank__head{margin:0 0 16px;font-size:1.0625rem}
.as-rank__list{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}
.as-rank__row{display:flex;align-items:center;gap:12px;padding:10px;background:var(--as-elev);border:1px solid var(--as-border);border-radius:var(--as-r-lg);color:var(--as-ink);text-decoration:none;box-shadow:0 1px 2px rgba(0,0,0,.04),0 8px 24px -8px rgba(134,61,186,.1);transition:transform .2s,border-color .2s}
.as-rank__row:hover{transform:translateY(-2px);border-color:var(--as-border-strong);color:var(--as-ink)}
.as-rank__num{flex:0 0 2.75rem;text-align:center;font-family:Manrope,Inter,system-ui,sans-serif;font-size:1.125rem;font-weight:800;color:var(--as-ink-dim);font-variant-numeric:tabular-nums}
.as-rank__row img{flex:0 0 44px;width:44px;height:66px;object-fit:cover;border-radius:6px;background:var(--as-soft)}
.as-rank__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.as-rank__title{font-weight:500;font-size:.9375rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .15s}
.as-rank__row:hover .as-rank__title{color:var(--as-brand)}
.as-rank__meta{font-size:.75rem;color:var(--as-ink-mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.as-rank__score{color:#f59e0b;font-weight:600}
html:not(.dark) .as-rank__score,html:not(.dark) .as-podium__score{color:#b45309}
.as-rank__flags{flex:0 0 auto;display:flex;gap:4px}
.as-rank__views{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:2px;padding-right:6px;text-align:right}
.as-rank__views-num{display:inline-flex;align-items:center;gap:.3rem;font-size:.8125rem;font-weight:700;color:#c084fc;font-variant-numeric:tabular-nums}
html:not(.dark) .as-rank__views-num{color:var(--as-brand)}
.as-rank__views-lbl{font-size:.625rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--as-ink-dim)}
.as-podium__views{display:inline-flex;align-items:center;gap:.35rem;margin-top:4px;font-size:.75rem;color:var(--as-ink-mute)}
.as-podium__views strong{color:var(--as-ink);font-weight:700;font-variant-numeric:tabular-nums}
.as-rank__flags .as-badge{position:static}
@media (max-width:479.98px){
  .as-rank__num{flex-basis:2rem;font-size:.95rem}
  .as-rank__flags{display:none}
  .as-rank__views-lbl{display:none}
  .as-rank__views{padding-right:2px}
}

/* ---------- calendar hero ---------- */
.as-cal-hero{position:relative;isolation:isolate;overflow:hidden;margin:0 0 clamp(1.5rem,3vw,2.25rem);padding:clamp(1.5rem,3vw,2.5rem) clamp(1.25rem,3vw,2.5rem);border:1px solid var(--as-border);border-radius:var(--as-r-xl);background:radial-gradient(120% 60% at 50% 0%,rgba(134,61,186,.18),transparent 60%),linear-gradient(180deg,var(--as-soft) 0%,var(--as-bg) 100%)}
.as-cal-hero__orb{position:absolute;z-index:-1;border-radius:9999px;filter:blur(80px);pointer-events:none}
.as-cal-hero__orb--a{width:320px;height:320px;top:-100px;right:-100px;background:rgba(134,61,186,.32)}
.as-cal-hero__orb--b{width:280px;height:280px;bottom:-100px;left:-80px;background:rgba(93,121,238,.28)}
.as-cal-hero__orb--c{width:200px;height:200px;top:50%;left:40%;background:rgba(192,132,252,.18)}
.as-cal-hero__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.25rem}
.as-cal-hero__text{min-width:0}
.as-cal-hero__eyebrow{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .7rem;border:1px solid rgba(134,61,186,.45);border-radius:9999px;background:rgba(134,61,186,.14);color:#c084fc;font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
html:not(.dark) .as-cal-hero__eyebrow{color:var(--as-brand)}
.as-cal-hero__title{margin:.875rem 0 0;font-family:Manrope,Inter,system-ui,sans-serif;font-weight:800;font-size:clamp(1.5rem,3.5vw,2.5rem);line-height:1.1;letter-spacing:-.02em;text-wrap:balance;color:var(--as-ink)}
.as-grad-text{background:var(--as-grad,linear-gradient(135deg,#5d79ee 0%,#863dba 100%));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.as-cal-hero__sub{margin:.625rem 0 0;max-width:60ch;font-size:.875rem;color:var(--as-ink-mute)}
.as-cal-hero__sub strong{color:var(--as-ink);font-weight:700}
.as-cal-hero__sub .as-sched__total{color:var(--as-brand);font-weight:600}
html.dark .as-cal-hero__sub .as-sched__total{color:#c084fc}
.as-cal-nav{display:inline-flex;align-items:center;gap:.4rem}
.as-cal-nav__btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-width:2.25rem;height:2.25rem;padding:0 .875rem;border:1px solid var(--as-border);border-radius:9999px;background:var(--as-soft);color:var(--as-ink);font:inherit;font-size:.8125rem;font-weight:600;white-space:nowrap;cursor:pointer;transition:background-color .18s,border-color .18s,transform .18s,opacity .18s}
button.as-cal-nav__btn{padding:0}
button.as-cal-nav__btn:hover:not(:disabled){background:rgba(134,61,186,.12);border-color:rgba(134,61,186,.6);transform:translateY(-1px)}
button.as-cal-nav__btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--as-brand-ring)}
button.as-cal-nav__btn:disabled{opacity:.4;cursor:default}
.as-cal-nav__btn--current{cursor:default;border-color:rgba(134,61,186,.4);background:rgba(134,61,186,.14);color:#c084fc}
html:not(.dark) .as-cal-nav__btn--current{color:var(--as-brand)}
.as-cal-nav.is-loading{pointer-events:none}
.as-cal-nav.is-loading .as-cal-nav__btn--current{opacity:.6}

/* ---------- weekly schedule (AJAX partials: schedule-page + schedule-week) ---------- */
.as-sched-mount{min-height:420px}
.as-sched-skel{display:flex;flex-direction:column;gap:1rem}
.as-sched-skel__row{display:block;height:132px;border-radius:var(--as-r-lg)}

#schedule.as-sched{margin:0}
#schedule.as-sched .sc-page{max-width:none;margin:0;padding:0}
#schedule.as-sched .as-sched__bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:0 0 16px}
#schedule.as-sched .as-sched__note{display:inline-flex;align-items:center;gap:.4rem;margin:0;font-size:.8125rem;color:var(--as-ink-dim)}
#schedule.as-sched .as-sched__clock{display:inline-flex;align-items:baseline;gap:.5rem;padding:.375rem .75rem;background:var(--as-soft);border:1px solid var(--as-border);border-radius:9999px;line-height:1.1}
#schedule.as-sched .as-sched__clock small{font-size:.625rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--as-ink-dim)}
#schedule.as-sched .sc-timenow{font-family:Manrope,Inter,system-ui,sans-serif;font-size:.9375rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--as-ink)}
#schedule.as-sched .as-sched__body{margin:0;transition:opacity .18s}
#schedule.as-sched .as-sched__body.is-loading{opacity:.5}

.as-cal-grid{display:flex;flex-direction:column;gap:1rem}
.as-cal-day{position:relative;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--as-border);border-radius:var(--as-r-lg);background:var(--as-elev);transition:border-color .2s}
.as-cal-day::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(134,61,186,.04) 0%,transparent 40%)}
.as-cal-day:hover{border-color:rgba(134,61,186,.4)}
.as-cal-day--today{border-color:rgba(134,61,186,.55);box-shadow:0 0 0 1px rgba(134,61,186,.3),0 14px 40px -18px rgba(134,61,186,.5)}
.as-cal-day--today::before{background:linear-gradient(180deg,rgba(134,61,186,.12) 0%,transparent 50%)}
.as-cal-day__head{position:relative;display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;padding:.875rem 1rem .625rem;border-bottom:1px solid var(--as-border)}
.as-cal-day__head p{margin:0}
.as-cal-day__name{font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--as-ink-dim)}
.as-cal-day--today .as-cal-day__name{color:#c084fc}
html:not(.dark) .as-cal-day--today .as-cal-day__name{color:var(--as-brand)}
.as-cal-day__date{display:flex;align-items:baseline;gap:.4rem}
.as-cal-day__num{font-family:Manrope,Inter,system-ui,sans-serif;font-size:1.6rem;font-weight:800;line-height:1;letter-spacing:-.02em;color:var(--as-ink)}
.as-cal-day--today .as-cal-day__num{background:var(--as-grad,linear-gradient(135deg,#5d79ee 0%,#863dba 100%));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.as-cal-day__month{font-size:.75rem;font-weight:600;text-transform:lowercase;color:var(--as-ink-dim)}
.as-cal-day__head .as-cal-day__count{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-left:auto;font-size:.72rem;font-weight:600;color:var(--as-ink-dim)}
.as-cal-day__today{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .5rem;border:1px solid rgba(134,61,186,.35);border-radius:9999px;background:rgba(134,61,186,.16);color:#c084fc;font-size:.625rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
html:not(.dark) .as-cal-day__today{color:var(--as-brand)}
.as-cal-day__pulse{width:6px;height:6px;border-radius:50%;background:currentColor;animation:as-sched-pulse 1.6s ease-out infinite}
.as-cal-day.is-past .as-cal-entry__poster{filter:grayscale(.25) brightness(.92)}
.as-cal-day__body{position:relative;flex:1;min-width:0;padding:.875rem}
.as-cal-day__entries{display:grid;grid-template-columns:minmax(0,1fr);gap:.5rem}
.as-cal-day__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;min-height:84px;text-align:center;color:var(--as-ink-dim)}
.as-cal-day__empty p{margin:0;font-size:.75rem}

.as-cal-entry{display:flex;gap:.625rem;min-width:0;padding:.5rem;border-radius:var(--as-r-md);color:var(--as-ink);text-decoration:none;transition:background-color .18s,transform .18s}
.as-cal-entry:hover{background:rgba(134,61,186,.08);color:var(--as-ink);transform:translateX(2px)}
.as-cal-entry:focus-visible{outline:none;box-shadow:0 0 0 3px var(--as-brand-ring)}
.as-cal-entry__poster{flex:0 0 48px;width:48px;height:72px;object-fit:cover;border-radius:.4rem;background:var(--as-soft);box-shadow:0 6px 14px -8px rgba(0,0,0,.4)}
.as-cal-entry__body{display:flex;flex-direction:column;justify-content:center;gap:.375rem;flex:1;min-width:0}
.as-cal-entry__name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.8125rem;font-weight:600;line-height:1.3;color:var(--as-ink);transition:color .15s}
.as-cal-entry:hover .as-cal-entry__name{color:#c084fc}
html:not(.dark) .as-cal-entry:hover .as-cal-entry__name{color:var(--as-brand)}
.as-cal-entry__meta{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.4rem}
.as-cal-entry__ep,.as-cal-entry__time{display:inline-flex;align-items:center;padding:.15rem .45rem;border-radius:.3rem;font-size:.6875rem;font-weight:700;white-space:nowrap}
.as-cal-entry__ep{border:1px solid rgba(134,61,186,.3);background:rgba(134,61,186,.14);color:#c084fc;letter-spacing:.05em;text-transform:uppercase}
html:not(.dark) .as-cal-entry__ep{color:var(--as-brand)}
.as-cal-entry__time{gap:.25rem;border:1px solid var(--as-border);background:var(--as-soft);color:var(--as-ink);font-size:.75rem;font-variant-numeric:tabular-nums}
.as-cal-entry__time svg{color:#c084fc}
html:not(.dark) .as-cal-entry__time svg{color:var(--as-brand)}

@keyframes as-sched-pulse{0%{box-shadow:0 0 0 0 rgba(192,132,252,.7)}70%{box-shadow:0 0 0 6px rgba(192,132,252,0)}100%{box-shadow:0 0 0 0 rgba(192,132,252,0)}}

@media (min-width:640px){
  .as-cal-day__entries{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:768px){
  .as-cal-day{flex-direction:row}
  .as-cal-day__head{flex:0 0 150px;flex-direction:column;flex-wrap:nowrap;align-items:flex-start;justify-content:flex-start;gap:.125rem;padding:1.25rem 1rem;border-bottom:0;border-right:1px solid var(--as-border)}
  .as-cal-day__date{margin-top:.5rem}
  .as-cal-day__num{font-size:2.5rem}
  .as-cal-day__head .as-cal-day__count{margin:.5rem 0 0}
}
@media (min-width:1024px){
  .as-cal-day__head{flex-basis:200px}
  .as-cal-day__entries{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (min-width:1280px){
  .as-cal-day__entries{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:639.98px){
  .as-cal-hero__inner{align-items:flex-start}
  .as-cal-nav{gap:.25rem}
  button.as-cal-nav__btn{border-color:transparent;background:transparent}
}
/* phones/tablets (reference): weekday above the big date, "Today" pill top-right,
   no rule under the head, plain time label */
@media (max-width:767.98px){
  .as-cal-day__head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.25rem .75rem;padding:1rem 1rem 0;border-bottom:0}
  .as-cal-day__name{grid-column:1;grid-row:1}
  .as-cal-day__date{grid-column:1;grid-row:2}
  .as-cal-day__head .as-cal-day__count{grid-column:2;grid-row:1 / span 2;align-self:start;margin:0}
  .as-cal-day__body{padding:.5rem .5rem .75rem}
  .as-cal-entry__time{padding-inline:0;border-color:transparent;background:transparent}
}
@media (prefers-reduced-motion:reduce){
  .as-podium__card,.as-rank__row,.as-cal-entry,.as-cal-nav__btn{transition:none}
  .as-podium__card:hover,.as-rank__row:hover,.as-cal-entry:hover,button.as-cal-nav__btn:hover:not(:disabled){transform:none}
  .as-cal-day__pulse{animation:none}
}
