:root{--bg:#0d0d0b;--surface:#181818;--surface2:#22221f;--line:#30302b;--text:#f1f1ed;--muted:#a3a39b;--accent:#f4c600;--ink:#171500;--gold:#f4c600}body{background:var(--bg)}.container,.header-inner{max-width:1600px;padding-left:25px;padding-right:25px}.site-header{height:75px;position:sticky;top:0;background:#0e0e0cf5;backdrop-filter:blur(15px);border-bottom-color:#272721}.header-inner{gap:24px}.brand{font-size:21px;color:var(--accent);letter-spacing:0;gap:9px}.brand-mark{width:33px;height:33px;border-radius:8px;font-size:21px}.desktop-nav{gap:22px;flex:none}.desktop-nav a{padding:24px 0;color:#d1d1c8;font-size:14px}.desktop-nav a.active:after{bottom:12px;background:var(--accent)}.top-search{width:auto;flex:1;min-width:170px;max-width:380px;margin-left:auto;border-radius:30px;background:#20201d;border:0;padding:3px 5px 3px 19px;gap:5px}.top-search input{color:var(--text);font-size:13px}.top-search button{width:38px;min-height:35px;padding:7px;background:transparent;color:#ccc;border:0}.top-search button:hover{background:#ffffff0a}.top-search svg,.history-link svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.header-actions{margin-left:0;gap:16px;font-size:12px}.history-link{display:flex;gap:6px;align-items:center;white-space:nowrap;color:#ccc}.history-link svg{width:19px;height:19px}.avatar-link{display:inline-flex;align-items:center;justify-content:center;border-color:#44443a;border-radius:50%;width:33px;min-width:33px;height:33px;padding:0;line-height:1;text-align:center}.app-banner{display:flex;align-items:center;justify-content:space-between;margin:24px 0 25px;background:#1c1d25;border:1px solid #292b34;padding:13px 19px;border-radius:9px;gap:20px}.app-banner strong{display:block;letter-spacing:1px;font-size:16px;line-height:1.4}.app-banner small{color:#a6a6b4;font-size:11px;display:block;margin-top:2px}.app-banner .primary{border-radius:6px;min-height:36px;font-size:12px;padding:7px 18px;color:#171500}.source-tabs{display:flex;align-items:center;gap:8px;margin:20px 0;overflow:auto}.source-tabs>span{color:var(--muted);font-size:12px;flex:none;padding-right:7px}.source-tabs .selected,.chip.selected{background:#f4c600;color:#171500}.library-heading{margin:20px 0 20px}.library-heading h1{font-size:22px;letter-spacing:0;line-height:1.4;margin:0;display:flex;align-items:center;gap:9px}.library-heading h1:before{content:"";display:block;width:4px;height:20px;border-radius:2px;background:var(--accent)}.library-heading>a{font-size:12px;color:var(--muted)}.poster-grid{gap:25px 25px}.poster-image{background:linear-gradient(145deg,#262937,#151a25);border-radius:13px}.poster-placeholder{color:#62677c;writing-mode:horizontal-tb;font-size:23px;letter-spacing:2px;text-align:center;padding:10px}.poster-card h3{font-size:14px;margin-top:10px}.poster-card p{font-size:11px;color:#898a81}.poster-note{font-size:11px;bottom:10px;left:11px}.poster-shade{inset:60% 0 0}.play-circle{background:var(--accent)}.catalog-filters{margin:24px 0 23px;border:1px solid #2c2b24;border-radius:9px;background:#171714;overflow:hidden}.catalog-filter-row{display:flex;min-height:44px;border-bottom:1px solid #2a2922}.catalog-filter-row>.filter-label{width:70px;display:flex;align-items:center;justify-content:center;background:#11110f;font-size:13px;flex-shrink:0}.catalog-filter-row>div{display:flex;align-items:center;gap:7px;overflow-x:auto;padding:7px 13px;scrollbar-width:thin;scrollbar-color:#4d4931 transparent;min-width:0}.catalog-filter-row .chip{font-size:12px;padding:4px 11px;border-radius:5px}.catalog-filter-row .chip.selected{background:var(--accent);color:var(--ink)}.catalog-filter-row .chip:hover{color:var(--accent);background:#28271e}.catalog-filter-row .chip.selected:hover{color:var(--ink);background:var(--accent)}.catalog-sort{display:flex;gap:0;padding:9px 12px}.catalog-sort a{padding:7px 19px;border-radius:5px;font-size:12px;color:#c8c8be;margin-right:12px}.catalog-sort a.selected{background:var(--accent);color:var(--ink)}.active-source-type{display:flex;justify-content:space-between;padding:9px 16px;font-size:12px;color:var(--muted)}.site-footer{margin-top:45px;padding:28px 0 23px;border-top:1px solid #24241d;font-size:11px}.site-footer .container{display:flex;align-items:center;justify-content:space-between;gap:20px}.site-footer .footer-links{margin:0;font-size:11px;gap:20px}.mobile-bottom-nav{display:none}.history-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:35px 0 20px}.history-heading h1{font-size:27px;letter-spacing:0;margin-bottom:9px}.history-heading p{font-size:12px;margin:0}.history-heading button{font-size:12px}.history-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:35px}.history-card{position:relative;display:grid;grid-template-columns:90px minmax(0,1fr);gap:15px;border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:13px}.history-cover{display:block;width:90px;height:128px;overflow:hidden;border-radius:7px;background:#262937}.history-cover img{width:100%;height:100%;object-fit:cover}.history-info{min-width:0;display:flex;flex-direction:column;justify-content:center}.history-info h2{font-size:15px;margin:0 25px 7px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-info p{font-size:11px;color:var(--muted);margin:3px 0}.history-progress{height:3px;background:#333228;border-radius:3px;overflow:hidden;margin:9px 0}.history-progress span{display:block;background:var(--accent);height:100%}.history-info>a{font-size:12px;color:var(--accent);margin-top:5px}.history-remove{position:absolute;right:6px;top:5px;border:0;background:transparent;min-height:25px;padding:0 7px;color:var(--muted);font-size:20px}.history-empty{grid-column:1/-1;text-align:center;padding:70px 10px;color:var(--muted)}.excluded-category-row{opacity:.55}.excluded-category-row>td:first-child{text-decoration:line-through}.video-intro .eyebrow,.eyebrow{color:var(--accent)}.episode.current{color:var(--accent);border-color:var(--accent);background:#f4c6000a}.pill{color:var(--accent);background:#f4c60012}.primary:hover{background:#ffdb43;border-color:#ffdb43;color:#171500}.comment-avatar,.large-avatar{background:#f4c60012;border-color:#f4c60030;color:var(--accent)}.admin-nav a.active{background:#f4c60010;color:var(--accent)}.notice{color:#e3d390;background:#f4c60008;border-color:#f4c60030}.notice.error{color:var(--danger);background:#f4a29a0a;border-color:#f4a29a45}.toast{background:#f5e9b4;color:#211c08}.source-warning{color:#e3c86b}.admin-main input:focus,.admin-main textarea:focus{border-color:var(--accent)}
@media(max-width:1350px){.header-inner{gap:18px}.desktop-nav{gap:15px}.desktop-nav a{font-size:13px}.top-search{max-width:300px;min-width:150px}.header-actions{gap:11px}.history-link span{display:none}.brand{font-size:20px}.history-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1050px){.desktop-nav{gap:10px}.header-inner{gap:12px}.header-actions .vip-link{display:none}.brand{font-size:18px}.brand-mark{width:30px;height:30px;font-size:19px}.top-search{max-width:300px}.poster-grid{gap:23px 18px}}
@media(max-width:850px){.desktop-nav{display:none}.history-link span{display:inline}.header-actions .vip-link{display:inline}.top-search{max-width:450px}.container,.header-inner{padding-left:20px;padding-right:20px}}
@media(max-width:700px){body{padding-bottom:calc(65px + env(safe-area-inset-bottom))}.container,.header-inner{padding-left:14px;padding-right:14px}.site-header{height:112px;top:0;background:#0e0e0cfa}.header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:48px 49px;gap:0 12px;padding-top:5px;padding-bottom:8px}.brand{font-size:20px;gap:8px}.brand-mark{width:28px;height:28px;font-size:18px;border-radius:7px}.header-actions{grid-column:2;grid-row:1;gap:13px}.header-actions .vip-link{display:none}.history-link{font-size:11px;gap:4px}.history-link span{display:inline}.history-link svg{width:17px;height:17px}.avatar-link{font-size:10px;display:inline-flex;align-items:center;justify-content:center;width:29px;min-width:29px;height:29px;padding:0;line-height:1}.top-search{grid-row:2;grid-column:1/-1;margin:0;max-width:none;width:100%;padding:3px 5px 3px 15px;height:39px;align-self:end}.top-search input{font-size:12px}.top-search button{width:35px;min-height:31px;padding:6px}.top-search svg{width:19px;height:19px}.app-banner{margin:15px 0 21px;padding:11px 13px;border-radius:8px;gap:12px}.app-banner strong{font-size:14px}.app-banner small{font-size:10px}.app-banner .primary{font-size:11px;min-height:32px;padding:5px 13px}.library-heading{margin:20px 0 15px}.library-heading h1{font-size:19px;gap:8px}.library-heading h1:before{height:17px;width:3px}.library-heading>a{font-size:10px}.poster-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:21px 11px}.poster-image{border-radius:9px}.poster-card h3{font-size:12px;margin-top:8px}.poster-card p{font-size:9px}.poster-note{font-size:9px;left:7px;bottom:7px}.source-tabs{margin:13px 0;gap:3px}.source-tabs>span{font-size:10px}.source-tabs .chip{font-size:11px;padding:4px 10px}.catalog-filters{margin:18px 0;border-radius:8px}.catalog-filter-row{min-height:40px}.catalog-filter-row>.filter-label{width:44px;font-size:11px}.catalog-filter-row>div{padding:6px 8px;gap:4px;scrollbar-width:none}.catalog-filter-row .chip{font-size:11px;padding:4px 9px}.catalog-sort{padding:8px 8px;justify-content:space-between}.catalog-sort a{font-size:11px;padding:5px 13px;margin-right:0}.active-source-type{padding:8px 11px;font-size:10px}.mobile-bottom-nav{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));align-items:center;position:fixed;bottom:0;left:0;right:0;padding:6px 4px calc(6px + env(safe-area-inset-bottom));min-height:62px;background:#141411f7;border-top:1px solid #35332a;backdrop-filter:blur(18px);z-index:50}.mobile-bottom-nav a{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;color:#919187;font-size:10px;line-height:1.3;padding:3px 0}.mobile-bottom-nav a.active{color:var(--accent)}.mobile-bottom-nav svg{height:20px;width:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.site-footer{margin-top:28px;padding:23px 0;font-size:10px}.site-footer .container{display:block;text-align:center}.site-footer .footer-links{justify-content:center;gap:17px;font-size:10px;margin:10px 0 0}.history-heading{padding:25px 0 20px;gap:10px}.history-heading h1{font-size:24px}.history-heading p{font-size:10px}.history-heading button{font-size:10px;padding:5px 10px;min-height:31px;flex:none}.history-grid{grid-template-columns:1fr;gap:12px}.history-card{grid-template-columns:76px minmax(0,1fr);padding:11px;gap:13px}.history-cover{width:76px;height:108px}.history-info h2{font-size:14px}.history-info p{font-size:10px}.history-info>a{font-size:11px}.history-empty{padding:55px 0}.toast{bottom:calc(77px + env(safe-area-inset-bottom))}.player-shell{margin-left:-14px;width:calc(100% + 28px);border-radius:0}.admin-container{padding-bottom:0}}

.player-diagnostics{font-size:12px;color:var(--muted);margin:8px 0}.player-diagnostics summary{cursor:pointer}.player-diagnostics pre{white-space:pre-wrap;overflow-wrap:anywhere;padding:12px;background:var(--surface);max-height:220px;overflow:auto}
@media(min-width:1025px){.desktop-nav{gap:16px}.top-search{max-width:270px}}

.ai-video-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;z-index:1;clip-path:inset(0 0 52px 0)}.ai-video-layer[hidden]{display:none}#aiQuality[aria-pressed="true"]{color:var(--accent);border-color:var(--accent)}.player-toolbar>div{flex-wrap:wrap}.dm-overlay{z-index:2}.player-status{z-index:3}
/* 1.1: Player controls are visually and functionally part of the player. */
.bilibili-shell{background:#070913;border:1px solid #273045;box-shadow:0 15px 45px #0006;border-radius:15px;isolation:isolate}
.bilibili-shell video{cursor:pointer}
.bilibili-shell .player-toolbar{position:absolute;left:0;right:0;bottom:0;z-index:7;display:block;padding:27px 13px 7px;margin:0;background:linear-gradient(transparent,#02040ae8 35%,#02040af5 100%);color:#fafcff;opacity:.98;transition:opacity .2s}
.bilibili-shell:not(:hover) .player-toolbar{opacity:.92}
.player-seek-row{display:block!important;width:100%;height:14px}
.player-seek-row input{display:block;width:100%;height:4px;margin:5px 0 10px;cursor:pointer;accent-color:#00a1d6;border:0;padding:0;background:transparent}
.player-toolbar-main{display:flex!important;align-items:center;gap:6px!important;width:100%;flex-wrap:nowrap!important;min-width:0}
.bilibili-shell .player-toolbar button{min-height:32px;flex-shrink:0;background:transparent!important;border:0!important;border-radius:7px;padding:3px 8px;color:#f6f9ff;font-size:12px;font-weight:550}
.bilibili-shell .player-toolbar button:hover{background:#ffffff1d!important;color:#79d8ff}
.bilibili-shell #videoTogglePlay{font-size:19px;color:#91dfff}
.player-time{font-variant-numeric:tabular-nums;font-size:11px;color:#c9d1e3;white-space:nowrap}
.player-controls-spacer{flex:1}
.player-volume{display:flex;flex-direction:row;align-items:center;gap:4px;margin:0;color:#cbd5e9}
.player-volume input{width:65px;min-width:45px;height:4px;padding:0;accent-color:#00a1d6;border:0}
.player-toolbar .dm-control{display:flex;margin:0 2px;align-items:center;color:#e6edf9;font-size:11px;white-space:nowrap}
.player-toolbar .dm-control input{accent-color:#00a1d6;width:15px;height:15px}
.bilibili-shell .player-settings{position:absolute;bottom:87px;right:13px;z-index:8;background:#111726f5;border:1px solid #344258;border-radius:13px;padding:17px 19px;width:min(310px,calc(100% - 26px));box-shadow:0 14px 40px #000a;backdrop-filter:blur(20px);color:#ecf5ff}
.bilibili-shell .player-settings[hidden]{display:none!important}
.player-settings strong{font-size:14px;color:#d4eeff}
.player-settings label{display:block;color:#cad6e8;font-size:12px;margin:13px 0}
.player-settings output{float:right;color:#65ceff}
.player-settings input{display:block;width:100%;height:5px;border:0;padding:0;margin:9px 0;accent-color:#00a1d6;background:transparent}
.player-settings p{font-size:10px;line-height:1.5;margin:4px 0;max-height:42px;overflow:hidden}
.bilibili-shell .dm-overlay{inset:0 0 82px;opacity:.85;overflow:hidden}
.bilibili-shell .danmaku{font-size:clamp(14px,1.9vw,21px);font-weight:750;text-shadow:-1px -1px 2px #000,1px -1px 2px #000,-1px 1px 2px #000,1px 1px 3px #000;animation-name:danmaku;animation-duration:var(--dm-duration,10s);animation-timing-function:linear;pointer-events:none;line-height:1.5}
.bilibili-shell .ai-video-layer{z-index:1;clip-path:inset(0 0 0 0)}
.captcha-line{display:flex;align-items:center;gap:10px;margin-top:9px}.captcha-line input{flex:1;width:40%}.captcha-line img{display:block;width:146px;height:48px;cursor:pointer;border-radius:9px;border:1px solid #415263;background:#111726}.account-post-list{display:grid;gap:10px}.account-post{border-bottom:1px solid var(--line);padding:9px 0}.account-post>a{font-weight:600}.account-post>span{display:block;font-size:11px}.account-post p{margin:4px 0 8px;overflow-wrap:anywhere}
@media(max-width:850px){.bilibili-shell .player-toolbar{padding:15px 5px 5px}.player-toolbar-main{gap:1px!important}.bilibili-shell .player-toolbar button{font-size:10px;padding:3px 5px}.player-time{font-size:9px}.player-volume,.bilibili-shell #seekBack,.bilibili-shell #seekForward{display:none!important}.bilibili-shell .player-toolbar .dm-control{font-size:10px}.bilibili-shell #aiQuality{font-size:9px}.bilibili-shell .player-settings{bottom:69px}.bilibili-shell .dm-overlay{inset:0 0 65px}}

.bilibili-shell .speed-select{display:flex;margin:0;align-items:center}.bilibili-shell .player-toolbar select{width:76px;padding:4px 1px;min-height:28px;font-size:11px;border:none;background:#09121ab8;color:#f4f6fa;cursor:pointer;box-shadow:none}.bilibili-shell .player-toolbar option{background:#101925;color:#fff}
@media(max-width:600px){.bilibili-shell .player-toolbar select{width:50px;font-size:9px}.bilibili-shell .speed-select{display:block}}

/* 1.1.2 playback buffering and danmaku arrival. */
.bilibili-shell .player-seek-row{position:relative}
.bilibili-shell .video-buffered-track{position:absolute;left:0;top:5px;height:4px;width:0;background:#9ca7b18c;border-radius:4px;pointer-events:none;z-index:1;transition:width .15s}
.bilibili-shell #videoProgress{position:relative;z-index:2}
.bilibili-shell .buffer-state{font-variant-numeric:tabular-nums;color:#91a7b8;font-size:10px;white-space:nowrap;min-width:62px}
.bilibili-shell .dm-arrival{position:absolute;top:16px;right:16px;z-index:5;pointer-events:none;color:#fff;border-radius:25px;padding:7px 13px;background:rgba(10,17,30,.65);border:1px solid #9aafc345;font-size:13px;box-shadow:0 3px 12px #0005}
.bilibili-shell .dm-arrival[hidden]{display:none!important}
@media(max-width:850px){.bilibili-shell .buffer-state{font-size:9px;min-width:auto}.bilibili-shell .dm-arrival{top:9px;right:9px;padding:5px 9px;font-size:11px}}

.bilibili-shell #videoProgress::-webkit-slider-runnable-track{height:4px;border-radius:5px;background:linear-gradient(to right,#00a1d6 0 var(--played,0%),#9ca7b1 var(--played,0%) var(--buffered,0%),#354254 var(--buffered,0%) 100%)}
.bilibili-shell #videoProgress::-moz-range-track{height:4px;border-radius:5px;background:linear-gradient(to right,#00a1d6 0 var(--played,0%),#9ca7b1 var(--played,0%) var(--buffered,0%),#354254 var(--buffered,0%) 100%)}

/* v1.1.3: cursor-out auto hide, keyboard-visible focus remains reachable. */
.bilibili-shell .player-toolbar{transition:opacity .2s ease,transform .2s ease,visibility .2s ease}
.bilibili-shell.controls-hidden .player-toolbar{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(14px)}
.bilibili-shell.controls-hidden .player-settings{display:none!important}
.bilibili-shell .player-toolbar:focus-within{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important}
@media(hover:none){.bilibili-shell .player-toolbar{transition-duration:.15s}}

/* v1.1.4 - Mobile-first external options + fullscreen gesture controls */
.player-column>.player-outside-controls{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin:12px 0 0;padding:11px 12px;background:#141b24;border:1px solid #2b3747;border-radius:12px;color:#d6e5f5}
.player-outside-controls button{border-color:#364557;background:#202b39;color:#e7f0ff;font-size:12px;min-height:35px;padding:6px 11px;border-radius:8px;white-space:nowrap}
.player-outside-controls button:hover{color:#8bd9ff;background:#2b394c}
.player-outside-controls .speed-select{display:flex;align-items:center;gap:7px;min-width:0;color:#d6e5f5;font-size:12px;white-space:nowrap}
.player-outside-controls select{width:auto;min-width:66px;min-height:35px;padding:5px 9px;color:#f1f6ff;background:#202b39;border:1px solid #364557;border-radius:8px;font-size:12px}
.player-outside-controls .dm-control{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#e7f0ff;white-space:nowrap;margin:0 2px;cursor:pointer}
.player-outside-controls .dm-control input{height:16px;width:16px;accent-color:#00a1d6}
.player-column>.player-outside-settings{background:#171f2a;border:1px solid #324357;border-radius:12px;margin:8px 0 12px;padding:15px 17px;color:#eef5ff;box-shadow:0 8px 24px #0004}
.player-outside-settings[hidden]{display:none!important}
.player-outside-settings strong{display:block;font-size:13px;color:#9cdfff;margin-bottom:9px}
.player-outside-settings label{display:block;color:#c5d5e7;font-size:12px;margin:12px 0}
.player-outside-settings output{float:right;color:#8ad8ff}
.player-outside-settings input[type=range]{display:block;width:100%;max-width:520px;height:16px;margin:7px 0;padding:0;border:0;background:transparent;accent-color:#00a1d6}
.player-outside-settings p{font-size:11px;margin:5px 0;color:#a9b9cb}
.bilibili-shell .video-gesture-surface{position:absolute;inset:0;z-index:4;touch-action:none;user-select:none;-webkit-user-select:none;cursor:pointer;background:transparent;outline:0}
.bilibili-shell .video-gesture-surface:focus-visible{box-shadow:inset 0 0 0 2px #70bce7}
.bilibili-shell .player-toolbar{z-index:10}
.bilibili-shell .dm-arrival{z-index:6}
.bilibili-shell .player-status{z-index:6;pointer-events:none}
.bilibili-shell .gate{z-index:12}
.bilibili-shell .gesture-tip{position:absolute;z-index:11;left:50%;top:48%;transform:translate(-50%,-50%);pointer-events:none;background:#070d17b8;color:#fff;padding:12px 16px;border-radius:10px;font-size:15px;white-space:nowrap;max-width:94%;text-align:center}
.bilibili-shell .sound-start{position:absolute;z-index:9;top:55%;left:50%;transform:translate(-50%,-50%);background:#00a1d6;color:white;border:0;border-radius:24px;padding:9px 20px;font-size:14px;white-space:nowrap}
.bilibili-shell .sound-start[hidden],.bilibili-shell .gesture-tip[hidden]{display:none!important}
.bilibili-shell .dm-overlay{inset:0 0 60px;z-index:2}
.bilibili-shell .player-toolbar .player-volume{display:flex!important}
.bilibili-shell #toggleMute{display:inline-flex!important;font-size:18px;min-width:30px}
.bilibili-shell #fullScreen{font-size:13px;min-height:36px;min-width:72px}
.bilibili-shell:fullscreen,.bilibili-shell:-webkit-full-screen{aspect-ratio:auto!important;width:100vw!important;height:100dvh!important;max-height:none!important;background:#000!important;border:0!important;border-radius:0!important;overflow:hidden}
.bilibili-shell:fullscreen video,.bilibili-shell:-webkit-full-screen video{width:100%!important;height:100%!important;object-fit:contain!important}
.bilibili-shell:fullscreen .player-toolbar,.bilibili-shell:-webkit-full-screen .player-toolbar{padding:35px max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))!important;bottom:0!important}
.bilibili-shell:fullscreen .player-seek-row,.bilibili-shell:-webkit-full-screen .player-seek-row{min-height:23px;display:block!important}
.bilibili-shell:fullscreen .player-time,.bilibili-shell:-webkit-full-screen .player-time{font-size:13px}
.bilibili-shell:fullscreen .player-controls-spacer,.bilibili-shell:-webkit-full-screen .player-controls-spacer{flex:1}
.bilibili-shell:fullscreen #fullScreen,.bilibili-shell:-webkit-full-screen #fullScreen{min-width:90px}
@media(max-width:700px){
  .player-column>.player-outside-controls{gap:7px;margin-top:9px;padding:10px 9px}
  .player-outside-controls button{padding:5px 9px;font-size:11px;min-height:33px}
  .player-outside-controls select{font-size:11px;min-height:33px;min-width:58px;padding:4px 6px}
  .bilibili-shell .player-toolbar{padding:20px 7px 7px!important}
  .bilibili-shell .player-toolbar-main{gap:4px!important}
  .bilibili-shell .player-toolbar .player-volume{display:none!important}
  .bilibili-shell .player-toolbar #seekBack,.bilibili-shell .player-toolbar #seekForward{display:none!important}
  .bilibili-shell .player-time{font-size:10px}
  .bilibili-shell #fullScreen{padding:3px 10px;font-size:12px;min-width:66px}
  .bilibili-shell .buffer-state{font-size:9px}
}
@media(hover:fine) and (pointer:fine){
  .bilibili-shell .video-gesture-surface{pointer-events:none}
}

/* v1.1.5 ranking, aggregation, mobile fullscreen episodes, outside skip options */
.source-badge{position:absolute;top:10px;right:9px;background:#0078a9e8;color:white;font-size:10px;padding:3px 7px;border-radius:6px;z-index:2}
.alternate-sources{display:flex;gap:9px;align-items:center;flex-wrap:wrap;background:#111d29;border:1px solid #27394b;padding:10px 14px;margin:12px 0;border-radius:10px}
.alternate-sources strong{font-size:12px;color:#b6d9fa;margin-right:8px}
.rank-tabs{display:flex;flex-wrap:wrap;gap:8px;padding:13px 0}
.ranking-hero{margin:30px 0 8px}.ranking-hero h1{margin-bottom:9px}
.rank-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}
.rank-card{display:flex;align-items:center;gap:14px;background:#121e2b;border:1px solid #273446;border-radius:12px;padding:11px;min-width:0}
.rank-number{font-weight:800;font-size:24px;color:#89cced;min-width:35px;text-align:center}
.rank-card:nth-child(-n+3) .rank-number{color:#f2cf8e}
.rank-poster{width:65px;height:90px;border-radius:7px;overflow:hidden;flex-shrink:0;background:#243448}
.rank-poster img{width:100%;height:100%;object-fit:cover}
.rank-content{min-width:0;display:flex;flex-direction:column;gap:5px}
.rank-content strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rank-content span,.rank-content small{font-size:11px;color:#97afc3}
.skip-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 18px;align-items:center}
.skip-options label{margin:8px 0}.skip-options .skip-check{display:flex;align-items:center;gap:8px;flex-direction:row}
.skip-options input[type=number]{max-width:160px;padding:7px 9px}.skip-options input[type=checkbox]{width:17px;height:17px}
.bilibili-shell .full-extra-controls{display:none;position:absolute;right:16px;top:16px;z-index:13;gap:7px}
.bilibili-shell.is-fullscreen .full-extra-controls,.bilibili-shell.pseudo-fullscreen .full-extra-controls{display:flex}
.bilibili-shell .full-extra-controls[hidden]{display:none!important}
.bilibili-shell .full-extra-controls button,.full-episode-drawer button{color:white;background:#071728b9;border:1px solid #b6d9fa55;padding:5px 10px;border-radius:7px;min-height:36px}
.bilibili-shell .full-episode-drawer{position:absolute;right:0;top:0;bottom:0;width:min(380px,83vw);z-index:16;background:#091523f2;box-shadow:-8px 0 30px #000a;padding:17px;overflow-y:auto;overscroll-behavior:contain}
.bilibili-shell .full-episode-drawer[hidden]{display:none!important}
.full-episode-drawer-header{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:15px}
.full-episode-drawer-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:18px}
.full-episode-drawer-list>a{display:block;text-align:center;padding:8px 3px;font-size:11px;border-radius:6px;background:#192f43;color:#e3f2ff;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.full-episode-drawer-list>a.selected{background:#007daf}
.full-episode-line{grid-column:1/-1;margin-top:10px;color:#b9d1e6}
.player-shell.pseudo-fullscreen{position:fixed!important;inset:0!important;height:100dvh!important;width:100vw!important;max-height:none!important;aspect-ratio:auto!important;z-index:99999!important;margin:0!important;border-radius:0!important}
.player-shell.pseudo-fullscreen video{height:100%!important}
body.player-has-pseudo-fullscreen{overflow:hidden!important}
.bilibili-shell.is-fullscreen .player-toolbar,.bilibili-shell.pseudo-fullscreen .player-toolbar{z-index:12}
.bilibili-shell.is-fullscreen .full-episode-drawer,.bilibili-shell.pseudo-fullscreen .full-episode-drawer{pointer-events:auto}
@media(max-width:700px){.rank-grid{grid-template-columns:1fr}.rank-number{font-size:19px;min-width:28px}.rank-poster{width:56px;height:78px}.skip-options{grid-template-columns:1fr 1fr}.bilibili-shell .video-gesture-surface{pointer-events:auto!important}.bilibili-shell .full-extra-controls{right:9px;top:9px}.full-episode-drawer-list{grid-template-columns:repeat(3,minmax(0,1fr))}}

.player-outside-controls .player-feedback{color:#ffdaad;border-color:#f9a64e55;background:#7d4b201c}
.player-outside-controls .player-feedback[hidden]{display:none!important}
.player-outside-controls .player-feedback:disabled{opacity:.5}

/* v1.1.7: one timeline; speed, settings and fullscreen aligned after volume. */
.bilibili-shell .player-seek-row{height:18px!important}
.bilibili-shell .player-seek-row input{height:8px!important;margin:5px 0 5px!important}
.bilibili-shell #videoProgress{width:100%;appearance:none;-webkit-appearance:none;background:transparent!important}
.bilibili-shell #videoProgress::-webkit-slider-runnable-track{height:6px!important;border-radius:6px!important;background:linear-gradient(90deg,#00a1d6 0 var(--played,0%),#8b99ab var(--played,0%) var(--buffered,0%),#354254 var(--buffered,0%) 100%)!important}
.bilibili-shell #videoProgress::-moz-range-track{height:6px!important;border-radius:6px!important;background:linear-gradient(90deg,#00a1d6 0 var(--played,0%),#8b99ab var(--played,0%) var(--buffered,0%),#354254 var(--buffered,0%) 100%)!important}
.bilibili-shell .player-toolbar-main{display:flex;align-items:center;gap:7px;flex-wrap:nowrap!important;min-width:0}
.bilibili-shell .player-toolbar-main #toggleMute{flex-shrink:0}
.bilibili-shell .player-toolbar-main .speed-select{display:flex;align-items:center;gap:3px;white-space:nowrap;flex-shrink:0;font-size:11px}
.bilibili-shell .player-toolbar-main #playerSettingsButton,.bilibili-shell .player-toolbar-main #fullScreen{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;flex-shrink:0;min-width:0;padding:5px 8px;font-size:12px}
.bilibili-shell .player-toolbar-main .player-time{white-space:nowrap}
.bilibili-shell .player-toolbar-main .buffer-state{font-size:9px;min-width:0}
.bilibili-shell .player-outside-settings{position:absolute;bottom:78px;right:12px;z-index:20;background:#171f2af5;border:1px solid #324357;border-radius:12px;padding:14px;max-height:65%;overflow:auto;width:min(390px,calc(100% - 24px));box-shadow:0 8px 26px #0008}
.bilibili-shell .player-outside-settings[hidden]{display:none!important}
.bilibili-shell .player-outside-settings strong{display:block;font-size:13px;color:#9cdfff}
.bilibili-shell .player-outside-settings label{display:block;color:#e1eaf5;font-size:12px;margin:9px 0}
.bilibili-shell .player-outside-settings input[type=range]{display:block;width:100%;max-width:100%;accent-color:#00a1d6}
.bilibili-shell .player-outside-settings input[type=number]{max-width:90px}
.bilibili-shell .player-outside-settings output{float:right}
@media(max-width:700px){
 .bilibili-shell .player-toolbar-main{gap:2px!important}
 .bilibili-shell .player-toolbar-main .buffer-state{display:none}
 .bilibili-shell .player-toolbar-main .player-time{font-size:9px}
 .bilibili-shell .player-toolbar-main .speed-select{font-size:0}
 .bilibili-shell .player-toolbar-main .speed-select select{width:49px!important;font-size:10px!important}
 .bilibili-shell .player-toolbar-main #playerSettingsButton{font-size:0;padding:4px 5px;min-width:28px}
 .bilibili-shell .player-toolbar-main #playerSettingsButton::first-letter{font-size:16px}
 .bilibili-shell .player-toolbar-main #fullScreen{font-size:10px;min-width:45px;padding:4px 5px}
 .bilibili-shell .player-outside-settings{bottom:65px}
}

/* Fullscreen episode controls remain alongside volume, speed and fullscreen. */
.bilibili-shell .player-toolbar-main .full-extra-controls{position:static!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;z-index:auto;flex-shrink:0;align-items:center;gap:4px}
.bilibili-shell .player-toolbar-main .full-extra-controls button{font-size:11px;min-height:29px;padding:4px 6px;border-radius:6px;white-space:nowrap}
.bilibili-shell .player-toolbar-main .full-extra-controls[hidden]{display:none!important}
@media(max-width:700px){.bilibili-shell .player-toolbar-main .full-extra-controls{gap:2px}.bilibili-shell .player-toolbar-main .full-extra-controls button{font-size:10px;min-height:26px;padding:3px 4px}.bilibili-shell .player-toolbar-main #playerSettingsButton .settings-label{display:none}}

/* RdfPlayer-style tabbed settings panel */
.player-outside-settings .settings-tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:10px;border-bottom:1px solid #324357;padding-bottom:8px}
.player-outside-settings .settings-tabs button{border:1px solid #324357;background:#111a25;color:#a9c2da;border-radius:7px;padding:5px 11px;font-size:12px;cursor:pointer}
.player-outside-settings .settings-tabs button.active{background:#00a1d6;border-color:#00a1d6;color:#fff}
.player-outside-settings .settings-pane{font-size:12px}
.player-outside-settings .settings-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.player-outside-settings .settings-row span{color:#c5d5e7}
.player-outside-settings select{background:#111a25;color:#e8f2fb;border:1px solid #324357;border-radius:7px;padding:6px 8px;font-size:12px;max-width:170px}
.player-outside-settings .settings-actions{display:flex;gap:7px;flex-wrap:wrap;margin:11px 0 4px}
.player-outside-settings .settings-actions button{border:1px solid #324357;background:#111a25;color:#dbe9f7;border-radius:7px;padding:7px 11px;font-size:12px;cursor:pointer;white-space:nowrap}
.player-outside-settings .settings-actions button:active{background:#00a1d6;border-color:#00a1d6;color:#fff}
.player-outside-settings .settings-option-list{display:flex;flex-direction:column;gap:2px;max-height:260px;overflow:auto}
.player-outside-settings .settings-option-list button{display:block;width:100%;text-align:left;border:0;background:transparent;color:#d7e6f5;border-radius:7px;padding:8px 10px;font-size:12px;cursor:pointer}
.player-outside-settings .settings-option-list button:hover{background:#1c2938}
.player-outside-settings .settings-option-list button.selected{background:#00a1d6;color:#fff}
.player-outside-settings .settings-option-list small{display:block;color:#8aa0b6;font-size:10px;margin-top:2px}
.player-outside-settings .settings-option-list button.selected small{color:#d8f4ff}
.stream-info{display:grid;grid-template-columns:1fr;gap:5px;color:#c5d5e7}
.stream-info .info-row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #243447;padding:3px 0}
.stream-info .info-row b{color:#7fe3ff;font-weight:600}
/* Lock screen layer */
.lock-layer{position:absolute;inset:0;z-index:40;background:#000b;display:flex;align-items:center;justify-content:center;border-radius:inherit}
.lock-layer[hidden]{display:none!important}
.lock-unlock{background:transparent;border:0;color:#fff;font-size:46px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px}
.lock-unlock small{font-size:13px;color:#cfe2f5}
.player-outside-settings:fullscreen{position:static!important}

/* v1.1.8: single bottom controller row, in-player speed popup and danmaku button. */
.bilibili-shell .player-toolbar-main{display:flex!important;align-items:center;gap:5px!important;flex-wrap:nowrap!important;min-width:0}
.bilibili-shell .player-controls-spacer{display:block;flex:1 1 auto;min-width:4px}
.bilibili-shell #dmToggle{display:inline-flex;justify-content:center;align-items:center;min-width:31px;min-height:29px;color:#edf1fa;font-weight:750;font-size:15px}
.bilibili-shell #dmToggle[aria-pressed="true"]{color:#00bcf0;background:#104f68a8!important}
.bilibili-shell .speed-popup{position:relative;flex-shrink:0;display:flex;align-items:center}
.bilibili-shell #speedMenuButton{white-space:nowrap;font-size:12px;min-width:69px}
.bilibili-shell .speed-popup-options{position:absolute;z-index:30;bottom:calc(100% + 14px);right:0;min-width:94px;background:#111b2bed;border:1px solid #38546d;border-radius:11px;box-shadow:0 14px 30px #000b;display:grid;gap:2px;padding:7px;max-height:min(55vh,360px);overflow:auto}
.bilibili-shell .speed-popup-options[hidden]{display:none!important}
.bilibili-shell .speed-popup-options .speed-option{display:block;width:100%;text-align:center;background:transparent!important;border-radius:6px;min-height:31px;font-size:12px}
.bilibili-shell .speed-popup-options .speed-option.selected{color:#00bdf1;background:#154c63!important}
.bilibili-shell #playerSettingsButton,.bilibili-shell #fullScreen{flex-shrink:0;min-width:0;white-space:nowrap}
.bilibili-shell #fullScreen{min-width:0!important}
.bilibili-shell .player-toolbar{overflow:visible!important}
@media(max-width:700px){
 .bilibili-shell .player-toolbar-main{gap:1px!important}
 .bilibili-shell #speedMenuButton{font-size:11px;min-width:52px;padding:3px 3px}
 .bilibili-shell #dmToggle{min-width:25px;padding:3px 2px;font-size:13px}
 .bilibili-shell #playerSettingsButton,.bilibili-shell #fullScreen{font-size:11px;padding:3px 3px!important}
 .bilibili-shell .settings-label{display:none}
 .bilibili-shell .buffer-state{display:none}
 .bilibili-shell .player-toolbar .player-volume{display:none!important}
}
@media(max-width:390px){.bilibili-shell #toggleMute{min-width:24px;padding:2px!important}.bilibili-shell .player-time{font-size:9px}.bilibili-shell #speedMenuButton{min-width:43px}}

/* Extra controls stay visible regardless of fullscreen controls. */
.player-outside-controls{overflow:visible;position:relative}
.skip-menu-wrap{position:relative;display:inline-flex;flex-shrink:0}
.skip-menu-wrap .skip-menu{position:absolute;z-index:60;top:calc(100% + 8px);left:0;min-width:220px;width:min(290px,calc(100vw - 40px));background:#182331;border:1px solid #3a526b;border-radius:12px;padding:13px;display:grid;gap:10px;box-shadow:0 14px 30px #000a}
.skip-menu-wrap .skip-menu[hidden]{display:none!important}
.skip-menu strong{font-size:13px;color:#f0f6ff}
.skip-menu small{font-size:11px;color:#a7c0da}
.skip-menu label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:#e1ebf7}
.skip-menu input[type=number]{width:76px;min-width:76px;max-width:76px;border:1px solid #43566b;border-radius:7px;background:#101923;color:#fff;padding:6px 7px;font-size:13px}
@media(max-width:700px){.skip-menu-wrap .skip-menu{left:auto;right:0;max-width:calc(100vw - 32px)}}

/* v1.2.0: source switcher is visible beside episodes while playing. */
.player-source-switch {display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:10px 0 15px;}
.player-source-switch strong {width:100%;}
.player-source-switch .chip {max-width:100%; white-space:normal; overflow-wrap:anywhere;}

.player-outside-controls{position:relative;overflow:visible}

.password-generate{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:5px 0 10px}
.password-generate button{padding:8px 10px;border-radius:7px}.password-generate small{font-size:12px}

/* Captcha stays clearly readable at native image resolution. */
.captcha-line img{width:172px;height:54px;object-fit:contain}

@media(max-width:390px){.captcha-line img{width:140px;height:46px}.captcha-line input{min-width:0}}


/* v1.2.7 mobile Edge fullscreen fit: hide fullscreen episode shortcuts, keep
   exit at the far right and never push it outside the row. */
.bilibili-shell.is-fullscreen .full-extra-controls{display:none!important}
.bilibili-shell.is-fullscreen .player-toolbar{
  box-sizing:border-box!important;
  max-width:100%!important;
  padding:clamp(13px,3.5vh,30px) max(6px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left))!important;
  bottom:0!important;
}
.bilibili-shell.is-fullscreen .player-toolbar-main{
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:clamp(2px,0.8vw,6px)!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.bilibili-shell.is-fullscreen .player-toolbar-main > *{min-width:0}
.bilibili-shell.is-fullscreen #videoTogglePlay,
.bilibili-shell.is-fullscreen #toggleMute,
.bilibili-shell.is-fullscreen #dmToggle{flex:0 0 auto!important}
.bilibili-shell.is-fullscreen .player-time{
  flex:0 1 auto!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:clamp(9px,2vw,12px)!important;
}
.bilibili-shell.is-fullscreen .buffer-state,
.bilibili-shell.is-fullscreen .player-volume{display:none!important}
.bilibili-shell.is-fullscreen .player-controls-spacer{
  display:block!important;flex:1 1 0!important;min-width:0!important;
}
.bilibili-shell.is-fullscreen #speedMenuButton{
  min-width:0!important;max-width:74px!important;padding:4px 5px!important;
  font-size:clamp(10px,2vw,12px)!important;
}
.bilibili-shell.is-fullscreen #playerSettingsButton{
  flex:0 0 auto!important;padding:4px 5px!important;min-width:28px!important;
}
.bilibili-shell.is-fullscreen #playerSettingsButton .settings-label{display:none!important}
.bilibili-shell.is-fullscreen #fullScreen{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 42px!important;
  width:42px!important;
  max-width:42px!important;
  min-width:42px!important;
  padding:4px!important;
  min-height:40px!important;
  margin-left:auto!important;
  font-size:22px!important;
  line-height:1!important;
  position:relative;
  z-index:20;
  white-space:nowrap!important;
}
@media(max-width:390px){
  .bilibili-shell.is-fullscreen .player-toolbar-main{gap:2px!important}
  .bilibili-shell.is-fullscreen #speedMenuButton{font-size:10px!important;padding:2px!important}
  .bilibili-shell.is-fullscreen #dmToggle{min-width:23px!important;padding:3px 2px!important}
  .bilibili-shell.is-fullscreen #playerSettingsButton{min-width:25px!important;padding:3px!important}
  .bilibili-shell.is-fullscreen #fullScreen{flex-basis:40px!important;min-width:40px!important;width:40px!important;max-width:40px!important}
}

/* ===== 内置播放器（ArtPlayer / DPlayer）布局 ===== */
.builtin-shell.builtin-shell{background:#000}
.builtin-shell .builtin-stage{position:absolute;inset:0;width:100%;height:100%}
.builtin-shell .artplayer-app,
.builtin-shell .dplayer-stage{position:absolute;inset:0;width:100%;height:100%}
.builtin-shell .builtin-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:20;background:#000}
.builtin-shell .builtin-loading img{width:64px;height:64px}
/* 后台功能开关：一行4个，横向排列 */
.toggle-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 16px;margin:14px 0}
.toggle-grid .toggle-row{margin:0;flex-direction:row;align-items:center;gap:9px}
.toggle-row{display:flex;flex-direction:row;align-items:center;gap:9px;margin:12px 0}
.toggle-row input[type=checkbox]{width:18px;height:18px;flex:none;margin:0}
.toggle-row span{font-size:13px;color:#e6ede6}
.toggle-row small{flex-basis:100%}
@media(max-width:700px){.toggle-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}


/* ========== 内置 ArtPlayer 控制栏 B 站风弹幕条 ========== */
.art-controls .art-control-dmbar{flex:1 1 0% !important;min-width:0 !important;max-width:100% !important}
.art-controls-right{flex:1 1 0% !important;min-width:0 !important;justify-content:flex-end}
.art-controls-left{flex:0 0 auto !important;min-width:0 !important}
.bili-dmbar{position:relative;display:flex;align-items:center;gap:7px;width:100%;min-width:0}
.bili-btn{flex:none;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.85);cursor:pointer;user-select:none}
.bili-btn:hover{color:#fff}
/* “弹”字开关 */
.dm-toggle{width:34px;height:30px;border-radius:8px;font-size:15px;font-weight:700;background:rgba(255,255,255,.14);color:rgba(255,255,255,.75);padding:0}
.dm-toggle.on{background:var(--theme,#165DFF);color:#fff}
.dm-input{flex:1 1 auto;min-width:0;max-width:300px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.16);border-radius:16px;padding:6px 14px;color:#fff;font-size:13px;outline:none}
.dm-input::placeholder{color:rgba(255,255,255,.6)}
.dm-input:focus{background:rgba(255,255,255,.22)}
.dm-send{flex:none;height:30px;display:flex;align-items:center;justify-content:center;background:var(--theme,#165DFF);border:0;border-radius:999px;padding:0 17px;color:#fff;font-size:13px;line-height:1;cursor:pointer;transition:filter .15s,background .15s}
.dm-send:hover{filter:brightness(1.08)}
/* AI 按钮：发送后、与发送等高的胶囊 */
.ai-btn{height:30px;min-width:42px;border-radius:999px;font-weight:800;font-size:15px;letter-spacing:.5px;background:rgba(255,255,255,.12);color:rgba(255,255,255,.8);padding:0 14px;transition:filter .15s,background .15s}
.ai-btn.on{color:#fff;background:linear-gradient(135deg,#00c853,#00a0a0)}
.art-video-player.dm-off .dm-toggle{background:rgba(255,255,255,.08);color:rgba(255,255,255,.4)}
.art-video-player.dm-off .dm-input{background:rgba(255,255,255,.06);color:rgba(255,255,255,.45)}
@media(max-width:700px){
  .art-video-player:not(.art-fullscreen):not(.art-fullscreen-web) .dm-input,
  .art-video-player:not(.art-fullscreen):not(.art-fullscreen-web) .dm-send{display:none}
  .dm-input{max-width:none}
  .bili-dmbar{gap:5px}
}

/* ========== 右下角竖向倍速菜单 ========== */
.art-controls .art-control-speedctl{flex:0 0 auto !important}
.bili-speed{position:relative;display:flex;align-items:center}
.speed-btn{display:flex;align-items:center;justify-content:center;min-width:44px;height:30px;color:rgba(255,255,255,.85);cursor:pointer;font-size:14px;border-radius:8px;padding:0 8px;user-select:none}
.speed-btn:hover{color:#fff;background:rgba(255,255,255,.12)}
.speed-panel{position:absolute;right:0;bottom:42px;width:104px;background:rgba(18,20,26,.95);border:1px solid rgba(255,255,255,.12);border-radius:12px;overflow:hidden;display:none;z-index:60;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.speed-panel.show{display:block}
.speed-list{display:flex;flex-direction:column}
.speed-list span{padding:11px 0;text-align:center;color:#e6e6e6;font-size:15px;cursor:pointer}
.speed-list span:hover{background:rgba(255,255,255,.08)}
.speed-list span.cur{color:#00aeec;font-weight:700}
.speed-title{text-align:center;padding:9px 0;font-size:13px;color:#bbb;border-top:1px solid rgba(255,255,255,.08)}
/* 长按 3 倍速：屏幕中央只显示「3x播放中」，半透明（50%），无背景框、不加载底部控制栏 */
.art-fast-tip{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:60;display:none;align-items:center;justify-content:center;color:#fff;pointer-events:none;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.art-fast-tip.show{display:flex;opacity:.5}
.art-fast-tip b{font-size:40px;font-weight:700;letter-spacing:2px}
/* 长按倍速期间：强制隐藏底部控制栏（含进度条）、遮罩、右上角按钮，只保留中央提示 */
.art-video-player.art-fast-pressing .art-bottom,
.art-video-player.art-fast-pressing.art-control-show .art-bottom,
.art-video-player.art-fast-pressing.art-paused .art-bottom{opacity:0 !important;transform:translateY(100%) !important;pointer-events:none !important}
.art-video-player.art-fast-pressing .art-mask,
.art-video-player.art-fast-pressing.art-control-show .art-mask,
.art-video-player.art-fast-pressing.art-mask-show .art-mask{opacity:0 !important}
.art-video-player.art-fast-pressing .art-topright-bar{opacity:0 !important;pointer-events:none !important}

/* ========== 右上角固定按钮（投屏/画中画/更多） ========== */
.art-topright-bar{position:absolute;right:12px;top:12px;z-index:35;display:flex;gap:8px;opacity:0;pointer-events:none;transition:opacity .22s}
.art-video-player.art-hover .art-topright-bar,
.art-video-player.art-paused .art-topright-bar{opacity:1;pointer-events:auto}
.tr-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:rgba(0,0,0,.38);color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.tr-btn:hover{background:rgba(0,0,0,.62)}
/* 原生设置按钮被移到右上角，改成三点圆形 */
.art-topright-bar .tr-native-setting{width:38px;height:38px;min-width:38px;margin:0;padding:0;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(0,0,0,.38);color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:0}
.art-topright-bar .tr-native-setting:hover{background:rgba(0,0,0,.62)}
.art-topright-bar .tr-native-setting .art-icon{margin:0;display:flex;align-items:center;justify-content:center}
/* 右上角实时在线观众：简约字体、40% 透明度，跟随控制栏一起显隐 */
.tr-viewers{align-self:center;margin-right:6px;font-size:13px;font-weight:400;font-family:system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;color:#fff;opacity:.4;white-space:nowrap;letter-spacing:.5px;user-select:none;line-height:1}
@media (max-width:640px){.tr-viewers{font-size:12px;margin-right:4px}}
/* DPlayer 右上角实时在线观众：简约字体、40% 透明度，不拦截点击 */
.dp-viewers{position:absolute;right:12px;top:12px;z-index:20;font-size:13px;font-weight:400;font-family:system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;color:#fff;opacity:.4;letter-spacing:.5px;pointer-events:none;user-select:none;line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.6)}
@media (max-width:640px){.dp-viewers{font-size:12px}}
/* “更多”设置面板从右上角三按钮下方弹出 */
.art-video-player .art-settings{top:56px !important;bottom:auto !important;right:12px !important;transform-origin:100% 0 !important}

/* ========== 动态卡通笑脸小电视加载图（播放中快进缩小，初始放大） ========== */
.cartoon-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}
.art-loading .cartoon-loader{width:220px;height:150px}
.art-metaded .art-loading .cartoon-loader{width:150px;height:104px;transform:scale(.88)}
.cartoon-loader.big{width:260px;height:200px}
.cartoon-loader.big .cl-stage{transform:scale(1.3)}
.cl-stage{position:relative;width:120px;height:92px;transition:transform .2s}
.cl-tv{position:absolute;left:50%;top:18px;width:66px;height:64px;transform:translateX(-50%);animation:clBounce .55s infinite ease-in-out}
.cl-screen{display:block;width:100%;height:46px;border-radius:12px;background:linear-gradient(135deg,#2f8bff,#12d38e);border:3px solid #fff;box-sizing:border-box;position:relative;box-shadow:0 4px 14px rgba(0,0,0,.35)}
.cl-eye{position:absolute;top:11px;width:8px;height:8px;background:#fff;border-radius:50%;animation:clBlink 2.4s infinite}
.cl-eye::after{content:"";position:absolute;right:0;top:1px;width:3.5px;height:3.5px;background:#173a68;border-radius:50%}
.cl-e1{left:15px}
.cl-e2{right:15px}
.cl-mouth{position:absolute;left:50%;bottom:7px;width:16px;height:8px;border-bottom:2.5px solid #fff;border-radius:0 0 16px 16px;transform:translateX(-50%)}
.cl-antenna{position:absolute;top:-9px;width:3px;height:12px;background:#fff;border-radius:2px;z-index:0}
.cl-a1{left:16px;transform:rotate(-32deg)}
.cl-a2{right:16px;transform:rotate(32deg)}
.cl-leg{position:absolute;bottom:-14px;width:9px;height:17px;background:#fff;border-radius:4px;transform-origin:top center}
.cl-l1{left:16px;animation:clLeg1 .5s infinite linear}
.cl-l2{right:16px;animation:clLeg2 .5s infinite linear}
@keyframes clLeg1{0%{transform:rotate(32deg)}50%{transform:rotate(-32deg)}100%{transform:rotate(32deg)}}
@keyframes clLeg2{0%{transform:rotate(-32deg)}50%{transform:rotate(32deg)}100%{transform:rotate(-32deg)}}
@keyframes clBounce{0%,100%{top:18px}50%{top:8px}}
@keyframes clBlink{0%,92%,100%{transform:scaleY(1)}96%{transform:scaleY(.1)}}
.cl-ground{position:absolute;bottom:0;left:0;width:100%;height:3px;background:rgba(255,255,255,.4);border-radius:2px}
.cl-dots{display:flex;gap:6px}
.cl-dots i{width:8px;height:8px;border-radius:50%;background:#fff;animation:clDot 1s infinite}
.cl-dots i:nth-child(2){animation-delay:.2s}
.cl-dots i:nth-child(3){animation-delay:.4s}
@keyframes clDot{0%,100%{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-6px)}}
.cl-text{margin:0;color:#fff;font-size:13px;letter-spacing:1px}
.cartoon-loader.big .cl-text{font-size:15px}
.builtin-loading .cartoon-loader.big{color:#fff}

/* ========== 手势提示 & 移动端声音提示 ========== */
.art-gesture-tip{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:40;padding:10px 18px;background:rgba(0,0,0,.62);border-radius:10px;color:#fff;font-size:14px;opacity:0;pointer-events:none;transition:opacity .15s}
.art-gesture-tip.show{opacity:1}
.art-vol-hint{position:absolute;left:50%;top:12%;transform:translateX(-50%);z-index:50;background:rgba(0,0,0,.7);color:#fff;padding:10px 18px;border-radius:20px;font-size:13px;opacity:0;transition:opacity .3s;pointer-events:none;white-space:nowrap}
.art-vol-hint.show{opacity:1}

/* ========== 移动端“点击播放”首帧覆盖层（手势带声起播，不强制静音） ========== */
.art-tap-play{position:absolute;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;background:linear-gradient(180deg,rgba(0,0,0,.28),rgba(0,0,0,.46));opacity:0;pointer-events:none;transition:opacity .25s}
.art-tap-play.show{opacity:1;pointer-events:auto;cursor:pointer}
.art-tap-play .atp-inner{display:flex;flex-direction:column;align-items:center;gap:14px}
.art-tap-play .atp-btn{width:84px;height:84px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;background:rgba(0,0,0,.42);border:2px solid rgba(255,255,255,.85);box-shadow:0 6px 20px rgba(0,0,0,.35);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding-left:5px;transition:transform .15s}
.art-tap-play.show:active .atp-btn{transform:scale(.92)}
.art-tap-play .atp-text{color:#fff;font-size:16px;letter-spacing:2px;text-shadow:0 2px 8px rgba(0,0,0,.5)}

/* ===== 1.5.6 选集细滚动条（PC侧栏/选集网格/移动端全屏选集抽屉） ===== */
.episode-sidebar,.episode-grid,.bilibili-shell .full-episode-drawer{scrollbar-width:thin;scrollbar-color:rgba(244,198,0,.42) transparent}
.episode-sidebar::-webkit-scrollbar,.episode-grid::-webkit-scrollbar,.bilibili-shell .full-episode-drawer::-webkit-scrollbar{width:5px;height:5px}
.episode-sidebar::-webkit-scrollbar-track,.episode-grid::-webkit-scrollbar-track,.bilibili-shell .full-episode-drawer::-webkit-scrollbar-track{background:transparent}
.episode-sidebar::-webkit-scrollbar-thumb,.episode-grid::-webkit-scrollbar-thumb,.bilibili-shell .full-episode-drawer::-webkit-scrollbar-thumb{background:rgba(244,198,0,.32);border-radius:99px}
.episode-sidebar::-webkit-scrollbar-thumb:hover,.episode-grid::-webkit-scrollbar-thumb:hover,.bilibili-shell .full-episode-drawer::-webkit-scrollbar-thumb:hover{background:rgba(244,198,0,.62)}

/* ===== 后台 评论弹幕管理 类型标签 ===== */
.tag-dm,.tag-cmt{display:inline-block;padding:2px 8px;border-radius:5px;font-size:11px;white-space:nowrap}
.tag-dm{background:#f4c60018;color:var(--accent);border:1px solid #f4c60033}
.tag-cmt{background:#ffffff0d;color:var(--muted);border:1px solid var(--line)}

/* ===== 顶部观看记录 悬停下拉 ===== */
.history-hover{position:relative;display:flex;align-items:center}
.history-popup{position:absolute;top:calc(100% + 8px);right:0;width:330px;max-width:86vw;max-height:70vh;overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 50px rgba(0,0,0,.52);padding:8px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .16s,transform .16s,visibility .16s;z-index:80;scrollbar-width:thin;scrollbar-color:rgba(244,198,0,.4) transparent}
.history-popup:before{content:"";position:absolute;top:-10px;left:0;right:0;height:10px}
.history-hover:hover .history-popup,.history-hover:focus-within .history-popup{opacity:1;visibility:visible;transform:translateY(0)}
.hp-item{display:flex;gap:10px;align-items:center;padding:7px 8px;border-radius:9px}
.hp-item:hover{background:#ffffff0a}
.hp-item img{width:38px;height:52px;object-fit:cover;border-radius:6px;flex:none;background:#222}
.hp-meta{display:flex;flex-direction:column;min-width:0;gap:2px}
.hp-meta b{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hp-meta small{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hp-empty{padding:26px 10px;text-align:center;color:var(--muted);font-size:12px}
.hp-more{display:block;text-align:center;padding:9px 6px 6px;font-size:12px;color:var(--accent)}

/* ===== 顶部 白天/黑夜 切换按钮 ===== */
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:34px;min-width:34px;height:34px;padding:0;border-radius:50%;border:1px solid #44443a;background:transparent;color:#ccc}
.theme-toggle:hover{background:#ffffff0a}
.theme-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.theme-toggle .ic-sun{display:none}
:root[data-theme="light"] .theme-toggle .ic-sun{display:block}
:root[data-theme="light"] .theme-toggle .ic-moon{display:none}

/* ===== 白天（浅色）主题：覆盖 CSS 变量与少量硬编码深色表面；播放器/弹幕区保持深色 ===== */
:root[data-theme="light"]{--bg:#f3f1ea;--surface:#ffffff;--surface2:#efede4;--line:#e2ded2;--text:#222019;--muted:#6c6b60;--accent:#c59500;--ink:#ffffff;--gold:#c59500}
:root[data-theme="light"] body{background:#f3f1ea}
:root[data-theme="light"] .site-header{background:#fbfaf5f2;border-bottom-color:#e2ded2}
:root[data-theme="light"] .desktop-nav a{color:#55534a}
:root[data-theme="light"] .history-link{color:#444}
:root[data-theme="light"] .theme-toggle{color:#444;border-color:#cfcabd}
:root[data-theme="light"] .top-search{background:#ece9df}
:root[data-theme="light"] .top-search input{color:#222}
:root[data-theme="light"] .top-search button{color:#555}
:root[data-theme="light"] .catalog-filters{background:#fff;border-color:#e2ded2}
:root[data-theme="light"] .catalog-filter-row{border-bottom-color:#e6e3d8}
:root[data-theme="light"] .catalog-filter-row>.filter-label{background:#f4f2ea}
:root[data-theme="light"] .catalog-filter-row .chip:hover{background:#efece2}
:root[data-theme="light"] .episode{background:#f4f2e9;border-color:#e0dcd0;color:#333}
:root[data-theme="light"] .episode.current{background:#f4c6001a;color:#a67c00}
:root[data-theme="light"] .mobile-bottom-nav{background:#fbfaf5f7;border-top-color:#e2ded2}
:root[data-theme="light"] .mobile-bottom-nav a{color:#777}
:root[data-theme="light"] .hp-item:hover{background:#0000000a}
:root[data-theme="light"] .hp-item img{background:#eee}
:root[data-theme="light"] .tag-cmt{background:#0000000a}
:root[data-theme="light"] .site-footer{border-top-color:#e2ded2}
:root[data-theme="light"] .history-popup{box-shadow:0 18px 50px rgba(0,0,0,.16)}
@media(max-width:700px){:root[data-theme="light"] .site-header{background:#fbfaf5fa}}
:root[data-theme="light"] input,:root[data-theme="light"] textarea,:root[data-theme="light"] select{background:#fff;border-color:#dcd8cc;color:#222019}
:root[data-theme="light"] .top-search input{background:#ece9df}
:root[data-theme="light"] label{color:#3a3930}
:root[data-theme="light"] .art-video-player input,:root[data-theme="light"] .bilibili-shell input,:root[data-theme="light"] .art-video-player textarea,:root[data-theme="light"] .bilibili-shell textarea,:root[data-theme="light"] .art-danmuku-emitter input{background:#1a1a1a;color:#fff;border-color:#3a3a3a}
:root[data-theme="light"] .art-video-player input::placeholder,:root[data-theme="light"] .bilibili-shell input::placeholder,:root[data-theme="light"] .art-danmuku-emitter .art-danmuku-input::placeholder{color:#ffffff80}
@media(max-width:700px){.theme-toggle{width:30px;min-width:30px;height:30px}.theme-toggle svg{width:16px;height:16px}.history-popup{width:300px}}

