:root{
    --primary:#6d5dfc;
    --accent:#22d3ee;
    --bg:#0f1020;
    --text:#e8eaf6;
    --card-bg:#1a1c2e;
    --border:#2a2d44;
    --shadow:0 8px 30px rgba(0,0,0,0.35);
    --radius:8px;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{
    background-color:var(--bg);
    color:var(--text);
    font-family:'Inter',sans-serif;
    overflow-x:hidden;
}
/* 滚动进度条 */
#progress-bar{
    position:fixed;top:0;left:0;height:3px;width:0%;
    background:linear-gradient(90deg,var(--primary),var(--accent));
    z-index:9999;transition:width 0.1s linear;border-radius:0 2px 2px 0;
}
/* 导航栏 */
.navbar-custom{
    background:rgba(15,16,32,0.65);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    border-bottom:1px solid rgba(42,45,68,0.5);
    transition:all 0.4s ease;
    padding:0.8rem 0;
    z-index:1050;
}
.navbar-custom.scrolled{
    background:rgba(10,11,22,0.92);
    box-shadow:0 4px 30px rgba(0,0,0,0.6);
    padding:0.4rem 0;
}
.navbar-brand{
    font-size:1.6rem;
    font-weight:900;
    background:linear-gradient(135deg,var(--primary),var(--accent));
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
    background-clip:text;
    letter-spacing:1px;
}
.navbar-brand i{margin-right:6px;color:var(--accent);}
.nav-link{
    color:var(--text) !important;
    font-weight:500;
    margin:0 0.5rem;
    font-size:0.95rem;
    position:relative;
    transition:color 0.3s;
}
.nav-link:hover{color:var(--accent) !important;}
.nav-link::after{
    content:'';position:absolute;bottom:-4px;left:0;width:0;height:2px;
    background:var(--accent);transition:width 0.3s;border-radius:2px;
}
.nav-link:hover::after{width:100%;}
/* Hero 开场 */
.hero-section{
    padding:120px 0 80px;
    text-align:center;
    background:radial-gradient(ellipse at 20% 20%,rgba(109,93,252,0.18),transparent 50%),
                radial-gradient(ellipse at 80% 0%,rgba(34,211,238,0.12),transparent 50%);
    position:relative;
    border-bottom:1px solid var(--border);
}
.hero-title{
    font-size:clamp(2.5rem,5vw,4rem);
    font-weight:900;
    line-height:1.15;
    letter-spacing:-0.02em;
    margin-bottom:1.2rem;
    font-family:'Inter',sans-serif;
}
.hero-title .gradient-text{
    background:linear-gradient(135deg,var(--primary) 10%,var(--accent) 90%);
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
    background-clip:text;
}
.hero-subtitle{
    font-size:1.15rem;
    color:rgba(232,234,246,0.75);
    max-width:700px;
    margin:0 auto 2.2rem;
    font-weight:300;
    line-height:1.7;
}
.hero-buttons .btn{
    padding:0.75rem 2.2rem;
    border-radius:50px;
    font-weight:600;
    font-size:1rem;
    margin:0 0.6rem;
    transition:all 0.3s ease;
}
.btn-primary-custom{
    background:var(--primary);
    border:none;color:#fff;
    box-shadow:0 4px 20px rgba(109,93,252,0.4);
}
.btn-primary-custom:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(109,93,252,0.5);}
.btn-outline-custom{
    background:transparent;border:2px solid var(--accent);
    color:var(--accent);
}
.btn-outline-custom:hover{background:rgba(34,211,238,0.1);transform:translateY(-2px);}
/* 区块标题 */
.section-title-wrap{margin-bottom:2.5rem;}
.section-title{
    font-size:2rem;
    font-weight:800;
    margin-bottom:0.3rem;
    position:relative;
    display:inline-block;
}
.section-title i{color:var(--accent);margin-right:10px;font-size:1.6rem;}
.section-subtitle{
    color:rgba(232,234,246,0.55);
    font-size:0.95rem;
    font-weight:300;
    margin-left:5px;
}
/* 分类侧边栏 */
.layout-wrapper{
    display:flex;
    gap:2rem;
    padding:0 15px;
    max-width:1500px;
    margin:0 auto;
}
.sidebar{
    width:200px;
    flex-shrink:0;
    position:sticky;
    top:90px;
    height:fit-content;
    background:var(--card-bg);
    border-radius:var(--radius);
    padding:1.2rem 0;
    border:1px solid var(--border);
}
.sidebar-title{
    font-size:0.8rem;
    font-weight:700;
    color:rgba(232,234,246,0.4);
    padding:0 1.2rem 0.8rem;
    letter-spacing:1.5px;
}
.sidebar-item{
    display:block;
    padding:0.6rem 1.2rem;
    color:var(--text);
    text-decoration:none;
    font-size:0.9rem;
    font-weight:500;
    border-left:3px solid transparent;
    transition:all 0.2s;
}
.sidebar-item:hover,.sidebar-item.active{
    background:rgba(109,93,252,0.08);
    border-left-color:var(--primary);
    color:var(--accent);
}
.sidebar-item i{width:20px;margin-right:8px;font-size:0.85rem;color:rgba(232,234,246,0.5);}
.sidebar-item:hover i{color:var(--accent);}
/* 海报卡片 */
.poster-grid{
    flex:1;
    min-width:0;
}
.row-movie{display:flex;flex-wrap:wrap;gap:1.2rem;}
.movie-card{
    flex:0 0 calc(25% - 0.9rem);
    max-width:calc(25% - 0.9rem);
    border-radius:var(--radius);
    overflow:hidden;
    position:relative;
    background:var(--card-bg);
    border:1px solid var(--border);
    transition:transform 0.4s,box-shadow 0.4s;
    cursor:pointer;
    aspect-ratio:2/3;
    box-shadow:0 4px 15px rgba(0,0,0,0.2);
}
@media(max-width:1200px){.movie-card{flex:0 0 calc(33.33% - 0.8rem);max-width:calc(33.33% - 0.8rem);}}
@media(max-width:768px){.movie-card{flex:0 0 calc(50% - 0.6rem);max-width:calc(50% - 0.6rem);}}
@media(max-width:480px){.movie-card{flex:0 0 100%;max-width:100%;aspect-ratio:2/2.4;}}
.movie-card:hover{
    transform:translateY(-8px) scale(1.02);
    box-shadow:0 20px 40px rgba(0,0,0,0.5);
    z-index:5;
}
.movie-card img{
    width:100%;height:100%;object-fit:cover;display:block;
    transition:transform 0.5s;
}
.movie-card:hover img{transform:scale(1.08);}
.movie-overlay{
    position:absolute;bottom:0;left:0;right:0;
    background:linear-gradient(to top,rgba(10,11,22,0.95) 0%,rgba(10,11,22,0.6) 55%,transparent 100%);
    padding:1rem 1rem 0.8rem;
    transform:translateY(20px);
    opacity:0;
    transition:all 0.35s;
    z-index:2;
}
.movie-card:hover .movie-overlay{
    transform:translateY(0);
    opacity:1;
}
.movie-title{
    font-weight:700;
    font-size:0.95rem;
    margin-bottom:0.2rem;
    color:#fff;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.movie-meta{
    font-size:0.72rem;
    color:rgba(232,234,246,0.7);
    display:flex;gap:0.5rem;flex-wrap:wrap;
}
.movie-rating{
    color:var(--accent);
    font-weight:700;
    font-size:0.8rem;
}
.play-btn{
    position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0.6);
    width:52px;height:52px;border-radius:50%;
    background:rgba(109,93,252,0.9);
    border:2px solid #fff;
    display:flex;align-items:center;justify-content:center;
    color:#fff;font-size:1.1rem;
    opacity:0;
    transition:all 0.35s cubic-bezier(0.34,1.56,0.64,1);
    z-index:3;
    box-shadow:0 0 25px rgba(109,93,252,0.6);
}
.movie-card:hover .play-btn{
    opacity:1;
    transform:translate(-50%,-50%) scale(1);
}
/* 卡片翻转详情 */
.movie-card.flipped .movie-inner{transform:rotateY(180deg);}
.movie-inner{
    position:relative;width:100%;height:100%;
    transition:transform 0.6s;
    transform-style:preserve-3d;
}
.movie-front,.movie-back{
    position:absolute;top:0;left:0;width:100%;height:100%;
    backface-visibility:hidden;-webkit-backface-visibility:hidden;
    border-radius:var(--radius);
}
.movie-back{
    transform:rotateY(180deg);
    background:var(--card-bg);
    border:1px solid var(--border);
    padding:0.9rem;
    overflow-y:auto;
    display:flex;flex-direction:column;
    gap:0.35rem;
}
.movie-back h6{
    font-weight:800;
    font-size:1rem;
    color:var(--accent);
    border-bottom:1px solid var(--border);
    padding-bottom:0.3rem;
    margin-bottom:0.2rem;
}
.movie-back .info-row{
    font-size:0.75rem;
    color:rgba(232,234,246,0.8);
}
.movie-back .info-row strong{color:var(--text);font-weight:600;}
.movie-back .plot{
    font-size:0.73rem;
    line-height:1.4;
    color:rgba(232,234,246,0.65);
    margin-top:0.2rem;
    flex-grow:1;
}
.close-flip{
    position:absolute;top:5px;right:5px;
    background:rgba(0,0,0,0.3);
    border:none;color:#fff;
    width:24px;height:24px;border-radius:50%;
    font-size:0.7rem;
    display:flex;align-items:center;justify-content:center;
    cursor:pointer;z-index:4;
}
/* 热度榜 */
.rank-list{
    background:var(--card-bg);
    border-radius:var(--radius);
    border:1px solid var(--border);
    padding:1.2rem;
}
.rank-item{
    display:flex;align-items:center;
    padding:0.7rem 0;
    border-bottom:1px solid rgba(42,45,68,0.4);
    transition:background 0.2s;
}
.rank-item:last-child{border-bottom:none;}
.rank-item:hover{background:rgba(109,93,252,0.05);}
.rank-num{
    font-size:1.4rem;
    font-weight:900;
    width:40px;
    color:var(--primary);
    font-style:italic;
}
.rank-item:nth-child(1) .rank-num{color:var(--accent);}
.rank-item:nth-child(2) .rank-num{color:var(--accent);opacity:0.8;}
.rank-item:nth-child(3) .rank-num{color:var(--accent);opacity:0.6;}
.rank-info{flex:1;padding:0 0.5rem;}
.rank-info .rank-name{font-weight:600;font-size:0.92rem;}
.rank-info .rank-desc{font-size:0.75rem;color:rgba(232,234,246,0.5);}
.rank-score{color:var(--accent);font-weight:700;font-size:0.9rem;}
/* 手风琴 */
.accordion-custom .accordion-item{
    background:var(--card-bg);
    border:1px solid var(--border);
    margin-bottom:0.8rem;
    border-radius:var(--radius);
    overflow:hidden;
}
.accordion-custom .accordion-button{
    background:var(--card-bg);
    color:var(--text);
    font-weight:600;
    font-size:0.95rem;
    padding:1rem 1.2rem;
    box-shadow:none;
    border:none;
}
.accordion-custom .accordion-button:not(.collapsed){
    background:rgba(109,93,252,0.1);
    color:var(--accent);
}
.accordion-custom .accordion-button:focus{
    box-shadow:none;
    border:none;
}
.accordion-custom .accordion-body{
    background:var(--card-bg);
    color:rgba(232,234,246,0.75);
    font-size:0.88rem;
    line-height:1.7;
    padding-top:0;
    border-top:1px solid var(--border);
}
/* 图标列表 */
.icon-list{
    display:flex;
    flex-wrap:wrap;
    gap:1.5rem;
    margin-top:1rem;
}
.icon-list-item{
    display:flex;
    align-items:center;
    gap:0.8rem;
    background:var(--card-bg);
    border:1px solid var(--border);
    padding:0.8rem 1.4rem;
    border-radius:50px;
    font-size:0.9rem;
    font-weight:500;
    transition:all 0.3s;
}
.icon-list-item i{
    color:var(--accent);
    font-size:1.1rem;
    width:24px;
    text-align:center;
}
.icon-list-item:hover{
    border-color:var(--primary);
    transform:translateY(-2px);
}
/* 专题 */
.topic-card{
    background:linear-gradient(135deg,rgba(109,93,252,0.12),rgba(34,211,238,0.06));
    border:1px solid rgba(109,93,252,0.3);
    border-radius:var(--radius);
    padding:1.8rem;
    margin-bottom:1.5rem;
}
.topic-card h4{color:var(--accent);font-weight:700;margin-bottom:0.8rem;}
.topic-card p{color:rgba(232,234,246,0.8);line-height:1.7;font-size:0.92rem;}
.topic-card .topic-tag{
    display:inline-block;
    background:rgba(109,93,252,0.2);
    padding:0.3rem 1rem;
    border-radius:20px;
    font-size:0.75rem;
    color:var(--accent);
    margin-top:0.5rem;
    margin-right:0.5rem;
    border:1px solid rgba(109,93,252,0.3);
}
/* 推荐按钮 */
.recommend-box{
    background:var(--card-bg);
    border-radius:var(--radius);
    padding:2rem;
    text-align:center;
    border:1px solid var(--border);
}
.recommend-box h5{color:var(--text);font-weight:700;margin-bottom:1rem;}
#recommendBtn{
    background:var(--primary);
    border:none;color:#fff;
    padding:0.8rem 2rem;
    border-radius:50px;
    font-weight:600;
    margin-bottom:1rem;
    transition:all 0.3s;
}
#recommendBtn:hover{background:var(--accent);color:var(--bg);}
#recommendResult{
    color:var(--accent);
    font-weight:600;
    font-size:1.1rem;
    min-height:2rem;
    margin-top:0.5rem;
}
/* 页脚 */
.footer{
    background:#0a0b16;
    border-top:1px solid var(--border);
    padding:2rem 0;
    margin-top:3rem;
}
.footer-brand{font-size:1.4rem;font-weight:900;color:var(--text);}
.footer-brand i{color:var(--primary);}
.footer-links a{
    color:rgba(232,234,246,0.6);
    text-decoration:none;
    margin:0 0.8rem;
    font-size:0.85rem;
    transition:color 0.3s;
}
.footer-links a:hover{color:var(--accent);}
.footer-bottom{
    border-top:1px solid rgba(42,45,68,0.4);
    margin-top:1.5rem;
    padding-top:1.5rem;
    font-size:0.8rem;
    color:rgba(232,234,246,0.4);
}
/* 友链 */
.friend-links{
    background:var(--card-bg);
    border-radius:var(--radius);
    padding:1.2rem 1.5rem;
    border:1px solid var(--border);
    margin-top:2rem;
}
.friend-links h6{
    font-weight:700;
    font-size:0.9rem;
    color:rgba(232,234,246,0.6);
    margin-bottom:0.8rem;
    letter-spacing:1px;
}
.friend-links a{
    color:rgba(232,234,246,0.5);
    text-decoration:none;
    font-size:0.85rem;
    margin-right:1.2rem;
    transition:color 0.3s;
}
.friend-links a:hover{color:var(--accent);}
/* 轮播 */
.carousel-custom .carousel-item{
    border-radius:var(--radius);
    overflow:hidden;
    height:300px;
    background-size:cover;
    background-position:center;
    position:relative;
}
.carousel-custom .carousel-item::before{
    content:'';
    position:absolute;top:0;left:0;right:0;bottom:0;
    background:linear-gradient(to right,rgba(15,16,32,0.9) 30%,transparent 100%);
}
.carousel-custom .carousel-content{
    position:absolute;top:50%;left:5%;transform:translateY(-50%);
    z-index:2;max-width:450px;
    color:#fff;
}
.carousel-custom .carousel-content h3{
    font-size:1.8rem;
    font-weight:900;
    margin-bottom:0.5rem;
}
.carousel-custom .carousel-content p{
    color:rgba(232,234,246,0.8);
    font-size:0.9rem;
    line-height:1.5;
}
.carousel-custom .carousel-content .badge-custom{
    background:var(--primary);
    padding:0.3rem 1rem;
    border-radius:20px;
    font-size:0.7rem;
    font-weight:600;
    margin-right:0.5rem;
}
.carousel-indicators [data-bs-target]{background-color:var(--primary);width:30px;height:3px;border-radius:2px;}
/* 轮播item背景用渐变+纹理 */
.carousel-1{background:linear-gradient(135deg,#1a1c3e,#2d1f5e);}
.carousel-2{background:linear-gradient(135deg,#0e2f44,#1b2a5a);}
.carousel-3{background:linear-gradient(135deg,#2a1e3f,#4a1e3f);}
/* 通用 */
.btn-custom-primary{
    background:var(--primary);
    color:#fff;border:none;
    padding:0.5rem 1.4rem;
    border-radius:50px;
    font-weight:600;
    font-size:0.85rem;
    transition:all 0.3s;
}
.btn-custom-primary:hover{background:var(--accent);color:var(--bg);}
.section-padding{padding:3rem 0;}
.content-max{max-width:1400px;margin:0 auto;padding:0 15px;}
.section-header{
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    margin-bottom:1.5rem;
}
.section-header h2{font-size:1.6rem;font-weight:800;}
.section-header h2 i{color:var(--accent);margin-right:8px;}
.section-header .more-link{color:var(--accent);font-size:0.85rem;text-decoration:none;font-weight:500;}
.section-header .more-link:hover{text-decoration:underline;}
.divider{border-top:1px solid var(--border);margin:2rem 0;}

/* --- 子页面追加 --- */
/* 覆盖bootstrap组件，确保与站点配色一致 */
        .card, .card-body, .card-title, .card-text, .card-header, .card-footer {
            background: var(--card-bg);
            color: var(--text);
            border-color: var(--border);
        }
.form-control, .form-select {
            background: rgba(0,0,0,0.35);
            color: var(--text);
            border-color: var(--border);
        }
.form-control::placeholder {
            color: rgba(255,255,255,0.45);
        }
.list-group-item {
            background: var(--card-bg);
            color: var(--text);
            border-color: var(--border);
        }
.accordion-item, .accordion-button {
            background: var(--card-bg);
            color: var(--text);
            border-color: var(--border);
        }
.modal-content {
            background: var(--card-bg);
            color: var(--text);
            border-color: var(--border);
        }
.dropdown-menu {
            background: var(--card-bg);
            border-color: var(--border);
        }
.dropdown-item {
            color: var(--text);
        }
.dropdown-item:hover {
            background: rgba(109, 93, 252, 0.2);
            color: var(--text);
        }
.navbar-custom .nav-link.active {
            color: var(--accent) !important;
            font-weight: 600;
        }
/* 关于页专属卡片 */
        .about-card {
            background: var(--card-bg);
            border: 1px solid var(--border);
            border-radius: var(--radius);
            box-shadow: var(--shadow);
            padding: 2rem 1.8rem;
            height: 100%;
            transition: transform 0.25s ease, border-color 0.2s;
        }
.about-card:hover {
            transform: translateY(-4px);
            border-color: var(--primary);
        }
.about-icon {
            font-size: 2.2rem;
            color: var(--primary);
            margin-bottom: 1rem;
        }
.about-stat {
            font-size: 2rem;
            font-weight: 800;
            color: var(--accent);
            line-height: 1.2;
        }
.about-label {
            color: var(--text);
            opacity: 0.75;
            font-size: 0.9rem;
        }
.section-space {
            padding: 4rem 0;
        }
.feature-list li {
            margin-bottom: 0.6rem;
            display: flex;
            align-items: flex-start;
            gap: 0.5rem;
        }
.feature-list i {
            color: var(--accent);
            margin-top: 0.25rem;
        }
.text-muted-soft {
            color: rgba(232, 234, 246, 0.7);
        }
.blockquote-custom {
            border-left: 4px solid var(--primary);
            background: rgba(109, 93, 252, 0.08);
            padding: 1.2rem 1.5rem;
            border-radius: 0 var(--radius) var(--radius) 0;
        }

/* --- 子页面追加 --- */
/* 本页专属样式——免责声明页 */
        .disclaimer-hero {
            background: linear-gradient(135deg, rgba(109,93,252,0.15) 0%, rgba(34,211,238,0.08) 100%);
            border-bottom: 1px solid var(--border);
            padding: 70px 0 50px;
            text-align: center;
        }
.disclaimer-hero .hero-badge {
            display: inline-block;
            background: rgba(109,93,252,0.2);
            color: var(--primary);
            border: 1px solid rgba(109,93,252,0.4);
            padding: 6px 18px;
            border-radius: 50px;
            font-size: 0.85rem;
            font-weight: 600;
            letter-spacing: 0.5px;
            margin-bottom: 18px;
        }
.disclaimer-hero h1 {
            font-size: 2.6rem;
            font-weight: 800;
            color: var(--text);
            margin-bottom: 14px;
        }
.disclaimer-hero h1 span {
            color: var(--primary);
        }
.disclaimer-hero p {
            color: rgba(232,234,246,0.7);
            max-width: 680px;
            margin: 0 auto;
            font-size: 1.05rem;
            line-height: 1.8;
        }
.disclaimer-content {
            padding: 60px 0 70px;
        }
.disclaimer-card {
            background: var(--card-bg);
            border: 1px solid var(--border);
            border-radius: var(--radius);
            padding: 35px 40px;
            margin-bottom: 30px;
            box-shadow: var(--shadow);
            transition: transform 0.3s ease, border-color 0.3s ease;
        }
.disclaimer-card:hover {
            transform: translateY(-3px);
            border-color: rgba(109,93,252,0.4);
        }
.disclaimer-card h2 {
            font-size: 1.45rem;
            font-weight: 700;
            color: var(--text);
            margin-bottom: 18px;
            display: flex;
            align-items: center;
            gap: 12px;
        }
.disclaimer-card h2 i {
            color: var(--primary);
            font-size: 1.3rem;
            width: 32px;
            text-align: center;
        }
.disclaimer-card p {
            color: rgba(232,234,246,0.75);
            line-height: 1.85;
            margin-bottom: 12px;
            font-size: 0.95rem;
        }
.disclaimer-card p:last-child {
            margin-bottom: 0;
        }
.disclaimer-card ul {
            padding-left: 20px;
            margin-bottom: 14px;
        }
.disclaimer-card ul li {
            color: rgba(232,234,246,0.75);
            line-height: 1.8;
            font-size: 0.95rem;
            margin-bottom: 6px;
            position: relative;
        }
.disclaimer-card ul li::marker {
            color: var(--primary);
        }
.disclaimer-card .highlight-box {
            background: rgba(109,93,252,0.08);
            border-left: 3px solid var(--primary);
            padding: 14px 18px;
            border-radius: 0 var(--radius) var(--radius) 0;
            margin: 16px 0;
        }
.disclaimer-card .highlight-box p {
            margin-bottom: 0;
            font-size: 0.9rem;
            color: rgba(232,234,246,0.8);
        }
.disclaimer-updated {
            text-align: center;
            margin-top: 40px;
            color: rgba(232,234,246,0.4);
            font-size: 0.85rem;
        }
.disclaimer-updated i {
            margin-right: 6px;
        }
.disclaimer-hero h1 {
                font-size: 2rem;
            }
.disclaimer-card {
                padding: 25px 22px;
            }
.disclaimer-card h2 {
                font-size: 1.2rem;
            }

/* --- 子页面追加 --- */
/* 本页专属样式 - 短剧专区 */
        .drama-hero {
            background: linear-gradient(135deg, var(--bg) 0%, #1e1145 100%);
            border-bottom: 1px solid var(--border);
            padding: 4rem 0 3rem;
            margin-bottom: 2rem;
        }
.drama-hero .badge-tag {
            background: var(--primary);
            color: #fff;
            padding: 0.25rem 0.8rem;
            border-radius: 30px;
            font-size: 0.8rem;
            font-weight: 600;
            letter-spacing: 0.3px;
            display: inline-block;
            margin-bottom: 1rem;
        }
.drama-filter-bar {
            background: var(--card-bg);
            border: 1px solid var(--border);
            border-radius: var(--radius);
            padding: 1rem 1.5rem;
            margin-bottom: 2.5rem;
            display: flex;
            flex-wrap: wrap;
            gap: 0.8rem;
            align-items: center;
        }
.drama-filter-bar .filter-label {
            color: var(--text);
            font-weight: 600;
            margin-right: 0.5rem;
        }
.drama-chip {
            background: rgba(255,255,255,0.06);
            border: 1px solid var(--border);
            color: var(--text);
            padding: 0.4rem 1.2rem;
            border-radius: 30px;
            font-size: 0.85rem;
            cursor: pointer;
            transition: all 0.2s;
        }
.drama-chip:hover, .drama-chip.active {
            background: var(--primary);
            border-color: var(--primary);
            color: #fff;
        }
.drama-card {
            background: var(--card-bg);
            border: 1px solid var(--border);
            border-radius: var(--radius);
            overflow: hidden;
            transition: transform 0.2s, box-shadow 0.2s;
            height: 100%;
            display: flex;
            flex-direction: column;
        }
.drama-card:hover {
            transform: translateY(-4px);
            box-shadow: var(--shadow);
            border-color: var(--primary);
        }
.drama-card .card-img-wrap {
            position: relative;
            aspect-ratio: 3/4;
            background: #12142a;
            overflow: hidden;
        }
.drama-card .card-img-wrap img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.3s;
        }
.drama-card:hover .card-img-wrap img {
            transform: scale(1.03);
        }
.drama-card .card-badge {
            position: absolute;
            top: 10px;
            left: 10px;
            background: rgba(109, 93, 252, 0.9);
            color: #fff;
            font-size: 0.7rem;
            padding: 0.2rem 0.6rem;
            border-radius: 4px;
            font-weight: 600;
        }
.drama-card .card-ep {
            position: absolute;
            bottom: 10px;
            right: 10px;
            background: rgba(0,0,0,0.7);
            color: #fff;
            font-size: 0.7rem;
            padding: 0.2rem 0.5rem;
            border-radius: 4px;
            backdrop-filter: blur(4px);
        }
.drama-card .card-body-custom {
            padding: 1rem;
            display: flex;
            flex-direction: column;
            flex: 1;
        }
.drama-card .drama-title {
            font-size: 1rem;
            font-weight: 600;
            color: var(--text);
            margin-bottom: 0.3rem;
            line-height: 1.3;
        }
.drama-card .drama-meta {
            font-size: 0.8rem;
            color: rgba(232,234,246,0.6);
            margin-bottom: 0.5rem;
        }
.drama-card .drama-desc {
            font-size: 0.8rem;
            color: rgba(232,234,246,0.7);
            line-height: 1.5;
            flex: 1;
        }
.drama-card .drama-rating {
            color: #fbbf24;
            font-size: 0.8rem;
            font-weight: 600;
            margin-top: 0.6rem;
        }
.section-divider {
            border-top: 1px solid var(--border);
            margin: 3rem 0;
        }
.recommend-banner {
            background: linear-gradient(90deg, rgba(109,93,252,0.15) 0%, rgba(34,211,238,0.1) 100%);
            border: 1px solid var(--border);
            border-radius: var(--radius);
            padding: 1.5rem 2rem;
            margin: 2.5rem 0;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: space-between;
        }
.recommend-banner .banner-text {
            color: var(--text);
            font-weight: 600;
            font-size: 1.1rem;
        }
.recommend-banner .banner-text i {
            color: var(--accent);
            margin-right: 0.5rem;
        }
.drama-hero {
                padding: 2.5rem 0 2rem;
            }
.drama-filter-bar {
                padding: 0.8rem;
                gap: 0.5rem;
            }

/* --- 子页面追加 --- */
/* 编辑推荐页专属卡片微调 */
        .editor-card {
            background: var(--card-bg);
            border: 1px solid var(--border);
            border-radius: var(--radius);
            padding: 1.25rem;
            transition: transform .2s, box-shadow .2s;
            height: 100%;
        }
.editor-card:hover {
            transform: translateY(-4px);
            box-shadow: var(--shadow);
        }
.editor-card .badge-tag {
            display: inline-block;
            background: rgba(109, 93, 252, .2);
            color: var(--accent);
            font-size: .75rem;
            font-weight: 600;
            padding: .25rem .7rem;
            border-radius: 20px;
            letter-spacing: .3px;
        }
.editor-card h3 {
            font-size: 1.2rem;
            font-weight: 700;
            margin: .75rem 0 .5rem;
            color: var(--text);
        }
.editor-card p {
            color: rgba(232, 234, 246, .8);
            font-size: .95rem;
            line-height: 1.6;
        }
.editor-card .card-footer-link {
            color: var(--accent);
            font-weight: 600;
            text-decoration: none;
            font-size: .9rem;
        }
.editor-card .card-footer-link i {
            margin-left: 4px;
            transition: transform .2s;
        }
.editor-card .card-footer-link:hover i {
            transform: translateX(4px);
        }
.recommend-hero {
            background: linear-gradient(135deg, rgba(109, 93, 252, .15) 0%, rgba(34, 211, 238, .1) 100%);
            border-bottom: 1px solid var(--border);
            padding: 2.5rem 0 2rem;
        }
.section-gap {
            padding-top: 3rem;
            padding-bottom: 3rem;
        }
.list-unstyled-custom {
            list-style: none;
            padding-left: 0;
        }
.list-unstyled-custom li {
            padding: .5rem 0;
            border-bottom: 1px dashed rgba(42, 45, 68, .6);
            display: flex;
            align-items: center;
            color: var(--text);
        }
.list-unstyled-custom li i {
            color: var(--accent);
            margin-right: .6rem;
            width: 20px;
            text-align: center;
        }
.editor-quote {
            border-left: 4px solid var(--accent);
            padding-left: 1.25rem;
            font-style: italic;
            color: rgba(232, 234, 246, .8);
            margin-top: 1.5rem;
        }
/* 覆盖 bootstrap 卡片背景 */
        .card, .card-body {
            background: var(--card-bg);
            color: var(--text);
            border-color: var(--border);
        }

/* --- 子页面追加 --- */
.guide-section {
            background: var(--card-bg);
            border: 1px solid var(--border);
            border-radius: var(--radius);
            padding: 2rem 1.8rem;
            margin-bottom: 2rem;
            box-shadow: var(--shadow);
        }
.guide-section h2 {
            color: var(--accent);
            font-weight: 700;
            font-size: 1.6rem;
            margin-bottom: 1.2rem;
            border-left: 4px solid var(--primary);
            padding-left: 1rem;
        }
.guide-section h3 {
            color: var(--text);
            font-weight: 600;
            font-size: 1.3rem;
            margin-top: 1.8rem;
            margin-bottom: 0.8rem;
        }
.guide-section p, .guide-section li {
            color: var(--text);
            opacity: 0.9;
            line-height: 1.7;
        }
.guide-section ul, .guide-section ol {
            padding-left: 1.2rem;
            margin-bottom: 1rem;
        }
.guide-section li {
            margin-bottom: 0.5rem;
        }
.guide-icon {
            color: var(--primary);
            margin-right: 8px;
            width: 1.6rem;
            text-align: center;
        }
.step-box {
            background: rgba(109, 93, 252, 0.08);
            border: 1px solid rgba(109, 93, 252, 0.25);
            border-radius: 6px;
            padding: 1rem 1.2rem;
            margin: 1.2rem 0;
        }
.step-box .step-num {
            font-weight: 800;
            color: var(--accent);
            margin-right: 10px;
        }
.tip-box {
            background: rgba(34, 211, 238, 0.06);
            border-left: 4px solid var(--accent);
            padding: 1rem 1.2rem;
            margin: 1.5rem 0;
            border-radius: 0 8px 8px 0;
        }
.tip-box i {
            color: var(--accent);
            margin-right: 8px;
        }
code {
            background: rgba(109, 93, 252, 0.15);
            color: var(--accent);
            padding: 2px 8px;
            border-radius: 4px;
            font-size: 0.9em;
        }
.table-help {
            width: 100%;
            border-collapse: collapse;
            margin: 1.2rem 0;
        }
.table-help th, .table-help td {
            border: 1px solid var(--border);
            padding: 0.8rem 1rem;
            text-align: left;
            background: var(--card-bg);
            color: var(--text);
        }
.table-help th {
            background: rgba(109, 93, 252, 0.15);
            font-weight: 600;
            color: var(--text);
        }
.faq-mini {
            background: rgba(255,255,255,0.02);
            border-radius: 6px;
            padding: 0.8rem 1rem;
            margin-bottom: 0.8rem;
        }
.faq-mini strong {
            color: var(--accent);
        }

/* --- 子页面追加 --- */
/* 本页专属小样式——FAQ 手风琴/卡片 */
        .faq-wrap { max-width: 900px; margin: 0 auto; }
.faq-item {
            background: var(--card-bg);
            border: 1px solid var(--border);
            border-radius: var(--radius);
            margin-bottom: 14px;
            overflow: hidden;
            transition: box-shadow .3s ease, border-color .3s ease;
        }
.faq-item:hover { border-color: rgba(109,93,252,.45); box-shadow: 0 4px 20px rgba(0,0,0,.25); }
.faq-q {
            padding: 18px 22px;
            cursor: pointer;
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 14px;
            font-weight: 600;
            color: var(--text);
            user-select: none;
            border: none;
            background: transparent;
            width: 100%;
            text-align: left;
            font-size: 15.5px;
            letter-spacing: .2px;
        }
.faq-q .faq-icon {
            flex-shrink: 0;
            width: 30px; height: 30px;
            border-radius: 50%;
            display: flex; align-items: center; justify-content: center;
            background: rgba(109,93,252,.12);
            color: var(--primary);
            font-size: 14px;
            transition: transform .3s ease, background .3s ease, color .3s ease;
        }
.faq-item.active .faq-icon {
            transform: rotate(45deg);
            background: var(--primary);
            color: #fff;
        }
.faq-a {
            display: none;
            padding: 0 22px 20px;
            color: rgba(232,234,246,.82);
            font-size: 14.5px;
            line-height: 1.8;
            border-top: 1px dashed rgba(42,45,68,.8);
            margin: 0 22px;
            padding-left: 0;
            padding-right: 0;
        }
.faq-a p { margin-bottom: 10px; }
.faq-a ul { padding-left: 18px; margin-bottom: 10px; }
.faq-a li { margin-bottom: 4px; }
.faq-a a { color: var(--accent); text-decoration: underline; word-break: break-all; }
.faq-a a:hover { color: var(--primary); }
.faq-item.active .faq-a { display: block; animation: fadeInUp .3s ease; }
from { opacity: 0; transform: translateY(-6px); }
to { opacity: 1; transform: translateY(0); }
/* 分类标签胶囊 */
        .faq-cat-pills {
            display: flex; flex-wrap: wrap; gap: 10px;
            justify-content: center;
            margin-bottom: 34px;
        }
.faq-pill {
            padding: 8px 20px;
            border-radius: 50px;
            background: var(--card-bg);
            border: 1px solid var(--border);
            color: var(--text);
            font-size: 13.5px;
            font-weight: 500;
            cursor: pointer;
            transition: all .25s ease;
            letter-spacing: .3px;
        }
.faq-pill:hover, .faq-pill.active {
            background: var(--primary);
            border-color: var(--primary);
            color: #fff;
        }
.faq-more-help {
            text-align: center;
            margin-top: 40px;
            padding: 26px 20px;
            background: rgba(109,93,252,.05);
            border: 1px dashed rgba(109,93,252,.35);
            border-radius: var(--radius);
        }
.faq-more-help p { margin-bottom: 14px; color: rgba(232,234,246,.8); font-size: 15px; }
/* 页内锚点平滑滚动 */
        html { scroll-behavior: smooth; scroll-padding-top: 86px; }

/* --- 子页面追加 --- */
/* 覆盖 Bootstrap 可能的默认白底，确保与站点深色风格一致 */
        .privacy-content p, .privacy-content li, .privacy-content h2, .privacy-content h3 {
            color: var(--text);
        }
.privacy-box {
            background: var(--card-bg);
            border: 1px solid var(--border);
            border-radius: var(--radius);
            box-shadow: var(--shadow);
            padding: 2rem 1.8rem;
            margin-bottom: 2.2rem;
        }
.privacy-box h2 {
            font-size: 1.5rem;
            font-weight: 700;
            color: var(--accent);
            border-left: 4px solid var(--primary);
            padding-left: 1rem;
            margin-bottom: 1.2rem;
            letter-spacing: -0.01em;
        }
.privacy-box h3 {
            font-size: 1.2rem;
            font-weight: 600;
            color: var(--text);
            margin-top: 1.5rem;
            margin-bottom: 0.7rem;
        }
.privacy-box p, .privacy-box li {
            font-size: 0.98rem;
            line-height: 1.8;
            color: rgba(232,234,246,0.85);
        }
.privacy-box ul {
            padding-left: 1.4rem;
            margin-bottom: 1rem;
        }
.privacy-box a {
            color: var(--accent);
            text-decoration: underline;
            text-underline-offset: 2px;
        }
.privacy-box a:hover {
            color: var(--primary);
        }
/* 侧边栏等如有需要，保持继承 */
        .sidebar-item a {
            color: var(--text);
        }
/* 确保导航高亮当前页 (隐私政策) */
        .navbar-nav .nav-link.active {
            color: var(--accent);
            font-weight: 600;
        }
/* 调整布局内边距 */
        .layout-wrapper {
            padding-top: 2rem;
            padding-bottom: 3rem;
        }

/* --- 子页面追加 --- */
/* 页面专属样式 - 联系页 */
        .contact-hero {
            background: linear-gradient(135deg, rgba(109, 93, 252, 0.15) 0%, rgba(34, 211, 238, 0.1) 100%);
            border: 1px solid var(--border);
            border-radius: var(--radius);
            padding: 3rem 2rem;
            margin-bottom: 3rem;
            text-align: center;
        }
.contact-hero .hero-title {
            font-size: 2.2rem;
            font-weight: 800;
            color: var(--text);
            margin-bottom: 1rem;
        }
.contact-hero .hero-subtitle {
            font-size: 1.1rem;
            color: rgba(232, 234, 246, 0.75);
            max-width: 700px;
            margin: 0 auto;
            line-height: 1.7;
        }
.contact-card {
            background: var(--card-bg);
            border: 1px solid var(--border);
            border-radius: var(--radius);
            padding: 2rem;
            height: 100%;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }
.contact-card:hover {
            transform: translateY(-5px);
            box-shadow: var(--shadow);
        }
.contact-card .icon-wrap {
            width: 60px;
            height: 60px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.6rem;
            margin-bottom: 1.2rem;
            background: rgba(109, 93, 252, 0.15);
            color: var(--primary);
        }
.contact-card h3 {
            font-size: 1.15rem;
            font-weight: 700;
            color: var(--text);
            margin-bottom: 0.8rem;
        }
.contact-card p, .contact-card a {
            font-size: 0.95rem;
            color: rgba(232, 234, 246, 0.7);
            line-height: 1.6;
            word-break: break-all;
        }
.contact-card a:hover {
            color: var(--accent);
        }
.contact-card .btn-contact {
            display: inline-block;
            margin-top: 1rem;
            padding: 0.5rem 1.2rem;
            border-radius: var(--radius);
            font-size: 0.9rem;
            font-weight: 600;
            text-decoration: none;
            background: rgba(109, 93, 252, 0.2);
            color: var(--primary);
            border: 1px solid rgba(109, 93, 252, 0.4);
            transition: all 0.3s ease;
        }
.contact-card .btn-contact:hover {
            background: var(--primary);
            color: #fff;
            border-color: var(--primary);
        }
.faq-mini-list {
            margin-top: 1.5rem;
        }
.faq-mini-list .list-item {
            padding: 0.8rem 0;
            border-bottom: 1px solid rgba(42, 45, 68, 0.6);
            display: flex;
            align-items: flex-start;
            gap: 0.8rem;
        }
.faq-mini-list .list-item:last-child {
            border-bottom: none;
        }
.faq-mini-list .list-item i {
            color: var(--accent);
            margin-top: 0.25rem;
            font-size: 0.9rem;
        }
.faq-mini-list .list-item a {
            color: rgba(232, 234, 246, 0.75);
            text-decoration: none;
            font-size: 0.9rem;
            line-height: 1.5;
        }
.faq-mini-list .list-item a:hover {
            color: var(--accent);
        }
.reply-notice {
            background: rgba(34, 211, 238, 0.08);
            border: 1px solid rgba(34, 211, 238, 0.3);
            border-radius: var(--radius);
            padding: 1.5rem 2rem;
            margin-top: 3rem;
            display: flex;
            align-items: center;
            gap: 1.5rem;
            flex-wrap: wrap;
        }
.reply-notice i {
            font-size: 2rem;
            color: var(--accent);
        }
.reply-notice .notice-text {
            flex: 1;
            min-width: 250px;
        }
.reply-notice .notice-text h4 {
            font-size: 1.05rem;
            font-weight: 700;
            color: var(--text);
            margin-bottom: 0.3rem;
        }
.reply-notice .notice-text p {
            font-size: 0.9rem;
            color: rgba(232, 234, 246, 0.7);
            margin: 0;
        }
.cooperation-list {
            margin-top: 1rem;
        }
.cooperation-list .coop-item {
            display: flex;
            align-items: center;
            gap: 0.8rem;
            padding: 0.5rem 0;
            font-size: 0.95rem;
            color: rgba(232, 234, 246, 0.75);
        }
.cooperation-list .coop-item i {
            color: var(--primary);
            width: 20px;
            text-align: center;
        }
.contact-hero .hero-title {
                font-size: 1.6rem;
            }
.contact-card {
                margin-bottom: 1rem;
            }

/* --- Bootstrap 组件配色适配(程序自动补,避免白底黑字) --- */
.accordion-header { background:transparent !important; }
