:root{color-scheme:dark}.screen{display:flex;align-items:center;justify-content:center;height:100vh;flex-direction:column;gap:12px;padding:24px;text-align:center}.screen .spinner{width:36px;height:36px;border:3px solid rgba(255,255,255,.2);border-top-color:#4aa3ff;border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.player-root{position:fixed;inset:0;background:#000;overflow:hidden;touch-action:manipulation}.player-root video{width:100%;height:100%;object-fit:contain;background:#000;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.overlay{position:absolute;inset:0;pointer-events:none}.watermark{position:absolute;padding:6px 10px;font-size:12px;font-weight:600;letter-spacing:.3px;color:#ffffff8c;text-shadow:0 1px 4px rgba(0,0,0,.8),0 0 1px #000;background:#0000002e;border-radius:6px;white-space:nowrap;transition:top .8s ease,left .8s ease,right .8s ease,bottom .8s ease,opacity .8s ease;mix-blend-mode:screen;pointer-events:none}.controls{position:absolute;left:0;right:0;bottom:0;padding:14px 16px 22px;background:linear-gradient(to top,#000000d1,#0000);pointer-events:auto;transition:opacity .2s ease,transform .2s ease}.controls.hidden{opacity:0;transform:translateY(6px);pointer-events:none}.row{display:flex;align-items:center;gap:10px}.time{font-variant-numeric:tabular-nums;font-size:12px;opacity:.85;min-width:78px}.btn{appearance:none;border:none;background:transparent;color:#fff;font-size:20px;padding:8px 10px;border-radius:8px;cursor:pointer;pointer-events:auto}.btn:active{background:#ffffff14}.btn.fullscreen{margin-left:auto;font-size:18px}.seek{flex:1;-webkit-appearance:none;appearance:none;height:4px;border-radius:4px;background:#ffffff40;outline:none}.seek::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:#4aa3ff;cursor:pointer}.seek::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#4aa3ff;cursor:pointer;border:none}.title-bar{position:absolute;top:0;left:0;right:0;padding:12px 16px;background:linear-gradient(to bottom,#000000bf,#0000);font-size:14px;font-weight:600;opacity:.9;pointer-events:none;transition:opacity .2s ease}.title-bar.hidden{opacity:0}.center-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:auto}.center-play button{width:72px;height:72px;border-radius:50%;border:none;background:#0000008c;color:#fff;font-size:28px;cursor:pointer}.buffer-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;background:#00000059;pointer-events:none}.buffer-overlay .spinner{width:44px;height:44px;border:3px solid rgba(255,255,255,.2);border-top-color:#4aa3ff;border-radius:50%;animation:spin .9s linear infinite}.buffer-label{font-size:13px;opacity:.85;letter-spacing:.3px}.err{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center}.tap-zone{position:absolute;top:0;bottom:0;width:50%;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}.tap-zone--left{left:0}.tap-zone--right{right:0}.seek-burst{position:absolute;top:0;bottom:0;width:50%;display:flex;align-items:center;justify-content:center;pointer-events:none;animation:burst .55s ease-out forwards}.seek-burst--l{left:0;background:radial-gradient(ellipse at left center,rgba(255,255,255,.14) 0%,transparent 65%)}.seek-burst--r{right:0;background:radial-gradient(ellipse at right center,rgba(255,255,255,.14) 0%,transparent 65%)}.seek-burst__label{color:#fff;font-size:15px;font-weight:600;background:#00000073;padding:8px 14px;border-radius:20px;letter-spacing:.3px}@keyframes burst{0%{opacity:0}25%{opacity:1}to{opacity:0}}.speed-wrap{position:relative;display:inline-flex}.btn.speed-toggle{font-size:13px;font-weight:600;padding:6px 10px;min-width:40px;text-align:center}.speed-menu{position:absolute;bottom:calc(100% + 6px);right:0;background:#141414f0;border-radius:10px;padding:4px 0;min-width:120px;pointer-events:auto;box-shadow:0 6px 18px #0009;border:1px solid rgba(255,255,255,.08);z-index:2}.speed-menu button{display:block;width:100%;padding:8px 14px;font-size:13px;background:transparent;color:#fff;border:none;text-align:left;cursor:pointer}.speed-menu button.active{background:#4aa3ff38;color:#bcdcff}.speed-menu button:hover{background:#ffffff14}
