:root{
    --primary:#10b981;
    --accent:#fbbf24;
    --bg:#0a1410;
    --text:#ecfdf5;
    --text-dim:#6b8f7d;
    --border:rgba(16,185,129,0.18);
}
*{margin:0;padding:0;box-sizing:border-box;}
body{
    background:var(--bg);
    color:var(--text);
    font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
    font-weight:400;
    line-height:1.7;
    letter-spacing:0.01em;
}
a{color:inherit;text-decoration:none;transition:color .25s;}
a:hover{color:var(--primary);}
h1,h2,h3,h4,h5,h6{font-weight:800;letter-spacing:-0.02em;line-height:1.3;}
h2{font-size:clamp(1.4rem,3vw,2rem);margin-bottom:.75rem;}
h3{font-size:1.1rem;}
.text-dim{color:var(--text-dim);font-size:.85rem;}
.badge-float{
    position:absolute;top:10px;left:10px;z-index:2;
    background:rgba(10,20,16,.85);color:var(--accent);
    border:1px solid var(--accent);border-radius:4px;
    font-size:.7rem;font-weight:700;padding:2px 8px;
    letter-spacing:.03em;
}
.rating-badge{
    position:absolute;bottom:10px;right:10px;z-index:2;
    background:rgba(10,20,16,.9);color:var(--accent);
    border:1px solid var(--border);border-radius:50%;
    width:38px;height:38px;display:flex;align-items:center;justify-content:center;
    font-size:.75rem;font-weight:800;
}
.card-movie{
    background:transparent;border:1px solid var(--border);border-radius:8px;
    overflow:hidden;cursor:pointer;transition:border-color .3s, transform .3s;
    position:relative;height:100%;
}
.card-movie:hover{border-color:var(--primary);transform:translateY(-3px);}
.card-movie img{
    width:100%;aspect-ratio:2/3;object-fit:cover;display:block;
    background:rgba(255,255,255,.04);
}
.card-movie .info{padding:12px 14px 14px;}
.card-movie .title{
    font-weight:700;font-size:.9rem;margin-bottom:2px;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.card-movie .meta{font-size:.72rem;color:var(--text-dim);}
.section-title{
    display:flex;align-items:center;gap:12px;margin-bottom:1.5rem;
    border-bottom:1px solid var(--border);padding-bottom:.75rem;
}
.section-title i{color:var(--primary);font-size:1.2rem;}
.section-title .title-text{font-size:1.4rem;font-weight:800;}
.section-title .count{color:var(--accent);font-size:.8rem;font-weight:600;border:1px solid var(--accent);border-radius:20px;padding:1px 12px;}
/* 导航 */
.navbar-pf{
    background:rgba(10,20,16,.88);
    backdrop-filter:blur(12px);
    border-bottom:1px solid var(--border);
    padding:14px 0;transition:background .3s;
}
.navbar-pf.scrolled{background:rgba(10,20,16,.97);}
.navbar-brand-pf{
    font-size:1.45rem;font-weight:900;color:var(--text);letter-spacing:-.02em;
}
.navbar-brand-pf i{color:var(--primary);margin-right:6px;}
.nav-link-pf{
    color:var(--text-dim);font-weight:500;font-size:.9rem;padding:.4rem .9rem !important;
    border:1px solid transparent;border-radius:20px;transition:all .3s;
}
.nav-link-pf:hover,.nav-link-pf.active{color:var(--text);border-color:var(--border);}
.navbar-toggler-pf{border:1px solid var(--border);background:transparent;border-radius:6px;padding:4px 10px;color:var(--text);}
/* 进度条 */
.scroll-progress{
    position:fixed;top:0;left:0;height:3px;width:0%;
    background:linear-gradient(90deg,var(--primary),var(--accent));
    z-index:9999;transition:width .1s;
}
/* 轮播 */
.hero-carousel{
    border-bottom:1px solid var(--border);
    background:radial-gradient(circle at 70% 20%, rgba(16,185,129,.08), transparent 60%);
    padding:60px 0 70px;
    text-align:center;
}
.hero-carousel h1{
    font-size:clamp(1.8rem,5vw,3rem);
    font-weight:900;letter-spacing:-.03em;margin-bottom:1rem;
}
.typewriter{
    display:inline-block;color:var(--primary);font-weight:800;
    border-right:2px solid var(--primary);padding-right:4px;
    animation:blink .8s step-end infinite;
}
@keyframes blink{50%{border-color:transparent;}}
.hero-sub{color:var(--text-dim);font-size:1rem;max-width:600px;margin:1.2rem auto 2rem;}
.hero-stats{
    display:flex;justify-content:center;gap:40px;flex-wrap:wrap;margin-top:30px;
}
.hero-stats .stat{
    font-size:2rem;font-weight:900;color:var(--text);
}
.hero-stats .stat span{display:block;font-size:.75rem;font-weight:500;color:var(--text-dim);letter-spacing:.1em;text-transform:uppercase;}
/* 左侧栏 */
.sidebar-cats{
    border-right:1px solid var(--border);
    padding-right:24px;position:sticky;top:100px;align-self:flex-start;
}
.sidebar-cats .cat-item{
    display:block;padding:10px 16px;margin-bottom:6px;
    border-radius:6px;border:1px solid transparent;
    color:var(--text-dim);font-size:.9rem;font-weight:500;
    transition:all .25s;
}
.sidebar-cats .cat-item i{width:24px;color:var(--primary);}
.sidebar-cats .cat-item:hover{
    border-color:var(--border);color:var(--text);background:rgba(16,185,129,.05);
}
.sidebar-cats .cat-item.active{
    background:rgba(16,185,129,.1);border-color:var(--primary);color:var(--text);
}
/* 卡片网格 */
.movie-grid{
    display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
    gap:16px;
}
/* 步骤条 */
.steps-row{
    display:flex;gap:20px;flex-wrap:wrap;margin:20px 0 10px;
    border:1px solid var(--border);border-radius:8px;padding:20px;
}
.step-item{
    flex:1;min-width:180px;position:relative;padding:8px 12px;
}
.step-num{
    font-size:2rem;font-weight:900;color:var(--primary);opacity:.5;
}
.step-item h4{font-size:.95rem;margin:.4rem 0 .2rem;font-weight:700;}
.step-item p{font-size:.78rem;color:var(--text-dim);}
/* 友情链接 */
.friend-links{
    border-top:1px solid var(--border);padding:30px 0;margin-top:40px;
}
.friend-links h3{font-size:1rem;margin-bottom:15px;color:var(--text-dim);}
.friend-links .links{color:var(--text-dim);font-size:.85rem;word-break:break-all;}
/* 弹窗 */
.movie-modal{
    display:none;position:fixed;top:0;left:0;width:100%;height:100%;
    z-index:10000;background:rgba(0,0,0,.7);
    backdrop-filter:blur(8px);
    justify-content:center;align-items:center;padding:20px;
}
.movie-modal.show{display:flex;}
.modal-content-pf{
    background:var(--bg);border:1px solid var(--primary);border-radius:12px;
    max-width:720px;width:100%;max-height:85vh;overflow-y:auto;
    padding:0;position:relative;
}
.modal-close{
    position:absolute;top:10px;right:16px;font-size:1.6rem;
    color:var(--text-dim);cursor:pointer;border:none;background:none;z-index:2;
}
.modal-close:hover{color:var(--accent);}
.modal-header-bg{
    background-size:cover;background-position:center;
    padding:80px 30px 30px;position:relative;
    border-bottom:1px solid var(--border);
}
.modal-header-bg::before{content:'';position:absolute;inset:0;background:linear-gradient(to top, var(--bg), rgba(10,20,16,.3));}
.modal-body{padding:25px 30px 30px;}
.modal-rating{
    font-size:1.2rem;color:var(--accent);font-weight:800;
}
.btn-gradient{
    background:linear-gradient(135deg,var(--primary),#059669);
    color:var(--bg);font-weight:700;border:none;border-radius:6px;
    padding:8px 20px;position:relative;overflow:hidden;transition:all .3s;
}
.btn-gradient::after{
    content:'';position:absolute;top:0;left:-100%;width:60%;height:100%;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);
    transform:skewX(-20deg);transition:left .5s;
}
.btn-gradient:hover::after{left:120%;}
.btn-gradient:hover{color:var(--bg);box-shadow:0 0 15px rgba(16,185,129,.5);}
/* 动画 */
@keyframes fadeInUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:none;}}
.fade-up{animation:fadeInUp .6s ease both;}
@media(max-width:991px){
    .sidebar-cats{border-right:none;position:static;padding-right:0;margin-bottom:20px;}
    .navbar-collapse{background:rgba(10,20,16,.98);padding:15px;border:1px solid var(--border);border-radius:8px;margin-top:10px;}
}
@media(max-width:576px){
    .movie-grid{grid-template-columns:repeat(2,1fr);gap:12px;}
    .hero-stats{gap:20px;}
}

/* --- 子页面追加 --- */
/* 确保任何 Bootstrap 组件不会意外出现白底黑字，全部接管为本站深色绿调 */
        .card, .card-body, .card-title, .card-text, .card-header, .card-footer,
        .form-control, .form-select, .form-label, .input-group-text,
        .table, .list-group-item, .accordion-item, .accordion-button, .accordion-body,
        .modal-content, .modal-header, .modal-body, .dropdown-menu, .dropdown-item,
        .nav-link, .navbar, .navbar-brand, .btn-light, .btn-outline-* {
            background: transparent !important;
            color: var(--text) !important;
            border-color: var(--border) !important;
        }
/* 额外处理占位符与下拉箭头颜色 */
        .form-control::placeholder {
            color: rgba(255,255,255,0.45) !important;
        }
.form-select {
            background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23ecfdf5' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
        }
/* 覆盖导航 active 颜色与 hover 微调 */
        .navbar-pf .nav-link-pf.active {
            color: var(--accent) !important;
        }
.navbar-pf .nav-link-pf:hover {
            color: var(--primary) !important;
        }
/* 确保所有卡片背景来自变量 */
        .about-card {
            background: var(--bg);
            border: 1px solid var(--border);
            border-radius: 16px;
            transition: transform 0.2s ease, box-shadow 0.2s ease;
        }
.about-card:hover {
            transform: translateY(-4px);
            box-shadow: 0 12px 24px -8px rgba(16, 185, 129, 0.15);
        }
.about-icon {
            color: var(--primary);
            font-size: 2rem;
            margin-bottom: 0.5rem;
        }
.divider-custom {
            border-top: 1px solid var(--border);
            opacity: 0.6;
            margin: 2.5rem 0;
        }
.text-highlight {
            color: var(--accent);
            font-weight: 600;
        }

/* --- 子页面追加 --- */
/* 覆盖Bootstrap卡片/表单可能出现的白底，确保深色一致 */
        .card, .card-body, .card-header, .card-footer {
            background: rgba(16, 185, 129, 0.06);
            border: 1px solid var(--border);
            color: var(--text);
        }
.list-group-item {
            background: rgba(16, 185, 129, 0.04);
            border-color: var(--border);
            color: var(--text);
        }
.form-control, .form-select {
            background: rgba(0,0,0,0.4);
            border-color: var(--border);
            color: var(--text);
        }
/* 短剧卡片微调 */
        .short-card {
            background: rgba(16,185,129,0.05);
            border: 1px solid var(--border);
            border-radius: 1rem;
            transition: transform .2s ease, border-color .2s;
        }
.short-card:hover {
            transform: translateY(-4px);
            border-color: var(--primary);
        }
.short-card .card-body { padding: 1rem 1.25rem 1.25rem; }
.short-badge {
            background: var(--primary);
            color: #0a1410;
            font-weight: 700;
            font-size: 0.7rem;
            padding: 0.25rem 0.6rem;
            border-radius: 30px;
            letter-spacing: 0.3px;
        }
.episode-tag {
            background: rgba(251,191,36,0.15);
            color: var(--accent);
            border-radius: 30px;
            padding: 0.2rem 0.7rem;
            font-size: 0.75rem;
            font-weight: 600;
        }
.trending-tag {
            background: rgba(251,191,36,0.1);
            color: var(--accent);
            border-left: 3px solid var(--accent);
        }

/* --- 子页面追加 --- */
/* 确保所有 Bootstrap 组件类被覆盖为本站配色 */
        .card, .card-body, .card-title, .card-text, .card-header, .card-footer,
        .form-control, .form-select, .form-label, .input-group-text,
        .table, .list-group-item, .accordion-item, .accordion-button, .accordion-body,
        .modal-content, .modal-header, .modal-body, .dropdown-menu, .dropdown-item,
        .nav-link, .navbar, .navbar-brand, .btn-light, .btn-outline-* {
            background-color: var(--bg) !important;
            color: var(--text) !important;
            border-color: var(--border) !important;
        }
/* 针对本页的特殊样式：增加一些间距和阅读舒适度 */
        .disclaimer-section {
            padding: 3rem 0;
            border-bottom: 1px solid var(--border);
        }
.disclaimer-section:last-of-type {
            border-bottom: none;
        }
.disclaimer-section h2 {
            font-weight: 700;
            margin-bottom: 1.5rem;
            color: var(--primary);
            border-left: 4px solid var(--accent);
            padding-left: 1rem;
        }
.disclaimer-section p, .disclaimer-section li {
            color: var(--text-dim);
            line-height: 1.8;
        }
.disclaimer-section strong {
            color: var(--text);
        }
.disclaimer-list {
            padding-left: 1.5rem;
        }
.disclaimer-list li {
            margin-bottom: 0.75rem;
        }

/* --- 子页面追加 --- */
.privacy-hero {
            padding: 80px 0 40px;
            position: relative;
        }
.privacy-hero .badge-float {
            position: absolute;
            top: 20px;
            right: 20px;
        }
.privacy-section {
            background: rgba(16, 185, 129, 0.05);
            border: 1px solid var(--border);
            border-radius: 16px;
            padding: 30px;
            margin-bottom: 30px;
        }
.privacy-section h2 {
            color: var(--primary);
            font-weight: 700;
            font-size: 1.5rem;
            margin-bottom: 20px;
            display: flex;
            align-items: center;
            gap: 12px;
        }
.privacy-section h2 i {
            color: var(--accent);
        }
.privacy-section p, .privacy-section li {
            color: var(--text);
            line-height: 1.8;
        }
.privacy-section ul {
            padding-left: 20px;
        }
.privacy-section ul li {
            margin-bottom: 8px;
        }
.privacy-highlight {
            background: rgba(251, 191, 36, 0.1);
            border-left: 4px solid var(--accent);
            padding: 15px 20px;
            border-radius: 0 8px 8px 0;
            margin: 20px 0;
        }
.privacy-highlight p {
            color: var(--text) !important;
            margin-bottom: 0;
        }
.privacy-date {
            color: var(--text-dim);
            font-size: 0.9rem;
            margin-top: 10px;
            display: block;
        }
.privacy-hero {
                padding: 60px 0 30px;
            }
.privacy-section {
                padding: 20px;
            }