:root {
  --bg: #090b10;
  --bg-soft: #0f1219;
  --panel: #131720;
  --panel-2: #191e28;
  --line: rgba(255,255,255,.08);
  --muted: #8e96a7;
  --text: #f7f8fb;
  --accent: #e31338;
  --accent-2: #ff3152;
  --radius: 18px;
  --shadow: 0 24px 80px rgba(0,0,0,.45);
}

* { box-sizing: border-box; }
html { background: var(--bg); color: var(--text); scroll-behavior: smooth; }
body { margin: 0; min-height: 100vh; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: radial-gradient(circle at 70% -20%, rgba(227,19,56,.14), transparent 32%), var(--bg); }
button, input, textarea { font: inherit; }
button { color: inherit; }
a { color: inherit; text-decoration: none; }
.hidden { display: none !important; }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: 224px minmax(0,1fr); }
.sidebar { position: fixed; inset: 0 auto 0 0; width: 224px; z-index: 40; padding: 24px 18px; background: rgba(7,9,13,.96); border-right: 1px solid var(--line); display: flex; flex-direction: column; backdrop-filter: blur(16px); }
.brand { display: flex; align-items: center; gap: 11px; padding: 0 8px 26px; font-weight: 900; letter-spacing: .16em; }
.brand-mark { display: grid; place-items: center; width: 33px; height: 33px; border-radius: 10px 4px 10px 4px; background: linear-gradient(135deg,var(--accent-2),#8f001a); box-shadow: 0 8px 24px rgba(227,19,56,.28); font-size: 19px; letter-spacing: 0; }
.brand-word { font-size: 16px; }
.nav-group { display: flex; flex-direction: column; gap: 4px; margin-bottom: 28px; }
.nav-label { color: #555d6f; font-size: 10px; font-weight: 800; letter-spacing: .18em; padding: 0 12px 8px; }
.nav-link { width: 100%; border: 0; background: transparent; color: #9ba3b3; text-align: left; padding: 11px 12px; border-radius: 11px; cursor: pointer; display: flex; gap: 12px; align-items: center; font-size: 13px; font-weight: 650; transition: .18s ease; }
.nav-link span { width: 18px; text-align: center; color: #687184; }
.nav-link:hover { color: white; background: rgba(255,255,255,.045); transform: translateX(2px); }
.nav-link.active { color: white; background: linear-gradient(90deg, rgba(227,19,56,.16), rgba(227,19,56,.03)); box-shadow: inset 3px 0 0 var(--accent); }
.nav-link.active span { color: var(--accent-2); }
.sidebar-bottom { margin-top: auto; padding-top: 18px; border-top: 1px solid var(--line); }

.main-area { grid-column: 2; min-width: 0; }
.topbar { height: 78px; position: sticky; top: 0; z-index: 30; display: flex; align-items: center; gap: 18px; padding: 0 32px; background: linear-gradient(180deg,rgba(9,11,16,.98),rgba(9,11,16,.82)); backdrop-filter: blur(16px); border-bottom: 1px solid rgba(255,255,255,.035); }
.search-box { flex: 1; max-width: 630px; height: 42px; display: flex; align-items: center; gap: 10px; background: #11151c; border: 1px solid rgba(255,255,255,.075); border-radius: 12px; padding: 0 13px; transition: .2s; }
.search-box:focus-within { border-color: rgba(227,19,56,.55); box-shadow: 0 0 0 3px rgba(227,19,56,.08); }
.search-icon { color: #687184; font-size: 20px; transform: rotate(-15deg); }
.search-box input { width: 100%; border: 0; outline: 0; color: white; background: transparent; font-size: 13px; }
.search-box input::placeholder { color: #5f6776; }
.search-hint { font-size: 9px; letter-spacing: .13em; color: #596171; border: 1px solid #2a303c; padding: 4px 6px; border-radius: 5px; }
.top-actions { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.icon-btn { border: 1px solid var(--line); background: #11151c; border-radius: 11px; width: 40px; height: 40px; cursor: pointer; color: #a8afbc; transition: .2s; }
.icon-btn:hover { border-color: #414a5d; color: white; }
.mobile-menu { display: none; }
.profile-pill { display: flex; align-items: center; gap: 10px; border: 0; background: transparent; cursor: pointer; padding: 4px 5px; border-radius: 12px; }
.profile-pill:hover { background: rgba(255,255,255,.04); }
.avatar { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: linear-gradient(135deg,#2d3443,#171b24); border: 1px solid rgba(255,255,255,.12); font-weight: 900; }
.profile-copy { display: flex; flex-direction: column; text-align: left; line-height: 1.2; }
.profile-copy strong { font-size: 12px; }
.profile-copy small { color: var(--muted); font-size: 10px; margin-top: 3px; }

.content-wrap { padding: 0 32px 56px; }
.hero { position: relative; min-height: 420px; overflow: hidden; border-radius: 0 0 24px 24px; margin: 0 -32px 34px; padding: 56px 54px; display: flex; align-items: flex-end; background-size: cover; background-position: center; box-shadow: var(--shadow); isolation: isolate; }
.empty-hero { background-image: radial-gradient(circle at 78% 36%, rgba(227,19,56,.37), transparent 26%), linear-gradient(130deg,#1c2230 0%,#0e1118 55%,#080a0e 100%); }
.hero::before { content:""; position:absolute; inset:0; background: linear-gradient(90deg,rgba(6,8,11,.97) 0%,rgba(6,8,11,.72) 35%,rgba(6,8,11,.18) 70%), linear-gradient(0deg,rgba(9,11,16,1),transparent 45%); z-index:-1; }
.hero-overlay { position:absolute; inset:0; background: radial-gradient(circle at 83% 38%, transparent 0 20%, rgba(0,0,0,.12) 56%); z-index:-1; }
.hero-content { max-width: 610px; position: relative; z-index: 2; }
.eyebrow, .section-kicker { display: block; color: var(--accent-2); font-size: 10px; font-weight: 850; letter-spacing: .16em; }
.hero h1 { font-size: clamp(38px,5vw,66px); line-height: .95; letter-spacing: -.055em; margin: 10px 0 16px; max-width: 660px; text-wrap: balance; }
.hero-meta { display:flex; align-items:center; flex-wrap:wrap; gap:9px; color:#c6cad3; font-size:12px; font-weight:700; }
.hero-meta i { width:4px; height:4px; border-radius:50%; background:#626b7d; }
.hero p { color:#b0b6c3; font-size:13px; line-height:1.65; max-width:560px; margin:18px 0 22px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.hero-buttons { display:flex; gap:10px; flex-wrap:wrap; }
.btn { border:0; border-radius:10px; min-height:40px; padding:0 17px; font-size:12px; font-weight:800; cursor:pointer; transition:.18s ease; display:inline-flex; align-items:center; justify-content:center; gap:8px; }
.btn:hover { transform:translateY(-1px); }
.btn.primary { color:white; background:linear-gradient(135deg,var(--accent-2),#bc0828); box-shadow:0 10px 26px rgba(227,19,56,.2); }
.btn.primary:hover { filter:brightness(1.08); }
.btn.glass { background:rgba(255,255,255,.1); color:white; border:1px solid rgba(255,255,255,.13); backdrop-filter:blur(10px); }
.btn.compact { min-height:35px; padding:0 13px; }
.btn.wide { width:100%; min-height:46px; }
.hero-badge { position:absolute; right:34px; bottom:28px; display:flex; gap:7px; align-items:center; font-size:8px; color:#8d95a5; letter-spacing:.18em; }
.hero-badge span { border:1px solid #596071; color:#d4d8e0; padding:3px 5px; border-radius:4px; letter-spacing:0; }
.hero-badge strong { font-size:9px; }

.section-head, .catalog-title { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; }
.section-head.spaced { margin-top:34px; }
.section-head h2, .catalog-title h2 { margin:5px 0 0; font-size:22px; letter-spacing:-.025em; }
.text-btn { border:0; background:transparent; color:#7f8796; cursor:pointer; font-size:11px; font-weight:700; }
.text-btn:hover { color:white; }
.media-row { margin-top:15px; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; }
.media-card { min-width:0; cursor:pointer; position:relative; }
.poster { aspect-ratio:16/9; position:relative; overflow:hidden; border-radius:13px; background:linear-gradient(135deg,#202632,#11151d); border:1px solid rgba(255,255,255,.055); box-shadow:0 12px 28px rgba(0,0,0,.18); transition:.22s ease; }
.poster::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(7,9,13,.74),transparent 48%); opacity:.7; }
.poster img { width:100%; height:100%; display:block; object-fit:cover; transition:.28s ease; }
.media-card:hover .poster { transform:translateY(-4px) scale(1.018); border-color:rgba(255,255,255,.16); box-shadow:0 18px 34px rgba(0,0,0,.34); }
.media-card:hover .poster img { transform:scale(1.045); }
.card-play { position:absolute; z-index:2; left:12px; bottom:11px; width:31px; height:31px; border-radius:50%; border:1px solid rgba(255,255,255,.26); background:rgba(6,8,11,.72); display:grid; place-items:center; font-size:10px; opacity:0; transform:translateY(4px); transition:.2s; backdrop-filter:blur(8px); }
.media-card:hover .card-play { opacity:1; transform:none; }
.card-badge { position:absolute; z-index:2; top:9px; left:9px; color:white; background:rgba(227,19,56,.9); padding:4px 7px; border-radius:6px; font-size:8px; font-weight:900; letter-spacing:.08em; }
.card-copy { padding:9px 2px 0; }
.card-copy h3 { font-size:12px; margin:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.card-copy p { margin:4px 0 0; color:#747d8f; font-size:10px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.placeholder-poster { width:100%; height:100%; display:grid; place-items:center; background:radial-gradient(circle at 70% 24%,rgba(227,19,56,.35),transparent 28%),linear-gradient(135deg,#232a37,#0d1016); color:#5d6574; font-size:30px; font-weight:900; letter-spacing:-.05em; }

.view { display:none; }
.active-view { display:block; }
.catalog-title { padding:12px 0 10px; }
.result-count { color:#737c8c; font-size:11px; }
.catalog-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:22px 14px; margin-top:14px; }
.empty-state { text-align:center; padding:80px 20px; color:#737c8d; }
.empty-icon { font-size:54px; color:#2b3240; }
.empty-state h3 { color:#d5d9e1; margin:14px 0 8px; }
.empty-state p { margin:0; font-size:12px; }

.modal-backdrop { position:fixed; inset:0; z-index:100; background:rgba(2,3,5,.83); backdrop-filter:blur(12px); display:grid; place-items:center; padding:20px; overflow:auto; }
.detail-modal { width:min(1080px,96vw); max-height:94vh; overflow:auto; background:#0d1016; border:1px solid rgba(255,255,255,.1); border-radius:20px; box-shadow:0 40px 120px rgba(0,0,0,.7); position:relative; }
.close-btn { position:absolute; z-index:10; right:12px; top:12px; width:34px; height:34px; border-radius:50%; border:1px solid rgba(255,255,255,.15); color:white; background:rgba(4,5,8,.78); cursor:pointer; font-size:22px; line-height:1; }
.player-shell { width:100%; aspect-ratio:16/9; max-height:590px; background:#030405; border-radius:20px 20px 0 0; overflow:hidden; display:grid; place-items:center; }
.player-shell iframe, .player-shell video { width:100%; height:100%; border:0; background:#000; }
.player-placeholder { color:#646d7e; text-align:center; padding:30px; }
.player-placeholder strong { display:block; color:#dce0e7; margin-bottom:8px; }
.detail-body { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr); }
.detail-main { padding:28px 30px 34px; }
.detail-heading-row { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.detail-main h2 { font-size:30px; margin:5px 0 12px; letter-spacing:-.04em; }
.detail-meta { display:flex; flex-wrap:wrap; gap:8px; color:#8e96a6; font-size:11px; }
.detail-meta span { padding:4px 7px; border:1px solid #2a303c; border-radius:6px; }
.detail-description { color:#b5bbc7; line-height:1.75; font-size:13px; margin:18px 0; white-space:pre-line; }
.rights-note { padding:11px 12px; border:1px solid rgba(255,255,255,.07); background:#11151c; color:#6f7889; border-radius:10px; font-size:10px; line-height:1.5; }
.comments-panel { border-left:1px solid var(--line); padding:27px 24px; background:#0a0d12; }
.comments-title { display:flex; justify-content:space-between; align-items:center; }
.comments-title h3 { margin:0; font-size:15px; }
.comments-title span { min-width:24px; height:24px; border-radius:8px; display:grid; place-items:center; background:#171c25; color:#8992a3; font-size:10px; }
.comment-form { display:flex; flex-direction:column; gap:8px; margin:15px 0 20px; }
.comment-form textarea { resize:vertical; min-height:74px; max-height:160px; border-radius:10px; border:1px solid #252b36; background:#11151c; color:white; padding:11px; outline:0; font-size:12px; }
.comment-form textarea:focus { border-color:rgba(227,19,56,.5); }
.comment-form .btn { align-self:flex-end; }
.comments-list { display:flex; flex-direction:column; gap:12px; max-height:360px; overflow:auto; padding-right:3px; }
.comment { padding:11px; border:1px solid rgba(255,255,255,.065); border-radius:11px; background:#11151c; }
.comment-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:7px; }
.comment-user { font-size:11px; font-weight:800; }
.comment-user small { color:var(--accent-2); margin-left:5px; }
.comment-time { color:#626b7d; font-size:9px; }
.comment p { margin:0; color:#aeb5c1; font-size:11px; line-height:1.55; white-space:pre-wrap; word-break:break-word; }
.comment-delete { margin-top:8px; border:0; background:transparent; color:#747d8d; font-size:9px; cursor:pointer; padding:0; }
.comment-delete:hover { color:#ff6680; }

.auth-modal { width:min(430px,94vw); border:1px solid rgba(255,255,255,.1); border-radius:19px; padding:30px; background:#0d1016; box-shadow:var(--shadow); position:relative; }
.auth-brand { display:flex; align-items:center; gap:10px; font-weight:900; letter-spacing:.12em; margin-bottom:24px; }
.auth-tabs { display:grid; grid-template-columns:1fr 1fr; background:#11151c; padding:4px; border-radius:10px; margin-bottom:18px; }
.auth-tab { border:0; background:transparent; color:#727b8c; min-height:37px; border-radius:8px; font-weight:750; font-size:11px; cursor:pointer; }
.auth-tab.active { color:white; background:#1b202a; }
.auth-form { display:flex; flex-direction:column; gap:13px; }
.auth-form label { color:#858e9e; font-size:10px; font-weight:800; letter-spacing:.04em; }
.auth-form input { width:100%; margin-top:6px; min-height:43px; border-radius:9px; border:1px solid #272d39; background:#11151c; color:white; outline:0; padding:0 12px; }
.auth-form input:focus { border-color:rgba(227,19,56,.5); }
.form-message { min-height:17px; color:#ff637c; font-size:10px; margin:12px 0 0; }
.toast { position:fixed; z-index:200; left:50%; bottom:25px; transform:translate(-50%,18px); opacity:0; pointer-events:none; background:#f2f4f8; color:#0c0f14; border-radius:10px; padding:10px 14px; font-size:11px; font-weight:800; box-shadow:0 14px 40px rgba(0,0,0,.35); transition:.25s; }
.toast.show { opacity:1; transform:translate(-50%,0); }

@media (max-width: 1200px) {
  .media-row, .catalog-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (max-width: 940px) {
  .app-shell { grid-template-columns:1fr; }
  .main-area { grid-column:1; }
  .sidebar { transform:translateX(-105%); transition:.24s; box-shadow:20px 0 50px rgba(0,0,0,.5); }
  .sidebar.open { transform:none; }
  .mobile-menu { display:block; }
  .topbar { padding:0 18px; }
  .content-wrap { padding-left:18px; padding-right:18px; }
  .hero { margin-left:-18px; margin-right:-18px; padding-left:28px; padding-right:28px; }
  .media-row, .catalog-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .detail-body { grid-template-columns:1fr; }
  .comments-panel { border-left:0; border-top:1px solid var(--line); }
}
@media (max-width: 650px) {
  .topbar { height:68px; gap:8px; }
  .top-actions .icon-btn { display:none; }
  .profile-copy { display:none; }
  .search-hint { display:none; }
  .hero { min-height:390px; padding:42px 20px 28px; align-items:flex-end; }
  .hero h1 { font-size:38px; }
  .hero-badge { display:none; }
  .media-row, .catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px 10px; }
  .section-head h2, .catalog-title h2 { font-size:19px; }
  .detail-main { padding:23px 18px; }
  .detail-heading-row { flex-direction:column; }
  .comments-panel { padding:22px 18px; }
  .modal-backdrop { padding:8px; }
  .detail-modal { width:100%; max-height:97vh; }
}

/* Cineora v1.2 — seriály, řady a epizody */
.series-browser { margin:18px 0 20px; border:1px solid var(--line); border-radius:14px; background:#0a0d12; overflow:hidden; }
.series-browser-head { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:15px 16px; border-bottom:1px solid var(--line); background:#0f131a; }
.series-browser-head > div { min-width:0; }
.series-browser-head strong { display:block; margin-top:5px; font-size:12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.series-browser-head select { min-width:150px; border:1px solid #2a313d; border-radius:9px; background:#151a22; color:#fff; padding:9px 11px; outline:0; font-size:11px; font-weight:750; }
.episode-list { display:flex; flex-direction:column; max-height:330px; overflow:auto; }
.episode-item { width:100%; border:0; border-bottom:1px solid rgba(255,255,255,.055); background:transparent; color:#dce0e7; display:grid; grid-template-columns:42px minmax(0,1fr) auto 34px; align-items:center; gap:11px; padding:12px 14px; text-align:left; cursor:pointer; transition:.18s ease; }
.episode-item:last-child { border-bottom:0; }
.episode-item:hover { background:#121720; }
.episode-item.active { background:linear-gradient(90deg,rgba(227,19,56,.15),rgba(227,19,56,.025)); box-shadow:inset 3px 0 0 var(--accent); }
.episode-number { width:36px; height:29px; display:grid; place-items:center; border-radius:7px; background:#1a202a; color:#8f98a8; font-size:10px; font-weight:900; }
.episode-item.active .episode-number { background:rgba(227,19,56,.2); color:#ff6078; }
.episode-item-copy { min-width:0; display:flex; flex-direction:column; gap:4px; }
.episode-item-copy strong { font-size:11px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.episode-item-copy small { color:#737c8d; font-size:9px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.episode-play { width:28px; height:28px; border:1px solid #343c49; border-radius:50%; display:grid; place-items:center; font-size:9px; color:#9aa3b2; }
.episode-item:hover .episode-play, .episode-item.active .episode-play { color:#fff; border-color:#5b6577; }

@media (max-width:650px) {
  .series-browser-head { align-items:flex-start; flex-direction:column; }
  .series-browser-head select { width:100%; }
}


/* Cineora v1.3 — přímé video URL + vlastní Cineora Player */
.cineora-player { position:relative; width:100%; height:100%; background:#000; overflow:hidden; outline:0; user-select:none; }
.cineora-player::after { content:""; position:absolute; inset:auto 0 0; height:38%; pointer-events:none; background:linear-gradient(transparent,rgba(0,0,0,.82)); z-index:1; opacity:1; transition:opacity .22s ease; }
.cineora-video { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; background:#000; }
.player-big-play { position:absolute; z-index:4; left:50%; top:50%; width:76px; height:76px; transform:translate(-50%,-50%); border:1px solid rgba(255,255,255,.25); border-radius:50%; display:grid; place-items:center; background:rgba(10,12,17,.66); color:#fff; box-shadow:0 18px 50px rgba(0,0,0,.38); backdrop-filter:blur(12px); cursor:pointer; transition:.2s ease; }
.player-big-play:hover { transform:translate(-50%,-50%) scale(1.07); background:rgba(227,19,56,.86); border-color:rgba(255,255,255,.45); }
.player-big-play svg { width:32px; height:32px; fill:currentColor; margin-left:4px; }
.player-controls { position:absolute; z-index:3; left:0; right:0; bottom:0; padding:0 18px 14px; transition:opacity .22s ease, transform .22s ease; }
.player-controls-row { display:flex; align-items:center; gap:5px; min-height:42px; }
.player-btn { width:38px; height:38px; border:0; border-radius:9px; display:grid; place-items:center; color:#fff; background:transparent; cursor:pointer; transition:.16s ease; }
.player-btn:hover { background:rgba(255,255,255,.12); }
.player-btn svg { width:22px; height:22px; fill:currentColor; }
.player-btn svg text { fill:currentColor; font-size:6px; font-weight:900; font-family:Arial,sans-serif; }
.player-progress { width:100%; height:18px; margin:0; accent-color:var(--accent); cursor:pointer; }
.player-volume { width:78px; accent-color:#fff; cursor:pointer; }
.player-time { display:flex; align-items:center; gap:5px; margin-left:4px; color:#d6dae2; font-size:10px; font-variant-numeric:tabular-nums; white-space:nowrap; }
.player-time b { color:#fff; }
.player-time i { color:#707888; font-style:normal; }
.player-spacer { flex:1; }
.cineora-player.controls-hidden .player-controls { opacity:0; transform:translateY(8px); pointer-events:none; }
.cineora-player.controls-hidden::after { opacity:0; }
.cineora-player.controls-hidden { cursor:none; }
.player-error { position:absolute; z-index:5; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; padding:30px; text-align:center; color:#8d96a7; background:radial-gradient(circle at 50% 45%,rgba(227,19,56,.12),transparent 35%),#050609; }
.player-error strong { color:#f5f6f8; font-size:16px; }
.player-error span { max-width:520px; font-size:11px; line-height:1.6; }
.field-help { display:block; margin-top:7px; color:#6f7889; font-size:10px; line-height:1.5; }
@media (max-width:650px) {
  .player-controls { padding:0 8px 8px; }
  .player-btn { width:34px; height:34px; }
  .player-btn svg { width:20px; height:20px; }
  .player-volume { display:none; }
  .player-time { font-size:9px; }
  .player-back, .player-forward, .player-pip { display:none; }
  .player-big-play { width:62px; height:62px; }
}


/* Cineora v1.4 — uložený průběh sledování */
.watch-progress-summary { margin:12px 0 2px; display:flex; align-items:center; gap:9px; min-height:36px; padding:9px 11px; border:1px solid rgba(255,255,255,.08); border-radius:10px; background:rgba(255,255,255,.035); color:#aeb6c4; font-size:10px; font-weight:700; }
.watch-progress-summary strong { color:#fff; }
.progress-summary-icon { width:20px; height:20px; border-radius:50%; display:grid; place-items:center; flex:0 0 auto; background:rgba(227,19,56,.16); color:#ff6078; font-size:9px; }
.progress-summary-bar { margin-left:auto; width:120px; max-width:28%; height:4px; border-radius:99px; overflow:hidden; background:#242a34; }
.progress-summary-bar i { display:block; height:100%; border-radius:inherit; background:var(--accent); }
.episode-item.watched { background:rgba(59,186,113,.035); }
.episode-item.watched .episode-number { background:rgba(59,186,113,.15); color:#65d494; }
.episode-mini-progress { display:block; width:100%; height:3px; margin-top:2px; overflow:hidden; border-radius:99px; background:#242a34; }
.episode-mini-progress i { display:block; height:100%; border-radius:inherit; background:var(--accent); }
.episode-item.watched .episode-mini-progress i { background:#57c987; }
.episode-progress-status { color:#7f8998; font-size:8px; font-weight:850; white-space:nowrap; }
.episode-item.watched .episode-progress-status { color:#65d494; }
.player-resume-badge { position:absolute; z-index:4; top:14px; left:14px; padding:8px 11px; border-radius:9px; background:rgba(10,12,17,.82); border:1px solid rgba(255,255,255,.12); color:#fff; font-size:10px; font-weight:800; backdrop-filter:blur(10px); box-shadow:0 8px 24px rgba(0,0,0,.28); }
@media (max-width:650px) {
  .episode-item { grid-template-columns:36px minmax(0,1fr) 30px; }
  .episode-progress-status { display:none; }
  .progress-summary-bar { width:80px; max-width:25%; }
}

/* Cineora v1.5 — progress přímo pod plakátem */
.card-progress { padding:7px 2px 0; display:flex; flex-direction:column; gap:5px; }
.card-progress.hidden { display:none; }
.card-progress-track { display:block; width:100%; height:3px; overflow:hidden; border-radius:999px; background:#222833; }
.card-progress-track i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--accent),#ff5d76); box-shadow:0 0 12px rgba(227,19,56,.24); }
.card-progress-text { color:#8d96a7; font-size:8px; font-weight:800; letter-spacing:.02em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.media-card:has(.card-progress:not(.hidden)) .card-copy { padding-top:6px; }

/* Cineora v1.5 — Watch Party */
.party-top-btn { position:relative; }
.party-top-btn svg { width:19px; height:19px; fill:currentColor; }
.party-top-btn.party-active { color:#fff; border-color:rgba(227,19,56,.52); background:rgba(227,19,56,.13); box-shadow:0 0 0 3px rgba(227,19,56,.05); }
.party-top-btn.party-active::after { content:""; position:absolute; width:7px; height:7px; border-radius:50%; right:5px; top:5px; background:#45d483; box-shadow:0 0 0 2px #0d1016; }
.detail-actions { display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-end; }
#watchPartyBtn.party-active { border-color:rgba(69,212,131,.28); background:rgba(69,212,131,.08); color:#bcf7d5; }

.party-modal { width:min(560px,94vw); border:1px solid rgba(255,255,255,.1); border-radius:20px; padding:28px; background:#0d1016; box-shadow:var(--shadow); position:relative; }
.party-modal-head { display:flex; gap:15px; align-items:flex-start; padding-right:35px; margin-bottom:24px; }
.party-modal-head h2 { margin:5px 0 5px; font-size:26px; letter-spacing:-.035em; }
.party-modal-head p { margin:0; color:#7e8797; font-size:11px; line-height:1.55; }
.party-logo { width:46px; height:46px; flex:0 0 auto; display:grid; place-items:center; border-radius:14px; background:linear-gradient(135deg,rgba(227,19,56,.95),#8e071f); box-shadow:0 12px 30px rgba(227,19,56,.22); }
.party-logo svg { width:24px; height:24px; fill:white; }
.party-create-card { width:100%; min-height:86px; border:1px solid rgba(255,255,255,.085); border-radius:15px; background:linear-gradient(110deg,#131821,#0f1218); color:#fff; display:grid; grid-template-columns:42px 1fr 22px; align-items:center; gap:13px; padding:14px 15px; text-align:left; cursor:pointer; transition:.18s ease; }
.party-create-card:hover { transform:translateY(-1px); border-color:rgba(227,19,56,.35); background:linear-gradient(110deg,rgba(227,19,56,.1),#10141b 45%); }
.party-create-icon { width:38px; height:38px; border-radius:11px; display:grid; place-items:center; background:rgba(227,19,56,.14); color:#ff5d76; font-size:24px; }
.party-create-card strong { display:block; font-size:12px; }
.party-create-card small { display:block; color:#777f8f; font-size:9px; line-height:1.55; margin-top:5px; }
.party-create-card b { color:#626c7e; font-size:18px; }
.party-divider { height:44px; display:flex; align-items:center; gap:12px; color:#515968; font-size:8px; font-weight:900; letter-spacing:.14em; }
.party-divider::before,.party-divider::after { content:""; height:1px; flex:1; background:#202630; }
.party-join { display:grid; grid-template-columns:1fr auto; gap:9px; }
.party-join input { min-width:0; min-height:42px; border:1px solid #29303b; border-radius:10px; background:#11151c; color:#fff; padding:0 13px; outline:0; text-transform:uppercase; letter-spacing:.16em; font-weight:900; }
.party-join input:focus { border-color:rgba(227,19,56,.52); box-shadow:0 0 0 3px rgba(227,19,56,.06); }
.party-note { margin:15px 2px 0; color:#626b7a; font-size:9px; line-height:1.6; }
.party-active-box { position:relative; padding:18px; border:1px solid rgba(69,212,131,.14); border-radius:15px; background:linear-gradient(135deg,rgba(69,212,131,.055),rgba(255,255,255,.02)); }
.party-live-dot { display:inline-block; width:7px; height:7px; border-radius:50%; background:#45d483; box-shadow:0 0 14px rgba(69,212,131,.6); margin-right:6px; }
.party-live-label { color:#69dc99; font-size:8px; font-weight:900; letter-spacing:.13em; }
.party-code-row { display:flex; justify-content:space-between; align-items:center; gap:15px; margin:17px 0 13px; }
.party-code-row small { display:block; color:#646d7c; font-size:8px; font-weight:900; letter-spacing:.12em; }
.party-code-row strong { display:block; margin-top:4px; font-size:31px; letter-spacing:.14em; line-height:1; }
.party-presence { display:flex; align-items:center; gap:9px; min-height:38px; padding:9px 11px; border-radius:10px; background:rgba(0,0,0,.18); color:#cbd0d9; font-size:10px; }
.party-presence small { color:#6f7887; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#partyStatus { margin:13px 1px 0; color:#8c95a4; font-size:10px; line-height:1.55; }
.party-active-actions { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:18px; }
.party-leave-btn { border:0; background:transparent; color:#ff647d; font-size:10px; font-weight:800; cursor:pointer; padding:8px; }
.party-leave-btn:hover { color:#ff8da0; }

.party-player-chip { position:absolute; z-index:4; top:14px; right:14px; display:flex; align-items:center; gap:7px; min-height:30px; padding:0 10px; border:1px solid rgba(69,212,131,.22); border-radius:9px; background:rgba(8,12,14,.78); color:#c9f6dc; backdrop-filter:blur(10px); font-size:9px; font-weight:850; box-shadow:0 8px 24px rgba(0,0,0,.25); }
.party-player-chip::before { content:""; width:6px; height:6px; border-radius:50%; background:#45d483; box-shadow:0 0 10px rgba(69,212,131,.7); }

@media (max-width:650px) {
  .detail-actions { width:100%; justify-content:flex-start; }
  .party-modal { padding:22px 17px; }
  .party-modal-head { gap:11px; }
  .party-logo { width:40px; height:40px; border-radius:12px; }
  .party-join { grid-template-columns:1fr; }
  .party-code-row { align-items:flex-end; }
  .party-code-row strong { font-size:25px; }
  .party-active-actions { align-items:flex-start; flex-direction:column; }
}

/* Cineora v1.6 — dynamické žánry a přepracovaná domovská stránka */
.genre-nav-list { display:flex; flex-direction:column; gap:3px; max-height:34vh; overflow:auto; padding-right:3px; scrollbar-width:thin; scrollbar-color:#252c37 transparent; }
.genre-nav-btn { position:relative; padding-right:42px; }
.genre-nav-btn em { position:absolute; right:10px; top:50%; transform:translateY(-50%); min-width:21px; height:20px; padding:0 6px; display:grid; place-items:center; border-radius:7px; background:#121720; border:1px solid rgba(255,255,255,.055); color:#606a7a; font-size:8px; font-style:normal; font-weight:850; }
.genre-nav-btn.active em { color:#ff6e85; border-color:rgba(227,19,56,.2); background:rgba(227,19,56,.08); }
.genre-nav-empty { display:block; padding:8px 12px; color:#555f70; font-size:9px; line-height:1.5; }

.home-discovery { position:relative; overflow:hidden; display:grid; grid-template-columns:minmax(220px,.72fr) minmax(0,1.6fr); gap:28px; align-items:center; margin:0 0 30px; padding:20px 22px; border:1px solid rgba(255,255,255,.065); border-radius:18px; background:linear-gradient(120deg,rgba(227,19,56,.09),rgba(19,23,32,.88) 38%,rgba(11,14,20,.96)); box-shadow:0 16px 45px rgba(0,0,0,.16); }
.home-discovery::after { content:""; position:absolute; width:260px; height:260px; right:-90px; top:-150px; border-radius:50%; background:radial-gradient(circle,rgba(227,19,56,.14),transparent 68%); pointer-events:none; }
.home-discovery-copy { display:flex; flex-direction:column; gap:6px; min-width:0; }
.home-discovery-copy strong { font-size:18px; letter-spacing:-.025em; }
.home-discovery-copy small { color:#7f8898; font-size:10px; line-height:1.55; max-width:410px; }
.genre-chip-row { position:relative; z-index:1; display:flex; gap:8px; overflow-x:auto; padding:3px 2px 5px; scrollbar-width:none; }
.genre-chip-row::-webkit-scrollbar { display:none; }
.genre-chip { flex:0 0 auto; min-width:112px; min-height:54px; padding:9px 12px; border:1px solid rgba(255,255,255,.075); border-radius:12px; background:linear-gradient(145deg,#151a23,#0e1218); color:#dce0e7; cursor:pointer; text-align:left; transition:.18s ease; box-shadow:0 9px 22px rgba(0,0,0,.14); }
.genre-chip:hover { transform:translateY(-2px); border-color:rgba(227,19,56,.38); background:linear-gradient(145deg,rgba(227,19,56,.11),#11161e); }
.genre-chip span { display:block; font-size:10px; font-weight:850; }
.genre-chip small { display:block; margin-top:4px; color:#667082; font-size:8px; }
.genre-chip-empty { color:#667082; font-size:10px; padding:10px; }
.home-shelf { margin-bottom:34px; }

/* O něco filmovější hero bez změny identity Cineory. */
.hero { min-height:440px; border-bottom:1px solid rgba(255,255,255,.06); }
.hero::after { content:""; position:absolute; left:0; right:0; bottom:0; height:2px; z-index:1; background:linear-gradient(90deg,transparent,rgba(227,19,56,.72) 18%,rgba(227,19,56,.12) 52%,transparent 88%); opacity:.7; }
.hero-content { padding:7px 0 4px; }
.hero h1 { text-shadow:0 12px 34px rgba(0,0,0,.34); }
.hero-buttons .btn.primary { min-width:118px; }
.media-card .poster { background-color:#11151d; }
.media-card:focus-visible { outline:0; }
.media-card:focus-visible .poster { border-color:rgba(255,49,82,.75); box-shadow:0 0 0 3px rgba(227,19,56,.13),0 18px 34px rgba(0,0,0,.34); }

@media (max-width:900px) {
  .home-discovery { grid-template-columns:1fr; gap:14px; }
  .genre-chip-row { margin-right:-10px; }
}

@media (max-width:650px) {
  .home-discovery { margin-left:-6px; margin-right:-6px; padding:16px; border-radius:15px; }
  .hero { min-height:390px; }
}


/* Cineora v1.7.4 — žánry už nikdy nemíchají filmy a seriály */
.nav-link.scope-active { color:#f2f4f8; background:rgba(255,255,255,.035); }
.nav-link.scope-active::before { opacity:.35; }

.genre-type-switch { display:inline-flex; align-items:center; gap:5px; margin:0 0 18px; padding:4px; border:1px solid rgba(255,255,255,.07); border-radius:12px; background:#0d1117; box-shadow:0 10px 28px rgba(0,0,0,.14); }
.genre-type-switch button { min-height:36px; display:flex; align-items:center; gap:7px; padding:0 12px; border:0; border-radius:9px; background:transparent; color:#7e8796; font:inherit; font-size:10px; font-weight:850; cursor:pointer; transition:.16s ease; }
.genre-type-switch button:hover { color:#dfe3e9; background:rgba(255,255,255,.035); }
.genre-type-switch button.active { color:#fff; background:linear-gradient(135deg,#e31338,#bc0d2b); box-shadow:0 7px 18px rgba(227,19,56,.2); }
.genre-type-switch button span { font-size:9px; opacity:.9; }
.genre-type-switch button em { min-width:20px; height:19px; display:grid; place-items:center; padding:0 5px; border-radius:6px; background:rgba(255,255,255,.07); color:inherit; font-size:8px; font-style:normal; }
.genre-type-switch button.active em { background:rgba(0,0,0,.18); }
.genre-chip small { white-space:nowrap; }

@media (max-width:650px) {
  .genre-type-switch { display:flex; width:100%; }
  .genre-type-switch.hidden { display:none; }
  .genre-type-switch button { flex:1; justify-content:center; }
}


/* Cineora v1.7.5 — animovaný favicon + automatický hero carousel */
.hero { transition: background-image .25s ease, opacity .25s ease; }
.hero.hero-swap { animation: cineoraHeroSwap .62s cubic-bezier(.2,.7,.2,1); }
.hero.hero-swap .hero-content { animation: cineoraHeroCopy .58s cubic-bezier(.2,.75,.25,1); }
@keyframes cineoraHeroSwap {
  0% { opacity:.72; transform:scale(1.008); }
  100% { opacity:1; transform:scale(1); }
}
@keyframes cineoraHeroCopy {
  0% { opacity:0; transform:translateY(12px); filter:blur(2px); }
  100% { opacity:1; transform:translateY(0); filter:blur(0); }
}
.hero-carousel-nav {
  position:absolute; z-index:3; right:34px; bottom:57px; display:flex; align-items:center; gap:7px;
  padding:8px 10px; border:1px solid rgba(255,255,255,.09); border-radius:99px;
  background:rgba(5,7,10,.35); backdrop-filter:blur(12px);
}
.hero-carousel-nav:empty { display:none; }
.hero-dot {
  width:18px; height:4px; padding:0; border:0; border-radius:99px; cursor:pointer;
  background:rgba(255,255,255,.24); transition:width .24s ease, background .24s ease, transform .2s ease;
}
.hero-dot:hover { background:rgba(255,255,255,.55); transform:scaleY(1.35); }
.hero-dot.active { width:32px; background:linear-gradient(90deg,#ff375c,var(--accent)); }
@media (prefers-reduced-motion: reduce) {
  .hero.hero-swap, .hero.hero-swap .hero-content { animation:none; }
}
@media (max-width:650px) {
  .hero-carousel-nav { right:18px; bottom:18px; }
  .hero-dot { width:13px; }
  .hero-dot.active { width:24px; }
}


/* Cineora v1.7.6 — automatická další epizoda */
.next-episode-overlay {
  position:absolute;
  z-index:7;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;
  padding:clamp(24px,4vw,52px);
  background:
    linear-gradient(90deg,rgba(5,7,10,.96) 0%,rgba(5,7,10,.82) 38%,rgba(5,7,10,.18) 76%),
    linear-gradient(0deg,rgba(5,7,10,.98),rgba(5,7,10,.18) 62%);
  backdrop-filter:blur(2px);
  animation:nextEpisodeIn .28s ease both;
}
.next-episode-kicker { color:#ff4767; font-size:9px; font-weight:950; letter-spacing:.22em; }
.next-episode-heading { display:flex; align-items:center; gap:12px; margin-top:9px; max-width:min(720px,88%); }
.next-episode-code { flex:0 0 auto; padding:5px 7px; border:1px solid rgba(255,255,255,.14); border-radius:7px; background:rgba(255,255,255,.07); color:#bfc6d2; font-size:10px; font-weight:900; }
.next-episode-title { color:#fff; font-size:clamp(21px,3vw,34px); line-height:1.05; letter-spacing:-.035em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.next-episode-countdown { margin:11px 0 17px; color:#aeb6c4; font-size:11px; }
.next-episode-countdown b { color:#fff; font-size:13px; }
.next-episode-actions { display:flex; gap:9px; flex-wrap:wrap; }
.next-episode-actions .btn { min-height:39px; }
@keyframes nextEpisodeIn {
  from { opacity:0; transform:scale(1.015); }
  to { opacity:1; transform:scale(1); }
}
@media (max-width:650px) {
  .next-episode-overlay { padding:22px 17px; }
  .next-episode-heading { max-width:100%; align-items:flex-start; flex-direction:column; gap:8px; }
  .next-episode-title { max-width:100%; font-size:22px; white-space:normal; }
  .next-episode-actions { width:100%; }
  .next-episode-actions .btn { flex:1; }
}


/* Cineora v1.7.7 — chytré přednačítání + procenta načítání */
.player-loading {
  position:absolute;
  z-index:6;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:28px;
  background:
    radial-gradient(circle at 50% 45%,rgba(227,19,56,.13),transparent 32%),
    rgba(3,4,7,.88);
  backdrop-filter:blur(8px);
  transition:opacity .2s ease, visibility .2s ease;
}
.player-loading.hidden { opacity:0; visibility:hidden; pointer-events:none; display:flex !important; }
.player-loading-percent {
  color:#fff;
  font-size:clamp(42px,7vw,72px);
  line-height:1;
  font-weight:950;
  letter-spacing:-.065em;
  font-variant-numeric:tabular-nums;
  text-shadow:0 12px 40px rgba(0,0,0,.42);
}
.player-loading-label {
  margin-top:10px;
  color:#ff4767;
  font-size:9px;
  font-weight:950;
  letter-spacing:.22em;
}
.player-loading-track {
  width:min(330px,68vw);
  height:4px;
  margin-top:18px;
  overflow:hidden;
  border-radius:99px;
  background:rgba(255,255,255,.12);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.035);
}
.player-loading-track i {
  display:block;
  width:0;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#b8072b,#ff355a);
  box-shadow:0 0 18px rgba(227,19,56,.48);
  transition:width .22s ease;
}
.player-loading-hint {
  margin-top:11px;
  color:#8f98a8;
  font-size:10px;
  font-weight:650;
  text-align:center;
}
@media (max-width:650px) {
  .player-loading-percent { font-size:46px; }
  .player-loading-track { width:min(280px,74vw); }
}


/* Cineora v1.7.8 — hotfix loaderu pro CDN, které nezačnou bufferovat před Play */
.player-loading-play {
  margin-top:18px;
  min-width:150px;
  min-height:42px;
  padding:0 18px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:11px;
  background:linear-gradient(135deg,#ee163f,#b8072b);
  color:#fff;
  font:inherit;
  font-size:11px;
  font-weight:900;
  letter-spacing:.02em;
  cursor:pointer;
  box-shadow:0 12px 34px rgba(227,19,56,.25);
  transition:transform .18s ease, filter .18s ease, opacity .18s ease;
}
.player-loading-play:hover { transform:translateY(-1px); filter:brightness(1.08); }
.player-loading-play.hidden { display:none; }
.player-loading { pointer-events:auto; }
@media (max-width:650px) {
  .player-loading-play { min-width:140px; min-height:40px; }
}


/* Cineora v1.8.3 — iPhone fullscreen + kompaktní satisfying buffer spirála */
.player-loading {
  position:absolute;
  z-index:5;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:0;
  background:transparent;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  pointer-events:none;
  opacity:1;
  visibility:visible;
  transition:opacity .16s ease, visibility .16s ease;
}
.player-loading.hidden {
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  display:flex !important;
}
.player-loading-orb {
  width:88px;
  height:88px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(3,4,7,.52);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:
    0 18px 52px rgba(0,0,0,.44),
    inset 0 0 24px rgba(255,255,255,.035);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.cineora-buffer-spinner {
  position:relative;
  width:58px;
  height:58px;
  filter:drop-shadow(0 0 12px rgba(227,19,56,.24));
}
.buffer-ring {
  position:absolute;
  display:block;
  border-radius:50%;
  box-sizing:border-box;
}
.buffer-ring-a {
  inset:0;
  border:3px solid rgba(255,255,255,.09);
  border-top-color:#ff3158;
  border-right-color:#ff3158;
  animation:cineora-buffer-spin 1.05s cubic-bezier(.58,.05,.35,.98) infinite;
}
.buffer-ring-b {
  inset:8px;
  border:3px solid rgba(255,255,255,.08);
  border-bottom-color:#ff6b84;
  border-left-color:#ff3158;
  animation:cineora-buffer-spin-reverse .78s cubic-bezier(.58,.05,.35,.98) infinite;
}
.buffer-ring-c {
  inset:17px;
  border:2px solid rgba(255,255,255,.09);
  border-top-color:#fff;
  animation:cineora-buffer-spin .62s linear infinite;
}
.buffer-core {
  position:absolute;
  left:50%;
  top:50%;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 0 4px rgba(255,49,88,.16), 0 0 18px rgba(255,49,88,.75);
  transform:translate(-50%,-50%);
  animation:cineora-buffer-pulse 1.15s ease-in-out infinite;
}
.player-loading-hint {
  margin:0;
  min-height:14px;
  padding:4px 9px;
  border-radius:999px;
  background:rgba(0,0,0,.38);
  color:rgba(255,255,255,.76);
  font-size:9px;
  font-weight:750;
  letter-spacing:.025em;
  text-align:center;
  box-shadow:0 8px 24px rgba(0,0,0,.20);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
}
@keyframes cineora-buffer-spin {
  0% { transform:rotate(0deg) scale(.98); }
  50% { transform:rotate(190deg) scale(1.025); }
  100% { transform:rotate(360deg) scale(.98); }
}
@keyframes cineora-buffer-spin-reverse {
  0% { transform:rotate(360deg) scale(1.02); }
  50% { transform:rotate(170deg) scale(.96); }
  100% { transform:rotate(0deg) scale(1.02); }
}
@keyframes cineora-buffer-pulse {
  0%,100% { opacity:.68; transform:translate(-50%,-50%) scale(.76); }
  50% { opacity:1; transform:translate(-50%,-50%) scale(1.12); }
}
.cineora-player:fullscreen,
.cineora-player:-webkit-full-screen {
  width:100vw !important;
  height:100vh !important;
  max-width:none !important;
  max-height:none !important;
  background:#000;
}
@media (max-width:650px) {
  .player-loading-orb { width:76px; height:76px; }
  .cineora-buffer-spinner { width:50px; height:50px; }
  .buffer-ring-b { inset:7px; }
  .buffer-ring-c { inset:15px; }
  .player-loading-hint { font-size:8px; }
}
@media (prefers-reduced-motion:reduce) {
  .buffer-ring-a,
  .buffer-ring-b,
  .buffer-ring-c { animation-duration:1.8s; }
  .buffer-core { animation:none; }
}


/* Cineora v1.9.0 — volba kvality po ručním překódování */
.player-quality-wrap { position:relative; z-index:6; }
.player-quality {
  width:auto;
  min-width:58px;
  padding:0 9px;
  font-size:9px;
  font-weight:900;
  letter-spacing:.02em;
}
.player-quality > span { white-space:nowrap; }
.player-quality-menu {
  position:absolute;
  right:0;
  bottom:46px;
  width:190px;
  max-width:min(190px,72vw);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  border-radius:11px;
  background:rgba(10,13,18,.96);
  box-shadow:0 18px 46px rgba(0,0,0,.48);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  padding:6px;
}
.player-quality-menu button {
  width:100%;
  min-height:42px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:#d8dde5;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:8px 9px;
  cursor:pointer;
  text-align:left;
}
.player-quality-menu button:hover { background:rgba(255,255,255,.08); }
.player-quality-menu button.active { background:rgba(227,19,56,.14); color:#fff; }
.player-quality-menu button span { font-size:10px; font-weight:900; }
.player-quality-menu button small { color:#778293; font-size:8px; font-weight:700; text-align:right; }
.player-quality-menu button.active small { color:#ff879a; }

@media (max-width:650px) {
  .player-quality { min-width:50px; padding:0 6px; font-size:8px; }
  .player-quality-menu { right:-42px; bottom:42px; width:176px; }
}


/* Cineora v1.9.4 — celková doba sledování */
.watch-time-pill{
  height:42px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:0 12px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:12px;
  background:rgba(17,21,29,.92);
  color:#c8ced9;
  font-size:11px;
  white-space:nowrap;
  box-shadow:0 8px 24px rgba(0,0,0,.12);
}
.watch-time-pill.hidden{display:none!important}
.watch-time-pill strong{
  color:#fff;
  font-size:12px;
  font-variant-numeric:tabular-nums;
}
.watch-time-icon{
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border-radius:7px;
  background:rgba(227,19,56,.13);
  color:#ff4161;
  font-size:9px;
}
@media(max-width:720px){
  .watch-time-pill{
    height:38px;
    padding:0 9px;
    gap:6px;
    font-size:10px;
  }
  .watch-time-icon{display:none}
}
@media(max-width:470px){
  .watch-time-pill{
    position:absolute;
    top:58px;
    right:14px;
    height:30px;
    padding:0 9px;
    border-radius:9px;
    background:rgba(9,11,16,.9);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
  }
}


/* Cineora v1.9.5 — iPhone PWA topbar safe-area fix
   Pouze PWA na malých displejích: hamburger a hledání už nejsou pod
   stavovým řádkem / Dynamic Islandem. Ostatní layout se nemění. */
@media (display-mode: standalone) and (max-width: 650px) {
  @supports (padding-top: env(safe-area-inset-top)) {
    .topbar {
      height: calc(68px + env(safe-area-inset-top));
      padding-top: env(safe-area-inset-top);
      padding-left: max(18px, env(safe-area-inset-left));
      padding-right: max(18px, env(safe-area-inset-right));
    }
  }
}


/* Cineora v1.10.0 — Watch Party chat přes video */
.party-iframe-wrap {
  position:relative;
  width:100%;
  height:100%;
  overflow:hidden;
  background:#000;
}
.party-iframe-wrap > iframe {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}

.party-chat-overlay {
  position:absolute;
  z-index:9;
  inset:0;
  pointer-events:none;
  font-family:inherit;
}
.party-chat-overlay.hidden { display:none !important; }

.party-chat-toggle {
  position:absolute;
  z-index:4;
  top:52px;
  right:14px;
  min-width:74px;
  height:34px;
  padding:0 10px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:10px;
  background:rgba(8,11,16,.58);
  color:#f5f7fa;
  backdrop-filter:blur(14px) saturate(125%);
  -webkit-backdrop-filter:blur(14px) saturate(125%);
  box-shadow:0 10px 30px rgba(0,0,0,.28);
  cursor:pointer;
  pointer-events:auto;
  transition:opacity .18s ease, transform .18s ease, background .18s ease;
}
.party-chat-toggle:hover {
  transform:translateY(-1px);
  background:rgba(18,22,30,.78);
}
.party-chat-toggle svg {
  width:17px;
  height:17px;
  fill:currentColor;
}
.party-chat-toggle-label {
  font-size:9px;
  font-weight:900;
  letter-spacing:.04em;
}
.party-chat-unread {
  position:absolute;
  right:-5px;
  top:-6px;
  min-width:18px;
  height:18px;
  padding:0 5px;
  display:grid;
  place-items:center;
  border:2px solid #090b10;
  border-radius:999px;
  background:#e31338;
  color:#fff;
  font-size:8px;
  font-weight:950;
  box-shadow:0 4px 15px rgba(227,19,56,.36);
}
.party-chat-overlay.is-open .party-chat-toggle {
  opacity:0;
  pointer-events:none;
  transform:translateX(7px);
}

.party-chat-panel {
  position:absolute;
  z-index:5;
  top:14px;
  right:14px;
  bottom:72px;
  width:min(350px,calc(100% - 28px));
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto auto;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.13);
  border-radius:16px;
  background:rgba(8,11,16,.68);
  color:#f4f6fa;
  backdrop-filter:blur(20px) saturate(130%);
  -webkit-backdrop-filter:blur(20px) saturate(130%);
  box-shadow:0 22px 60px rgba(0,0,0,.43);
  pointer-events:auto;
  animation:partyChatPanelIn .18s ease both;
}
.party-chat-head {
  min-height:50px;
  padding:10px 11px 10px 13px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border-bottom:1px solid rgba(255,255,255,.085);
  background:rgba(8,10,14,.26);
}
.party-chat-head > div {
  min-width:0;
  display:grid;
  grid-template-columns:auto auto 1fr;
  align-items:center;
  gap:6px;
}
.party-chat-live-dot {
  width:6px;
  height:6px;
  border-radius:50%;
  background:#48de8b;
  box-shadow:0 0 12px rgba(72,222,139,.72);
}
.party-chat-head strong {
  font-size:10px;
  white-space:nowrap;
}
.party-chat-head small {
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  color:#707989;
  font-size:8px;
  letter-spacing:.08em;
}
.party-chat-close {
  flex:0 0 auto;
  width:29px;
  height:29px;
  border:0;
  border-radius:8px;
  background:rgba(255,255,255,.06);
  color:#dfe3e9;
  font-size:19px;
  line-height:1;
  cursor:pointer;
}
.party-chat-close:hover { background:rgba(255,255,255,.12); }

.party-chat-messages {
  min-height:0;
  overflow-y:auto;
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:12px 10px;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.18) transparent;
}
.party-chat-message {
  align-self:flex-start;
  max-width:88%;
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px 12px 12px 4px;
  background:rgba(22,27,36,.64);
  box-shadow:0 7px 18px rgba(0,0,0,.13);
}
.party-chat-message.mine {
  align-self:flex-end;
  border-color:rgba(227,19,56,.20);
  border-radius:12px 12px 4px 12px;
  background:rgba(171,17,43,.35);
}
.party-chat-message-meta {
  margin-bottom:4px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.party-chat-message-meta strong {
  color:#fff;
  font-size:8px;
  font-weight:900;
}
.party-chat-message-meta span {
  color:#687181;
  font-size:7px;
  font-variant-numeric:tabular-nums;
}
.party-chat-message p {
  margin:0;
  color:#e2e6ec;
  font-size:11px;
  line-height:1.4;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
.party-chat-gif {
  display:block;
  max-width:220px;
  max-height:170px;
  margin-top:3px;
  border-radius:9px;
  object-fit:contain;
  background:rgba(0,0,0,.35);
}
.party-chat-empty {
  margin:auto;
  padding:25px 14px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:5px;
  text-align:center;
  color:#707989;
}
.party-chat-empty strong { color:#b8c0cc; font-size:11px; }
.party-chat-empty span { font-size:9px; }

.party-chat-emoji-picker {
  padding:7px 9px;
  display:grid;
  grid-template-columns:repeat(9,1fr);
  gap:3px;
  border-top:1px solid rgba(255,255,255,.07);
  background:rgba(4,6,9,.28);
}
.party-chat-emoji-picker button {
  width:100%;
  aspect-ratio:1;
  display:grid;
  place-items:center;
  border:0;
  border-radius:7px;
  background:transparent;
  font-size:17px;
  cursor:pointer;
}
.party-chat-emoji-picker button:hover { background:rgba(255,255,255,.09); }

.party-chat-gif-row {
  padding:7px 8px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:6px;
  border-top:1px solid rgba(255,255,255,.07);
  background:rgba(4,6,9,.30);
}
.party-chat-gif-row input,
.party-chat-input {
  min-width:0;
  border:1px solid rgba(255,255,255,.11);
  outline:0;
  background:rgba(4,6,9,.52);
  color:#fff;
}
.party-chat-gif-row input {
  height:32px;
  padding:0 9px;
  border-radius:8px;
  font-size:9px;
}
.party-chat-gif-row input:focus,
.party-chat-input:focus { border-color:rgba(227,19,56,.45); }
.party-chat-gif-send {
  padding:0 10px;
  border:0;
  border-radius:8px;
  background:#e31338;
  color:white;
  font-size:9px;
  font-weight:900;
  cursor:pointer;
}

.party-chat-form {
  min-height:48px;
  padding:7px 8px;
  display:grid;
  grid-template-columns:31px 35px minmax(0,1fr) 34px;
  align-items:center;
  gap:5px;
  border-top:1px solid rgba(255,255,255,.085);
  background:rgba(6,8,12,.45);
}
.party-chat-tool,
.party-chat-send {
  height:32px;
  border:0;
  border-radius:8px;
  color:#eef1f5;
  cursor:pointer;
}
.party-chat-tool {
  background:rgba(255,255,255,.065);
  font-size:15px;
}
.party-chat-gif-btn {
  font-size:8px;
  font-weight:950;
  letter-spacing:.04em;
}
.party-chat-tool:hover { background:rgba(255,255,255,.12); }
.party-chat-input {
  height:32px;
  padding:0 10px;
  border-radius:9px;
  font-size:10px;
}
.party-chat-send {
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#e31338,#b90c28);
  font-size:14px;
  box-shadow:0 7px 18px rgba(227,19,56,.22);
}

.party-chat-popups {
  position:absolute;
  z-index:3;
  left:16px;
  bottom:82px;
  width:min(430px,calc(100% - 32px));
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:7px;
  pointer-events:none;
}
.party-chat-popup {
  max-width:min(390px,88%);
  padding:8px 11px;
  display:flex;
  align-items:center;
  gap:8px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:11px;
  background:rgba(10,13,18,.57);
  color:#f4f6fa;
  backdrop-filter:blur(11px);
  -webkit-backdrop-filter:blur(11px);
  box-shadow:0 9px 27px rgba(0,0,0,.26);
  animation:partyChatPopupIn .24s ease both;
}
.party-chat-popup strong {
  flex:0 0 auto;
  color:#ff7087;
  font-size:9px;
}
.party-chat-popup span {
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#e1e5eb;
  font-size:10px;
}
.party-chat-popup img {
  max-width:126px;
  max-height:80px;
  border-radius:7px;
  object-fit:contain;
}
.party-chat-popup.leaving {
  opacity:0;
  transform:translateY(5px);
  transition:opacity .45s ease,transform .45s ease;
}

@keyframes partyChatPanelIn {
  from { opacity:0; transform:translateX(8px) scale(.985); }
  to { opacity:1; transform:none; }
}
@keyframes partyChatPopupIn {
  from { opacity:0; transform:translateY(7px); }
  to { opacity:1; transform:none; }
}

@media (max-width:650px) {
  .party-chat-toggle {
    top:46px;
    right:9px;
    min-width:56px;
    height:31px;
    padding:0 8px;
  }
  .party-chat-toggle-label { display:none; }
  .party-chat-panel {
    top:8px;
    right:8px;
    bottom:58px;
    width:min(330px,calc(100% - 16px));
    border-radius:13px;
  }
  .party-chat-popups {
    left:9px;
    bottom:62px;
    width:calc(100% - 18px);
  }
  .party-chat-popup { max-width:92%; }
  .party-chat-emoji-picker { grid-template-columns:repeat(6,1fr); }
  .party-chat-gif { max-width:180px; max-height:125px; }
}


/* Cineora v1.11.1 — počítadlo přehrání */
.detail-meta span:last-child { font-variant-numeric:tabular-nums; }
.episode-play-count {
  margin-left:7px;
  color:#9aa3b2;
  font-size:8px;
  font-weight:800;
  white-space:nowrap;
}
.episode-item.active .episode-play-count { color:#d8dde6; }

/* Cineora v1.12.0 — globální motivy webu */
body[data-theme] {
  transition: background .35s ease, color .25s ease;
}
body[data-theme] .app-shell { position:relative; z-index:2; }
body[data-theme]:not([data-theme="default"]) .sidebar,
body[data-theme]:not([data-theme="default"]) .topbar,
body[data-theme]:not([data-theme="default"]) .search-box,
body[data-theme]:not([data-theme="default"]) .icon-btn,
body[data-theme]:not([data-theme="default"]) .genre-type-switch,
body[data-theme]:not([data-theme="default"]) .genre-chip,
body[data-theme]:not([data-theme="default"]) .series-browser,
body[data-theme]:not([data-theme="default"]) .series-browser-head,
body[data-theme]:not([data-theme="default"]) .detail-modal,
body[data-theme]:not([data-theme="default"]) .comments-panel,
body[data-theme]:not([data-theme="default"]) .auth-modal,
body[data-theme]:not([data-theme="default"]) .comment,
body[data-theme]:not([data-theme="default"]) .comment-form textarea,
body[data-theme]:not([data-theme="default"]) .rights-note {
  transition: background .35s ease, border-color .35s ease, box-shadow .35s ease;
}
body[data-theme]:not([data-theme="default"]) .brand-mark,
body[data-theme]:not([data-theme="default"]) .btn.primary,
body[data-theme]:not([data-theme="default"]) .genre-type-switch button.active,
body[data-theme]:not([data-theme="default"]) .card-badge,
body[data-theme]:not([data-theme="default"]) .progress-summary-bar i,
body[data-theme]:not([data-theme="default"]) .episode-mini-progress i,
body[data-theme]:not([data-theme="default"]) .card-progress-track i,
body[data-theme]:not([data-theme="default"]) .hero-dot.active {
  background: linear-gradient(135deg,var(--accent-2),var(--accent)) !important;
}
body[data-theme]:not([data-theme="default"]) .eyebrow,
body[data-theme]:not([data-theme="default"]) .section-kicker,
body[data-theme]:not([data-theme="default"]) .nav-link.active span,
body[data-theme]:not([data-theme="default"]) .comment-user small,
body[data-theme]:not([data-theme="default"]) .episode-progress-status {
  color:var(--accent-2) !important;
}
body[data-theme]:not([data-theme="default"]) .nav-link.active {
  box-shadow:inset 3px 0 0 var(--accent);
}
body[data-theme]:not([data-theme="default"]) .poster,
body[data-theme]:not([data-theme="default"]) .genre-chip,
body[data-theme]:not([data-theme="default"]) .home-discovery {
  border-color:var(--theme-border,rgba(255,255,255,.09));
}
body[data-theme]:not([data-theme="default"]) .media-card:hover .poster {
  border-color:var(--accent);
  box-shadow:0 18px 42px var(--theme-glow,rgba(0,0,0,.35));
}
body[data-theme]:not([data-theme="default"]) .hero::after {
  background:linear-gradient(90deg,transparent,var(--accent-2) 18%,color-mix(in srgb,var(--accent) 28%,transparent) 55%,transparent 88%);
}

/* HALLOWEEN — temně fialový, oranžový měsíc, mlha */
body[data-theme="halloween"] {
  --bg:#120a16;
  --bg-soft:#1a0e20;
  --panel:#211127;
  --panel-2:#2a1730;
  --line:rgba(255,151,45,.12);
  --muted:#ad91b6;
  --text:#fff7ed;
  --accent:#ff6a00;
  --accent-2:#ff9a2f;
  --theme-border:rgba(255,126,26,.18);
  --theme-glow:rgba(255,94,0,.18);
  background:
    radial-gradient(circle at 84% 8%,rgba(255,130,34,.26) 0 5.5%,rgba(255,130,34,.08) 5.8%,transparent 13%),
    radial-gradient(circle at 20% 18%,rgba(135,50,177,.16),transparent 26%),
    linear-gradient(155deg,#130915 0%,#0c0910 52%,#190d1e 100%);
}
body[data-theme="halloween"]::before {
  content:""; position:fixed; inset:auto -10vw -16vh -10vw; height:46vh; z-index:1; pointer-events:none;
  background:radial-gradient(ellipse at center,rgba(148,93,158,.16),transparent 60%),linear-gradient(180deg,transparent,rgba(73,39,81,.18));
  filter:blur(22px); animation:cineoraHalloweenFog 13s ease-in-out infinite alternate;
}
body[data-theme="halloween"] .sidebar { background:rgba(15,7,18,.96); border-right-color:rgba(255,132,35,.13); }
body[data-theme="halloween"] .topbar { background:linear-gradient(180deg,rgba(18,8,21,.98),rgba(18,8,21,.82)); border-bottom-color:rgba(255,132,35,.08); }
body[data-theme="halloween"] .search-box,
body[data-theme="halloween"] .icon-btn,
body[data-theme="halloween"] .genre-type-switch { background:#1c0f21; border-color:rgba(255,146,44,.14); }
body[data-theme="halloween"] .nav-link.active { background:linear-gradient(90deg,rgba(255,106,0,.18),rgba(129,49,161,.06)); }
body[data-theme="halloween"] .empty-hero { background-image:radial-gradient(circle at 78% 36%,rgba(255,122,22,.42),transparent 25%),linear-gradient(130deg,#32153b,#130b16 58%,#08070a); }
body[data-theme="halloween"] .home-discovery { background:linear-gradient(120deg,rgba(255,106,0,.10),rgba(65,23,78,.35) 42%,rgba(13,8,16,.95)); }
body[data-theme="halloween"] .placeholder-poster { background:radial-gradient(circle at 70% 24%,rgba(255,112,22,.34),transparent 30%),linear-gradient(135deg,#31163a,#100a12); }
@keyframes cineoraHalloweenFog { from{transform:translateX(-3%) scale(1)} to{transform:translateX(4%) scale(1.08)} }

/* VÁNOCE — smaragdová, červená, zlato a jemný sníh */
body[data-theme="christmas"] {
  --bg:#07140f;
  --bg-soft:#0b1b14;
  --panel:#10241a;
  --panel-2:#153022;
  --line:rgba(238,210,145,.12);
  --muted:#93aa9c;
  --text:#fffdf5;
  --accent:#bd2635;
  --accent-2:#e8c56b;
  --theme-border:rgba(232,197,107,.18);
  --theme-glow:rgba(232,197,107,.18);
  background:
    radial-gradient(circle at 80% 0%,rgba(189,38,53,.20),transparent 25%),
    radial-gradient(circle at 14% 18%,rgba(27,119,73,.26),transparent 30%),
    linear-gradient(145deg,#07150f,#07110d 56%,#11100a);
}
body[data-theme="christmas"]::after {
  content:""; position:fixed; inset:-20vh 0 0; z-index:45; pointer-events:none; opacity:.23;
  background-image:
    radial-gradient(circle,#fff 0 1.2px,transparent 1.7px),
    radial-gradient(circle,rgba(255,255,255,.85) 0 .8px,transparent 1.3px),
    radial-gradient(circle,rgba(232,197,107,.75) 0 .7px,transparent 1.2px);
  background-size:110px 110px,73px 73px,151px 151px;
  background-position:5px 0,35px 19px,72px 41px;
  animation:cineoraSnow 18s linear infinite;
}
body[data-theme="christmas"] .sidebar { background:rgba(5,18,12,.97); border-right-color:rgba(232,197,107,.12); }
body[data-theme="christmas"] .topbar { background:linear-gradient(180deg,rgba(6,21,14,.98),rgba(6,21,14,.84)); border-bottom-color:rgba(232,197,107,.08); }
body[data-theme="christmas"] .search-box,
body[data-theme="christmas"] .icon-btn,
body[data-theme="christmas"] .genre-type-switch { background:#0d2117; border-color:rgba(232,197,107,.13); }
body[data-theme="christmas"] .brand-mark { color:#17351f; }
body[data-theme="christmas"] .nav-link.active { background:linear-gradient(90deg,rgba(189,38,53,.20),rgba(232,197,107,.035)); }
body[data-theme="christmas"] .empty-hero { background-image:radial-gradient(circle at 78% 36%,rgba(189,38,53,.34),transparent 26%),linear-gradient(130deg,#173b28,#0a1d13 55%,#070c09); }
body[data-theme="christmas"] .home-discovery { background:linear-gradient(120deg,rgba(189,38,53,.08),rgba(20,62,39,.70) 38%,rgba(7,22,14,.96)); }
body[data-theme="christmas"] .hero h1 { text-shadow:0 13px 34px rgba(0,0,0,.52),0 0 36px rgba(232,197,107,.08); }
@keyframes cineoraSnow { from{transform:translateY(-10vh)} to{transform:translateY(20vh)} }

/* SILVESTR — půlnoční modř, zlato, jiskry */
body[data-theme="newyear"] {
  --bg:#070b18;
  --bg-soft:#0c1226;
  --panel:#111a33;
  --panel-2:#172242;
  --line:rgba(242,203,95,.14);
  --muted:#929ebd;
  --text:#fffdf7;
  --accent:#9270ff;
  --accent-2:#f2cb5f;
  --theme-border:rgba(242,203,95,.20);
  --theme-glow:rgba(146,112,255,.22);
  background:
    radial-gradient(circle at 78% 9%,rgba(242,203,95,.14),transparent 20%),
    radial-gradient(circle at 20% 12%,rgba(91,90,224,.22),transparent 28%),
    linear-gradient(160deg,#050817,#0b1024 55%,#090714);
}
body[data-theme="newyear"]::after {
  content:""; position:fixed; inset:0; z-index:45; pointer-events:none; opacity:.28;
  background-image:
    radial-gradient(circle at 12% 18%,#f7d976 0 1px,transparent 1.6px),
    radial-gradient(circle at 72% 10%,#b6a4ff 0 1px,transparent 1.7px),
    radial-gradient(circle at 86% 42%,#fff 0 .8px,transparent 1.4px),
    radial-gradient(circle at 38% 62%,#f7d976 0 .8px,transparent 1.4px);
  background-size:92px 92px,137px 137px,173px 173px,119px 119px;
  animation:cineoraSparkle 4s ease-in-out infinite alternate;
}
body[data-theme="newyear"] .sidebar { background:rgba(5,9,23,.96); border-right-color:rgba(242,203,95,.12); }
body[data-theme="newyear"] .topbar { background:linear-gradient(180deg,rgba(7,11,27,.98),rgba(7,11,27,.84)); }
body[data-theme="newyear"] .search-box,
body[data-theme="newyear"] .icon-btn,
body[data-theme="newyear"] .genre-type-switch { background:#10182e; border-color:rgba(242,203,95,.13); }
body[data-theme="newyear"] .nav-link.active { background:linear-gradient(90deg,rgba(146,112,255,.20),rgba(242,203,95,.05)); }
body[data-theme="newyear"] .empty-hero { background-image:radial-gradient(circle at 78% 30%,rgba(242,203,95,.26),transparent 25%),radial-gradient(circle at 64% 40%,rgba(123,95,255,.24),transparent 30%),linear-gradient(130deg,#192650,#0b1021 60%,#050711); }
body[data-theme="newyear"] .home-discovery { background:linear-gradient(120deg,rgba(146,112,255,.10),rgba(19,27,57,.9) 42%,rgba(7,10,23,.97)); }
@keyframes cineoraSparkle { from{opacity:.16;filter:brightness(.9)} to{opacity:.34;filter:brightness(1.25)} }

/* CYBER NEON — cyan/magenta, neon grid */
body[data-theme="cyber"] {
  --bg:#070914;
  --bg-soft:#0b0e1c;
  --panel:#10152a;
  --panel-2:#151c36;
  --line:rgba(42,240,255,.13);
  --muted:#7f8dae;
  --text:#effcff;
  --accent:#ff28c8;
  --accent-2:#25e8ff;
  --theme-border:rgba(37,232,255,.23);
  --theme-glow:rgba(255,40,200,.22);
  background:radial-gradient(circle at 80% 0%,rgba(255,40,200,.17),transparent 29%),radial-gradient(circle at 10% 30%,rgba(37,232,255,.14),transparent 28%),#070914;
}
body[data-theme="cyber"]::before {
  content:""; position:fixed; inset:0; z-index:1; pointer-events:none; opacity:.18;
  background-image:linear-gradient(rgba(37,232,255,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(255,40,200,.13) 1px,transparent 1px);
  background-size:42px 42px; transform:perspective(500px) rotateX(58deg) scale(1.35) translateY(28%); transform-origin:center bottom;
  mask-image:linear-gradient(to bottom,transparent 8%,#000 45%,#000 100%);
}
body[data-theme="cyber"] .sidebar { background:rgba(5,8,19,.95); border-right-color:rgba(37,232,255,.16); box-shadow:12px 0 45px rgba(37,232,255,.035); }
body[data-theme="cyber"] .topbar { background:linear-gradient(180deg,rgba(6,9,22,.96),rgba(6,9,22,.78)); border-bottom-color:rgba(255,40,200,.10); }
body[data-theme="cyber"] .search-box,
body[data-theme="cyber"] .icon-btn,
body[data-theme="cyber"] .genre-type-switch { background:rgba(13,18,38,.88); border-color:rgba(37,232,255,.14); box-shadow:inset 0 0 18px rgba(37,232,255,.025); }
body[data-theme="cyber"] .brand-mark { box-shadow:0 0 24px rgba(37,232,255,.20),0 0 40px rgba(255,40,200,.12); }
body[data-theme="cyber"] .nav-link.active { background:linear-gradient(90deg,rgba(37,232,255,.12),rgba(255,40,200,.10)); }
body[data-theme="cyber"] .empty-hero { background-image:radial-gradient(circle at 78% 36%,rgba(255,40,200,.30),transparent 27%),radial-gradient(circle at 68% 50%,rgba(37,232,255,.18),transparent 34%),linear-gradient(130deg,#151d42,#090c1d 60%,#040610); }
body[data-theme="cyber"] .poster { box-shadow:0 13px 34px rgba(0,0,0,.31),0 0 0 1px rgba(37,232,255,.02); }
body[data-theme="cyber"] .home-discovery { background:linear-gradient(120deg,rgba(37,232,255,.07),rgba(255,40,200,.07) 42%,rgba(8,12,28,.94)); }

/* GOLDEN PREMIERE — černá, šampaňské zlato, premiérový luxus */
body[data-theme="gold"] {
  --bg:#0b0907;
  --bg-soft:#12100c;
  --panel:#19150f;
  --panel-2:#211b13;
  --line:rgba(221,184,102,.14);
  --muted:#a49a89;
  --text:#fffaf0;
  --accent:#9a6d20;
  --accent-2:#e5c77d;
  --theme-border:rgba(229,199,125,.20);
  --theme-glow:rgba(229,199,125,.15);
  background:radial-gradient(circle at 50% -12%,rgba(229,199,125,.17),transparent 31%),linear-gradient(150deg,#0d0a07,#080807 58%,#110c08);
}
body[data-theme="gold"]::before {
  content:""; position:fixed; inset:0; z-index:1; pointer-events:none; opacity:.32;
  background:linear-gradient(90deg,rgba(93,18,25,.18),transparent 13%,transparent 87%,rgba(93,18,25,.18)),radial-gradient(ellipse at 50% -10%,rgba(229,199,125,.16),transparent 38%);
}
body[data-theme="gold"] .sidebar { background:rgba(11,9,7,.97); border-right-color:rgba(229,199,125,.13); }
body[data-theme="gold"] .topbar { background:linear-gradient(180deg,rgba(12,10,7,.98),rgba(12,10,7,.84)); border-bottom-color:rgba(229,199,125,.09); }
body[data-theme="gold"] .search-box,
body[data-theme="gold"] .icon-btn,
body[data-theme="gold"] .genre-type-switch { background:#17130e; border-color:rgba(229,199,125,.14); }
body[data-theme="gold"] .brand-word { font-family:Georgia,"Times New Roman",serif; letter-spacing:.19em; }
body[data-theme="gold"] .hero h1 { font-family:Georgia,"Times New Roman",serif; letter-spacing:-.035em; }
body[data-theme="gold"] .nav-link.active { background:linear-gradient(90deg,rgba(229,199,125,.15),rgba(229,199,125,.025)); }
body[data-theme="gold"] .empty-hero { background-image:radial-gradient(circle at 78% 34%,rgba(229,199,125,.25),transparent 28%),linear-gradient(130deg,#2b2113,#100e0a 58%,#070706); }
body[data-theme="gold"] .home-discovery { background:linear-gradient(120deg,rgba(229,199,125,.09),rgba(35,28,18,.82) 42%,rgba(12,10,8,.97)); }
body[data-theme="gold"] .btn.primary { color:#171109; font-weight:900; }

/* RETRO VHS — fialová/oranžová, scanlines, synthwave */
body[data-theme="retro"] {
  --bg:#100818;
  --bg-soft:#170d22;
  --panel:#21102d;
  --panel-2:#2b1539;
  --line:rgba(255,95,164,.13);
  --muted:#a88daf;
  --text:#fff4fc;
  --accent:#ff4f9a;
  --accent-2:#ffad54;
  --theme-border:rgba(255,95,164,.20);
  --theme-glow:rgba(255,79,154,.20);
  background:radial-gradient(circle at 72% 3%,rgba(255,79,154,.19),transparent 25%),radial-gradient(circle at 18% 24%,rgba(116,77,255,.18),transparent 30%),linear-gradient(160deg,#100818,#0c0815 58%,#1a0b18);
}
body[data-theme="retro"]::after {
  content:""; position:fixed; inset:0; z-index:45; pointer-events:none; opacity:.055;
  background:repeating-linear-gradient(0deg,rgba(255,255,255,.55) 0 1px,transparent 1px 4px);
  animation:cineoraScan 8s linear infinite;
}
body[data-theme="retro"] .sidebar { background:rgba(16,7,23,.96); border-right-color:rgba(255,79,154,.14); }
body[data-theme="retro"] .topbar { background:linear-gradient(180deg,rgba(16,8,25,.98),rgba(16,8,25,.82)); border-bottom-color:rgba(255,173,84,.08); }
body[data-theme="retro"] .search-box,
body[data-theme="retro"] .icon-btn,
body[data-theme="retro"] .genre-type-switch { background:#1d1028; border-color:rgba(255,79,154,.14); }
body[data-theme="retro"] .nav-link.active { background:linear-gradient(90deg,rgba(255,79,154,.18),rgba(255,173,84,.05)); }
body[data-theme="retro"] .empty-hero { background-image:linear-gradient(0deg,rgba(255,79,154,.10),transparent 45%),radial-gradient(circle at 75% 35%,rgba(255,173,84,.27),transparent 25%),linear-gradient(130deg,#351746,#130b1c 60%,#08070d); }
body[data-theme="retro"] .home-discovery { background:linear-gradient(120deg,rgba(255,79,154,.09),rgba(61,23,77,.6) 42%,rgba(16,8,23,.96)); }
body[data-theme="retro"] .brand-word { text-shadow:2px 0 rgba(37,232,255,.30),-2px 0 rgba(255,79,154,.30); }
@keyframes cineoraScan { from{transform:translateY(0)} to{transform:translateY(12px)} }

@media (prefers-reduced-motion: reduce) {
  body[data-theme]::before, body[data-theme]::after { animation:none !important; }
}

/* v1.13.0 — Premium */
.card-premium-badge{position:absolute;right:10px;top:10px;z-index:3;display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:999px;background:rgba(15,12,5,.86);border:1px solid rgba(255,210,91,.55);color:#ffe08a;font-size:8px;font-weight:900;letter-spacing:.08em;box-shadow:0 6px 20px rgba(0,0,0,.28)}


/* Cineora v1.14.0 — uvítací registrace pro nové hosty */
.guest-welcome-backdrop {
  z-index: 130;
  background: rgba(2,3,5,.58);
  backdrop-filter: blur(7px);
  animation: guestBackdropIn .24s ease both;
}
.guest-welcome-modal {
  position: relative;
  width: min(500px, 94vw);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 22px;
  padding: 28px;
  background:
    radial-gradient(circle at 93% 0%, color-mix(in srgb, var(--accent-2) 18%, transparent), transparent 31%),
    linear-gradient(145deg, rgba(18,22,31,.98), rgba(9,12,17,.99));
  box-shadow: 0 34px 100px rgba(0,0,0,.62), 0 0 0 1px rgba(255,255,255,.025) inset;
  animation: guestModalIn .28s cubic-bezier(.2,.8,.2,1) both;
}
.guest-welcome-glow {
  position: absolute;
  width: 220px;
  height: 220px;
  right: -115px;
  top: -120px;
  border-radius: 50%;
  background: var(--accent-2);
  filter: blur(85px);
  opacity: .13;
  pointer-events: none;
}
.guest-welcome-close { right: 14px; top: 14px; }
.guest-welcome-head { display:flex; align-items:flex-start; gap:15px; padding-right:30px; position:relative; z-index:1; }
.guest-welcome-logo { flex:0 0 auto; padding-top:2px; }
.guest-welcome-logo .brand-mark { width:43px; height:43px; font-size:22px; }
.guest-welcome-head h2 { margin:5px 0 7px; font-size:27px; line-height:1.05; letter-spacing:-.045em; }
.guest-welcome-head p { margin:0; max-width:370px; color:#929baa; font-size:11px; line-height:1.6; }
.guest-benefits { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin:22px 0 18px; position:relative; z-index:1; }
.guest-benefit { display:flex; gap:10px; min-width:0; padding:12px; border:1px solid rgba(255,255,255,.065); border-radius:13px; background:rgba(255,255,255,.035); }
.guest-benefit > span { flex:0 0 auto; width:30px; height:30px; border-radius:9px; display:grid; place-items:center; background:color-mix(in srgb, var(--accent) 18%, rgba(255,255,255,.035)); border:1px solid color-mix(in srgb, var(--accent-2) 22%, transparent); color:var(--accent-2); font-size:12px; font-weight:900; }
.guest-benefit div { min-width:0; display:flex; flex-direction:column; gap:4px; }
.guest-benefit strong { font-size:10px; line-height:1.25; }
.guest-benefit small { color:#788293; font-size:9px; line-height:1.45; }
.guest-welcome-actions { display:grid; grid-template-columns:1.15fr .85fr; gap:9px; position:relative; z-index:1; }
.guest-welcome-actions .btn { min-height:43px; }
.guest-later-btn { display:block; margin:12px auto -5px; padding:6px 10px; border:0; background:transparent; color:#697384; font-size:9px; cursor:pointer; transition:.18s ease; }
.guest-later-btn:hover { color:#c1c7d0; }
@keyframes guestBackdropIn { from { opacity:0; } to { opacity:1; } }
@keyframes guestModalIn { from { opacity:0; transform:translateY(14px) scale(.975); } to { opacity:1; transform:none; } }

@media (max-width:650px) {
  .guest-welcome-backdrop { align-items:end; padding:10px; }
  .guest-welcome-modal { width:100%; padding:24px 18px 18px; border-radius:20px; }
  .guest-welcome-head { gap:12px; padding-right:28px; }
  .guest-welcome-logo .brand-mark { width:39px; height:39px; font-size:20px; }
  .guest-welcome-head h2 { font-size:23px; }
  .guest-benefits { grid-template-columns:1fr; gap:7px; margin:18px 0 15px; }
  .guest-benefit { padding:10px 11px; }
  .guest-benefit small { font-size:8.5px; }
  .guest-welcome-actions { grid-template-columns:1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .guest-welcome-backdrop, .guest-welcome-modal { animation:none !important; }
}

/* v1.15.0 — požadavky na filmy a seriály */
.request-nav-link{position:relative}.request-nav-badge{margin-left:auto;min-width:22px;height:20px;padding:0 6px;border-radius:999px;display:grid;place-items:center;background:rgba(227,19,56,.14);border:1px solid rgba(227,19,56,.24);color:#ff6e86;font-size:9px;font-style:normal;font-weight:900}.request-nav-badge.hidden{display:none}
.request-home-card{position:relative;overflow:hidden;display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:16px;align-items:center;margin:-10px 0 34px;padding:17px 19px;border:1px solid rgba(255,255,255,.065);border-radius:16px;background:linear-gradient(115deg,rgba(227,19,56,.08),rgba(16,20,28,.94) 48%,rgba(10,13,18,.98));box-shadow:0 15px 38px rgba(0,0,0,.13)}
.request-home-card::after{content:"";position:absolute;width:180px;height:180px;right:-60px;top:-110px;border-radius:50%;background:radial-gradient(circle,rgba(227,19,56,.12),transparent 70%);pointer-events:none}.request-home-symbol{width:50px;height:50px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,var(--accent-2),var(--accent));box-shadow:0 12px 25px rgba(227,19,56,.16);color:#fff;font-size:20px;font-weight:900}.request-home-copy{min-width:0;display:flex;flex-direction:column;gap:4px}.request-home-copy strong{font-size:15px;letter-spacing:-.02em}.request-home-copy small{max-width:680px;color:#7d8798;font-size:10px;line-height:1.55}.request-home-btn{position:relative;z-index:1;white-space:nowrap}
.request-center-backdrop{z-index:115}.request-center-modal{position:relative;width:min(980px,96vw);max-height:min(760px,92vh);overflow:auto;border:1px solid rgba(255,255,255,.09);border-radius:22px;background:linear-gradient(145deg,#11151c,#090c12 62%);box-shadow:0 35px 95px rgba(0,0,0,.58)}
.request-center-head{display:grid;grid-template-columns:56px 1fr;gap:16px;align-items:center;padding:24px 26px 20px;border-bottom:1px solid rgba(255,255,255,.065);background:linear-gradient(120deg,rgba(227,19,56,.08),transparent 52%)}.request-center-icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(145deg,var(--accent-2),var(--accent));color:#fff;font-size:21px;box-shadow:0 12px 28px rgba(227,19,56,.18)}.request-center-head h2{margin:4px 0 5px;font-size:22px;letter-spacing:-.035em}.request-center-head p{margin:0;color:#858fa0;font-size:10px;line-height:1.6;max-width:720px}
.request-center-layout{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(360px,1.22fr);gap:0}.request-form{padding:23px 25px;border-right:1px solid rgba(255,255,255,.065);display:flex;flex-direction:column;gap:15px}.request-form-title{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}.request-form-title strong{font-size:14px}.request-form-title small{color:#667183;font-size:9px}.request-form label{color:#8a94a5;font-size:10px;font-weight:800;letter-spacing:.03em}.request-form label>span{font-weight:600;color:#606a79}.request-form input,.request-form select{width:100%;min-height:44px;margin-top:7px;border:1px solid #252c37;border-radius:11px;background:#0d1117;color:#fff;outline:0;padding:0 12px;font-size:12px}.request-form input:focus,.request-form select:focus{border-color:color-mix(in srgb,var(--accent) 55%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 9%,transparent)}.request-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.request-form-message{min-height:16px;color:#ff768c;font-size:9px;line-height:1.45}.request-form-message.success{color:#67d49c}
.request-history{min-width:0;padding:23px 25px}.request-history-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:13px}.request-history-head>div{display:flex;flex-direction:column;gap:3px}.request-history-head strong{font-size:14px}.request-history-head small{color:#697486;font-size:9px}.request-refresh-btn{width:34px;height:34px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:#11161e;color:#98a1b0;cursor:pointer;font-size:15px}.request-refresh-btn:hover{color:#fff;border-color:rgba(255,255,255,.15)}.request-history-list{display:flex;flex-direction:column;gap:9px;max-height:430px;overflow:auto;padding-right:3px}.request-history-item{display:grid;grid-template-columns:36px minmax(0,1fr);gap:11px;padding:12px;border:1px solid rgba(255,255,255,.065);border-radius:13px;background:#0d1117}.request-history-item.is-done{border-color:rgba(69,189,124,.12);background:linear-gradient(120deg,rgba(47,172,105,.055),#0d1117 42%)}.request-history-status{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:rgba(255,169,45,.08);border:1px solid rgba(255,169,45,.14);color:#ffbf62;font-size:12px;font-weight:900}.request-history-item.is-done .request-history-status{background:rgba(64,190,123,.08);border-color:rgba(64,190,123,.16);color:#6bd7a1}.request-history-copy{min-width:0}.request-history-copy>div{display:flex;align-items:center;gap:8px;min-width:0}.request-history-copy strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.request-history-copy>small{display:block;margin-top:3px;color:#657082;font-size:9px}.request-history-copy p{margin:5px 0 0;color:#838d9c;font-size:9px;line-height:1.45}.request-history-copy p b{color:#c8ced8}.request-state{flex:0 0 auto;padding:3px 6px;border-radius:999px;font-size:7px;font-weight:900;letter-spacing:.08em}.request-state.pending{color:#ffc56d;background:rgba(255,169,45,.08);border:1px solid rgba(255,169,45,.14)}.request-state.done{color:#72dca7;background:rgba(56,184,114,.08);border:1px solid rgba(56,184,114,.15)}.request-open-title{margin-top:8px;border:0;border-radius:8px;min-height:30px;padding:0 10px;background:color-mix(in srgb,var(--accent) 15%,#11161d);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);color:#fff;font-size:9px;font-weight:800;cursor:pointer}.request-open-title:hover{filter:brightness(1.15)}.request-premium-lock,.request-unavailable{display:inline-block;margin-top:7px;color:#c4a45d;font-size:9px;font-weight:800}.request-unavailable{color:#786f77}.request-history-empty{min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#6f7989;font-size:10px;line-height:1.5;border:1px dashed rgba(255,255,255,.07);border-radius:13px;padding:20px}.request-history-empty span{font-size:20px;color:var(--accent);margin-bottom:7px}.request-history-empty strong{color:#afb6c1;font-size:11px}.request-history-empty small{margin-top:3px;color:#657081}
body[data-theme]:not([data-theme="default"]) .request-home-card{background:linear-gradient(115deg,color-mix(in srgb,var(--accent) 9%,transparent),color-mix(in srgb,var(--panel) 94%,#080b11) 48%,color-mix(in srgb,var(--bg) 97%,#080b11));border-color:color-mix(in srgb,var(--accent) 14%,rgba(255,255,255,.06))}body[data-theme]:not([data-theme="default"]) .request-center-modal{background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 96%,#10141b),color-mix(in srgb,var(--bg) 98%,#080b11) 62%)}
@media(max-width:820px){.request-home-card{grid-template-columns:46px 1fr}.request-home-symbol{width:44px;height:44px;border-radius:13px}.request-home-btn{grid-column:1/-1;width:100%}.request-center-layout{grid-template-columns:1fr}.request-form{border-right:0;border-bottom:1px solid rgba(255,255,255,.065)}.request-history-list{max-height:330px}}
@media(max-width:560px){.request-home-card{margin-left:-6px;margin-right:-6px;padding:15px;border-radius:15px}.request-home-copy strong{font-size:14px}.request-center-backdrop{place-items:end center;padding:0}.request-center-modal{width:100%;max-height:92vh;border-radius:20px 20px 0 0}.request-center-head{grid-template-columns:44px 1fr;padding:18px 17px 15px}.request-center-icon{width:42px;height:42px;border-radius:13px}.request-center-head h2{font-size:18px}.request-form,.request-history{padding:17px}.request-form-grid{grid-template-columns:1fr}.request-form-title{align-items:flex-start;flex-direction:column;gap:3px}.request-history-list{max-height:none}}


/* Cineora 2.1 — automatické externí titulky Smart Source */
.player-subtitle-wrap { position:relative; z-index:7; }
.player-subtitle {
  width:auto;
  min-width:38px;
  padding:0 7px;
  font-size:9px;
  font-weight:950;
  letter-spacing:.04em;
}
.player-subtitle.active { color:#fff; background:rgba(227,19,56,.18); }
.player-subtitle > span { white-space:nowrap; }
.player-subtitle-menu {
  position:absolute;
  right:0;
  bottom:46px;
  width:200px;
  max-width:min(200px,76vw);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  border-radius:11px;
  background:rgba(10,13,18,.96);
  box-shadow:0 18px 46px rgba(0,0,0,.48);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  padding:6px;
}
.player-subtitle-menu button {
  width:100%; min-height:42px; border:0; border-radius:8px; background:transparent; color:#d8dde5;
  display:flex; align-items:center; justify-content:space-between; gap:12px; padding:8px 9px; cursor:pointer; text-align:left;
}
.player-subtitle-menu button:hover { background:rgba(255,255,255,.08); }
.player-subtitle-menu button.active { background:rgba(227,19,56,.14); color:#fff; }
.player-subtitle-menu button span { font-size:10px; font-weight:900; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.player-subtitle-menu button small { color:#778293; font-size:8px; font-weight:700; text-align:right; }
.player-subtitle-menu button.active small { color:#ff879a; }
.cineora-video::cue { color:#fff; background:rgba(0,0,0,.78); font-size:100%; }
@media (max-width:650px) {
  .player-subtitle { min-width:34px; padding:0 5px; font-size:8px; }
  .player-subtitle-menu { right:-36px; bottom:42px; width:184px; }
}
