.room-scope,body:has([data-room]){--color-bg:var(--room-bg);--color-surface:#2a2521;--color-border:#3d3834;--color-text-primary:var(--room-text);--color-text-secondary:#c4beb4;--color-text-tertiary:#9a938a;--color-accent:#ec7465;--color-on-accent:var(--room-bg);--ecg-line:rgba(236,116,101,0.28);color-scheme:dark}.film-holes{height:16px;background-image:repeating-linear-gradient(90deg,transparent 0 9px,var(--room-hole) 9px 19px,transparent 19px 28px);background-size:28px 7px;background-repeat:repeat-x;background-position:0 5px}.film-scroll{scrollbar-width:none}.film-scroll::-webkit-scrollbar{display:none}.film-set{padding-right:calc(14px + var(--roll-slack, 0px))}.film-thumb{height:72px}@media (min-width:640px){.film-thumb{height:96px}}@media (max-height:520px){.film-thumb{height:48px}}@media (min-width:1280px) and (min-height:760px){.film-thumb{height:clamp(96px,11vh,180px)}}main:has([data-viewer]){flex:none;height:calc(100dvh / var(--z));overflow:hidden}body:has([data-viewer]) footer{display:none}.viewer-roll .film-holes{height:12px;background-size:28px 6px;background-position:0 3px}.viewer-roll .film-thumb{height:88px}@media (min-width:1280px) and (min-height:760px){.viewer-roll .film-thumb{height:clamp(88px,10vh,150px)}}@media (max-height:520px){.viewer-roll{display:none}}@keyframes frame-in{0%{opacity:0;transform:translateX(calc(var(--enter) * 28px))}}.frame-in{animation:frame-in .2s cubic-bezier(.16,1,.3,1) backwards}@media (prefers-reduced-motion:reduce){.frame-in{animation:none}}