.eva-film .film-window { display:block; aspect-ratio:9/12; border:1px solid #d8be8630; border-bottom:0; border-radius:180px 180px 0 0; overflow:hidden; background:#1c1d20; }
.film-poster { display:block; width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .7s ease; }
.film-play:hover .film-poster { transform:scale(1.035); }
.eva-film .film-play { position:relative; inset:auto; display:block; width:100%; height:auto; padding:0; background:transparent; color:#f2e9dc; border:0; border-radius:180px 180px 18px 18px; text-align:left; cursor:pointer; box-shadow:0 28px 80px #0004; }
.eva-film .play-symbol { display:grid; place-items:center; flex-shrink:0; width:44px; height:44px; border:1px solid #d8be8680; border-radius:50%; background:#d8be8612; color:#d8be86; font-size:14px; padding-left:3px; transition:background .2s, color .2s; }
.eva-film .film-play:hover .play-symbol { background:#d8be86; border-color:#d8be86; color:#121315; }
.eva-film .film-caption { display:flex; align-items:center; gap:12px; padding:18px 16px; border:1px solid #d8be8630; border-radius:0 0 18px 18px; background:#1c1d20; }
.eva-film .film-copy { display:block; min-width:0; }
.eva-film .film-copy strong { display:block; color:#f2e9dc; font-size:16px; font-weight:600; line-height:1.4; }
.eva-film .film-play small { display:block; margin-top:5px; font-weight:400; font-size:13px; line-height:1.5; letter-spacing:0; color:#c9c3b8; }
.eva-film #film-note { font-size:12px; line-height:1.7; text-align:center; color:#ada89f; margin:16px 0 0; }
dialog.eva-video-dialog { position:fixed; inset:0; width:100%; height:100%; height:100dvh; max-width:none; max-height:none; border:0; border-radius:0; padding:0; margin:0; color:#f2e9dc; background:#101114; overflow:auto; overscroll-behavior:contain; }
.eva-video-dialog::backdrop { background:#101114; backdrop-filter:none; }
.eva-video-shell { box-sizing:border-box; min-height:100%; max-width:1080px; margin:auto; padding:24px 40px; display:grid; grid-template-rows:auto 1fr auto; gap:20px; }
.eva-video-header { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.eva-video-title { font-size:14px; font-weight:500; margin:0; color:#b9b3aa; }
.eva-video-title span { color:#d8be86; margin-right:8px; }
.eva-video-close { width:44px; height:44px; display:grid; place-items:center; padding:0; background:#ffffff08; border:1px solid #ffffff25; border-radius:50%; color:#f2e9dc; cursor:pointer; }
.eva-video-close svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.5; }
.eva-video-stage { display:flex; align-items:center; justify-content:center; min-height:0; background:#000; }
.eva-video-stage video { display:block; width:100%; height:calc(100dvh - 188px); min-height:180px; object-fit:contain; background:#000; }
.eva-video-bottom { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.eva-video-dialog .eva-video-caption { margin:0; font-size:12px; line-height:1.65; color:#b9b3aa; }
.eva-video-dialog .eva-video-action { padding:12px 20px; white-space:nowrap; border-radius:12px; background:#d8be86; color:#121315; font-size:13px; font-weight:600; text-decoration:none; }
.eva-video-feedback { text-align:center; font-size:13px; }
.eva-video-feedback p { margin:0 0 12px; }
.eva-video-feedback button { border:1px solid #d8be8666; background:transparent; border-radius:10px; color:#d8be86; padding:10px 16px; font:inherit; cursor:pointer; }
.eva-video-feedback a { color:#d8be86; margin-left:12px; }
.eva-video-dialog :focus-visible,.film-play:focus-visible { outline:2px solid #d8be86; outline-offset:-5px; }
@media(max-width:620px) {
  .eva-film .film-window { aspect-ratio:4/3; border-radius:100px 100px 0 0; }
  .film-poster { object-position:center 30%; }
  .eva-film .film-play { max-width:420px; margin:auto; }
  .eva-video-shell { padding:max(12px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left)); gap:14px; }
  .eva-video-stage { margin:0 -14px; }
  .eva-video-stage video { height:calc(100dvh - 176px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); }
  .eva-video-bottom { gap:12px; }
  .eva-video-dialog .eva-video-caption { font-size:10px; max-width:140px; }
  .eva-video-dialog .eva-video-action { padding:12px 14px; font-size:12px; }
}
@media(max-height:480px) and (orientation:landscape) {
  .eva-video-shell { padding:10px 20px; gap:8px; }
  .eva-video-stage video { height:calc(100dvh - 122px); }
  .eva-video-dialog .eva-video-caption { max-width:none; }
}
@media(prefers-reduced-motion:reduce) { .film-poster,.eva-film .play-symbol { transition:none; } }
