.api-error{border:1px solid #ef535066;background:#ef535012;padding:16px;border-radius:12px;margin:16px 0}.api-error button{margin-top:12px}.loading{min-height:220px;display:grid;place-items:center;color:var(--muted)}.brand img{width:34px;height:34px;flex:0 0 34px}.hero-image{object-fit:cover}.film-image img{width:100%;height:100%;object-fit:cover;display:block}.admin-json{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.6 ui-monospace,monospace}.status-line{min-height:22px;color:var(--muted);font-size:13px}.hidden{display:none!important}.player-frame{width:100%;height:100%;border:0}.field-error{color:#ff8b8b;font-size:12px}.admin-table button{white-space:nowrap}.route-placeholder{max-width:760px}.auth-state{display:flex;align-items:center;gap:10px}.button-row{display:flex;gap:10px;flex-wrap:wrap}.admin-form textarea{min-height:140px}.upload-drop{border:1px dashed var(--line);padding:28px;border-radius:12px;text-align:center}.mobile-nav{z-index:80}
@media(max-width:600px){.button-row>*{flex:1}.admin-table{min-width:720px}}

/* Production watch surface: preserve 16:9 artwork without stretching or tiling. */
.player-placeholder{padding:clamp(18px,3vw,38px);background:#020812;isolation:isolate}
.player-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}
.player-placeholder:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#02081226,#0208128c),radial-gradient(circle at center,#07142622 0,#020812b8 78%)}
.player-placeholder-content{display:flex;flex-direction:column;align-items:center;gap:10px;width:min(560px,94%);padding:clamp(20px,3vw,34px);border:1px solid #b8d8ff42;border-radius:18px;background:#051326d9;box-shadow:0 18px 70px #000a;backdrop-filter:blur(10px)}
.player-placeholder-content h2{margin:2px 0 0;color:#fff;text-shadow:0 2px 16px #000;font-size:clamp(1.15rem,2.2vw,1.65rem)}
.player-placeholder-content p{margin:0;color:#dce9fb;text-shadow:0 2px 10px #000}
.player-placeholder-content .small{color:#b7cae4}
.external-player-note{position:absolute;inset:0;display:grid;place-items:center;padding:28px;text-align:center;background:radial-gradient(circle at 50% 40%,#173d6f,#020812 72%);color:#fff}
.external-player-note>div{max-width:560px}.external-player-note h2{margin-bottom:10px}.external-player-note p{color:#c4d3e8;margin-bottom:20px}
.watch-tags{margin:4px 0 20px}.watch-tags .chip,.film-meta a,.hero-meta a{position:relative;z-index:2}.watch-tags .chip:hover,.film-meta a:hover,.hero-meta a:hover{color:var(--soft);border-color:var(--blue)}
.film-meta a{color:var(--muted);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px}.film-meta a:hover{text-decoration-color:currentColor}
.hero-meta a{color:#dae6f7}.hero-meta a:hover{color:#fff}
.source-buttons{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}.source-buttons>span{flex:0 0 auto;margin-right:2px!important}.source-buttons .btn{flex:0 0 auto}

/* Installable PWA entry point. */
.app-install-button{order:20;min-height:40px;padding:8px 13px;border-radius:9px;white-space:nowrap;font-size:.78rem}
.app-install-button svg,.drawer-install svg{width:18px;height:18px}
.drawer-install{display:none;margin-top:16px;width:100%}
.install-intro{display:flex;align-items:center;gap:18px;padding:4px 0 22px;border-bottom:1px solid var(--line)}
.install-intro img{border-radius:18px;box-shadow:0 10px 34px #167fff35;flex:0 0 auto}.install-intro h3{margin:0 0 6px}.install-intro p{margin:0;color:var(--muted);line-height:1.55}
.install-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:20px}
.install-grid section{padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--elev)}
.install-grid h3{margin:8px 0 12px;font-size:1rem}.install-grid ol{padding-left:20px;margin:0;display:grid;gap:8px;color:var(--muted);font-size:.84rem;line-height:1.5}
.install-platform{font-size:.66rem;font-weight:750;letter-spacing:.1em;color:var(--soft)}
html.app-installed .app-install-button{display:none}

@media(max-width:1180px){.app-install-button span{display:none}.app-install-button{width:42px;min-width:42px;padding:9px;border-radius:50%}}
@media(max-width:900px){.drawer-install{display:flex}.install-grid{grid-template-columns:1fr}.app-install-button{order:0}}
@media(max-width:600px){.app-install-button{width:38px;min-width:38px;min-height:38px;padding:8px}.player-placeholder-content{border-radius:14px;padding:18px 16px}.player-placeholder-content .player-play{width:56px;height:56px}.source-buttons{gap:8px}.source-buttons>span{width:100%;margin:0 0 2px!important}.install-intro{align-items:flex-start}.install-intro img{width:58px;height:58px;border-radius:14px}}
