/* Film shell 1.0: explicit fallbacks before modern features. */
.ai-ticker{font-size:16px;min-height:44px;display:flex;align-items:center;padding:8px 0;padding-top:calc(8px + var(--rn-safe-top,0px));padding-left:var(--rn-safe-left,0px);padding-right:var(--rn-safe-right,0px);}
.ai-ticker__track{animation:none;white-space:nowrap;display:inline-flex;flex:none;will-change:transform;}
.ai-ticker__track span{font-size:15px;line-height:1.4;white-space:nowrap;display:block;flex:none;}
.ai-ticker:hover .ai-ticker__track{animation-play-state:running}
.ai-ticker.paused .ai-ticker__track{animation-play-state:paused!important}
button:focus,a:focus{outline:2px solid #f0eddf;outline-offset:-3px}
.ai-ticker.ticker-static{display:block;padding-left:8px;padding-right:8px;}
.ai-ticker.ticker-static .ai-ticker__track{display:block;white-space:normal;transform:none!important;animation:none!important;will-change:auto}
.ai-ticker.ticker-static .ai-ticker__track span{white-space:normal;padding-right:0!important}
.ai-ticker.ticker-static .ai-ticker__track span+span{display:none}
.viewport>main{width:90vw;height:160vw;} /* usable before JS; fit replaces with pixel dimensions */
.film-scene{position:absolute;left:0;top:0;width:100%;height:100%;}
.film-layer{opacity:0;visibility:hidden;transition:opacity 1.1s ease;}
.film-layer.on{opacity:1;visibility:visible}
.film-layer.exiting{opacity:0;visibility:visible}
.film-title{position:absolute;left:5.1%;width:89.8%;top:18%;text-align:center;font-size:calc(var(--board-unit,1vw)*4.2);color:#f0eddf}
.film-title svg{fill:currentColor;max-width:100%;height:auto}
@media(prefers-reduced-motion:reduce){.film-layer{transition:none}.ai-ticker__track{will-change:auto}}

/* Fondo identitario approvato: nero opaco, anche attorno al canvas. */
html,body,.viewport{background:#151515!important}
.viewport>main,.panel,.share-sheet,#portrait-notice{background-color:#151515!important}

/* Mouse senza cornice; focus tastiera preservato. */
@supports selector(:focus-visible){button:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:none}}
