:root {
  --bg:       #09090f;
  --bg2:      #0e0f1c;
  --bg3:      #13142a;
  --card:     rgba(255,255,255,0.032);
  --card-h:   rgba(255,255,255,0.058);
  --border:   rgba(255,255,255,0.075);
  --border-h: rgba(255,255,255,0.13);
  --text:     #dde0f5;
  --muted:    #5a5e80;
  --dim:      #8890b8;
  --pink:     #e879a0;
  --pink-g:   rgba(232,121,160,0.22);
  --purple:   #7c6ef5;
  --purple-g: rgba(124,110,245,0.22);
  --teal:     #38d9c0;
  --warn:     #f5a623;
  --warn-bg:  rgba(245,166,35,0.1);
  --ok:       #0fe45d;
  --ok-bg:    rgba(74,222,128,0.09);
  --err:      #f87171;
  --r:        12px;
  --rs:       8px;
  --rxs:      6px;
  --t:        0.18s ease;
}

*{box-sizing:border-box;margin:0;padding:0}

html{scrollbar-gutter:stable;}

body{
  background:var(--bg);
  color:var(--text);
  font-family:'DM Sans',sans-serif;
  min-height:100vh;
  overflow-x:hidden;
}

/* ambient glows */
body::before,body::after{
  content:'';position:fixed;pointer-events:none;z-index:0;border-radius:50%;
}
body::before{
  width:70vw;height:70vw;top:-30%;left:-15%;
  background:radial-gradient(circle,rgba(124,110,245,0.055) 0%,transparent 65%);
}
body::after{
  width:55vw;height:55vw;bottom:-20%;right:-10%;
  background:radial-gradient(circle,rgba(232,121,160,0.05) 0%,transparent 65%);
}

/* ── UTILS ─────────────────────────────── */
[hidden]{display:none!important}
.mono{font-family:'JetBrains Mono',monospace}

/* ── BUTTONS ───────────────────────────── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.45rem;
  padding:.7rem 1.4rem;border-radius:var(--rs);border:none;cursor:pointer;
  font-family:'DM Sans',sans-serif;font-weight:600;font-size:.875rem;
  transition:all var(--t);text-decoration:none;white-space:nowrap;
}
.btn-primary{
  background:linear-gradient(135deg,var(--pink),var(--purple));
  color:#fff;width:100%;
}
.btn-primary:hover{opacity:.88;transform:translateY(-1px);box-shadow:0 8px 28px var(--pink-g);}
.btn-ghost{
  background:var(--card);color:var(--text);border:1px solid var(--border);
}
.btn-ghost:hover{background:var(--card-h);border-color:var(--border-h);}
.btn-sm{padding:.4rem .85rem;font-size:.78rem;border-radius:var(--rxs);}
.btn-ok{
  background:var(--ok-bg);border:1px solid rgba(74,222,128,.2);color:var(--ok);flex:1;
}
.btn-ok:hover{background:rgba(74,222,128,.16);border-color:rgba(74,222,128,.35);}
.btn-nyaa{
  background:var(--purple-g);border:1px solid rgba(124,110,245,.25);color:var(--purple);flex:1;
}
.btn-nyaa:hover{background:rgba(124,110,245,.18);border-color:rgba(124,110,245,.4);}
.btn-edit{
  background:var(--card);border:1px solid var(--border);color:var(--dim);
}
.btn-edit:hover{background:var(--card-h);border-color:var(--border-h);color:var(--text);}

/* ── AUTH SCREEN ───────────────────────── */
#auth-screen{
  position:fixed;inset:0;z-index:100;
  background:var(--bg);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:2rem;gap:.5rem;
}
.auth-logo{
  font-family: "Crimson Text", serif;font-weight:900;font-size:2.8rem;
  letter-spacing:-.02em;
  background:linear-gradient(135deg,var(--pink),var(--purple));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.auth-sub{color:var(--muted);font-size:.85rem;margin-bottom:2rem;}

.auth-card{
  background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);
  padding:1.75rem;width:100%;max-width:440px;display:flex;flex-direction:column;gap:1.25rem;
}
.section-label{
  font-family:'Zen Kaku Gothic New',sans-serif;font-weight:700;
  font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);
  margin-bottom:.6rem;
}
.info-box{
  background:rgba(124,110,245,.07);border:1px solid rgba(124,110,245,.18);
  border-radius:var(--rs);padding:.9rem 1rem;font-size:.8rem;color:var(--dim);line-height:1.75;
}
.info-box ol{padding-left:1.2rem;margin-top:.4rem;}
.info-box a{color:var(--purple);text-decoration:none;}
.info-box a:hover{text-decoration:underline;}
.info-box code{
  background:rgba(255,255,255,.06);border-radius:3px;
  padding:.1rem .3rem;font-family:'JetBrains Mono',monospace;font-size:.78rem;
}
.divider{
  display:flex;align-items:center;gap:.75rem;
  color:var(--muted);font-size:.75rem;
}
.divider::before,.divider::after{content:'';flex:1;height:1px;background:var(--border);}

.field{display:flex;flex-direction:column;gap:.4rem;}
.field-label{font-size:.78rem;color:var(--dim);font-weight:500;}
input[type=text],input[type=password]{
  background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:var(--rs);
  color:var(--text);font-family:'JetBrains Mono',monospace;font-size:.82rem;
  padding:.7rem 1rem;outline:none;width:100%;transition:border-color var(--t);
}
input:focus{border-color:var(--purple);}
input::placeholder{color:var(--muted);}

/* ── HEADER ────────────────────────────── */
header{
  position:sticky;top:0;z-index:310;
  background:rgba(9,9,15,.82);backdrop-filter:blur(18px);
  border-bottom:1px solid var(--border);
  padding:0 1.75rem;height:60px;
  display:flex;align-items:center;justify-content:space-between;
}
.h-logo{
  font-family: "Crimson Text", serif;font-weight:900;font-size:1.3rem;
  background:linear-gradient(135deg,var(--pink),var(--purple));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  cursor:default;
}
.h-right{display:flex;align-items:center;gap:.85rem;}
.sync-pill{
  display:flex;align-items:center;gap:.4rem;
  font-family:'JetBrains Mono',monospace;font-size:.7rem;color:var(--muted);
  cursor:default;
}
.sync-dot{
  width:6px;height:6px;border-radius:50%;background:var(--ok);
  transition:background .3s;
}
.sync-dot.pulse{animation:dotPulse 1s ease infinite;}
@keyframes dotPulse{0%,100%{opacity:1}50%{opacity:.25}}
.user-pill{
  display:flex;align-items:center;gap:.5rem;
  background:var(--card);border:1px solid var(--border);border-radius:99px;
  padding:.25rem .75rem .25rem .3rem;
  cursor:default;
}
.u-avatar{width:26px;height:26px;border-radius:50%;object-fit:cover;}
.u-name{font-size:.78rem;font-weight:500;color:var(--dim);}

/* ── TABS ──────────────────────────────── */
.tabs-bar{
  background:var(--bg);border-bottom:1px solid var(--border);
  padding:.75rem 1.75rem 0;
  display:flex;gap:.2rem;
  position:sticky;top:60px;z-index:40;
}
.tabs-bar::-webkit-scrollbar{display:none;}
.tab{
  padding:.55rem 1.1rem;border-radius:var(--rxs) var(--rxs) 0 0;
  border:1px solid transparent;background:transparent;color:var(--muted);
  font-family:'DM Sans',sans-serif;font-size:.82rem;font-weight:500;
  cursor:pointer;transition:all var(--t);
  position:relative;bottom:-1px;
  display:flex;align-items:center;gap:.45rem;white-space:nowrap;
}
.tab:hover{color:var(--dim);background:var(--card);}
.tab.active{
  color:var(--pink);background:var(--bg2);
  border-bottom-color:var(--bg2);
}
.tab-n{
  background:rgba(255,255,255,.07);border-radius:99px;
  padding:.08rem .45rem;font-size:.68rem;font-family:'JetBrains Mono',monospace;
}
.tab.active .tab-n{background:var(--pink-g);color:var(--pink);}

/* ── MAIN ──────────────────────────────── */
main{padding:1.5rem 1.75rem;max-width:1380px;margin:0 auto;}

.controls{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:1.25rem;gap:.75rem;flex-wrap:nowrap;overflow-x:auto;
  min-height: 2.25rem;
}
.controls::-webkit-scrollbar{display:none;}
.search-wrap{position:relative;flex-shrink:0;}
.search-wrap svg{
  position:absolute;left:.75rem;top:50%;transform:translateY(-50%);
  color:var(--muted);pointer-events:none;
}
input.search-input{
  background:var(--card);border:1px solid var(--border);border-radius:var(--rxs);
  color:var(--text);font-family:'DM Sans',sans-serif;font-size:.78rem;font-weight:500;
  padding:.4rem .9rem .4rem 2.2rem;outline:none;
  width:220px;transition:border-color var(--t),width var(--t);
}
input.search-input:focus{border-color:var(--purple);width:280px;}
input.search-input::placeholder{color:var(--muted);}
.entry-count{min-width:85px;text-align:right;font-size:.75rem;color:var(--muted);font-family:'JetBrains Mono',monospace;white-space:nowrap;cursor:default;}

.controls-right{display:flex;align-items:center;gap:.5rem;flex-shrink:0;}
.sort-select{
  background:var(--card);border:1px solid var(--border);border-radius:var(--rxs);
  color:var(--dim);font-family:'DM Sans',sans-serif;font-size:.78rem;font-weight:500;
  padding:.4rem 2rem .4rem .75rem;outline:none;cursor:pointer;
  min-width:7rem;
  -webkit-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%235a5e80' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .5rem center;
  color-scheme:dark;
}
.sort-select:hover{background-color:var(--card-h);border-color:var(--border-h);color:var(--text);}
.sort-select:focus{border-color:var(--purple);color:var(--text);background-color:var(--bg2);}
.sort-select option{
  background-color:#0e0f1c;
  color:#dde0f5;
  font-family:'DM Sans',sans-serif;
}

/* ── GRID ──────────────────────────────── */
.grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(295px,1fr));
  gap:.9rem;
}

/* ── CARD ──────────────────────────────── */
.card{
  background:var(--card);border:1px solid var(--border);border-radius:var(--r);
  overflow:hidden;display:flex;flex-direction:column;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease;
}
.card:hover{
  background:var(--card-h);border-color:var(--border-h);
  transform:translateY(-2px);box-shadow:0 14px 36px rgba(0,0,0,.35);
}
.card.warn-card{border-color:rgba(245,166,35,.22);}

.card-body{display:flex;gap:.75rem;padding:.75rem;flex:1;}

.cover{
  width:68px;height:98px;flex-shrink:0;align-self:flex-start;
  border-radius:6px;overflow:hidden;
  background:var(--bg3);
}
.cover img{width:68px;height:98px;object-fit:cover;display:block;}
.cover-ph{
  width:68px;height:98px;display:flex;align-items:center;
  justify-content:center;color:var(--muted);font-size:1.4rem;
}

.info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem;}

.card-title{
  font-family:'Zen Kaku Gothic New',sans-serif;font-weight:700;font-size:.87rem;
  line-height:1.35;color:var(--text);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  min-height:calc(2 * 1.35em);
}
.card-meta-row{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin-top:.1rem;}

.status-chip{
  font-size:.65rem;font-family:'JetBrains Mono',monospace;
  padding:.1rem .4rem;border-radius:3px;
  cursor:default;
}
.chip-airing{background:rgba(56,217,192,.1);color:var(--teal);}
.chip-done{background:rgba(255,255,255,.06);color:var(--muted);}
.chip-nyr{background:rgba(124,110,245,.12);color:var(--purple);border:1px solid rgba(124,110,245,.22);}
.score-chip{
  background:rgba(245,166,35,.12);color:var(--warn);
  font-size:.65rem;font-family:'JetBrains Mono',monospace;
  padding:.1rem .4rem;border-radius:3px;
}
.private-chip{
  background:rgba(124,110,245,.12);color:var(--purple);
  font-size:.65rem;font-family:'JetBrains Mono',monospace;
  padding:.1rem .4rem;border-radius:3px;border:1px solid rgba(124,110,245,.22);
}
.adult-chip{
  background:rgba(248,113,113,.12);color:var(--err);
  font-size:.65rem;font-family:'JetBrains Mono',monospace;
  padding:.1rem .4rem;border-radius:3px;border:1px solid rgba(248,113,113,.22);
}

.prog-wrap{margin:.2rem 0;}
.prog-bar{height:3px;background:rgba(255,255,255,.07);border-radius:99px;overflow:hidden;}
.prog-fill{
  height:100%;border-radius:99px;
  background:linear-gradient(90deg,var(--purple),var(--pink));
  transition:width .4s ease;
}
.prog-text{
  display:flex;align-items:center;justify-content:space-between;
  margin-top:.3rem;font-family:'JetBrains Mono',monospace;font-size:.68rem;color:var(--dim);
  cursor:default;
}

/* ── WARNING BANNER ────────────────────── */
.behind-banner{
  background:var(--warn-bg);
  border-top:1px solid rgba(245,166,35,.18);
  border-bottom:1px solid rgba(245,166,35,.18);
  padding:.35rem .75rem;font-size:.73rem;color:var(--warn);
  display:flex;align-items:center;gap:.4rem;
}

/* ── CARD ACTIONS ──────────────────────── */
.card-actions{
  display:flex;gap:.5rem;padding:.6rem .75rem;
  border-top:1px solid var(--border);background:rgba(0,0,0,.18);
}

/* ── STATES ────────────────────────────── */
.loading-state,.empty-state{
  grid-column:1/-1;display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  padding:6rem 2rem;gap:.75rem;color:var(--muted);font-size:.9rem;text-align:center;
}
.spinner{
  width:30px;height:30px;border:2px solid var(--border);
  border-top-color:var(--pink);border-radius:50%;
  animation:spin .7s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg)}}

/* ── TOAST ─────────────────────────────── */
#toast-box{
  position:fixed;bottom:1.75rem;right:1.75rem;z-index:9999;
  display:flex;flex-direction:column;gap:.45rem;
}
.toast{
  background:var(--bg2);border:1px solid var(--border);border-radius:var(--rs);
  padding:.65rem 1.1rem;font-size:.82rem;max-width:310px;
  display:flex;align-items:center;gap:.5rem;
  animation:toastIn .25s ease;
}
.toast.ok{border-color:rgba(74,222,128,.3);color:var(--ok);}
.toast.err{border-color:rgba(248,113,113,.3);color:var(--err);}
.toast.nfo{border-color:rgba(124,110,245,.3);color:var(--purple);}
@keyframes toastIn{from{transform:translateX(110%);opacity:0}to{transform:translateX(0);opacity:1}}

/* ── SCHEDULE ──────────────────────────── */
#schedule-panel { padding:0; }
.sched-outer { padding:1.25rem 1.5rem 2.5rem; }

.sched-timetable {
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:.6rem;
  align-items:start;
}

/* Day column header */
.sched-col-head {
  padding:.6rem .4rem .55rem;
  text-align:center;
  background:var(--bg2);
  border:1px solid var(--border);
  border-radius:var(--rs);
  margin-bottom:.4rem;
  position:sticky; top:101px; z-index:30;
  isolation:isolate;
  cursor:default;
}
.sched-col-head.today {
  background:var(--bg2);
  background-image:linear-gradient(135deg,rgba(232,121,160,.22),rgba(124,110,245,.18));
  border-color:rgba(232,121,160,.45);
}
.sched-col.today-col {
  border-radius: var(--rs);
}
.sched-col-dayname {
  font-family:'Zen Kaku Gothic New',sans-serif;font-weight:900;
  font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--dim);
}
.sched-col-head.today .sched-col-dayname { color:var(--pink); }
.sched-col-date {
  font-family:'JetBrains Mono',monospace;font-size:.62rem;color:var(--muted);margin-top:.15rem;
}
.sched-col-count {
  font-family:'JetBrains Mono',monospace;font-size:.55rem;
  color:var(--muted);margin-top:.1rem;opacity:.6;
}
.sched-items { display:flex;flex-direction:column;gap:.4rem; }

/* ── Big image card ── */
.sched-card {
  position:relative;border-radius:var(--rs);overflow:hidden;
  border:1px solid var(--border);
  background:var(--bg3);
  display:block;
  cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
  aspect-ratio:2/3;
}
.sched-card:hover { transform:translateY(-3px);box-shadow:0 14px 36px rgba(0,0,0,.5);border-color:var(--border-h); }
.sched-card.on-list { border-color:rgba(124,110,245,.5); }
.sched-card.hidden-card { display:none; }

.sched-cover-img {
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .3s ease;
}
.sched-card:hover .sched-cover-img { transform:scale(1.04); }

.sched-cover-ph {
  width:100%;height:100%;display:flex;align-items:center;
  justify-content:center;font-size:2.5rem;color:var(--muted);
}

/* top meta bar */
.sched-top-bar {
  position:absolute;top:0;left:0;right:0;
  display:flex;align-items:center;justify-content:space-between;
  padding:.3rem .38rem;
  background:linear-gradient(to bottom,rgba(0,0,0,.75) 0%,transparent 100%);
  z-index:2;
}
.sched-ep-pill {
  font-family:'JetBrains Mono',monospace;font-size:.58rem;font-weight:600;
  background:rgba(0,0,0,.65);border:1px solid rgba(255,255,255,.12);
  color:#fff;padding:.12rem .35rem;border-radius:3px;
}
.sched-time-pill {
  font-family:'JetBrains Mono',monospace;font-size:.58rem;font-weight:600;
  background:rgba(0,0,0,.65);border:1px solid rgba(255,255,255,.12);
  color:#fff;padding:.12rem .35rem;border-radius:3px;
}

/* bottom overlay */
.sched-bottom {
  position:absolute;bottom:0;left:0;right:0;
  background:linear-gradient(to top,rgba(0,0,0,.88) 0%,rgba(0,0,0,.55) 55%,transparent 100%);
  padding:.9rem .45rem .45rem;
  z-index:2;
}
.sched-title {
  font-family:'Zen Kaku Gothic New',sans-serif;font-weight:700;
  font-size:.72rem;line-height:1.3;color:#fff;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
  text-shadow:0 1px 4px rgba(0,0,0,.6);
  margin-bottom:.32rem;
}

/* status strip at very bottom */
.sched-status-strip {
  display:flex;align-items:center;justify-content:space-between;gap:.25rem;
}
.sched-status-chip {
  font-family:'JetBrains Mono',monospace;font-size:.55rem;font-weight:600;
  padding:.1rem .32rem;border-radius:3px;
  white-space:nowrap;
}
.chip-watching { background:rgba(74,222,128,.2);color:var(--ok);border:1px solid rgba(74,222,128,.25); }
.chip-planning { background:rgba(56,217,192,.15);color:var(--teal);border:1px solid rgba(56,217,192,.2); }
.chip-paused   { background:rgba(245,166,35,.15);color:var(--warn);border:1px solid rgba(245,166,35,.2); }
.chip-dropped  { background:rgba(248,113,113,.12);color:var(--err);border:1px solid rgba(248,113,113,.2); }
.chip-completed{ background:rgba(124,110,245,.15);color:var(--purple);border:1px solid rgba(124,110,245,.2); }

/* shared action buttons row on schedule cards (Nyaa / Episodes for watching shows) */
.sched-card-actions {
  display:flex;align-items:center;justify-content:center;gap:.3rem;
  margin-top:.3rem;
}
.sched-action-btn {
  flex-shrink:0;
  display:inline-flex;align-items:center;justify-content:center;gap:.25rem;
  padding:.22rem .55rem;border-radius:var(--rxs);border:1px solid rgba(124,110,245,.4);
  cursor:pointer;font-family:'JetBrains Mono',monospace;font-size:.52rem;font-weight:700;
  background:rgba(124,110,245,.2);color:var(--purple);
  transition:all .15s ease;white-space:nowrap;line-height:1.4;
}
.sched-action-btn:hover { background:rgba(124,110,245,.38);border-color:rgba(124,110,245,.6); }

/* add/edit list button */
.sched-list-btn {
  flex-shrink:0;
  display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:22px;border-radius:50%;border:none;cursor:pointer;
  font-size:.75rem;line-height:1;
  transition:all .15s ease;
  z-index:3;
}
.sched-list-btn.add {
  background:rgba(255,255,255,.15);color:#fff;
}
.sched-list-btn.add:hover {
  background:var(--pink);transform:scale(1.15);
}
.sched-list-btn.edit {
  background:rgba(124,110,245,.35);color:var(--purple);border:1px solid rgba(124,110,245,.4);
}
.sched-list-btn.edit:hover {
  background:rgba(124,110,245,.6);transform:scale(1.15);
}

/* exclude button */
.sched-excl-btn {
  flex-shrink:0;
  position:relative;
  display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:22px;border-radius:50%;border:none;cursor:pointer;
  font-size:0;line-height:1;padding:0;
  background:rgba(0,0,0,.55);color:rgba(255,255,255,.75);
  transition:background .15s ease, box-shadow .15s ease, border .15s ease;
  z-index:3;
}
.sched-excl-btn:hover { background:rgba(248,113,113,.5);color:#fff; }
.sched-excl-btn.is-excluded {
  background:rgba(74,222,128,.38);color:var(--ok);
  border:1.5px solid rgba(74,222,128,.55);
  box-shadow:0 0 6px rgba(74,222,128,.3);
}
.sched-excl-btn.is-excluded:hover { background:rgba(74,222,128,.6); }
.sched-excl-btn svg {
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  pointer-events:none;
}
.sched-excl-btn .excl-icon-restore { opacity:0; }
.sched-excl-btn.is-excluded .excl-icon-ban { opacity:0; }
.sched-excl-btn.is-excluded .excl-icon-restore { opacity:1; }

/* excluded card state (when no filter active) */
.sched-card.excluded-card { opacity:.42;filter:saturate(.3); }
.sched-card.excluded-card:hover { opacity:.85;filter:saturate(.7); }

/* excluded tag shown on excluded schedule cards */
.sched-excl-chip {
  font-family:'JetBrains Mono',monospace;font-size:.52rem;font-weight:700;
  padding:.1rem .3rem;border-radius:3px;white-space:nowrap;
  background:rgba(248,113,113,.18);color:var(--err);border:1px solid rgba(248,113,113,.28);
}

/* behind/unwatched episodes chip on schedule cards */
.sched-behind-chip {
  font-family:'JetBrains Mono',monospace;font-size:.52rem;font-weight:700;
  padding:.1rem .3rem;border-radius:3px;white-space:nowrap;
  background:rgba(245,166,35,.18);color:var(--warn);border:1px solid rgba(245,166,35,.28);
}

/* private tag on schedule cards */
.sched-private-chip {
  font-family:'JetBrains Mono',monospace;font-size:.52rem;font-weight:700;
  padding:.1rem .3rem;border-radius:3px;white-space:nowrap;
  background:rgba(124,110,245,.18);color:var(--purple);border:1px solid rgba(124,110,245,.28);
}
/* 18+ tag on schedule cards */
.sched-adult-chip {
  font-family:'JetBrains Mono',monospace;font-size:.52rem;font-weight:700;
  padding:.1rem .3rem;border-radius:3px;white-space:nowrap;
  background:rgba(248,113,113,.18);color:var(--err);border:1px solid rgba(248,113,113,.28);
}

/* New Release tag on schedule cards (episode 1) */
.sched-new-chip {
  font-family:'JetBrains Mono',monospace;font-size:.52rem;font-weight:700;
  padding:.1rem .3rem;border-radius:3px;white-space:nowrap;
  background:rgba(56,217,192,.18);color:var(--teal);border:1px solid rgba(56,217,192,.35);
}

/* next-ep countdown in watching tab */
.next-ep-countdown {
  display:flex;align-items:center;gap:.28rem;
  font-family:'JetBrains Mono',monospace;font-size:.67rem;color:var(--pink);
  margin-top:.25rem;
  cursor: default;
}

/* schedule time-pill hover tooltip */
.sched-time-pill[data-airing-at] { cursor:default; }
#sched-time-tooltip {
  position:fixed;z-index:9990;
  background:var(--bg2);border:1px solid var(--border-h);
  border-radius:var(--rxs);
  padding:.38rem .72rem;
  font-family:'JetBrains Mono',monospace;font-size:.7rem;
  color:var(--pink);white-space:nowrap;pointer-events:none;
  box-shadow:0 8px 24px rgba(0,0,0,.55);
  display:none;
  animation:tooltipFadeIn .12s ease;
}
@keyframes tooltipFadeIn{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}

/* new releases filter button variant */
.sched-filter-new.active {
  background:rgba(56,217,192,.12) !important;
  border-color:rgba(56,217,192,.38) !important;
  color:var(--teal) !important;
}
.sched-filter-new.active .sched-filter-dot { background:var(--teal) !important; }

/* excluded filter button variant */
.sched-filter-excl.active {
  background:rgba(248,113,113,.12) !important;
  border-color:rgba(248,113,113,.38) !important;
  color:var(--err) !important;
}
.sched-filter-excl.active .sched-filter-dot { background:var(--err) !important; }

/* schedule card action chips */
.sched-nyaa-btn, .sched-addep-btn {
  font-family:'JetBrains Mono',monospace;font-size:.5rem;font-weight:700;
  padding:.12rem .38rem;border-radius:3px;
  cursor:pointer;transition:all .15s;white-space:nowrap;border:1px solid;
  line-height:1.4;
}
.sched-nyaa-btn {
  background:rgba(124,110,245,.18);color:var(--purple);
  border-color:rgba(124,110,245,.32);
}
.sched-nyaa-btn:hover { background:rgba(124,110,245,.35);border-color:rgba(124,110,245,.55); }
.sched-addep-btn {
  background:rgba(15,228,93,.15);color:var(--ok);
  border-color:rgba(15,228,93,.28);
}
.sched-addep-btn:hover { background:rgba(15,228,93,.3);border-color:rgba(15,228,93,.5); }

/* empty col */
.sched-empty-col {
  padding:.9rem .4rem;text-align:center;
  font-size:.65rem;color:var(--muted);font-family:'JetBrains Mono',monospace;
}

/* filter toggle */
.sched-filter-btn {
  display:inline-flex;align-items:center;gap:.4rem;
  padding:.38rem .85rem;border-radius:var(--rxs);border:1px solid var(--border);
  background:var(--card);color:var(--muted);cursor:pointer;
  font-family:'DM Sans',sans-serif;font-weight:600;font-size:.78rem;
  transition:all var(--t);
}
.sched-filter-btn:hover { background:var(--card-h);border-color:var(--border-h);color:var(--text); }
.sched-filter-btn.active {
  background:var(--purple-g);border-color:rgba(124,110,245,.45);color:var(--purple);
}
.sched-filter-dot { width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.75; }

/* ── List modal ── */
#sched-modal-backdrop {
  position:fixed;inset:0;z-index:200;
  background:rgba(0,0,0,.6);backdrop-filter:blur(4px);
  display:flex;align-items:center;justify-content:center;
  padding:1rem;
}
#sched-modal {
  background:var(--bg2);border:1px solid var(--border-h);
  border-radius:var(--r);padding:1.6rem;width:100%;max-width:700px;
  display:flex;flex-direction:column;gap:1.1rem;
  box-shadow:0 24px 60px rgba(0,0,0,.6);
  animation:modalIn .2s ease;
}
@keyframes modalIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.sched-modal-title {
  font-family:'Zen Kaku Gothic New',sans-serif;font-weight:700;font-size:.95rem;
  color:var(--text);line-height:1.3;
}


.sched-modal-sub { font-size:.75rem;color:var(--muted);margin-top:.15rem; }
.sched-modal-row { display:flex;flex-direction:column;gap:.4rem; }
.sched-modal-label { font-size:.75rem;color:var(--dim);font-weight:500; }
.sched-modal-select, .sched-modal-input {
  background:rgba(255,255,255,.05);border:1px solid var(--border);border-radius:var(--rs);
  color:var(--text);font-family:'DM Sans',sans-serif;font-size:.85rem;
  padding:.6rem .85rem;outline:none;width:100%;transition:border-color var(--t);
  -webkit-appearance:none;appearance:none;
}
.sched-modal-input:focus { border-color:var(--purple); }
.sched-modal-select:focus{border-color:var(--purple);color:var(--text);background-color:var(--bg2);}
.sched-modal-select option { background:var(--bg2); }
.sched-modal-input[type=number] { font-family:'JetBrains Mono',monospace; }
.sched-modal-actions { display:flex;gap:.5rem;margin-top:.25rem; }
.sched-modal-header { display:flex;align-items:flex-start;justify-content:space-between;gap:1rem; }
.sched-modal-x {
  flex-shrink:0;background:none;border:none;color:var(--muted);cursor:pointer;
  font-size:.9rem;padding:.2rem .45rem;border-radius:var(--rxs);
  transition:color var(--t),background var(--t);
}
.sched-modal-x:hover { color:var(--text);background:var(--card-h); }
.sched-modal-grid-4 { display:grid;grid-template-columns:1.2fr 1fr 1fr 1.2fr;gap:.85rem; }
.sched-modal-grid-3 { display:grid;grid-template-columns:1fr 1fr 1fr;gap:.85rem; }
.sched-modal-custom-lists {
  background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:var(--rs);
  color:var(--muted);font-size:.78rem;padding:.55rem .85rem;min-height:36px;
  display:flex;align-items:center;
}
.sched-modal-check-row {
  display:flex;align-items:center;gap:.5rem;margin-top:.55rem;
  font-size:.8rem;color:var(--dim);cursor:pointer;user-select:none;
}
.sched-modal-check-row input[type=checkbox] { width:15px;height:15px;accent-color:var(--purple);cursor:pointer; }
.sched-modal-textarea {
  background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:var(--rs);
  color:var(--text);font-family:'DM Sans',sans-serif;font-size:.85rem;
  padding:.6rem .85rem;outline:none;width:100%;resize:vertical;min-height:72px;
  transition:border-color var(--t);
}
.sched-modal-textarea:focus { border-color:var(--purple); }
.sched-modal-textarea::placeholder { color:var(--muted); }
.sched-modal-save { background:linear-gradient(135deg,var(--pink),var(--purple));color:#fff;border:none;
  border-radius:var(--rs);padding:.65rem 1.2rem;font-family:'DM Sans',sans-serif;font-weight:700;
  font-size:.85rem;cursor:pointer;transition:opacity .15s; }
.sched-modal-save:hover { opacity:.88; }
.sched-modal-cancel { background:var(--card);color:var(--dim);border:1px solid var(--border);
  border-radius:var(--rs);padding:.65rem 1rem;font-family:'DM Sans',sans-serif;font-weight:600;
  font-size:.85rem;cursor:pointer;transition:all var(--t); }
.sched-modal-cancel:hover { background:var(--card-h);border-color:var(--border-h); }
.sched-modal-delete {
  background:rgba(248,113,113,.08);border:1px solid rgba(248,113,113,.22);color:var(--err);
  border-radius:var(--rs);padding:.65rem 1.1rem;font-family:'DM Sans',sans-serif;font-weight:600;
  font-size:.85rem;cursor:pointer;transition:all var(--t);
}
.sched-modal-delete:hover { background:rgba(248,113,113,.18);border-color:rgba(248,113,113,.4); }
.sched-modal-delete[hidden] { display:none!important; }

/* episodes list button */
.btn-eps {
  background:rgba(56,217,192,.1);border:1px solid rgba(56,217,192,.22);color:var(--teal);flex:1;
}
.btn-eps:hover { background:rgba(56,217,192,.2);border-color:rgba(56,217,192,.4); }

/* ── Episode list modal ── */
#eps-modal-backdrop {
  position:fixed;inset:0;z-index:200;
  background:rgba(0,0,0,.6);backdrop-filter:blur(4px);
  display:flex;align-items:center;justify-content:center;
  padding:1rem;
}
#eps-modal {
  background:var(--bg2);border:1px solid var(--border-h);
  border-radius:var(--r);width:100%;max-width:480px;
  display:flex;flex-direction:column;max-height:80vh;
  box-shadow:0 24px 60px rgba(0,0,0,.6);
  animation:modalIn .2s ease;
}
.eps-modal-head {
  display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;
  padding:1.3rem 1.4rem 1rem;border-bottom:1px solid var(--border);flex-shrink:0;
  cursor:default;
}
.eps-modal-title {
  font-family:'Zen Kaku Gothic New',sans-serif;font-weight:700;font-size:.95rem;
  color:var(--text);line-height:1.3;
}
.eps-modal-sub { font-size:.73rem;color:var(--muted);margin-top:.2rem; }
.eps-modal-body {
  overflow-y:auto;padding:.6rem .9rem .9rem;display:flex;flex-direction:column;gap:.28rem;flex:1;
}
.eps-modal-body::-webkit-scrollbar { width:4px; }
.eps-modal-body::-webkit-scrollbar-track { background:transparent; }
.eps-modal-body::-webkit-scrollbar-thumb { background:var(--border-h);border-radius:99px; }
.eps-row {
  display:flex;align-items:center;justify-content:space-between;gap:.6rem;
  padding:.42rem .55rem;border-radius:var(--rxs);
  border:1px solid transparent;
  transition:background var(--t),border-color var(--t);
}
.eps-row:hover { background:var(--card-h);border-color:var(--border); }
.eps-row.watched { opacity:.45; }
.eps-row.watched:hover { opacity:.8; }
.eps-num {
  font-family:'JetBrains Mono',monospace;font-size:.78rem;color:var(--dim);
  flex-shrink:0;min-width:4ch;
  cursor:default;
}
.eps-check {
  width:14px;height:14px;flex-shrink:0;color:var(--ok);
}
.eps-nyaa-btn {
  font-family:'JetBrains Mono',monospace;font-size:.68rem;font-weight:600;
  padding:.28rem .65rem;border-radius:var(--rxs);cursor:pointer;
  background:rgba(124,110,245,.12);color:var(--purple);
  border:1px solid rgba(124,110,245,.25);
  transition:all .15s;white-space:nowrap;flex-shrink:0;
}
.eps-nyaa-btn:hover { background:rgba(124,110,245,.25);border-color:rgba(124,110,245,.5); }

.anilist-link {
  color: inherit;
  text-decoration: none;
}
.anilist-link:hover {
  text-decoration: none;
  color: var(--pink);
}

/* ── ANIME SEARCH DROPDOWN ───────────────── */

/* When the search is active, the input visually becomes the dropdown header */
.search-wrap.asearch-active {
  z-index:302;
  position:relative;
}
.search-wrap.asearch-active .search-input {
  border-radius:var(--rs);
  border-bottom-color:transparent;
  border-color:var(--purple);
  background:var(--bg2);
}

/* Full-screen dimming backdrop */
#anime-search-backdrop {
  position:fixed;inset:0;z-index:300;
  background:rgba(0,0,0,.52);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}

/* Dropdown panel — positioned via JS below the search input */
#anime-search-modal {
  position:fixed;z-index:301;
  background:var(--bg2);
  border:1px solid var(--purple);
  border-radius:var(--r);
  display:flex;flex-direction:column;
  box-shadow:0 20px 60px rgba(0,0,0,.7);
  max-height:min(480px, calc(100vh - 200px));
  overflow:hidden;
  animation:asearchDrop .16s ease;
  min-width:500px;
}
@keyframes asearchDrop{
  from{opacity:0;transform:translateY(-6px)}
  to{opacity:1;transform:translateY(0)}
}

/* Loading strip inside the dropdown */
.asearch-loading {
  display:flex;align-items:center;gap:.6rem;
  padding:.75rem 1rem;border-bottom:1px solid var(--border);
  font-size:.78rem;color:var(--muted);flex-shrink:0;
}
.asearch-spinner {
  width:13px;height:13px;border:2px solid var(--border);
  border-top-color:var(--pink);border-radius:50%;
  animation:spin .6s linear infinite;flex-shrink:0;
}

/* Scrollable results list */
.asearch-body {
  overflow-y:auto;flex:1;
  padding:.4rem .5rem .5rem;
  display:flex;flex-direction:column;gap:.28rem;
}
.asearch-body::-webkit-scrollbar{width:4px;}
.asearch-body::-webkit-scrollbar-track{background:transparent;}
.asearch-body::-webkit-scrollbar-thumb{background:var(--border-h);border-radius:99px;}

.asearch-empty {
  padding:2.5rem 1.5rem;text-align:center;
  color:var(--muted);font-size:.82rem;
}

/* Each result row */
.asearch-item {
  display:flex;align-items:center;gap:.7rem;
  padding:.5rem .65rem;border-radius:var(--rs);
  border:1px solid transparent;
  transition:background var(--t),border-color var(--t);
}
.asearch-item:hover {
  background:var(--card-h);border-color:var(--border);
}
.asearch-cover {
  width:38px;height:54px;flex-shrink:0;
  border-radius:4px;overflow:hidden;background:var(--bg3);
  display:flex;align-items:center;justify-content:center;
  color:var(--muted);font-size:1rem;
}
.asearch-cover img{width:100%;height:100%;object-fit:cover;display:block;}
.asearch-info {flex:1;min-width:0;}
.asearch-title {
  font-family:'Zen Kaku Gothic New',sans-serif;font-weight:700;
  font-size:.82rem;color:var(--text);line-height:1.3;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.asearch-sub {
  display:flex;align-items:center;gap:.3rem;flex-wrap:wrap;margin-top:.22rem;
}
.asearch-pill {
  font-family:'JetBrains Mono',monospace;font-size:.58rem;
  padding:.06rem .35rem;border-radius:3px;
  background:rgba(255,255,255,.06);color:var(--muted);
}
.asearch-pill.airing{background:rgba(56,217,192,.1);color:var(--teal);}
.asearch-pill.onlist{background:rgba(124,110,245,.14);color:var(--purple);}
.asearch-title-link {
  color:inherit;text-decoration:none;
}
.asearch-title-link:hover {
  color:var(--pink);text-decoration:underline;text-underline-offset:2px;
}

/* Add / Edit button on each row */
.asearch-add-btn {
  flex-shrink:0;
  display:inline-flex;align-items:center;justify-content:center;gap:.28rem;
  padding:.35rem .7rem;border-radius:var(--rxs);cursor:pointer;
  font-family:'DM Sans',sans-serif;font-weight:600;font-size:.72rem;
  transition:all var(--t);white-space:nowrap;
}
.asearch-add-btn.add {
  background:var(--pink-g);border:1px solid rgba(232,121,160,.3);color:var(--pink);
}
.asearch-add-btn.add:hover{background:rgba(232,121,160,.35);border-color:rgba(232,121,160,.55);}
.asearch-add-btn.edit {
  background:rgba(124,110,245,.15);border:1px solid rgba(124,110,245,.3);color:var(--purple);
}
.asearch-add-btn.edit:hover{background:rgba(124,110,245,.3);border-color:rgba(124,110,245,.55);}

/* Footer strip */
.asearch-footer {
  padding:.45rem 1rem;border-top:1px solid var(--border);
  display:flex;align-items:center;justify-content:space-between;
  font-family:'JetBrains Mono',monospace;font-size:.62rem;color:var(--muted);
  flex-shrink:0;
}

/* ── ACTIVITY FEED ─────────────────────────────────────── */
#activity-panel { padding: 0; }
.activity-outer { padding: 1.25rem 1.5rem 2.5rem; max-width: 860px; margin: 0 auto; }

.activity-header {
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:1.25rem;flex-wrap:wrap;gap:.65rem;
  cursor:default;
}
.activity-title {
  font-family:'Zen Kaku Gothic New',sans-serif;font-weight:700;font-size:1.05rem;color:var(--text);
}
.activity-sub {
  font-size:.72rem;color:var(--muted);font-family:'JetBrains Mono',monospace;margin-top:.2rem;
}

.act-list { display:flex;flex-direction:column;gap:.75rem; }

.act-item {
  background:var(--card);border:1px solid var(--border);border-radius:var(--r);
  overflow:hidden;transition:border-color var(--t),background var(--t);
}
.act-item:hover { background:var(--card-h);border-color:var(--border-h); }

.act-body { display:flex;gap:.85rem;padding:.85rem; }

.act-cover {
  width:52px;height:74px;flex-shrink:0;border-radius:var(--rxs);
  overflow:hidden;background:var(--bg3);
}
.act-cover img { width:52px;height:74px;object-fit:cover;display:block; }
.act-cover-ph {
  width:52px;height:74px;display:flex;align-items:center;
  justify-content:center;font-size:1.2rem;color:var(--muted);
}

.act-info { flex:1;min-width:0; }

.act-title {
  font-family:'Zen Kaku Gothic New',sans-serif;font-weight:700;font-size:.88rem;
  color:var(--text);line-height:1.35;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  margin-bottom:.3rem;
}
.act-title a { color:inherit;text-decoration:none; }
.act-title a:hover { color:var(--pink); }

.act-status-line {
  font-size:.78rem;color:var(--dim);margin-bottom:.35rem;
  display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;
  cursor:default;
}
.act-status-pill {
  font-family:'JetBrains Mono',monospace;font-size:.65rem;font-weight:600;
  padding:.1rem .4rem;border-radius:3px;
  background:rgba(124,110,245,.15);color:var(--purple);border:1px solid rgba(124,110,245,.22);
}
.act-time {
  font-family:'JetBrains Mono',monospace;font-size:.65rem;color:var(--muted);
}

.act-actions {
  display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin-top:.45rem;
}
.act-btn {
  display:inline-flex;align-items:center;gap:.3rem;
  padding:.3rem .65rem;border-radius:var(--rxs);border:1px solid var(--border);
  background:var(--card);color:var(--dim);
  font-family:'DM Sans',sans-serif;font-size:.73rem;font-weight:500;
  cursor:pointer;transition:all var(--t);white-space:nowrap;
}
.act-btn:hover { background:var(--card-h);border-color:var(--border-h);color:var(--text); }
.act-btn.act-btn-danger:hover { background:rgba(248,113,113,.1);border-color:rgba(248,113,113,.3);color:var(--err); }
.act-btn.act-btn-pink { color:var(--pink);border-color:rgba(232,121,160,.3);background:var(--pink-g); }
.act-btn.act-btn-pink:hover { background:rgba(232,121,160,.28);border-color:rgba(232,121,160,.5); }
.act-btn.act-btn-active { color:var(--ok);border-color:rgba(74,222,128,.3);background:rgba(74,222,128,.08); }
.act-btn.act-btn-active:hover { background:rgba(74,222,128,.15);border-color:rgba(74,222,128,.4); }
.act-btn.act-btn-fav { color:var(--warn);border-color:rgba(245,166,35,.3);background:rgba(245,166,35,.08); }
.act-btn.act-btn-fav:hover { background:rgba(245,166,35,.18);border-color:rgba(245,166,35,.4); }

/* reply section */
.act-replies {
  border-top:1px solid var(--border);padding:.65rem .85rem;
  display:flex;flex-direction:column;gap:.55rem;
}
.act-reply-item {
  display:flex;gap:.55rem;align-items:flex-start;
}
.act-reply-avatar {
  width:22px;height:22px;border-radius:50%;object-fit:cover;flex-shrink:0;
  background:var(--bg3);
}
.act-reply-bubble {
  flex:1;background:var(--bg2);border:1px solid var(--border);border-radius:var(--rxs);
  padding:.4rem .65rem;
}
.act-reply-user {
  font-size:.72rem;font-weight:600;color:var(--pink);margin-bottom:.18rem;
  font-family:'Zen Kaku Gothic New',sans-serif;
}
.act-reply-text { font-size:.78rem;color:var(--dim);line-height:1.5; }
.act-reply-time { font-family:'JetBrains Mono',monospace;font-size:.6rem;color:var(--muted);margin-top:.2rem; }

/* reply compose box */
.act-reply-compose {
  display:flex;gap:.5rem;align-items:flex-end;
  border-top:1px solid var(--border);padding:.65rem .85rem;background:rgba(0,0,0,.12);
}
.act-reply-input {
  flex:1;background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:var(--rxs);
  color:var(--text);font-family:'DM Sans',sans-serif;font-size:.8rem;
  padding:.45rem .75rem;outline:none;resize:none;
  transition:border-color var(--t);min-height:38px;
}
.act-reply-input:focus { border-color:var(--purple); }
.act-reply-input::placeholder { color:var(--muted); }
.act-reply-send {
  padding:.42rem .9rem;border-radius:var(--rxs);border:none;cursor:pointer;
  background:linear-gradient(135deg,var(--pink),var(--purple));color:#fff;
  font-family:'DM Sans',sans-serif;font-size:.78rem;font-weight:600;
  transition:opacity var(--t),transform var(--t);white-space:nowrap;
}
.act-reply-send:hover { opacity:.88;transform:translateY(-1px); }

/* load more */
.act-load-more {
  display:flex;justify-content:center;padding:1rem 0;
}

/* ── TOGGLE SWITCHES ───────────────────────────────────── */
.lang-toggle-wrap {
  display:inline-flex;flex-direction:row;align-items:center;gap:.35rem;
  cursor:pointer;user-select:none;
}

.lang-toggle-label-text {
  font-family:'JetBrains Mono',monospace;font-size:.65rem;font-weight:700;
  letter-spacing:.05em;text-transform:uppercase;color:var(--muted);
  transition:color var(--t);
}
.lang-toggle-wrap:hover .lang-toggle-label-text { color:var(--dim); }

.toggle-val {
  display:inline-flex;align-items:center;
  font-family:'DM Sans',sans-serif;font-size:.78rem;font-weight:600;
  letter-spacing:.02em;
  padding:.4rem .6rem;border-radius:var(--rxs);
  border:1px solid var(--border);
  background:var(--card);
  transition:background var(--t),border-color var(--t),transform var(--t),box-shadow var(--t);
}
.lang-toggle-wrap:hover .toggle-val {
  background:var(--card-h);border-color:var(--border-h);
  transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.25);
}
.lang-toggle-wrap:active .toggle-val {
  transform:translateY(0);box-shadow:none;
}

/* ── YEAR FILTER SLIDER ─────────────────── */
#year-filter-wrap {
  display:flex;align-items:center;gap:.5rem;
}
.year-filter-label {
  font-family:'JetBrains Mono',monospace;font-size:.72rem;color:var(--dim);
  white-space:nowrap;min-width:4.8rem;text-align:right;
  cursor: default;
}
.year-slider {
  -webkit-appearance:none;appearance:none;
  width:110px;height:3px;border-radius:99px;outline:none;cursor:pointer;
  background:linear-gradient(to right, var(--purple) 0%, var(--purple) var(--pct,50%), rgba(255,255,255,.1) var(--pct,50%), rgba(255,255,255,.1) 100%);
  transition:background var(--t);
}
.year-slider::-webkit-slider-thumb {
  -webkit-appearance:none;appearance:none;
  width:13px;height:13px;border-radius:50%;
  background:var(--purple);border:2px solid var(--bg);
  box-shadow:0 0 0 1px var(--purple);
  cursor:pointer;transition:transform .15s,box-shadow .15s;
}
.year-slider::-moz-range-thumb {
  width:13px;height:13px;border-radius:50%;
  background:var(--purple);border:2px solid var(--bg);
  box-shadow:0 0 0 1px var(--purple);
  cursor:pointer;
}
.year-slider:hover::-webkit-slider-thumb { transform:scale(1.2);box-shadow:0 0 0 3px var(--purple-g); }
.year-slider:hover::-moz-range-thumb    { transform:scale(1.2); }
.year-reset-btn {
  display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:22px;padding:0;border-radius:var(--rxs);
  border:1px solid var(--border);background:var(--card);
  color:var(--muted);font-size:.65rem;cursor:pointer;
  transition:all var(--t);flex-shrink:0;
}
.year-reset-btn:hover { background:var(--card-h);border-color:var(--border-h);color:var(--text); }
/* ── FILTER CONTROL WIDTHS ─────────────────────────────── */
#country-filter-wrap { width:8rem; }
#format-filter-wrap  { width:7rem; }
#genre-filter-wrap   { width:7.5rem; }
#status-filter-wrap  { width:8rem; }
#sort-wrap           { width:8.5rem; }
.controls-right .sort-select { width:100%; }

/* ── SCHEDULE HEADER ────────────────────────────────────── */
#schedule-header {
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:1rem;flex-wrap:wrap;gap:.65rem;
}
.sched-header-left  { display:flex;align-items:center;gap:.85rem;flex-wrap:wrap; }
.sched-header-right { display:flex;gap:.5rem;align-items:center;flex-wrap:wrap; }
.sched-title-block  { cursor:default; }
.sched-heading {
  font-family:'Zen Kaku Gothic New',sans-serif;font-weight:700;
  font-size:1.05rem;color:var(--text);
}
#schedule-week-label {
  font-size:.72rem;color:var(--muted);
  font-family:'JetBrains Mono',monospace;margin-top:.2rem;
}
.btn-this-week { font-size:.72rem; }

/* ── ACTIVITY HEADER ────────────────────────────────────── */
.activity-header-actions { display:flex;gap:.5rem; }

/* ── MODAL HELPERS ──────────────────────────────────────── */
.modal-hint   { font-size:.68rem;color:var(--muted);font-weight:400; }
.modal-spacer { flex:1; }
.sched-modal-nyaa-flags {
  display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding-top:.1rem;
}
.sched-modal-flag-label {
  display:flex;align-items:center;gap:.38rem;
  font-size:.8rem;color:var(--dim);cursor:pointer;user-select:none;
}
.sched-modal-checkbox { width:15px;height:15px;accent-color:var(--purple);cursor:pointer; }
.sched-modal-season-num {
  width:68px;padding:.38rem .5rem;
  font-family:'JetBrains Mono',monospace;font-size:.82rem;
}

/* ── EPISODE MODAL ──────────────────────────────────────── */
.eps-nyaa-icon { display:inline;vertical-align:middle;margin-right:.25rem; }
.eps-empty { padding:.75rem;color:var(--muted);font-size:.8rem; }

/* ── LIST SECTION DIVIDER ───────────────────────────────── */
.list-section-head {
  cursor:default;grid-column:1/-1;
  display:flex;align-items:center;gap:.6rem;
  margin-top:.6rem;margin-bottom:.1rem;
}
.list-section-label {
  font-size:.67rem;font-family:'JetBrains Mono',monospace;
  letter-spacing:.11em;text-transform:uppercase;
}
.list-section-count {
  font-size:.65rem;font-family:'JetBrains Mono',monospace;
  color:var(--muted);background:rgba(255,255,255,.05);
  padding:.08rem .4rem;border-radius:99px;
}
.list-section-rule { flex:1;height:1px;background:var(--border); }
.list-section-spacer {
  grid-column:1/-1;display:flex;align-items:center;gap:.6rem;
  margin-top:.6rem;margin-bottom:.1rem;visibility:hidden;position:relative;
}
.list-section-spacer-label { font-size:.67rem;font-family:'JetBrains Mono',monospace; }
.list-section-spacer-count {
  font-size:.65rem;font-family:'JetBrains Mono',monospace;padding:.08rem .4rem;
}
.list-section-spacer-rule { flex:1;height:1px; }
.list-section-spacer-overlay {
  position:absolute;inset:0;display:flex;align-items:center;visibility:visible;
}

/* ── CARD EXTRAS ────────────────────────────────────────── */
.card-behind-chip { margin-left:5px;cursor:default; }
.empty-state-icon { font-size:2rem; }

/* ── SCHEDULE CARD EXTRAS ───────────────────────────────── */
.sched-status-lbl { display:flex;align-items:center;gap:.18rem; }
.sched-top-bar-actions { display:flex;align-items:center;gap:.28rem; }
.sched-status-actions  { display:flex;align-items:center;gap:.22rem;flex-shrink:0; }
.sched-addep-btn.sched-eps-btn {
  border-color:rgba(56,217,192,.32);background:rgba(56,217,192,.15);color:var(--teal);
}
.sched-addep-btn.sched-eps-btn:hover {
  background:rgba(56,217,192,.3);border-color:rgba(56,217,192,.5);
}

/* ── ANIME SEARCH ───────────────────────────────────────── */
.asearch-pill.adult { color:var(--err); }

/* ── TOOLTIP ────────────────────────────────────────────── */
.tooltip-aired { color:var(--purple); }
.tooltip-next  { color:var(--pink); }
.tooltip-next.sep {
  margin-top:.3rem;padding-top:.3rem;
  border-top:1px solid rgba(255,255,255,.08);
}
.tooltip-empty { color:var(--muted); }

