:root{--bg:#09090a;--bg2:#141517;--text:#fff;--text-muted:#666;--accent:#ff8c00;--btn-bg:#ffc904}body{background:var(--bg);color:var(--text);margin:0;min-height:100vh;padding:0}ol,ul{list-style:none}.app{min-height:100vh;padding-bottom:60px}.app,.header{display:flex;flex-direction:column}.header{align-items:stretch;background:var(--bg2);box-sizing:border-box;padding:10px 0 0;position:sticky;top:0;width:100%;z-index:10}.header-top{height:60px;justify-content:space-between;padding:0 10px}.header-top,.logo-link{align-items:center;display:flex}.logo-link{background:none;text-decoration:none}.logo-img{background:transparent;border:none;border-radius:100px;display:block;height:120px;-o-object-fit:contain;object-fit:contain;outline:none;width:120px}.header .logo span{color:var(--accent)}.header .menu-toggle{cursor:pointer;font-size:14px;margin-left:auto;padding:0}.nav-tabs{background:var(--bg);overflow-x:auto;padding:6px 8px}.nav-tabs .tab{color:var(--text-muted);cursor:pointer;flex-shrink:0;font-size:14px;margin-right:3px;white-space:nowrap}.feature-nav{background:var(--bg2);display:flex;justify-content:space-around;padding:10px 0}.feature-nav .item{align-items:center;color:var(--text);cursor:pointer;display:flex;flex-direction:column;font-size:12px}.feature-nav .item img{height:32px;margin-bottom:4px;width:32px}.category-grid{background:var(--bg);display:flex;flex-wrap:wrap;gap:3px;padding:3px}.category-grid .cat-btn{background:var(--bg2);border:none;border-radius:4px;box-sizing:border-box;color:var(--text);cursor:pointer;display:inline-block;flex:1 0 21%;font-size:13px;min-width:0;padding:10px 6px;text-align:center;text-decoration:none;word-break:break-all}.category-grid .cat-btn:hover{background:#1e1e22}@media (max-width:600px){.category-grid .cat-btn{flex:1 0 23%;max-width:24.3%}}.sub-tabs{background:var(--bg);display:flex;overflow-x:auto;padding:6px 8px}.sub-tabs .tab{color:var(--text-muted);cursor:pointer;flex-shrink:0;font-size:13px;margin-right:12px;white-space:nowrap}.sub-tabs .tab.active{border-bottom:2px solid var(--accent);color:var(--text)}.video-section{background:var(--bg);flex:1;overflow-y:auto;padding:3px}.video-list{box-sizing:border-box;display:flex;flex-wrap:wrap;gap:5px;margin:0;padding:0;width:100%}.video-item{box-sizing:border-box;flex:1 0 calc(50% - 10px);word-break:break-all;word-wrap:break-word;white-space:normal}@media (min-width:960px){.video-list{gap:20px}.video-item{flex:1 0 calc(25% - 20px)}}.video-thumb{border-radius:6px;overflow:hidden;position:relative}.video-thumb img{border-radius:5px;display:block;height:158px;width:100%}.video-thumb .playtime{background:#0009;border-radius:3px;bottom:4px;color:#fff;font-size:11px;padding:2px 4px;position:absolute;right:4px}.video-info{font-size:13px;line-height:1.2;margin-top:6px}.video-info .meta{color:var(--text-muted);font-size:11px;margin-top:2px}.overlay-btn{align-items:center;background:var(--btn-bg);border-radius:24px;bottom:64px;box-shadow:0 2px 6px #0000004d;color:#000;display:flex;font-size:14px;left:50%;padding:8px 16px;position:fixed;transform:translate(-50%);z-index:20}.overlay-btn img{margin-right:8px;width:24px}.audio-bar{align-items:center;bottom:56px;color:var(--text);font-size:12px;gap:8px;padding:6px 12px;z-index:15}.audio-bar,.bottom-nav{background:var(--bg2);display:flex;left:0;position:fixed;right:0}.bottom-nav{bottom:0;justify-content:space-around;padding:3px 0;z-index:100}.bottom-nav .nav-item{color:#fff;cursor:pointer;flex:1;font-size:12px;text-align:center}.bottom-nav .nav-item.active{color:var(--accent)}@media (max-width:600px){.category-grid .cat-btn{flex:1 0 calc(50% - 8px)}}@media (min-width:960px){body{background:var(--bg)}.app{background:var(--bg);border-radius:12px;box-shadow:0 0 30px #0000001a;margin:0 auto;max-width:960px;min-height:100vh;padding-bottom:60px;position:relative}.category-grid,.feature-nav,.header,.nav-tabs,.sub-tabs,.video-section{border-radius:0 0 12px 12px;box-sizing:border-box;margin:0 auto;max-width:960px;width:960px}.header{background:var(--bg2);border-radius:12px 0 0}.video-section{padding:5px 3px}.category-grid .cat-btn{flex:1 0 calc(12.5% - 8px)}.video-list{gap:5px}.video-item{flex:1 0 calc(25% - 20px);word-break:break-all;word-wrap:break-word;white-space:normal}.bottom-nav{border-radius:0 0 12px 12px;left:50%!important;transform:translate(-50%)!important;width:960px!important}.overlay-btn{left:50%;transform:translate(-50%)}}.pagination{align-items:center;background:var(--bg2);border-radius:14px;box-shadow:0 2px 16px #0002;display:flex;font-size:15px;gap:18px;justify-content:center;margin:14px 0 30px;min-height:44px;padding:8px 20px;position:relative;z-index:9}.pagination span{color:var(--text-muted);font-size:15px;letter-spacing:1px;min-width:90px;text-align:center}.pagination button{background:var(--accent);border:none;border-radius:9px;box-shadow:0 1px 4px #00000017;color:#fff;cursor:pointer;font-size:15px;font-weight:700;padding:7px 18px;transition:background .18s,color .18s,box-shadow .18s}.pagination button:hover:not(:disabled){background:#fff;box-shadow:0 2px 8px #ff8c001f;color:var(--accent)}.pagination button:disabled{background:#36353b!important;color:#aaa!important;cursor:not-allowed;opacity:.6}@media (max-width:600px){.pagination{font-size:13px;gap:8px;min-height:40px;padding:7px 6px}.pagination button{font-size:13px;padding:6px 12px}.pagination span{font-size:13px;min-width:50px}}.video-list .title a,.video-list .title a:active,.video-list .title a:hover,.video-list .title a:link,.video-list .title a:visited,.video-list .video-thumb,.video-list .video-thumb:active,.video-list .video-thumb:hover,.video-list .video-thumb:link,.video-list .video-thumb:visited{background:none!important;box-shadow:none!important;color:inherit!important;outline:none!important;text-decoration:none!important}.player-section{align-items:flex-start;display:flex;justify-content:center;padding:5px 0}.player-wrap{background:#14141eed;border-radius:16px;box-shadow:0 2px 24px #0003;padding:1px 1px 0 0;width:100%}.video-title{color:#fff;font-size:1.25em;font-weight:700;margin:7px}.video-meta{color:#aaa;font-size:14px;margin-bottom:8px;padding:0 7px 7px}.video-player{aspect-ratio:16/9;background:#000;border-radius:10px;display:block;margin:0 auto;width:100%}.player-section{background:#111;padding:3px 0}.player-wrap{background:#222;border-radius:18px;box-shadow:0 6px 32px #0005;margin:0 auto;max-width:960px}.video-meta{color:#eee;font-size:15px;margin-bottom:0;margin-top:8px}.video-js{height:320px!important;max-width:100%}.video-js video{background:#000;height:320px!important;-o-object-fit:contain;object-fit:contain}.user-card{box-shadow:0 2px 10px #0000004d;padding:20px}.user-card h2{font-size:20px;margin-bottom:12px}.user-card p{margin:6px 0}.logout-btn{background:var(--accent);border-radius:6px;margin-top:16px;padding:10px 20px}.loading{color:var(--text-muted);font-size:15px}.menu-toggle{color:#554b4b;font-size:14px}.menu-toggle .link{color:#ccbba7;cursor:pointer;margin:0 4px}.user-center{background:#121212;background-attachment:fixed;background-image:url(../img/bg.jpg);flex:1;padding:3px}.user-card{background:#1d1d1d;box-shadow:0 0 12px #0000004d;color:#f0f0f0}.card-header{align-items:center;display:flex;gap:16px;margin-bottom:10px;margin-top:10px}.avatar{border:2px solid #f90;border-radius:50%;height:72px;margin:0 0 0 5px;-o-object-fit:cover;object-fit:cover;width:72px}.info .nickname{font-size:20px;font-weight:700;padding:0 0 0 20px}.identity{color:#aaa;font-size:13px;margin-top:6px}.badge{background:#444;border-radius:4px;color:#ccc;display:inline-block;font-size:12px;margin-right:8px;padding:2px 6px}.badge.vip{background:#f90;color:#000;font-weight:700}.user-id{font-style:italic}.vip-expire{background:#2b2b2b;border-radius:8px;color:#f90;font-size:14px;margin-bottom:14px;padding:10px;text-align:center}.detail-list{color:#ddd;font-size:14px;padding:3px}.detail-list .item{border-bottom:1px solid #333;padding:18px 0}.logout-btn{background:#59544e;border:none;border-radius:8px;color:#000;cursor:pointer;font-size:16px;font-weight:700;margin-top:20px;padding:12px;width:100%}.logout-btn:hover{background:#ffb300}.loading{color:#888;padding:40px 0;text-align:center}.vip-action-btn{align-items:center;background:linear-gradient(90deg,#f90,#0288d1);border:none;border-radius:2em;box-shadow:0 2px 8px #0000001f;color:#fff;cursor:pointer;display:flex;font-size:1em;font-weight:600;justify-content:center;margin-left:10px;margin-right:10px;padding:.4em 1.5em;transition:background .25s,box-shadow .25s,transform .1s}.vip-action-btn:hover{background:linear-gradient(90deg,#f90,#26c6da);box-shadow:0 4px 16px #00000026;transform:translateY(-1px) scale(1.03)}.user-link{color:#964f4f;cursor:pointer;font-weight:500;text-decoration:none}.user-link:hover{color:#1769aa;text-decoration:none}.modal-mask{align-items:center;background:#0000007a;display:flex;justify-content:center;inset:0;position:fixed;z-index:99}.modal-dialog{background:#222;border-radius:12px;box-shadow:0 8px 32px #0000002e;color:#fff;min-width:260px;padding:2em 1.5em 1em}.modal-title{font-size:1.2em;font-weight:700;margin-bottom:1em}.input{background:#333;border:none;border-radius:6px;color:#fff;display:block;font-size:1em;margin-bottom:1em;padding:8px 10px;width:91.5%}.modal-actions{display:flex;justify-content:space-between}.cancel-btn,.ok-btn{background:linear-gradient(90deg,#26c6da,#0288d1);border:none;border-radius:6px;color:#fff;cursor:pointer;flex:1;font-weight:600;margin:0 4px;padding:.6em 0}.cancel-btn{background:#444}.pwd-msg{color:#ff9800;margin-top:.5em;text-align:center}.user-row{align-items:center;display:flex;justify-content:space-between}.change-pwd-link{border-radius:4px;color:#5d6063;cursor:pointer;font-size:.98em;padding:2px 3px;transition:background .2s,color .2s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.change-pwd-link:hover{color:#5d6063}.icon{height:1.15em;margin-right:5px;vertical-align:-.16em;width:1.15em;fill:none;stroke:#42a5f5;stroke-width:2}.user-row .icon{stroke:#42a5f5}.item .icon{stroke:#888}.user-card{background:var(--bg2);border-radius:12px;color:var(--text);padding:3px}.user-card h2{margin-top:0}.user-card input{background:#111;border:1px solid #333;border-radius:6px;color:#fff;font-size:16px;height:30px;margin-bottom:14px;padding:0;width:100%}.user-card button{background:#615d59;border:none;border-radius:6px;color:#000;cursor:pointer;font-size:16px;padding:12px;width:100%}.user-card button:disabled{cursor:not-allowed;opacity:.65}.user-card .tip{font-size:13px;margin-top:14px;text-align:center}.user-card .form-tip{color:#888;font-size:12px;margin-top:6px}.user-card .error{color:red;font-size:13px;margin-top:10px}.user-card .tip a{color:#1976d2;text-decoration:none}.nav-tabs{display:flex;gap:7px;height:25px}@media (min-width:768px){.nav-tabs{height:40px}}.nav-tabs .tab{background:transparent;border-radius:3px;color:#f90;font-weight:500;padding:3px 3x;text-decoration:none;transition:background .18s,color .18s}.vip-mask{background:#000000b8;height:100%;width:100%;z-index:100}.vip-msg{background:#000c;border:1px solid #ffd70030;border-radius:12px;padding:40px 28px 36px;text-align:center}.vip-tag{background:#111;border:1px solid #ffe033a0;border-radius:6px;color:#ffe033;display:inline-block;font-size:18px;font-weight:700;margin:0 2px;padding:1px 10px;vertical-align:middle}.vip-msg button{background:#ffe033;border:none;border-radius:5px;box-shadow:0 1px 6px #2224;color:#111;cursor:pointer;font-size:16px;font-weight:700;margin-top:18px;padding:10px 28px}.vip-btn-group{align-items:center;flex-direction:row;flex-wrap:nowrap;gap:14px;justify-content:center}.vip-btn.home-btn{background:#757165;color:#222}.vip-btn.home-btn:hover{background:gold;color:#111}.player-section{padding:12px 0}.player-error,.player-loading{color:#fff;font-size:22px;margin-top:10vh;text-align:center}.video-meta{color:#fff;font-size:16px;margin:14px 0 6px}.vip-badge{font-size:13px;margin-right:7px;padding:1px 8px 1px 7px}.vip-mask{align-items:center;background:#0a0a0aeb;border-radius:10px;display:flex;flex-direction:column;justify-content:center;inset:0;position:absolute;z-index:90}.vip-msg{color:#fff;font-size:20px;font-weight:700;letter-spacing:1px;margin-bottom:24px}.vip-btn-group{display:flex;gap:16px;margin-top:12px}.vip-btn{background:linear-gradient(#f38c6f,#ec435c);border:none;border-radius:5px;color:#111;cursor:pointer;font-size:18px;font-weight:700;margin:0 4px;padding:10px 36px}.home-btn{background:#eee;color:#333}.video-black-mask{align-items:center;background:#000;border-radius:10px;display:flex;height:100%;justify-content:center;left:0;pointer-events:none;position:absolute;top:0;transition:opacity .2s;width:100%;z-index:10}.loading-spinner{animation:spin 1s linear infinite;border:5px solid #fff3;border-radius:50%;border-top-color:#f90;height:48px;width:48px}@keyframes spin{to{transform:rotate(1turn)}}.search-btn{align-items:center;background:none;border:none;color:#bc1d1d;cursor:pointer;display:inline-flex;font-size:20px;margin-left:10px;padding:4px}.search-modal{align-items:center;background:#00000080;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:1999}.search-modal-box{align-items:center;background:#000;border-radius:10px;box-shadow:0 8px 40px #0003;display:flex;gap:12px;min-width:260px;padding:24px 20px;position:relative}.search-input{background:#000;border:1px solid #322d2d;border-radius:6px;color:#fff;flex:1;font-size:16px;outline:none;padding:8px 12px}.search-submit{background:#100e0e;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:15px;padding:7px 20px}.search-close{background:none;border:none;color:#bbb;cursor:pointer;font-size:19px;position:absolute;right:7px;top:7px}.url-modal-mask{align-items:center;background:#14141eb3;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:2999}.url-modal-box{animation:popin .2s;background:#262630fa;border-radius:18px;box-shadow:0 8px 44px #0003;color:#fafafd;max-width:96vw;min-width:320px;padding:28px 30px 25px;position:relative;text-align:left;width:370px}@keyframes popin{0%{opacity:0;transform:scale(1.04)}to{opacity:1;transform:none}}.url-modal-title{display:flex;font-size:25px;font-weight:700;justify-content:center;letter-spacing:2px;margin-top:-35px;text-align:center}.url-modal-content{color:#e5e7ef;font-size:16px;line-height:1.72;margin-top:-25px}.url-modal-close{align-items:center;background:#824b9c;border:none;border-radius:50%;box-shadow:0 2px 8px #0002;color:#fff;cursor:pointer;display:flex;font-size:23px;height:32px;justify-content:center;position:absolute;right:14px;top:14px;transition:background .16s;width:32px}.url-modal-close:hover{background:#a06fbc}.vip-badge{background:#f6b800;border-radius:3px;color:#fffbe6;display:inline-block;font-size:12px;font-weight:700;letter-spacing:1px;margin-right:6px;padding:1px 7px 1px 6px;vertical-align:middle}.history-block{margin-bottom:0}.history-grid{display:flex;flex-wrap:wrap;gap:3px 2px;margin-top:6px}.history-grid-item{align-items:flex-start;border-radius:6px;box-shadow:0 1px 6px #0001;display:flex;margin-bottom:6px;max-width:220px;min-width:160px;padding:8px 6px;width:calc(48.2% - 6px)}.history-thumb{background:#f0f0f0;border-radius:4px;flex-shrink:0;height:40px;-o-object-fit:cover;object-fit:cover;width:56px}.history-info{flex:1;margin-left:8px;min-width:0}.history-title{font-size:13px;font-weight:500;overflow:hidden;white-space:nowrap}.history-meta{color:#888;font-size:13px;margin:2px 0}.history-link{color:#059669;display:inline-block;font-size:13px;margin-top:2px;text-decoration:none}.history-link:hover{color:#1976d2}.history-more{margin-right:81px;margin-top:-58px;text-align:right;width:100%}.history-more a{color:#1976d2;font-size:13px;text-decoration:none}.fav-btn{outline:none;padding:6px 18px;transition:.2s}.video-meta-block{background:none;margin:7px 0}.video-title-row{align-items:center;color:#fff;display:flex;font-size:19px;font-weight:700;margin-bottom:6px;padding:0 1px 0 3px;word-break:break-all}.video-title-txt{font-size:14px;font-weight:700}.video-meta-bar{color:#eee;gap:12px;padding:1px 8px 1px 6px}.video-meta-bar,.video-meta-left{align-items:center;display:flex;font-size:15px}.video-meta-left{color:#ccc}.video-hits{color:#bc8e8e;font-size:15px;margin-right:8px}.video-meta-actions{align-items:center;display:flex;gap:10px}.fav-btn{align-items:center;background:#fff;border:1px solid #ddd;border-radius:6px;color:#888;cursor:pointer;display:inline-flex;font-size:15px;margin-right:2px;min-width:46px;padding:4px 13px 4px 7px;transition:all .18s}.fav-btn:disabled{cursor:not-allowed;opacity:.5}.fav-btn span{font-size:16px;margin-right:3px}.fav-btn:hover{background:#fffbe9;border-color:#e91e63;color:#e91e63}.fav-btn.fav-btn-icon{align-items:center;background:#fff;border-radius:50%;display:flex;font-size:22px;height:38px;justify-content:center;margin-right:2px;padding:3px 9px;transition:all .18s;width:38px}.fav-btn.fav-btn-icon span{font-size:22px;line-height:1;margin-right:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.fav-btn.fav-btn-icon:hover{background:#fffbe9;border-color:#e91e63;color:#e91e63}.fav-star,.like-heart{transition:color .18s}.like-heart{align-items:center;color:#bbb;cursor:pointer;display:inline-flex;font-size:20px;margin-left:8px;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle}.like-heart svg{display:inline-block;vertical-align:middle}.like-heart .like-count{color:#bbb;font-size:13px;margin-left:3px}.like-heart.liked svg path{fill:#f33!important}.like-heart.liked .like-count{color:#f33!important}.like-heart:hover svg path{fill:#f33}.like-heart:active svg path{fill:#e91e63}.fav-star{color:#bbb;cursor:pointer;font-size:20px;margin-left:8px;transition:color .18s,transform .22s cubic-bezier(.47,1.64,.41,.8);-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle}.fav-star.active{animation:starPop .38s;color:#f6b800}.fav-star:hover{color:#f6b800;transform:scale(1.18) rotate(-8deg)}.fav-star:active{color:#e91e63;transform:scale(1.28) rotate(14deg)}@keyframes starPop{0%{transform:scale(1) rotate(0)}35%{transform:scale(1.3) rotate(-14deg)}60%{transform:scale(1.1) rotate(9deg)}to{transform:scale(1) rotate(0)}}.change-nick-link{border-radius:4px;color:#5d6063;cursor:pointer;font-size:.98em;padding:2px 3px;transition:background .2s,color .2s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.change-nick-link .icon{height:1em;margin-left:3px;width:1em}
