:root{
  --bg:#0d0e12;
  --panel:#14161c;
  --panel-2:#191c23;
  --card:#17191f;
  --card-hover:#20242d;
  --line:#2b303a;
  --line-soft:rgba(255,255,255,.08);
  --text:#fff;
  --muted:#9ba3ae;
  --accent:#ff6300;
  --accent-2:#ff7a26;
  --success:#43d27a;
  --danger:#ff4552;
  --shadow:0 18px 60px rgba(0,0,0,.42);
}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#000;color:var(--text);font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
button,a{font:inherit}button{outline:none}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
[hidden]{display:none!important}
.player-shell{position:relative;width:100%;height:100%;min-height:100%;background:#000;overflow:hidden;isolation:isolate;cursor:default}
.stage{position:absolute;inset:0;overflow:hidden;background:#000}
.poster-backdrop{position:absolute;inset:0;background:var(--poster) center/cover no-repeat;transform:scale(1.025);filter:saturate(.82) brightness(.63);opacity:1;transition:opacity .35s ease}
.poster-backdrop::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,99,0,.13),rgba(0,0,0,.1) 42%,rgba(0,0,0,.48)),linear-gradient(180deg,rgba(0,0,0,.14),rgba(0,0,0,.04) 52%,rgba(0,0,0,.38))}
.poster-backdrop::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 46%,transparent 0 25%,rgba(0,0,0,.08) 54%,rgba(0,0,0,.52) 100%)}
#embedFrame{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000;opacity:0;visibility:hidden;transition:opacity .22s ease;z-index:3;contain:layout paint size}
#embedFrame.ready{opacity:1;visibility:visible}.player-shell.playing .poster-backdrop{opacity:0}

.topbar{position:absolute;z-index:40;top:0;left:0;right:0;min-height:74px;display:flex;align-items:flex-start;gap:14px;padding:max(16px,env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) 12px max(22px,env(safe-area-inset-left));background:linear-gradient(180deg,rgba(0,0,0,.72),rgba(0,0,0,.22) 62%,transparent);pointer-events:none;transition:opacity .25s ease,transform .25s ease}
.topbar>*{pointer-events:auto}.top-actions{margin-left:auto;display:flex;gap:8px;align-items:center}
.back-btn,.icon-btn{height:41px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--line-soft);border-radius:11px;background:rgba(18,20,26,.84);backdrop-filter:blur(12px);color:#fff;text-decoration:none;padding:0 13px;font-size:13px;font-weight:760;line-height:1;cursor:pointer;box-shadow:0 5px 20px rgba(0,0,0,.2);transition:background .18s,border-color .18s,transform .18s,color .18s}
.back-btn:hover,.icon-btn:hover{background:rgba(31,34,43,.95);border-color:rgba(255,99,0,.48)}
.back-btn:active,.icon-btn:active{transform:translateY(1px)}.icon-btn.square{width:42px;padding:0}.source-main-btn{min-width:104px}.source-main-btn i{color:var(--accent)}
.icon-btn.active{border-color:rgba(255,99,0,.62);background:rgba(82,36,8,.78)}
.sandbox-toggle{min-width:132px;white-space:nowrap}.sandbox-toggle i{opacity:.75}.sandbox-toggle.active{border-color:rgba(67,210,122,.7);background:rgba(20,78,43,.76)}.sandbox-toggle.active i{opacity:1}
.title-box{flex:1;min-width:0;align-self:center;text-align:center;opacity:0;pointer-events:none}

.play-cover{position:absolute;z-index:14;inset:0;display:grid;place-items:center;pointer-events:none;transition:opacity .24s ease,visibility .24s ease}.play-cover.hidden{opacity:0;visibility:hidden}
.play-main{pointer-events:auto;width:70px;height:70px;border-radius:50%;border:1px solid rgba(255,255,255,.85);background:linear-gradient(145deg,var(--accent-2),var(--accent));color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 14px 38px rgba(0,0,0,.46),0 0 0 8px rgba(255,99,0,.12);transition:transform .18s,filter .18s,box-shadow .18s}.play-main:hover{transform:scale(1.075);filter:brightness(1.07);box-shadow:0 16px 42px rgba(0,0,0,.48),0 0 0 12px rgba(255,99,0,.14)}.play-main i{font-size:27px;margin-left:4px}

.frame-loading,.frame-error{position:absolute;z-index:18;inset:0;display:grid;place-content:center;justify-items:center;gap:12px;background:rgba(0,0,0,.38);backdrop-filter:blur(2px);pointer-events:none}.frame-error{pointer-events:auto;background:rgba(0,0,0,.72)}
.spinner{width:48px;height:48px;border-radius:50%;border:4px solid rgba(255,255,255,.15);border-top-color:var(--accent);animation:spin .82s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.frame-loading strong,.frame-error strong{font-size:16px}.frame-error i{font-size:38px;color:var(--danger)}.frame-error span{color:var(--muted);font-size:13px;text-align:center;max-width:360px;padding:0 20px}.error-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:4px}.error-actions button{border:1px solid var(--line);border-radius:9px;background:var(--panel-2);color:#fff;padding:10px 14px;font-weight:800;cursor:pointer}.error-actions button.primary{border-color:var(--accent);background:var(--accent)}.error-actions button:hover{filter:brightness(1.08)}

.player-info{position:absolute;z-index:41;top:max(16px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:9px;width:max-content;max-width:min(560px,44vw);padding:8px 9px 8px 11px;border:1px solid rgba(255,255,255,.08);border-radius:11px;background:rgba(12,14,18,.56);backdrop-filter:blur(12px);box-shadow:0 6px 20px rgba(0,0,0,.2);transition:opacity .22s ease,transform .22s ease,visibility .22s ease}
.player-info-main{min-width:0}.player-info-main strong,.player-info-main span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-info-main strong{font-size:12px;font-weight:800}.player-info-main span{margin-top:2px;font-size:10px;color:#b0b6bf}.player-info-badges{display:flex;gap:5px;margin-left:auto;flex:0 0 auto}.meta-badge{font-style:normal;font-size:9px;font-weight:900;letter-spacing:.25px;padding:4px 6px;border-radius:6px;background:#20242d;color:#e8ebef;border:1px solid #313744}.meta-badge.language{background:rgba(86,39,10,.9);border-color:rgba(255,99,0,.38);color:#ffad78}.player-info-close{width:25px;height:25px;flex:0 0 25px;display:grid;place-items:center;border:0;border-radius:6px;background:transparent;color:#9aa2ad;cursor:pointer}.player-info-close:hover{background:rgba(255,255,255,.08);color:#fff}
.player-shell.playing .player-info{opacity:.28}.player-shell.playing .player-info:hover,.player-shell.info-active .player-info{opacity:.95}.player-shell.info-hidden .player-info{opacity:0!important;visibility:hidden;pointer-events:none;transform:translate(-50%,-8px)}

.episode-nav{position:absolute;z-index:26;left:50%;bottom:max(22px,env(safe-area-inset-bottom));display:flex;gap:9px;transform:translateX(-50%);transition:opacity .25s,transform .25s}.episode-nav a{width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.16);border-radius:50%;background:rgba(14,16,21,.82);backdrop-filter:blur(10px);color:#fff;text-decoration:none;transition:background .18s,transform .18s,border-color .18s}.episode-nav a:hover{background:#222630;border-color:rgba(255,99,0,.5);transform:scale(1.05)}

.quick-controls{position:absolute;z-index:32;right:max(20px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));display:flex;gap:7px;transition:opacity .25s,transform .25s}.quick-btn{width:42px;height:42px;border:1px solid rgba(255,255,255,.12);border-radius:11px;background:rgba(12,14,18,.78);backdrop-filter:blur(10px);color:#fff;display:grid;place-items:center;cursor:pointer;transition:.18s}.quick-btn:hover,.quick-btn.active{border-color:rgba(255,99,0,.55);background:rgba(49,30,19,.9)}.quick-btn i{font-size:14px}

.drawer{position:absolute;z-index:70;top:0;right:0;width:min(470px,95vw);height:100%;background:var(--panel);border-left:1px solid var(--line);box-shadow:-30px 0 70px rgba(0,0,0,.58);transform:translateX(102%);transition:transform .26s cubic-bezier(.2,.8,.2,1);overflow:hidden;display:flex;flex-direction:column}.drawer.open{transform:translateX(0)}
.drawer-scrim{position:absolute;z-index:65;inset:0;border:0;background:rgba(0,0,0,.52);opacity:0;pointer-events:none;transition:opacity .2s}.drawer-scrim.show{opacity:1;pointer-events:auto}
.drawer-head{min-height:66px;display:flex;align-items:center;gap:12px;padding:max(8px,env(safe-area-inset-top)) 16px 8px;border-bottom:1px solid var(--line);background:#111319}.drawer-head>div{flex:1;min-width:0}.drawer-head strong{display:block;font-size:17px;font-weight:850}.drawer-head small{display:block;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted);font-size:10px}.drawer-head button{width:38px;height:38px;border:0;background:transparent;color:#9aa2ad;font-size:27px;line-height:1;cursor:pointer;border-radius:8px}.drawer-head button:hover{background:#20242d;color:#fff}
.drawer-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);background:#12141a}.drawer-tab{height:46px;border:0;background:transparent;color:#9199a5;font-weight:800;cursor:pointer;border-bottom:2px solid transparent}.drawer-tab.active{color:#fff;border-bottom-color:var(--accent)}
.drawer-pane{display:none;overflow:auto;padding:15px 16px 20px;flex:1;scrollbar-width:thin;scrollbar-color:#59626f #11151a}.drawer-pane.active{display:block}.drawer-pane::-webkit-scrollbar{width:6px}.drawer-pane::-webkit-scrollbar-track{background:#11151a}.drawer-pane::-webkit-scrollbar-thumb{background:#59626f;border-radius:20px}
.section-label{display:flex;align-items:center;justify-content:space-between;color:#929aa5;font-size:11px;text-transform:uppercase;letter-spacing:.3px;margin:7px 8px 11px}.source-list,.episode-list{display:grid;gap:8px}
.source-language-group{display:grid;gap:8px;margin:0 0 18px}.source-group-title{display:flex;align-items:center;gap:8px;padding:0 5px;color:#e8ebef}.source-group-title span{font-size:12px;font-weight:850}.source-group-title em{font-style:normal;font-size:9px;font-weight:900;padding:4px 7px;border-radius:999px;background:#44220d;color:#ff9d60;border:1px solid #71401f}.source-group-title small{margin-left:auto;color:#7f8895;font-size:10px}.source-group-list{display:grid;gap:8px}
.source-row{width:100%;min-height:50px;display:flex;align-items:center;gap:10px;border:1px solid transparent;border-radius:10px;background:var(--card);color:#fff;padding:8px 10px 8px 12px;text-align:left;cursor:pointer;transition:background .16s,border-color .16s,box-shadow .16s,transform .16s}.source-row:hover{background:var(--card-hover);transform:translateY(-1px)}.source-row.active{border-color:var(--accent);box-shadow:inset 4px 0 0 var(--accent)}.source-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#232832;color:var(--accent);flex:0 0 auto}.source-icon i{font-size:11px}.source-copy{min-width:0;flex:1}.source-copy strong,.source-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.source-copy strong{font-size:13px;font-weight:790}.source-copy small{font-size:10px;color:#838c98;margin-top:3px}.source-row.active .source-copy strong{color:#ff9d60}.chips{display:flex;gap:6px;align-items:center;flex:0 0 auto}.chips em,.episode-row em{font-style:normal;font-size:10px;padding:5px 8px;border-radius:999px;background:#242a35;color:#d6dbe2;white-space:nowrap}.chips .lang-chip{background:#1f2936;color:#a8c7ff;border:1px solid #30445e}.chips .now,.episode-row em{background:var(--accent);color:#fff}.pin{width:20px;text-align:center;font-size:10px;color:#89919c;flex:0 0 auto}
.empty-state{display:grid;justify-items:center;gap:8px;padding:28px 18px;border:1px dashed #343a45;border-radius:11px;color:#a7aeb8;text-align:center;background:#12151b}.empty-state i{font-size:24px;color:var(--accent)}.empty-state strong{color:#fff}.empty-state span{font-size:12px}

.player-settings{display:grid;gap:8px;margin:0 0 17px;padding:11px;border:1px solid var(--line);border-radius:11px;background:#12151a}.setting-row{display:flex;align-items:center;gap:12px;min-height:38px}.setting-row>span{flex:1}.setting-row strong{display:block;font-size:12px}.setting-row small{display:block;color:#858e99;font-size:10px;margin-top:2px}.switch{position:relative;width:42px;height:24px;flex:0 0 auto}.switch input{position:absolute;opacity:0;pointer-events:none}.switch-track{position:absolute;inset:0;border-radius:999px;background:#303640;border:1px solid #444b57;transition:.18s}.switch-track::after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;top:2px;left:2px;transition:.18s}.switch input:checked+.switch-track{background:var(--accent);border-color:var(--accent)}.switch input:checked+.switch-track::after{transform:translateX(18px)}

.season-filter{display:flex;gap:7px;overflow:auto;padding-bottom:12px;margin-bottom:3px;scrollbar-width:none}.season-filter::-webkit-scrollbar{display:none}.season-filter button{flex:0 0 auto;border:1px solid #323845;border-radius:8px;background:#171a21;color:#a0a8b3;padding:8px 11px;cursor:pointer;font-size:12px;font-weight:750}.season-filter button.active{border-color:var(--accent);color:#fff;background:#4b260f}.episode-row{display:flex;align-items:center;gap:11px;min-height:60px;padding:9px 11px;border:1px solid transparent;border-radius:10px;background:var(--card);color:#fff;text-decoration:none;transition:.16s}.episode-row:hover{background:var(--card-hover)}.episode-row.current{border-color:var(--accent);box-shadow:inset 4px 0 0 var(--accent)}.ep-num{width:36px;height:36px;display:grid;place-items:center;border-radius:8px;background:#252a34;color:#edf0f3;font-weight:900;font-size:12px}.episode-row>span:nth-child(2){flex:1;min-width:0}.episode-row strong,.episode-row small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.episode-row strong{font-size:12px}.episode-row small{font-size:10px;color:#858e99;margin-top:3px}.episode-row i{color:#aab2bc}

.player-toast{position:absolute;z-index:95;left:50%;bottom:82px;transform:translate(-50%,10px);opacity:0;transition:.18s;pointer-events:none}.player-toast.show{opacity:1;transform:translate(-50%,0)}.player-toast>div{display:flex;align-items:center;gap:8px;max-width:min(88vw,520px);padding:10px 13px;border:1px solid rgba(255,255,255,.11);border-radius:10px;background:rgba(16,18,24,.92);backdrop-filter:blur(12px);box-shadow:var(--shadow);font-size:12px;font-weight:700}.player-toast i{color:var(--accent)}

.shortcut-help{position:absolute;z-index:90;inset:0;display:grid;place-items:center;padding:20px;background:rgba(0,0,0,.58);backdrop-filter:blur(5px);opacity:0;visibility:hidden;pointer-events:none;transition:.2s}.shortcut-help.open{opacity:1;visibility:visible;pointer-events:auto}.shortcut-card{width:min(520px,94vw);max-height:86vh;overflow:auto;border:1px solid var(--line);border-radius:16px;background:#14171d;box-shadow:var(--shadow)}.shortcut-head{display:flex;align-items:center;justify-content:space-between;padding:15px 17px;border-bottom:1px solid var(--line)}.shortcut-head strong{font-size:16px}.shortcut-head button{width:34px;height:34px;border:0;border-radius:8px;background:#20242d;color:#fff;cursor:pointer}.shortcut-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}.shortcut-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;background:#171a21;color:#b9c0c9;font-size:12px}.shortcut-item kbd{min-width:32px;text-align:center;padding:5px 8px;border:1px solid #3d4450;border-bottom-width:2px;border-radius:7px;background:#222731;color:#fff;font:700 11px/1 monospace}

.player-shell.ui-hidden{cursor:none}.player-shell.ui-hidden .topbar{opacity:0;transform:translateY(-12px);pointer-events:none}.player-shell.ui-hidden .quick-controls{opacity:0;transform:translateY(8px);pointer-events:none}.player-shell.ui-hidden .episode-nav{opacity:0;transform:translate(-50%,8px);pointer-events:none}.player-shell.ui-hidden .player-info:not(:hover){opacity:0;pointer-events:none}
.embedded .back-btn{display:none}.embedded .topbar{justify-content:flex-end}

@media(max-width:900px){.sandbox-toggle span{display:none}.sandbox-toggle{min-width:42px;width:42px;padding:0}.source-main-btn span{display:none}.source-main-btn{min-width:42px;width:42px;padding:0}.player-info{max-width:46vw}}
@media(max-width:720px){
  .topbar{min-height:62px;padding:max(10px,env(safe-area-inset-top)) 10px 8px;gap:7px}.back-btn span,.icon-btn span{display:none}.back-btn,.icon-btn,.sandbox-toggle,.source-main-btn{width:40px;min-width:40px;padding:0}.top-actions{gap:6px}.drawer{width:100%}.episode-nav{bottom:max(12px,env(safe-area-inset-bottom))}.source-copy small{display:none}.chips em:not(.now):not(.lang-chip){display:none}.play-main{width:60px;height:60px}.play-main i{font-size:23px}.player-info{top:62px;left:10px;right:10px;transform:none;width:auto;max-width:none;padding:6px 7px 6px 9px}.player-info-main strong{font-size:11px}.player-info-main span{font-size:9px}.player-info-badges{gap:3px}.meta-badge{padding:4px 5px}.player-shell.info-hidden .player-info{transform:translateY(-6px)}.source-group-title{padding:0 2px}.quick-controls{right:10px;bottom:max(10px,env(safe-area-inset-bottom));gap:5px}.quick-btn{width:38px;height:38px;border-radius:10px}.player-toast{bottom:64px}.shortcut-grid{grid-template-columns:1fr}.drawer-pane{padding-bottom:max(20px,env(safe-area-inset-bottom))}
}
@media(max-width:460px){.top-actions .icon-btn:nth-of-type(1){display:none}.player-info-badges .meta-badge:not(.language){display:none}.chips .lang-chip{display:none}.source-row{padding-left:9px}.source-icon{width:26px;height:26px}.quick-controls #helpBtn{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
.ui-reveal-zone{position:absolute;z-index:34;left:0;right:0;height:16px;pointer-events:auto}.ui-reveal-zone-top{top:0}.ui-reveal-zone-bottom{bottom:0}
