:root{font-family:Inter,system-ui,Arial,sans-serif;color:#25223a;background:#faf9fd}*{box-sizing:border-box}body{margin:0}header{display:flex;align-items:center;justify-content:space-between;padding:20px max(24px,calc((100vw - 1024px)/2));border-bottom:1px solid #ece8f4;background:white}.brand{font-size:20px;font-weight:800;color:#6b36c9;text-decoration:none}.brand span{color:#27243b}.sub,.muted{color:#6d687e}main{max-width:820px;margin:55px auto;padding:0 20px;min-height:70vh}h1{font-size:clamp(32px,5vw,52px);margin:10px 0}h2{font-size:20px;margin-top:0}.eyebrow{color:#7545d6;font-size:12px;letter-spacing:2px;font-weight:800}.panel{padding:26px;background:white;border:1px solid #ebe7f1;border-radius:18px;margin:24px 0;box-shadow:0 8px 30px #29194e09}label{display:block;margin:15px 0;font-size:14px;font-weight:600}input:not([type=checkbox]){display:block;margin-top:8px;width:100%;padding:13px;border-radius:9px;border:1px solid #d8d2e4;font:inherit;background:white;color:#29223a}input:focus{outline:2px solid #8b64dc}.check{display:flex;align-items:center;gap:10px;font-weight:400}.actions{display:flex;gap:10px;flex-wrap:wrap}button{background:#6b36c9;color:white;border:0;border-radius:9px;padding:12px 18px;font-weight:700;cursor:pointer}button.secondary{background:#eee9f6;color:#44287d}button:disabled{opacity:.45;cursor:not-allowed}progress{width:100%;height:15px;margin-top:18px}#result{padding:15px;background:#f3f0fb;border-radius:12px;margin-top:20px}#frame{width:100%;aspect-ratio:16/9;background:#111;border-radius:16px;overflow:hidden;margin:28px 0}#frame iframe{width:100%;height:100%;border:0}#openDrive{color:#6b36c9;font-weight:700}.small{font-size:13px}footer{text-align:center;color:#837d90;padding:30px}@media(max-width:600px){header{padding:16px 20px}.sub{display:none}main{margin:35px auto}.panel{padding:18px}}

.cache-player{margin:18px 0;padding:14px;background:#fff;border:1px solid #e8e3f1;border-radius:14px}.cache-player video{display:block;width:100%;max-height:65vh;background:#111;border-radius:10px}.cache-player video[hidden]{display:none}.cache-player button{margin-top:8px}#driveFallback[hidden]{display:none}
