/*
Theme Name: Russcope Cinema
Theme URI: https://russcope.ru
Author: Russcope
Description: Fast editorial movie and series discovery theme.
Version: 3.4.13
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: russcope
*/

:root {
  --ink: #070809;
  --panel: #101214;
  --panel-2: #171a1d;
  --line: #2b2f33;
  --text: #f7f7f5;
  --muted: #a8adb3;
  --red: #d92f2f;
  --cyan: #51d7e8;
  --yellow: #f2c94c;
  --max: 1240px;
  --header: 68px;
}

* { box-sizing: border-box; }
html { color-scheme: dark; scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--ink);
  color: var(--text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: 0;
  overflow-x: hidden;
}
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; height: auto; }
button, input, select { font: inherit; letter-spacing: 0; }
button { color: inherit; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.wrap { width: min(calc(100% - 40px), var(--max)); margin-inline: auto; }
.site-main { min-height: 70vh; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  height: var(--header);
  border-bottom: 1px solid rgba(255,255,255,.1);
  background: rgba(7,8,9,.92);
  backdrop-filter: blur(14px);
}
.header-inner { height: 100%; display: flex; align-items: center; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 10px; flex: 0 0 auto; font-weight: 850; font-size: 22px; }
.brand-mark { width: 28px; height: 28px; display: grid; place-items: center; background: var(--red); border-radius: 5px; color: #fff; font-size: 14px; }
.brand-word span { color: var(--cyan); }
.primary-nav { margin-left: auto; }
.primary-nav ul { display: flex; gap: 24px; align-items: center; list-style: none; margin: 0; padding: 0; }
.primary-nav a { color: #d9dde0; font-size: 14px; font-weight: 650; }
.primary-nav a:hover, .primary-nav .current-menu-item a { color: #fff; }
.header-actions { display: flex; gap: 8px; }
.icon-btn { width: 40px; height: 40px; border: 1px solid var(--line); background: var(--panel); border-radius: 6px; cursor: pointer; display: grid; place-items: center; }
.icon-btn:hover { border-color: #626970; background: #1c2024; }
.menu-toggle { display: none; }

.hero {
  position: relative;
  min-height: min(680px, calc(100vh - 28px));
  display: flex;
  align-items: flex-end;
  isolation: isolate;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
}
.hero-media { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(2,4,5,.48); box-shadow: inset 680px 0 220px rgba(2,4,5,.82), inset 0 -240px 180px rgba(2,4,5,.88); }
.hero-content { padding-block: 120px 64px; max-width: 700px; }
.eyebrow { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; color: var(--cyan); font-size: 12px; font-weight: 800; text-transform: uppercase; }
.eyebrow::before { content: ""; width: 32px; height: 2px; background: var(--red); }
.hero h1 { margin: 0; font-size: clamp(48px, 8vw, 104px); line-height: .92; font-weight: 900; max-width: 9ch; }
.hero-copy { max-width: 590px; color: #d0d4d7; font-size: 18px; margin: 22px 0 28px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.btn { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 0 18px; border: 1px solid transparent; border-radius: 6px; font-weight: 750; cursor: pointer; }
.btn-primary { background: var(--red); color: #fff; }
.btn-primary:hover { background: #e92f2f; }
.btn-secondary { background: rgba(12,14,16,.76); border-color: rgba(255,255,255,.22); }
.btn-secondary:hover { background: #1b1e21; }
.hero-stats { display: flex; gap: 26px; margin-top: 34px; color: var(--muted); font-size: 13px; }
.hero-stats strong { display: block; color: #fff; font-size: 19px; }

.discovery { padding: 34px 0; border-bottom: 1px solid var(--line); background: #0c0e10; }
.discovery-inner { display: grid; grid-template-columns: minmax(220px, 1fr) 2fr; gap: 40px; align-items: center; }
.discovery h2 { margin: 0 0 4px; font-size: 20px; }
.discovery p { margin: 0; color: var(--muted); font-size: 14px; }
.mood-list { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.mood-chip { border: 1px solid var(--line); background: var(--panel); color: #d9dde0; border-radius: 999px; padding: 9px 14px; cursor: pointer; font-size: 13px; font-weight: 650; }
.mood-chip:hover, .mood-chip.is-active { border-color: var(--cyan); color: #fff; background: #172326; }

.section { padding: 54px 0; }
.section + .section { border-top: 1px solid #181b1e; }
.section-head { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.section-title { margin: 0; font-size: 30px; line-height: 1.1; }
.section-subtitle { margin: 7px 0 0; color: var(--muted); }
.text-link { color: var(--cyan); font-size: 14px; font-weight: 700; }
.text-link:hover { color: #fff; }
.movie-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px 16px; }
.movie-card { min-width: 0; position: relative; }
.poster { position: relative; aspect-ratio: 2 / 3; overflow: hidden; border-radius: 6px; background: #171a1d; border: 1px solid #252a2e; }
.poster img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.movie-card:hover .poster img { transform: scale(1.035); }
.poster-fallback { width: 100%; height: 100%; object-fit: cover; filter: saturate(.72) contrast(1.05); }
.poster-shade { position: absolute; inset: 0; box-shadow: inset 0 -100px 80px rgba(0,0,0,.72); pointer-events: none; }
.badge { position: absolute; top: 10px; left: 10px; padding: 5px 8px; border-radius: 4px; background: rgba(7,8,9,.82); border: 1px solid rgba(255,255,255,.16); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.rating { position: absolute; bottom: 10px; left: 10px; display: inline-flex; gap: 5px; align-items: center; padding: 5px 7px; border-radius: 4px; background: #0b0d0e; color: var(--yellow); font-size: 12px; font-weight: 800; }
.favorite { position: absolute; top: 10px; right: 10px; width: 34px; height: 34px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; background: rgba(7,8,9,.8); cursor: pointer; display: grid; place-items: center; font-size: 17px; }
.favorite:hover, .favorite.is-saved { background: var(--red); border-color: var(--red); }
.favorite-action.is-saved { background: var(--red); border-color: var(--red); color: #fff; }
.movie-title { margin: 12px 0 4px; font-size: 15px; line-height: 1.25; font-weight: 780; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.movie-meta { color: var(--muted); font-size: 12px; display: flex; gap: 8px; }
.movie-meta span + span::before { content: "·"; margin-right: 8px; }
.empty-state { grid-column: 1 / -1; padding: 60px 20px; border: 1px dashed #383e43; text-align: center; color: var(--muted); border-radius: 6px; }

.catalog-head { padding: 54px 0 28px; border-bottom: 1px solid var(--line); }
.catalog-head h1 { margin: 0; font-size: 44px; }
.filters { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.filter-link { padding: 8px 12px; border: 1px solid var(--line); border-radius: 5px; color: var(--muted); font-size: 13px; }
.filter-link:hover, .filter-link.active { color: #fff; border-color: var(--red); }
.pagination { margin-top: 42px; }
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: 7px; }
.page-numbers { min-width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 5px; }
.page-numbers.current { background: var(--red); border-color: var(--red); }

.single-hero { position: relative; min-height: 610px; display: flex; align-items: flex-end; overflow: hidden; border-bottom: 1px solid var(--line); }
.single-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .48; }
.single-hero::after { content: ""; position: absolute; inset: 0; background: rgba(4,5,6,.38); box-shadow: inset 0 -310px 210px #070809, inset 520px 0 220px rgba(5,6,7,.7); }
.single-layout { position: relative; z-index: 1; display: grid; grid-template-columns: 220px minmax(0, 720px); gap: 36px; align-items: end; padding-block: 120px 48px; }
.single-poster { aspect-ratio: 2/3; border-radius: 6px; overflow: hidden; border: 1px solid rgba(255,255,255,.2); background: var(--panel); }
.single-poster img { width: 100%; height: 100%; object-fit: cover; }
.single-copy h1 { margin: 8px 0 14px; font-size: clamp(38px, 6vw, 72px); line-height: .98; }
.single-meta { display: flex; flex-wrap: wrap; gap: 9px 18px; color: #d7dbde; font-size: 14px; }
.single-meta .score { color: var(--yellow); font-weight: 850; }
.single-summary { color: #c5c9cd; max-width: 680px; margin: 18px 0 24px; font-size: 17px; }
.content-layout { display: grid; grid-template-columns: minmax(0, 760px) 280px; gap: 64px; }
.entry-content { font-size: 17px; color: #d5d8da; }
.entry-content h2, .entry-content h3 { color: #fff; margin-top: 1.8em; }
.entry-content a { color: var(--cyan); text-decoration: underline; text-underline-offset: 3px; }
.entry-content img { border-radius: 6px; }
.facts { border-top: 2px solid var(--red); padding-top: 18px; }
.facts h2 { margin: 0 0 14px; font-size: 18px; }
.fact-row { display: flex; justify-content: space-between; gap: 20px; padding: 10px 0; border-bottom: 1px solid var(--line); font-size: 13px; }
.fact-row span { color: var(--muted); }

.search-panel { position: fixed; inset: var(--header) 0 auto; z-index: 45; padding: 24px 0; background: #0d0f11; border-bottom: 1px solid var(--line); transform: translateY(calc(-100% - var(--header))); transition: transform .22s ease; }
.search-panel.is-open { transform: translateY(0); }
.search-form { display: flex; gap: 8px; }
.search-field { min-width: 0; flex: 1; height: 48px; padding: 0 15px; border: 1px solid var(--line); border-radius: 6px; background: #080a0b; color: #fff; }
.search-field:focus { outline: 2px solid var(--cyan); outline-offset: 1px; }

.site-footer { border-top: 1px solid var(--line); background: #0c0e0f; padding: 42px 0 28px; }
.footer-grid { display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: start; }
.footer-copy { color: var(--muted); max-width: 540px; font-size: 13px; }
.footer-nav { display: flex; flex-wrap: wrap; gap: 16px; font-size: 13px; }
.copyright { margin-top: 34px; padding-top: 20px; border-top: 1px solid #202428; color: #747b82; font-size: 12px; }

@media (max-width: 1000px) {
  .movie-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .content-layout { grid-template-columns: 1fr; }
  .facts { max-width: 620px; }
}

@media (max-width: 760px) {
  :root { --header: 60px; }
  .wrap { width: min(calc(100% - 28px), var(--max)); }
  .primary-nav { position: fixed; inset: var(--header) 0 0; padding: 30px; background: #090b0c; transform: translateX(100%); transition: transform .2s ease; }
  .primary-nav.is-open { transform: translateX(0); }
  .primary-nav ul { align-items: flex-start; flex-direction: column; gap: 22px; }
  .primary-nav a { font-size: 20px; }
  .menu-toggle { display: grid; }
  .hero { min-height: 650px; }
  .hero::after { background: rgba(2,4,5,.55); box-shadow: inset 0 -290px 180px rgba(2,4,5,.92); }
  .hero-content { padding-block: 120px 42px; }
  .hero h1 { font-size: 58px; }
  .hero-copy { font-size: 16px; }
  .hero-stats { gap: 18px; }
  .discovery-inner { grid-template-columns: 1fr; gap: 18px; }
  .mood-list { justify-content: flex-start; overflow-x: auto; flex-wrap: nowrap; padding-bottom: 4px; }
  .mood-chip { flex: 0 0 auto; }
  .section { padding: 42px 0; }
  .section-title { font-size: 26px; }
  .movie-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 12px; }
  .section-head { align-items: start; }
  .single-hero { min-height: 720px; }
  .single-hero::after { box-shadow: inset 0 -380px 230px #070809; }
  .single-layout { grid-template-columns: 112px 1fr; gap: 18px; padding-block: 180px 36px; }
  .single-copy h1 { font-size: 36px; }
  .single-summary { grid-column: 1 / -1; font-size: 15px; }
  .content-layout { gap: 40px; }
  .footer-grid { grid-template-columns: 1fr; }
}

/* Glass interface and interactive cinema components */
:root {
  --glass: rgba(17, 20, 24, .62);
  --glass-strong: rgba(12, 15, 18, .82);
  --glass-line: rgba(255,255,255,.16);
  --shadow: 0 18px 55px rgba(0,0,0,.28);
}
html[data-theme="light"] {
  color-scheme: light;
  --ink: #edf3f6;
  --panel: rgba(255,255,255,.72);
  --panel-2: #e2eaee;
  --line: rgba(24,39,48,.16);
  --text: #11191e;
  --muted: #52616a;
  --cyan: #007888;
  --yellow: #8a6500;
  --glass: rgba(255,255,255,.62);
  --glass-strong: rgba(248,252,253,.88);
  --glass-line: rgba(255,255,255,.78);
  --shadow: 0 18px 55px rgba(38,55,64,.13);
}
html[data-theme="light"] body { background: radial-gradient(circle at 75% 5%, #d9f0f3 0, transparent 32%), var(--ink); }
html[data-theme="light"] .site-header { background: rgba(242,248,250,.78); border-color: rgba(26,42,50,.12); }
html[data-theme="light"] .primary-nav a, html[data-theme="light"] .movie-title, html[data-theme="light"] .entry-content, html[data-theme="light"] .entry-content h2, html[data-theme="light"] .entry-content h3 { color: var(--text); }
html[data-theme="light"] .icon-btn, html[data-theme="light"] .mood-chip, html[data-theme="light"] .search-field { background: rgba(255,255,255,.72); color: var(--text); }
html[data-theme="light"] .discovery, html[data-theme="light"] .site-footer, html[data-theme="light"] .search-panel { background: rgba(235,243,246,.9); }
html[data-theme="light"] .section + .section { border-color: rgba(20,35,42,.1); }

.site-header { background: var(--glass-strong); -webkit-backdrop-filter: blur(22px) saturate(150%); backdrop-filter: blur(22px) saturate(150%); }
.icon-btn { position: relative; flex: 0 0 40px; background: var(--glass); border-color: var(--glass-line); box-shadow: inset 0 1px rgba(255,255,255,.08); }
.favorite-link span { position: absolute; right: -4px; top: -5px; min-width: 17px; height: 17px; padding-inline: 4px; border-radius: 9px; background: var(--red); color: #fff; display: grid; place-items: center; font-size: 10px; font-weight: 800; }
.toast { position: fixed; z-index: 100; left: 50%; bottom: 28px; transform: translate(-50%, 20px); padding: 11px 16px; border: 1px solid var(--glass-line); border-radius: 8px; background: var(--glass-strong); box-shadow: var(--shadow); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); opacity: 0; pointer-events: none; transition: opacity .2s ease, transform .2s ease; font-size: 14px; font-weight: 700; }
.toast.is-visible { opacity: 1; transform: translate(-50%, 0); }

.hero-content { animation: hero-in .7s cubic-bezier(.2,.8,.2,1) both; }
.hero-media { animation: cinema-drift 14s ease-in-out infinite alternate; }
.reveal { opacity: 0; transform: translateY(18px); }
.reveal.is-revealed { opacity: 1; transform: none; transition: opacity .5s ease, transform .5s ease; }
.movie-card:nth-child(2n).is-revealed { transition-delay: .05s; }
.movie-card:nth-child(3n).is-revealed { transition-delay: .1s; }
@keyframes hero-in { from { opacity: 0; transform: translateY(20px); } }
@keyframes cinema-drift { to { transform: scale(1.025); } }
@keyframes orbit { to { transform: rotate(360deg); } }
@keyframes ambient-float {
  0% { transform: translate3d(-2%, 0, 0) rotate(0deg); }
  50% { transform: translate3d(3%, -2%, 0) rotate(10deg); }
  100% { transform: translate3d(-1%, 2%, 0) rotate(-8deg); }
}
@keyframes scanline {
  0% { transform: translateY(-20vh); opacity: 0; }
  18% { opacity: .38; }
  72% { opacity: .18; }
  100% { transform: translateY(120vh); opacity: 0; }
}
@keyframes pulse-ring {
  0%, 100% { transform: scale(.92); opacity: .52; }
  50% { transform: scale(1.08); opacity: .9; }
}
@keyframes title-shimmer {
  0% { background-position: 0 50%; }
  100% { background-position: 200% 50%; }
}

.compass-section { padding: 0 0 28px; margin-top: -18px; position: relative; z-index: 3; }
.compass-glass { display: grid; grid-template-columns: minmax(210px,.75fr) 1.6fr; gap: 34px; align-items: center; padding: 26px; border: 1px solid var(--glass-line); border-radius: 8px; background: var(--glass); box-shadow: var(--shadow), inset 0 1px rgba(255,255,255,.08); -webkit-backdrop-filter: blur(24px) saturate(145%); backdrop-filter: blur(24px) saturate(145%); }
.compass-copy h2 { margin: 0; font-size: 30px; }
.compass-copy p { color: var(--muted); margin: 7px 0 0; font-size: 14px; }
.compass-controls { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)) auto; gap: 10px; align-items: end; }
.compass-controls label > span { display: block; color: var(--muted); font-size: 11px; font-weight: 750; margin: 0 0 6px 3px; text-transform: uppercase; }
.compass-controls select { width: 100%; height: 44px; border: 1px solid var(--glass-line); border-radius: 6px; padding: 0 32px 0 11px; background: var(--glass-strong); color: var(--text); }
.compass-result { grid-column: 1 / -1; display: flex; align-items: center; gap: 12px; padding-top: 20px; border-top: 1px solid var(--glass-line); }
.compass-result[hidden] { display: none; }
.compass-result div { display: grid; margin-right: auto; }
.compass-result small { color: var(--muted); }
.signal-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 0 7px color-mix(in srgb, var(--cyan) 18%, transparent); }

.movie-grid { width: 100%; align-items: start; }
.movie-card { width: 100%; max-width: 100%; overflow: visible; }
.poster { display: block; box-shadow: 0 12px 30px rgba(0,0,0,.2); }
.movie-title { min-height: 2.5em; white-space: normal; overflow: visible; text-overflow: clip; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.movie-title a { overflow-wrap: anywhere; }
.movie-card:hover { transform: translateY(-4px); transition: transform .25s ease; }

.cinema-player { width: min(100%, 1100px); aspect-ratio: 16/9; margin-inline: auto; overflow: hidden; border: 1px solid var(--glass-line); border-radius: 8px; background: #020303; box-shadow: var(--shadow); }
.cinema-player iframe, .cinema-player video { width: 100%; height: 100%; border: 0; object-fit: contain; }
.player-placeholder { display: grid; grid-template-rows: 1fr 48px; color: #f7f7f5; background: linear-gradient(135deg, rgba(5,7,8,.72), rgba(5,7,8,.94)), url('assets/cinema.webp') center/cover; }
.player-stage { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 7px; }
.player-stage small { color: #aeb7bc; }
.play-orbit { position: relative; width: 70px; height: 70px; display: grid; place-items: center; padding-left: 4px; margin-bottom: 8px; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; background: rgba(255,255,255,.1); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); font-size: 24px; }
.play-orbit::after { content: ""; position: absolute; width: 82px; height: 82px; border: 1px solid transparent; border-top-color: var(--cyan); border-radius: 50%; animation: orbit 4s linear infinite; }
.player-bar { display: flex; align-items: center; justify-content: space-between; padding-inline: 18px; border-top: 1px solid rgba(255,255,255,.12); background: rgba(0,0,0,.55); color: #aeb7bc; font-size: 12px; }

.comments-wrap { max-width: 920px; }
.comment-list, .comment-list .children { list-style: none; padding: 0; margin: 0; }
.comment-list .children { margin-left: 54px; }
.comment-bubble { margin-bottom: 16px; }
.comment-bubble > article { display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 12px; align-items: start; }
.comment-avatar img { border-radius: 50%; }
.comment-body { width: fit-content; max-width: min(100%, 720px); padding: 11px 14px 9px; border: 1px solid var(--glass-line); border-radius: 6px 16px 16px 16px; background: var(--glass); box-shadow: inset 0 1px rgba(255,255,255,.06); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.comment-author { display: flex; gap: 12px; align-items: baseline; }
.comment-author strong { color: var(--cyan); font-size: 13px; }
.comment-author time { color: var(--muted); font-size: 11px; }
.comment-text p { margin: 5px 0; }
.comment-actions { display: flex; gap: 6px; align-items: center; margin-top: 8px; }
.comment-actions button, .comment-actions a { min-height: 26px; padding: 2px 8px; border: 1px solid var(--glass-line); border-radius: 14px; background: transparent; color: var(--muted); cursor: pointer; font-size: 11px; }
.comment-actions button:hover, .comment-actions button.is-reacted { color: var(--text); border-color: var(--cyan); }
.comment-respond { margin-top: 34px; padding: 24px; border: 1px solid var(--glass-line); border-radius: 8px; background: var(--glass); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }
.comment-reply-title { margin: 0 0 16px; }
.comment-form-comment textarea, .comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"] { width: 100%; border: 1px solid var(--glass-line); border-radius: 6px; padding: 12px; background: var(--glass-strong); color: var(--text); }
.comment-form-comment textarea:focus { outline: 2px solid var(--cyan); outline-offset: 1px; }

@media (max-width: 1000px) {
  .compass-glass { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .header-inner { gap: 8px; }
  .brand { font-size: 19px; }
  .brand-mark { width: 26px; height: 26px; }
  .header-actions { gap: 5px; margin-left: auto; flex: 0 0 auto; }
  .icon-btn { width: 38px; flex-basis: 38px; }
  .favorite-link { display: none; }
  .hero-actions .btn { width: 100%; }
  .compass-section { margin-top: 0; padding-top: 20px; }
  .compass-glass { width: calc(100% - 28px); padding: 20px; gap: 22px; }
  .compass-controls { grid-template-columns: 1fr; }
  .compass-result { align-items: flex-start; flex-wrap: wrap; }
  .compass-result .btn { width: 100%; }
  .cinema-player { border-radius: 6px; }
  .player-stage strong { font-size: 14px; }
  .player-stage small { max-width: 240px; font-size: 11px; }
  .comment-list .children { margin-left: 18px; }
  .comment-bubble > article { grid-template-columns: 34px minmax(0,1fr); gap: 8px; }
  .comment-avatar img { width: 34px; height: 34px; }
  .comment-respond { padding: 18px; }
}

html[data-theme="light"] .hero, html[data-theme="light"] .single-hero { color: #fff; }
html[data-theme="light"] .hero-copy, html[data-theme="light"] .single-summary, html[data-theme="light"] .single-meta { color: #d8dee1; }

/* v2.1 polish: stronger glass, motion, mobile containment and chat comments */
html, body { width: 100%; max-width: 100%; overflow-x: clip; }
body { background:
  linear-gradient(180deg, rgba(255,255,255,.025), transparent 280px),
  radial-gradient(ellipse at 50% -20%, rgba(81,215,232,.12), transparent 42%),
  var(--ink);
}
.ambient-stage {
  position: fixed;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  background:
    radial-gradient(420px circle at var(--cursor-x, 70%) var(--cursor-y, 12%), rgba(81,215,232,.18), transparent 58%),
    radial-gradient(620px circle at 9% 18%, rgba(217,47,47,.13), transparent 62%),
    radial-gradient(520px circle at 88% 78%, rgba(242,201,76,.08), transparent 60%);
}
.site-header, .site-main, .site-footer { position: relative; z-index: 1; }
.ambient-reel {
  position: absolute;
  width: 460px;
  aspect-ratio: 1;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 50%;
  opacity: .34;
  filter: blur(.2px);
  animation: ambient-float 18s ease-in-out infinite alternate;
}
.ambient-reel::before, .ambient-reel::after {
  content: "";
  position: absolute;
  inset: 18%;
  border-radius: inherit;
  border: 1px solid rgba(255,255,255,.08);
}
.ambient-reel::after {
  inset: 38%;
  background:
    radial-gradient(circle at 50% 10%, rgba(255,255,255,.18) 0 8%, transparent 9%),
    radial-gradient(circle at 88% 62%, rgba(255,255,255,.14) 0 8%, transparent 9%),
    radial-gradient(circle at 12% 62%, rgba(255,255,255,.12) 0 8%, transparent 9%);
}
.ambient-reel-a { left: -160px; top: 120px; }
.ambient-reel-b { right: -190px; bottom: 80px; width: 540px; animation-duration: 23s; animation-direction: alternate-reverse; }
.ambient-scan {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 180px;
  background: linear-gradient(180deg, transparent, rgba(255,255,255,.07), transparent);
  animation: scanline 9s linear infinite;
  opacity: .25;
}
.wrap, .site-main, .section, .hero, .single-hero, .discovery, .site-footer { max-width: 100%; }
.site-header {
  background: linear-gradient(180deg, rgba(18,23,27,.78), rgba(8,10,12,.62));
  -webkit-backdrop-filter: blur(30px) saturate(180%);
  backdrop-filter: blur(30px) saturate(180%);
  box-shadow: 0 14px 48px rgba(0,0,0,.22), inset 0 1px rgba(255,255,255,.12);
}
.site-header::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.34), transparent);
  pointer-events: none;
}
.brand-mark {
  border-radius: 9px;
  background: linear-gradient(135deg, #ff4e4e, #af1717);
  box-shadow: inset 0 1px rgba(255,255,255,.35), 0 10px 26px rgba(217,47,47,.28);
}
.primary-nav a { transition: color .18s ease, opacity .18s ease; }
.primary-nav a:hover { opacity: .82; }
.icon-btn, .theme-switch {
  -webkit-tap-highlight-color: transparent;
  transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.icon-btn:hover, .theme-switch:hover { transform: translateY(-1px); }
.theme-switch {
  width: 66px;
  height: 40px;
  flex: 0 0 66px;
  display: grid;
  place-items: center;
  border: 1px solid var(--glass-line);
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.04));
  box-shadow: inset 0 1px rgba(255,255,255,.18), 0 10px 28px rgba(0,0,0,.18);
  cursor: pointer;
}
.theme-track {
  position: relative;
  width: 52px;
  height: 28px;
  border-radius: 999px;
  background: linear-gradient(135deg, #101820, #172d3b);
  overflow: hidden;
  box-shadow: inset 0 1px 8px rgba(0,0,0,.38);
}
.theme-track::before, .theme-track::after {
  content: "";
  position: absolute;
  top: 8px;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: rgba(255,255,255,.72);
  box-shadow: 12px 5px rgba(255,255,255,.44), 25px -2px rgba(255,255,255,.3);
  transition: opacity .25s ease;
}
.theme-track::before { left: 9px; }
.theme-track::after { right: 14px; opacity: .55; }
.theme-orb {
  position: absolute;
  left: 4px;
  top: 4px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: radial-gradient(circle at 34% 30%, #fff8d8, #ffd45b 55%, #e88e1f);
  box-shadow: 0 0 18px rgba(255,206,85,.44), inset 0 1px rgba(255,255,255,.8);
  transition: transform .32s cubic-bezier(.2,.8,.2,1), background .25s ease, box-shadow .25s ease;
}
html[data-theme="light"] .theme-track {
  background: linear-gradient(135deg, #9cecff, #f8fbff);
}
html[data-theme="light"] .theme-track::before, html[data-theme="light"] .theme-track::after { opacity: 0; }
html[data-theme="light"] .theme-orb {
  transform: translateX(24px);
  background: radial-gradient(circle at 35% 35%, #ffffff, #ffe996 58%, #ffb23f);
  box-shadow: 0 0 18px rgba(255,176,58,.38), inset 0 1px rgba(255,255,255,.9);
}

.hero::before, .single-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(112deg, rgba(255,255,255,.16) 0, transparent 16%, transparent 72%, rgba(81,215,232,.1) 100%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.035) 0 1px, transparent 1px 120px);
  mix-blend-mode: screen;
  opacity: .36;
  pointer-events: none;
}
.hero h1, .single-copy h1 {
  background: linear-gradient(90deg, #fff 0%, #fff 36%, #9cf2ff 48%, #fff 60%, #fff 100%);
  background-size: 200% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: title-shimmer 7s ease-in-out infinite;
}
.eyebrow::before {
  box-shadow: 0 0 18px rgba(217,47,47,.45);
  animation: pulse-ring 2.8s ease-in-out infinite;
}
.hero-actions .btn-primary, .compass-controls .btn-primary {
  position: relative;
  overflow: hidden;
}
.hero-actions .btn-primary::after, .compass-controls .btn-primary::after {
  content: "";
  position: absolute;
  inset: -60% auto -60% -45%;
  width: 42%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.42), transparent);
  transform: skewX(-18deg);
  transition: left .55s ease;
}
.hero-actions .btn-primary:hover::after, .compass-controls .btn-primary:hover::after { left: 115%; }
.btn, .mood-chip, .filter-link, .page-numbers, .compass-glass, .comment-respond, .comment-body, .facts {
  -webkit-backdrop-filter: blur(22px) saturate(170%);
  backdrop-filter: blur(22px) saturate(170%);
}
.btn {
  border-radius: 10px;
  box-shadow: inset 0 1px rgba(255,255,255,.16), 0 12px 26px rgba(0,0,0,.16);
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}
.btn:hover { transform: translateY(-2px); box-shadow: inset 0 1px rgba(255,255,255,.18), 0 16px 34px rgba(0,0,0,.22); }
.btn-secondary { color: #fff; background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.24); }

.compass-glass, .comment-respond, .facts {
  position: relative;
  overflow: hidden;
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(255,255,255,.13), rgba(255,255,255,.045));
  border-color: rgba(255,255,255,.18);
  box-shadow: 0 24px 70px rgba(0,0,0,.3), inset 0 1px rgba(255,255,255,.18);
}
.compass-glass::before, .comment-respond::before, .facts::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, rgba(255,255,255,.18), transparent 28%, transparent 72%, rgba(255,255,255,.08));
  pointer-events: none;
}
.compass-glass > *, .comment-respond > *, .facts > * { position: relative; }

.movie-card {
  --card-x: 50%;
  --card-y: 50%;
  --tilt-x: 0deg;
  --tilt-y: 0deg;
  padding: 8px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(255,255,255,.09), rgba(255,255,255,.025));
  box-shadow: 0 16px 46px rgba(0,0,0,.22), inset 0 1px rgba(255,255,255,.08);
  -webkit-backdrop-filter: blur(18px) saturate(150%);
  backdrop-filter: blur(18px) saturate(150%);
  transform: perspective(900px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateY(0);
  transform-style: preserve-3d;
  will-change: transform;
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.movie-card::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(120deg, rgba(255,255,255,.18), transparent 24%, transparent 78%, rgba(81,215,232,.12));
  opacity: 0;
  transition: opacity .24s ease;
  pointer-events: none;
}
.movie-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: radial-gradient(240px circle at var(--card-x) var(--card-y), rgba(255,255,255,.24), transparent 54%);
  opacity: 0;
  pointer-events: none;
  transition: opacity .22s ease;
}
.movie-card:hover {
  transform: perspective(900px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateY(-8px);
  border-color: rgba(81,215,232,.34);
  box-shadow: 0 24px 70px rgba(0,0,0,.34), inset 0 1px rgba(255,255,255,.14);
}
.movie-card:hover::after { opacity: 1; }
.movie-card:hover::before { opacity: 1; }
.movie-card > * { position: relative; z-index: 1; }
.poster {
  border-radius: 10px;
  border-color: rgba(255,255,255,.16);
  box-shadow: 0 18px 42px rgba(0,0,0,.28);
}
.poster img { transition: transform .45s cubic-bezier(.2,.8,.2,1), filter .3s ease; }
.movie-card:hover .poster img { transform: scale(1.055); filter: saturate(1.12) contrast(1.05); }
.poster-glare {
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, rgba(255,255,255,.26), transparent 26%, transparent 72%, rgba(255,255,255,.1));
  opacity: 0;
  transform: translateX(-18%);
  transition: opacity .25s ease, transform .45s ease;
  pointer-events: none;
}
.movie-card:hover .poster-glare { opacity: 1; transform: translateX(0); }
.play-mark {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  padding-left: 4px;
  border: 1px solid rgba(255,255,255,.48);
  border-radius: 50%;
  background: rgba(9,11,13,.48);
  color: #fff;
  font-size: 21px;
  box-shadow: 0 18px 40px rgba(0,0,0,.34), inset 0 1px rgba(255,255,255,.28);
  -webkit-backdrop-filter: blur(14px) saturate(160%);
  backdrop-filter: blur(14px) saturate(160%);
  transform: translate(-50%, -50%) scale(.72);
  opacity: 0;
  transition: opacity .2s ease, transform .24s cubic-bezier(.2,.8,.2,1);
}
.play-mark::before {
  content: "";
  position: absolute;
  inset: -9px;
  border-radius: inherit;
  border: 1px solid rgba(81,215,232,.48);
  animation: pulse-ring 2.2s ease-in-out infinite;
}
.movie-card:hover .play-mark { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.movie-card:hover .rating { animation: pulse-ring 1.8s ease-in-out infinite; }
.badge, .rating, .favorite {
  border-radius: 999px;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}
.movie-title { margin-inline: 2px; }
.movie-meta { margin-inline: 2px; }

.comments-wrap { max-width: 860px; }
.comment-bubble > article { align-items: end; }
.comment-body {
  width: min(100%, 700px);
  border-radius: 8px 20px 20px 20px;
  background: linear-gradient(145deg, rgba(36,45,52,.76), rgba(15,19,23,.72));
  box-shadow: 0 14px 34px rgba(0,0,0,.2), inset 0 1px rgba(255,255,255,.1);
}
.comment-author { gap: 9px; flex-wrap: wrap; }
.comment-text { color: #eef4f6; }
.comment-actions { flex-wrap: wrap; }
.comment-actions button, .comment-actions a {
  border-radius: 999px;
  background: rgba(255,255,255,.07);
  color: #c5cdd2;
  transition: transform .16s ease, border-color .16s ease, background .16s ease, color .16s ease;
}
.comment-actions button:hover, .comment-actions button.is-reacted {
  transform: translateY(-1px);
  background: rgba(81,215,232,.14);
  color: #fff;
}
.comment-bubble.is-revealed .comment-body { animation: hero-in .42s cubic-bezier(.2,.8,.2,1) both; }
.compass-result:not([hidden]) {
  animation: hero-in .34s cubic-bezier(.2,.8,.2,1) both;
}
.search-panel {
  -webkit-backdrop-filter: blur(24px) saturate(160%);
  backdrop-filter: blur(24px) saturate(160%);
}
.comment-respond form {
  display: grid;
  grid-template-columns: minmax(0, 180px) minmax(0, 1fr) auto;
  gap: 10px;
  align-items: end;
}
.comment-reply-title { grid-column: 1 / -1; }
.comment-form-author, .comment-form-comment, .form-submit { margin: 0; }
.comment-form-comment textarea {
  min-height: 48px;
  max-height: 150px;
  resize: vertical;
}
.comment-form-author input, .comment-form-comment textarea {
  border-radius: 14px;
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.18);
  box-shadow: inset 0 1px rgba(255,255,255,.08);
}
.comment-form .btn { min-height: 48px; border-radius: 14px; }
.comment-notes, .comment-form-email, .comment-form-url, .comment-form-cookies-consent { display: none; }

html[data-theme="light"] body {
  background:
    linear-gradient(180deg, rgba(255,255,255,.72), transparent 340px),
    radial-gradient(ellipse at 50% -12%, rgba(0,144,160,.12), transparent 42%),
    #edf3f6;
}
html[data-theme="light"] .site-header {
  background: linear-gradient(180deg, rgba(255,255,255,.74), rgba(245,250,252,.58));
  box-shadow: 0 14px 48px rgba(24,45,54,.12), inset 0 1px rgba(255,255,255,.9);
}
html[data-theme="light"] .brand-word, html[data-theme="light"] .section-title, html[data-theme="light"] .discovery h2, html[data-theme="light"] .catalog-head h1, html[data-theme="light"] .facts h2, html[data-theme="light"] .comment-reply-title { color: #10191f; }
html[data-theme="light"] .primary-nav a, html[data-theme="light"] .text-link, html[data-theme="light"] .movie-title a { color: #11191e; }
html[data-theme="light"] .btn-secondary {
  background: rgba(255,255,255,.74);
  border-color: rgba(17,25,30,.18);
  color: #11191e;
}
html[data-theme="light"] .compass-glass, html[data-theme="light"] .comment-respond, html[data-theme="light"] .facts, html[data-theme="light"] .movie-card {
  background: linear-gradient(145deg, rgba(255,255,255,.72), rgba(255,255,255,.42));
  border-color: rgba(255,255,255,.8);
  box-shadow: 0 20px 60px rgba(35,58,68,.14), inset 0 1px rgba(255,255,255,.9);
}
html[data-theme="light"] .comment-body {
  background: linear-gradient(145deg, rgba(255,255,255,.88), rgba(232,242,246,.82));
  color: #11191e;
}
html[data-theme="light"] .comment-text { color: #11191e; }
html[data-theme="light"] .comment-actions button, html[data-theme="light"] .comment-actions a {
  background: rgba(12,27,34,.06);
  color: #3e4d55;
}
html[data-theme="light"] .comment-form-author input, html[data-theme="light"] .comment-form-comment textarea, html[data-theme="light"] .compass-controls select {
  background: rgba(255,255,255,.78);
  color: #11191e;
  border-color: rgba(17,25,30,.16);
}
html[data-theme="light"] .movie-meta, html[data-theme="light"] .section-subtitle, html[data-theme="light"] .compass-copy p, html[data-theme="light"] .discovery p, html[data-theme="light"] .fact-row span { color: #4e5d65; }
html[data-theme="light"] .mood-chip, html[data-theme="light"] .filter-link, html[data-theme="light"] .page-numbers {
  background: rgba(255,255,255,.72);
  color: #11191e;
  border-color: rgba(17,25,30,.14);
}

@media (max-width: 760px) {
  .ambient-reel { width: 320px; opacity: .22; }
  .ambient-reel-a { left: -190px; top: 180px; }
  .ambient-reel-b { right: -230px; bottom: 10px; }
  .hero-media { animation-duration: 18s; }
  html, body { overflow-x: hidden; }
  .wrap { width: calc(100% - 28px); }
  .site-header { overflow: visible; }
  .header-inner { min-width: 0; gap: 8px; justify-content: space-between; }
  .brand { min-width: 0; max-width: 142px; gap: 7px; flex: 0 1 auto; }
  .brand-word { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .header-actions { min-width: 0; max-width: none; width: auto; margin-left: 0; flex: 0 0 auto; }
  .theme-switch { width: 56px; height: 38px; flex-basis: 56px; }
  .theme-track { width: 44px; height: 26px; }
  .theme-orb { width: 18px; height: 18px; }
  html[data-theme="light"] .theme-orb { transform: translateX(18px); }
  .icon-btn { width: 38px; height: 38px; flex-basis: 38px; }
  .primary-nav {
    margin-left: 0;
    left: 0;
    right: 0;
    width: 100vw;
    max-width: 100vw;
    transform: none;
    clip-path: inset(0 0 0 100%);
    visibility: hidden;
    pointer-events: none;
    box-shadow: -20px 0 60px rgba(0,0,0,.28);
    transition: clip-path .24s cubic-bezier(.2,.8,.2,1), visibility .24s ease;
  }
  .primary-nav.is-open {
    transform: none;
    clip-path: inset(0);
    visibility: visible;
    pointer-events: auto;
  }
  .hero { min-height: 620px; }
  .hero > .wrap { width: calc(100% - 28px); min-width: 0; }
  .hero-content { width: 100%; max-width: 100%; min-width: 0; overflow: hidden; }
  .hero h1 { font-size: clamp(48px, 16vw, 58px); }
  .hero-copy { width: 100%; max-width: 100%; overflow-wrap: anywhere; }
  .hero-actions { display: grid; grid-template-columns: minmax(0, 1fr); width: 100%; min-width: 0; }
  .hero-actions .btn { width: 100%; max-width: 100%; }
  .hero-stats { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; }
  .hero-stats strong { font-size: 17px; }
  .compass-glass { width: 100%; padding: 18px; border-radius: 14px; }
  .compass-controls, .comment-respond form { grid-template-columns: 1fr; }
  .movie-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 10px; }
  .movie-card { min-width: 0; padding: 6px; border-radius: 12px; }
  .movie-card:hover { transform: translateY(-3px); }
  .movie-title { font-size: 14px; min-height: 2.7em; }
  .movie-meta { font-size: 11px; flex-wrap: wrap; gap: 4px 7px; }
  .movie-meta span + span::before { margin-right: 7px; }
  .badge { max-width: calc(100% - 20px); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .play-mark { width: 46px; height: 46px; font-size: 17px; }
  .single-layout { grid-template-columns: 100px minmax(0,1fr); width: calc(100% - 28px); }
  .single-copy { min-width: 0; }
  .single-copy h1 { overflow-wrap: anywhere; }
  .section-head { flex-direction: column; gap: 10px; }
  .comment-body { width: 100%; max-width: 100%; }
  .comment-actions { gap: 5px; }
  .comment-actions button, .comment-actions a { min-height: 30px; padding-inline: 8px; }
  .form-submit .btn, .comment-form .btn { width: 100%; }
}

@media (max-width: 360px) {
  .brand { max-width: 118px; }
  .header-actions { gap: 4px; max-width: none; }
  .theme-switch { width: 50px; flex-basis: 50px; }
  .icon-btn { width: 34px; height: 34px; flex-basis: 34px; }
  .movie-grid { gap: 14px 8px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
  .hero h1, .single-copy h1 { color: inherit; background: none; }
}

/* v3 visual system */
:root {
  --accent: #ff3d4f;
  --accent-hot: #ff765f;
  --aqua: #70e6dc;
  --surface: rgba(18, 21, 26, .68);
  --surface-solid: #12151a;
}
body {
  background:
    radial-gradient(900px circle at 8% 38%, rgba(255,61,79,.13), transparent 58%),
    radial-gradient(780px circle at 92% 62%, rgba(67,201,215,.12), transparent 60%),
    #08090c;
}
.ambient-stage {
  opacity: 1;
  background:
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px),
    radial-gradient(680px circle at var(--cursor-x, 72%) var(--cursor-y, 18%), rgba(112,230,220,.17), transparent 64%),
    radial-gradient(640px circle at 8% 62%, rgba(255,61,79,.16), transparent 68%);
  background-size: 64px 64px, 64px 64px, auto, auto;
  mask-image: linear-gradient(to bottom, transparent 0, #000 20%, #000 100%);
}
.site-header { border-bottom-color: rgba(255,255,255,.09); background: rgba(8,9,12,.72); }
.brand-mark { background: linear-gradient(145deg, var(--accent-hot), #c61335); box-shadow: 0 8px 24px rgba(255,61,79,.32); }

.hero { min-height: min(710px, calc(100vh - 18px)); }
.hero::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: linear-gradient(105deg, transparent 48%, rgba(112,230,220,.08) 49%, transparent 50%);
  transform: translateX(-100%); animation: projector-sweep 10s ease-in-out infinite;
}
.hero::after { background: linear-gradient(90deg, rgba(4,5,8,.96) 0%, rgba(4,5,8,.8) 35%, rgba(4,5,8,.2) 72%), linear-gradient(0deg, #08090c 0%, transparent 38%); box-shadow: none; }
.hero-media { opacity: .78; filter: saturate(.85) contrast(1.12); }
.hero h1 { background: linear-gradient(92deg, #fff 0 48%, var(--aqua) 70%, #fff 100%); background-size: 210% auto; -webkit-background-clip: text; background-clip: text; color: transparent; }
.hero-copy { color: #d8dce2; }
.btn { border-radius: 10px; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.btn:hover { transform: translateY(-2px); }
.btn-primary { background: linear-gradient(135deg, var(--accent-hot), #df173f); box-shadow: 0 12px 30px rgba(223,23,63,.25); }

.theme-switch { width: 68px; height: 42px; padding: 0; border: 0; background: none; cursor: pointer; }
.theme-track { position: relative; width: 64px; height: 34px; display: block; overflow: hidden; border: 1px solid rgba(255,255,255,.18); border-radius: 18px; background: linear-gradient(135deg,#101a38,#27375f); box-shadow: inset 0 3px 9px rgba(0,0,0,.36), 0 8px 24px rgba(0,0,0,.2); transition: background .45s ease, border-color .45s ease; }
.theme-stars, .theme-stars::before, .theme-stars::after { position: absolute; width: 2px; height: 2px; border-radius: 50%; background: #fff; box-shadow: 10px 4px #fff, 19px -3px rgba(255,255,255,.7), 26px 7px #fff; content: ""; transition: opacity .3s ease, transform .45s ease; }
.theme-stars { left: 7px; top: 11px; }
.theme-stars::before { left: 3px; top: 10px; }
.theme-stars::after { left: 17px; top: -5px; }
.theme-orb { position: absolute; left: 4px; top: 4px; width: 24px; height: 24px; border-radius: 50%; background: #e9efff; box-shadow: inset -7px -3px 0 #bac6e7, 0 0 13px rgba(207,221,255,.68); transition: transform .5s cubic-bezier(.34,1.56,.64,1), background .4s ease, box-shadow .4s ease; }
.theme-orb::before, .theme-orb::after, .theme-orb span { content: ""; position: absolute; border-radius: 50%; background: rgba(104,119,158,.35); }
.theme-orb::before { width: 5px; height: 5px; left: 5px; top: 6px; }
.theme-orb::after { width: 3px; height: 3px; left: 12px; top: 15px; }
.theme-orb span { width: 3px; height: 3px; left: 14px; top: 5px; }

.compass-section { margin-top: -34px; }
.compass-glass { overflow: visible; border-radius: 18px; background: linear-gradient(135deg, rgba(28,33,40,.77), rgba(12,15,20,.64)); border-color: rgba(255,255,255,.14); box-shadow: 0 28px 80px rgba(0,0,0,.34), inset 0 1px rgba(255,255,255,.13); }
.compass-glass::before { border-radius: inherit; }
.native-select { position: absolute !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none !important; }
.cinema-select { position: relative; min-width: 0; }
.cinema-select-trigger { width: 100%; height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 14px; border: 1px solid rgba(255,255,255,.13); border-radius: 11px; background: rgba(255,255,255,.055); color: var(--text); cursor: pointer; text-align: left; transition: border-color .2s ease, background .2s ease, box-shadow .2s ease; }
.cinema-select-trigger:hover, .cinema-select.is-open .cinema-select-trigger { border-color: rgba(112,230,220,.55); background: rgba(112,230,220,.08); box-shadow: 0 0 0 3px rgba(112,230,220,.08); }
.cinema-select-trigger i { width: 8px; height: 8px; flex: 0 0 auto; border-right: 2px solid var(--aqua); border-bottom: 2px solid var(--aqua); transform: rotate(45deg) translateY(-2px); transition: transform .25s ease; }
.cinema-select.is-open .cinema-select-trigger i { transform: rotate(225deg) translate(-2px,-2px); }
.cinema-select-menu { position: absolute; z-index: 30; top: calc(100% + 8px); left: 0; right: 0; display: grid; gap: 3px; padding: 7px; border: 1px solid rgba(255,255,255,.14); border-radius: 13px; background: rgba(14,17,22,.96); box-shadow: 0 22px 55px rgba(0,0,0,.46); backdrop-filter: blur(22px); opacity: 0; visibility: hidden; transform: translateY(-8px) scale(.98); transform-origin: top; transition: opacity .18s ease, transform .18s ease, visibility .18s; }
.cinema-select.is-open .cinema-select-menu { opacity: 1; visibility: visible; transform: none; }
.cinema-select-option { min-height: 38px; padding: 7px 10px; border: 0; border-radius: 8px; background: transparent; color: #c8ced7; cursor: pointer; text-align: left; }
.cinema-select-option:hover, .cinema-select-option.is-selected { color: #fff; background: linear-gradient(90deg, rgba(255,61,79,.2), rgba(112,230,220,.09)); }
.cinema-select-option.is-selected::after { content: "✓"; float: right; color: var(--aqua); }

.discovery { background: rgba(10,12,16,.6); backdrop-filter: blur(20px); }
.movie-grid { gap: 26px 18px; }
.movie-card { padding: 0; overflow: hidden; border-radius: 16px; background: #12151a; border-color: rgba(255,255,255,.1); box-shadow: 0 18px 48px rgba(0,0,0,.28); }
.movie-card .poster { border: 0; border-radius: 15px; box-shadow: none; }
.movie-card .poster-shade { background: linear-gradient(0deg, rgba(4,5,8,.97) 0%, rgba(4,5,8,.62) 26%, transparent 58%); box-shadow: none; }
.poster-info { position: absolute !important; z-index: 4 !important; left: 14px; right: 14px; bottom: 13px; display: grid; gap: 6px; transform: translateY(4px); transition: transform .28s ease; }
.poster-info .movie-title { margin: 0; min-height: 0; color: #fff; font-size: 16px; line-height: 1.2; font-weight: 820; text-shadow: 0 2px 12px rgba(0,0,0,.8); }
.poster-info .movie-meta { color: #bbc2ca; }
.movie-card:hover .poster-info { transform: translateY(0); }
.movie-card .favorite { position: absolute; z-index: 8; top: 11px; right: 11px; background: rgba(10,12,16,.54); backdrop-filter: blur(12px); opacity: 0; transform: translateY(-5px); transition: opacity .2s ease, transform .2s ease, background .2s ease; }
.movie-card:hover .favorite, .movie-card .favorite.is-saved { opacity: 1; transform: none; }
.play-mark { border: 0; background: rgba(255,255,255,.92); color: #111; box-shadow: 0 14px 42px rgba(0,0,0,.35), 0 0 0 9px rgba(255,255,255,.12); }
.play-mark span { width: 0; height: 0; border-top: 8px solid transparent; border-bottom: 8px solid transparent; border-left: 13px solid #111; margin-left: 4px; }
.play-mark::before { border-color: rgba(112,230,220,.7); }
.badge { background: rgba(10,12,16,.58); }
.rating { background: rgba(10,12,16,.68); }

html[data-theme="light"] { --text:#17202a; --muted:#586674; --aqua:#007f86; --surface:#fff; }
html[data-theme="light"] body { background: radial-gradient(800px circle at 90% 30%, rgba(0,166,177,.12), transparent 65%), radial-gradient(700px circle at 5% 70%, rgba(255,91,96,.11), transparent 65%), #f4f7f9; }
html[data-theme="light"] .ambient-stage { opacity: .65; background: linear-gradient(rgba(13,41,56,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(13,41,56,.035) 1px, transparent 1px), radial-gradient(620px circle at var(--cursor-x,70%) var(--cursor-y,20%), rgba(0,161,170,.14), transparent 65%); background-size:64px 64px,64px 64px,auto; }
html[data-theme="light"] .site-header { background: rgba(250,252,253,.78); border-color: rgba(18,39,49,.09); }
html[data-theme="light"] .theme-track { background: linear-gradient(135deg,#87ddf3,#f6d88a); border-color: rgba(0,91,112,.18); }
html[data-theme="light"] .theme-stars { opacity: 0; transform: translateX(-8px); }
html[data-theme="light"] .theme-orb { transform: translateX(30px); background:#fff5ad; box-shadow: inset 0 0 0 0 transparent, 0 0 15px #ffd35b; }
html[data-theme="light"] .theme-orb::before, html[data-theme="light"] .theme-orb::after, html[data-theme="light"] .theme-orb span { opacity:0; }
html[data-theme="light"] .compass-glass { background: linear-gradient(135deg,rgba(255,255,255,.82),rgba(239,247,249,.68)); border-color:rgba(255,255,255,.95); box-shadow:0 28px 70px rgba(40,70,82,.15),inset 0 1px #fff; }
html[data-theme="light"] .cinema-select-trigger { background:rgba(255,255,255,.75); border-color:rgba(21,50,61,.14); color:#17202a; }
html[data-theme="light"] .cinema-select-menu { background:rgba(255,255,255,.97); border-color:rgba(22,50,61,.12); box-shadow:0 22px 55px rgba(40,70,82,.18); }
html[data-theme="light"] .cinema-select-option { color:#40505d; }
html[data-theme="light"] .cinema-select-option:hover, html[data-theme="light"] .cinema-select-option.is-selected { color:#111c23; background:linear-gradient(90deg,rgba(255,61,79,.1),rgba(0,149,160,.1)); }
html[data-theme="light"] .discovery { background:rgba(255,255,255,.46); }
html[data-theme="light"] .movie-card { background:#fff; border-color:rgba(16,40,51,.1); box-shadow:0 18px 45px rgba(30,54,65,.14); }
html[data-theme="light"] .movie-card:hover { border-color:rgba(0,143,153,.34); box-shadow:0 28px 65px rgba(30,54,65,.22); }
html[data-theme="light"] .movie-card::after { background:linear-gradient(120deg,rgba(255,255,255,.3),transparent 30%,transparent 75%,rgba(0,150,160,.12)); }
html[data-theme="light"] .poster-info .movie-title { color:#fff; }
html[data-theme="light"] .poster-info .movie-meta { color:#c8d0d8; }
html[data-theme="light"] .section-title, html[data-theme="light"] .discovery h2, html[data-theme="light"] .compass-copy h2 { color:#17202a; }

@keyframes projector-sweep { 0%,35%{transform:translateX(-100%);opacity:0} 50%{opacity:1} 65%,100%{transform:translateX(100%);opacity:0} }
@media (max-width:760px) {
  .theme-switch { width:58px; flex-basis:58px; }
  .theme-track { width:56px; }
  html[data-theme="light"] .theme-orb { transform:translateX(22px); }
  .movie-card .favorite { opacity:1; transform:none; }
  .poster-info { left:10px; right:10px; bottom:10px; }
  .poster-info .movie-title { font-size:14px; }
  .compass-section { margin-top:0; }
}

/* v3.2.3 shared cinematic play control */
.player-play {
  position: relative;
  width: 78px;
  height: 78px;
  display: grid;
  place-items: center;
  margin-bottom: 18px;
  border: 1px solid rgba(255,255,255,.38);
  border-radius: 50%;
  background: rgba(12,16,22,.5);
  box-shadow: 0 24px 64px rgba(0,0,0,.5), inset 0 1px rgba(255,255,255,.24), 0 0 0 13px rgba(112,230,220,.07);
  backdrop-filter: blur(18px) saturate(175%);
  animation: player-breathe 3s ease-in-out infinite;
}
.player-play::before {
  content:"";
  position:absolute;
  inset:-8px;
  border:2px solid transparent;
  border-radius:50%;
  background:conic-gradient(from 40deg,transparent 0 18%,var(--aqua) 31%,#fff 43%,var(--accent) 57%,transparent 72% 100%) border-box;
  -webkit-mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  animation:card-orbit 2.8s linear infinite;
}
.player-play::after {
  content:"";
  position:absolute;
  inset:-21px;
  border:1px solid rgba(112,230,220,.35);
  border-radius:50%;
  animation:card-pulse 1.9s ease-out infinite;
}
.player-play > span {
  width:0;
  height:0;
  margin-left:5px;
  border-top:10px solid transparent;
  border-bottom:10px solid transparent;
  border-left:17px solid #fff;
  filter:drop-shadow(0 2px 5px rgba(0,0,0,.4));
}
.player-placeholder:hover .player-play { box-shadow:0 28px 70px rgba(0,0,0,.55),inset 0 1px rgba(255,255,255,.28),0 0 0 18px rgba(112,230,220,.1); }
@keyframes player-breathe { 50% { transform:scale(1.045); } }
@media (max-width:760px) { .player-play { width:62px; height:62px; margin-bottom:12px; } }

/* v3.3 discussion experience */
.movie-view .comments-area {
  padding: 88px 0 104px;
  border-top: 1px solid rgba(255,255,255,.07);
  background:
    radial-gradient(650px circle at 85% 10%, rgba(112,230,220,.07), transparent 64%),
    #090c11;
}
.movie-view .comments-wrap { width:min(calc(100% - 40px),960px); max-width:960px; }
.comments-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:30px; }
.comments-heading .section-title { display:flex; align-items:center; gap:12px; color:#f5f7f8; font-size:36px; }
.comments-heading .section-title span { min-width:29px; height:29px; display:grid; place-items:center; padding:0 8px; border:1px solid rgba(255,255,255,.13); border-radius:9px; background:rgba(255,255,255,.06); color:#99a5ae; font-size:12px; }
.discussion-status { display:flex; align-items:center; gap:8px; margin-bottom:5px; color:#89959e; font-size:11px; font-weight:800; text-transform:uppercase; }
.discussion-status i { width:7px; height:7px; border-radius:50%; background:#52df9a; box-shadow:0 0 0 6px rgba(82,223,154,.09); }
.comments-empty { display:flex; align-items:center; gap:16px; margin-bottom:20px; padding:18px 20px; border:1px dashed rgba(255,255,255,.12); border-radius:14px; background:rgba(255,255,255,.025); }
.comments-empty > span { width:42px; height:42px; flex:0 0 42px; display:grid; place-items:center; border-radius:13px; background:linear-gradient(145deg,rgba(255,86,104,.2),rgba(112,230,220,.12)); color:var(--aqua); }
.comments-empty div { display:grid; gap:2px; }
.comments-empty strong { color:#e8ecee; font-size:14px; }
.comments-empty small { color:#75818b; font-size:12px; }

.movie-view .comment-list { display:grid; gap:18px; margin-bottom:32px; }
.movie-view .comment-list .children { position:relative; margin:14px 0 0 56px; }
.movie-view .comment-list .children::before { content:""; position:absolute; left:-31px; top:0; bottom:18px; width:1px; background:linear-gradient(rgba(112,230,220,.26),transparent); }
.movie-view .comment-bubble { margin:0; }
.movie-view .comment-bubble > article { display:grid; grid-template-columns:44px minmax(0,1fr); gap:12px; align-items:end; }
.movie-view .comment-avatar { align-self:start; }
.movie-view .comment-avatar img { width:44px; height:44px; border:1px solid rgba(255,255,255,.18); border-radius:14px; box-shadow:0 8px 24px rgba(0,0,0,.28); }
.movie-view .comment-body {
  width:fit-content;
  min-width:260px;
  max-width:min(100%,720px);
  padding:13px 15px 11px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:7px 18px 18px 18px;
  background:linear-gradient(145deg,rgba(31,38,46,.88),rgba(16,20,26,.84));
  color:#edf1f3;
  box-shadow:0 16px 38px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.08);
  backdrop-filter:blur(18px) saturate(145%);
}
.movie-view .comment-author { display:flex; align-items:center; gap:7px; flex-wrap:wrap; }
.movie-view .comment-author strong { color:#7ee4dd; font-size:13px; }
.author-mark { width:14px; height:14px; display:grid; place-items:center; border-radius:50%; background:#228da1; color:#fff; font-size:8px; font-weight:900; }
.movie-view .comment-author time { margin-left:auto; color:#68747e; font-size:10px; }
.movie-view .comment-text { color:#e5eaed; font-size:14px; line-height:1.58; }
.movie-view .comment-text p { margin:7px 0 4px; }
.movie-view .comment-actions { display:flex; align-items:center; flex-wrap:wrap; gap:5px; margin-top:9px; }
.movie-view .comment-actions button,
.movie-view .comment-actions a {
  min-width:34px; min-height:29px; display:inline-flex; align-items:center; justify-content:center; gap:4px;
  padding:3px 8px; border:1px solid rgba(255,255,255,.1); border-radius:999px;
  background:rgba(255,255,255,.045); color:#8d99a2; cursor:pointer; font-size:10px;
  transition:transform .16s ease,background .16s ease,border-color .16s ease,color .16s ease;
}
.movie-view .comment-actions button b { font-size:14px; line-height:1; }
.movie-view .comment-actions button:hover,
.movie-view .comment-actions button.is-reacted { transform:translateY(-1px); border-color:rgba(112,230,220,.34); background:rgba(112,230,220,.1); color:#fff; }
.movie-view .comment-actions a { margin-left:4px; padding-inline:11px; }

.movie-view .comment-respond {
  position:relative;
  overflow:hidden;
  margin-top:24px;
  padding:22px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:18px;
  background:linear-gradient(145deg,rgba(26,32,39,.9),rgba(12,15,20,.88));
  color:#f1f4f5;
  box-shadow:0 24px 65px rgba(0,0,0,.3),inset 0 1px rgba(255,255,255,.09);
  backdrop-filter:blur(22px) saturate(145%);
}
.movie-view .comment-respond::before { content:""; position:absolute; inset:0; background:radial-gradient(420px circle at 90% 0,rgba(112,230,220,.09),transparent 62%); pointer-events:none; }
.movie-view .comment-reply-title { position:relative; z-index:1; margin:0 0 17px; color:#f4f6f7; font-size:19px; }
.movie-view .comment-respond form { position:relative; z-index:1; display:grid; grid-template-columns:180px minmax(0,1fr) auto; grid-template-areas:"author message submit"; gap:10px; align-items:end; }
.movie-view .comment-form-author { grid-area:author; }
.movie-view .comment-form-comment { grid-area:message; }
.movie-view .form-submit { grid-area:submit; }
.movie-view .comment-form-author,
.movie-view .comment-form-comment,
.movie-view .form-submit { margin:0; }
.movie-view .comment-form-author label,
.movie-view .comment-form-comment label { display:block; margin:0 0 6px 3px; color:#75818b; font-size:9px; font-weight:850; text-transform:uppercase; }
.movie-view .comment-form-author input,
.movie-view .comment-form-comment textarea {
  width:100%; min-height:50px; margin:0; padding:14px;
  border:1px solid rgba(255,255,255,.13); border-radius:12px;
  background:rgba(255,255,255,.055); color:#f4f6f7;
  box-shadow:inset 0 1px rgba(255,255,255,.06);
  outline:none; resize:none;
  transition:border-color .2s ease,background .2s ease,box-shadow .2s ease;
}
.movie-view .comment-form-comment textarea { height:50px; max-height:140px; }
.movie-view .comment-form-author input::placeholder,
.movie-view .comment-form-comment textarea::placeholder { color:#66717b; }
.movie-view .comment-form-author input:focus,
.movie-view .comment-form-comment textarea:focus { border-color:rgba(112,230,220,.5); background:rgba(112,230,220,.055); box-shadow:0 0 0 3px rgba(112,230,220,.07); }
.movie-view .comment-form .btn { min-height:50px; padding-inline:20px; border-radius:12px; box-shadow:0 12px 30px rgba(223,23,63,.22); }
.movie-view .comment-navigation { margin:20px 0; }

html[data-theme="light"] .movie-view .comments-area { background:radial-gradient(650px circle at 85% 10%,rgba(112,230,220,.07),transparent 64%),#090c11; }
html[data-theme="light"] .movie-view .comment-respond { background:linear-gradient(145deg,rgba(26,32,39,.94),rgba(12,15,20,.92)); border-color:rgba(255,255,255,.13); }
html[data-theme="light"] .movie-view .comment-reply-title { color:#f4f6f7; }
html[data-theme="light"] .movie-view .comment-form-author input,
html[data-theme="light"] .movie-view .comment-form-comment textarea { background:rgba(255,255,255,.055); border-color:rgba(255,255,255,.13); color:#f4f6f7; }
html[data-theme="light"] .movie-view .comment-body { background:linear-gradient(145deg,rgba(31,38,46,.9),rgba(16,20,26,.88)); color:#edf1f3; }
html[data-theme="light"] .movie-view .comment-text { color:#e5eaed; }
html[data-theme="light"] .movie-view .comment-actions button,
html[data-theme="light"] .movie-view .comment-actions a { background:rgba(255,255,255,.045); color:#8d99a2; border-color:rgba(255,255,255,.1); }

@media (max-width:760px) {
  .movie-view .comments-area { padding:58px 0 72px; }
  .movie-view .comments-wrap { width:calc(100% - 28px); }
  .comments-heading { align-items:start; margin-bottom:22px; }
  .comments-heading .section-title { font-size:28px; }
  .discussion-status { margin-top:7px; }
  .comments-empty { padding:14px; }
  .comments-empty small { max-width:220px; }
  .movie-view .comment-list .children { margin-left:18px; }
  .movie-view .comment-list .children::before { left:-10px; }
  .movie-view .comment-bubble > article { grid-template-columns:34px minmax(0,1fr); gap:8px; }
  .movie-view .comment-avatar img { width:34px; height:34px; border-radius:11px; }
  .movie-view .comment-body { min-width:0; width:100%; padding:11px 12px 10px; }
  .movie-view .comment-actions { gap:4px; }
  .movie-view .comment-actions button { min-width:31px; padding-inline:6px; }
  .movie-view .comment-respond { padding:16px; border-radius:15px; }
  .movie-view .comment-respond form { grid-template-columns:1fr auto; grid-template-areas:"author author" "message submit"; }
  .movie-view .comment-form .btn { width:auto; min-width:96px; padding-inline:13px; }
}
@media (max-width:390px) {
  .movie-view .comment-respond form { grid-template-columns:1fr; grid-template-areas:"author" "message" "submit"; }
  .movie-view .comment-form .btn { width:100%; }
}

/* v3.4 complete light theme */
html[data-theme="light"] {
  --ink:#edf2f5;
  --panel:#ffffff;
  --panel-2:#e5edf1;
  --line:rgba(21,43,54,.12);
  --text:#14212a;
  --muted:#586873;
  --cyan:#007f8b;
  --aqua:#008f99;
  --yellow:#8b6500;
  --glass:rgba(255,255,255,.68);
  --glass-strong:rgba(255,255,255,.88);
  --glass-line:rgba(255,255,255,.9);
  --shadow:0 22px 58px rgba(40,66,78,.13);
}
html[data-theme="light"] body {
  color:var(--text);
  background:
    linear-gradient(rgba(20,52,66,.026) 1px,transparent 1px),
    linear-gradient(90deg,rgba(20,52,66,.026) 1px,transparent 1px),
    radial-gradient(900px circle at 88% 18%,rgba(0,174,185,.13),transparent 64%),
    radial-gradient(760px circle at 6% 72%,rgba(255,76,91,.09),transparent 66%),
    #edf2f5;
  background-size:64px 64px,64px 64px,auto,auto,auto;
}
html[data-theme="light"] .ambient-stage {
  opacity:.72;
  background:radial-gradient(660px circle at var(--cursor-x,72%) var(--cursor-y,18%),rgba(0,159,170,.13),transparent 66%);
  mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 100%);
}
html[data-theme="light"] .ambient-reel { border-color:rgba(18,76,90,.08); opacity:.3; }
html[data-theme="light"] .ambient-reel::before,
html[data-theme="light"] .ambient-reel::after { border-color:rgba(18,76,90,.08); }
html[data-theme="light"] .site-header {
  border-bottom:1px solid rgba(19,44,56,.09);
  background:rgba(250,253,254,.76);
  box-shadow:0 10px 35px rgba(38,65,77,.08),inset 0 1px #fff;
  backdrop-filter:blur(24px) saturate(170%);
}
html[data-theme="light"] .brand-word { color:#14212a; }
html[data-theme="light"] .brand-word span { color:#008993; }
html[data-theme="light"] .primary-nav a { color:#33444f; }
html[data-theme="light"] .primary-nav a:hover,
html[data-theme="light"] .primary-nav .current-menu-item a { color:#c91e3e; }
html[data-theme="light"] .icon-btn {
  border-color:rgba(21,46,58,.1);
  background:rgba(255,255,255,.72);
  color:#1d2b34;
  box-shadow:0 7px 22px rgba(39,65,77,.08),inset 0 1px #fff;
}
html[data-theme="light"] .icon-btn:hover { border-color:rgba(0,137,147,.3); background:#fff; color:#007d87; }
html[data-theme="light"] .search-panel { border-color:rgba(20,45,56,.1); background:rgba(245,250,252,.94); box-shadow:0 22px 50px rgba(38,65,77,.12); }
html[data-theme="light"] .search-field { border-color:rgba(20,45,56,.13); background:#fff; color:#14212a; box-shadow:inset 0 1px 2px rgba(35,60,71,.04); }

html[data-theme="light"] .hero { border-bottom-color:rgba(18,41,52,.1); }
html[data-theme="light"] .hero h1 { color:transparent; }
html[data-theme="light"] .hero .btn-secondary { background:rgba(245,248,250,.88); border-color:rgba(255,255,255,.45); color:#111a20; box-shadow:0 12px 30px rgba(0,0,0,.18); }
html[data-theme="light"] .hero .btn-secondary:hover { background:#fff; }
html[data-theme="light"] .hero-stats { color:#aeb8bf; }
html[data-theme="light"] .hero-stats strong { color:#fff; }

html[data-theme="light"] .compass-section { background:transparent; }
html[data-theme="light"] .compass-glass {
  border:1px solid rgba(255,255,255,.96);
  background:linear-gradient(135deg,rgba(255,255,255,.88),rgba(242,249,251,.68));
  box-shadow:0 28px 75px rgba(38,68,81,.14),inset 0 1px #fff;
}
html[data-theme="light"] .compass-glass::before { background:linear-gradient(115deg,rgba(255,255,255,.82),transparent 30%,transparent 72%,rgba(0,155,166,.06)); }
html[data-theme="light"] .compass-copy h2 { color:#14212a; }
html[data-theme="light"] .compass-copy p,
html[data-theme="light"] .compass-controls label > span { color:#687984; }
html[data-theme="light"] .cinema-select-trigger { border-color:rgba(21,49,61,.12); background:rgba(255,255,255,.82); color:#182730; box-shadow:0 8px 22px rgba(38,65,77,.06),inset 0 1px #fff; }
html[data-theme="light"] .cinema-select-trigger:hover,
html[data-theme="light"] .cinema-select.is-open .cinema-select-trigger { border-color:rgba(0,140,150,.38); background:#fff; box-shadow:0 0 0 3px rgba(0,140,150,.07); }
html[data-theme="light"] .cinema-select-menu { border-color:rgba(24,51,62,.1); background:rgba(255,255,255,.98); box-shadow:0 24px 60px rgba(40,67,79,.18); }
html[data-theme="light"] .cinema-select-option { color:#40515c; }
html[data-theme="light"] .cinema-select-option:hover,
html[data-theme="light"] .cinema-select-option.is-selected { color:#112029; background:linear-gradient(90deg,rgba(255,61,79,.09),rgba(0,149,160,.09)); }

html[data-theme="light"] .discovery {
  border-color:rgba(18,42,53,.09);
  background:rgba(255,255,255,.46);
  box-shadow:inset 0 1px rgba(255,255,255,.7),inset 0 -1px rgba(18,42,53,.04);
}
html[data-theme="light"] .discovery h2,
html[data-theme="light"] .section-title,
html[data-theme="light"] .catalog-head h1 { color:#14212a; }
html[data-theme="light"] .discovery p,
html[data-theme="light"] .section-subtitle { color:#62727c; }
html[data-theme="light"] .mood-chip,
html[data-theme="light"] .filter-link,
html[data-theme="light"] .page-numbers {
  border-color:rgba(20,47,59,.11);
  background:rgba(255,255,255,.7);
  color:#33454f;
  box-shadow:0 6px 18px rgba(42,68,80,.055),inset 0 1px #fff;
}
html[data-theme="light"] .mood-chip:hover,
html[data-theme="light"] .mood-chip.is-active,
html[data-theme="light"] .filter-link:hover,
html[data-theme="light"] .filter-link.active { border-color:rgba(0,139,150,.35); background:rgba(0,139,150,.09); color:#006e77; }
html[data-theme="light"] .page-numbers.current { border-color:#d92f47; background:linear-gradient(145deg,#ff5b68,#d91f42); color:#fff; }
html[data-theme="light"] .text-link { color:#007d87; }
html[data-theme="light"] .text-link:hover { color:#bd1838; }
html[data-theme="light"] .section + .section { border-color:rgba(20,44,55,.08); }
html[data-theme="light"] .catalog-head { border-color:rgba(20,44,55,.09); background:rgba(255,255,255,.25); }

html[data-theme="light"] .movie-card {
  border-color:rgba(18,43,54,.09);
  background:#fff;
  box-shadow:0 18px 45px rgba(34,59,71,.14),0 2px 5px rgba(34,59,71,.05);
}
html[data-theme="light"] .movie-card:hover { border-color:rgba(0,141,151,.3); box-shadow:0 30px 72px rgba(34,59,71,.2),0 0 0 1px rgba(0,141,151,.07); }
html[data-theme="light"] .movie-card .badge,
html[data-theme="light"] .movie-card .favorite { border-color:rgba(255,255,255,.3); background:rgba(7,10,14,.76); color:#fff; }
html[data-theme="light"] .poster-info .movie-title { color:#fff; }
html[data-theme="light"] .poster-info .movie-meta { color:#d0d7dc; }
html[data-theme="light"] .poster-info .card-score { color:#ffd45e; }

html[data-theme="light"] .site-footer {
  border-color:rgba(19,44,55,.09);
  background:rgba(245,249,251,.8);
  color:#1c2b34;
  box-shadow:inset 0 1px #fff;
}
html[data-theme="light"] .footer-copy { color:#5d6d77; }
html[data-theme="light"] .footer-nav a { color:#2d3f49; }
html[data-theme="light"] .footer-nav a:hover { color:#007d87; }
html[data-theme="light"] .copyright { border-color:rgba(20,44,55,.1); color:#71808a; }

/* Detail pages stay cinematic while the light header transitions cleanly. */
html[data-theme="light"] body.single-movie .site-header { border-color:rgba(255,255,255,.09); background:rgba(8,10,14,.78); box-shadow:0 12px 40px rgba(0,0,0,.24); }
html[data-theme="light"] body.single-movie .site-header .brand-word,
html[data-theme="light"] body.single-movie .primary-nav a { color:#f3f6f7; }
html[data-theme="light"] body.single-movie .site-header .brand-word span { color:#70e6dc; }
html[data-theme="light"] body.single-movie .icon-btn { border-color:rgba(255,255,255,.12); background:rgba(255,255,255,.07); color:#fff; box-shadow:inset 0 1px rgba(255,255,255,.08); }
html[data-theme="light"] body.single-movie .theme-track { border-color:rgba(255,255,255,.2); }

@media (max-width:760px) {
  html[data-theme="light"] .primary-nav { background:rgba(247,251,252,.98); box-shadow:-20px 0 55px rgba(38,65,77,.15); }
  html[data-theme="light"] .primary-nav a { color:#172630; }
  html[data-theme="light"] body.single-movie .primary-nav { background:rgba(9,12,16,.98); }
  html[data-theme="light"] body.single-movie .primary-nav a { color:#f3f6f7; }
}

/* v3.2 cinematic detail page */
.movie-view { background: #080a0e; color: #f5f7f8; }
.movie-view .single-hero {
  min-height: 760px;
  align-items: stretch;
  border: 0;
  isolation: isolate;
  background: #080a0e;
}
.movie-view .single-backdrop { opacity: .62; filter: saturate(.72) contrast(1.12); transform: scale(1.015); }
.movie-view .single-hero::after {
  z-index: 0;
  background:
    linear-gradient(90deg, rgba(5,7,11,.98) 0%, rgba(5,7,11,.86) 34%, rgba(5,7,11,.26) 72%, rgba(5,7,11,.48) 100%),
    linear-gradient(0deg, #080a0e 0%, rgba(8,10,14,.88) 9%, transparent 48%);
  box-shadow: none;
}
.single-spotlight {
  position: absolute; z-index: 0; inset: 0; pointer-events: none;
  background: radial-gradient(650px circle at 62% 42%, rgba(112,230,220,.11), transparent 68%);
  animation: detail-light 9s ease-in-out infinite alternate;
}
.movie-view .single-layout {
  position: relative; z-index: 2;
  grid-template-columns: 250px minmax(0,780px);
  grid-template-rows: auto 1fr auto;
  gap: 28px 42px;
  align-items: center;
  min-height: 760px;
  padding-block: 104px 32px;
}
.movie-crumbs { grid-column: 1/-1; align-self: start; display: flex; gap: 9px; color: #8e99a4; font-size: 12px; font-weight: 700; }
.movie-crumbs a:hover { color: var(--aqua); }
.movie-crumbs span { opacity: .42; }
.single-poster-wrap { position: relative; align-self: center; perspective: 1000px; }
.movie-view .single-poster {
  position: relative; z-index: 2;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 16px;
  box-shadow: 0 34px 75px rgba(0,0,0,.58), inset 0 1px rgba(255,255,255,.15);
  transform: rotateY(3deg);
  transition: transform .5s cubic-bezier(.16,1,.3,1), box-shadow .5s ease;
}
.single-poster-wrap:hover .single-poster { transform: rotateY(0) translateY(-5px); box-shadow: 0 42px 90px rgba(0,0,0,.65), 0 0 0 1px rgba(112,230,220,.18); }
.poster-reflection { position: absolute; z-index: 1; left: 8%; right: 8%; bottom: -23px; height: 34px; border-radius: 50%; background: rgba(112,230,220,.16); filter: blur(24px); }
.movie-view .single-copy { align-self: center; min-width: 0; }
.single-kicker { display: flex; align-items: center; gap: 9px; margin-bottom: 17px; }
.single-kicker span { min-height: 28px; display: inline-flex; align-items: center; padding: 0 10px; border: 1px solid rgba(255,255,255,.18); border-radius: 8px; background: rgba(255,255,255,.07); color: #dce3e7; font-size: 10px; font-weight: 850; text-transform: uppercase; backdrop-filter: blur(12px); }
.single-kicker span:first-child { border-color: rgba(255,86,104,.45); background: rgba(255,61,79,.15); color: #fff; }
.movie-view .single-copy h1 { margin: 0; max-width: 11ch; color: #fff; background: none; font-size: clamp(54px,6.4vw,88px); line-height: .94; text-wrap: balance; text-shadow: 0 8px 36px rgba(0,0,0,.45); }
.movie-view .single-meta { margin-top: 24px; gap: 10px; }
.movie-view .single-meta > span { min-width: 82px; display: grid; gap: 1px; padding: 9px 12px; border: 1px solid rgba(255,255,255,.12); border-radius: 10px; background: rgba(13,17,22,.5); backdrop-filter: blur(15px); }
.movie-view .single-meta strong { color: #f4f6f7; font-size: 13px; }
.movie-view .single-meta small { color: #78838d; font-size: 9px; font-weight: 750; text-transform: uppercase; }
.movie-view .single-meta .score { color: inherit; border-color: rgba(255,212,94,.28); }
.movie-view .single-meta .score strong { color: #ffd45e; }
.movie-view .single-summary { max-width: 700px; margin: 22px 0 25px; color: #c3cbd1; font-size: 17px; line-height: 1.65; }
.movie-view .hero-actions { align-items: center; }
.movie-view .hero-actions .btn { min-height: 50px; padding-inline: 20px; }
.watch-btn-icon { width: 0; height: 0; border-top: 6px solid transparent; border-bottom: 6px solid transparent; border-left: 10px solid currentColor; }
.movie-view .btn-ghost { border-color: rgba(255,255,255,.15); background: rgba(255,255,255,.055); color: #e5e9eb; }
.movie-view .btn-ghost:hover { border-color: rgba(112,230,220,.35); background: rgba(112,230,220,.08); }
.movie-anchor-nav { grid-column: 1/-1; display: flex; gap: 5px; align-self: end; padding: 5px; border: 1px solid rgba(255,255,255,.1); border-radius: 12px; background: rgba(11,14,19,.58); backdrop-filter: blur(18px); width: fit-content; }
.movie-anchor-nav a { min-height: 36px; display: inline-flex; align-items: center; padding: 0 13px; border-radius: 8px; color: #8f9aa4; font-size: 11px; font-weight: 750; }
.movie-anchor-nav a:hover { background: rgba(255,255,255,.08); color: #fff; }

.movie-view .player-section { position: relative; padding: 78px 0 92px; background: radial-gradient(800px circle at 50% 42%, rgba(35,54,62,.34), transparent 66%), #080a0e; }
.player-shell { position: relative; }
.player-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin: 0 auto 24px; width: min(100%,1100px); }
.player-heading h2 { margin: 0; max-width: 760px; font-size: clamp(27px,3vw,42px); line-height: 1.08; }
.quality-mark { flex: 0 0 auto; padding: 7px 10px; border: 1px solid rgba(112,230,220,.22); border-radius: 8px; background: rgba(112,230,220,.08); color: var(--aqua); font-size: 10px; font-weight: 850; }
.movie-view .cinema-player { border-radius: 16px; border-color: rgba(255,255,255,.16); box-shadow: 0 35px 90px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.04); }
.movie-view .player-placeholder { background: linear-gradient(135deg,rgba(5,7,10,.83),rgba(5,7,10,.94)),url('assets/cinema.webp') center/cover; }

.movie-view .review-section { padding: 92px 0; background: linear-gradient(180deg,#0b0e13,#080a0e); }
.movie-view .content-layout { grid-template-columns: minmax(0,760px) 320px; gap: 80px; align-items: start; }
.review-title { margin: 0 0 28px; font-size: clamp(34px,4vw,52px); }
.movie-view .entry-content { color: #c6cdd2; font-size: 18px; line-height: 1.78; }
.movie-view .entry-content > p:first-child { color: #f0f2f3; font-size: 21px; line-height: 1.65; }
.movie-view .entry-content h2,.movie-view .entry-content h3 { color:#fff; }
.movie-view .facts { position: sticky; top: calc(var(--header) + 24px); overflow: hidden; padding: 20px; border: 1px solid rgba(255,255,255,.13); border-radius: 16px; background: linear-gradient(145deg,rgba(28,34,41,.82),rgba(12,15,20,.72)); box-shadow: 0 24px 65px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.1); backdrop-filter: blur(20px); }
.facts-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; padding-bottom: 18px; border-bottom: 1px solid rgba(255,255,255,.1); }
.facts-head span { color: #818d97; font-size: 11px; font-weight: 800; text-transform: uppercase; }
.facts-head strong { width: 50px; height: 50px; display: grid; place-items: center; border-radius: 50%; background: conic-gradient(#ffd45e calc(var(--rating,8)*10%),rgba(255,255,255,.08) 0); color: #111; font-size: 14px; position: relative; }
.facts-head strong::before { content:""; position:absolute; inset:4px; border-radius:50%; background:#f7d969; z-index:-1; }
.movie-view .fact-row { padding: 12px 0; border-color: rgba(255,255,255,.08); }
.movie-view .fact-row span { color: #7f8a94; }
.movie-view .fact-row strong { max-width: 170px; color: #edf0f2; text-align: right; }
.facts-action { min-height: 44px; display: flex; align-items: center; justify-content: center; gap: 9px; margin-top: 18px; border-radius: 10px; background: linear-gradient(135deg,var(--accent-hot),#d5163d); color:#fff; font-size:13px; font-weight:800; }
.movie-view .similar-section { padding: 80px 0 96px; border-top: 1px solid rgba(255,255,255,.07); background: #080a0e; }
.movie-view .similar-section .section-title { color: #f5f7f8; }
.movie-view .similar-section .section-subtitle { color: #87929c; }
.movie-view .comments-block { background: #0a0d12; }
.movie-view .comments-block .section { margin: 0; }
@keyframes detail-light { to { transform: translate3d(-5%,3%,0); opacity: .7; } }

html[data-theme="light"] .movie-view,
html[data-theme="light"] .movie-view .player-section,
html[data-theme="light"] .movie-view .similar-section,
html[data-theme="light"] .movie-view .comments-block { color:#f5f7f8; background-color:#080a0e; }
html[data-theme="light"] .movie-view .review-section { background:linear-gradient(180deg,#0b0e13,#080a0e); }
html[data-theme="light"] .movie-view .section-title,
html[data-theme="light"] .movie-view .review-title,
html[data-theme="light"] .movie-view .facts h2 { color:#f5f7f8; }
html[data-theme="light"] .movie-view .entry-content,
html[data-theme="light"] .movie-view .entry-content p { color:#c6cdd2; }
html[data-theme="light"] .movie-view .entry-content > p:first-child,
html[data-theme="light"] .movie-view .entry-content h2,
html[data-theme="light"] .movie-view .entry-content h3 { color:#f0f2f3; }
html[data-theme="light"] .movie-view .facts {
  color:#edf0f2;
  border-color:rgba(255,255,255,.13);
  background:linear-gradient(145deg,rgba(28,34,41,.9),rgba(12,15,20,.86));
  box-shadow:0 24px 65px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.1);
}
html[data-theme="light"] .movie-view .fact-row { border-color:rgba(255,255,255,.08); }
html[data-theme="light"] .movie-view .fact-row span { color:#7f8a94; }
html[data-theme="light"] .movie-view .fact-row strong { color:#edf0f2; }
html[data-theme="light"] .movie-view .facts::before { opacity:.18; }

@media (max-width:900px) {
  .movie-view .single-layout { grid-template-columns: 180px minmax(0,1fr); gap:24px; }
  .movie-view .content-layout { grid-template-columns:1fr; gap:48px; }
  .movie-view .facts { position:relative; top:auto; max-width:none; }
}
@media (max-width:760px) {
  .movie-view .single-hero { min-height:760px; }
  .movie-view .single-hero::after { background:linear-gradient(0deg,#080a0e 0%,rgba(8,10,14,.82) 48%,rgba(8,10,14,.42) 100%); }
  .movie-view .single-layout { width:calc(100% - 28px); grid-template-columns:92px minmax(0,1fr); grid-template-rows:auto auto auto auto; gap:18px 16px; min-height:760px; padding-block:84px 22px; align-content:end; }
  .movie-crumbs { align-self:end; }
  .single-poster-wrap { grid-row:2; }
  .movie-view .single-poster { border-radius:10px; transform:none; }
  .movie-view .single-copy { grid-column:2; grid-row:2; align-self:end; }
  .single-kicker { margin-bottom:9px; flex-wrap:wrap; }
  .single-kicker span { min-height:23px; padding-inline:7px; font-size:8px; }
  .movie-view .single-copy h1 { font-size:clamp(31px,10vw,44px); max-width:100%; }
  .movie-view .single-meta { gap:5px; margin-top:12px; }
  .movie-view .single-meta > span { min-width:0; padding:6px 8px; }
  .movie-view .single-meta strong { font-size:10px; }
  .movie-view .single-meta small { display:none; }
  .movie-view .single-summary { grid-column:1/-1; margin:0; font-size:14px; line-height:1.55; }
  .movie-view .hero-actions { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; }
  .movie-view .hero-actions .watch-btn { grid-column:1/-1; }
  .movie-view .hero-actions .btn { min-height:46px; padding-inline:10px; }
  .movie-view .hero-actions .favorite-action { white-space:nowrap; font-size:12px; gap:6px; }
  .movie-anchor-nav { grid-column:1/-1; width:100%; overflow-x:auto; }
  .movie-anchor-nav a { flex:0 0 auto; }
  .movie-view .player-section,.movie-view .review-section,.movie-view .similar-section { padding:58px 0; }
  .player-heading { align-items:start; }
  .quality-mark { margin-top:3px; }
  .movie-view .cinema-player { border-radius:10px; }
  .movie-view .content-layout { gap:38px; }
  .movie-view .entry-content { font-size:16px; }
  .movie-view .entry-content > p:first-child { font-size:18px; }
}

/* v3.1 cinematic movie card */
.movie-card {
  isolation: isolate;
  border-radius: 18px;
  background: #0b0d11;
  box-shadow: 0 20px 54px rgba(0,0,0,.34);
}
.movie-card .poster { border-radius: 17px; }
.movie-card .poster::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  background: radial-gradient(circle at 50% 43%, transparent 0 14%, rgba(5,7,10,.08) 32%, rgba(5,7,10,.34) 100%);
  opacity: 0;
  transition: opacity .4s ease;
  pointer-events: none;
}
.movie-card:hover .poster::after { opacity: 1; }
.movie-card .poster-shade {
  z-index: 2;
  background: linear-gradient(0deg, rgba(3,5,8,.98) 0%, rgba(3,5,8,.78) 22%, rgba(3,5,8,.12) 56%, rgba(3,5,8,.08) 100%);
}
.movie-card .badge {
  z-index: 8;
  top: 12px;
  left: 12px;
  min-height: 29px;
  display: inline-flex;
  align-items: center;
  padding: 0 10px;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 9px;
  background: rgba(8,11,16,.78);
  color: #fff;
  box-shadow: 0 8px 24px rgba(0,0,0,.24), inset 0 1px rgba(255,255,255,.12);
  backdrop-filter: blur(14px) saturate(150%);
  opacity: .96;
}
.movie-card .favorite {
  width: 38px;
  height: 38px;
  top: 10px;
  right: 10px;
  border: 1px solid rgba(255,255,255,.25);
  background: rgba(8,11,16,.76);
  color: #fff;
  box-shadow: 0 8px 24px rgba(0,0,0,.25), inset 0 1px rgba(255,255,255,.12);
  opacity: .88;
  transform: none;
  backdrop-filter: blur(14px) saturate(150%);
}
.movie-card:hover .favorite { opacity: 1; transform: scale(1.04); }
.movie-card .favorite:hover, .movie-card .favorite.is-saved {
  background: linear-gradient(145deg, #ff5668, #d5163d);
  border-color: rgba(255,255,255,.3);
  box-shadow: 0 10px 28px rgba(223,23,63,.38);
}
.poster-info {
  z-index: 7 !important;
  left: 15px;
  right: 15px;
  bottom: 15px;
  gap: 8px;
  transform: none;
}
.poster-info .movie-title {
  font-size: 16px;
  line-height: 1.18;
  letter-spacing: 0;
  text-shadow: 0 3px 16px rgba(0,0,0,.95);
}
.poster-info .movie-meta {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 7px;
  color: #cbd2da;
  font-size: 11px;
  white-space: nowrap;
  overflow: hidden;
}
.poster-info .movie-meta span { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.poster-info .movie-meta span + span::before { content: "·"; margin-right: 7px; color: rgba(255,255,255,.42); }
.poster-info .movie-meta .card-score {
  flex: 0 0 auto;
  overflow: visible;
  color: #ffd45e;
  font-weight: 850;
  text-shadow: 0 2px 12px rgba(0,0,0,.8);
}
.poster-info .movie-meta .card-score::before { content: none; }
.play-mark {
  z-index: 7;
  width: 68px;
  height: 68px;
  border: 1px solid rgba(255,255,255,.38);
  background: rgba(12,16,22,.48);
  box-shadow: 0 22px 60px rgba(0,0,0,.48), inset 0 1px rgba(255,255,255,.22), 0 0 0 0 rgba(112,230,220,.22);
  backdrop-filter: blur(18px) saturate(175%);
  opacity: 0;
  transform: translate(-50%,-50%) scale(.5) rotate(-12deg);
  transition: opacity .24s ease, transform .48s cubic-bezier(.16,1,.3,1), box-shadow .4s ease;
}
.play-mark::before {
  inset: -7px;
  border: 2px solid transparent;
  background: conic-gradient(from 40deg, transparent 0 18%, var(--aqua) 31%, #fff 43%, var(--accent) 57%, transparent 72% 100%) border-box;
  -webkit-mask: linear-gradient(#000 0 0) padding-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  animation: card-orbit 2.8s linear infinite;
}
.play-mark::after {
  content: "";
  position: absolute;
  inset: -20px;
  border: 1px solid rgba(112,230,220,.38);
  border-radius: 50%;
  opacity: 0;
}
.play-mark span {
  position: relative;
  z-index: 2;
  border-top-width: 9px;
  border-bottom-width: 9px;
  border-left-width: 15px;
  border-left-color: #fff;
  filter: drop-shadow(0 2px 5px rgba(0,0,0,.35));
}
.movie-card:hover .play-mark {
  opacity: 1;
  transform: translate(-50%,-50%) scale(1) rotate(0);
  box-shadow: 0 24px 64px rgba(0,0,0,.52), inset 0 1px rgba(255,255,255,.24), 0 0 0 13px rgba(112,230,220,.08);
}
.movie-card:hover .play-mark::after { animation: card-pulse 1.8s ease-out infinite; }
.movie-card .poster-glare {
  z-index: 5;
  background: radial-gradient(180px circle at var(--card-x) var(--card-y), rgba(255,255,255,.2), transparent 64%);
  transform: none;
}
.movie-card:hover .poster img { transform: scale(1.075); filter: saturate(1.08) contrast(1.08) brightness(.82); }
html[data-theme="light"] .movie-card .badge,
html[data-theme="light"] .movie-card .favorite {
  border-color: rgba(255,255,255,.34);
  background: rgba(8,11,16,.78);
  color: #fff;
}
html[data-theme="light"] .poster-info .movie-title { color: #fff; }
html[data-theme="light"] .poster-info .movie-meta { color: #d2d8df; }
html[data-theme="light"] .poster-info .card-score { color: #ffd45e; }
@keyframes card-orbit { to { transform: rotate(360deg); } }
@keyframes card-pulse {
  0% { transform: scale(.72); opacity: 0; }
  28% { opacity: .65; }
  100% { transform: scale(1.35); opacity: 0; }
}
@media (max-width:760px) {
  .poster-info { left: 11px; right: 11px; bottom: 11px; gap: 5px; }
  .poster-info .movie-title { font-size: 14px; }
  .poster-info .movie-meta { gap: 5px; font-size: 10px; }
  .poster-info .movie-meta span + span::before { margin-right: 5px; }
  .movie-card .badge { top: 8px; left: 8px; min-height: 25px; padding-inline: 8px; font-size: 9px; }
  .movie-card .favorite { top: 7px; right: 7px; width: 33px; height: 33px; }
  .play-mark { width: 56px; height: 56px; }
}

/* v3.4.2 full-perimeter card light */
@property --edge-angle {
  syntax:"<angle>";
  initial-value:0deg;
  inherits:false;
}
.movie-card::after {
  --edge-angle:0deg;
  content:"";
  position:absolute;
  z-index:12;
  inset:0;
  padding:1.5px;
  border-radius:inherit;
  background:conic-gradient(from var(--edge-angle),transparent 0 12%,rgba(112,230,220,.95) 19%,rgba(255,255,255,.9) 25%,transparent 34% 55%,rgba(255,61,79,.9) 64%,rgba(255,181,109,.8) 70%,transparent 79% 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  opacity:0;
  pointer-events:none;
  transition:opacity .25s ease;
}
.movie-card:hover::after {
  opacity:1;
  animation:card-edge-orbit 3.2s linear infinite;
}
.movie-card:hover {
  box-shadow:0 28px 76px rgba(0,0,0,.4),0 0 34px rgba(112,230,220,.1),inset 0 1px rgba(255,255,255,.13);
}
html[data-theme="light"] .movie-card:hover {
  box-shadow:0 30px 72px rgba(34,59,71,.2),0 0 30px rgba(0,141,151,.11);
}
@keyframes card-edge-orbit { to { --edge-angle:360deg; } }
@media (hover:none) {
  .movie-card::after { opacity:.42; background:linear-gradient(135deg,rgba(112,230,220,.55),transparent 28% 72%,rgba(255,61,79,.45)); }
}

/* v3.4.3 premium light theme */
html[data-theme="light"] {
  --ink:#eef5f8;
  --panel:#ffffff;
  --panel-2:#dfeaf0;
  --line:rgba(15,47,62,.14);
  --text:#10202a;
  --muted:#516775;
  --cyan:#007b87;
  --aqua:#0096a0;
  --accent:#d92346;
  --accent-hot:#ff4f67;
  --yellow:#7c5a00;
  --glass:rgba(255,255,255,.58);
  --glass-strong:rgba(255,255,255,.82);
  --glass-line:rgba(255,255,255,.72);
  --shadow:0 24px 68px rgba(24,63,82,.16);
}
html[data-theme="light"] body {
  color:#10202a;
  background:
    radial-gradient(880px circle at 16% 2%,rgba(255,255,255,.98),transparent 58%),
    radial-gradient(760px circle at 84% 12%,rgba(22,189,197,.24),transparent 62%),
    radial-gradient(620px circle at 6% 78%,rgba(255,67,92,.16),transparent 64%),
    linear-gradient(135deg,#f9fcfd 0%,#e9f4f8 46%,#f3f7fa 100%);
  background-size:auto;
}
html[data-theme="light"] body::before {
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(rgba(19,65,82,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(19,65,82,.045) 1px,transparent 1px);
  background-size:56px 56px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.72),rgba(0,0,0,.22) 58%,transparent);
}
html[data-theme="light"] body::after {
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(360px circle at var(--cursor-x,68%) var(--cursor-y,22%),rgba(255,255,255,.72),transparent 66%),
    linear-gradient(120deg,transparent 0 35%,rgba(255,255,255,.34) 44%,transparent 53% 100%);
  opacity:.82;
}
html[data-theme="light"] .ambient-stage {
  opacity:.9;
  background:
    radial-gradient(740px circle at var(--cursor-x,70%) var(--cursor-y,18%),rgba(0,169,178,.18),transparent 68%),
    radial-gradient(600px circle at 18% 80%,rgba(255,61,79,.11),transparent 70%);
}
html[data-theme="light"] .ambient-reel {
  border-color:rgba(0,112,128,.1);
  opacity:.42;
  filter:blur(.2px);
}
html[data-theme="light"] .site-header {
  border-bottom-color:rgba(18,52,68,.12);
  background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(236,249,252,.66));
  box-shadow:0 18px 55px rgba(20,58,76,.12),inset 0 1px rgba(255,255,255,.96);
  -webkit-backdrop-filter:blur(28px) saturate(185%);
  backdrop-filter:blur(28px) saturate(185%);
}
html[data-theme="light"] .site-header::after {
  background:linear-gradient(90deg,transparent,rgba(0,151,162,.28),rgba(255,61,79,.2),transparent);
  opacity:.9;
}
html[data-theme="light"] .brand-mark {
  background:linear-gradient(145deg,#ff4f67,#c91439);
  box-shadow:0 10px 24px rgba(217,31,66,.26),inset 0 1px rgba(255,255,255,.32);
}
html[data-theme="light"] .brand-word { color:#0d1e28; }
html[data-theme="light"] .brand-word span {
  color:#007f8b;
  text-shadow:0 0 20px rgba(0,143,153,.18);
}
html[data-theme="light"] .primary-nav a {
  color:#263e4b;
  border-radius:999px;
  transition:color .18s ease, background .18s ease, box-shadow .18s ease;
}
html[data-theme="light"] .primary-nav a:hover,
html[data-theme="light"] .primary-nav .current-menu-item a {
  color:#b91536;
  background:rgba(255,255,255,.55);
  box-shadow:0 8px 22px rgba(30,70,88,.08);
}
html[data-theme="light"] .icon-btn {
  border-color:rgba(17,53,70,.13);
  background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(238,249,252,.64));
  color:#142a35;
  box-shadow:0 10px 26px rgba(27,66,84,.1),inset 0 1px rgba(255,255,255,.96);
  -webkit-backdrop-filter:blur(18px) saturate(170%);
  backdrop-filter:blur(18px) saturate(170%);
}
html[data-theme="light"] .icon-btn:hover {
  border-color:rgba(0,139,150,.38);
  background:#fff;
  color:#00717a;
  transform:translateY(-1px);
}
html[data-theme="light"] .theme-track {
  background:
    radial-gradient(circle at 80% 24%,rgba(255,255,255,.82) 0 10%,transparent 11%),
    linear-gradient(135deg,#6dd7eb 0%,#dff8ff 48%,#ffd66e 100%);
  border-color:rgba(0,121,140,.22);
  box-shadow:inset 0 1px rgba(255,255,255,.72),0 10px 26px rgba(35,86,105,.14);
}
html[data-theme="light"] .theme-orb {
  background:radial-gradient(circle at 34% 28%,#fff 0 22%,#ffe783 23% 62%,#ffbd42 100%);
  box-shadow:0 0 18px rgba(255,188,58,.72),0 8px 20px rgba(142,96,0,.2),inset 0 1px rgba(255,255,255,.8);
}
html[data-theme="light"] .search-panel,
html[data-theme="light"] .compass-glass,
html[data-theme="light"] .discovery,
html[data-theme="light"] .catalog-head {
  border-color:rgba(255,255,255,.64);
  background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(237,248,251,.46));
  box-shadow:0 24px 70px rgba(23,64,82,.13),inset 0 1px rgba(255,255,255,.96);
  -webkit-backdrop-filter:blur(24px) saturate(170%);
  backdrop-filter:blur(24px) saturate(170%);
}
html[data-theme="light"] .compass-glass {
  overflow:hidden;
  position:relative;
}
html[data-theme="light"] .compass-glass::after {
  content:"";
  position:absolute;
  inset:-45% -18%;
  pointer-events:none;
  background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.58) 47%,transparent 60%);
  transform:translateX(-28%) rotate(3deg);
  opacity:.66;
  animation:light-sheen 8s ease-in-out infinite;
}
html[data-theme="light"] .compass-copy h2,
html[data-theme="light"] .discovery h2,
html[data-theme="light"] .section-title,
html[data-theme="light"] .catalog-head h1 {
  color:#0d1e28;
  text-shadow:0 1px rgba(255,255,255,.72);
}
html[data-theme="light"] .compass-copy p,
html[data-theme="light"] .discovery p,
html[data-theme="light"] .section-subtitle,
html[data-theme="light"] .movie-meta {
  color:#536b78;
}
html[data-theme="light"] .mood-chip,
html[data-theme="light"] .filter-link,
html[data-theme="light"] .page-numbers,
html[data-theme="light"] .cinema-select-trigger {
  border-color:rgba(18,56,72,.13);
  background:linear-gradient(145deg,rgba(255,255,255,.84),rgba(237,248,251,.62));
  color:#243c49;
  box-shadow:0 10px 26px rgba(31,72,89,.085),inset 0 1px rgba(255,255,255,.96);
}
html[data-theme="light"] .mood-chip:hover,
html[data-theme="light"] .mood-chip.is-active,
html[data-theme="light"] .filter-link:hover,
html[data-theme="light"] .filter-link.active,
html[data-theme="light"] .cinema-select.is-open .cinema-select-trigger {
  border-color:rgba(0,139,150,.44);
  background:linear-gradient(145deg,rgba(232,252,255,.92),rgba(255,255,255,.84));
  color:#006f79;
  box-shadow:0 14px 34px rgba(0,139,150,.13),inset 0 1px rgba(255,255,255,.98);
}
html[data-theme="light"] .cinema-select-menu {
  border-color:rgba(18,55,72,.14);
  background:rgba(255,255,255,.96);
  box-shadow:0 26px 70px rgba(24,62,80,.19),inset 0 1px rgba(255,255,255,.98);
  -webkit-backdrop-filter:blur(22px) saturate(170%);
  backdrop-filter:blur(22px) saturate(170%);
}
html[data-theme="light"] .cinema-select-option:hover,
html[data-theme="light"] .cinema-select-option.is-selected {
  color:#091a22;
  background:linear-gradient(90deg,rgba(255,61,79,.12),rgba(0,149,160,.12));
}
html[data-theme="light"] .section + .section {
  border-top-color:rgba(18,52,68,.1);
}
html[data-theme="light"] .text-link {
  color:#007b87;
  text-shadow:0 0 18px rgba(0,143,153,.14);
}
html[data-theme="light"] .text-link:hover { color:#bd1838; }
html[data-theme="light"] .movie-card {
  border:1px solid rgba(255,255,255,.72);
  background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(232,244,249,.58));
  box-shadow:0 18px 48px rgba(23,58,76,.14),0 2px 6px rgba(23,58,76,.05),inset 0 1px rgba(255,255,255,.92);
}
html[data-theme="light"] .movie-card::before {
  background:radial-gradient(230px circle at var(--card-x,50%) var(--card-y,35%),rgba(255,255,255,.62),transparent 62%);
}
html[data-theme="light"] .movie-card:hover {
  border-color:rgba(255,255,255,.9);
  box-shadow:0 30px 78px rgba(21,55,73,.23),0 0 36px rgba(0,145,155,.16),inset 0 1px rgba(255,255,255,.95);
}
html[data-theme="light"] .movie-card .poster {
  background:#dce8ee;
  box-shadow:inset 0 1px rgba(255,255,255,.5);
}
html[data-theme="light"] .movie-card .poster-shade {
  background:linear-gradient(0deg,rgba(4,6,9,.98) 0%,rgba(5,8,12,.82) 25%,rgba(5,8,12,.12) 62%,rgba(255,255,255,.08) 100%);
}
html[data-theme="light"] .movie-card .badge,
html[data-theme="light"] .movie-card .favorite {
  border-color:rgba(255,255,255,.38);
  background:linear-gradient(145deg,rgba(8,12,17,.78),rgba(17,25,33,.58));
  color:#fff;
  box-shadow:0 10px 28px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.18);
}
html[data-theme="light"] .play-mark {
  border-color:rgba(255,255,255,.44);
  background:rgba(8,14,20,.42);
  box-shadow:0 22px 62px rgba(7,18,25,.42),inset 0 1px rgba(255,255,255,.26);
}
html[data-theme="light"] .site-footer {
  border-top-color:rgba(18,52,68,.1);
  background:
    radial-gradient(560px circle at 86% 0%,rgba(0,151,162,.12),transparent 66%),
    linear-gradient(180deg,rgba(255,255,255,.58),rgba(235,245,249,.82));
  color:#162a35;
  box-shadow:inset 0 1px rgba(255,255,255,.92);
}
html[data-theme="light"] .footer-copy,
html[data-theme="light"] .copyright { color:#5c707c; }
html[data-theme="light"] .footer-nav a { color:#243c49; }
html[data-theme="light"] .footer-nav a:hover { color:#007b87; }
@keyframes light-sheen {
  0%, 46% { transform:translateX(-34%) rotate(3deg); opacity:.08; }
  62% { opacity:.72; }
  100% { transform:translateX(34%) rotate(3deg); opacity:.08; }
}
@media (max-width:760px) {
  html[data-theme="light"] .primary-nav {
    border-left:1px solid rgba(255,255,255,.62);
    background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(235,248,251,.9));
    box-shadow:-24px 0 70px rgba(24,62,80,.18);
    -webkit-backdrop-filter:blur(24px) saturate(170%);
    backdrop-filter:blur(24px) saturate(170%);
  }
  html[data-theme="light"] .primary-nav a {
    width:100%;
    padding:10px 12px;
    color:#152b36;
  }
  html[data-theme="light"] .mood-list {
    scrollbar-color:rgba(0,139,150,.35) transparent;
  }
}

/* v3.4.4 comments composer cleanup */
.rs-comment-trap {
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}
.movie-view .comment-respond {
  max-width:960px;
  margin-inline:auto;
  padding:18px;
  border-radius:18px;
}
.movie-view .comment-respond form {
  display:grid;
  grid-template-columns:190px minmax(0,1fr) 128px;
  grid-template-areas:"author message submit";
  gap:12px;
  align-items:end;
}
.movie-view .comment-form-author,
.movie-view .comment-form-comment,
.movie-view .form-submit {
  min-width:0;
  margin:0;
}
.movie-view .comment-form-author label,
.movie-view .comment-form-comment label {
  display:block;
  min-height:14px;
  margin:0 0 7px 4px;
  color:#7c8993;
  font-size:9px;
  font-weight:850;
  line-height:1;
  text-transform:uppercase;
}
.movie-view .comment-form-author input,
.movie-view .comment-form-comment textarea {
  display:block;
  width:100%;
  height:54px;
  min-height:54px;
  margin:0;
  border:1px solid rgba(255,255,255,.14);
  border-radius:15px;
  background:rgba(255,255,255,.055);
  color:#f3f6f7;
  box-shadow:inset 0 1px rgba(255,255,255,.06);
  font-size:14px;
  line-height:1.35;
  outline:none;
}
.movie-view .comment-form-author input {
  padding:0 15px;
}
.movie-view .comment-form-comment textarea {
  max-height:150px;
  padding:16px 15px;
  resize:vertical;
}
.movie-view .comment-form-author input:focus,
.movie-view .comment-form-comment textarea:focus {
  border-color:rgba(112,230,220,.58);
  background:rgba(112,230,220,.07);
  box-shadow:0 0 0 3px rgba(112,230,220,.08),inset 0 1px rgba(255,255,255,.08);
}
.movie-view .comment-form .btn {
  width:100%;
  height:54px;
  min-height:54px;
  margin:0;
  border-radius:15px;
  white-space:nowrap;
}
.movie-view .comment-awaiting-moderation {
  display:inline-flex;
  margin:8px 0 0;
  padding:6px 9px;
  border-radius:999px;
  background:rgba(255,212,94,.12);
  color:#ffd45e;
  font-size:11px;
  font-style:normal;
}
.movie-view .comment-notes,
.movie-view .logged-in-as,
.movie-view .comment-form-email,
.movie-view .comment-form-url,
.movie-view .comment-form-cookies-consent {
  display:none;
}
html[data-theme="light"] .movie-view .comment-form-author input,
html[data-theme="light"] .movie-view .comment-form-comment textarea {
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.15);
  color:#f3f6f7;
}
@media (max-width:760px) {
  .movie-view .comment-respond {
    padding:14px;
    border-radius:16px;
  }
  .movie-view .comment-respond form {
    grid-template-columns:1fr 108px;
    grid-template-areas:"author author" "message submit";
    gap:10px;
  }
  .movie-view .comment-form-comment textarea,
  .movie-view .comment-form .btn {
    height:52px;
    min-height:52px;
  }
}
@media (max-width:430px) {
  .movie-view .comment-respond form {
    grid-template-columns:1fr;
    grid-template-areas:"author" "message" "submit";
  }
  .movie-view .comment-form .btn {
    width:100%;
  }
}

/* v3.4.5 Telegram-like comment reactions */
.movie-view .comment-actions {
  position:relative;
  gap:8px;
  align-items:center;
  margin-top:10px;
}
.reaction-wrap {
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-width:0;
}
.reaction-summary {
  display:inline-flex;
  align-items:center;
  gap:3px;
  max-width:100%;
  min-height:32px;
}
.reaction-summary:empty {
  display:none;
}
.movie-view .reaction-summary button,
.reaction-open {
  position:relative;
  min-width:34px;
  height:32px;
  min-height:32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:3px;
  padding:0 8px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:999px;
  background:rgba(255,255,255,.055);
  color:#a8b3bd;
  box-shadow:0 8px 20px rgba(0,0,0,.14),inset 0 1px rgba(255,255,255,.07);
  transform:none;
  transition:background .18s ease,color .18s ease,transform .18s cubic-bezier(.16,1,.3,1),box-shadow .18s ease;
}
.reaction-open {
  width:34px;
  padding:0;
  color:#7ee4dd;
  cursor:pointer;
  font-size:16px;
  font-weight:900;
}
.reaction-wrap.is-open .reaction-open {
  background:rgba(112,230,220,.13);
  border-color:rgba(112,230,220,.32);
  color:#fff;
  transform:rotate(180deg);
}
.movie-view .reaction-summary button b,
.movie-view .reaction-picker button b {
  display:block;
  font-size:19px;
  line-height:1;
  filter:drop-shadow(0 3px 7px rgba(0,0,0,.28));
  transform-origin:center bottom;
  transition:transform .18s cubic-bezier(.16,1,.3,1);
}
.movie-view .reaction-summary button span,
.movie-view .reaction-picker button span {
  min-width:0;
  font-size:11px;
  font-weight:800;
  line-height:1;
}
.movie-view .reaction-summary button:hover,
.reaction-open:hover {
  background:rgba(255,255,255,.09);
  color:#fff;
  transform:translateY(-2px);
}
.movie-view .reaction-summary button:hover b,
.movie-view .reaction-picker button:hover b {
  transform:scale(1.24);
}
.movie-view .reaction-summary button.is-reacted,
.movie-view .reaction-picker button.is-reacted {
  background:linear-gradient(145deg,rgba(112,230,220,.22),rgba(255,255,255,.1));
  color:#fff;
  box-shadow:0 8px 22px rgba(112,230,220,.16),inset 0 1px rgba(255,255,255,.14);
}
.movie-view .reaction-summary button.is-reacted b,
.movie-view .reaction-picker button.is-reacted b {
  transform:scale(1.16);
}
.movie-view .reaction-summary button:disabled,
.movie-view .reaction-picker button:disabled {
  opacity:.7;
  cursor:wait;
}
.reaction-picker {
  position:absolute;
  left:0;
  bottom:calc(100% + 8px);
  z-index:18;
  width:max-content;
  max-width:min(360px,calc(100vw - 32px));
  display:grid;
  grid-template-columns:repeat(6,38px);
  gap:5px;
  padding:8px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  background:linear-gradient(145deg,rgba(10,14,21,.92),rgba(28,35,45,.88));
  box-shadow:0 24px 70px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.1);
  -webkit-backdrop-filter:blur(24px) saturate(170%);
  backdrop-filter:blur(24px) saturate(170%);
  animation:reaction-picker-in .2s cubic-bezier(.16,1,.3,1) both;
}
.reaction-picker[hidden] {
  display:none;
}
.movie-view .reaction-picker button {
  position:relative;
  width:38px;
  height:38px;
  min-height:38px;
  display:grid;
  place-items:center;
  padding:0;
  border:0;
  border-radius:13px;
  background:transparent;
  color:#fff;
  cursor:pointer;
  transition:background .16s ease,transform .16s cubic-bezier(.16,1,.3,1);
}
.movie-view .reaction-picker button span {
  position:absolute;
  right:1px;
  bottom:1px;
  min-width:14px;
  height:14px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#1f8f9a;
  color:#fff;
  font-size:8px;
  box-shadow:0 3px 8px rgba(0,0,0,.24);
}
.movie-view .reaction-picker button:not(.has-count) span {
  display:none;
}
.movie-view .reaction-picker button:hover {
  background:rgba(255,255,255,.1);
  transform:translateY(-3px);
}
.reaction-burst {
  position:absolute;
  left:50%;
  bottom:82%;
  z-index:4;
  pointer-events:none;
  font-size:24px;
  line-height:1;
  transform:translateX(-50%);
  animation:reaction-pop .62s cubic-bezier(.16,1,.3,1) forwards;
}
.movie-view .comment-actions .comment-reply-link {
  min-height:32px;
  padding:0 12px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:999px;
  background:rgba(255,255,255,.045);
  color:#9aa5ae;
  font-size:11px;
  font-weight:750;
}
.movie-view .comment-actions .comment-reply-link:hover {
  border-color:rgba(112,230,220,.3);
  background:rgba(112,230,220,.08);
  color:#fff;
}
html[data-theme="light"] .movie-view .reaction-picker {
  border-color:rgba(255,255,255,.11);
  background:linear-gradient(145deg,rgba(10,14,21,.94),rgba(28,35,45,.9));
}
@keyframes reaction-pop {
  0% { opacity:0; transform:translate(-50%,8px) scale(.5) rotate(-10deg); }
  34% { opacity:1; transform:translate(-50%,-18px) scale(1.22) rotate(5deg); }
  100% { opacity:0; transform:translate(-50%,-38px) scale(.86) rotate(0); }
}
@keyframes reaction-picker-in {
  from { opacity:0; transform:translateY(8px) scale(.94); }
  to { opacity:1; transform:translateY(0) scale(1); }
}
@media (max-width:760px) {
  .movie-view .comment-actions {
    align-items:flex-start;
  }
  .reaction-wrap {
    max-width:100%;
  }
  .reaction-summary {
    overflow-x:auto;
    scrollbar-width:none;
  }
  .reaction-summary::-webkit-scrollbar {
    display:none;
  }
  .movie-view .reaction-summary button {
    flex:0 0 auto;
    min-width:36px;
    height:34px;
  }
  .reaction-picker {
    left:auto;
    right:0;
    grid-template-columns:repeat(6,36px);
    max-width:calc(100vw - 28px);
  }
  .movie-view .reaction-picker button {
    width:36px;
    height:36px;
  }
  .movie-view .comment-actions .comment-reply-link {
    flex:0 0 auto;
    min-height:34px;
  }
}

/* v3.4.9 stable mobile reaction picker */
.movie-view .comment-actions {
  width:100%;
  min-width:0;
  display:flex;
  flex-wrap:wrap;
}
.reaction-wrap {
  max-width:100%;
}
.reaction-summary {
  min-width:0;
  max-width:min(100%,520px);
}
.reaction-picker {
  grid-template-columns:repeat(7,38px);
  max-height:218px;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:rgba(112,230,220,.34) transparent;
}
.reaction-picker::-webkit-scrollbar {
  width:6px;
}
.reaction-picker::-webkit-scrollbar-thumb {
  border-radius:999px;
  background:rgba(112,230,220,.34);
}
.movie-view .comment-actions .comment-reply-link {
  flex:0 0 auto;
}
@media (max-width:760px) {
  .movie-view .comment-actions {
    gap:7px;
    align-items:flex-start;
  }
  .reaction-wrap {
    flex:1 1 100%;
    width:100%;
  }
  .reaction-summary {
    max-width:calc(100% - 43px);
  }
  .reaction-open {
    flex:0 0 36px;
    width:36px;
    height:34px;
    min-height:34px;
  }
  .reaction-picker {
    left:0;
    right:auto;
    width:min(272px,calc(100vw - 64px));
    max-width:min(272px,calc(100vw - 64px));
    max-height:206px;
    grid-template-columns:repeat(6,36px);
    gap:4px;
    padding:8px;
    border-radius:17px;
  }
  .movie-view .reaction-picker button {
    width:36px;
    height:36px;
    min-height:36px;
    border-radius:12px;
  }
  .movie-view .reaction-picker button b {
    font-size:19px;
  }
  .movie-view .comment-actions .comment-reply-link {
    margin-left:0;
  }
}
@media (max-width:360px) {
  .reaction-picker {
    width:min(250px,calc(100vw - 54px));
    max-width:min(250px,calc(100vw - 54px));
    grid-template-columns:repeat(5,36px);
  }
  .movie-view .hero-actions {
    grid-template-columns:1fr;
  }
  .movie-view .hero-actions .btn,
  .movie-view .hero-actions .favorite-action {
    grid-column:1;
    width:100%;
    min-width:0;
  }
  .comments-heading {
    display:grid;
    grid-template-columns:1fr;
  }
  .discussion-status {
    width:max-content;
    max-width:100%;
  }
  .movie-anchor-nav {
    max-width:100%;
  }
}

/* v3.4.11 richer animated reactions */
.reaction-open {
  background:
    radial-gradient(circle at 34% 24%,rgba(255,255,255,.18),transparent 42%),
    linear-gradient(145deg,rgba(112,230,220,.12),rgba(255,255,255,.045));
  box-shadow:0 10px 24px rgba(0,0,0,.18),0 0 0 0 rgba(112,230,220,.18),inset 0 1px rgba(255,255,255,.13);
}
.reaction-open::before {
  content:"+";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  font-size:20px;
  line-height:1;
  transform:translateY(-1px);
}
.reaction-open {
  color:transparent;
}
.reaction-wrap.is-open .reaction-open::before {
  content:"×";
  color:#fff;
  transform:none;
}
.reaction-wrap.is-open .reaction-open {
  transform:none;
  box-shadow:0 12px 28px rgba(112,230,220,.16),0 0 0 6px rgba(112,230,220,.07),inset 0 1px rgba(255,255,255,.16);
}
.reaction-picker {
  gap:6px;
  padding:10px;
  border-radius:20px;
  background:
    radial-gradient(180px circle at 18% 0%,rgba(112,230,220,.14),transparent 64%),
    radial-gradient(180px circle at 88% 100%,rgba(255,86,104,.12),transparent 66%),
    linear-gradient(145deg,rgba(11,15,22,.94),rgba(30,38,49,.9));
}
.movie-view .reaction-picker button {
  isolation:isolate;
  overflow:visible;
  background:rgba(255,255,255,.035);
  box-shadow:inset 0 1px rgba(255,255,255,.055);
  opacity:0;
  transform:translateY(10px) scale(.72);
}
.reaction-wrap.is-open .reaction-picker button {
  animation:reaction-item-in .34s cubic-bezier(.16,1,.3,1) both;
  animation-delay:calc(min(var(--reaction-index,0), 17) * 18ms);
}
.movie-view .reaction-picker button::before {
  content:"";
  position:absolute;
  inset:3px;
  z-index:-1;
  border-radius:11px;
  background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.16),transparent 64%);
  opacity:0;
  transform:scale(.7);
  transition:opacity .18s ease,transform .18s ease;
}
.movie-view .reaction-picker button:hover::before,
.movie-view .reaction-picker button.is-reacted::before {
  opacity:1;
  transform:scale(1);
}
.movie-view .reaction-picker button:hover {
  background:rgba(255,255,255,.105);
  box-shadow:0 10px 24px rgba(0,0,0,.18),inset 0 1px rgba(255,255,255,.1);
}
.movie-view .reaction-picker button.is-tapped b {
  animation:reaction-tap .42s cubic-bezier(.16,1,.3,1);
}
.movie-view .reaction-picker button b,
.movie-view .reaction-summary button b {
  font-size:21px;
}
.movie-view .reaction-picker button.is-reacted {
  background:linear-gradient(145deg,rgba(112,230,220,.24),rgba(255,255,255,.09));
}
.movie-view .reaction-summary button {
  overflow:visible;
  background:
    radial-gradient(circle at 30% 20%,rgba(255,255,255,.16),transparent 46%),
    linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.045));
}
.movie-view .reaction-summary button.is-fresh {
  animation:reaction-chip-in .34s cubic-bezier(.16,1,.3,1) both;
}
.movie-view .reaction-summary button.is-reacted {
  border-color:rgba(112,230,220,.36);
  background:linear-gradient(145deg,rgba(112,230,220,.24),rgba(255,255,255,.08));
}
.reaction-burst {
  text-shadow:0 8px 22px rgba(0,0,0,.35);
  animation:reaction-pop .72s cubic-bezier(.16,1,.3,1) forwards;
}
@keyframes reaction-item-in {
  0% { opacity:0; transform:translateY(10px) scale(.72) rotate(-8deg); }
  70% { opacity:1; transform:translateY(-3px) scale(1.12) rotate(3deg); }
  100% { opacity:1; transform:translateY(0) scale(1) rotate(0); }
}
@keyframes reaction-tap {
  0% { transform:scale(1) rotate(0); }
  38% { transform:scale(1.45) rotate(-9deg); }
  72% { transform:scale(.92) rotate(4deg); }
  100% { transform:scale(1) rotate(0); }
}
@keyframes reaction-chip-in {
  0% { opacity:0; transform:translateY(7px) scale(.7); }
  72% { opacity:1; transform:translateY(-2px) scale(1.12); }
  100% { opacity:1; transform:translateY(0) scale(1); }
}
@media (max-width:760px) {
  .reaction-picker {
    gap:5px;
    padding:9px;
  }
  .movie-view .reaction-picker button b,
  .movie-view .reaction-summary button b {
    font-size:20px;
  }
}

/* v3.4.12 animated emoji glyphs */
.movie-view .reaction-picker [data-picker-reaction] b,
.movie-view .reaction-summary [data-summary-reaction] b {
  display:inline-block;
  transform-origin:50% 58%;
  will-change:transform,filter;
}
.reaction-wrap.is-open .reaction-picker [data-picker-reaction="like"] b,
.reaction-wrap.is-open .reaction-picker [data-picker-reaction="heart_eyes"] b,
.reaction-wrap.is-open .reaction-picker [data-picker-reaction="broken"] b,
.movie-view .reaction-summary [data-summary-reaction="like"] b,
.movie-view .reaction-summary [data-summary-reaction="heart_eyes"] b,
.movie-view .reaction-summary [data-summary-reaction="broken"] b {
  animation:rs-emoji-heart 1.35s ease-in-out infinite;
}
.reaction-wrap.is-open .reaction-picker [data-picker-reaction="fire"] b,
.reaction-wrap.is-open .reaction-picker [data-picker-reaction="hot"] b,
.reaction-wrap.is-open .reaction-picker [data-picker-reaction="lightning"] b,
.movie-view .reaction-summary [data-summary-reaction="fire"] b,
.movie-view .reaction-summary [data-summary-reaction="hot"] b,
.movie-view .reaction-summary [data-summary-reaction="lightning"] b {
  animation:rs-emoji-flame 1.18s ease-in-out infinite;
}
.reaction-wrap.is-open .reaction-picker [data-picker-reaction="rocket"] b,
.movie-view .reaction-summary [data-summary-reaction="rocket"] b {
  animation:rs-emoji-rocket 1.28s cubic-bezier(.34,1.56,.64,1) infinite;
}
.reaction-wrap.is-open .reaction-picker [data-picker-reaction="laugh"] b,
.reaction-wrap.is-open .reaction-picker [data-picker-reaction="cry_laugh"] b,
.reaction-wrap.is-open .reaction-picker [data-picker-reaction="party"] b,
.reaction-wrap.is-open .reaction-picker [data-picker-reaction="smile"] b,
.movie-view .reaction-summary [data-summary-reaction="laugh"] b,
.movie-view .reaction-summary [data-summary-reaction="cry_laugh"] b,
.movie-view .reaction-summary [data-summary-reaction="party"] b,
.movie-view .reaction-summary [data-summary-reaction="smile"] b {
  animation:rs-emoji-bounce 1.05s ease-in-out infinite;
}
.reaction-wrap.is-open .reaction-picker [data-picker-reaction="wow"] b,
.reaction-wrap.is-open .reaction-picker [data-picker-reaction="shock"] b,
.reaction-wrap.is-open .reaction-picker [data-picker-reaction="star"] b,
.reaction-wrap.is-open .reaction-picker [data-picker-reaction="sparkles"] b,
.reaction-wrap.is-open .reaction-picker [data-picker-reaction="hundred"] b,
.reaction-wrap.is-open .reaction-picker [data-picker-reaction="trophy"] b,
.movie-view .reaction-summary [data-summary-reaction="wow"] b,
.movie-view .reaction-summary [data-summary-reaction="shock"] b,
.movie-view .reaction-summary [data-summary-reaction="star"] b,
.movie-view .reaction-summary [data-summary-reaction="sparkles"] b,
.movie-view .reaction-summary [data-summary-reaction="hundred"] b,
.movie-view .reaction-summary [data-summary-reaction="trophy"] b {
  animation:rs-emoji-pop 1.22s ease-in-out infinite;
}
.reaction-wrap.is-open .reaction-picker [data-picker-reaction="clap"] b,
.reaction-wrap.is-open .reaction-picker [data-picker-reaction="pray"] b,
.reaction-wrap.is-open .reaction-picker [data-picker-reaction="ok"] b,
.reaction-wrap.is-open .reaction-picker [data-picker-reaction="thumb"] b,
.movie-view .reaction-summary [data-summary-reaction="clap"] b,
.movie-view .reaction-summary [data-summary-reaction="pray"] b,
.movie-view .reaction-summary [data-summary-reaction="ok"] b,
.movie-view .reaction-summary [data-summary-reaction="thumb"] b {
  animation:rs-emoji-swing 1.12s ease-in-out infinite;
}
.reaction-wrap.is-open .reaction-picker [data-picker-reaction="angry"] b,
.reaction-wrap.is-open .reaction-picker [data-picker-reaction="sick"] b,
.reaction-wrap.is-open .reaction-picker [data-picker-reaction="vomit"] b,
.reaction-wrap.is-open .reaction-picker [data-picker-reaction="poop"] b,
.reaction-wrap.is-open .reaction-picker [data-picker-reaction="devil"] b,
.movie-view .reaction-summary [data-summary-reaction="angry"] b,
.movie-view .reaction-summary [data-summary-reaction="sick"] b,
.movie-view .reaction-summary [data-summary-reaction="vomit"] b,
.movie-view .reaction-summary [data-summary-reaction="poop"] b,
.movie-view .reaction-summary [data-summary-reaction="devil"] b {
  animation:rs-emoji-shake .84s ease-in-out infinite;
}
.reaction-wrap.is-open .reaction-picker [data-picker-reaction="sad"] b,
.reaction-wrap.is-open .reaction-picker [data-picker-reaction="sleep"] b,
.reaction-wrap.is-open .reaction-picker [data-picker-reaction="cold"] b,
.reaction-wrap.is-open .reaction-picker [data-picker-reaction="melting"] b,
.movie-view .reaction-summary [data-summary-reaction="sad"] b,
.movie-view .reaction-summary [data-summary-reaction="sleep"] b,
.movie-view .reaction-summary [data-summary-reaction="cold"] b,
.movie-view .reaction-summary [data-summary-reaction="melting"] b {
  animation:rs-emoji-sway 1.65s ease-in-out infinite;
}
.reaction-wrap.is-open .reaction-picker [data-picker-reaction="think"] b,
.reaction-wrap.is-open .reaction-picker [data-picker-reaction="monocle"] b,
.reaction-wrap.is-open .reaction-picker [data-picker-reaction="brain"] b,
.reaction-wrap.is-open .reaction-picker [data-picker-reaction="eyes"] b,
.reaction-wrap.is-open .reaction-picker [data-picker-reaction="zip"] b,
.reaction-wrap.is-open .reaction-picker [data-picker-reaction="money"] b,
.movie-view .reaction-summary [data-summary-reaction="think"] b,
.movie-view .reaction-summary [data-summary-reaction="monocle"] b,
.movie-view .reaction-summary [data-summary-reaction="brain"] b,
.movie-view .reaction-summary [data-summary-reaction="eyes"] b,
.movie-view .reaction-summary [data-summary-reaction="zip"] b,
.movie-view .reaction-summary [data-summary-reaction="money"] b {
  animation:rs-emoji-look 1.42s ease-in-out infinite;
}
.reaction-wrap.is-open .reaction-picker [data-picker-reaction="cool"] b,
.reaction-wrap.is-open .reaction-picker [data-picker-reaction="kiss"] b,
.reaction-wrap.is-open .reaction-picker [data-picker-reaction="skull"] b,
.reaction-wrap.is-open .reaction-picker [data-picker-reaction="ghost"] b,
.reaction-wrap.is-open .reaction-picker [data-picker-reaction="alien"] b,
.reaction-wrap.is-open .reaction-picker [data-picker-reaction="angel"] b,
.reaction-wrap.is-open .reaction-picker [data-picker-reaction="mind"] b,
.reaction-wrap.is-open .reaction-picker [data-picker-reaction="salute"] b,
.movie-view .reaction-summary [data-summary-reaction="cool"] b,
.movie-view .reaction-summary [data-summary-reaction="kiss"] b,
.movie-view .reaction-summary [data-summary-reaction="skull"] b,
.movie-view .reaction-summary [data-summary-reaction="ghost"] b,
.movie-view .reaction-summary [data-summary-reaction="alien"] b,
.movie-view .reaction-summary [data-summary-reaction="angel"] b,
.movie-view .reaction-summary [data-summary-reaction="mind"] b,
.movie-view .reaction-summary [data-summary-reaction="salute"] b {
  animation:rs-emoji-float 1.72s ease-in-out infinite;
}
.movie-view .reaction-picker button.is-tapped b {
  animation:reaction-tap .42s cubic-bezier(.16,1,.3,1) !important;
}
@keyframes rs-emoji-heart {
  0%,100% { transform:scale(1); filter:none; }
  18% { transform:scale(1.28); filter:drop-shadow(0 0 10px rgba(255,86,104,.55)); }
  34% { transform:scale(.94); }
  50% { transform:scale(1.16); filter:drop-shadow(0 0 8px rgba(255,86,104,.42)); }
}
@keyframes rs-emoji-flame {
  0%,100% { transform:translateY(0) scale(1) rotate(-2deg); filter:saturate(1); }
  32% { transform:translateY(-4px) scale(1.16) rotate(4deg); filter:saturate(1.35) drop-shadow(0 0 10px rgba(255,156,54,.55)); }
  64% { transform:translateY(1px) scale(.98) rotate(-5deg); }
}
@keyframes rs-emoji-rocket {
  0%,100% { transform:translate(0,0) rotate(-8deg); filter:none; }
  42% { transform:translate(5px,-7px) rotate(8deg); filter:drop-shadow(-5px 8px 10px rgba(112,230,220,.42)); }
  70% { transform:translate(-1px,2px) rotate(-12deg); }
}
@keyframes rs-emoji-bounce {
  0%,100% { transform:translateY(0) rotate(0); }
  34% { transform:translateY(-5px) rotate(-7deg); }
  68% { transform:translateY(1px) rotate(5deg); }
}
@keyframes rs-emoji-pop {
  0%,100% { transform:scale(1) rotate(0); filter:none; }
  30% { transform:scale(1.23) rotate(7deg); filter:drop-shadow(0 0 10px rgba(255,213,89,.5)); }
  62% { transform:scale(.96) rotate(-5deg); }
}
@keyframes rs-emoji-swing {
  0%,100% { transform:rotate(0) translateY(0); }
  25% { transform:rotate(-16deg) translateY(-2px); }
  50% { transform:rotate(14deg) translateY(0); }
  74% { transform:rotate(-7deg) translateY(-1px); }
}
@keyframes rs-emoji-shake {
  0%,100% { transform:translateX(0) rotate(0); filter:none; }
  18% { transform:translateX(-2px) rotate(-9deg); filter:drop-shadow(0 0 8px rgba(255,86,104,.42)); }
  36% { transform:translateX(3px) rotate(8deg); }
  54% { transform:translateX(-2px) rotate(-6deg); }
  72% { transform:translateX(1px) rotate(4deg); }
}
@keyframes rs-emoji-sway {
  0%,100% { transform:translateY(0) rotate(0); opacity:1; }
  38% { transform:translateY(3px) rotate(-5deg); opacity:.82; }
  70% { transform:translateY(-2px) rotate(4deg); opacity:1; }
}
@keyframes rs-emoji-look {
  0%,100% { transform:translateX(0) rotate(0); }
  28% { transform:translateX(-3px) rotate(-6deg); }
  56% { transform:translateX(3px) rotate(6deg); }
  76% { transform:translateX(0) scale(1.08); }
}
@keyframes rs-emoji-float {
  0%,100% { transform:translateY(0) rotate(0); filter:none; }
  45% { transform:translateY(-5px) rotate(6deg); filter:drop-shadow(0 8px 10px rgba(112,230,220,.22)); }
  72% { transform:translateY(1px) rotate(-4deg); }
}
@media (prefers-reduced-motion:reduce) {
  .movie-view .reaction-picker [data-picker-reaction] b,
  .movie-view .reaction-summary [data-summary-reaction] b {
    animation:none !important;
  }
}

/* v3.4.13 typed Telegram-like reaction bursts */
.reaction-burst {
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  font-size:28px;
  line-height:1;
  transform-origin:50% 78%;
  filter:drop-shadow(0 12px 18px rgba(0,0,0,.34));
  animation:rs-burst-float .98s cubic-bezier(.16,1,.3,1) forwards;
}
.reaction-burst::before,
.reaction-burst::after {
  content:"";
  position:absolute;
  inset:50% auto auto 50%;
  width:6px;
  height:6px;
  border-radius:999px;
  opacity:0;
  transform:translate(-50%,-50%) scale(.4);
  pointer-events:none;
}
.reaction-burst::before {
  background:#70e6dc;
  box-shadow:-18px -8px #70e6dc,16px -14px #ffd559,20px 8px #ff5668,-12px 14px #fff;
  animation:rs-burst-sparks-a .86s ease-out forwards;
}
.reaction-burst::after {
  background:#ff5668;
  box-shadow:-12px -18px #ff5668,18px -2px #70e6dc,8px 17px #ffd559,-20px 5px #fff;
  animation:rs-burst-sparks-b .86s ease-out forwards;
}
.reaction-burst[data-burst-reaction="like"],
.reaction-burst[data-burst-reaction="heart_eyes"],
.reaction-burst[data-burst-reaction="broken"] {
  animation-name:rs-burst-heart;
}
.reaction-burst[data-burst-reaction="fire"],
.reaction-burst[data-burst-reaction="hot"],
.reaction-burst[data-burst-reaction="lightning"] {
  animation-name:rs-burst-flame;
}
.reaction-burst[data-burst-reaction="rocket"] {
  animation-name:rs-burst-rocket;
}
.reaction-burst[data-burst-reaction="laugh"],
.reaction-burst[data-burst-reaction="cry_laugh"],
.reaction-burst[data-burst-reaction="party"],
.reaction-burst[data-burst-reaction="smile"] {
  animation-name:rs-burst-laugh;
}
.reaction-burst[data-burst-reaction="clap"],
.reaction-burst[data-burst-reaction="pray"],
.reaction-burst[data-burst-reaction="ok"],
.reaction-burst[data-burst-reaction="thumb"] {
  animation-name:rs-burst-clap;
}
.reaction-burst[data-burst-reaction="angry"],
.reaction-burst[data-burst-reaction="sick"],
.reaction-burst[data-burst-reaction="vomit"],
.reaction-burst[data-burst-reaction="poop"],
.reaction-burst[data-burst-reaction="devil"] {
  animation-name:rs-burst-angry;
}
.reaction-burst[data-burst-reaction="sad"],
.reaction-burst[data-burst-reaction="sleep"],
.reaction-burst[data-burst-reaction="cold"],
.reaction-burst[data-burst-reaction="melting"] {
  animation-name:rs-burst-sad;
}
.reaction-burst[data-burst-reaction="wow"],
.reaction-burst[data-burst-reaction="shock"],
.reaction-burst[data-burst-reaction="star"],
.reaction-burst[data-burst-reaction="sparkles"],
.reaction-burst[data-burst-reaction="hundred"],
.reaction-burst[data-burst-reaction="trophy"] {
  animation-name:rs-burst-star;
}
.reaction-burst[data-burst-reaction="think"],
.reaction-burst[data-burst-reaction="monocle"],
.reaction-burst[data-burst-reaction="brain"],
.reaction-burst[data-burst-reaction="eyes"],
.reaction-burst[data-burst-reaction="zip"],
.reaction-burst[data-burst-reaction="money"] {
  animation-name:rs-burst-look;
}
.reaction-burst[data-burst-reaction="cool"],
.reaction-burst[data-burst-reaction="kiss"],
.reaction-burst[data-burst-reaction="skull"],
.reaction-burst[data-burst-reaction="ghost"],
.reaction-burst[data-burst-reaction="alien"],
.reaction-burst[data-burst-reaction="angel"],
.reaction-burst[data-burst-reaction="mind"],
.reaction-burst[data-burst-reaction="salute"] {
  animation-name:rs-burst-float;
}
@keyframes rs-burst-sparks-a {
  0% { opacity:0; transform:translate(-50%,-50%) scale(.35) rotate(0); }
  22% { opacity:1; }
  100% { opacity:0; transform:translate(-50%,-50%) scale(1.45) rotate(54deg); }
}
@keyframes rs-burst-sparks-b {
  0% { opacity:0; transform:translate(-50%,-50%) scale(.35) rotate(0); }
  28% { opacity:.88; }
  100% { opacity:0; transform:translate(-50%,-50%) scale(1.32) rotate(-48deg); }
}
@keyframes rs-burst-heart {
  0% { opacity:0; transform:translate(-50%,8px) scale(.35) rotate(-12deg); }
  18% { opacity:1; transform:translate(-50%,-12px) scale(1.38) rotate(8deg); }
  42% { transform:translate(-50%,-28px) scale(.96) rotate(-5deg); }
  72% { opacity:1; transform:translate(-50%,-52px) scale(1.16) rotate(4deg); }
  100% { opacity:0; transform:translate(-50%,-76px) scale(.72) rotate(0); }
}
@keyframes rs-burst-flame {
  0% { opacity:0; transform:translate(-50%,8px) scale(.42) rotate(-10deg); }
  24% { opacity:1; transform:translate(-48%,-18px) scale(1.28) rotate(8deg); filter:drop-shadow(0 0 18px rgba(255,156,54,.64)); }
  58% { transform:translate(-55%,-48px) scale(1.02) rotate(-9deg); }
  100% { opacity:0; transform:translate(-46%,-88px) scale(.62) rotate(12deg); }
}
@keyframes rs-burst-rocket {
  0% { opacity:0; transform:translate(-52%,10px) scale(.42) rotate(-24deg); }
  18% { opacity:1; transform:translate(-48%,-8px) scale(1.16) rotate(-14deg); }
  62% { opacity:1; transform:translate(-18%,-58px) scale(1.04) rotate(16deg); }
  100% { opacity:0; transform:translate(20%,-108px) scale(.58) rotate(26deg); }
}
@keyframes rs-burst-laugh {
  0% { opacity:0; transform:translate(-50%,8px) scale(.36) rotate(0); }
  20% { opacity:1; transform:translate(-50%,-18px) scale(1.32) rotate(-13deg); }
  46% { transform:translate(-50%,-36px) scale(.92) rotate(12deg); }
  74% { transform:translate(-50%,-54px) scale(1.08) rotate(-6deg); }
  100% { opacity:0; transform:translate(-50%,-78px) scale(.58) rotate(9deg); }
}
@keyframes rs-burst-clap {
  0% { opacity:0; transform:translate(-50%,8px) scale(.4) rotate(0); }
  22% { opacity:1; transform:translate(-62%,-18px) scale(1.18) rotate(-18deg); }
  44% { transform:translate(-38%,-34px) scale(1.08) rotate(16deg); }
  70% { transform:translate(-54%,-56px) scale(.98) rotate(-8deg); }
  100% { opacity:0; transform:translate(-50%,-82px) scale(.58) rotate(0); }
}
@keyframes rs-burst-angry {
  0% { opacity:0; transform:translate(-50%,8px) scale(.4) rotate(0); }
  18% { opacity:1; transform:translate(-56%,-14px) scale(1.22) rotate(-14deg); filter:drop-shadow(0 0 14px rgba(255,86,104,.58)); }
  34% { transform:translate(-42%,-28px) scale(1.04) rotate(13deg); }
  54% { transform:translate(-58%,-43px) scale(1.12) rotate(-11deg); }
  100% { opacity:0; transform:translate(-50%,-74px) scale(.58) rotate(4deg); }
}
@keyframes rs-burst-sad {
  0% { opacity:0; transform:translate(-50%,8px) scale(.38) rotate(-4deg); }
  26% { opacity:1; transform:translate(-50%,-12px) scale(1.1) rotate(3deg); }
  66% { opacity:.86; transform:translate(-42%,-48px) scale(.94) rotate(-8deg); }
  100% { opacity:0; transform:translate(-38%,-72px) scale(.56) rotate(-10deg); }
}
@keyframes rs-burst-star {
  0% { opacity:0; transform:translate(-50%,8px) scale(.26) rotate(-20deg); }
  18% { opacity:1; transform:translate(-50%,-18px) scale(1.46) rotate(18deg); filter:drop-shadow(0 0 18px rgba(255,213,89,.72)); }
  48% { transform:translate(-50%,-42px) scale(.96) rotate(-16deg); }
  76% { opacity:1; transform:translate(-50%,-64px) scale(1.1) rotate(8deg); }
  100% { opacity:0; transform:translate(-50%,-92px) scale(.48) rotate(0); }
}
@keyframes rs-burst-look {
  0% { opacity:0; transform:translate(-50%,8px) scale(.36) rotate(0); }
  20% { opacity:1; transform:translate(-58%,-16px) scale(1.18) rotate(-10deg); }
  45% { transform:translate(-38%,-36px) scale(1.04) rotate(12deg); }
  70% { transform:translate(-52%,-58px) scale(.92) rotate(-4deg); }
  100% { opacity:0; transform:translate(-50%,-84px) scale(.58) rotate(0); }
}
@keyframes rs-burst-float {
  0% { opacity:0; transform:translate(-50%,8px) scale(.36) rotate(-7deg); }
  24% { opacity:1; transform:translate(-48%,-16px) scale(1.2) rotate(7deg); }
  62% { opacity:1; transform:translate(-56%,-54px) scale(.98) rotate(-6deg); }
  100% { opacity:0; transform:translate(-44%,-88px) scale(.56) rotate(8deg); }
}
@media (prefers-reduced-motion:reduce) {
  .reaction-burst,
  .reaction-burst::before,
  .reaction-burst::after {
    animation:none !important;
  }
}

/* v3.5 stronger light theme polish */
.rs-floating-actions {
  position: fixed;
  right: max(18px, env(safe-area-inset-right));
  bottom: max(24px, env(safe-area-inset-bottom));
  z-index: 80;
  display: grid;
  gap: 10px;
}
.rs-floating-actions .theme-switch,
.rs-top-btn {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 18px;
  background: rgba(13,17,22,.68);
  color: #fff;
  box-shadow: 0 18px 46px rgba(0,0,0,.34), inset 0 1px rgba(255,255,255,.12);
  backdrop-filter: blur(18px) saturate(160%);
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
}
.rs-floating-actions .theme-switch:hover,
.rs-top-btn:hover { transform: translateY(-3px); border-color: rgba(112,230,220,.48); box-shadow: 0 24px 58px rgba(0,0,0,.42), 0 0 0 6px rgba(112,230,220,.08); }
.rs-floating-actions .theme-track { width: 42px; height: 28px; }
.rs-floating-actions .theme-orb { width: 20px; height: 20px; }
.rs-top-btn { font-size: 24px; line-height: 1; }
html[data-theme="light"] .rs-floating-actions .theme-switch,
html[data-theme="light"] .rs-top-btn {
  border-color: rgba(18,48,61,.12);
  background: rgba(255,255,255,.78);
  color: #14212a;
  box-shadow: 0 18px 46px rgba(38,66,78,.16), inset 0 1px #fff;
}
html[data-theme="light"] .rs-floating-actions .theme-switch:hover,
html[data-theme="light"] .rs-top-btn:hover { border-color: rgba(0,139,150,.38); background: #fff; box-shadow: 0 24px 60px rgba(28,87,99,.18), 0 0 0 7px rgba(0,149,160,.08); }
html[data-theme="light"] .rs-floating-actions .theme-orb { transform: translateX(14px); }

html[data-theme="light"] .cinema-select { filter: drop-shadow(0 10px 24px rgba(30,76,89,.08)); }
html[data-theme="light"] .cinema-select-trigger {
  height: 50px;
  border-color: rgba(0,126,138,.22);
  background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(242,251,253,.82));
  box-shadow: 0 12px 28px rgba(36,73,86,.1), inset 0 1px #fff;
}
html[data-theme="light"] .cinema-select-trigger:hover,
html[data-theme="light"] .cinema-select.is-open .cinema-select-trigger {
  border-color: rgba(0,139,150,.55);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(0,151,162,.1), 0 18px 42px rgba(29,91,103,.14), inset 0 1px #fff;
}
html[data-theme="light"] .cinema-select-menu {
  padding: 9px;
  border-color: rgba(0,121,132,.18);
  background: linear-gradient(145deg, rgba(255,255,255,.99), rgba(238,250,252,.97));
  box-shadow: 0 26px 70px rgba(28,73,87,.22), inset 0 1px #fff;
}
html[data-theme="light"] .cinema-select-option { min-height: 42px; color: #243943; font-weight: 750; }
html[data-theme="light"] .cinema-select-option:hover,
html[data-theme="light"] .cinema-select-option.is-selected {
  color: #0e232b;
  background: linear-gradient(90deg, rgba(255,61,79,.13), rgba(0,159,170,.13));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.75);
}

html[data-theme="light"] .movie-card {
  border: 1px solid rgba(14,43,55,.12);
  background: linear-gradient(145deg,#ffffff,#f8fcfd);
  box-shadow: 0 18px 46px rgba(34,59,71,.14), inset 0 1px #fff;
}
html[data-theme="light"] .movie-card::before {
  background: radial-gradient(260px circle at var(--card-x,50%) var(--card-y,38%), rgba(0,173,185,.34), transparent 58%);
  mix-blend-mode: multiply;
}
html[data-theme="light"] .movie-card::after {
  background: linear-gradient(120deg, rgba(255,255,255,.62), transparent 30%, transparent 69%, rgba(0,153,164,.2));
}
html[data-theme="light"] .movie-card:hover {
  border-color: rgba(0,139,150,.62);
  box-shadow: 0 34px 82px rgba(22,93,108,.25), 0 0 0 1px rgba(255,255,255,.9) inset, 0 0 0 7px rgba(0,151,162,.08);
}
html[data-theme="light"] .movie-card:hover .poster { box-shadow: 0 0 0 1px rgba(255,255,255,.86) inset; }
html[data-theme="light"] .movie-card .poster-shade { background: linear-gradient(0deg, rgba(6,8,12,.98) 0%, rgba(6,8,12,.72) 30%, rgba(6,8,12,.08) 64%, transparent 100%); }
html[data-theme="light"] .play-mark { background: rgba(255,255,255,.95); box-shadow: 0 18px 52px rgba(18,47,58,.32), 0 0 0 12px rgba(0,157,168,.11); }
html[data-theme="light"] .play-mark::before { border-color: rgba(0,151,162,.78); }

html[data-theme="light"] body.single-movie .site-header {
  border-color: rgba(19,44,56,.09);
  background: rgba(250,253,254,.82);
  box-shadow: 0 10px 35px rgba(38,65,77,.08), inset 0 1px #fff;
}
html[data-theme="light"] body.single-movie .site-header .brand-word,
html[data-theme="light"] body.single-movie .primary-nav a { color:#14212a; }
html[data-theme="light"] body.single-movie .site-header .brand-word span { color:#008993; }
html[data-theme="light"] body.single-movie .icon-btn { border-color:rgba(21,46,58,.1); background:rgba(255,255,255,.72); color:#1d2b34; box-shadow:0 7px 22px rgba(39,65,77,.08), inset 0 1px #fff; }
html[data-theme="light"] body.single-movie .theme-track { border-color: rgba(0,91,112,.18); }
html[data-theme="light"] .movie-view { color: #14212a; background: #edf2f5; }
html[data-theme="light"] .movie-view .single-hero { background: #edf2f5; }
html[data-theme="light"] .movie-view .single-backdrop { opacity: .22; filter: saturate(.78) contrast(1.05) blur(.4px); }
html[data-theme="light"] .movie-view .single-hero::after {
  background:
    linear-gradient(90deg, rgba(237,242,245,.98) 0%, rgba(237,242,245,.92) 38%, rgba(237,242,245,.55) 74%, rgba(237,242,245,.72) 100%),
    linear-gradient(0deg, #edf2f5 0%, rgba(237,242,245,.94) 12%, transparent 52%);
}
html[data-theme="light"] .single-spotlight { background: radial-gradient(720px circle at 62% 42%, rgba(0,159,170,.18), transparent 68%); }
html[data-theme="light"] .movie-crumbs { color: #62727c; }
html[data-theme="light"] .single-kicker span { border-color: rgba(19,48,61,.13); background: rgba(255,255,255,.72); color: #41535d; box-shadow: inset 0 1px #fff; }
html[data-theme="light"] .single-kicker span:first-child { border-color: rgba(217,47,71,.34); background: rgba(217,47,71,.1); color: #b81c38; }
html[data-theme="light"] .movie-view .single-copy h1 { color: #111d25; text-shadow: 0 12px 40px rgba(255,255,255,.7); }
html[data-theme="light"] .movie-view .single-summary { color: #52626c; }
html[data-theme="light"] .movie-view .single-meta > span { border-color: rgba(20,47,59,.12); background: rgba(255,255,255,.72); box-shadow: 0 12px 30px rgba(37,65,78,.08), inset 0 1px #fff; }
html[data-theme="light"] .movie-view .single-meta strong { color: #15232c; }
html[data-theme="light"] .movie-view .single-meta small { color: #6a7a84; }
html[data-theme="light"] .movie-view .single-meta .score { border-color: rgba(212,161,21,.32); }
html[data-theme="light"] .movie-anchor-nav { border-color: rgba(20,47,59,.12); background: rgba(255,255,255,.72); box-shadow: 0 14px 34px rgba(37,65,78,.08), inset 0 1px #fff; }
html[data-theme="light"] .movie-anchor-nav a { color: #53646e; }
html[data-theme="light"] .movie-anchor-nav a:hover { background: rgba(0,145,156,.1); color: #007d87; }
html[data-theme="light"] .movie-view .btn-ghost { border-color: rgba(20,47,59,.13); background: rgba(255,255,255,.7); color: #14212a; box-shadow: inset 0 1px #fff; }
html[data-theme="light"] .movie-view .single-poster { border-color: rgba(255,255,255,.9); box-shadow: 0 34px 80px rgba(37,65,78,.2), inset 0 1px #fff; }
html[data-theme="light"] .poster-reflection { background: rgba(0,159,170,.16); }
html[data-theme="light"] .movie-view .player-section { background: radial-gradient(800px circle at 50% 42%, rgba(0,150,160,.12), transparent 66%), #f3f7f9; color: #14212a; }
html[data-theme="light"] .player-heading h2,
html[data-theme="light"] .movie-view .review-title,
html[data-theme="light"] .movie-view .similar-section .section-title,
html[data-theme="light"] .comments-heading .section-title { color: #14212a; }
html[data-theme="light"] .movie-view .review-section { background: linear-gradient(180deg,#f6fafb,#edf2f5); color: #14212a; }
html[data-theme="light"] .movie-view .entry-content,
html[data-theme="light"] .movie-view .entry-content p { color: #445660; }
html[data-theme="light"] .movie-view .entry-content > p:first-child { color: #182730; }
html[data-theme="light"] .movie-view .entry-content h2,
html[data-theme="light"] .movie-view .entry-content h3 { color: #14212a; }
html[data-theme="light"] .movie-view .facts {
  color: #14212a;
  border-color: rgba(255,255,255,.92);
  background: linear-gradient(145deg, rgba(255,255,255,.86), rgba(241,249,251,.72));
  box-shadow: 0 24px 65px rgba(38,66,78,.14), inset 0 1px #fff;
}
html[data-theme="light"] .facts-head { border-color: rgba(20,47,59,.1); }
html[data-theme="light"] .facts-head span,
html[data-theme="light"] .movie-view .fact-row span { color: #667781; }
html[data-theme="light"] .movie-view .fact-row { border-color: rgba(20,47,59,.09); }
html[data-theme="light"] .movie-view .fact-row strong { color: #14212a; }
html[data-theme="light"] .movie-view .similar-section { border-color: rgba(20,47,59,.09); background: #edf2f5; color: #14212a; }
html[data-theme="light"] .movie-view .comments-block { background: #f4f8fa; }
html[data-theme="light"] .movie-view .comments-area { border-color: rgba(20,47,59,.09); background: radial-gradient(650px circle at 85% 10%, rgba(0,159,170,.11), transparent 64%), #f4f8fa; }
html[data-theme="light"] .comments-heading .section-title span { border-color: rgba(20,47,59,.12); background: rgba(255,255,255,.75); color: #63747e; }
html[data-theme="light"] .discussion-status { color: #63747e; }
html[data-theme="light"] .comments-empty { border-color: rgba(20,47,59,.14); background: rgba(255,255,255,.62); }
html[data-theme="light"] .comments-empty strong { color: #14212a; }
html[data-theme="light"] .comments-empty small { color: #62727c; }
html[data-theme="light"] .movie-view .comment-avatar img { border-color: rgba(255,255,255,.95); box-shadow: 0 8px 22px rgba(37,65,78,.12); }
html[data-theme="light"] .movie-view .comment-body { border-color: rgba(255,255,255,.9); background: linear-gradient(145deg, rgba(255,255,255,.94), rgba(239,248,250,.82)); color: #14212a; box-shadow: 0 16px 38px rgba(37,65,78,.12), inset 0 1px #fff; }
html[data-theme="light"] .movie-view .comment-author strong { color: #007d87; }
html[data-theme="light"] .movie-view .comment-author time { color: #71818a; }
html[data-theme="light"] .movie-view .comment-text { color: #33454f; }
html[data-theme="light"] .movie-view .comment-actions button,
html[data-theme="light"] .movie-view .comment-actions a { border-color: rgba(20,47,59,.1); background: rgba(255,255,255,.72); color: #53646e; }
html[data-theme="light"] .movie-view .comment-actions button:hover,
html[data-theme="light"] .movie-view .comment-actions button.is-reacted { border-color: rgba(0,139,150,.34); background: rgba(0,139,150,.1); color: #007d87; }
html[data-theme="light"] .movie-view .comment-respond { border-color: rgba(255,255,255,.92); background: linear-gradient(145deg, rgba(255,255,255,.9), rgba(239,248,250,.78)); color: #14212a; box-shadow: 0 24px 65px rgba(38,66,78,.14), inset 0 1px #fff; }
html[data-theme="light"] .movie-view .comment-reply-title { color: #14212a; }
html[data-theme="light"] .movie-view .comment-form-author label,
html[data-theme="light"] .movie-view .comment-form-comment label { color: #63747e; }
html[data-theme="light"] .movie-view .comment-form-author input,
html[data-theme="light"] .movie-view .comment-form-comment textarea { border-color: rgba(20,47,59,.12); background: rgba(255,255,255,.86); color: #14212a; box-shadow: inset 0 1px #fff; }
html[data-theme="light"] .movie-view .comment-form-author input::placeholder,
html[data-theme="light"] .movie-view .comment-form-comment textarea::placeholder { color: #7d8c95; }
html[data-theme="light"] .movie-view .comment-form-author input:focus,
html[data-theme="light"] .movie-view .comment-form-comment textarea:focus { border-color: rgba(0,139,150,.42); background: #fff; box-shadow: 0 0 0 4px rgba(0,151,162,.08), inset 0 1px #fff; }

@media (max-width:760px) {
  .rs-floating-actions { right: 12px; bottom: 14px; gap: 8px; }
  .rs-floating-actions .theme-switch, .rs-top-btn { width: 46px; height: 46px; border-radius: 16px; }
  .rs-floating-actions .theme-track { width: 38px; height: 26px; }
  .rs-floating-actions .theme-orb { width: 18px; height: 18px; }
  html[data-theme="light"] .rs-floating-actions .theme-orb { transform: translateX(12px); }
  html[data-theme="light"] body.single-movie .primary-nav { background: rgba(247,251,252,.98); }
  html[data-theme="light"] body.single-movie .primary-nav a { color:#172630; }
  html[data-theme="light"] .movie-view .single-hero::after { background: linear-gradient(0deg,#edf2f5 0%,rgba(237,242,245,.92) 50%,rgba(237,242,245,.58) 100%); }
}
img.is-fallback-image { object-fit: cover; background: linear-gradient(145deg,#111820,#24323a); }
html[data-theme="light"] img.is-fallback-image { background: linear-gradient(145deg,#f7fbfc,#dcebef); }

/* v3.5.1 select, card parity and rating tiers */
.cinema-select-menu[style*="fixed"] {
  right: auto !important;
  z-index: 9999;
  max-height: min(320px, calc(100vh - var(--select-top, 120px) - 14px));
  overflow-y: auto;
  overscroll-behavior: contain;
}
.cinema-select-menu[style*="fixed"]::-webkit-scrollbar { width: 8px; }
.cinema-select-menu[style*="fixed"]::-webkit-scrollbar-thumb { border-radius: 999px; background: rgba(112,230,220,.42); }

html[data-theme="light"] .movie-card {
  border-color: rgba(255,255,255,.1);
  background: #12151a;
  box-shadow: 0 18px 48px rgba(0,0,0,.28);
}
html[data-theme="light"] .movie-card::before {
  background: radial-gradient(240px circle at var(--card-x) var(--card-y), rgba(255,255,255,.24), transparent 54%);
  mix-blend-mode: normal;
}
html[data-theme="light"] .movie-card::after {
  --edge-angle: 0deg;
  padding: 1.5px;
  background: conic-gradient(from var(--edge-angle),transparent 0 12%,rgba(112,230,220,.95) 19%,rgba(255,255,255,.9) 25%,transparent 34% 55%,rgba(255,61,79,.9) 64%,rgba(255,181,109,.8) 70%,transparent 79% 100%);
  -webkit-mask: linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}
html[data-theme="light"] .movie-card:hover {
  border-color: rgba(81,215,232,.34);
  box-shadow: 0 28px 76px rgba(0,0,0,.4),0 0 34px rgba(112,230,220,.1),inset 0 1px rgba(255,255,255,.13);
}
html[data-theme="light"] .movie-card:hover::after { animation: card-edge-orbit 3.2s linear infinite; }
html[data-theme="light"] .movie-card .poster-shade { background: linear-gradient(0deg, rgba(3,5,8,.98) 0%, rgba(3,5,8,.78) 22%, rgba(3,5,8,.12) 56%, rgba(3,5,8,.08) 100%); }
html[data-theme="light"] .movie-card .poster::after { background: radial-gradient(circle at 50% 43%, transparent 0 14%, rgba(5,7,10,.08) 32%, rgba(5,7,10,.34) 100%); }
html[data-theme="light"] .movie-card:hover .poster img { transform: scale(1.075); filter: saturate(1.08) contrast(1.08) brightness(.82); }
html[data-theme="light"] .movie-card .poster-glare { background: radial-gradient(180px circle at var(--card-x) var(--card-y), rgba(255,255,255,.2), transparent 64%); }
html[data-theme="light"] .play-mark {
  border: 1px solid rgba(255,255,255,.38);
  background: rgba(12,16,22,.48);
  box-shadow: 0 22px 60px rgba(0,0,0,.48), inset 0 1px rgba(255,255,255,.22), 0 0 0 0 rgba(112,230,220,.22);
}
html[data-theme="light"] .play-mark::before { border-color: transparent; }
html[data-theme="light"] .play-mark span { border-left-color: #fff; }

.facts-head .rating-orb {
  --rating-fill: #ff3d4f;
  --rating-glow: rgba(255,61,79,.45);
  --rating-core: #301015;
  width: 58px;
  height: 58px;
  position: relative;
  isolation: isolate;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 50%;
  background: conic-gradient(var(--rating-fill) var(--rating-progress), rgba(255,255,255,.1) 0);
  color: #fff;
  font-size: 16px;
  font-weight: 950;
  letter-spacing: 0;
  box-shadow: 0 0 0 1px rgba(255,255,255,.18), 0 18px 42px var(--rating-glow), inset 0 1px rgba(255,255,255,.3);
}
.facts-head .rating-orb::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 5px;
  border-radius: inherit;
  background: radial-gradient(circle at 32% 24%, rgba(255,255,255,.32), transparent 24%), linear-gradient(145deg, rgba(255,255,255,.16), transparent 42%), var(--rating-core);
}
.facts-head .rating-orb::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: -18px;
  background: radial-gradient(circle, var(--rating-glow), transparent 58%);
  opacity: .62;
  animation: rating-breathe 2.8s ease-in-out infinite;
}
.facts-head .rating-orb span {
  position: relative;
  z-index: 2;
  color: #fff;
  font-size: 16px;
  font-weight: 950;
  text-transform: none;
  text-shadow: 0 2px 10px rgba(0,0,0,.48);
}
.facts-head .rating-orb.is-low { --rating-fill:#ff3d4f; --rating-glow:rgba(255,61,79,.5); --rating-core:#351117; }
.facts-head .rating-orb.is-mid { --rating-fill:#ffb547; --rating-glow:rgba(255,181,71,.46); --rating-core:#34230c; }
.facts-head .rating-orb.is-good { --rating-fill:#31d06f; --rating-glow:rgba(49,208,111,.42); --rating-core:#0c2c1a; }
.facts-head .rating-orb.is-elite { --rating-fill:#ffd45e; --rating-glow:rgba(255,212,94,.54); --rating-core:#332608; }
html[data-theme="light"] .facts-head .rating-orb { box-shadow: 0 0 0 1px rgba(255,255,255,.85), 0 18px 46px var(--rating-glow), inset 0 1px rgba(255,255,255,.36); }
@keyframes rating-breathe {
  0%,100% { transform: scale(.88); opacity: .42; }
  50% { transform: scale(1.08); opacity: .78; }
}

/* v3.5.2 elite rating badge */
.facts-head .rating-orb .rating-crown,
.facts-head .rating-orb .rating-laurel {
  display: none;
}
.facts-head .rating-orb.is-elite {
  --rating-fill: #f5c84b;
  --rating-glow: rgba(245,200,75,.62);
  --rating-core: #2d2208;
  width: 66px;
  height: 66px;
  margin-block: 3px;
  border: 1px solid rgba(255,244,183,.7);
  background:
    conic-gradient(from -34deg, #fff0a8 0 var(--rating-progress), rgba(255,214,77,.16) 0),
    radial-gradient(circle at 50% 50%, rgba(255,214,77,.34), transparent 60%);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.18),
    0 0 0 6px rgba(245,200,75,.08),
    0 20px 58px rgba(245,200,75,.42),
    0 0 70px rgba(255,219,102,.22),
    inset 0 1px rgba(255,255,255,.38);
  animation: elite-rating-float 4.2s ease-in-out infinite;
}
.facts-head .rating-orb.is-elite::before {
  inset: 7px;
  background:
    radial-gradient(circle at 32% 20%, rgba(255,255,255,.42), transparent 22%),
    linear-gradient(145deg, rgba(255,241,166,.28), rgba(255,185,51,.07) 46%, rgba(40,29,5,.92)),
    #2d2208;
  box-shadow: inset 0 0 0 1px rgba(255,234,148,.28), inset 0 -10px 22px rgba(0,0,0,.2);
}
.facts-head .rating-orb.is-elite::after {
  inset: -30px;
  background:
    radial-gradient(circle, rgba(255,236,151,.5), transparent 44%),
    conic-gradient(from 0deg, transparent 0 22%, rgba(255,244,182,.2) 30%, transparent 38% 60%, rgba(255,214,77,.18) 70%, transparent 78% 100%);
  animation: elite-rating-aura 5.4s linear infinite;
}
.facts-head .rating-orb.is-elite span {
  color: #fff7c0;
  font-size: 17px;
  text-shadow: 0 1px 0 rgba(70,43,0,.7), 0 0 14px rgba(255,219,102,.5);
}
.facts-head .rating-orb.is-elite .rating-crown {
  display: block;
  position: absolute;
  z-index: 3;
  top: -12px;
  left: 50%;
  width: 32px;
  height: 22px;
  transform: translateX(-50%);
  filter: drop-shadow(0 8px 12px rgba(0,0,0,.28));
}
.facts-head .rating-orb.is-elite .rating-crown::before {
  content: "♛";
  display: block;
  color: #ffe58a;
  font-size: 26px;
  line-height: 1;
  text-align: center;
  text-shadow: 0 0 12px rgba(255,214,77,.55), 0 1px 0 rgba(79,48,0,.7);
}
.facts-head .rating-orb.is-elite .rating-laurel {
  display: block;
  position: absolute;
  z-index: 2;
  bottom: 7px;
  width: 18px;
  height: 42px;
  opacity: .95;
  background:
    radial-gradient(7px 4px at 50% 12%, #f8d768 48%, transparent 52%),
    radial-gradient(7px 4px at 50% 32%, #f0c24a 48%, transparent 52%),
    radial-gradient(7px 4px at 50% 52%, #ffe98f 48%, transparent 52%),
    radial-gradient(7px 4px at 50% 72%, #dca52c 48%, transparent 52%);
  filter: drop-shadow(0 0 8px rgba(255,214,77,.42));
}
.facts-head .rating-orb.is-elite .rating-laurel-left {
  left: 5px;
  transform: rotate(-28deg) skewY(-8deg);
}
.facts-head .rating-orb.is-elite .rating-laurel-right {
  right: 5px;
  transform: scaleX(-1) rotate(-28deg) skewY(-8deg);
}
html[data-theme="light"] .facts-head .rating-orb.is-elite {
  border-color: rgba(156,104,0,.22);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.9),
    0 0 0 7px rgba(255,203,54,.13),
    0 20px 56px rgba(168,115,0,.28),
    0 0 72px rgba(255,203,54,.24),
    inset 0 1px rgba(255,255,255,.48);
}
@keyframes elite-rating-float {
  0%,100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-2px) scale(1.025); }
}
@keyframes elite-rating-aura {
  to { transform: rotate(360deg); }
}

/* v3.5.3 make elite rating unmistakable on mobile */
.facts-head {
  overflow: visible;
}
.facts-head .rating-orb.is-elite {
  overflow: visible;
  width: 72px;
  height: 72px;
  margin-top: 14px;
  transform: translateY(2px);
  background:
    conic-gradient(from -28deg, #fff4ad 0 var(--rating-progress), rgba(255,214,77,.16) 0),
    radial-gradient(circle at 48% 44%, #443006 0 39%, #241906 68%);
  box-shadow:
    0 0 0 1px rgba(255,245,184,.78),
    0 0 0 7px rgba(255,203,54,.12),
    0 18px 46px rgba(255,203,54,.42),
    0 0 84px rgba(255,220,96,.32),
    inset 0 2px rgba(255,255,255,.38);
}
.facts-head .rating-orb.is-elite::before {
  inset: 8px;
  background:
    radial-gradient(circle at 30% 18%, rgba(255,255,255,.42), transparent 22%),
    linear-gradient(145deg, rgba(255,237,152,.32), rgba(95,62,0,.12) 48%, rgba(25,17,4,.98));
}
.facts-head .rating-orb.is-elite span {
  transform: translateY(4px);
  color: #fff4af;
  font-size: 18px;
}
.facts-head .rating-orb.is-elite .rating-crown {
  display: grid;
  place-items: center;
  top: -24px;
  width: 46px;
  height: 34px;
  border-radius: 16px 16px 12px 12px;
  background: linear-gradient(145deg, #fff2a5, #e4a923 48%, #8a5800);
  box-shadow: 0 12px 24px rgba(0,0,0,.28), 0 0 24px rgba(255,211,77,.42), inset 0 1px rgba(255,255,255,.72);
}
.facts-head .rating-orb.is-elite .rating-crown::before {
  content: "♛";
  color: #3a2604;
  font-size: 25px;
  line-height: 1;
  text-shadow: 0 1px rgba(255,255,255,.42);
}
.facts-head .rating-orb.is-elite .rating-crown::after {
  content: "TOP";
  position: absolute;
  left: 50%;
  bottom: -12px;
  transform: translateX(-50%);
  padding: 2px 7px;
  border-radius: 999px;
  background: linear-gradient(135deg, #fff5b5, #e9b12f);
  color: #3b2602;
  font-size: 8px;
  font-weight: 950;
  letter-spacing: .08em;
  box-shadow: 0 5px 12px rgba(0,0,0,.24);
}
.facts-head .rating-orb.is-elite .rating-laurel {
  display: block;
  bottom: 5px;
  width: 24px;
  height: 54px;
  background:
    radial-gradient(8px 5px at 50% 8%, #fff0a0 48%, transparent 52%),
    radial-gradient(8px 5px at 50% 25%, #f0c24a 48%, transparent 52%),
    radial-gradient(8px 5px at 50% 42%, #ffe98f 48%, transparent 52%),
    radial-gradient(8px 5px at 50% 59%, #dca52c 48%, transparent 52%),
    radial-gradient(8px 5px at 50% 76%, #fff0a0 48%, transparent 52%);
}
.facts-head .rating-orb.is-elite .rating-laurel-left {
  left: -7px;
  transform: rotate(-27deg) skewY(-7deg);
}
.facts-head .rating-orb.is-elite .rating-laurel-right {
  right: -7px;
  transform: scaleX(-1) rotate(-27deg) skewY(-7deg);
}
@media (max-width: 760px) {
  .facts-head .rating-orb.is-elite {
    width: 70px;
    height: 70px;
    margin-top: 18px;
  }
  .facts-head .rating-orb.is-elite .rating-crown {
    top: -25px;
  }
}

/* v3.5.4 premium rating redesign */
.facts-head {
  min-height: 86px;
  align-items: flex-start;
  overflow: visible;
}
.facts-head > span {
  padding-top: 16px;
}
.facts-head .rating-orb.is-elite {
  --premium-gold:#f4c84d;
  --premium-gold-2:#ffec9d;
  --premium-bronze:#9d650e;
  --premium-dark:#141006;
  width: 104px;
  height: 78px;
  margin: 2px 0 0;
  overflow: visible;
  border: 0;
  border-radius: 24px;
  background:
    linear-gradient(145deg, rgba(255,242,173,.18), rgba(255,197,50,.05) 42%, rgba(0,0,0,.22)),
    radial-gradient(circle at 50% 55%, rgba(255,220,95,.26), transparent 56%),
    linear-gradient(145deg, #261b06, #0f0d09 68%);
  box-shadow:
    0 0 0 1px rgba(255,232,139,.48),
    0 0 0 5px rgba(244,200,77,.08),
    0 18px 46px rgba(0,0,0,.32),
    0 0 54px rgba(244,200,77,.24),
    inset 0 1px rgba(255,255,255,.22),
    inset 0 -16px 32px rgba(0,0,0,.34);
  animation: none;
}
.facts-head .rating-orb.is-elite::before {
  z-index: 0;
  inset: 7px;
  border: 1px solid rgba(255,227,118,.36);
  border-radius: 19px;
  background:
    conic-gradient(from -35deg, var(--premium-gold-2) 0 var(--rating-progress), rgba(255,255,255,.08) 0),
    linear-gradient(145deg, rgba(255,228,124,.2), rgba(255,228,124,.04) 44%, rgba(0,0,0,.2));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  padding: 2px;
}
.facts-head .rating-orb.is-elite::after {
  z-index: 0;
  inset: -18px;
  border-radius: 28px;
  background:
    radial-gradient(circle at 50% 8%, rgba(255,238,163,.42), transparent 28%),
    radial-gradient(circle at 50% 72%, rgba(244,200,77,.28), transparent 52%);
  opacity: .72;
  animation: premium-rating-glow 3.4s ease-in-out infinite;
}
.facts-head .rating-orb.is-elite span {
  z-index: 4;
  transform: translateY(7px);
  color: var(--premium-gold-2);
  font-size: 25px;
  font-weight: 950;
  letter-spacing: -.02em;
  text-shadow: 0 2px 0 rgba(45,26,0,.75), 0 0 18px rgba(255,222,103,.45);
}
.facts-head .rating-orb.is-elite span::after {
  content: "TOP RATED";
  display: block;
  margin-top: -2px;
  color: rgba(255,236,160,.76);
  font-size: 8px;
  font-weight: 950;
  letter-spacing: .12em;
  text-align: center;
  text-shadow: none;
}
.facts-head .rating-orb.is-elite .rating-crown {
  display: block;
  z-index: 6;
  top: -18px;
  left: 50%;
  width: 48px;
  height: 28px;
  transform: translateX(-50%);
  border-radius: 0 0 11px 11px;
  background: linear-gradient(180deg, #fff3a9 0%, #f4c84d 54%, #b87912 100%);
  clip-path: polygon(0 100%, 0 38%, 18% 70%, 31% 8%, 50% 62%, 69% 8%, 82% 70%, 100% 38%, 100% 100%);
  box-shadow: 0 10px 18px rgba(0,0,0,.26), 0 0 22px rgba(255,220,95,.42);
}
.facts-head .rating-orb.is-elite .rating-crown::before {
  content: "";
  position: absolute;
  left: 8px;
  right: 8px;
  bottom: 3px;
  height: 4px;
  border-radius: 999px;
  background: rgba(91,55,0,.38);
  box-shadow: inset 0 1px rgba(255,255,255,.28);
}
.facts-head .rating-orb.is-elite .rating-crown::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 3px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #fff7c2;
  transform: translateX(-50%);
  box-shadow: -17px 5px 0 -1px #ffe27a, 17px 5px 0 -1px #ffe27a, 0 0 12px rgba(255,255,255,.65);
}
.facts-head .rating-orb.is-elite .rating-laurel {
  display: block;
  z-index: 3;
  top: 16px;
  bottom: auto;
  width: 22px;
  height: 48px;
  opacity: .9;
  background:
    radial-gradient(8px 4px at 50% 10%, #fff0a0 46%, transparent 51%),
    radial-gradient(8px 4px at 50% 27%, #f3c64d 46%, transparent 51%),
    radial-gradient(8px 4px at 50% 44%, #ffe58d 46%, transparent 51%),
    radial-gradient(8px 4px at 50% 61%, #dba22c 46%, transparent 51%),
    radial-gradient(8px 4px at 50% 78%, #fff0a0 46%, transparent 51%);
  filter: drop-shadow(0 0 9px rgba(244,200,77,.36));
}
.facts-head .rating-orb.is-elite .rating-laurel-left {
  left: 8px;
  transform: rotate(-26deg) skewY(-6deg);
}
.facts-head .rating-orb.is-elite .rating-laurel-right {
  right: 8px;
  transform: scaleX(-1) rotate(-26deg) skewY(-6deg);
}
html[data-theme="light"] .facts-head .rating-orb.is-elite {
  background:
    linear-gradient(145deg, rgba(255,246,193,.65), rgba(255,255,255,.14) 48%, rgba(130,88,0,.1)),
    linear-gradient(145deg, #48300a, #15120b 68%);
  box-shadow:
    0 0 0 1px rgba(149,96,0,.22),
    0 0 0 6px rgba(244,200,77,.11),
    0 18px 44px rgba(128,87,0,.22),
    0 0 54px rgba(244,200,77,.22),
    inset 0 1px rgba(255,255,255,.3);
}
@media (max-width:760px) {
  .facts-head { min-height: 90px; }
  .facts-head > span { padding-top: 18px; }
  .facts-head .rating-orb.is-elite {
    width: 98px;
    height: 76px;
    margin-right: -4px;
  }
  .facts-head .rating-orb.is-elite span { font-size: 24px; }
}
@keyframes premium-rating-glow {
  0%,100% { transform: scale(.96); opacity: .52; }
  50% { transform: scale(1.04); opacity: .86; }
}

/* v3.5.5 SVG elite rating badge */
.facts-head {
  min-height: 118px;
  align-items: flex-start;
  overflow: visible;
}
.facts-head > span { padding-top: 26px; }
.facts-head .rating-orb.is-elite {
  width: 128px;
  height: 94px;
  margin: 0 -8px 0 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  animation: elite-svg-float 4s ease-in-out infinite;
}
.facts-head .rating-orb.is-elite::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: -10px -18px -14px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: url('assets/rating-elite.svg') center/contain no-repeat;
  -webkit-mask: none;
  mask: none;
  box-shadow: none;
}
.facts-head .rating-orb.is-elite::after {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 12px 12px 4px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,220,90,.34), transparent 64%);
  filter: blur(10px);
  animation: elite-svg-glow 2.8s ease-in-out infinite;
}
.facts-head .rating-orb.is-elite span {
  position: relative;
  z-index: 4;
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  margin: 25px auto 0;
  transform: none;
  border-radius: 50%;
  background: linear-gradient(145deg, #1f1707, #080807 70%);
  color: #ffe995;
  font-size: 22px;
  font-weight: 950;
  line-height: 1;
  letter-spacing: -.03em;
  text-shadow: 0 2px 0 rgba(0,0,0,.7), 0 0 16px rgba(255,221,102,.48);
  box-shadow: inset 0 0 0 1px rgba(255,232,139,.44), 0 0 18px rgba(255,207,70,.3);
}
.facts-head .rating-orb.is-elite span::after {
  content: "";
  display: none;
}
.facts-head .rating-orb.is-elite .rating-crown,
.facts-head .rating-orb.is-elite .rating-laurel {
  display: none !important;
}
html[data-theme="light"] .facts-head .rating-orb.is-elite {
  filter: drop-shadow(0 16px 26px rgba(124,82,0,.22));
}
@media (max-width:760px) {
  .facts-head { min-height: 116px; }
  .facts-head > span { padding-top: 28px; }
  .facts-head .rating-orb.is-elite {
    width: 118px;
    height: 90px;
    margin-right: -12px;
  }
  .facts-head .rating-orb.is-elite span {
    width: 53px;
    height: 53px;
    margin-top: 24px;
    font-size: 21px;
  }
}
@keyframes elite-svg-float {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}
@keyframes elite-svg-glow {
  0%,100% { opacity:.45; transform:scale(.94); }
  50% { opacity:.9; transform:scale(1.06); }
}

/* v3.5.6 clean premium rating */
.facts-head {
  min-height: 78px;
  align-items: center;
  overflow: visible;
}
.facts-head > span { padding-top: 0; }
.facts-head .rating-orb.is-elite {
  width: 74px;
  height: 74px;
  margin: 0;
  overflow: visible;
  border: 0;
  border-radius: 50%;
  background: transparent;
  box-shadow: none;
  animation: none;
  filter: drop-shadow(0 12px 22px rgba(0,0,0,.24));
}
.facts-head .rating-orb.is-elite::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: -10px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: url('assets/rating-elite.svg') center/contain no-repeat;
  -webkit-mask: none;
  mask: none;
  box-shadow: none;
  animation: elite-ring-breathe 3.6s ease-in-out infinite;
}
.facts-head .rating-orb.is-elite::after {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 8px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,218,90,.34), transparent 65%);
  filter: blur(8px);
  animation: none;
}
.facts-head .rating-orb.is-elite span {
  position: relative;
  z-index: 3;
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  margin: 8px auto 0;
  transform: none;
  border-radius: 50%;
  background:
    radial-gradient(circle at 35% 22%, rgba(255,236,155,.22), transparent 32%),
    linear-gradient(145deg, #2f2208, #080807 72%);
  color: #ffe28b;
  font-size: 20px;
  font-weight: 950;
  line-height: 1;
  letter-spacing: -.03em;
  text-shadow: 0 2px 0 rgba(0,0,0,.72), 0 0 14px rgba(255,220,95,.42);
  box-shadow:
    inset 0 0 0 1px rgba(255,232,139,.46),
    inset 0 -8px 16px rgba(0,0,0,.25),
    0 0 22px rgba(255,203,54,.18);
}
.facts-head .rating-orb.is-elite span::after,
.facts-head .rating-orb.is-elite .rating-crown,
.facts-head .rating-orb.is-elite .rating-laurel {
  display: none !important;
}
html[data-theme="light"] .facts-head .rating-orb.is-elite { filter: drop-shadow(0 12px 20px rgba(128,86,0,.2)); }
@media (max-width:760px) {
  .facts-head { min-height: 78px; }
  .facts-head .rating-orb.is-elite {
    width: 72px;
    height: 72px;
    margin-right: -2px;
  }
  .facts-head .rating-orb.is-elite span {
    width: 56px;
    height: 56px;
    margin-top: 8px;
    font-size: 20px;
  }
}
@keyframes elite-ring-breathe {
  0%,100% { transform: scale(.985); opacity:.9; }
  50% { transform: scale(1.035); opacity:1; }
}

/* v3.6.0 Russcope Index */
.facts-head {
  min-height: 76px;
  margin-bottom: 10px;
  padding-bottom: 18px;
  align-items: center;
  overflow: visible;
}
.facts-heading {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.facts-head .facts-title {
  padding: 0;
  color: #eef6f7;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
}
.facts-head .facts-subtitle {
  padding: 0;
  color: #77858f;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: none;
}
.facts-head .rating-panel {
  --score-accent: #ff5d68;
  --score-accent-rgb: 255,93,104;
  --score-secondary: #ff8974;
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: 48px minmax(0,1fr);
  align-items: center;
  justify-items: stretch;
  gap: 9px;
  width: 146px;
  height: 62px;
  padding: 8px 12px 12px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  background:
    radial-gradient(circle at 14% 14%, rgba(var(--score-accent-rgb),.14), transparent 48%),
    linear-gradient(145deg, rgba(255,255,255,.085), rgba(255,255,255,.025));
  color: #f7fbfc;
  box-shadow: 0 12px 28px rgba(0,0,0,.22), inset 0 1px rgba(255,255,255,.09);
}
.facts-head .rating-panel::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -32px;
  right: -30px;
  width: 92px;
  height: 92px;
  border-radius: 50%;
  background: rgba(var(--score-accent-rgb),.12);
  filter: blur(20px);
}
.facts-head .rating-panel::after {
  content: "";
  position: absolute;
  z-index: 4;
  top: -28px;
  bottom: -28px;
  left: 0;
  width: 26px;
  pointer-events: none;
  opacity: 0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.3), transparent);
  transform: translate3d(-70px,0,0) rotate(18deg);
}
.facts-head .rating-panel__score {
  position: relative;
  display: grid;
  place-items: center;
  align-self: stretch;
  color: #f8fcfd;
  font-size: 26px;
  font-weight: 950;
  line-height: 1;
  letter-spacing: 0;
  text-transform: none;
}
.facts-head .rating-panel__score::after {
  content: "";
  position: absolute;
  right: -5px;
  top: 7px;
  bottom: 7px;
  width: 1px;
  background: linear-gradient(transparent, rgba(255,255,255,.16), transparent);
}
.facts-head .rating-panel__meta {
  display: grid;
  gap: 3px;
  min-width: 0;
  line-height: 1;
}
.facts-head .rating-panel .rating-panel__label {
  overflow: visible;
  color: var(--score-accent);
  font-size: 9px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: 0;
  text-overflow: clip;
  text-transform: uppercase;
  white-space: nowrap;
}
.facts-head .rating-panel .rating-panel__scale {
  color: #83919a;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  text-transform: none;
}
.facts-head .rating-panel__track {
  position: absolute;
  right: 12px;
  bottom: 7px;
  left: 12px;
  height: 2px;
  overflow: visible;
  border-radius: 2px;
  background: rgba(255,255,255,.08);
}
.facts-head .rating-panel__track::after {
  content: "";
  display: block;
  width: var(--rating-progress);
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--score-secondary), var(--score-accent));
  box-shadow: 0 0 10px rgba(var(--score-accent-rgb),.52);
  transform: scaleX(1);
  transform-origin: left center;
}
.facts-head .rating-panel__track::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 50%;
  left: min(var(--rating-progress), calc(100% - 3px));
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #f8ffff;
  box-shadow: 0 0 0 2px rgba(var(--score-accent-rgb),.16), 0 0 9px rgba(var(--score-accent-rgb),.72);
  opacity: .9;
  transform: translate(-50%,-50%);
}
.facts-head .rating-panel.is-low {
  --score-accent: #ff5d68;
  --score-accent-rgb: 255,93,104;
  --score-secondary: #ff8c75;
}
.facts-head .rating-panel.is-mid {
  --score-accent: #f0b25f;
  --score-accent-rgb: 240,178,95;
  --score-secondary: #ffd18d;
}
.facts-head .rating-panel.is-good {
  --score-accent: #67d8c8;
  --score-accent-rgb: 103,216,200;
  --score-secondary: #9be6da;
}
.facts-head .rating-panel.is-elite {
  --score-accent: #6fe0d2;
  --score-accent-rgb: 111,224,210;
  --score-secondary: #ff6570;
  border-color: transparent;
  background:
    radial-gradient(circle at 14% 14%, rgba(255,101,112,.14), transparent 44%) padding-box,
    linear-gradient(145deg, rgba(35,40,46,.98), rgba(15,19,23,.98)) padding-box,
    linear-gradient(125deg, rgba(255,101,112,.78), rgba(111,224,210,.78)) border-box;
  background-position: 0 0, 0 0, 0% 50%;
  background-size: 100% 100%, 100% 100%, 200% 200%;
  box-shadow:
    0 14px 32px rgba(0,0,0,.26),
    0 0 26px rgba(111,224,210,.08),
    inset 0 1px rgba(255,255,255,.11);
  animation: none;
}
.facts-head .rating-panel.is-elite .rating-panel__score {
  color: #fff;
  text-shadow: 0 0 18px rgba(111,224,210,.22);
}
.facts-head .rating-panel.is-elite .rating-panel__label {
  color: #83e5d9;
}
html[data-theme="light"] .facts-head .facts-title { color: #10242d; }
html[data-theme="light"] .facts-head .facts-subtitle { color: #70808a; }
html[data-theme="light"] .facts-head .rating-panel {
  border-color: rgba(21,48,59,.12);
  background:
    radial-gradient(circle at 14% 14%, rgba(var(--score-accent-rgb),.13), transparent 48%),
    linear-gradient(145deg, rgba(255,255,255,.96), rgba(243,248,249,.78));
  color: #10242d;
  box-shadow: 0 12px 28px rgba(24,55,68,.1), inset 0 1px rgba(255,255,255,.9);
}
html[data-theme="light"] .facts-head .rating-panel__score { color: #11262f; }
html[data-theme="light"] .facts-head .rating-panel__score::after {
  background: linear-gradient(transparent, rgba(18,47,59,.12), transparent);
}
html[data-theme="light"] .facts-head .rating-panel .rating-panel__scale { color: #70808a; }
html[data-theme="light"] .facts-head .rating-panel__track { background: rgba(18,47,59,.08); }
html[data-theme="light"] .facts-head .rating-panel.is-elite {
  border-color: transparent;
  background:
    radial-gradient(circle at 14% 14%, rgba(255,101,112,.11), transparent 44%) padding-box,
    linear-gradient(145deg, rgba(255,255,255,.98), rgba(241,248,248,.9)) padding-box,
    linear-gradient(125deg, rgba(236,77,90,.72), rgba(45,184,170,.68)) border-box;
  background-position: 0 0, 0 0, 0% 50%;
  background-size: 100% 100%, 100% 100%, 200% 200%;
  box-shadow: 0 14px 30px rgba(24,55,68,.13), 0 0 24px rgba(45,184,170,.07), inset 0 1px #fff;
}
html[data-theme="light"] .facts-head .rating-panel.is-elite .rating-panel__score {
  color: #10242d;
  text-shadow: none;
}
html[data-theme="light"] .facts-head .rating-panel.is-elite .rating-panel__label { color: #168f86; }
.facts.is-revealed .rating-panel {
  animation: rating-panel-reveal .68s cubic-bezier(.2,.8,.2,1) both;
}
.facts.is-revealed .rating-panel.is-elite {
  animation:
    rating-panel-reveal .68s cubic-bezier(.2,.8,.2,1) both,
    russcope-index-pulse 4.8s ease-in-out .75s infinite;
}
.facts.is-revealed .rating-panel::before {
  animation: rating-aura-drift 4.4s ease-in-out .7s infinite;
}
.facts.is-revealed .rating-panel.is-elite::after {
  animation: rating-panel-sheen 5.2s ease-in-out 1.1s infinite;
}
.facts.is-revealed .rating-panel__score {
  animation: rating-score-reveal .62s cubic-bezier(.2,.85,.25,1) .12s both;
}
.facts.is-revealed .rating-panel.is-elite .rating-panel__score {
  animation:
    rating-score-reveal .62s cubic-bezier(.2,.85,.25,1) .12s both,
    rating-score-breathe 3.4s ease-in-out .9s infinite;
}
.facts.is-revealed .rating-panel__meta {
  animation: rating-meta-reveal .48s ease-out .26s both;
}
.facts.is-revealed .rating-panel__track::after {
  animation: rating-track-fill 1.05s cubic-bezier(.2,.8,.2,1) .24s both;
}
.facts.is-revealed .rating-panel__track::before {
  animation:
    rating-dot-reveal 1.12s ease-out .22s both,
    rating-dot-pulse 2.2s ease-in-out 1.45s infinite;
}
@media (max-width: 420px) {
  .facts-head { min-height: 72px; }
  .facts-head .rating-panel {
    width: 140px;
    height: 58px;
    grid-template-columns: 45px minmax(0,1fr);
    padding-inline: 10px;
  }
  .facts-head .rating-panel__score { font-size: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .facts.is-revealed .rating-panel,
  .facts.is-revealed .rating-panel.is-elite,
  .facts.is-revealed .rating-panel::before,
  .facts.is-revealed .rating-panel::after,
  .facts.is-revealed .rating-panel__score,
  .facts.is-revealed .rating-panel__meta,
  .facts.is-revealed .rating-panel__track::before,
  .facts.is-revealed .rating-panel__track::after { animation: none; }
}
@keyframes rating-panel-reveal {
  from { opacity: 0; transform: translate3d(0,10px,0) scale(.96); }
  to { opacity: 1; transform: translate3d(0,0,0) scale(1); }
}
@keyframes rating-score-reveal {
  from { opacity: 0; transform: translate3d(0,7px,0) scale(.82); }
  to { opacity: 1; transform: translate3d(0,0,0) scale(1); }
}
@keyframes rating-score-breathe {
  0%,100% { transform: scale(1); text-shadow: 0 0 14px rgba(111,224,210,.16); }
  50% { transform: scale(1.035); text-shadow: 0 0 22px rgba(255,101,112,.22); }
}
@keyframes rating-meta-reveal {
  from { opacity: 0; transform: translate3d(6px,0,0); }
  to { opacity: 1; transform: translate3d(0,0,0); }
}
@keyframes rating-track-fill {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}
@keyframes rating-dot-reveal {
  0%,72% { opacity: 0; }
  100% { opacity: .94; }
}
@keyframes rating-dot-pulse {
  0%,100% { box-shadow: 0 0 0 2px rgba(var(--score-accent-rgb),.14), 0 0 8px rgba(var(--score-accent-rgb),.58); }
  50% { box-shadow: 0 0 0 4px rgba(var(--score-accent-rgb),.08), 0 0 14px rgba(var(--score-accent-rgb),.9); }
}
@keyframes rating-aura-drift {
  0%,100% { opacity: .72; transform: translate3d(-4px,3px,0) scale(.94); }
  50% { opacity: 1; transform: translate3d(5px,-3px,0) scale(1.08); }
}
@keyframes rating-panel-sheen {
  0%,58% { opacity: 0; transform: translate3d(-70px,0,0) rotate(18deg); }
  66% { opacity: .52; }
  83% { opacity: .26; transform: translate3d(210px,0,0) rotate(18deg); }
  84%,100% { opacity: 0; transform: translate3d(210px,0,0) rotate(18deg); }
}
@keyframes russcope-index-pulse {
  0%,100% {
    background-position: 0 0, 0 0, 0% 50%;
    box-shadow: 0 14px 32px rgba(0,0,0,.26), 0 0 22px rgba(111,224,210,.06), inset 0 1px rgba(255,255,255,.11);
  }
  50% {
    background-position: 0 0, 0 0, 100% 50%;
    box-shadow: 0 14px 32px rgba(0,0,0,.26), 0 0 31px rgba(255,101,112,.11), inset 0 1px rgba(255,255,255,.11);
  }
}
