.sv-film-card {
  --film-bg: #f8fbff; --film-ink: #17283f; --film-muted: #61738b; --film-line: #dce6f1;
  box-sizing: border-box; display: grid; grid-template-columns: 176px minmax(0,1fr); gap: 24px;
  margin: 18px 0; padding: 22px; border: 1px solid var(--film-line); border-radius: 14px;
  color: var(--film-ink); background: linear-gradient(120deg,#eef5fd,var(--film-bg) 65%);
  box-shadow: 0 8px 24px rgba(25,52,90,.07); font: 14px/1.6 Inter,Arial,sans-serif;
  max-width: 100%; overflow-wrap: anywhere;
}
.sv-film-card * { box-sizing: border-box; }
[data-theme='dark'] .sv-film-card {
  --film-bg: #192b40; --film-ink: #e5eefb; --film-muted: #b0c0d4; --film-line: #38516c;
  background: linear-gradient(120deg,#15253a,var(--film-bg) 70%); box-shadow: 0 8px 24px rgba(0,0,0,.15);
}
.sv-film-poster { min-width: 0; align-self: start; }
.sv-film-poster img { display: block; width: 100% !important; max-width: 100%; height: auto !important; aspect-ratio: 2 / 3; object-fit: cover; margin: 0 !important; border: 1px solid var(--film-line); border-radius: 10px; background: #162a43; }
.sv-film-poster > span { min-height: 235px; display: grid; align-content: center; justify-items: center; gap: 9px; border: 1px dashed var(--film-line); border-radius: 10px; font-size: 36px; background: var(--film-bg); }
.sv-film-poster small { font-size: 12px; color: var(--film-muted); }
.sv-film-info { min-width: 0; }
.sv-film-source { display: inline-block; margin: 0 0 9px; padding: 4px 8px; border-radius: 5px; color: #37577e; background: #e2edfa; font: 700 9px/1.6 Inter,Arial,sans-serif; letter-spacing: .035em; }
.sv-film-card.is-demo .sv-film-source { color: #704713; background: #fff0cf; }
[data-theme='dark'] .sv-film-source { color: #c5d9f5; background: #293e58; }
[data-theme='dark'] .sv-film-card.is-demo .sv-film-source { color: #f2d592; background: #443923; }
.sv-film-title { display: block; margin: 0; font-size: clamp(21px,2vw,28px); line-height: 1.2; color: var(--film-ink); }
.sv-film-subtitle { margin-top: 5px; color: var(--film-muted); font-size: 13px; }
.sv-film-badges { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 14px 0; }
.sv-film-score { display: inline-flex; align-items: center; gap: 6px; padding: 6px 11px; border: 1px solid #e7c363; border-radius: 7px; color: #61420a; background: #fff4ce; font-weight: 800; }
.sv-film-score b { color: #bf840e; font-size: 18px; }
.sv-film-score small { font-size: 10px; opacity: .8; }
[data-theme='dark'] .sv-film-score { color: #ffe9a4; background: #413821; border-color: #877037; }
.sv-film-id, .sv-film-sample { color: var(--film-muted); font-size: 11px; }
.sv-film-id { padding: 3px 7px; border: 1px solid var(--film-line); border-radius: 5px; font-family: Consolas,monospace; }
.sv-film-facts { margin: 0; padding: 0; }
.sv-film-facts > div { display: grid; grid-template-columns: 84px minmax(0,1fr); gap: 10px; padding: 5px 0; }
.sv-film-facts dt { margin: 0; color: var(--film-muted); font-size: 12px; }
.sv-film-facts dd { margin: 0; color: var(--film-ink); font-size: 12px; }
.sv-film-summary { margin-top: 14px; padding-top: 13px; border-top: 1px solid var(--film-line); }
.sv-film-summary > b { color: var(--film-ink); font-size: 12px; }
.sv-film-summary p { margin: 5px 0 0 !important; color: var(--film-muted); font-size: 12px; line-height: 1.7; white-space: pre-line; }
.sv-film-rating-note { margin: -5px 0 12px !important; color: var(--film-muted); font-size: 10px; line-height: 1.5; }
.sv-film-attribution { margin-top: 12px; color: var(--film-muted); font-size: 9px; line-height: 1.5; }
.sv-film-attribution a { color: var(--film-muted); text-decoration: underline; }
.sv-film-modal { position: fixed; z-index: 200000; inset: 0; display: grid; place-items: center; padding: 18px; }
.sv-film-backdrop { position: absolute; inset: 0; background: rgba(10,22,40,.7); }
.sv-film-modal-open { overflow: hidden; }
.sv-film-dialog { position: relative; display: flex; flex-direction: column; width: min(820px,100%); max-height: calc(100dvh - 36px); min-width: 0; border: 1px solid var(--line,#dce6f1); border-radius: 15px; color: var(--ink,#17283f); background: var(--surface,#fff); box-shadow: 0 25px 85px rgba(0,0,0,.3); overflow: hidden; font: 14px/1.5 Inter,Arial,sans-serif; }
.sv-film-dialog > header { display: flex; align-items: center; gap: 13px; padding: 17px 20px; border-bottom: 1px solid var(--line,#dce6f1); }
.sv-film-dialog-icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 10px; background: var(--soft,#eef5ff); font-size: 24px; }
.sv-film-dialog h2 { margin: 0; font-size: 18px; color: inherit; }
.sv-film-dialog header p { margin: 3px 0 0; color: var(--muted,#61738b); font-size: 11px; }
.sv-film-dialog header > button { margin-left: auto; flex: 0 0 32px; height: 32px; border: 0; color: inherit; background: var(--soft,#eef5ff); font-size: 23px; cursor: pointer; }
.sv-film-dialog-scroll { min-height: 0; padding: 20px; overflow-y: auto; overscroll-behavior: contain; }
.sv-film-lookup-form > label { display: block; margin-bottom: 6px; font-weight: 700; font-size: 12px; }
.sv-film-lookup-form > div { display: flex; gap: 9px; }
.sv-film-dialog input:not([type=checkbox]), .sv-film-dialog textarea { width: 100%; min-width: 0; padding: 10px 11px; border: 1px solid var(--line,#d4e0ed); border-radius: 7px; color: var(--ink,#17283f); background: var(--surface,#fff); font: 13px/1.5 Inter,Arial,sans-serif; }
.sv-film-lookup-form input { flex: 1; font-family: Consolas,monospace !important; }
.sv-film-dialog input:focus, .sv-film-dialog textarea:focus { outline: 2px solid #6da9f1; outline-offset: 1px; }
.sv-film-lookup-form small { display: block; margin-top: 7px; color: var(--muted,#61738b); font-size: 10px; }
.sv-film-dialog button { min-height: 36px; padding: 7px 13px; border: 1px solid var(--line,#d4e0ed); border-radius: 7px; color: var(--ink,#17283f); background: var(--soft,#f0f5fb); font: 700 12px/1.4 Inter,Arial,sans-serif; cursor: pointer; }
.sv-film-lookup-form button, .sv-film-dialog .primary { color: #fff; background: #0769e5; border-color: #0769e5; }
.sv-film-dialog button:disabled { opacity: .5; cursor: not-allowed; }
.sv-film-status { margin: 12px 0; color: var(--muted,#61738b); font-size: 12px; }
.sv-film-status:empty { display: none; }
.sv-film-status.is-error { padding: 11px; border: 1px solid #e8b895; border-radius: 8px; color: #774015; background: #fff5e8; }
[data-theme='dark'] .sv-film-status.is-error { color: #f5cca3; background: #3b2d22; border-color: #78583b; }
.sv-film-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0; }
.sv-film-fields { padding-top: 8px; border-top: 1px solid var(--line,#dce6f1); }
.sv-film-fields[hidden], .sv-film-modal-preview[hidden], .sv-film-demo-result[hidden] { display: none !important; }
.sv-film-fields-help { font-size: 11px; color: var(--muted,#61738b); }
.sv-film-field-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; }
.sv-film-fields label { display: grid; gap: 5px; font-size: 11px; }
.sv-film-field-grid .is-wide { grid-column: 1/-1; }
.sv-film-summary-field { margin-top: 12px; }
.sv-film-fields .sv-film-language { display: flex; gap: 7px; align-items: center; margin-top: 9px; }
.sv-film-dialog > footer { display: flex; justify-content: flex-end; gap: 9px; padding: 14px 20px; border-top: 1px solid var(--line,#dce6f1); }
.mce-i-sv-film { display: inline-block; width: 18px; height: 18px; background: currentColor; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 3h18v18H3V3zm2 2v3h3V5H5zm11 0v3h3V5h-3zM5 10v4h14v-4H5zm0 6v3h3v-3H5zm11 0v3h3v-3h-3z'/%3E%3C/svg%3E") center/contain no-repeat; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 3h18v18H3V3zm2 2v3h3V5H5zm11 0v3h3V5h-3zM5 10v4h14v-4H5zm0 6v3h3v-3H5zm11 0v3h3v-3h-3z'/%3E%3C/svg%3E") center/contain no-repeat; }
.mce-i-sv-film::before { content: '' !important; }
.sv-film-demo { width: min(1050px,calc(100% - 32px)); padding-block: 30px 50px; }
.sv-film-demo-heading { margin-bottom: 22px; }
.sv-film-demo-heading > span { color: var(--blue); font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.sv-film-demo-heading h1 { margin: 9px 0; color: var(--ink); font-size: clamp(25px,4vw,38px); }
.sv-film-demo-heading p { color: var(--muted); line-height: 1.7; }
.sv-film-demo-notice { padding: 17px 20px; border: 1px solid #dfc27e; border-radius: 11px; background: #fff7e5; color: #644514; }
.sv-film-demo-notice p { margin: 6px 0 0; font-size: 12px; line-height: 1.7; }
[data-theme='dark'] .sv-film-demo-notice { color: #ebd79f; background: #352f22; border-color: #756340; }
.sv-film-demo-section { margin-top: 24px; padding: 23px; border: 1px solid var(--line); border-radius: 12px; color: var(--ink); background: var(--surface); }
.sv-film-demo-section h2 { margin: 0 0 10px; color: var(--ink); font-size: 19px; }
.sv-film-demo-section > p { color: var(--muted); font-size: 12px; line-height: 1.7; }
.sv-film-demo-caption { font-size: 11px !important; }
.sv-film-demo-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.sv-film-demo-section > [data-film-demo-preview] { margin-top: 15px; }
.sv-film-demo-result { margin-top: 15px; }
@media (max-width:600px) {
  .sv-film-card { grid-template-columns: minmax(0,1fr); gap: 18px; padding: 16px; }
  .sv-film-poster { width: min(170px,65%); justify-self: center; }
  .sv-film-facts > div { grid-template-columns: 70px minmax(0,1fr); gap: 7px; }
  .sv-film-modal { padding: 8px; }
  .sv-film-dialog { max-height: calc(100dvh - 16px); border-radius: 11px; }
  .sv-film-dialog > header, .sv-film-dialog-scroll, .sv-film-dialog > footer { padding: 13px; }
  .sv-film-dialog h2 { font-size: 15px; }
  .sv-film-field-grid { grid-template-columns: minmax(0,1fr); }
  .sv-film-lookup-form > div { flex-wrap: wrap; }
  .sv-film-lookup-form input { flex-basis: 100%; }
  .sv-film-demo-section { padding: 14px; }
}
