:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#fff;background:#090909;--warm:#ffb45f;--warm2:#ff7548}*{box-sizing:border-box}html,body{margin:0;background:#090909;overscroll-behavior:none}button,input{font:inherit}.app-shell{min-height:100vh;background:#090909}

/* 动态等待页：只保留“请稍等，正在加载”，用光环与微粒提升等待体验 */
.cache-gate{position:fixed;inset:0;z-index:100;min-height:100vh;display:grid;place-items:center;padding:28px;overflow:hidden;background:radial-gradient(circle at 50% 42%,#1a120d 0,#0a0807 34%,#050505 72%)}
.cache-gate:before{content:"";position:absolute;inset:-30%;background:conic-gradient(from 180deg,transparent 0 31%,rgba(255,135,68,.045) 39%,transparent 47% 76%,rgba(255,190,105,.04) 84%,transparent 92%);animation:ambient-spin 12s linear infinite;pointer-events:none}
.cache-card.premium-loader{position:relative;z-index:1;width:min(320px,88vw);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;text-align:center}
.loader-scene{position:relative;width:154px;height:154px;filter:drop-shadow(0 18px 40px rgba(0,0,0,.5))}
.loader-halo,.loader-ring,.loader-core,.spark{position:absolute;left:50%;top:50%}
.loader-halo{border-radius:50%;transform:translate(-50%,-50%)}
.halo-one{width:142px;height:142px;background:radial-gradient(circle,rgba(255,159,82,.18) 0,rgba(255,159,82,.06) 36%,transparent 70%);animation:halo-breathe 2.3s ease-in-out infinite}
.halo-two{width:104px;height:104px;background:radial-gradient(circle,rgba(255,221,166,.12),transparent 68%);animation:halo-breathe 2.3s .55s ease-in-out infinite reverse}
.loader-ring{border-radius:50%;transform:translate(-50%,-50%);border-style:solid}
.ring-one{width:92px;height:92px;border-width:2px;border-color:rgba(255,255,255,.1);border-top-color:rgba(255,190,111,.95);border-right-color:rgba(255,116,66,.5);animation:ring-spin 1.05s linear infinite}
.ring-two{width:66px;height:66px;border-width:1px;border-color:rgba(255,255,255,.08);border-bottom-color:rgba(255,227,184,.9);animation:ring-spin-reverse 1.55s linear infinite}
.loader-core{width:28px;height:28px;border-radius:50%;transform:translate(-50%,-50%);display:grid;place-items:center;background:radial-gradient(circle at 35% 28%,#fff3d9 0,#ffc06b 20%,#ff834c 52%,rgba(255,106,58,.18) 70%,transparent 72%);box-shadow:0 0 20px rgba(255,132,70,.62),0 0 52px rgba(255,132,70,.24);animation:core-pulse 1.7s ease-in-out infinite}
.loader-core span{width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 11px #fff}
.spark{width:4px;height:4px;border-radius:50%;background:#ffd099;box-shadow:0 0 10px rgba(255,166,84,.85);opacity:0}
.spark-1{margin:-56px 0 0 42px;animation:spark-float 2.1s .1s ease-in-out infinite}.spark-2{margin:32px 0 0 57px;animation:spark-float 2.4s .7s ease-in-out infinite}.spark-3{margin:55px 0 0 -27px;animation:spark-float 2s 1.2s ease-in-out infinite}.spark-4{margin:5px 0 0 -65px;animation:spark-float 2.6s .25s ease-in-out infinite}.spark-5{margin:-48px 0 0 -49px;animation:spark-float 2.3s 1.05s ease-in-out infinite}.spark-6{margin:-70px 0 0 4px;animation:spark-float 2.5s 1.45s ease-in-out infinite}
.cache-card.premium-loader p{margin:0;color:rgba(255,255,255,.94);font-size:16px;font-weight:600;letter-spacing:.08em;text-shadow:0 4px 18px rgba(0,0,0,.5);animation:text-breathe 1.8s ease-in-out infinite}
@keyframes ambient-spin{to{transform:rotate(360deg)}}@keyframes ring-spin{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes ring-spin-reverse{to{transform:translate(-50%,-50%) rotate(-360deg)}}@keyframes halo-breathe{0%,100%{opacity:.45;transform:translate(-50%,-50%) scale(.88)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}}@keyframes core-pulse{0%,100%{transform:translate(-50%,-50%) scale(.9)}50%{transform:translate(-50%,-50%) scale(1.08)}}@keyframes spark-float{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}25%{opacity:.9}75%{opacity:.55}100%{opacity:0;transform:translate(-50%,-75%) scale(1.4)}}@keyframes text-breathe{0%,100%{opacity:.62}50%{opacity:1}}

.stage{position:relative;width:100%;height:100vh;max-height:100vh;overflow:hidden;background:#000;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center center;display:block;background:#000;opacity:0;z-index:0;transform:translate3d(0,0,0);will-change:transform;transition:none}.video.active{opacity:1;z-index:1}.video.drag-current{opacity:1;z-index:3}.video.drag-peer{opacity:1;z-index:2}.video.snap-motion{transition:transform .22s cubic-bezier(.22,.72,.18,1)}.shade{pointer-events:none;position:absolute;z-index:2;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.26) 0%,transparent 22%,transparent 62%,rgba(0,0,0,.58) 100%)}
.brand{position:absolute;left:18px;top:max(18px,env(safe-area-inset-top));z-index:5;display:flex;align-items:baseline;gap:10px;text-shadow:0 2px 8px rgba(0,0,0,.55)}.brand span{font-weight:800;font-size:20px;letter-spacing:.08em}.brand small{font-size:12px;opacity:.82}.meta{position:absolute;left:18px;right:92px;bottom:max(72px,calc(env(safe-area-inset-bottom) + 58px));z-index:5;text-shadow:0 2px 9px rgba(0,0,0,.7)}.counter{font-size:12px;opacity:.76;margin-bottom:6px}.title{font-size:18px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tip{margin-top:7px;font-size:12px;opacity:.82}

/* 加载完成后展示首帧 + 半透明播放按钮，用户主动点击才开始播放 */
.play-gate{position:absolute;z-index:8;left:50%;top:50%;transform:translate(-50%,-50%);width:92px;height:92px;border:0;border-radius:50%;padding:0;background:transparent;color:#fff;display:grid;place-items:center;cursor:pointer;touch-action:manipulation}.play-gate.hidden{display:none}.play-disc{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;background:rgba(8,8,8,.38);border:1px solid rgba(255,255,255,.42);box-shadow:0 10px 38px rgba(0,0,0,.36),inset 0 0 24px rgba(255,255,255,.06);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .16s ease,background .16s ease}.play-gate:active .play-disc{transform:scale(.92);background:rgba(8,8,8,.52)}.play-triangle{display:block;width:0;height:0;border-top:13px solid transparent;border-bottom:13px solid transparent;border-left:21px solid rgba(255,255,255,.96);margin-left:5px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.3))}

.actions{position:absolute;z-index:6;right:14px;bottom:max(96px,calc(env(safe-area-inset-bottom) + 82px));display:flex;flex-direction:column;align-items:center;gap:14px}.download-btn{width:62px;min-height:92px;border:0;border-radius:22px;padding:10px 8px;background:#fff;color:#171717;font-weight:800;line-height:1.35;box-shadow:0 8px 30px rgba(0,0,0,.3)}.download-btn:disabled{opacity:.5}.progress-wrap{position:absolute;z-index:7;left:14px;right:14px;bottom:max(10px,env(safe-area-inset-bottom));padding:5px 2px 2px;touch-action:pan-x}.time-row{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:rgba(255,255,255,.82);text-shadow:0 1px 5px rgba(0,0,0,.8);pointer-events:none}.progress{display:block;width:100%;height:24px;margin:0;accent-color:#fff;cursor:pointer;touch-action:pan-x}.speed-badge{position:absolute;z-index:9;top:18%;left:50%;transform:translate(-50%,-6px);padding:8px 14px;border-radius:999px;background:rgba(0,0,0,.7);font-size:14px;font-weight:800;opacity:0;pointer-events:none;transition:.14s}.speed-badge.show{opacity:1;transform:translate(-50%,0)}.loading{position:absolute;z-index:10;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.8);font-size:14px;pointer-events:none;background:rgba(0,0,0,.18)}.loading.hidden{display:none}.toast{position:absolute;z-index:11;left:50%;top:27%;transform:translate(-50%,-8px);opacity:0;pointer-events:none;max-width:84%;padding:11px 16px;border-radius:999px;background:rgba(0,0,0,.76);backdrop-filter:blur(10px);font-size:13px;text-align:center;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}.empty{min-height:100vh;display:grid;place-content:center;text-align:center;padding:36px}.empty.hidden{display:none}.empty-mark{margin:0 auto 18px;width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#111;font-size:34px}.empty h1{font-size:22px;margin:0 0 10px}.empty p{margin:0;color:#aaa;line-height:1.7}.hidden{display:none!important}

@media (prefers-reduced-motion:reduce){.video,.video.snap-motion,.toast,.speed-badge,.play-disc{transition:none}.cache-gate:before,.loader-halo,.loader-ring,.loader-core,.spark,.cache-card.premium-loader p{animation:none}.ring-one{border-top-color:#fff}.spark{opacity:.35}}
@media (min-width:700px){.app-shell{display:grid;place-items:center;min-height:100vh}.stage{width:430px;height:760px;border-radius:24px}.cache-gate{width:100%}.empty{width:430px;min-height:760px}}

/* V1.7.0 分类入口：进入时只读分类元数据，不预取任何视频 */
.category-gate{position:fixed;inset:0;z-index:110;min-height:100vh;display:grid;place-items:center;padding:max(28px,env(safe-area-inset-top)) 22px max(34px,env(safe-area-inset-bottom));background:radial-gradient(circle at 50% 20%,#251710 0,#0b0908 36%,#050505 78%);overflow:auto}
.category-panel{width:min(460px,100%);text-align:center}.category-brand{display:inline-flex;align-items:center;justify-content:center;padding:8px 13px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.045);font-size:13px;font-weight:800;letter-spacing:.18em;color:#ffd7a0}.category-panel h1{margin:24px 0 8px;font-size:27px;line-height:1.28;letter-spacing:.02em}.category-sub{margin:0 0 24px;color:rgba(255,255,255,.56);font-size:14px}.category-list{display:grid;gap:13px}.category-btn{position:relative;width:100%;min-height:82px;border:1px solid rgba(255,255,255,.12);border-radius:21px;padding:18px 20px;background:linear-gradient(135deg,rgba(255,255,255,.095),rgba(255,255,255,.035));color:#fff;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:inset 0 1px rgba(255,255,255,.06);-webkit-tap-highlight-color:transparent}.category-btn:active{transform:scale(.985);background:rgba(255,255,255,.12)}.category-btn strong{font-size:20px;letter-spacing:.03em}.category-btn span{font-size:12px;color:rgba(255,255,255,.52)}.category-arrow{font-size:26px;color:#ffd19a;font-weight:300}.category-status{margin:20px 0 0;color:rgba(255,255,255,.5);font-size:13px}.category-status.hidden{display:none}.change-category{border:1px solid rgba(255,255,255,.22);background:rgba(0,0,0,.28);color:#fff;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:700;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.empty-back{margin:22px auto 0;border:0;border-radius:14px;background:#fff;color:#111;padding:12px 18px;font-weight:800}
