.ftv-episode-completion-item {
    min-width:0; display:flex; align-items:center; direction:rtl;
    background:var(--surface-2,#1a1e25); border:1px solid var(--border,#30343c);
    border-radius:.75rem; transition:background .14s,border-color .14s;
}
.ftv-episode-completion-item:hover { background:var(--surface,#20242b); }
.ftv-episode-completion-item.is-current { border-color:var(--accent,#e6b94f); }
.ftv-episode-completion-item.is-completed { background:#151a1b; border-color:#35443e; }
.ftv-episode-completion-item.is-completed .ftv-episode-card__text strong,
.ftv-episode-completion-item.is-completed .ftv-series-episode-card__body strong { color:#a8b1ae; }
.ftv-episode-completion-item > .ftv-episode-card,
.ftv-episode-completion-item > .ftv-series-episode-card {
    min-width:0; flex:1; padding-inline:.3rem .7rem; border:0; background:transparent;
    border-radius:0; transform:none;
}
.ftv-episode-completion-item > .ftv-episode-card:hover,
.ftv-episode-completion-item > .ftv-series-episode-card:hover { border:0; background:transparent; transform:none; }
.ftv-episode-completion-item .ftv-episode-completion-toggle {
    appearance:none; -webkit-appearance:none; margin-inline:.65rem 0; padding:0;
    border:1px solid transparent; cursor:pointer; font:inherit; line-height:1;
    transition:background .14s,transform .14s,border-color .14s;
}
.ftv-episode-completion-toggle:hover { transform:scale(1.08); border-color:var(--accent,#e6b94f); }
.ftv-episode-completion-toggle:focus-visible { outline:2px solid var(--accent,#e6b94f); outline-offset:3px; }
.ftv-episode-completion-toggle:disabled { cursor:wait; opacity:.55; }
.ftv-episode-completion-item .ftv-episode-guest-play {
    margin-inline:.65rem 0; transition:transform .14s;
}
.ftv-episode-guest-play:hover { transform:scale(1.08); }
.ftv-episode-guest-play:focus-visible { outline:2px solid var(--accent,#e6b94f); outline-offset:3px; }
.ftv-episode-completion-item.is-completed .ftv-episode-completion-toggle {
    color:#b8e6c3; background:#32493c; border-color:#78ab89;
}
.ftv-episode-completion-toggle .ftv-episode-completion-check {
    display:none; fill:none; stroke:currentColor; stroke-width:2.5;
    stroke-linecap:round; stroke-linejoin:round;
}
.ftv-episode-completion-item.is-completed .ftv-episode-completion-play { display:none; }
.ftv-episode-completion-item.is-completed .ftv-episode-completion-check { display:block; }
.ftv-episode-completion-label { color:#97c8a4 !important; }
.ftv-episode-completion-item [hidden] { display:none !important; }
.ftv-episode-completion-hint {
    direction:rtl; display:flex; align-items:center; gap:.45rem; flex-wrap:wrap;
    width:fit-content; margin:.6rem 0 .7rem; padding:.5rem .75rem;
    border:1px solid #51482d; border-radius:.65rem; background:#211f18;
    color:#e8d99e; font-size:.75rem; line-height:1.5;
}
.ftv-episode-completion-hint button { background:none; border:0; color:#fff; cursor:pointer; font:inherit; text-decoration:underline; }
.ftv-episode-completion-message { position:fixed; inset:auto 1rem 1rem auto; z-index:99999; direction:rtl;
    padding:.75rem 1rem; border:1px solid #57442c; border-radius:.65rem;
    background:#22201b; color:#fff; box-shadow:0 8px 24px #0008; font-size:.9rem; }
@media(max-width:700px) {
    .ftv-episode-completion-item .ftv-episode-completion-toggle,
    .ftv-episode-completion-item .ftv-episode-guest-play { margin-inline:.45rem 0; }
    .ftv-episode-completion-item > .ftv-episode-card,
    .ftv-episode-completion-item > .ftv-series-episode-card { padding-inline:.15rem .35rem; }
}
/* Planned episode: half-lit play icon, separate from the green completed check. */
.ftv-episode-completion-item.is-next { background:#1d1c18; border-color:#80682c; }
.ftv-episode-completion-item.is-next .ftv-episode-completion-toggle {
    color:#f4d477; background:linear-gradient(90deg,#a27e2e 50%,#292c2d 50%); border-color:#af8a38;
}
.ftv-episode-completion-item.is-next .ftv-episode-completion-play { fill:currentColor; }
.ftv-episode-next-label { color:#e6b94f !important; }
.ftv-episode-state-menu {
    position:fixed; z-index:100000; box-sizing:border-box; direction:rtl;
    width:202px; max-width:calc(100vw - 16px); padding:5px;
    border:1px solid #665732; border-radius:11px; background:#1b1e21;
    box-shadow:0 12px 30px #000b; color:#f7f5ee;
    font-family:inherit;
}
.ftv-episode-state-menu__option {
    display:flex; align-items:center; gap:9px; width:100%; height:38px;
    box-sizing:border-box; margin:0; padding:5px 8px;
    border:1px solid transparent; border-radius:7px; background:transparent;
    color:#f7f5ee; text-align:right; font:inherit; font-size:12px; font-weight:700; cursor:pointer;
}
.ftv-episode-state-menu__option:hover,.ftv-episode-state-menu__option:focus-visible {
    background:#ffffff12; outline:0;
}
.ftv-episode-state-menu__option[aria-pressed="true"] {
    background:#b48c3026; color:#f2ca69;
}
.ftv-episode-state-menu__icon {
    display:grid; place-items:center; flex:none; width:25px; height:25px;
    border-radius:7px; background:#dcb6581d; color:#f2ce78;
    font-size:14px; font-weight:800; line-height:1;
}
.ftv-episode-state-menu__option--completed .ftv-episode-state-menu__icon {
    background:#78ba8e20; color:#9cddb0;
}
.ftv-episode-state-menu__option--none {
    margin-top:3px; border-top:1px solid #ffffff17; border-radius:0 0 7px 7px;
    color:#aeb5b8; font-weight:600;
}
.ftv-episode-state-menu__option--none .ftv-episode-state-menu__icon {
    background:#ffffff0d; color:#b9bfc2;
}
.ftv-episode-completion-item.is-next .ftv-episode-card__text strong,
.ftv-episode-completion-item.is-next .ftv-series-episode-card__body strong { color:#eee7cf; }
