:root { font-family: Arial, sans-serif; color: #30343a; background: #e8e9eb; font-size: 15px; }
* { box-sizing: border-box; }
body { margin: 0; }
a { color: #305f84; text-decoration: none; }
a:hover { color: #e67c28; }
button, input, select { font: inherit; }
button { border: 1px solid #ccc; border-radius: 3px; background: #f5f5f5; color: #333; padding: 9px 15px; cursor: pointer; }
button:hover { background: #e9ecef; }
button:disabled { cursor: default; opacity: .55; }
input, select { border: 1px solid #c9ced3; border-radius: 3px; padding: 9px 11px; background: white; color: #252a30; min-width: 0; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid #e9954d; outline-offset: 2px; }
[hidden] { display: none !important; }
.header { color: #ddd; background: #24272c; border-top: 3px solid #e48532; box-shadow: 0 2px 5px #0002; }
.header-inner { max-width: 1150px; margin: auto; display: flex; align-items: center; gap: 50px; padding: 23px 28px; }
.logo { white-space: nowrap; font-size: 26px; letter-spacing: -.8px; font-weight: bold; color: #f7f7f7; }
.logo span { color: #f39943; }
.logo small { display: block; margin-top: 5px; font-size: 11px; font-weight: normal; letter-spacing: .5px; color: #aeb2b8; }
#search-form { display: flex; flex: 1; gap: 7px; }
#search { width: 100%; background: #373b42; border-color: #454a52; color: #fff; }
#search::placeholder { color: #b6bac0; }
#search-form button { background: #e68a39; border-color: #e68a39; color: #16191c; }
nav { display: flex; max-width: 1150px; padding: 0 28px; margin: auto; gap: 1px; }
nav a { color: #d4d6da; padding: 14px 19px; font-size: 14px; }
nav a:hover, nav a.active { background: #33383f; color: #f5a05b; }
.language-picker { margin-left: auto; display: flex; align-items: center; gap: 8px; padding: 5px 0 5px 12px; font-size: 12px; flex-shrink: 0; }
.language-picker select { padding: 7px; background: #373b42; border-color: #454a52; color: #fff; }
main { max-width: 1150px; min-height: 66vh; margin: 25px auto 0; padding: 27px 28px 32px; background: #fff; border: 1px solid #d9dce0; border-radius: 3px; }
.page-heading { display: flex; align-items: baseline; justify-content: space-between; border-bottom: 1px solid #e6e6e6; margin-bottom: 23px; padding-bottom: 15px; gap: 15px; }
h1 { font-size: 22px; font-weight: normal; margin: 0; }
h2 { font-size: 25px; font-weight: normal; margin: 0; }
#count, .muted { color: #81868c; font-size: 13px; }
.notice, .error { margin: 0 0 22px; padding: 13px 15px; line-height: 1.5; border-radius: 3px; }
.notice { background: #fff5df; border: 1px solid #f0ddb1; color: #775a26; }
.error { background: #fceeed; border: 1px solid #efceca; color: #903b32; }
.loading { color: #7b8188; padding: 32px 0; }
.film-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 26px 20px; }
.film-card { min-width: 0; }
.film-card a { display: block; }
.poster { display: block; width: 100%; aspect-ratio: 2 / 3; object-fit: cover; background: #edeff1; border: 1px solid #ddd; }
.film-name { color: #305f84; display: block; margin-top: 9px; font-size: 14px; line-height: 1.35; }
.film-card a:hover .film-name { color: #e67c28; }
.film-meta { color: #888d93; font-size: 12px; margin: 5px 0 0; line-height: 1.4; }
.pagination { display: flex; align-items: center; justify-content: center; gap: 15px; margin-top: 32px; }
.pagination a { padding: 9px 14px; background: #f0f2f4; border-radius: 3px; }
.film-info { color: #686f77; line-height: 1.65; }
.player-panel { border-top: 1px solid #e3e6e9; padding-top: 22px; }
.selectors { display: flex; align-items: end; gap: 14px; flex-wrap: wrap; }
.selectors label { display: flex; flex-direction: column; gap: 7px; font-size: 12px; color: #6a7076; min-width: 110px; }
.selectors label:first-child { flex: 1; max-width: 420px; }
.selectors select { max-width: 100%; }
.actions { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin: 18px 0; }
.primary { background: #e58c3f; color: #222; border-color: #d98133; }
.primary:hover { background: #ed9b55; }
#play-status { color: #7a8189; font-size: 13px; }
video { display: block; width: 100%; max-height: 75vh; background: #111; }
.player-note { color: #92979d; font-size: 12px; line-height: 1.5; }
.empty { color: #81878e; padding: 25px 0 40px; line-height: 1.7; }
.list-row { display: flex; align-items: center; gap: 18px; padding: 17px 0; border-bottom: 1px solid #e9ebed; }
.list-body { flex: 1; min-width: 0; }
.list-title { font-size: 16px; line-height: 1.45; overflow-wrap: anywhere; }
.list-meta { margin: 5px 0 0; color: #858b92; font-size: 12px; line-height: 1.6; }
.status-ready { color: #42764a; }
.status-failed { color: #a95046; }
.import-panel .muted { line-height: 1.7; margin: 0 0 14px; }
.import-section { display: flex; flex-direction: column; gap: 5px; font-size: 12px; color: #6a7076; }
#import-statuses { margin-top: 8px; }
#import-status { color: #7a8189; font-size: 13px; line-height: 1.6; }
footer { max-width: 1150px; margin: auto; padding: 20px 28px 28px; color: #8b9097; font-size: 12px; }
@media (max-width: 1050px) { .film-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); } main { margin: 18px; } }
@media (max-width: 800px) { .header-inner { gap: 24px; padding: 20px; } .logo { font-size: 22px; } nav { padding: 0 8px; } nav a { padding: 14px 12px; font-size: 13px; } .film-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px 15px; } main { padding: 23px 20px; } }
@media (max-width: 570px) { .header-inner { flex-direction: column; align-items: stretch; gap: 18px; } .logo small { display: inline; margin-left: 10px; font-size: 10px; } nav { overflow-x: auto; white-space: nowrap; } nav a { padding: 13px 11px; font-size: 12px; } main { margin: 12px 8px 0; padding: 20px 14px; } h1 { font-size: 20px; } h2 { font-size: 22px; } .film-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px 12px; } .film-name { font-size: 13px; } .film-meta { font-size: 11px; } .selectors { gap: 12px; } .selectors label:first-child { max-width: none; flex-basis: 100%; } .selectors label { flex: 1; } .list-row { flex-wrap: wrap; gap: 8px; } .list-body { flex-basis: 100%; } footer { padding: 20px; } }

@media (max-width: 800px) { .header-inner { flex-wrap: wrap; } .language-picker { padding-left: 0; } }
@media (max-width: 570px) { .language-picker { align-self: flex-end; margin-top: -7px; padding: 0; } }

/* Film page, transcribed from the original site layout (dimensions, type scale and spacing). */
#detail { --star-grey: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21' height='19' viewBox='0 0 21 19'%3E%3Cpath fill='%232B2C2D' d='M15.843 11.697l4.295-3.541c.608-.503.294-1.488-.502-1.53l-5.532-.335a.7.7 0 0 1-.754-.545L11.317.55c-.293-.733-1.32-.733-1.613 0L7.671 5.725a.7.7 0 0 1-.754.545L1.364 6.605c-.796.042-1.11 1.027-.502 1.53l4.295 3.52c.251.21.377.566.293.88l-1.404 5.385c-.189.754.629 1.362 1.299.943l4.673-2.996c.293-.189.65-.189.922 0l4.694 2.996c.67.419 1.488-.189 1.3-.943l-1.404-5.364c-.063-.314.042-.649.314-.859z'/%3E%3C/svg%3E"); --star-yellow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21' height='19' viewBox='0 0 21 19'%3E%3Cpath fill='%23C8B414' d='M15.843 11.697l4.295-3.541c.608-.503.294-1.488-.502-1.53l-5.532-.335a.7.7 0 0 1-.754-.545L11.317.55c-.293-.733-1.32-.733-1.613 0L7.671 5.725a.7.7 0 0 1-.754.545L1.364 6.605c-.796.042-1.11 1.027-.502 1.53l4.295 3.52c.251.21.377.566.293.88l-1.404 5.385c-.189.754.629 1.362 1.299.943l4.673-2.996c.293-.189.65-.189.922 0l4.694 2.996c.67.419 1.488-.189 1.3-.943l-1.404-5.364c-.063-.314.042-.649.314-.859z'/%3E%3C/svg%3E"); }
main:has(#film-header:not([hidden])) .page-heading { border: 0; margin: 0; padding: 0; }
main:has(#film-header:not([hidden])) h1 { font-size: 30px; font-weight: bold; line-height: 30px; }
#detail > .b-post, #detail .b-post__rating_table, #detail .b-post__franchise, #detail .b-post__comments { max-width: 780px; }
#detail .b-post { font-size: 14px; line-height: 20px; }
#detail .b-post, #detail .b-post__franchise, #detail .b-post__comments { min-width: 0; overflow-wrap: anywhere; }
#detail .b-post__rating_table, #detail .b-post__franchise { font-size: 14px; line-height: 20px; }
.page-heading h1 { min-width: 0; overflow-wrap: anywhere; }
#detail .b-post__title { font-size: 30px; font-weight: bold; line-height: 30px; margin: 0 0 10px; }
#detail .b-post__origtitle { color: #777; font-size: 18px; line-height: 18px; margin-top: 10px; }
#detail .b-post__infotable { margin: 20px 0 10px; padding-left: 200px; }
#detail .b-post__infotable_left { float: left; margin-left: -200px; width: 200px; }
#detail .b-post__infotable_right { float: left; width: 100%; }
#detail .b-post__infotable_right_inner { padding-left: 20px; }
#detail .clearfix::before, #detail .clearfix::after { content: ""; display: table; }
#detail .clearfix::after { clear: both; }
#detail .b-sidecover { border-radius: 2px; background: #fff; border: 1px solid #ddd; margin-bottom: 15px; min-height: 70px; padding: 5px; position: relative; }
#detail .detail-poster { display: block; width: 100%; height: auto; }
#detail .b-post__info { border-collapse: collapse; border-spacing: 0; color: #444; width: 100%; }
#detail .b-post__info td { padding: 2px 0; vertical-align: top; text-align: left; }
#detail .b-post__info .l { color: #000; font-weight: bold; width: 130px; }
#detail .b-post__info h2, #detail .persons-list-holder h2 { display: inline; font-size: inherit; font-weight: inherit; line-height: inherit; }
#detail .b-post__info a { color: #305f84; text-decoration: underline; }
#detail .b-post__info a:hover { text-decoration: none; }
#detail .persons-list-holder { overflow: hidden; }
#detail .persons-list-holder .l { color: #000; font-weight: bold; }
#detail .persons-list-holder .inline { display: inline-block; }
#detail .b-post__info_rates { color: #000; display: inline-block; float: left; margin: 0 15px 7px 0; white-space: nowrap; }
#detail .b-post__info_rates i { color: #777; font-style: normal; }
#detail .b-post__description { padding-top: 10px; }
#detail .b-post__description_title { color: #000; font-size: 22px; line-height: 22px; }
#detail .b-post__description_title h2 { display: inline; font-size: inherit; line-height: inherit; font-weight: normal; }
#detail .b-post__description_text { font-size: 14px; color: #444; line-height: 22px; padding-top: 5px; padding-bottom: 15px; white-space: pre-line; }
#detail .player-panel { margin-bottom: 20px; }
#detail .b-post__rating_table { clear: both; border-collapse: collapse; margin-bottom: 20px; width: 100%; }
#detail .b-post__rating_table td { width: 50%; }
#detail .b-post__rating_table .label { font-weight: bold; text-align: right; }
#detail .b-post__rating { font-size: 24px; height: 19px; line-height: 19px; padding-left: 10px; }
#detail .b-post__rating_wrapper { display: inline-block; height: 19px; overflow: hidden; vertical-align: top; }
#detail .b-post__rating_layer { background: var(--star-grey) repeat-x; height: 19px; position: relative; width: 210px; }
#detail .b-post__rating_layer_current { background: var(--star-yellow) repeat-x; display: block; height: 19px; position: absolute; left: 0; top: 0; }
#detail .b-post__rating .num { color: #2e849d; }
#detail .b-post__rating .votes { color: #777; cursor: help; font-size: 12px; }
#detail .b-sidetitle { font-size: 24px; font-weight: bold; line-height: 30px; }
#detail .b-post__partcontent { display: table; margin-top: 10px; width: 100%; margin-bottom: 40px; }
#detail .b-post__partcontent_item { display: table-row; }
#detail .b-post__partcontent_item .td { border-bottom: 1px solid #ccc; color: #7d7d7d; display: table-cell; font-size: 13px; line-height: 20px; padding: 5px; vertical-align: middle; transition: background .1s ease-in-out; }
#detail .b-post__partcontent_item .num { padding-left: 10px; text-align: center; width: 5%; }
#detail .b-post__partcontent_item .title { text-align: left; }
#detail .b-post__partcontent_item .year { text-align: right; width: 12%; white-space: nowrap; }
#detail .b-post__partcontent_item .rating { padding-right: 10px; text-align: center; width: 7%; }
#detail .b-post__partcontent_item .rating i { background-color: #5f5f5f; display: inline-block; color: #fff; cursor: help; font-size: 12px; font-style: normal; font-weight: bold; line-height: 12px; padding: 3px; }
#detail .b-post__partcontent_item .rating i.rating-red-string { background-color: #ff0b0b; }
#detail .b-post__partcontent_item .rating i.rating-green-string { background-color: #007b00; }
#detail .b-post__partcontent_item:hover .td { background-color: #f9f9f9; }
#detail .b-post__partcontent_item.current:hover .td { background-color: #fff; }
#detail .b-post__partcontent_item.current .title { color: #000; font-weight: bold; }
#detail .b-post__partcontent_item.current .num { color: transparent; position: relative; }
#detail .b-post__partcontent_item.current .num::before { content: ""; position: absolute; top: 50%; left: 50%; margin: -7px 0 0 -5px; border-style: solid; border-width: 7px 0 7px 12px; border-color: transparent transparent transparent #000; }
#detail .b-post__comments { margin-top: 25px; }
#detail .reviews-status { color: #777; margin: 15px 0; }
#detail .reviews-status a { margin-left: 6px; text-decoration: underline; }
#detail .b-sidetitle #reviews-count { font-weight: bold; }
#detail #reviews-list { margin-top: 15px; }
#detail .comments-tree-list { list-style: none; margin: 0; padding: 0; }
#detail .comments-tree-item { background: #f1f1f1; }
#detail .comments-tree-item.odd { background: #f9f9f9; }
#detail .comments-tree-item.reply { background: #efefef; }
#detail .b-comment { color: #777; font-size: 14px; line-height: 20px; padding: 10px 10px 10px 80px; }
#detail .reply .b-comment { border-left: 2px dashed #ddd; margin-left: calc(var(--indent) * 40px); }
#detail .b-comment .ava { float: left; margin-left: -70px; width: 60px; height: 60px; border-radius: 50%; overflow: hidden; }
#detail .b-comment .ava img { display: block; width: 60px; height: 60px; }
#detail .b-comment .message { float: right; width: 100%; }
#detail .b-comment .info { color: #333; }
#detail .b-comment .name { font-size: 12px; font-weight: bold; display: inline-block; max-width: 180px; overflow: hidden; text-overflow: ellipsis; vertical-align: middle; white-space: nowrap; }
#detail .b-comment .date { font-size: 11px; }
#detail .b-comment .text { word-break: break-word; }
#detail .b-comment .actions { margin: 0; }
#detail .b-comment__likes_count { font-size: 13px; }
#detail .b-comment__likes_count i { font-style: normal; }
#detail .b-comment__likes_count i.positive { color: #0e6802; font-weight: bold; }
@supports selector(::details-content) {
  #detail .text details { display: contents; }
  #detail .text details::details-content { display: inline; }
  #detail .text details:not([open])::details-content { display: none; }
}
#detail .text summary { display: inline; list-style: none; cursor: pointer; font-weight: bold; white-space: nowrap; }
#detail .text summary::-webkit-details-marker { display: none; }
#detail .text summary { background-color: #ccc; border-radius: 8px; color: #777; padding: 0 5px; }
#detail .text summary:hover { background-color: #ddd; }
#detail .text details[open] > summary { margin-right: 4px; }
#detail #reviews-nav { margin-top: 12px; }
#detail .b-navigation { border-top: 1px solid #dcdcdc; color: #000; clear: both; font-size: 14px; line-height: 17px; margin-bottom: 26px; padding-top: 25px; text-align: center; }
#detail .b-navigation span, #detail .b-navigation a { display: inline-block; padding: 0 8px; text-align: center; }
#detail .b-navigation a { color: #000; }
#detail .b-navigation .current { background-color: #bfbfbf; border-radius: 5px; padding: 4px 8px; }
#detail .b-navigation .gap { padding: 4px 2px; }
#detail .b-navigation .b-navigation__prev, #detail .b-navigation .b-navigation__next { background: no-repeat center / 18px 18px; height: 18px; padding: 0 7px; vertical-align: 13px; width: 18px; transition: opacity .25s ease-in-out; }
#detail .b-navigation .b-navigation__next { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'%3E%3Ccircle cx='9' cy='9' r='9'/%3E%3Cpath d='M7.5 5.5L11 9l-3.5 3.5' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
#detail .b-navigation .b-navigation__prev { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'%3E%3Ccircle cx='9' cy='9' r='9'/%3E%3Cpath d='M10.5 5.5L7 9l3.5 3.5' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
#detail .b-navigation a:hover .b-navigation__next, #detail .b-navigation a.b-navigation__next:hover, #detail .b-navigation a.b-navigation__prev:hover { opacity: .8; }
@media (max-width: 570px) {
  #detail .b-post__title, main:has(#film-header:not([hidden])) h1 { font-size: 24px; line-height: 26px; }
  #detail .b-post__infotable { padding-left: 0; }
  #detail .b-post__infotable_left { float: none; margin-left: 0; width: 150px; }
  #detail .b-post__infotable_right { float: none; }
  #detail .b-post__infotable_right_inner { padding-left: 0; }
  #detail .b-post__info .l { width: 105px; }
  #detail .b-post__description_title { font-size: 20px; line-height: 24px; }
  #detail .b-post__rating_table, #detail .b-post__rating_table tr, #detail .b-post__rating_table td { display: block; width: 100%; }
  #detail .b-post__rating_table .label { text-align: left; }
  #detail .b-post__rating { padding-left: 0; }
  #detail .b-sidetitle { font-size: 20px; line-height: 26px; }
  #detail .b-post__partcontent_item .num { padding-left: 4px; width: 8%; }
  #detail .b-post__partcontent_item .year { width: 18%; }
  #detail .b-post__partcontent_item .rating { padding-right: 4px; width: 12%; }
  #detail .b-comment { padding: 10px 8px 10px 56px; }
  #detail .b-comment .ava { margin-left: -48px; width: 40px; height: 40px; }
  #detail .b-comment .ava img { width: 40px; height: 40px; }
  #detail .reply .b-comment { margin-left: calc(var(--indent) * 14px); }
}
