:root{--bg:#101110;--panel:#1b1d1b;--panel2:#242724;--text:#f2f4f0;--muted:#9da49b;--green:#65c82f;--line:#303530;--red:#ff7777}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 Arial,"Microsoft YaHei",sans-serif}a{color:inherit;text-decoration:none}.topbar{height:68px;display:flex;align-items:center;gap:26px;padding:0 max(22px,calc((100% - 1400px)/2));background:#171917;border-bottom:1px solid var(--line)}.brand{font-size:27px;font-weight:900;letter-spacing:-1.5px;display:flex;align-items:center;gap:5px}.brand-mark{display:inline-grid;place-items:center;background:var(--green);color:#101410;border-radius:5px;width:32px;height:32px;font-size:23px}.search{display:flex;flex:1;max-width:680px;margin:auto}.search input{flex:1;min-width:0;background:#0d0e0d;color:white;border:1px solid #3b403a;border-radius:5px 0 0 5px;padding:11px 14px;outline:none}.search input:focus{border-color:var(--green)}button{cursor:pointer}.search button,.primary{background:var(--green);color:#101410;border:0;padding:10px 18px;font-weight:700;border-radius:0 5px 5px 0}.admin-link{font-size:13px;color:#cbd0c8}.nav{display:flex;gap:24px;align-items:center;padding:12px max(22px,calc((100% - 1400px)/2));background:#141614;border-bottom:1px solid var(--line);overflow:auto;white-space:nowrap}.nav a{font-size:14px;color:#d3d8d0}.nav a:hover,.admin-link:hover{color:var(--green)}.container{max-width:1400px;margin:auto;padding:26px 22px 60px}.hero{min-height:170px;padding:28px 34px;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(110deg,#1c2b18,#202820 58%,#172018);border:1px solid #34452e;border-radius:10px;margin-bottom:32px}.eyebrow,.section-head span{font-size:11px;letter-spacing:2px;color:var(--green);font-weight:700}.hero h1{font-size:30px;margin:8px 0}.hero p{margin:0;color:#bdc5b9}.hero-badge{font-weight:900;font-size:64px;color:#6dc33d;opacity:.6}.section-head{display:flex;align-items:center;justify-content:space-between;margin:25px 0 17px}.section-head h1,.section-head h2{font-size:21px;margin:0}.video-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px 18px}.video-card{min-width:0}.thumb{width:100%;aspect-ratio:201.05/113.09;height:auto;background:#252925;position:relative;overflow:hidden;border-radius:5px}.thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s}.video-card:hover .thumb img{transform:scale(1.04)}.no-thumb{height:100%;display:grid;place-items:center;color:#6c7867;font-weight:900;font-size:28px;background:linear-gradient(135deg,#292f28,#171a17)}.duration{position:absolute;bottom:6px;right:6px;background:#000c;padding:2px 5px;border-radius:3px;font-size:11px}.video-title{font-size:14px;font-weight:600;margin:8px 0 4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.video-card:hover .video-title{color:var(--green)}.video-meta{color:var(--muted);font-size:12px}.empty{padding:32px;text-align:center;background:var(--panel);border:1px solid var(--line);border-radius:8px;color:var(--muted);margin:18px 0}.player-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:26px}.player{width:100%;aspect-ratio:16/9;background:#000;border-radius:7px;overflow:hidden;display:grid;place-items:center}.player iframe{width:100%;height:100%;border:0}.detail-title{font-size:23px;margin:17px 0 8px}.description{white-space:normal;color:#c3c8c0;line-height:1.8}.related h3{margin-top:0}.related-item{display:flex;gap:10px;margin-bottom:13px;font-size:13px;font-weight:600}.related-item img,.related-placeholder{width:115px;aspect-ratio:16/9;object-fit:cover;background:#252925;border-radius:4px;flex-shrink:0}.related-placeholder{display:grid;place-items:center;color:var(--green);font-weight:900}.footer{padding:24px;text-align:center;border-top:1px solid var(--line);color:#818981;font-size:12px}.login-box{width:min(420px,calc(100% - 32px));margin:9vh auto;background:var(--panel);border:1px solid var(--line);padding:28px;border-radius:10px}.login-box h1{font-size:23px}.login-box label,.admin-form label{display:block;font-size:13px;color:#c5cbc2;margin:13px 0}.login-box input,.admin-form input,.admin-form select,.admin-form textarea{display:block;width:100%;margin-top:6px;background:#101210;border:1px solid #41463f;color:#f5f5f5;border-radius:5px;padding:10px;font:inherit}.login-box .primary{width:100%;border-radius:5px;margin-top:10px}.hint{font-size:12px;color:var(--muted)}.error{color:var(--red)}.success{padding:12px;background:#1c3018;border:1px solid #38572e;color:#b4f09a;border-radius:5px}.admin-page{max-width:1200px}.admin-panel{background:var(--panel);border:1px solid var(--line);padding:20px;border-radius:8px;margin:18px 0}.admin-panel h2{font-size:17px;margin-top:0}.admin-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.admin-form label:nth-last-of-type(1){grid-column:1/-1}.admin-form button{border-radius:5px;justify-self:start;padding:11px 25px}.cancel-link{align-self:center;color:var(--muted);margin-left:12px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line)}th{color:#9ca79a}td a{color:var(--green)}.inline-form{display:inline}.text-button{border:0;background:none;color:#ff8c8c;padding:0}.admin-welcome{margin-left:auto;color:var(--muted);font-size:13px}@media(max-width:1150px){.video-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:760px){.topbar{padding:12px 14px;height:auto;gap:12px;flex-wrap:wrap}.brand{font-size:23px}.search{order:3;max-width:none;flex-basis:100%}.nav{padding:12px 14px;gap:18px}.container{padding:18px 14px 42px}.video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.hero{min-height:140px;padding:22px}.hero h1{font-size:23px}.hero-badge{font-size:42px}.player-layout{grid-template-columns:1fr}.related{margin-top:10px}.admin-form{grid-template-columns:1fr}.admin-form label:nth-last-of-type(1){grid-column:auto}.admin-welcome{margin-left:auto}.section-head h1,.section-head h2{font-size:19px}}


/* XTV 缩略图布局强制覆盖 */
.video-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 24px 18px !important;
}
.thumb {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 201.05 / 113.09 !important;
  overflow: hidden !important;
}
.thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
@media (max-width: 1150px) {
  .video-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 760px) {
  .video-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}



/* Video detail: likes and tags */
.video-likes{margin:12px 0;color:#ff6b91;font-size:14px;font-weight:600}
.video-likes span{margin-left:4px}
.video-tags{margin:18px 0 22px}
.video-tags h3{font-size:16px;margin:0 0 12px}
.video-tags h3 span{font-size:12px;color:#999;margin-left:6px}
.tag-list{display:flex;flex-wrap:wrap;gap:8px}
.video-tag{display:inline-block;padding:6px 11px;border:1px solid #383838;border-radius:18px;background:#202020;color:#ddd;font-size:13px}

/* 顶部类别下拉菜单 */
.nav-dropdown{position:relative;display:inline-flex;align-items:center;flex-shrink:0}
.nav-dropdown-toggle{font:inherit;font-size:14px;color:#d3d8d0;background:transparent;border:0;padding:0;cursor:pointer}
.nav-dropdown-toggle span{font-size:10px;margin-left:4px}
.nav-dropdown:hover .nav-dropdown-toggle,.nav-dropdown:focus-within .nav-dropdown-toggle{color:var(--green)}
.nav-dropdown-menu{display:none;position:absolute;top:100%;left:-12px;padding:10px;min-width:210px;max-width:min(680px,90vw);max-height:65vh;overflow:auto;background:#1b1d1b;border:1px solid #383e36;border-radius:7px;box-shadow:0 12px 28px #0009;z-index:1000;white-space:normal;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px}
.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu{display:grid}
.nav-dropdown-menu a{display:block;padding:7px 9px;border-radius:4px;font-size:13px;overflow-wrap:anywhere}
.nav-dropdown-menu a:hover{background:#293126;color:var(--green)}
.nav-dropdown-empty{padding:8px;color:var(--muted);font-size:13px}
@media(max-width:760px){.nav-dropdown-menu{position:fixed;top:auto;left:14px;right:14px;max-width:none;max-height:60vh}.nav-dropdown-toggle{font-size:14px}}

/* 修复类别下拉菜单被首页横幅遮挡 */
.topbar{
  position:relative;
  z-index:1002;
}
.nav{
  position:relative;
  z-index:1001;
  overflow:visible;
}
.nav-dropdown{
  position:relative;
  z-index:1003;
}
.nav-dropdown-menu{
  z-index:1004;
}
.hero{
  position:relative;
  z-index:1;
}

/* 类别下拉菜单：边框、背景与最上层显示 */
.nav,
.nav-dropdown{
  position:relative;
  overflow:visible;
}

.nav{
  z-index:5000;
}

.nav-dropdown{
  z-index:5002;
}

.nav-dropdown-menu{
  position:absolute;
  top:calc(100% + 8px);
  left:-12px;
  z-index:5003;
  min-width:240px;
  max-width:min(720px,90vw);
  max-height:70vh;
  overflow-y:auto;
  padding:12px;
  background:#171917;
  border:2px solid #65c82f;
  border-radius:8px;
  box-shadow:0 12px 35px rgba(0,0,0,.85);
}

.nav-dropdown-menu a{
  display:block;
  padding:8px 10px;
  border-bottom:1px solid #303530;
  border-radius:4px;
}

.nav-dropdown-menu a:last-child{
  border-bottom:0;
}

.nav-dropdown-menu a:hover{
  color:#65c82f;
  background:#252b22;
}

.hero,
.container,
.video-grid{
  position:relative;
  z-index:auto;
}

/* 修复下拉类别被视频区域遮挡 */
header.topbar{
  position:relative !important;
  z-index:9000 !important;
}

nav.nav{
  position:relative !important;
  z-index:8999 !important;
  overflow:visible !important;
  isolation:isolate;
}

.nav-dropdown{
  position:relative !important;
  z-index:9001 !important;
}

.nav-dropdown-menu{
  position:absolute !important;
  top:calc(100% + 8px) !important;
  left:-12px !important;
  z-index:9002 !important;
  background:#171917 !important;
  border:2px solid #65c82f !important;
  box-shadow:0 12px 35px rgba(0,0,0,.95) !important;
}

main.container,
.video-grid,
.video-card,
.hero{
  z-index:auto !important;
}

/* 加高类别导航区域，确保下拉菜单显示在视频区域上方 */
nav.nav{
  min-height:100px !important;
  padding-top:28px !important;
  padding-bottom:28px !important;
  position:relative !important;
  z-index:999999 !important;
  overflow:visible !important;
  align-items:flex-start !important;
}

.nav-dropdown{
  position:relative !important;
  z-index:1000000 !important;
}

.nav-dropdown-menu{
  top:100% !important;
  margin-top:8px !important;
  position:absolute !important;
  z-index:1000001 !important;
  background:#171917 !important;
  border:2px solid #65c82f !important;
  box-shadow:0 12px 35px rgba(0,0,0,.95) !important;
  max-height:70vh !important;
  overflow-y:auto !important;
}

main.container{
  position:relative !important;
  z-index:0 !important;
}

@media(max-width:760px){
  nav.nav{
    min-height:80px !important;
    padding-top:20px !important;
    padding-bottom:20px !important;
  }
}

/* 最终修复：类别菜单显示在视频列表上方 */
header.topbar {
  position: relative !important;
  z-index: 20000 !important;
}

nav.nav {
  position: relative !important;
  z-index: 19999 !important;
  overflow: visible !important;
  isolation: isolate;
  white-space: normal !important;
}

.nav-dropdown {
  position: relative !important;
  z-index: 20001 !important;
  flex-shrink: 0;
}

.nav-dropdown-menu {
  display: none;
  position: absolute !important;
  top: 100% !important;
  left: -12px !important;
  margin-top: 8px !important;
  z-index: 20002 !important;
  min-width: 240px !important;
  max-width: min(720px, 90vw) !important;
  max-height: 70vh !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  background: #171917 !important;
  border: 2px solid #65c82f !important;
  border-radius: 8px !important;
  box-shadow: 0 12px 35px rgba(0,0,0,.95) !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.nav-dropdown:hover > .nav-dropdown-menu,
.nav-dropdown:focus-within > .nav-dropdown-menu {
  display: grid !important;
}

.nav-dropdown-menu a {
  display: block !important;
  padding: 8px 10px !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
}

main.container {
  position: relative;
  z-index: 1;
}

@media (max-width: 760px) {
  nav.nav {
    overflow: visible !important;
  }
  .nav-dropdown-menu {
    position: fixed !important;
    top: 150px !important;
    left: 12px !important;
    right: 12px !important;
    max-width: none !important;
    max-height: 65vh !important;
  }
}

/* XTV_CLICK_MENU_V1：点击打开的固定定位菜单，避开导航栏裁切 */
.nav-dropdown-menu.menu-open {
  display: grid !important;
  position: fixed !important;
  z-index: 2147483000 !important;
  margin: 0 !important;
  min-width: 240px !important;
  max-width: calc(100vw - 16px) !important;
  max-height: 70vh !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  background: #171917 !important;
  border: 2px solid #65c82f !important;
  border-radius: 8px !important;
  box-shadow: 0 12px 35px rgba(0,0,0,.95) !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  white-space: normal !important;
}
.nav-dropdown-menu.menu-open a {
  display: block !important;
  padding: 9px 10px !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

/* XTV_MENU_FINAL_CHECK */
.nav-dropdown-menu.menu-open {
display: grid !important;
position: fixed !important;
margin: 0 !important;
z-index: 2147483000 !important;
min-width: 240px !important;
max-width: calc(100vw - 16px) !important;
max-height: 70vh !important;
overflow-y: auto !important;
overflow-x: hidden !important;
background: #171917 !important;
border: 2px solid #65c82f !important;
border-radius: 8px !important;
box-shadow: 0 12px 35px rgba(0,0,0,.95) !important;
grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
cd /home/yy930277/htdocs/xtv.sx || exit 1

cat >> assets/style.css <<'CSS'

/* XTV_MENU_WORKING_V2 */
.nav-dropdown-menu.menu-open {
display: grid !important;
visibility: visible !important;
opacity: 1 !important;
position: fixed !important;
z-index: 2147483647 !important;
background: #171917 !important;
border: 2px solid #65c82f !important;
border-radius: 8px !important;
box-shadow: 0 12px 35px rgba(0,0,0,.95) !important;
padding: 12px !important;
grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
gap: 3px !important;
}
.nav-dropdown-menu.menu-open a {
display: block !important;
padding: 9px 10px !important;
white-space: normal !important;
overflow-wrap: anywhere !important;
}
CSS

echo "===== PHP 检查 ====="
php -l includes/functions.php
echo "===== 修改标记 ====="
grep -n 'XTV_MENU_WORKING_V2' assets/style.css

/* XTV_MENU_DISPLAY_FIX_V3 */
body > .nav-dropdown-menu.menu-open {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: fixed !important;
  z-index: 2147483647 !important;
  top: 100px;
  left: 20px;
  min-width: 240px;
  max-width: calc(100vw - 40px);
  max-height: 70vh;
  overflow-y: auto;
  background: #171917 !important;
  color: #fff !important;
  border: 2px solid #65c82f !important;
  border-radius: 8px;
  padding: 12px;
  box-shadow: 0 12px 35px rgba(0,0,0,.8);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px;
}

body > .nav-dropdown-menu.menu-open a {
  display: block !important;
  color: #fff !important;
  padding: 10px !important;
  background: #292d29 !important;
  text-decoration: none;
}





/* XTV pagination - final */
.pagination {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 48px auto 32px !important;
    padding: 24px 16px !important;
    text-align: center !important;
}
.pagination .page-item {
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    min-width: 56px !important;
    height: 52px !important;
    padding: 0 20px !important;
    border: 1px solid #3b4537 !important;
    border-radius: 10px !important;
    background: #222722 !important;
    color: #f2f4f0 !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    box-shadow: 0 4px 10px rgba(0,0,0,.25) !important;
}
.pagination a.page-item:hover,
.pagination .page-item.active {
    background: #65c82f !important;
    border-color: #80e94a !important;
    color: #101410 !important;
}
.pagination .page-item.active {
    font-size: 19px !important;
    font-weight: 800 !important;
}
.pagination .page-dots {
    color: #a4ada0 !important;
    font-size: 20px !important;
}
.pagination .page-info {
    display: block !important;
    flex-basis: 100% !important;
    width: 100% !important;
    margin-top: 10px !important;
    color: #a6afa2 !important;
    font-size: 14px !important;
    text-align: center !important;
}
@media (max-width: 600px) {
    .pagination { gap: 7px !important; margin: 30px auto 20px !important; padding: 14px 2px !important; }
    .pagination .page-item { min-width: 42px !important; height: 44px !important; padding: 0 11px !important; font-size: 15px !important; }
}

/* XTV language dropdown */
.topbar .language-wrap {
display: inline-flex;
align-items: center;
gap: 6px;
margin-left: 8px;
}
.topbar .language-select {
min-width: 100px;
height: 38px;
padding: 0 8px;
border: 1px solid #424a40;
border-radius: 8px;
background: #222722;
color: #f2f4f0;
font-size: 14px;
cursor: pointer;
}
@media (max-width: 600px) {
.topbar .language-select { min-width: 86px; font-size: 12px; }
}

/* GTranslate：固定在右上角 */
.gtranslate_wrapper,
.gtranslate_wrapper .gt_float_switcher {
    position: fixed !important;
    top: 12px !important;
    right: 16px !important;
    left: auto !important;
    bottom: auto !important;
    z-index: 99999 !important;
}

@media (max-width: 600px) {
    .gtranslate_wrapper,
    .gtranslate_wrapper .gt_float_switcher {
        top: 8px !important;
        right: 8px !important;
    }
}

/* 强制将 GTranslate 浮动菜单定位到右上角 */
#gt_float_wrapper {
    position: fixed !important;
    top: 12px !important;
    right: 16px !important;
    left: auto !important;
    bottom: auto !important;
    z-index: 2147483647 !important;
    width: max-content !important;
}

#gt_float_wrapper .gt_float_switcher {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    bottom: auto !important;
}

@media (max-width: 600px) {
    #gt_float_wrapper {
        top: 8px !important;
        right: 8px !important;
    }
}

/* XTV 固定顶部搜索栏与导航栏 */
header.topbar {
position: sticky !important;
top: 0 !important;
z-index: 20010 !important;
background: #171917 !important;
}

nav.nav {
position: sticky !important;
top: 68px !important;
z-index: 20009 !important;
background: #141614 !important;
}

/* 手机端顶部搜索栏会换行，因此调整导航栏停靠位置 */
@media (max-width: 760px) {
header.topbar {
top: 0 !important;
}

nav.nav {
top: 110px !important;
}
}
