@font-face{font-family:'SC Roboto';src:url('fonts/Roboto-Regular.ttf') format('truetype');font-weight:400}@font-face{font-family:'SC Roboto';src:url('fonts/Roboto-Bold.ttf') format('truetype');font-weight:700}*{box-sizing:border-box}html,body{height:100%;width:100%;margin:0;overflow:hidden;background:#102b20;font-family:'SC Roboto',Arial,sans-serif}#player-stage{position:fixed;inset:0}#player-stage iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#102b20}#player-stage iframe.preparing{opacity:0;pointer-events:none}.player-panel{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(90vw,620px);padding:36px;background:#f9fcf8;border-radius:24px;text-align:center;color:#173c29;box-shadow:0 16px 80px #0003}.player-panel img{max-width:260px;width:65%;margin:0 auto 20px}.player-panel h1{font-size:32px;margin:6px 0 18px}.player-panel p{font-size:19px;line-height:1.5}.player-panel button{display:block;margin:18px auto 0;padding:14px 24px;border:0;border-radius:12px;background:#08794b;color:#fff;font:600 18px 'SC Roboto',Arial;cursor:pointer}.player-panel button:disabled{opacity:.5}.player-panel label{display:block;text-align:left;font-weight:700;margin:22px 0 8px}.player-panel input{display:block;width:100%;font:28px monospace;text-align:center;letter-spacing:.12em;text-transform:uppercase;padding:14px;border:1px solid #9db5a6;border-radius:12px}.player-panel .player-small{font-size:13px;color:#526c5b}[hidden]{display:none!important}

.player-panel.is-idle{background:transparent;box-shadow:none;color:#f5faf6;width:min(90vw,1100px)}.is-idle h1{font-size:clamp(24px,3vw,48px)}.is-idle img{max-width:340px;max-height:30vh;object-fit:contain}.is-idle .player-small{display:none}.is-idle #player-fullscreen{opacity:0}.is-idle:hover #player-fullscreen,.is-idle:focus-within #player-fullscreen{opacity:1}

/* Reserve a separate strip; frame.css keeps each page's native aspect ratio. */
#screen-ticker{position:fixed;bottom:0;left:0;right:0;height:clamp(40px,7.5vmin,120px);z-index:10;background:#17201b;color:#fff;border-top:2px solid #476550;display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:clamp(20px,4vmin,64px);font-weight:700;line-height:1.2}
#screen-ticker span{display:block;flex:none;white-space:nowrap;padding:0 24px}
#screen-ticker[data-motion="scroll"]{justify-content:flex-start}
#screen-ticker[data-motion="scroll"] span{animation:screen-ticker var(--ticker-duration,30s) linear infinite;will-change:transform}
@keyframes screen-ticker{from{transform:translateX(var(--ticker-start,100vw))}to{transform:translateX(-100%)}}
