/* =========================
   AdPanel Black-Gray Theme
   ========================= */
/* çº¯é»‘ç™½ç°é…è‰²ï¼Œå·²åŽ»é™¤æ‰€æœ‰ç´«è‰²å…ƒç´  */

:root {
    --primary-100: #4e4e4e;         /* ä¸»ç° */
    --primary-200: #6a6a6a;         /* æ¬¡ä¸»ç° */
    --primary-300: #bdbdbd;         /* æ·¡ç° */
    --accent-100: #909090;          /* ç‚¹ç¼€ç° */
    --accent-200: #3a3a3a;          /* æ·±ç° */
    --text-100: #f5f5f5;            /* ä¸»æ–‡æœ¬ç™½ */
    --text-200: #d6d6d6;            /* æ¬¡æ–‡æœ¬ç° */
    --text-300: #b5b5b5;            /* æ›´æ·¡æ–‡æœ¬ç° */
    --bg-100: #141414;              /* ä¸»èƒŒæ™¯é»‘ */
    --bg-200: #1b1b1b;              /* æ¬¡çº§èƒŒæ™¯é»‘ */
    --bg-300: #252525;              /* å†æ¬¡çº§èƒŒæ™¯é»‘ */
    --bg-400: #1a1a1a;              /* åˆ†å‰²/è¾¹ç•Œé»‘ */
    --header-bg-100: #171717;       /* å¤´éƒ¨æ¸å˜èµ·ç‚¹ */
    --header-bg-200: #232323;       /* å¤´éƒ¨æ¸å˜ç»ˆç‚¹ */
    --color-bg-card: #1b1b1b;       /* å¡ç‰‡èƒŒæ™¯ */
    --color-bg-alt: #222222;        /* å¤‡ç”¨å¡ç‰‡èƒŒæ™¯ */
    --color-text-primary: #ededed;  /* ä¸»æ–‡æœ¬ */
    --color-text-secondary: #b5b5b5;/* æ¬¡æ–‡æœ¬ */
    --color-accent: #909090;        /* ç‚¹ç¼€ï¼ˆç°ï¼‰ */
    --radius-sm: 6px;
    --radius-md: 12px;
    --radius-lg: 20px;
    --transition-fast: .15s cubic-bezier(.42,.6,.55,1.0);
    --shadow-sm: 0 2px 8px rgba(0,0,0,.15);
    --shadow-hover: 0 6px 22px rgba(0,0,0,.3);
    font-size: 15px;
    --backtop-size: 50px;
    --backtop-bg: rgba(64,64,64,0.67);
    --backtop-bg-hover: rgba(48,48,48,0.93);
    --backtop-color: #fff;
    --backtop-shadow: 0 4px 16px -2px rgba(0,0,0,.35),0 2px 6px rgba(0,0,0,.25);
    --backtop-radius: 13px;
    --backtop-z: 999;
    --backtop-fade-duration: .32s;
    --backtop-offset-bottom: 120px;
    --backtop-offset-right: 16px;
    --bs-modal-bg: #f3f3f5;
    --tab-active-bg: #ff8a00;  /* æ©™è‰²èƒŒæ™¯ */
    --tab-active-fg: #ffffff;  /* ç™½è‰²æ–‡å­— */

}
html {
    overflow-x: hidden;
}
html, body {
    /*overscroll-behavior: none;           !* ç¦æ­¢å‘ä¸Š/å‘ä¸‹/å·¦å³çš„è¾¹ç¼˜è¶Šç•Œè”åŠ¨ *!*/
}

body {
    font-family: 'Segoe UI', 'Nunito', 'Avenir', 'Helvetica Neue', Arial, sans-serif;
    background-color: #fff;
    max-width: 768px;
    margin: 0 auto;
    display: block;
    color: var(--text-200);
    letter-spacing: .01em;
    /*-webkit-font-smoothing: antialiased;*/
}

a {
    color: var(--primary-200);
    text-decoration: none;
    transition: color .18s;
}
a:hover { color: var(--accent-100); }

img, video {
    height: auto;
    max-width: 100%;
    border-radius: var(--radius-sm);
    background: var(--bg-200);
}

button, input, select {
    margin: 0;
    font-family: inherit;
    border-radius: var(--radius-sm);
    outline: none;
    background: var(--bg-300);
    color: var(--text-100);
    border: 1px solid var(--bg-400);
}

.hidden{
    display: none !important;
}
.container{
    padding-right: 2px;
    padding-left:  2px;
    overflow-x: hidden;
}

.yt-header {
    background: linear-gradient(90deg, var(--header-bg-100) 0%, var(--header-bg-200) 100%);
    border-bottom: 1.5px solid var(--primary-200);
    color: var(--primary-200);
    box-shadow: 0 2px 12px rgba(0,0,0,.2);
    padding: 8px 0;
}

.yt-header .logo-mark {
    width: 30px; height: 30px;
    color: var(--primary-100);
    background: #1a1a1a;
    border: 1px solid var(--primary-200);
    border-radius: var(--radius-md);
}
.yt-header .logo-text { letter-spacing: .5px; font-weight: 700; color: var(--primary-300);}
.yt-header .badge-free {
    font-size: 11px; line-height: 1;
    color: var(--accent-100);
    background: #1a1a1a;
    border: 1px solid var(--primary-200);
    border-radius: 6px; padding: 3px 6px;
}

.btn-reset {
    background: none; border: none; padding: 0; color: inherit;
}
.yt-link {
    color: var(--text-200);
    opacity: .98;
    transition: color .18s, opacity .18s;
}
.yt-link:hover, .yt-link:focus {
    color: var(--accent-100);
    opacity: 1;
    text-decoration: underline;
}
.yt-link:focus-visible {
    outline: 2px solid var(--accent-100);
    outline-offset: 2px;
    border-radius: 8px;
}

.badge-dot {
    position: absolute;
    top: -2px; right: -6px;
    width: 9px; height: 9px;
    background: red;
    border: 2px solid var(--bg-100);
    border-radius: 50%;
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    clip: rect(0 0 0 0);
    overflow: hidden;
}

.col-tight {
    padding-left: 4px;
    padding-right: 4px;
}

.category-block {
    position: relative;
    /*background: var(--color-bg-alt);*/
    /*border-radius: var(--radius-md);*/
    /*box-shadow: var(--shadow-sm);*/
    /*margin-bottom: 20px;*/
    padding: 5px 8px 8px 8px;
}
.category-block-nav {
    position: relative;
    background: var(--color-bg-alt);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
    margin-top: 10px;
    padding: 5px 4px 4px 4px;
}
.breadcrumb-item.active {
    color: var(--text-100);
}

.type-title {
    /*font-size: 1.5rem;*/
    font-weight: 700;
    color: #ffc107;
    letter-spacing: .02em;
    margin-bottom: 4px;
}

/* =========================
   Social Links
   ========================= */
.social-links a:hover {
    color: var(--primary-200) !important;
    transition: color 0.3s;
}

/* =========================
   Loading Spinner
   ========================= */
.loading {
    display: inline-block;
    width: 22px;
    height: 22px;
    border: 3px solid #232323;
    border-top: 3px solid var(--primary-200);
    border-radius: 50%;
    animation: spin 1s linear infinite;
}
@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* =========================
   Video Card Grid
   ========================= */
.video-card {
    border-radius: var(--radius-md);
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: box-shadow var(--transition-fast), transform var(--transition-fast);
    background: var(--color-bg-card);
    box-shadow: var(--shadow-sm);
}
.video-card:hover {
    box-shadow: var(--shadow-hover);
    transform: translateY(-2px) scale(1.03);
    background: var(--color-bg-alt);
}
.video-link {
    display: block;
    color: inherit;
    text-decoration: none;
}
.video-figure {
    position: relative;
    margin: 0;
}
.video-thumb {
    width: 100%;
    height: auto;
    max-height: 220px;
    aspect-ratio: 16 / 9;
    border-radius: var(--radius-sm);
    object-fit: cover;
    background: var(--bg-200);
    display: block;
    box-shadow: 0 2px 8px rgba(0,0,0,.2);
    transition: transform .13s, filter .13s;
}
.video-card:hover .video-thumb {
    transform: scale(1.04);
    filter: brightness(1.11);
}
.video-meta {
    padding: 2px 6px 6px;
}
.video-title {
    margin: 2px 0 4px;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.28;
    max-height: 2.6em;
    color: var(--text-200);
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    word-break: break-word;
    letter-spacing: .01em;
}
.video-title a {
    color: var(--text-200);
}
.video-title-link {
    color: var(--text-200);
    text-decoration: none;
    font-weight: 500;
}
.video-title-link:hover {
    color: var(--primary-100);
    text-decoration: underline;
}

/* æ—¶é•¿è§’æ ‡ */
.duration-badge {
    position: absolute;
    bottom: 7px;
    right: 10px;
    background: var(--accent-100);
    color: var(--text-200);
    font-size: 12px;
    padding: 2px 7px;
    border-radius: var(--radius-sm);
    backdrop-filter: blur(2px);
    font-weight: 600;
}

/* =========================
   Load More
   ========================= */
/* css */
.loytpanel-more-card {
    /* ä¿æŒå±…ä¸­æ˜¾ç¤ºï¼Œç§»é™¤å›ºå®šå°é«˜åº¦ä»¥ä¾¿æŒ‰é’®å†³å®šé«˜åº¦ */
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 6px;
    box-shadow: 0 2px 8px rgba(0,0,0,.18);
    width: 100%;
    height: auto;
}
/* css */
.lod-more-btn {
    all: unset;
    box-sizing: border-box;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: calc(100% - 16px);   /* ç•™å‡ºå¡ç‰‡å†…è¾¹è· */
    max-width: 720px;           /* æœ€å¤§å®½åº¦ï¼Œé˜²æ­¢è¶…å‡ºçª„å±å®¹å™¨ */
    height: 44px;               /* é•¿æ¡é«˜åº¦ï¼Œå¯æŒ‰éœ€è°ƒæ•´ */
    padding: 0 18px;
    gap: 8px;
    background: linear-gradient(90deg, rgba(255,138,0,0.10), rgba(255,138,0,0.06));
    border: 1px solid rgba(255,138,0,0.16);
    color: var(--tab-active-fg);
    font-size: 15px;
    font-weight: 700;
    border-radius: 999px;       /* å®Œæ•´åœ†è§’ï¼Œå½¢æˆé•¿æ¡ */
    box-shadow: 0 6px 18px rgba(0,0,0,.18);
    transition: transform .14s ease, box-shadow .14s ease, background .14s ease, color .14s ease;
    position: relative;
    text-align: center;
}

/* æ‚¬åœ/æ¿€æ´»/é”®ç›˜èšç„¦æ•ˆæžœ */
/*.lod-more-btn:hover {*/
/*    background: linear-gradient(90deg, var(--tab-active-bg), rgba(255,138,0,0.18));*/
/*    color: var(--tab-active-fg);*/
/*    transform: translateY(-2px);*/
/*    box-shadow: 0 10px 30px rgba(0,0,0,.28);*/
/*    border: none;*/
/*}*/
.lod-more-btn:active {
    transform: translateY(0);
}
.lod-more-btn:focus-visible {
    outline: 3px solid rgba(255,138,0,0.22);
    outline-offset: 4px;
    border-radius: 999px;
}

/* è®©æŒ‰é’®å†…éƒ¨ä¸¤è¡Œæ–‡å­—å˜ä¸ºä¸€è¡Œå±…ä¸­ï¼ˆå¦‚æžœéœ€è¦ä¿ç•™çºµå‘ä¸¤è¡Œå¯åˆ æŽ‰ï¼‰ */
.loytpanel-more-text {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    line-height: 1;
    white-space: nowrap;
}

/* å°å±å¹•å¾®è°ƒï¼Œç¡®ä¿ä¸è‡³äºŽè¿‡å¤§ */
@media (max-width: 420px) {
    .lod-more-btn {
        height: 40px;
        font-size: 14px;
        width: calc(100% - 12px);
        max-width: none;
    }
}

/* =========================
   Back to Top
   ========================= */
.global-backtop {
    position: fixed;
    right: var(--backtop-offset-right);
    bottom: var(--backtop-offset-bottom);
    width: var(--backtop-size);
    height: var(--backtop-size);
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--backtop-bg);
    color: var(--backtop-color);
    border: none;
    outline: none;
    cursor: pointer;
    border-radius: var(--backtop-radius);
    box-shadow: var(--backtop-shadow);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    transition: opacity var(--backtop-fade-duration) ease, transform .25s ease;
    opacity: 0;
    transform: translateY(12px) scale(.91);
    pointer-events: none;
    font: inherit;
}
.global-backtop:focus-visible {
    box-shadow: 0 0 0 3px var(--accent-100), var(--backtop-shadow);
}
.global-backtop:hover {
    background: var(--backtop-bg-hover);
    transform: translateY(0) scale(1.07);
    color: var(--primary-300);
}
.global-backtop.is-visible {
    opacity: 1;
    transform: translateY(0) scale(1.07);
    pointer-events: auto;
}
/* åˆ†ç±»å¯¼èˆª Tabs ä¸ŽäºŒçº§åˆ†ç±»æ ·å¼ï¼ˆæ©™åº•ç™½å­—æ¿€æ´»ï¼‰ï¼ŒTabs ç­‰å®½è‡ªé€‚åº”é“ºæ»¡ */


/* ä¸€çº§åˆ†ç±»ï¼šBootstrap 5 Tabs */
.category-tabs .nav-tabs {
    border-bottom: 1px solid var(--bg-400, #1a1a1a);
    display: flex;            /* å…œåº•ï¼šç¡®ä¿ flex å¸ƒå±€å¯ç”¨ */
    width: 100%;
}

/* ç­‰å®½é“ºæ»¡ï¼šBootstrap çš„ nav-justified å·²å®žçŽ°ï¼Œä»¥ä¸‹ä¸ºå…œåº•ä¸Žç»†èŠ‚ */
.category-tabs .nav-tabs .nav-item {
    flex: 1 1 0;              /* ç­‰åˆ†å‰©ä½™ç©ºé—´ */
}
.category-tabs .nav-tabs .nav-link {
    width: 100%;              /* é“ºæ»¡å„è‡ªç½‘æ ¼ */
    text-align: center;
    color: var(--text-200, #d6d6d6);
    background: transparent;
    border: 0;
    border-radius: .5rem .5rem 0 0;
    transition: background .2s ease, color .2s ease, box-shadow .2s ease;
    overflow: hidden;         /* è¿‡é•¿åç§°çœç•¥ */
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 700;
    font-size: 16px;
}

.category-tabs .nav-tabs .nav-link:hover {
    color: #ffffff;
    background: rgba(255, 138, 0, .12);
}

/* é€‰ä¸­æ€ï¼šæ©™åº•ç™½å­— */
.category-tabs .nav-tabs .nav-link.active,
.category-tabs .nav-tabs .nav-item.show .nav-link {
    color: var(--tab-active-fg);
    background: var(--tab-active-bg);
    border: 0;
    box-shadow: 0 4px 10px rgba(0,0,0,.18);
}

.category-tabs .nav-tabs .nav-link:focus-visible {
    outline: 2px solid var(--tab-active-bg);
    outline-offset: 2px;
}

/* é¢æ¿æ–‡æœ¬é¢œè‰²æ²¿ç”¨ä¸»é¢˜ */
.category-tabs .tab-content {
    color: var(--text-200, #d6d6d6);
    width: 100%;
}

/* äºŒçº§åˆ†ç±»åŒºåŸŸ */
.nav_s { display: inline-block; font-size: 15px;width: 100%; }

/* ä»…å®šä¹‰ä¸€æ¬¡ nav_flexï¼Œå¸ƒå±€ä¸Ž HTML å†…è” gap ä¿æŒå…¼å®¹ */
.nav_s .nav_flex {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    line-height: 25px;
    width: 100%;
}

/* äºŒçº§åˆ†ç±»æŒ‰é’®ï¼ˆç°é˜¶åŸºè°ƒï¼‰ */
.nav_s .nav_flex a {
    flex: 0 0 calc(25% - 2px);
    box-sizing: border-box;
    white-space: nowrap;
    display: inline-block;
    color: var(--text-100, #f5f5f5);
    background: var(--primary-200, #252525);
    border: 1px solid var(--bg-400, #1a1a1a);
    border-radius: 3px;
    padding: 5px 9px;
    font-size: 15px;
    font-weight: 500;
    transition: background .14s ease, color .14s ease, border-color .14s ease, box-shadow .14s ease;
}

.nav_s .nav_flex a:hover {
    background: #2f2f2f;
    color: #ffffff;
    border-color: #3a3a3a;
}

/* äºŒçº§åˆ†ç±»é€‰ä¸­æ€ï¼ˆæ²¿ç”¨æ©™åº•ç™½å­—ï¼‰ */
.nav_s .nav_flex .active-tit {
    background: var(--tab-active-bg);
    color: var(--tab-active-fg);
    border-color: var(--tab-active-bg);
    box-shadow: 0 3px 10px rgba(0,0,0,.18);
}

/* å¯é€‰ï¼šå½“ä¸€çº§åˆ†ç±»å¾ˆå¤šæ—¶ï¼Œæžçª„å±ä¿æŒç­‰å®½ä½†å…è®¸æ–‡å­—çœç•¥ï¼Œæ— éœ€æ¨ªå‘æ»šåŠ¨ */
@media (max-width: 375px) {
    .category-tabs .nav-tabs .nav-link { font-size: 13px; padding-left: .5rem; padding-right: .5rem; }
}
@media (hover: none) {
    .global-backtop:hover {
        transform: translateY(0) scale(1.01);
    }
}
@media (prefers-reduced-motion: reduce) {
    .global-backtop {
        transition: none;
    }
}
@media (max-width: 640px) {
    :root {
        --backtop-size: 50px;
        --backtop-radius: 50%;
        --backtop-offset-right: 10px;
        --backtop-offset-bottom: 120px;
    }
    body { font-size: 15px; }
}

/* =========================
   Responsive
   ========================= */
@media (min-width: 576px) {
    .video-thumb {
        height: 170px;
    }

}
@media (min-width: 900px) {
    .video-thumb {
        height: 220px;
    }

    .video-title {
        font-size: 17px;
    }
}
@media (hover: none) {
    .video-card:hover {
        transform: none;
        box-shadow: var(--shadow-sm);
    }
    .video-card:hover .video-thumb {
        transform: none;
        filter: none;
    }
}
/* 2. å¼ºåŠ›é‡ç½®ï¼ˆå¦‚éœ€å½»åº•æ¸…ç©ºï¼‰ */
a.reset-all {
    all: unset;          /* æ¸…é™¤å…¨éƒ¨å¯é‡ç½®å±žæ€§ */
    cursor: pointer;     /* æ¢å¤äº¤äº’æ‰‹åŠ¿ */
    color: inherit;
    text-decoration: none;
}
a.reset-all:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

/* 3. å¦‚æžœéœ€è¦ç»Ÿä¸€çŠ¶æ€ï¼ˆå« visited/activeï¼‰ */
a,
a:visited,
a:hover,
a:active {
    color: inherit;
    text-decoration: none;
}

/* 4. å¯é€‰ï¼šæš—è‰²æ¨¡å¼ä¸‹å¯è‡ªé€‚åº”ï¼ˆç¤ºä¾‹ï¼‰ */
@media (prefers-color-scheme: dark) {
    a:focus-visible {
        outline-color: #4da3ff;
    }
}

#iframe-mask {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.7);
    z-index: 9999;
    justify-content: center;
    align-items: center;
}
#iframe-warning {
    background: linear-gradient(135deg, #ff6b6b, #ff8e8e);
    padding: 30px 40px;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgb(0 0 0 / 30%);
    text-align: center;
    max-width: 400px;
    animation: fadeIn 0.3s ease-out;
}
.warning-title {
    color: white;
    font-size: 24px;
    margin-bottom: 15px;
    font-weight: bold;
    text-shadow: 2px 2px 4px rgb(0 0 0 / 20%);
}
.warning-button {
    background: white;
    color: #ff6b6b;
    border: none;
    padding: 12px 30px;
    border-radius: 25px;
    font-size: 16px;
    cursor: pointer;
    transition: all 0.3s;
    margin-top: 15px;
    box-shadow: 0 4px 15px rgb(0 0 0 / 20%);
}

/* =========================
   åˆ†ç±»å¯¼èˆª/æŽ¨å¹¿
   ========================= */
.one_category {
    position: relative;
    background: #22222a;
    padding: 6px;
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    width: 100%;
    border-radius: 5px;
    box-shadow: 0 2px 8px #22222a;
    margin-bottom: 5px;
}
.one_category .category_name {
    width: 12%;
    font-size: 16px;
    color: #fff;
    position: relative;
    font-weight: 900;
    letter-spacing: .05em;
    text-align: center;
}
.one_category .category_name:after {
    position: absolute;
    width: 0px;
    height: 80%;
    top: 4px;
    content: "";
    background: #ff8a00;
    border-radius: 2px;
}
.one_category .nav_s {
    display: inline-block;
    width: 88%;
    margin-left: 15px;
    font-size: 15px;
}
.one_category .nav_flex {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    line-height: 25px;
}
.one_category .nav_s .nav_flex {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
}
.one_category .nav_s .nav_flex a {
    flex: 0 0 calc(25% - 10px);
    box-sizing: border-box;
    white-space: nowrap;
    display: inline-block;
    background: transparent;
    color: #f6f6fb;
    border-radius: 7px;
    padding: 5px 0px;
    font-size: 13px;
    font-weight: 500;
    border: 1px solid #433b63;
    transition: background .14s, color .14s;
}
.one_category .nav_s .nav_flex a:active {
    color: #fff;
    border-color: #ff8a00;
}

@media (max-width: 340px) {
  .fs-5, .logo-text {
    font-size: 1.1rem !important;
  }
  .h5, h5{
    font-size: 1.1rem !important;
  }
  .ytpanel-btn, .secondLevelName{
      font-size: 12px !important;
  }
  .one_category .nav_s .nav_flex a{
      font-size: 11px !important;
  }
}