*,::after,::before{margin:0;padding:0;box-sizing:border-box}:focus{outline:4px solid orangered}a{color:inherit}body,html{width:100%;height:100%;background:#000}.video{z-index:1;position:fixed;top:50%;left:50%;min-width:100%;min-height:100%;width:auto;height:auto;transform:translateX(-50%) translateY(-50%)}@media (orientation:portrait){body:not(.prefers-reduced-motion) .video{animation:videoMove 8s steps(2) infinite alternate}body.prefers-reduced-motion .video{transform:translateX(-35%) translateY(-50%)}}@keyframes videoMove{0%{transform:translateX(-25%) translateY(-50%)}50%{transform:translateX(-35%) translateY(-50%)}100%{transform:translateX(-45%) translateY(-50%)}}details{z-index:2;padding:1em;position:fixed}summary{font-size:1.25rem;cursor:pointer}form{max-width:45em;margin-top:1em;padding:1em;background:#fff}details[open]{height:100vh}details[open] summary{opacity:1}details[open] summary::before{content:"Hide "}.input-wrapper{margin-bottom:1em}input{width:100%;padding:1em;text-align:center;font-size:3em}label{display:block;margin-bottom:.25em;color:#000;font-family:sans-serif;font-size:1.5em;font-weight:bolder}#play{z-index:3;position:absolute;top:0;bottom:0;width:100%;margin:0 auto;padding:.5em;color:#fff;font-weight:700;font-size:4em;text-align:center;border:none;background:rgba(0,0,0,.95);transition:opacity 1s,background .15s}#play:hover{background:rgba(0,0,0,.75);cursor:pointer}#play:focus{box-shadow:inset 0 0 0 4px #ff4500}#play:active{background:rgba(0,0,0,.5)}.button{display:inline-block;padding:.25em;color:#fff;font-family:sans-serif;background-color:#000;opacity:.6;transition:opacity .25s}.button:focus,.button:hover{opacity:1}.links{z-index:2;position:fixed;margin:0;list-style:none;padding:1em;bottom:0;left:0}.links .button{margin-left:.25em}.controls{z-index:2;position:fixed;padding:1em;bottom:0;right:0;display:flex;gap:1em}@media (max-width:510px){.controls{bottom:2.5em}}.controls button{font-size:1.25rem;cursor:pointer;border:none}#reduce-motion[data-pressed=false]::before{content:"stop "}#reduce-motion[data-pressed=true]::before{content:"start "}