:root{color-scheme:dark;font-family:Arial,"PingFang SC",sans-serif;background:#080808;color:#fff}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:1px solid #fff;outline-offset:5px}[hidden]{display:none!important}#stage{position:fixed;inset:0;background:#080808;height:100%;height:100dvh}video{display:block;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity .65s ease}body.ready video{opacity:1}.loader{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;background:#080808;transition:opacity .55s ease;z-index:2}.loader.finished{opacity:0;pointer-events:none}.progress{width:clamp(120px,18vw,220px);height:1px;background:rgba(255,255,255,.17);overflow:hidden}.progress span{display:block;width:100%;height:100%;background:#fff;transform:scaleX(0);transform-origin:left;transition:transform .16s linear}.progress.indeterminate span{transform:none!important;width:30%;animation:loading 1.2s ease-in-out infinite}@keyframes loading{from{translate:-100%}to{translate:440%}}#status{position:absolute;top:calc(50% + 17px);margin:0;font-size:10px;font-weight:400;letter-spacing:.13em;color:#929292}#retry{position:absolute;top:calc(50% + 55px);background:none;border:0;border-bottom:1px solid #777;padding:6px;font-size:12px}.controls{position:absolute;bottom:max(20px,env(safe-area-inset-bottom));right:max(22px,env(safe-area-inset-right));display:flex;gap:4px;z-index:3;opacity:.4;transition:opacity .25s}.controls:hover,.controls:focus-within{opacity:1}.controls button,.start{display:grid;place-items:center;width:40px;height:40px;border:0;background:rgba(0,0,0,.18);border-radius:50%;backdrop-filter:blur(5px)}svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.start{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;border:1px solid #ffffff50;z-index:3}.start svg{width:23px;height:23px}.start path{fill:currentColor;stroke:none}@media(pointer:coarse){.controls{opacity:.65;bottom:max(18px,env(safe-area-inset-bottom));right:16px}.controls button{width:44px;height:44px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}.progress.indeterminate span{animation-duration:2.5s}}
