*{box-sizing:border-box}html,body{margin:0;padding:0}body{font:13px Arial,Helvetica,sans-serif;color:#333;background:#f1f1f1;background-image:linear-gradient(#fff,#f2f2f2 140px,#e9e9e9);min-height:100vh}a{color:#167ac6;text-decoration:none}a:hover{text-decoration:underline}.wrap{width:1180px;max-width:calc(100% - 24px);margin:0 auto}.topbar{height:28px;background:#f8f8f8;border-bottom:1px solid #d4d4d4;font-size:12px}.topbar-inner{display:flex;align-items:center;gap:14px;height:28px}.topbar .spacer{flex:1}.theme-toggle{border:1px solid #bbb;background:linear-gradient(#fff,#e9e9e9);border-radius:2px;padding:3px 8px;color:#333;cursor:pointer}.masthead{background:#fff;border-bottom:1px solid #cfcfcf;box-shadow:0 1px 2px rgba(0,0,0,.08)}.masthead-grid{height:62px;display:grid;grid-template-columns:220px minmax(360px,1fr) 290px;gap:18px;align-items:center}.logo{display:inline-flex;align-items:center;font-weight:bold;font-size:29px;letter-spacing:-1.8px;color:#111;text-shadow:0 1px #fff}.logo:hover{text-decoration:none}.logo b{margin-left:3px;background:linear-gradient(#e11,#b40000);color:#fff;border-radius:8px;padding:4px 8px 5px;box-shadow:inset 0 1px rgba(255,255,255,.35);font-size:24px}.main-search{display:flex}.main-search input{flex:1;height:31px;border:1px solid #bbb;border-right:0;padding:0 10px;font-size:14px;box-shadow:inset 0 1px 2px rgba(0,0,0,.12)}.main-search button,.btn,.upload-btn{height:31px;border:1px solid #aaa;background:linear-gradient(#fff,#e2e2e2);border-radius:2px;padding:0 13px;font-weight:bold;color:#333;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.btn.primary,.upload-btn{background:linear-gradient(#6ab655,#3b8d25);border-color:#2f741f;color:#fff;text-shadow:0 -1px rgba(0,0,0,.35)}.btn:hover,.upload-btn:hover,.main-search button:hover{box-shadow:inset 0 0 0 1px rgba(255,255,255,.45);text-decoration:none}.account-box{display:flex;align-items:center;justify-content:flex-end;gap:10px}.mainnav{height:38px;background:#333;background:linear-gradient(#3a3a3a,#262626)}.mainnav .wrap{height:38px;display:flex;align-items:center}.mainnav a{color:#eee;padding:11px 18px;border-left:1px solid #444;border-right:1px solid #222;font-weight:bold}.mainnav a.on,.mainnav a:hover{background:#111;text-decoration:none}.page{padding-top:18px}.flash{padding:10px 12px;margin:0 0 12px;border:1px solid #ccc;background:#fff}.flash.ok{border-color:#7bbf64;background:#eefbea}.flash.error{border-color:#d48484;background:#fff1f1}.layout-3{display:grid;grid-template-columns:190px minmax(0,1fr) 290px;gap:18px}.layout-2{display:grid;grid-template-columns:190px minmax(0,1fr);gap:18px}.guide{background:#fff;border:1px solid #ccc;box-shadow:0 1px 2px rgba(0,0,0,.08)}.guide-title{background:linear-gradient(#fafafa,#e9e9e9);border-bottom:1px solid #ccc;padding:10px 12px;font-weight:bold}.guide-item{display:block;color:#333;padding:10px 12px;border-bottom:1px solid #eee}.guide-item:hover{background:#f2f2f2;text-decoration:none}.guide-note{padding:12px;color:#777;font-size:12px;line-height:1.4}.content-main,.rail,.watch-main,.watch-rail{min-width:0}.module,.sidebox,.auth-box,.comments,.description-box,.owner-tools{background:#fff;border:1px solid #ccc;box-shadow:0 1px 2px rgba(0,0,0,.07);margin-bottom:16px}.module-head{height:40px;border-bottom:1px solid #ddd;background:linear-gradient(#fff,#f2f2f2);display:flex;align-items:center;justify-content:space-between;padding:0 12px}.module-head h2{font-size:16px;margin:0}.module-head span{color:#777}.hero-2012{background:#fff;border:1px solid #ccc;margin-bottom:16px;padding:22px 24px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 1px 2px rgba(0,0,0,.08)}.hero-2012 h1{font-size:26px;margin:0 0 5px}.hero-2012 p{margin:0;color:#666}.upload-hero{background:linear-gradient(#6ab655,#3b8d25);color:#fff;border-radius:3px;border:1px solid #2c741f;padding:10px 16px;font-weight:bold}.video-grid.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;padding:14px}.video-grid.list{padding:10px}.video-card{display:flex;gap:10px}.video-card.grid{display:block}.video-card.grid .thumb{margin-bottom:7px}.video-card.list{border-bottom:1px solid #e5e5e5;padding:10px 0}.video-card.mini{margin-bottom:10px;border-bottom:1px solid #eee;padding-bottom:10px}.video-card h3{font-size:13px;line-height:1.25;margin:0 0 4px}.video-card.list h3{font-size:16px}.thumb{position:relative;display:block;background:#111;height:105px;overflow:hidden;border:1px solid #999;box-shadow:inset 0 0 0 1px rgba(255,255,255,.15)}.video-card.list .thumb{width:196px;flex:0 0 196px;height:110px}.video-card.mini .thumb{width:106px;flex:0 0 106px;height:60px}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.thumb em{position:absolute;right:3px;bottom:3px;background:rgba(0,0,0,.78);color:#fff;font-style:normal;font-size:11px;padding:1px 4px}.thumb-placeholder{height:100%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:34px;background:linear-gradient(135deg,#333,#0e0e0e)}.video-info{min-width:0}.meta{font-size:12px;color:#777;margin-top:2px}.tagrow{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.tag{font-size:11px;border:1px solid #c9d8e5;background:#f0f7ff;color:#2a65a0;padding:2px 5px;border-radius:2px}.tag:hover{text-decoration:none;background:#dcefff}.empty{background:#fff;border:1px dashed #ccc;padding:22px;color:#777;text-align:center}.sidebox{padding:10px}.sidebox h3{font-size:14px;margin:0 0 10px;border-bottom:1px solid #ddd;padding-bottom:7px}.channel-link{display:flex;justify-content:space-between;border-bottom:1px solid #eee;padding:8px 0;color:#333}.channel-link span{color:#777}.tag-cloud{display:flex;flex-wrap:wrap;gap:7px;padding:14px}.tag-cloud a{background:#fff;border:1px solid #cfcfcf;border-radius:2px;color:#333;padding:5px 8px;box-shadow:0 1px 0 #eee}.tag-cloud a span{color:#999;margin-left:4px}.channels-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;padding:14px}.channel-card{background:#fafafa;border:1px solid #ddd;padding:12px;display:flex;align-items:center;gap:10px;color:#333}.channel-card:hover{background:#fff;text-decoration:none}.avatar{width:28px;height:28px;border-radius:2px;background:linear-gradient(#d71920,#ad1218);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:bold;text-transform:uppercase}.avatar.big{width:74px;height:74px;font-size:36px}.channel-header{background:#fff;border:1px solid #ccc;margin-bottom:16px;padding:18px;display:flex;align-items:center;gap:16px}.channel-header h1{margin:0 0 4px}.auth-box{width:420px;max-width:100%;margin:20px auto;padding:20px}.auth-box.wide-auth{width:720px}.auth-box h1{margin-top:0}.auth-box label,.upload-module label{display:block;font-weight:bold;margin:12px 0}.auth-box input,.auth-box textarea,.upload-module input,.upload-module textarea{display:block;width:100%;border:1px solid #bbb;box-shadow:inset 0 1px 2px rgba(0,0,0,.08);padding:9px;margin-top:5px}.upload-module form{padding:14px}.upload-module small,.hint{color:#777;font-weight:normal}.check{font-weight:normal!important}.check input{display:inline!important;width:auto!important}.progress{height:16px;background:#eee;border:1px solid #ccc;margin-top:10px;overflow:hidden}.progress span{display:block;height:100%;width:0;background:linear-gradient(#79bd64,#3b8d25);transition:width .2s}.upload-status{margin-top:8px;color:#555}.manage-table{width:100%;border-collapse:collapse}.manage-table th,.manage-table td{border-bottom:1px solid #ddd;padding:8px;text-align:left;vertical-align:top}.manage-table th{background:#f7f7f7}.manage-table small{display:block;color:#777;margin-top:3px}.inline{display:inline}.inline button{border:0;background:none;color:#167ac6;cursor:pointer;padding:0;font:inherit}.inline button:hover{text-decoration:underline}.inline .danger,button.danger{color:#b00000}.watch-layout{display:grid;grid-template-columns:minmax(0,850px) 310px;gap:18px}.watch-title{background:#fff;border:1px solid #ccc;border-top:0;display:flex;justify-content:space-between;gap:12px;padding:12px}.watch-title h1{font-size:20px;margin:0}.watch-stats{font-size:18px;color:#555}.watch-meta{background:#fff;border:1px solid #ccc;border-top:0;padding:10px 12px;display:flex;gap:18px;align-items:center;flex-wrap:wrap;color:#666}.channel-mini{display:flex;align-items:center;gap:7px;color:#333}.description-box{padding:12px;line-height:1.45}.bigtags{background:#fff;border:1px solid #ccc;border-top:0;padding:10px 12px;margin:0 0 16px}.owner-tools{padding:10px 12px}.comments{padding:12px}.comments h2{font-size:16px;margin:0 0 10px}.comment-form textarea{width:100%;min-height:72px;border:1px solid #bbb;padding:8px}.comment{display:flex;gap:10px;border-top:1px solid #eee;padding:10px 0}.comment em{font-style:normal;color:#777;margin-left:6px}.comment p{margin:5px 0 0;line-height:1.4}.watch-rail h3{margin:0 0 10px;background:linear-gradient(#fff,#f2f2f2);border:1px solid #ccc;padding:10px}.zt-player{position:relative;background:#000;color:#fff;height:478px;max-height:70vh;box-shadow:0 1px 2px rgba(0,0,0,.2);overflow:hidden}.zt-player video{width:100%;height:100%;display:block;background:#000}.player-big{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:78px;height:54px;border:1px solid rgba(255,255,255,.4);border-radius:8px;background:rgba(0,0,0,.55);color:#fff;font-size:30px;cursor:pointer}.zt-player.playing .player-big{display:none}.player-controls{position:absolute;left:0;right:0;bottom:0;height:42px;background:linear-gradient(rgba(25,25,25,.92),rgba(0,0,0,.92));display:flex;align-items:center;gap:7px;padding:6px 8px;opacity:.98}.player-controls button,.player-controls select{background:#202020;color:#fff;border:1px solid #555;border-radius:2px;height:28px}.player-controls label{display:flex;align-items:center;gap:4px;font-size:11px;color:#ddd}.pc-seek{flex:1;min-width:70px}.pc-time{font-size:12px;white-space:nowrap}.pc-volume{width:70px}.pc-repeat.active{background:#b80000}.footer{margin-top:30px;padding:18px 0;border-top:1px solid #ccc;background:#e9e9e9;color:#777;font-size:12px}.footer .wrap{display:flex;gap:20px;justify-content:space-between}.theme-dark{background:#181818;background-image:linear-gradient(#262626,#181818 140px,#111);color:#ddd}.theme-dark .topbar,.theme-dark .masthead,.theme-dark .module,.theme-dark .sidebox,.theme-dark .auth-box,.theme-dark .comments,.theme-dark .description-box,.theme-dark .owner-tools,.theme-dark .hero-2012,.theme-dark .guide,.theme-dark .watch-title,.theme-dark .watch-meta,.theme-dark .channel-header,.theme-dark .empty{background:#222;border-color:#3b3b3b;color:#ddd}.theme-dark .module-head,.theme-dark .guide-title,.theme-dark .main-search button,.theme-dark .btn,.theme-dark .theme-toggle,.theme-dark .watch-rail h3{background:linear-gradient(#333,#242424);border-color:#444;color:#eee}.theme-dark input,.theme-dark textarea{background:#151515;border-color:#555;color:#eee}.theme-dark .meta,.theme-dark .guide-note,.theme-dark .module-head span,.theme-dark .footer{color:#aaa}.theme-dark .footer{background:#111;border-color:#333}.theme-dark .guide-item,.theme-dark .channel-link,.theme-dark .channel-card{color:#ddd;border-color:#333;background:#222}.theme-dark .guide-item:hover,.theme-dark .channel-card:hover{background:#2b2b2b}.theme-dark .logo{color:#f2f2f2}.theme-dark .tag-cloud a,.theme-dark .tag{background:#252d35;border-color:#3f5d77;color:#a6d2ff}.theme-dark .manage-table th{background:#262626}.theme-dark .manage-table th,.theme-dark .manage-table td{border-color:#3a3a3a}@media(max-width:960px){.masthead-grid{grid-template-columns:1fr;gap:8px;height:auto;padding:12px 0}.account-box{justify-content:flex-start}.layout-3,.layout-2,.watch-layout{grid-template-columns:1fr}.guide{display:none}.rail{display:none}.zt-player{height:56vw}.footer .wrap{display:block}.video-card.list .thumb{width:150px;flex-basis:150px;height:84px}}@media(max-width:560px){.video-card.list{display:block}.video-card.list .thumb{width:100%;height:52vw;margin-bottom:8px}.mainnav a{padding:11px 8px}.watch-title{display:block}.player-controls{height:auto;flex-wrap:wrap}.pc-seek{order:9;width:100%;flex-basis:100%}}
.upload-btn.admin{background:linear-gradient(#4d78bc,#27539a);border-color:#1b3f78}.admin-pad{padding:14px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:14px}.stats-grid div{border:1px solid #ddd;background:#fafafa;box-shadow:inset 0 1px #fff;padding:14px;text-align:center}.stats-grid b{display:block;font-size:24px;color:#333}.stats-grid span{display:block;color:#777;margin-top:5px}.theme-dark .stats-grid div{background:#1b1b1b;border-color:#3a3a3a}.theme-dark .stats-grid b{color:#eee}@media(max-width:720px){.stats-grid{grid-template-columns:repeat(2,1fr)}}

/* v1.4 patch: legacy-friendly player, no CSS aspect-ratio dependency */
.zt-player{position:relative;width:100%;height:478px;max-height:none;min-height:220px;background:#000;overflow:hidden}
.zt-player video{position:absolute;left:0;top:0;width:100%;height:100%;display:block;background:#000;object-fit:contain}
.player-big{z-index:4}.player-controls{z-index:5}
.zt-player.fullscreen-fallback{position:fixed!important;left:0!important;top:0!important;right:0!important;bottom:0!important;width:100%!important;height:100%!important;z-index:99999!important;max-height:none!important;min-height:0!important}
.zt-player.fullscreen-fallback video{width:100%!important;height:100%!important;object-fit:contain}
body.player-fullscreen-open{overflow:hidden!important}
.comment-body{min-width:0;flex:1}.comment-tools{margin-top:6px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.comment-edit{display:inline-block}.comment-edit summary{cursor:pointer;color:#167ac6}.comment-edit summary:hover{text-decoration:underline}.comment-edit form{margin-top:7px}.comment-edit textarea{display:block;width:100%;max-width:620px;min-height:70px;border:1px solid #bbb;padding:8px;margin-bottom:6px;background:#fff;color:#333}.theme-dark .comment-edit textarea{background:#151515;border-color:#555;color:#eee}.admin-pad{padding:12px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;padding:14px}.stats-grid div{background:#fafafa;border:1px solid #ddd;padding:12px}.stats-grid b{font-size:24px;display:block}.stats-grid span{color:#777}.chunk-note{margin-top:8px;color:#666;font-size:12px}.theme-dark .chunk-note{color:#aaa}
@media(max-width:960px){.zt-player{height:56.25vw;min-height:190px;max-height:none}}
@media(max-width:560px){.zt-player{height:56.25vw;min-height:170px}.player-controls{height:auto;flex-wrap:wrap}.pc-seek{order:9;width:100%;flex-basis:100%}}
.processing-note{background:#fff8dc;border:1px solid #e2c56d;color:#5c4b00;padding:8px 10px;margin:8px 0 10px;font-size:12px;border-radius:2px}.dark .processing-note{background:#38300d;border-color:#75651f;color:#f1df8a}.processing-note.ready{background:#eef7e6;border-color:#b8d99b;color:#31530f}.dark .processing-note.ready{background:#1c3014;border-color:#486c34;color:#b9e59c}

/* v1.6 patch: channel avatars, blog, compact footer */
.account-link{display:inline-flex;align-items:center;gap:5px}.avatar{overflow:hidden;vertical-align:middle}.avatar img{width:100%;height:100%;object-fit:cover;display:block}.avatar.tiny{width:22px;height:22px;font-size:12px;border-radius:2px}.profile-settings .profile-form{padding:14px}.profile-form-grid{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;align-items:start}.profile-avatar-preview{padding-top:8px}.profile-form label{display:block;font-weight:bold;margin:0 0 12px}.profile-form input[type=text],.profile-form input:not([type]),.profile-form input[type=file]{display:block;width:100%;border:1px solid #bbb;padding:8px;margin-top:5px;background:#fff;color:#333}.profile-form small{display:block;color:#777;margin-top:5px;font-weight:normal}.channel-header .avatar.big{flex:0 0 74px}.blog-module .blog-form{padding:14px}.blog-form textarea{width:100%;min-height:95px;border:1px solid #bbb;box-shadow:inset 0 1px 2px rgba(0,0,0,.08);padding:9px;background:#fff;color:#333}.blog-form label{display:block;font-weight:bold;margin:10px 0}.blog-form input[type=file]{display:block;margin-top:5px}.blog-form small{display:block;color:#777;margin-top:4px;font-weight:normal}.blog-feed{display:flex;flex-direction:column;gap:12px}.blog-post{background:#fff;border:1px solid #ccc;padding:12px;box-shadow:0 1px 2px rgba(0,0,0,.06)}.blog-author{display:flex;align-items:center;gap:9px;margin-bottom:9px}.blog-author b{display:block}.blog-author em{display:block;font-style:normal;color:#777;font-size:12px}.blog-body{line-height:1.45;margin:8px 0 10px}.blog-image{display:block;margin-top:10px;max-width:520px;border:1px solid #ddd;background:#f5f5f5;padding:4px}.blog-image img{display:block;max-width:100%;max-height:520px;width:auto;height:auto}.blog-delete{display:block;margin-top:8px}.footer .wrap{display:block}.footer{padding:12px 0}.theme-dark .profile-form input,.theme-dark .blog-form textarea{background:#151515;border-color:#555;color:#eee}.theme-dark .blog-post{background:#222;border-color:#3b3b3b}.theme-dark .blog-author em,.theme-dark .profile-form small,.theme-dark .blog-form small{color:#aaa}.theme-dark .blog-image{background:#181818;border-color:#444}@media(max-width:560px){.profile-form-grid{grid-template-columns:1fr}.profile-avatar-preview{padding-top:0}.blog-image{max-width:100%}}
.flask-meter{display:flex;align-items:center;gap:7px;margin:0 0 5px}.flask-bottle{position:relative;width:22px;height:38px;border:2px solid #888;border-radius:8px 8px 5px 5px;background:linear-gradient(#fff,#e9e9e9);overflow:hidden;box-shadow:inset 0 1px 2px rgba(0,0,0,.18)}.flask-bottle:before{content:"";position:absolute;left:5px;right:5px;top:-6px;height:8px;border:2px solid #888;border-bottom:0;border-radius:5px 5px 0 0;background:#f8f8f8}.flask-bottle span{position:absolute;left:0;right:0;bottom:0;height:0;background:linear-gradient(#8dd76b,#3b8d25);transition:height .35s}.flask-meter b{font-size:12px;color:#555}.flask-meter.big{gap:16px;align-items:center}.flask-meter.big .flask-bottle{width:48px;height:84px;border-radius:15px 15px 9px 9px}.flask-meter.big .flask-bottle:before{left:13px;right:13px;top:-10px;height:12px}.flask-meter.big b{font-size:22px}.private-processing-body{padding:20px;display:flex;gap:20px;align-items:center}.ffmpeg-required-note,.chunk-note{margin-top:8px;font-size:12px;color:#666;background:#f8f8f8;border:1px solid #ddd;padding:7px 9px}.publish-btn{color:#167ac6!important}.theme-dark .flask-bottle{background:linear-gradient(#2d2d2d,#191919);border-color:#777}.theme-dark .flask-bottle:before{background:#2d2d2d;border-color:#777}.theme-dark .flask-meter b{color:#ddd}.theme-dark .ffmpeg-required-note,.theme-dark .chunk-note{background:#1d1d1d;border-color:#3a3a3a;color:#aaa}.theme-dark .private-processing{background:#222;border-color:#3b3b3b;color:#ddd}@media(max-width:560px){.private-processing-body{display:block}.flask-meter.big{margin-bottom:15px}.manage-table{font-size:12px}.manage-table td,.manage-table th{padding:6px}}

/* v1.9 patch: home guide activity tables */
.guide-section{border-top:1px solid #d8d8d8;padding:9px 8px 10px;background:#fff}
.guide-section-title{font-weight:bold;color:#333;margin:0 0 7px;padding:0 4px;font-size:12px;text-transform:none}
.guide-channel-rank,.guide-recent-video{display:flex;align-items:flex-start;gap:6px;color:#333;border-top:1px solid #eee;padding:6px 3px;line-height:1.2}
.guide-channel-rank:first-of-type,.guide-recent-video:first-of-type{border-top:0}
.guide-channel-rank:hover,.guide-recent-video:hover{background:#f5f5f5;text-decoration:none}
.guide-rank-num{flex:0 0 17px;width:17px;text-align:right;color:#777;font-size:11px;padding-top:4px}
.guide-rank-body,.guide-recent-body{display:block;min-width:0;flex:1}
.guide-rank-body b,.guide-recent-body b{display:block;color:#333;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.guide-rank-body small,.guide-recent-body small{display:block;color:#777;font-size:11px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.guide-empty{font-size:12px;color:#777;line-height:1.35;padding:4px}
.theme-dark .guide-section{background:#222;border-color:#3a3a3a}
.theme-dark .guide-section-title,.theme-dark .guide-rank-body b,.theme-dark .guide-recent-body b{color:#ddd}
.theme-dark .guide-channel-rank,.theme-dark .guide-recent-video{border-color:#333;color:#ddd}
.theme-dark .guide-channel-rank:hover,.theme-dark .guide-recent-video:hover{background:#2b2b2b}
.theme-dark .guide-rank-num,.theme-dark .guide-rank-body small,.theme-dark .guide-recent-body small,.theme-dark .guide-empty{color:#aaa}

/* v2.0 patch: likes/dislikes and streamed video URLs */
.reaction-box{background:#fff;border:1px solid #ccc;border-top:0;padding:9px 12px;display:flex;align-items:center;justify-content:flex-end;gap:8px}
.reaction-form,.reaction-readonly{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.reaction-btn{border:1px solid #aaa;background:linear-gradient(#fff,#e5e5e5);border-radius:2px;box-shadow:inset 0 1px #fff;color:#333;cursor:pointer;font-weight:bold;height:30px;padding:0 10px}
.reaction-btn b,.reaction-readonly b{font-weight:bold;margin-left:4px}
.reaction-btn:hover{border-color:#888;background:linear-gradient(#fff,#ddd)}
.reaction-btn.active{background:linear-gradient(#6aa6e8,#2f72bd);border-color:#1b5d9f;color:#fff;text-shadow:0 -1px rgba(0,0,0,.25)}
.reaction-readonly{color:#666;font-size:12px}.reaction-readonly span{background:#f5f5f5;border:1px solid #ddd;border-radius:2px;padding:6px 9px}
.theme-dark .reaction-box{background:#222;border-color:#3b3b3b}.theme-dark .reaction-btn{background:linear-gradient(#333,#242424);border-color:#555;color:#eee}.theme-dark .reaction-btn.active{background:linear-gradient(#3369a9,#194d8b);border-color:#2f68a9}.theme-dark .reaction-readonly{color:#aaa}.theme-dark .reaction-readonly span{background:#1b1b1b;border-color:#444}
@media(max-width:560px){.reaction-box{justify-content:flex-start}.reaction-btn{height:32px}}

/* v2.2 patch: chunked blog images and range streaming hints */
.blog-upload-progress{height:14px;background:#ececec;border:1px solid #c9c9c9;margin:8px 0 4px;overflow:hidden;display:block}
.blog-upload-progress span{display:block;height:100%;width:0;background:linear-gradient(#77b960,#3b8d25);transition:width .15s}
.blog-upload-status{min-height:17px;color:#666;font-size:12px;margin:0 0 8px}
.theme-dark .blog-upload-progress{background:#181818;border-color:#444}.theme-dark .blog-upload-status{color:#aaa}

/* v2.4 UI mode switch */
.footer-switch{display:flex!important;justify-content:space-between;align-items:center;gap:12px}.footer-switch a{color:#555}.theme-dark .footer-switch a{color:#aaa}@media(max-width:560px){.footer-switch{display:block!important;text-align:center}.footer-switch span{display:block;margin:4px 0}}

/* v2.9 patch: YouTube-like main player, lazy start, buffered timeline */
.yt-like-player{background:#050505;border:1px solid #111;box-shadow:0 2px 8px rgba(0,0,0,.35)}
.yt-like-player video{background:#000;object-fit:contain}
.yt-like-player .player-top-gradient{position:absolute;left:0;right:0;top:0;height:58px;background:linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,0));z-index:2;pointer-events:none;opacity:.55}
.yt-like-player .player-big{z-index:6;width:88px;height:60px;border-radius:11px;border:1px solid rgba(255,255,255,.35);background:rgba(0,0,0,.68);box-shadow:0 2px 12px rgba(0,0,0,.5);line-height:1;transition:background .12s,transform .12s,opacity .15s}
.yt-like-player .player-big:hover{background:rgba(190,0,0,.88);transform:translate(-50%,-50%) scale(1.04)}
.yt-like-player.playing .player-big{opacity:0;pointer-events:none}.yt-like-player.loading .player-big{opacity:0;pointer-events:none}
.player-spinner{display:none;position:absolute;left:50%;top:50%;width:42px;height:42px;margin:-21px 0 0 -21px;border-radius:50%;border:4px solid rgba(255,255,255,.28);border-top-color:#fff;z-index:7;animation:zttSpin .8s linear infinite}
.yt-like-player.loading .player-spinner{display:block}@keyframes zttSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
.yt-like-player .player-controls{height:58px;display:block;padding:0 10px 7px;background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.88) 35%,rgba(0,0,0,.95));opacity:.98;transition:opacity .18s;z-index:8}
.yt-like-player:not(:hover):not(.loading) .player-controls{opacity:.74}.yt-like-player.paused .player-controls,.yt-like-player:hover .player-controls{opacity:1}
.yt-like-player .pc-progress{position:absolute;left:10px;right:10px;bottom:43px;height:10px;cursor:pointer;background:rgba(120,120,120,.42);box-shadow:0 1px 2px rgba(0,0,0,.45) inset;overflow:visible}
.yt-like-player .pc-buffered,.yt-like-player .pc-played{position:absolute;left:0;top:0;height:100%;width:0}.yt-like-player .pc-buffered{background:rgba(215,215,215,.58)}.yt-like-player .pc-played{background:#c00;background:linear-gradient(#e52b24,#b90000)}
.yt-like-player .pc-handle{position:absolute;top:50%;left:0;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:#e62117;box-shadow:0 0 0 2px rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.5);opacity:0;transition:opacity .12s}.yt-like-player .pc-progress:hover .pc-handle,.yt-like-player .pc-seek:focus~.pc-handle{opacity:1}
.yt-like-player .pc-progress .pc-seek{position:absolute;left:0;top:-5px;width:100%;height:20px;margin:0;opacity:0;cursor:pointer;z-index:2}
.yt-like-player .pc-row{position:absolute;left:10px;right:10px;bottom:7px;height:30px;display:flex;align-items:center;gap:8px}.yt-like-player .pc-spacer{flex:1}.yt-like-player .pc-time{min-width:86px;color:#eee;text-shadow:0 1px 1px #000}.yt-like-player .player-controls button,.yt-like-player .player-controls select{height:28px;border:1px solid rgba(255,255,255,.18);background:rgba(24,24,24,.9);color:#fff;border-radius:2px}.yt-like-player .player-controls button:hover,.yt-like-player .player-controls select:hover{background:#2d2d2d;border-color:rgba(255,255,255,.36)}
.yt-like-player .player-controls label{color:#ddd;text-shadow:0 1px #000}.yt-like-player .pc-quality{min-width:92px}.yt-like-player .pc-volume{width:76px}.yt-like-player .pc-repeat.active{background:#3b3b3b;border-color:#888;color:#fff}.yt-like-player .no-js-video{position:absolute;left:0;right:0;bottom:65px;text-align:center;color:#fff;z-index:5}.yt-like-player .no-js-video a{color:#fff;background:rgba(0,0,0,.65);padding:6px 10px;border-radius:2px}
.yt-like-player.fullscreen-fallback .player-controls{position:absolute!important}.yt-like-player.fullscreen-fallback .pc-progress{bottom:43px}.yt-like-player.fullscreen-fallback .pc-row{bottom:7px}
.theme-dark .yt-like-player{border-color:#000;box-shadow:0 2px 10px rgba(0,0,0,.65)}
@media(max-width:700px){.yt-like-player .player-controls{height:86px}.yt-like-player .pc-progress{bottom:70px}.yt-like-player .pc-row{height:auto;flex-wrap:wrap}.yt-like-player .pc-spacer{display:none}.yt-like-player .pc-time{min-width:74px}.yt-like-player .pc-volume{width:62px}.yt-like-player .pc-quality-wrap{margin-left:auto}.yt-like-player .player-controls label{font-size:10px}}
@media(max-width:430px){.yt-like-player .pc-quality-wrap,.yt-like-player .player-controls label:nth-of-type(2){display:block}.yt-like-player .pc-repeat{display:none}.yt-like-player .pc-time{font-size:11px}.yt-like-player .player-controls select{max-width:78px}.yt-like-player .pc-volume{width:52px}}

/* Full-version technical player branch. Lite keeps using .zt-player/player.js unchanged. */
.ztt-full-tech-player{position:relative;width:100%;height:478px;max-height:none;min-height:220px;background:#000;color:#fff;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.2)}
.ztt-full-tech-player video{position:absolute;left:0;top:0;width:100%;height:100%;display:block;background:#000;object-fit:contain}
.ztt-full-tech-player.fullscreen-fallback{position:fixed!important;left:0!important;top:0!important;right:0!important;bottom:0!important;width:100%!important;height:100%!important;z-index:99999!important;max-height:none!important;min-height:0!important}
.ztt-full-tech-player.fullscreen-fallback video{width:100%!important;height:100%!important;object-fit:contain}
.ztt-full-tech-player .player-big{z-index:6}
.ztt-full-tech-player .player-controls{z-index:8}
.edit-thumb-box{border:1px solid #ddd;background:#fafafa;padding:12px;margin:12px 0}.edit-thumb-preview{width:220px;max-width:100%;background:#111;border:1px solid #999;margin:8px 0}.edit-thumb-preview img{display:block;width:100%;height:auto}.theme-dark .edit-thumb-box{background:#202020;border-color:#3a3a3a}
@media(max-width:960px){.ztt-full-tech-player{height:56.25vw;min-height:190px;max-height:none}}
@media(max-width:560px){.ztt-full-tech-player{height:56.25vw;min-height:170px}}

/* v3.4: dashboard upload list live refresh */
.manage-table tr.row-just-uploaded td{background:#fff8d8;transition:background .6s ease;}
body.theme-dark .manage-table tr.row-just-uploaded td{background:#3a3316;}

/* v3.8 patch: profile menu, blog replies and messenger */
.account-menu{position:relative;display:inline-block}.account-trigger{display:inline-flex;align-items:center;gap:6px;height:31px;border:0;background:transparent;color:#167ac6;cursor:pointer;padding:0 2px;font:inherit}.account-trigger b{font-size:10px;color:#777}.account-dropdown{display:none;position:absolute;right:0;top:34px;min-width:190px;background:#fff;border:1px solid #bbb;box-shadow:0 3px 8px rgba(0,0,0,.22);z-index:50;padding:5px 0}.account-menu.open .account-dropdown,.account-menu:hover .account-dropdown{display:block}.account-dropdown a{display:block;padding:8px 12px;color:#333;white-space:nowrap}.account-dropdown a:hover{background:#f1f1f1;text-decoration:none}.blog-actions-row{display:flex;gap:12px;align-items:center;margin-top:8px;font-size:12px}.blog-reply-form{margin:10px 0 4px;padding:10px;background:#f7f7f7;border:1px solid #ddd}.blog-reply-form textarea{width:100%;border:1px solid #bbb;padding:7px;background:#fff;color:#333;margin-bottom:7px}.blog-replies{margin:12px 0 0 36px;border-left:3px solid #ddd;padding-left:12px}.blog-reply{background:#fafafa;border:1px solid #ddd;margin:8px 0;padding:9px}.blog-author.small{margin-bottom:5px}.blog-author.small em{font-size:11px}.messenger-shell{display:grid;grid-template-columns:260px minmax(0,1fr);gap:0;background:#fff;border:1px solid #ccc;box-shadow:0 1px 2px rgba(0,0,0,.07);min-height:520px}.messenger-list{border-right:1px solid #ccc;background:#f7f7f7}.messenger-title{height:40px;line-height:40px;padding:0 12px;font-weight:bold;background:linear-gradient(#fff,#e9e9e9);border-bottom:1px solid #ccc}.messenger-user{display:flex;gap:8px;align-items:flex-start;padding:9px 10px;border-bottom:1px solid #e2e2e2;color:#333}.messenger-user:hover,.messenger-user.on{background:#fff;text-decoration:none}.messenger-user span{min-width:0;display:block}.messenger-user b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.messenger-user small{display:block;color:#777;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.messenger-conversation{display:flex;flex-direction:column;min-width:0}.messenger-head{height:40px;border-bottom:1px solid #ddd;background:linear-gradient(#fff,#f2f2f2);display:flex;align-items:center;gap:8px;padding:0 12px}.messenger-messages{flex:1;padding:12px;overflow:auto;background:#fff}.message-row{display:flex;margin:8px 0}.message-row.mine{justify-content:flex-end}.message-bubble{max-width:72%;border:1px solid #d0d0d0;background:#f7f7f7;padding:8px 10px;border-radius:3px}.message-row.mine .message-bubble{background:#e8f2ff;border-color:#b8d5ef}.message-bubble p{margin:0 0 5px;line-height:1.35}.message-bubble small{color:#777;font-size:11px}.messenger-form{border-top:1px solid #ddd;background:#f4f4f4;padding:10px;display:flex;gap:8px}.messenger-form textarea{flex:1;border:1px solid #bbb;padding:8px;min-height:58px;background:#fff;color:#333}.mini-empty{margin:10px;padding:12px}.theme-dark .account-dropdown{background:#242424;border-color:#444}.theme-dark .account-dropdown a{color:#ddd}.theme-dark .account-dropdown a:hover{background:#333}.theme-dark .account-trigger b{color:#aaa}.theme-dark .blog-reply-form,.theme-dark .blog-reply{background:#202020;border-color:#3b3b3b}.theme-dark .blog-replies{border-color:#444}.theme-dark .blog-reply-form textarea{background:#151515;border-color:#555;color:#eee}.theme-dark .messenger-shell{background:#222;border-color:#3b3b3b}.theme-dark .messenger-list{background:#1f1f1f;border-color:#3b3b3b}.theme-dark .messenger-title,.theme-dark .messenger-head{background:linear-gradient(#333,#242424);border-color:#444;color:#eee}.theme-dark .messenger-user{color:#ddd;border-color:#333}.theme-dark .messenger-user:hover,.theme-dark .messenger-user.on{background:#2c2c2c}.theme-dark .messenger-user small,.theme-dark .message-bubble small{color:#aaa}.theme-dark .messenger-messages{background:#1b1b1b}.theme-dark .message-bubble{background:#252525;border-color:#444}.theme-dark .message-row.mine .message-bubble{background:#203247;border-color:#365a80}.theme-dark .messenger-form{background:#202020;border-color:#3b3b3b}.theme-dark .messenger-form textarea{background:#151515;border-color:#555;color:#eee}@media(max-width:760px){.messenger-shell{grid-template-columns:1fr}.messenger-list{border-right:0;border-bottom:1px solid #ccc}.messenger-form{display:block}.messenger-form textarea{width:100%;margin-bottom:8px}.message-bubble{max-width:90%}}

/* v3.9 messenger/profile cleanup */
.channel-actions{margin-top:9px}.channel-actions .btn{height:30px}
.messenger-list .empty.mini-empty{border-bottom:0;background:transparent;color:#777}.theme-dark .messenger-list .empty.mini-empty{color:#aaa}
.messenger-user.on{font-weight:normal}
.messenger-head a{font-size:12px;margin-left:auto;color:#167ac6}.theme-dark .messenger-head a{color:#56a8e8}

/* v4.0: account dropdown robustness + messenger header link cleanup */
.account-box{position:relative;z-index:2000;overflow:visible}
.account-menu{position:relative;display:inline-block;vertical-align:middle;overflow:visible;z-index:2100}
.account-trigger{display:inline-flex;align-items:center;gap:6px;height:31px;border:0;background:transparent;color:#167ac6;cursor:pointer;padding:0 2px;font:inherit;white-space:nowrap}
.account-trigger:focus{outline:1px dotted #888}
.account-dropdown{display:none;position:absolute;right:0;top:100%;margin-top:4px;min-width:205px;background:#fff;border:1px solid #bbb;box-shadow:0 3px 10px rgba(0,0,0,.28);z-index:9999;padding:5px 0;text-align:left}
.account-menu.open .account-dropdown,.account-menu:hover .account-dropdown,.account-menu:focus-within .account-dropdown{display:block}
.account-dropdown a{display:block;padding:8px 12px;color:#333!important;white-space:nowrap;text-decoration:none;font-weight:normal;line-height:16px}
.account-dropdown a:hover{background:#f1f1f1;text-decoration:none}
.theme-dark .account-dropdown{background:#242424;border-color:#444;box-shadow:0 4px 12px rgba(0,0,0,.55)}
.theme-dark .account-dropdown a{color:#ddd!important}.theme-dark .account-dropdown a:hover{background:#333}
.messenger-head{height:auto;min-height:40px;padding:0;border-bottom:1px solid #ddd;background:linear-gradient(#fff,#f2f2f2);display:block}
.messenger-head-profile{display:flex;align-items:center;gap:8px;padding:9px 12px;color:#333!important;text-decoration:none!important;width:100%;box-sizing:border-box;min-width:0}
.messenger-head-profile:hover{text-decoration:none!important;background:rgba(0,0,0,.03)}
.messenger-head-name{display:block;min-width:0;line-height:16px;color:#333!important}
.messenger-head-name b{display:block;color:#333!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.messenger-head-name small{display:block;color:#333!important;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px;opacity:.92}
.theme-dark .messenger-head{background:linear-gradient(#333,#242424);border-color:#444;color:#eee}
.theme-dark .messenger-head-profile,.theme-dark .messenger-head-name,.theme-dark .messenger-head-name b,.theme-dark .messenger-head-name small{color:#eee!important}
.theme-dark .messenger-head-profile:hover{background:rgba(255,255,255,.04)}


/* v4.1: hard fix for the real account dropdown markup used by render_header().
   The account wrapper is .account-dropdown and the real hidden menu is its child .account-menu. */
.account-box{position:relative!important;overflow:visible!important;z-index:3000!important}.masthead,.masthead-grid{overflow:visible!important}.account-box>.account-dropdown{display:inline-block!important;position:relative!important;right:auto!important;top:auto!important;margin:0!important;min-width:0!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;text-align:left!important;vertical-align:middle!important;z-index:3100!important}.account-box>.account-dropdown>.account-link,.account-box>.account-dropdown>.account-menu-toggle{display:inline-flex!important;align-items:center!important;gap:5px!important;height:31px!important;border:0!important;background:transparent!important;color:#167ac6!important;cursor:pointer!important;padding:0 3px!important;font:inherit!important;white-space:nowrap!important;line-height:31px!important}.account-box>.account-dropdown>.account-menu-toggle .avatar,.account-box>.account-dropdown>.account-link .avatar{margin-right:2px}.account-box>.account-dropdown>.account-menu{display:none!important;position:absolute!important;right:0!important;top:100%!important;margin-top:4px!important;min-width:205px!important;background:#fff!important;border:1px solid #bbb!important;box-shadow:0 4px 12px rgba(0,0,0,.32)!important;z-index:99999!important;padding:5px 0!important;text-align:left!important;line-height:normal!important}.account-box>.account-dropdown.open>.account-menu,.account-box>.account-dropdown:hover>.account-menu,.account-box>.account-dropdown:focus-within>.account-menu{display:block!important}.account-box>.account-dropdown>.account-menu a{display:block!important;padding:8px 12px!important;color:#333!important;background:transparent!important;white-space:nowrap!important;text-decoration:none!important;font-weight:normal!important;line-height:16px!important}.account-box>.account-dropdown>.account-menu a:hover{background:#f1f1f1!important;text-decoration:none!important}.theme-dark .account-box>.account-dropdown>.account-menu{background:#242424!important;border-color:#444!important;box-shadow:0 4px 12px rgba(0,0,0,.6)!important}.theme-dark .account-box>.account-dropdown>.account-menu a{color:#ddd!important}.theme-dark .account-box>.account-dropdown>.account-menu a:hover{background:#333!important}.theme-dark .account-box>.account-dropdown>.account-link,.theme-dark .account-box>.account-dropdown>.account-menu-toggle{color:#d7d7d7!important}.theme-dark .account-caret{color:#aaa!important}

/* v4.2: profile dropdown final isolated implementation. Uses ztt-* classes to avoid conflicts with old account-menu/account-dropdown rules. */
.account-box{position:relative!important;overflow:visible!important;z-index:5000!important}
.masthead,.masthead-grid,.topbar,.topbar-inner{overflow:visible!important}
.ztt-userbox{position:relative!important;display:inline-block!important;vertical-align:middle!important;overflow:visible!important;z-index:5100!important;margin-left:6px!important;text-align:left!important}
.ztt-user-toggle{display:inline-flex!important;align-items:center!important;gap:5px!important;height:31px!important;line-height:31px!important;border:0!important;background:transparent!important;color:#167ac6!important;cursor:pointer!important;padding:0 4px!important;font:inherit!important;white-space:nowrap!important;box-sizing:border-box!important}
.ztt-user-toggle:hover{text-decoration:underline!important}
.ztt-user-toggle .avatar{margin:0!important;vertical-align:middle!important;flex:0 0 auto!important}
.ztt-user-toggle span{display:inline-block!important;max-width:120px!important;overflow:hidden!important;text-overflow:ellipsis!important;vertical-align:middle!important}
.ztt-user-caret{font-size:10px!important;color:#777!important;margin-left:1px!important}
.ztt-user-menu{display:none!important;position:absolute!important;right:0!important;top:31px!important;min-width:205px!important;background:#fff!important;border:1px solid #b8b8b8!important;box-shadow:0 4px 12px rgba(0,0,0,.32)!important;z-index:999999!important;padding:5px 0!important;margin:0!important;line-height:normal!important;text-align:left!important;white-space:normal!important}
.ztt-userbox.open .ztt-user-menu,.ztt-userbox:hover .ztt-user-menu,.ztt-userbox:focus-within .ztt-user-menu{display:block!important}
.ztt-user-menu a{display:block!important;float:none!important;clear:both!important;padding:8px 12px!important;margin:0!important;color:#333!important;background:transparent!important;text-decoration:none!important;white-space:nowrap!important;font-weight:normal!important;line-height:16px!important;border:0!important}
.ztt-user-menu a:hover{background:#f1f1f1!important;text-decoration:none!important;color:#111!important}
.theme-dark .ztt-user-toggle{color:#e8e8e8!important}.theme-dark .ztt-user-caret{color:#aaa!important}.theme-dark .ztt-user-menu{background:#242424!important;border-color:#444!important;box-shadow:0 4px 12px rgba(0,0,0,.6)!important}.theme-dark .ztt-user-menu a{color:#ddd!important}.theme-dark .ztt-user-menu a:hover{background:#333!important;color:#fff!important}

/* v4.3: blog replies do not depend on JavaScript. */
.blog-reply-box{display:inline-block;vertical-align:top;margin:0;padding:0}
.blog-reply-box summary{cursor:pointer;color:#167ac6;list-style:none;display:inline-block}
.blog-reply-box summary::-webkit-details-marker{display:none}
.blog-reply-box summary:hover{text-decoration:underline}
.blog-reply-box[open]{display:block;width:100%;margin-top:8px}
.blog-reply-box[open] summary{margin-bottom:6px}
.blog-actions-row{align-items:flex-start}
.theme-dark .blog-reply-box summary{color:#66aaff}

/* v4.4 IPTV / M3U television */
.tv-layout .content-main.wide{min-width:0}.tv-module{overflow:hidden}.tv-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:14px;padding:14px}.tv-player-panel{min-width:0}.ztt-tv-player{position:relative;background:#000;color:#fff;height:480px;max-height:72vh;border:1px solid #111;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.35)}.ztt-tv-player video{width:100%;height:100%;display:block;background:#000;object-fit:contain}.tv-blackout{position:absolute;left:0;right:0;top:0;bottom:42px;display:block;background:#000;color:#ddd;text-align:center;font-size:18px;padding-top:210px}.tv-controls{position:absolute;left:0;right:0;bottom:0;height:42px;background:linear-gradient(rgba(30,30,30,.95),rgba(0,0,0,.95));display:flex;align-items:center;gap:8px;padding:6px 8px}.tv-controls button{height:28px;background:#202020;color:#fff;border:1px solid #555;border-radius:2px;cursor:pointer}.tv-controls span{font-weight:bold;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.tv-channel-panel{border-left:1px solid #ddd;min-width:0}.tv-channel-list{height:480px;max-height:72vh;overflow:auto;background:#f7f7f7;border:1px solid #ccc}.tv-channel{width:100%;display:flex;gap:9px;align-items:center;text-align:left;background:#fff;border:0;border-bottom:1px solid #ddd;padding:8px;cursor:pointer;color:#333}.tv-channel:hover,.tv-channel.on{background:#e8f1ff}.tv-logo{width:44px;height:32px;flex:0 0 44px;background:#111;border:1px solid #aaa;display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;overflow:hidden}.tv-logo img{max-width:100%;max-height:100%;display:block}.tv-logo-empty{background:#222}.tv-channel-body{min-width:0}.tv-channel-body b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tv-channel-body small{display:block;color:#777;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ztt-tv-player.fullscreen-fallback{position:fixed!important;left:0!important;top:0!important;right:0!important;bottom:0!important;width:100%!important;height:100%!important;max-height:none!important;z-index:99999!important}.ztt-tv-player.fullscreen-fallback .tv-blackout{padding-top:45vh}.ztt-tv-player.fullscreen-fallback video{width:100%!important;height:100%!important}@media(max-width:900px){.tv-grid{grid-template-columns:1fr}.tv-channel-panel{border-left:0}.ztt-tv-player,.tv-channel-list{height:56vw;max-height:none;min-height:220px}.tv-channel-list{height:auto;max-height:360px}.tv-blackout{padding-top:24vw}}
body.theme-dark .tv-channel-list{background:#171717;border-color:#444}body.theme-dark .tv-channel{background:#202020;color:#eee;border-color:#333}body.theme-dark .tv-channel:hover,body.theme-dark .tv-channel.on{background:#27384a}body.theme-dark .tv-channel-body small{color:#aaa}body.theme-dark .tv-channel-panel{border-color:#333}
.tv-playlist-switcher{padding:10px 14px;border-bottom:1px solid #ddd;background:#f6f6f6;display:flex;flex-wrap:wrap;gap:7px;align-items:center}.tv-playlist-switcher b{margin-right:4px}.tv-playlist-switcher a{display:inline-flex;gap:6px;align-items:center;border:1px solid #bbb;background:#fff;color:#333;border-radius:2px;padding:5px 9px;text-decoration:none}.tv-playlist-switcher a:hover,.tv-playlist-switcher a.on{background:#e8f1ff;border-color:#7aa7d9}.tv-playlist-switcher a span{font-size:11px;background:#eee;border-radius:9px;padding:1px 6px;color:#555}.iptv-upload-form .iptv-local-preview{margin:10px 0;padding:10px;border:1px solid #d5d5d5;background:#fafafa}.iptv-local-preview b{display:block;margin-bottom:4px}.iptv-preview-list{margin-top:8px;max-height:280px;overflow:auto}.iptv-preview-list ol{margin:0;padding-left:24px}.iptv-preview-list li{margin:0 0 6px}.iptv-preview-list small{color:#777}.iptv-preview-list code,.iptv-preview-table code{display:block;font-size:11px;white-space:normal;word-break:break-all;color:#555}.iptv-preview-empty{color:#777;padding:6px 0}.iptv-server-preview .manage-table td{vertical-align:top}.iptv-server-preview small{color:#777}body.theme-dark .tv-playlist-switcher{background:#181818;border-color:#333}body.theme-dark .tv-playlist-switcher a{background:#242424;color:#eee;border-color:#444}body.theme-dark .tv-playlist-switcher a:hover,body.theme-dark .tv-playlist-switcher a.on{background:#27384a;border-color:#56799b}body.theme-dark .tv-playlist-switcher a span{background:#333;color:#ccc}body.theme-dark .iptv-upload-form .iptv-local-preview{background:#181818;border-color:#444}body.theme-dark .iptv-preview-list small,body.theme-dark .iptv-preview-list code,body.theme-dark .iptv-preview-table code,body.theme-dark .iptv-server-preview small{color:#aaa}
.tv-channel{text-decoration:none}.tv-channel:visited{color:inherit}.tv-controls a.tv-control-link{height:28px;line-height:26px;background:#202020;color:#fff;border:1px solid #555;border-radius:2px;cursor:pointer;text-decoration:none;display:inline-block;padding:0 9px}.tv-legacy-note{padding:8px 14px;border-bottom:1px solid #ddd;background:#fff8d8;color:#5b4a00;font-size:12px}body.theme-dark .tv-legacy-note{background:#2a250d;color:#e7d887;border-color:#4b421d}
