:root{--bg: #f5f6f8;--card-bg: #ffffff;--border: #d9dde3;--text: #1f2430;--muted: #6b7280;--accent: #2b6cb0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;max-width:100%;overflow-x:hidden}body{background:var(--bg);color:var(--text)}img{max-width:100%}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.bootstrap{padding:2rem;color:var(--muted)}.topbar{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem 1.25rem;padding:.75rem 1.25rem;background:var(--card-bg);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10;max-width:100%}.topbar__brand{font-weight:700;font-size:1.1rem;min-width:0;overflow-wrap:anywhere}.topbar__nav{display:flex;flex-wrap:wrap;gap:.75rem 1rem}.topbar__nav a{text-decoration:none;color:var(--muted);font-weight:500}.topbar__nav a.active{color:var(--accent)}.topbar__right{margin-left:auto;display:flex;align-items:center;flex-wrap:wrap;gap:.5rem .75rem}.logout-form{margin:0}.content{padding:1.25rem}.toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-bottom:1.25rem}.toolbar__search{flex:1 1 240px;min-width:200px;padding:.4rem .6rem}.toolbar__control{display:flex;align-items:center;gap:.35rem}.toolbar__num{width:7rem;padding:.35rem .5rem}.toolbar input,.toolbar select,.toolbar button{border:1px solid var(--border);border-radius:6px;background:#fff}.toolbar button{padding:.4rem .75rem;cursor:pointer}.toolbar select,.toolbar__control{max-width:100%;min-width:0}.toolbar select{text-overflow:ellipsis}.list-status__message{padding:2rem;text-align:center;color:var(--muted);font-size:1.05rem}.list-status__message--error-unreachable,.list-status__message--error-invalid-token,.list-status__message--error{color:#b23c3c}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;overflow:hidden;display:flex;flex-direction:column}.card__link{text-decoration:none;color:inherit;display:block}.card__head{padding:.6rem .7rem 0;display:flex;flex-direction:column;gap:.35rem}.poster{width:100%;aspect-ratio:2 / 3;object-fit:cover;background:#e2e5ea;display:block}.card__body{padding:.6rem .7rem;display:flex;flex-direction:column;gap:.35rem}.card__title{font-size:.95rem;margin:0;line-height:1.25;overflow-wrap:anywhere}.card__year{color:var(--muted);font-size:.85rem}.card__ratings{display:flex;flex-wrap:wrap;gap:.4rem;font-size:.82rem}.rating__label,.rating--na{color:var(--muted)}.card__versions{display:flex;flex-wrap:wrap;gap:.3rem}.version-tag{font-size:.7rem;background:#eef2f7;border:1px solid var(--border);border-radius:4px;padding:.05rem .35rem}.specials-tag{align-self:flex-start;font-size:.72rem;background:#fdecc8;border-radius:4px;padding:.05rem .4rem}.price{font-size:.8rem;color:var(--text)}.price--na{color:var(--muted)}.count-indicator{margin-bottom:.85rem;color:var(--muted);font-size:.9rem}.detail{max-width:960px}.detail__back{display:inline-block;margin-bottom:1rem;color:var(--accent);text-decoration:none;font-weight:500}.detail__message{padding:2rem 0;color:var(--muted);font-size:1.05rem}.detail__message--error-unreachable,.detail__message--error-invalid-token,.detail__message--error,.detail__message--not-found{color:#b23c3c}.detail__header{display:flex;gap:1.25rem;align-items:flex-start;flex-wrap:wrap}.detail__poster{flex:0 0 auto;width:200px;max-width:100%}.detail__poster .poster{border-radius:8px}.detail__headinfo{flex:1 1 260px;min-width:0}.detail__title{margin:0 0 .35rem;font-size:1.5rem;line-height:1.2;overflow-wrap:anywhere}.detail__subtitle{margin:0 0 .75rem;color:var(--muted);font-style:italic;overflow-wrap:anywhere}.detail__ratings{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.detail__meta{margin:0;display:grid;gap:.3rem 1rem}.detail__meta-row{display:flex;gap:.5rem;flex-wrap:wrap}.detail__meta-row dt{color:var(--muted);font-weight:600;margin:0}.detail__meta-row dd{margin:0;overflow-wrap:anywhere}.detail__episodes,.detail__seasons{margin:.6rem 0 0;font-weight:600}.info-message{margin:0;color:var(--muted);line-height:1.5;overflow-wrap:anywhere}.detail__section{margin-top:1.5rem}.detail__section-title{font-size:1.05rem;margin:0 0 .5rem}.detail__text{margin:0;line-height:1.5;overflow-wrap:anywhere}.detail__chips{display:flex;flex-wrap:wrap;gap:.4rem}.detail__chip{font-size:.8rem;background:#eef2f7;border:1px solid var(--border);border-radius:999px;padding:.1rem .6rem}.detail__people,.detail__versions{margin:0;padding-left:1.1rem;display:grid;gap:.25rem}.detail__person-role,.detail__version-meta{color:var(--muted)}.search-view__bar{margin-bottom:1rem;max-width:100%}.search-view__input{width:100%;max-width:100%;padding:.55rem .75rem;font-size:1rem;border:1px solid var(--border);border-radius:6px;background:#fff}.search-view__hint{color:var(--muted)}.search-status__msg{padding:2rem 0;text-align:center;color:var(--muted);font-size:1.05rem}.search-status__msg--error{color:#b23c3c}.banner{margin-bottom:1rem;padding:.7rem .9rem;border-radius:6px;font-size:.92rem;max-width:100%;overflow-wrap:anywhere}.banner--warning{background:#fdecc8;border:1px solid #e6c67a;color:#7a5a12}.banner--info{background:#e2ecf7;border:1px solid #a9c6e4;color:#24507e}.wishlist-list{display:flex;flex-direction:column;gap:.75rem;max-width:720px}.wishlist-empty{color:var(--muted);padding:1.5rem 0}.wishlist-card{display:flex;flex-wrap:wrap;gap:.85rem;align-items:center;background:var(--card-bg);border:1px solid var(--border);border-radius:8px;padding:.6rem .75rem;max-width:100%}.wishlist-card .download-control{flex:1 1 100%}.wishlist-card__link{display:flex;gap:.85rem;align-items:center;flex:1 1 auto;min-width:0;text-decoration:none;color:inherit}.wishlist-card .poster{width:52px;aspect-ratio:2 / 3;border-radius:4px;flex:0 0 auto}.wishlist-card__info{display:flex;flex-direction:column;gap:.2rem;min-width:0}.wishlist-card__title{margin:0;font-size:.98rem;line-height:1.25;overflow-wrap:anywhere}.wishlist-card__year{color:var(--muted);font-size:.82rem}.price--snapshot{font-size:.85rem}.wishlist-btn{border:1px solid var(--border);border-radius:6px;background:#fff;padding:.4rem .75rem;cursor:pointer;font:inherit}.wishlist-btn[data-state=added],.wishlist-btn[data-state=already-wishlisted]{color:var(--muted)}.wishlist-btn--remove{flex:0 0 auto;color:#b23c3c}.detail__actions{margin-top:1.5rem}.price-table__grid{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem 1rem}.price-table__row{display:flex;justify-content:space-between;gap:.5rem;min-width:0}.price-table__label{color:var(--muted);margin:0}.price-table__value{margin:0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.marketplace{margin-top:1.5rem;max-width:100%}.marketplace__rows{display:flex;flex-direction:column;gap:.5rem}.marketplace__row{display:flex;align-items:center;gap:.6rem;min-width:0;flex-wrap:wrap}.marketplace-icon{flex:0 0 auto;width:20px;height:20px;object-fit:contain}.marketplace-icon--failed{visibility:hidden}.marketplace__title{min-width:0;overflow-wrap:anywhere;color:var(--muted)}.marketplace__link{margin-left:auto;white-space:nowrap}.price-history-wrap{max-width:100%;overflow-x:auto}.price-history{border-collapse:collapse;width:100%;font-size:.88rem}.price-history th,.price-history td{text-align:left;padding:.35rem .6rem;border-bottom:1px solid var(--border);white-space:nowrap}.price-history th{color:var(--muted);font-weight:600}.price-history__empty{color:var(--muted);padding:1rem 0}.episode-lists{margin-top:1.5rem;max-width:100%}.episode-list-block{margin-top:1.25rem}.episode-list{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.6rem;max-width:100%}.episode-list__empty{color:var(--muted)}.missing-episode-list{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-direction:column;gap:.6rem;max-width:820px}.episode-row{display:flex;gap:.75rem;align-items:flex-start;background:var(--card-bg);border:1px solid var(--border);border-radius:8px;padding:.55rem .7rem;max-width:100%}.episode-row__poster{flex:0 0 auto;width:44px}.episode-row__poster .poster{width:44px;aspect-ratio:2 / 3;border-radius:4px}.episode-row__info{display:flex;flex-direction:column;gap:.15rem;min-width:0;flex:1 1 auto}.episode-row__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem;min-width:0}.episode-row__designation{font-variant-numeric:tabular-nums;font-weight:700;font-size:.82rem;color:var(--muted)}.episode-row__series{font-weight:600;overflow-wrap:anywhere;min-width:0}.episode-row__title{overflow-wrap:anywhere}.episode-row__airdate{color:var(--muted);font-size:.82rem}.episode-row__overview{margin:.15rem 0 0;color:var(--muted);font-size:.85rem;line-height:1.4;overflow-wrap:anywhere}.mediathek-mark{flex:0 0 auto;align-self:center;font-size:.8rem;white-space:normal;overflow-wrap:anywhere;text-align:right}.mediathek-mark[data-status=available] .mediathek-mark__link,.mediathek-mark[data-status=multiple_results] .mediathek-mark__link{color:#1f7a3d;font-weight:600}.mediathek-mark[data-status=unavailable] .mediathek-mark__label,.mediathek-mark[data-status=not_checked] .mediathek-mark__label{color:var(--muted)}.wishlist-card .mediathek-mark{align-self:flex-start;text-align:left}.episode-row__mediathek{flex:0 0 auto;display:flex;flex-direction:column;gap:.4rem;align-items:flex-end;min-width:0;max-width:100%}.download-control{display:flex;flex-direction:column;gap:.4rem;min-width:0;max-width:100%}.download-control__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;min-width:0}.download-btn{border:1px solid var(--border);border-radius:6px;background:#fff;padding:.3rem .65rem;cursor:pointer;font:inherit;font-size:.85rem;max-width:100%;overflow-wrap:anywhere}.download-btn--primary{background:#e2f0e6;border-color:#7ab890;color:#1f5a34;font-weight:600}.download-btn--toggle{color:var(--muted)}.download-status-badge{font-size:.8rem;overflow-wrap:anywhere;max-width:100%}.download-status-badge[data-status=done],.download-status-badge[data-status=skipped_exists]{color:#1f7a3d;font-weight:600}.download-status-badge[data-status=failed],.download-status-badge[data-status=interrupted],.download-status-badge[data-status=unavailable]{color:#a23b3b;font-weight:600}.download-downloaded-mark{font-size:.8rem;color:#1f7a3d;font-weight:700;overflow-wrap:anywhere;max-width:100%}.download-variants{min-width:0;max-width:100%}.download-variants__status{margin:0;color:var(--muted);font-size:.82rem;overflow-wrap:anywhere}.download-variant-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem;min-width:0;max-width:100%}.download-variant-row{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .5rem;min-width:0;max-width:100%}.download-variant-row__label{font-size:.82rem;overflow-wrap:anywhere;min-width:0}.download-variant-row__ad,.download-variant-row__recommended{color:var(--muted)}.download-progress-bar{position:relative;height:1.1rem;min-width:90px;max-width:100%;border:1px solid var(--border);border-radius:6px;background:#eef1f4;overflow:hidden}.download-progress-bar__fill{position:absolute;inset:0 auto 0 0;background:#7ab890;transition:width .2s ease}.download-progress-bar__value{position:relative;display:block;text-align:center;font-size:.72rem;line-height:1.1rem;color:#1f3a2a;font-weight:600}.jellyfin-deeplink{display:inline-flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin-top:.75rem;max-width:100%;border:1px solid var(--border);border-radius:6px;padding:.35rem .7rem;font:inherit;font-size:.9rem;text-decoration:none;overflow-wrap:anywhere}.jellyfin-deeplink--enabled{background:#eef2fb;border-color:#9fb4de;color:#2a3f78;cursor:pointer}.jellyfin-deeplink--disabled{background:#f4f4f6;color:var(--muted);cursor:default}.jellyfin-deeplink__icon{flex:0 0 auto;width:18px;height:18px;object-fit:contain}.jellyfin-deeplink__icon--failed{visibility:hidden}.jellyfin-deeplink__label{overflow-wrap:anywhere}.jellyfin-deeplink__hint{font-size:.78rem;color:var(--muted);flex-basis:100%}.spinner{display:inline-block;width:.8em;height:.8em;margin-right:.4em;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;vertical-align:-.1em;animation:spinner-rotate .7s linear infinite}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.mediathek-check-now[data-state=running]{color:var(--muted);cursor:default}.missing-episodes__controls{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin-bottom:.75rem}.mediathek-controls{display:flex;flex-wrap:wrap;gap:.5rem}.mediathek-toggle,.mediathek-check-now,.availability-filter{border:1px solid var(--border);border-radius:6px;background:#fff;padding:.4rem .75rem;cursor:pointer;font:inherit;max-width:100%;overflow-wrap:anywhere;text-align:left}.mediathek-toggle[data-state=on]{background:#e2f0e6;border-color:#7ab890;color:#1f5a34}.availability-filter[data-state=available-only]{background:#e2ecf7;border-color:#a9c6e4;color:#24507e}.mediathek-check-now:disabled{color:var(--muted);cursor:default}.last-checked{color:var(--muted);font-size:.85rem;overflow-wrap:anywhere}.mediathek-note{display:flex;flex-wrap:wrap;gap:.5rem;align-items:baseline}.mediathek-note__link{white-space:nowrap}@media (max-width: 480px){.topbar{gap:.5rem .75rem;padding:.6rem .9rem}.content{padding:.9rem}.card-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.toolbar{gap:.5rem}.toolbar__search{flex-basis:100%;min-width:0}.toolbar__num{width:calc(50% - .3rem)}.detail__header{gap:1rem}.detail__poster{width:150px}.price-table__grid{grid-template-columns:minmax(0,1fr)}.episode-row{flex-wrap:wrap}.mediathek-mark{align-self:flex-start;text-align:left;flex-basis:100%}.episode-row__mediathek{flex-basis:100%;align-items:flex-start}}
