/* ============================================================
   北京国漫潮玩网络科技有限公司 · 官网模板
   风格：国潮酷黑（深色底 + 朱红/鎏金点缀）
   ============================================================ */
:root{
    --bg:#0e0e14;
    --bg-2:#14141c;
    --panel:#191922;
    --panel-2:#1f1f2a;
    --line:rgba(255,255,255,.08);
    --text:#eceaf0;
    --muted:#9b98a8;
    --red:#e23b3b;
    --red-deep:#b31e2e;
    --gold:#d8a24a;
    --radius:12px;
    --shadow:0 8px 30px rgba(0,0,0,.45);
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
    background:var(--bg);
    color:var(--text);
    font-family:"PingFang SC","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;
    font-size:15px;
    line-height:1.7;
    -webkit-font-smoothing:antialiased;
}
a{color:var(--text);text-decoration:none;transition:color .2s ease;}
a:hover{color:var(--gold);}
img{max-width:100%;display:block;}
.wrap{max-width:1200px;margin:0 auto;padding:0 20px;}

/* ---------- 头部 ---------- */
.site-header{
    position:sticky;top:0;z-index:99;
    background:rgba(14,14,20,.92);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
}
.header-inner{
    display:flex;align-items:center;justify-content:space-between;
    height:72px;
}
.brand{display:flex;align-items:center;gap:12px;}
.brand-logo{
    width:46px;height:46px;border-radius:10px;
    border:1px solid rgba(216,162,74,.4);
    box-shadow:0 0 14px rgba(226,59,59,.25);
}
.brand-text b{
    display:block;font-size:17px;letter-spacing:1px;color:var(--text);
}
.brand-text i{
    display:block;font-style:normal;font-size:10px;letter-spacing:2.5px;
    color:var(--gold);opacity:.85;
}
.menu-toggle{
    display:none;font-size:24px;color:var(--gold);cursor:pointer;padding:6px;
}
.site-nav{border-top:1px solid var(--line);}
.site-nav ul{
    margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;
}
.site-nav li a{
    display:block;padding:13px 26px;font-size:15px;color:var(--muted);
    border-bottom:2px solid transparent;transition:all .2s ease;
}
.site-nav li a:hover{color:var(--text);}
.site-nav li.active a{
    color:var(--gold);border-bottom-color:var(--red);
    background:linear-gradient(180deg,rgba(226,59,59,.08),transparent);
}

/* ---------- 面包屑 ---------- */
.breadcrumb{
    font-size:13px;color:var(--muted);padding:14px 0 0;
}
.breadcrumb a{color:var(--muted);}
.breadcrumb a:hover{color:var(--gold);}
.breadcrumb i{font-style:normal;margin:0 6px;color:#555;}
.breadcrumb em{font-style:normal;color:var(--gold);}

/* ---------- 首页 Hero ---------- */
.hero{
    position:relative;overflow:hidden;
    border-bottom:1px solid var(--line);
}
.hero-bg{
    position:absolute;inset:0;
    background:url("../images/banner.png") right center/cover no-repeat;
    opacity:.9;
}
.hero::after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(90deg,rgba(14,14,20,.97) 25%,rgba(14,14,20,.55) 60%,rgba(14,14,20,.25));
}
.hero-inner{
    position:relative;z-index:2;
    padding:110px 20px 120px;max-width:1200px;
}
.hero-tag{
    display:inline-block;font-size:13px;letter-spacing:4px;
    color:var(--gold);border:1px solid rgba(216,162,74,.5);
    padding:6px 16px;border-radius:999px;margin-bottom:22px;
    background:rgba(216,162,74,.06);
}
.hero h1{
    font-size:44px;line-height:1.3;margin:0 0 16px;letter-spacing:2px;
    background:linear-gradient(120deg,#fff 30%,var(--gold));
    -webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;
    text-shadow:0 0 40px rgba(226,59,59,.15);
}
.hero p{
    font-size:17px;color:#cfcddb;max-width:560px;margin:0 0 34px;
}
.hero-btns{display:flex;gap:16px;flex-wrap:wrap;}
.btn{
    display:inline-block;padding:13px 34px;border-radius:8px;
    font-size:15px;letter-spacing:2px;transition:all .25s ease;
}
.btn-red{
    background:linear-gradient(135deg,var(--red),var(--red-deep));
    color:#fff;box-shadow:0 6px 20px rgba(226,59,59,.35);
}
.btn-red:hover{
    color:#fff;transform:translateY(-2px);
    box-shadow:0 10px 26px rgba(226,59,59,.5);
}
.btn-ghost{
    border:1px solid rgba(216,162,74,.6);color:var(--gold);
}
.btn-ghost:hover{
    background:rgba(216,162,74,.12);color:var(--gold);transform:translateY(-2px);
}

/* ---------- 首页栏目入口 ---------- */
.channel-entry{
    display:grid;grid-template-columns:repeat(3,1fr);gap:22px;
    margin-top:-52px;position:relative;z-index:5;padding-bottom:10px;
}
.ce-card{
    background:linear-gradient(160deg,var(--panel-2),var(--panel));
    border:1px solid var(--line);border-radius:var(--radius);
    padding:28px 26px;box-shadow:var(--shadow);
    transition:all .25s ease;position:relative;overflow:hidden;
}
.ce-card::before{
    content:"";position:absolute;top:0;left:0;right:0;height:3px;
    background:linear-gradient(90deg,var(--red),var(--gold));
    opacity:0;transition:opacity .25s ease;
}
.ce-card:hover{transform:translateY(-6px);border-color:rgba(216,162,74,.45);}
.ce-card:hover::before{opacity:1;}
.ce-num{
    font-size:30px;font-weight:700;color:rgba(216,162,74,.35);
    font-family:Georgia,serif;
}
.ce-name{font-size:19px;font-weight:600;margin:8px 0 10px;color:var(--text);}
.ce-desc{font-size:13px;color:var(--muted);min-height:44px;}
.ce-more{
    display:inline-block;margin-top:14px;font-size:13px;color:var(--red);
    letter-spacing:1px;
}
.ce-card:hover .ce-more{color:var(--gold);}

/* ---------- 首页文章区块 ---------- */
.home-section{margin-top:56px;}
.sec-head{
    display:flex;align-items:center;justify-content:space-between;
    margin-bottom:22px;
}
.sec-head h2{
    font-size:24px;margin:0;display:flex;align-items:center;letter-spacing:1px;
}
.sec-bar{
    display:inline-block;width:5px;height:22px;border-radius:3px;
    background:linear-gradient(180deg,var(--red),var(--gold));
    margin-right:12px;
}
.sec-more{font-size:13px;color:var(--muted);}
.sec-more:hover{color:var(--gold);}
.card-grid{
    display:grid;grid-template-columns:repeat(4,1fr);gap:20px;
}
.card{
    background:var(--panel);border:1px solid var(--line);
    border-radius:var(--radius);overflow:hidden;transition:all .25s ease;
}
.card:hover{
    transform:translateY(-5px);border-color:rgba(226,59,59,.45);
    box-shadow:var(--shadow);
}
.card-img{
    display:block;aspect-ratio:3/2;overflow:hidden;background:#0a0a10;
}
.card-img img{
    width:100%;height:100%;object-fit:cover;transition:transform .4s ease;
}
.card:hover .card-img img{transform:scale(1.06);}
.card-body{padding:16px;}
.card-title{
    display:block;font-size:15px;font-weight:600;line-height:1.5;
    height:45px;overflow:hidden;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
}
.card-meta{
    margin-top:10px;font-size:12px;color:var(--muted);
}
.card-meta .layui-icon{font-size:12px;margin-right:4px;}

/* ---------- 栏目页 ---------- */
.channel-banner{
    background:
        radial-gradient(600px 200px at 80% 0%,rgba(226,59,59,.18),transparent),
        radial-gradient(500px 220px at 10% 100%,rgba(216,162,74,.12),transparent),
        var(--bg-2);
    border-bottom:1px solid var(--line);
    padding:44px 0 38px;margin-bottom:34px;
}
.channel-banner h1{
    margin:0 0 10px;font-size:30px;letter-spacing:2px;
}
.channel-banner h1::after{
    content:"";display:block;width:56px;height:3px;margin-top:12px;
    background:linear-gradient(90deg,var(--red),var(--gold));border-radius:2px;
}
.channel-banner p{color:var(--muted);font-size:14px;margin:0;max-width:760px;}

.layout{
    display:grid;grid-template-columns:1fr 300px;gap:28px;
    padding-bottom:60px;
}
.article-cards{display:flex;flex-direction:column;gap:20px;}
.a-card{
    display:flex;gap:20px;
    background:var(--panel);border:1px solid var(--line);
    border-radius:var(--radius);overflow:hidden;transition:all .25s ease;
}
.a-card:hover{
    border-color:rgba(226,59,59,.4);box-shadow:var(--shadow);
    transform:translateY(-3px);
}
.a-thumb{
    flex:0 0 240px;overflow:hidden;background:#0a0a10;
}
.a-thumb img{
    width:100%;height:100%;object-fit:cover;transition:transform .4s ease;
}
.a-card:hover .a-thumb img{transform:scale(1.05);}
.a-info{padding:20px 22px 18px 0;display:flex;flex-direction:column;flex:1;}
.a-title{font-size:18px;font-weight:600;line-height:1.5;}
.a-excerpt{
    font-size:13px;color:var(--muted);margin-top:10px;flex:1;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.a-meta{
    display:flex;align-items:center;justify-content:space-between;
    margin-top:12px;font-size:12px;color:var(--muted);
}
.a-read{font-size:13px;color:var(--red);}
.a-card:hover .a-read{color:var(--gold);}

/* ---------- 分页 ---------- */
.pagelist{margin-top:32px;display:flex;gap:8px;flex-wrap:wrap;}
.pagelist a{
    display:inline-block;min-width:38px;text-align:center;
    padding:8px 13px;border:1px solid var(--line);border-radius:8px;
    font-size:13px;color:var(--muted);background:var(--panel);
    transition:all .2s ease;
}
.pagelist a:hover{border-color:var(--gold);color:var(--gold);}
.pagelist a.this,
.pagelist a.active{
    background:linear-gradient(135deg,var(--red),var(--red-deep));
    border-color:transparent;color:#fff;
}

/* ---------- 侧栏 ---------- */
.main-right{display:flex;flex-direction:column;gap:22px;}
.side-box{
    background:var(--panel);border:1px solid var(--line);
    border-radius:var(--radius);padding:20px;
}
.side-title{
    font-size:16px;font-weight:600;letter-spacing:1px;
    padding-bottom:12px;margin-bottom:14px;position:relative;
    border-bottom:1px solid var(--line);
}
.side-title::before{
    content:"";position:absolute;left:0;bottom:-1px;
    width:40px;height:2px;background:linear-gradient(90deg,var(--red),var(--gold));
}
.side-list{list-style:none;margin:0;padding:0;}
.side-list li{
    padding:8px 0;font-size:13px;border-bottom:1px dashed rgba(255,255,255,.06);
}
.side-list li:last-child{border-bottom:none;}
.side-list li a{
    color:var(--muted);display:block;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.side-list li a:hover{color:var(--gold);}
.side-channels li a{color:var(--text);}
.side-channels li.active a{color:var(--red);}
.side-contact .layui-icon{color:var(--gold);margin-right:6px;font-size:14px;}
.side-contact li{color:var(--muted);word-break:break-all;white-space:normal;}

/* ---------- 文章详情 ---------- */
.article-detail{
    background:var(--panel);border:1px solid var(--line);
    border-radius:var(--radius);padding:38px 42px 46px;
}
.ad-title{
    font-size:27px;line-height:1.5;margin:0 0 16px;letter-spacing:.5px;
}
.ad-meta{
    display:flex;align-items:center;gap:16px;
    font-size:13px;color:var(--muted);
    padding-bottom:20px;margin-bottom:24px;
    border-bottom:1px solid var(--line);
}
.ad-tag{
    font-size:11px;color:var(--gold);
    border:1px solid rgba(216,162,74,.5);border-radius:4px;
    padding:2px 8px;letter-spacing:1px;
}
.ad-cover{
    border-radius:10px;overflow:hidden;margin-bottom:28px;
    border:1px solid var(--line);
}
.ad-content{font-size:15.5px;color:#d8d6e0;}
.ad-content h1,.ad-content h2,.ad-content h3,.ad-content h4{
    color:var(--text);letter-spacing:.5px;line-height:1.5;
}
.ad-content h2{
    font-size:21px;margin:34px 0 14px;padding-left:14px;
    border-left:4px solid var(--red);
}
.ad-content h3{font-size:17px;margin:26px 0 12px;color:var(--gold);}
.ad-content p{margin:14px 0;}
.ad-content img{border-radius:10px;margin:18px auto;border:1px solid var(--line);}
.ad-content a{color:var(--gold);text-decoration:underline;}
.ad-content blockquote{
    margin:20px 0;padding:16px 20px;
    background:var(--panel-2);border-left:4px solid var(--gold);
    border-radius:0 8px 8px 0;color:var(--muted);
}
.ad-content table{
    width:100%;border-collapse:collapse;margin:20px 0;font-size:14px;
}
.ad-content th,.ad-content td{
    border:1px solid var(--line);padding:10px 14px;text-align:left;
}
.ad-content th{background:var(--panel-2);color:var(--gold);}
.ad-content tr:nth-child(even) td{background:rgba(255,255,255,.02);}
.ad-content ul,.ad-content ol{padding-left:24px;}
.ad-content li{margin:6px 0;}
.ad-content strong{color:var(--text);}
.ad-content hr{border:none;border-top:1px solid var(--line);margin:28px 0;}
.ad-content code{
    background:var(--panel-2);padding:2px 7px;border-radius:5px;
    font-size:13px;color:var(--gold);
}

/* ---------- 单页 ---------- */
.page-panel{
    background:var(--panel);border:1px solid var(--line);
    border-radius:var(--radius);padding:38px 42px 46px;
}

/* ---------- 页脚 ---------- */
.site-footer{
    margin-top:70px;background:#0a0a10;
    border-top:1px solid var(--line);
}
.footer-grid{
    display:grid;grid-template-columns:1.4fr 1fr 1.4fr;gap:40px;
    padding-top:46px;padding-bottom:40px;
}
.f-brand-head{display:flex;align-items:center;gap:12px;margin-bottom:16px;}
.f-brand-head img{
    width:44px;height:44px;border-radius:10px;
    border:1px solid rgba(216,162,74,.4);
}
.f-brand-head b{font-size:17px;letter-spacing:1px;}
.f-brand p{font-size:13px;color:var(--muted);margin:0;}
.f-title{
    font-size:15px;font-weight:600;color:var(--gold);
    letter-spacing:2px;margin-bottom:16px;
}
.f-links{list-style:none;margin:0;padding:0;column-count:2;}
.f-links li{padding:5px 0;font-size:13px;}
.f-links a{color:var(--muted);}
.f-links a:hover{color:var(--gold);}
.f-contact{list-style:none;margin:0;padding:0;}
.f-contact li{
    padding:6px 0;font-size:13px;color:var(--muted);word-break:break-all;
}
.f-contact .layui-icon{color:var(--red);margin-right:6px;}
.footer-bar{
    border-top:1px solid var(--line);
    padding:16px 0;font-size:12px;color:#6d6a7a;text-align:center;
}
.footer-bar a{color:#6d6a7a;}
.footer-bar a:hover{color:var(--gold);}

/* ---------- 头部登录注册 ---------- */
.header-right{display:flex;align-items:center;gap:14px;}
.auth-links{display:flex;align-items:center;gap:10px;}
.auth-btn{
    display:inline-block;padding:7px 20px;font-size:13px;letter-spacing:1px;
    border:1px solid rgba(216,162,74,.55);border-radius:6px;color:var(--gold);
    transition:all .2s ease;
}
.auth-btn:hover{background:rgba(216,162,74,.12);color:var(--gold);}
.auth-btn-red{
    background:linear-gradient(135deg,var(--red),var(--red-deep));
    border-color:transparent;color:#fff;
    box-shadow:0 4px 14px rgba(226,59,59,.3);
}
.auth-btn-red:hover{color:#fff;box-shadow:0 6px 18px rgba(226,59,59,.45);}
.auth-user{font-size:13px;color:var(--gold);}
.auth-user .layui-icon{margin-right:4px;}

/* ---------- 付费阅读遮罩 ---------- */
.paywall-wrap{position:relative;}
.paywall-content{
    max-height:420px;overflow:hidden;
}
.paywall-mask{
    position:absolute;left:0;right:0;top:0;height:420px;
    backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);
    background:linear-gradient(180deg,rgba(25,25,34,.25) 0%,rgba(25,25,34,.75) 55%,var(--panel) 100%);
    pointer-events:none;
}
.paywall-card{
    position:relative;z-index:2;
    margin:-40px auto 0;max-width:460px;text-align:center;
    background:var(--panel-2);
    border:1px solid rgba(216,162,74,.35);border-radius:14px;
    padding:34px 30px 28px;box-shadow:var(--shadow);
}
.pw-lock{
    width:58px;height:58px;margin:0 auto 16px;border-radius:50%;
    background:linear-gradient(135deg,var(--red),var(--red-deep));
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 6px 20px rgba(226,59,59,.4);
}
.pw-lock .layui-icon{font-size:26px;color:#fff;}
.pw-title{font-size:20px;font-weight:600;letter-spacing:1px;}
.pw-sub{font-size:13px;color:var(--muted);margin-top:8px;}
.pw-btn{
    display:inline-block;margin-top:22px;padding:13px 46px;
    font-size:15px;letter-spacing:2px;color:#fff;border-radius:8px;
    background:linear-gradient(135deg,var(--red),var(--red-deep));
    box-shadow:0 6px 20px rgba(226,59,59,.35);transition:all .25s ease;
}
.pw-btn:hover{color:#fff;transform:translateY(-2px);box-shadow:0 10px 26px rgba(226,59,59,.5);}
.pw-tip{margin-top:14px;font-size:12px;color:#6d6a7a;}

/* ---------- 支付弹窗 ---------- */
.pay-modal{
    position:fixed;inset:0;z-index:999;display:none;
    align-items:center;justify-content:center;
    background:rgba(0,0,0,.72);backdrop-filter:blur(3px);
}
.pay-modal.show{display:flex;}
.pay-dialog{
    position:relative;width:360px;max-width:92vw;text-align:center;
    background:var(--panel-2);border:1px solid rgba(216,162,74,.4);
    border-radius:16px;padding:32px 30px 26px;box-shadow:0 20px 60px rgba(0,0,0,.6);
    animation:payPop .25s ease;
}
@keyframes payPop{
    from{transform:scale(.92);opacity:0;}
    to{transform:scale(1);opacity:1;}
}
.pay-close{
    position:absolute;top:12px;right:16px;font-size:22px;line-height:1;
    color:var(--muted);cursor:pointer;transition:color .2s ease;
}
.pay-close:hover{color:var(--red);}
.pay-title{font-size:19px;font-weight:600;letter-spacing:1px;}
.pay-sub{font-size:12px;color:var(--muted);margin-top:8px;}
.pay-qr{
    width:210px;height:210px;margin:20px auto 0;padding:10px;
    background:#fff;border-radius:12px;
}
.pay-qr img{width:100%;height:100%;object-fit:contain;}
.pay-price{margin-top:18px;font-size:14px;color:var(--muted);}
.pay-price b{
    font-size:24px;color:var(--gold);font-weight:700;margin-left:4px;
}
.pay-tip{margin-top:14px;font-size:12px;color:#6d6a7a;}

/* ---------- 响应式 ---------- */
@media (max-width:992px){
    .layout{grid-template-columns:1fr;}
    .card-grid{grid-template-columns:repeat(2,1fr);}
    .channel-entry{grid-template-columns:1fr;margin-top:24px;}
    .footer-grid{grid-template-columns:1fr;gap:26px;}
    .hero-inner{padding:80px 20px 90px;}
    .hero h1{font-size:32px;}
}
@media (max-width:768px){
    .menu-toggle{display:block;}
    .site-nav{display:none;}
    .site-nav.open{display:block;}
    .site-nav ul{flex-direction:column;}
    .site-nav li a{padding:12px 20px;}
    .a-card{flex-direction:column;}
    .a-thumb{flex:none;height:180px;}
    .a-info{padding:0 18px 18px;}
    .article-detail,.page-panel{padding:24px 20px 30px;}
    .ad-title{font-size:22px;}
    .brand-text b{font-size:14px;}
}
@media (max-width:520px){
    .card-grid{grid-template-columns:1fr;}
    .hero h1{font-size:26px;}
    .hero p{font-size:14px;}
}
