/* ==========================================================================
   博文授权中心 · auth.bvcoms.cn
   前台样式层：深度复用子比主题（zibll v9.1）设计规范与授权插件组件语汇
   --------------------------------------------------------------------------
   1. 主题令牌    2. 排版工具    3. 通用卡片    4. 彩色渐变卡
   5. 产品卡片    6. 价格方案    7. 授权查询    8. 文档排版
   9. 页脚       10. 移动端适配
   ========================================================================== */

/* ---------- 1. 主题令牌（取自 zibll body / .dark-theme） ---------- */
body{
    --theme-color:#f04494;
    --focus-color:var(--theme-color);
    --focus-shadow-color:rgba(240,68,148,.4);
    --focus-color-opacity1:rgba(240,68,148,.1);
    --focus-color-opacity05:rgba(240,68,148,.05);
    --focus-color-opacity3:rgba(240,68,148,.3);
    --focus-color-opacity6:rgba(240,68,148,.6);
    --main-radius:12px;
    --mian-max-width:1250px;

    /* zibll 渐变色组 */
    --linear-bg-1:linear-gradient(135deg,#f04494 10%,#ff7b7b 100%);
    --linear-bg-2:linear-gradient(135deg,#a18cd1 10%,#fbc2eb 100%);
    --linear-bg-3:linear-gradient(135deg,#f6d365 10%,#fda085 100%);
    --linear-bg-4:linear-gradient(135deg,#4facfe 10%,#00f2fe 100%);
    --linear-bg-5:linear-gradient(135deg,#5ee7df 10%,#b490ca 100%);
    --linear-bg-6:linear-gradient(135deg,#88c0fd 10%,#0757af 100%);
    --linear-bg-7:linear-gradient(135deg,#84fab0 10%,#8fd3f4 100%);
    --linear-bg-8:linear-gradient(135deg,#ff9a9e 10%,#fecfef 100%);
    --linear-bg-9:linear-gradient(135deg,#f093fb 10%,#f5576c 100%);
    --linear-bg-10:linear-gradient(135deg,#30cfd0 10%,#330867 100%);
}

/* ---------- 2. 排版工具（zibll 语汇） ---------- */
.em09{font-size:.9em}.em12{font-size:1.2em}.em14{font-size:1.4em}
.em16{font-size:1.6em}.em18{font-size:1.8em}.em20{font-size:2em}
.title-h2{font-size:26px;font-weight:700;color:var(--key-color);margin:0 0 12px;line-height:1.4}
.title-h3{font-size:20px;font-weight:700;color:var(--key-color);margin:0 0 14px;line-height:1.4}
.title-h4{font-size:16px;font-weight:700;color:var(--key-color);margin:0 0 10px}
.title-h-left{position:relative;padding-left:12px;font-weight:700;color:var(--key-color);margin:10px 0 6px}
.title-h-left:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:1em;border-radius:4px;background:var(--theme-color)}
.muted-2-color{color:var(--muted-2-color)}
.muted-color{color:var(--muted-color)}
.text-key{color:var(--key-color)}
.text-center{text-align:center}
.text-theme{color:var(--theme-color)}
.mb0{margin-bottom:0}.mb6{margin-bottom:6px}.mb10{margin-bottom:10px}.mb20{margin-bottom:20px}.mb30{margin-bottom:30px}
.mt10{margin-top:10px}.mt20{margin-top:20px}.mt30{margin-top:30px}
.mr3{margin-right:3px}.mr6{margin-right:6px}.mr10{margin-right:10px}
.flex{display:flex}.ac{align-items:center}.jc{justify-content:center}.jsb{justify-content:space-between}
.flex-wrap{flex-wrap:wrap}.gap10{gap:10px}.gap20{gap:20px}.flex0{flex:0 0 auto}
.link-muted{color:var(--muted-color)}
.link-muted:hover{color:var(--focus-color)}

/* ---------- 3. 通用卡片 ---------- */
.lic-section{margin-bottom:22px}
.lic-card{
    background:var(--main-bg-color);border-radius:var(--main-radius);
    box-shadow:0 0 10px var(--main-shadow);padding:24px;
}
.lic-card + .lic-card{margin-top:18px}
.lic-card-title{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:700;color:var(--key-color);margin:0 0 16px}
.lic-card-title i{color:var(--theme-color)}
.lic-narrow{max-width:860px;margin:0 auto}
.lic-empty{text-align:center;padding:40px 10px;color:var(--muted-2-color)}
.lic-empty i{font-size:34px;opacity:.35;display:block;margin-bottom:10px}
.lic-divider{height:1px;background:var(--main-border-color);margin:18px 0}
.lic-note{
    border-radius:var(--mini-radius);padding:14px 16px;font-size:13px;line-height:1.9;
    background:var(--focus-color-opacity05);border:1px solid var(--focus-color-opacity3);
    color:var(--main-color);
}
.lic-note.warn{background:rgba(255,153,0,.08);border-color:rgba(255,153,0,.3)}
.lic-note i{margin-right:6px;color:var(--theme-color)}
.lic-chips{display:flex;flex-wrap:wrap;gap:8px}
.lic-chip{
    font-size:12px;padding:4px 12px;border-radius:50px;background:var(--muted-bg-2-color);
    color:var(--muted-color);display:inline-flex;align-items:center;gap:5px;
}
.lic-chip i{font-size:11px}

/* 统计块 */
.lic-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.lic-stat{
    background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.22);
    border-radius:var(--mini-radius);padding:14px 16px;backdrop-filter:blur(4px);
}
.lic-stat .num{font-size:24px;font-weight:700;line-height:1.2;color:#fff}
.lic-stat .lbl{font-size:12px;opacity:.86;color:#fff;margin-top:2px}

/* ---------- 4. Hero（复用 zibll colorful-bg / colorful-make） ---------- */
.lic-hero{
    position:relative;overflow:hidden;border-radius:var(--main-radius);
    padding:40px;margin-bottom:22px;color:#fff;
    background:var(--linear-bg-1);
    box-shadow:0 12px 30px rgba(240,68,148,.2);
}
.lic-hero>.lic-hero-make,
.lic-hero>.lic-hero-make::before,
.lic-hero>.lic-hero-make::after{
    content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.16);
}
.lic-hero>.lic-hero-make{bottom:-120px;right:-60px;width:320px;height:320px}
.lic-hero>.lic-hero-make::before{right:120px;bottom:180px;width:150px;height:150px;opacity:.7}
.lic-hero>.lic-hero-make::after{right:-140px;bottom:220px;width:90px;height:90px;opacity:.5}
.lic-hero-body{position:relative;z-index:2;display:flex;gap:30px;align-items:center;flex-wrap:wrap}
.lic-hero-main{flex:1 1 460px;min-width:280px}
.lic-hero-badge{
    display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:5px 14px;
    border-radius:50px;background:rgba(255,255,255,.2);margin-bottom:16px;
}
.lic-hero h1{font-size:33px;font-weight:700;line-height:1.35;margin:0 0 12px;color:#fff}
.lic-hero .lic-hero-desc{font-size:14px;line-height:1.9;opacity:.92;margin:0 0 22px;max-width:560px}
.lic-hero-btns{display:flex;gap:12px;flex-wrap:wrap}
.lic-hero-side{flex:0 1 320px;min-width:270px}

/* ---------- 5. 产品卡片（zibll posts-item 语汇） ---------- */
.lic-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.product-card{
    background:var(--main-bg-color);border-radius:var(--main-radius);
    box-shadow:0 0 10px var(--main-shadow);overflow:hidden;transition:.25s;
    display:flex;flex-direction:column;
}
.product-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px var(--main-shadow)}
.product-cover{
    position:relative;height:96px;display:flex;align-items:center;gap:12px;padding:0 20px;color:#fff;
    background:var(--linear-bg-1);overflow:hidden;
}
.product-cover:after{
    content:"";position:absolute;right:-40px;top:-50px;width:150px;height:150px;border-radius:50%;
    background:rgba(255,255,255,.16);
}
.product-cover .ico{
    width:44px;height:44px;line-height:44px;text-align:center;border-radius:14px;
    background:rgba(255,255,255,.22);font-size:20px;flex:0 0 auto;position:relative;z-index:2;
}
.product-cover .p-name{font-size:17px;font-weight:700;line-height:1.3;position:relative;z-index:2}
.product-cover .p-ver{font-size:11px;opacity:.9;position:relative;z-index:2;margin-top:2px}
.product-body{padding:16px 20px 20px;flex:1;display:flex;flex-direction:column}
.product-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--muted-2-color);margin-bottom:12px}
.product-meta b{color:var(--main-color);font-weight:600}
.product-price{display:flex;align-items:baseline;gap:4px;margin:auto 0 14px}
.product-price .p-num{font-size:26px;font-weight:700;color:var(--theme-color);line-height:1}
.product-price .p-num small{font-size:13px;font-weight:400}
.product-price .p-suffix{font-size:12px;color:var(--muted-2-color)}
.product-actions{display:flex;gap:10px}
.product-actions .but{flex:1;text-align:center}

/* 产品详情头部 */
.product-hero{
    border-radius:var(--main-radius);overflow:hidden;color:#fff;position:relative;
    background:var(--linear-bg-1);padding:30px;box-shadow:0 10px 26px rgba(240,68,148,.18);margin-bottom:20px;
}
.product-hero:after{content:"";position:absolute;right:-60px;bottom:-80px;width:240px;height:240px;border-radius:50%;background:rgba(255,255,255,.14)}
.product-hero .ph-inner{position:relative;z-index:2;display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.product-hero .ph-ico{
    width:64px;height:64px;line-height:64px;text-align:center;border-radius:20px;font-size:26px;
    background:rgba(255,255,255,.22);flex:0 0 auto;
}
.product-hero h1{font-size:26px;margin:0 0 8px;color:#fff;font-weight:700}
.product-hero .ph-meta{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:13px;opacity:.92}
.product-hero .ph-actions{margin-left:auto;display:flex;gap:10px;flex-wrap:wrap}

/* ---------- 6. 价格方案 ---------- */
.lic-price-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.price-card{
    position:relative;background:var(--main-bg-color);border-radius:var(--main-radius);padding:24px;
    box-shadow:0 0 10px var(--main-shadow);border:2px solid transparent;transition:.25s;overflow:hidden;
}
.price-card:hover{transform:translateY(-3px)}
.price-card.active{border-color:var(--theme-color)}
.price-card .tag-top{
    position:absolute;right:0;top:16px;background:var(--theme-color);color:#fff;
    font-size:12px;padding:4px 12px;border-radius:50px 0 0 50px;
}
.price-card .plan-name{font-size:17px;font-weight:700;color:var(--key-color);margin:0 0 6px}
.price-card .plan-desc{font-size:12px;color:var(--muted-2-color);margin:0 0 14px;min-height:18px}
.price-card .plan-price{font-size:32px;font-weight:700;color:var(--theme-color);line-height:1}
.price-card .plan-price small{font-size:13px;font-weight:400;color:var(--muted-2-color)}
.price-card ul{list-style:none;padding:0;margin:16px 0 20px}
.price-card ul li{font-size:13px;color:var(--main-color);padding:7px 0;border-bottom:1px dashed var(--main-border-color)}
.price-card ul li:last-child{border-bottom:none}
.price-card ul li i{color:var(--theme-color);margin-right:8px}

/* ---------- 7. 授权查询 ---------- */
.query-panel{padding:28px}
.query-panel .q-head{text-align:center;margin-bottom:26px}
.query-panel .q-head .title-h2{margin-bottom:8px}
.query-field{margin-bottom:18px}
.query-field label{display:block;font-size:13px;color:var(--muted-color);margin-bottom:8px}
.query-field .form-control{
    height:46px;line-height:1.5;border-radius:var(--mini-radius);
    background:var(--body-bg-color);border:1px solid transparent;color:var(--main-color);
}
.query-field .form-control:focus{
    border-color:var(--focus-color);box-shadow:0 0 0 3px var(--focus-color-opacity1);background:var(--main-bg-color);
}
.query-field select.form-control{
    appearance:none;-webkit-appearance:none;
    background-image:linear-gradient(45deg,transparent 50%,var(--muted-2-color) 50%),linear-gradient(135deg,var(--muted-2-color) 50%,transparent 50%);
    background-position:calc(100% - 18px) 21px,calc(100% - 13px) 21px;
    background-size:5px 5px,5px 5px;background-repeat:no-repeat;
}
.query-submit{
    width:100%;display:block;text-align:center;padding:14px 20px;font-size:16px;border:none;
    border-radius:var(--mini-radius);cursor:pointer;
}
.query-submit:disabled{opacity:.7;cursor:not-allowed}
.spinner{
    width:15px;height:15px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;
    display:inline-block;vertical-align:-2px;margin-left:8px;animation:lic-spin 1s linear infinite;
}
@keyframes lic-spin{to{transform:rotate(360deg)}}

/* 结果区（沿用插件 modal-colorful-header 的彩色头语汇） */
.query-result{margin-top:26px;display:none;animation:lic-fade .35s ease}
@keyframes lic-fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.result-head{
    border-radius:var(--main-radius) var(--main-radius) 0 0;height:96px;display:flex;
    align-items:center;justify-content:center;gap:10px;color:#fff;background:var(--linear-bg-1);position:relative;overflow:hidden;
}
.result-head:after{content:"";position:absolute;right:-40px;top:-60px;width:170px;height:170px;border-radius:50%;background:rgba(255,255,255,.16)}
.result-head .rh-ico{font-size:24px}
.result-head .rh-text{font-size:17px;font-weight:700}
.result-head.invalid{background:linear-gradient(135deg,#ff6b6b 10%,#c53030 100%)}
.result-body{
    background:var(--main-bg-color);border-radius:0 0 var(--main-radius) var(--main-radius);
    padding:0 0 20px;box-shadow:0 0 10px var(--main-shadow);
}
.result-msg{
    margin:16px 20px;border-radius:var(--mini-radius);padding:13px 16px;font-size:14px;
    text-align:center;line-height:1.6;
}
.result-msg.ok{background:rgba(52,195,143,.12);color:#23a06f;border:1px solid rgba(52,195,143,.42)}
.result-msg.bad{background:rgba(240,78,78,.1);color:#e04a4a;border:1px solid rgba(240,78,78,.4)}
.dark-theme .result-msg.ok{color:#61d9a9}
.dark-theme .result-msg.bad{color:#ff8080}

.lic-table{width:100%;border-collapse:collapse}
.lic-table tr{border-bottom:1px solid var(--main-border-color)}
.lic-table tr:last-child{border-bottom:none}
.lic-table td{padding:13px 20px;font-size:14px;vertical-align:middle}
.lic-table td:first-child{width:34%;background:var(--muted-bg-2-color);color:var(--muted-color)}
.lic-table td:first-child i,.lic-table td:first-child svg{width:16px;margin-right:8px;color:var(--muted-3-color);vertical-align:-2px}
.lic-table td:last-child{color:var(--key-color);font-weight:500;word-break:break-all}
.lic-table td .mono{font-family:Menlo,Consolas,monospace;font-size:13px}

.badge{display:inline-block;padding:4px 12px;border-radius:50px;font-size:12px;font-weight:600;margin-right:8px}
.badge.ok{background:rgba(52,195,143,.12);color:#23a06f;border:1px solid rgba(52,195,143,.42)}
.badge.bad{background:rgba(240,78,78,.1);color:#e04a4a;border:1px solid rgba(240,78,78,.4)}
.badge.warn{background:rgba(255,153,0,.1);color:#d98300;border:1px solid rgba(255,153,0,.35)}
.dark-theme .badge.ok{color:#61d9a9}
.dark-theme .badge.bad{color:#ff8080}
.dark-theme .badge.warn{color:#ffc46b}

/* ---------- 8. 文档排版（沿用 zibll article-content 观感） ---------- */
.doc-body{font-size:15px;line-height:2;color:var(--main-color)}
.doc-body h2{font-size:20px;font-weight:700;color:var(--key-color);margin:30px 0 12px;padding-left:12px;position:relative}
.doc-body h2:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:1em;border-radius:4px;background:var(--theme-color)}
.doc-body h3{font-size:16px;font-weight:700;color:var(--key-color);margin:22px 0 8px}
.doc-body p{margin:0 0 14px}
.doc-body ul,.doc-body ol{padding-left:22px;margin:0 0 16px}
.doc-body li{margin-bottom:8px}
.doc-body code{
    background:var(--muted-bg-color);color:var(--focus-color);padding:2px 6px;border-radius:4px;
    font-family:Menlo,Consolas,monospace;font-size:13px;
}
.doc-body pre{
    background:var(--muted-bg-2-color);border-left:3px solid var(--theme-color);border-radius:6px;
    padding:14px 16px;overflow:auto;font-size:13px;line-height:1.8;margin:0 0 16px;
}
.doc-body pre code{background:none;color:var(--main-color);padding:0}
.doc-body blockquote{
    margin:0 0 16px;padding:12px 16px;border-left:3px solid var(--focus-color-opacity6);
    background:var(--focus-color-opacity05);border-radius:0 6px 6px 0;color:var(--muted-color);font-size:14px;
}

/* FAQ */
.faq-item{border-bottom:1px solid var(--main-border-color);padding:14px 0}
.faq-item:last-child{border-bottom:none}
.faq-item summary{list-style:none;cursor:pointer;font-size:15px;font-weight:600;color:var(--key-color);display:flex;justify-content:space-between;align-items:center;gap:12px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:after{content:"\f107";font-family:FontAwesome;color:var(--muted-2-color);transition:.3s;flex:0 0 auto}
.faq-item[open] summary:after{transform:rotate(180deg)}
.faq-item p{font-size:13px;line-height:1.9;color:var(--muted-color);margin:10px 0 0}

/* ---------- 9. 页脚 ---------- */
.lic-footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:24px}
.footer-title{font-size:14px;font-weight:700;color:var(--main-color);margin:0 0 12px}
.footer-links{list-style:none;padding:0;margin:0}
.footer-links li{font-size:13px;line-height:2.1;color:var(--muted-2-color)}
.footer-links a:hover{color:var(--focus-color)}
.footer .footer-muted{color:var(--muted-2-color)}

/* ---------- 按钮尺寸（沿用 zibll .but / .jb-* 渐变） ---------- */
.but{padding:8px 16px;border-radius:var(--mini-radius);transition:.25s;text-decoration:none;display:inline-block}
.but:hover{opacity:.92;color:#fff}
.but.padding-lg{padding:13px 22px;font-size:16px;line-height:1.35}
.but.btn-block{width:100%;display:block;text-align:center}
.but.hollow{background:transparent!important;border:1px solid rgba(255,255,255,.65)!important;color:#fff!important}
.but.hollow:hover{background:rgba(255,255,255,.16)!important}
.but.jb-white{background:#fff!important;color:var(--theme-color)!important;border:none}

/* ---------- 10. 移动端 ---------- */
@media (max-width:996px){
    .lic-stats{grid-template-columns:repeat(2,1fr)}
    .lic-footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:991px){
    .header .navbar-toggle{display:block!important}
    .header .navbar-collapse{
        display:none!important;position:absolute;left:0;right:0;top:100%;width:auto!important;
        background:var(--main-bg-color);box-shadow:0 12px 26px var(--main-shadow);
        padding:6px 16px 14px;max-height:76vh;overflow-y:auto;
        border-radius:0 0 var(--main-radius) var(--main-radius);border-top:1px solid var(--main-border-color);
    }
    body.mobile-navbar-show .header .navbar-collapse{display:block!important}
    .header .nav.navbar-nav{
        position:static!important;float:none!important;display:block;
        background:transparent!important;box-shadow:none!important;padding:0!important;margin:0!important;border-radius:0;
    }
    .header .nav.navbar-nav>li{float:none;display:block}
    .header .nav.navbar-nav>li>a{padding:12px 4px!important;border-bottom:1px solid var(--main-border-color);display:block}
    .header .nav.navbar-nav .sub-menu{
        position:static!important;opacity:1!important;transform:none!important;display:block!important;
        box-shadow:none!important;background:transparent!important;padding:0 0 6px 14px!important;margin:0!important;
    }
    .header .nav.navbar-nav .sub-menu a{color:var(--muted-color)!important;padding:9px 4px}
    .header .navbar-but{float:none!important;display:block;margin:12px 0 0;padding:0}
    .header .navbar-but .but{display:block;width:100%;text-align:center}
    .header .navbar-form.navbar-right{float:none!important;margin:8px 0 0;padding:0}
    .header .navbar-form.navbar-right.flex{display:flex;justify-content:flex-end}
    .header .navbar-form.navbar-right li{float:none;display:inline-block}
    .header .navbar-top .navbar-header{
        display:flex!important;align-items:center!important;justify-content:space-between!important;
        width:100%!important;float:none!important;
    }
    .header .navbar-top .navbar-header>.navbar-brand{
        position:static!important;float:none!important;width:auto!important;display:block!important;
        padding:0!important;margin:0 auto 0 0!important;text-align:left!important;left:auto!important;right:auto!important;
    }
    .header .navbar-top .navbar-header>.navbar-toggle{margin:0 0 0 auto!important;float:none!important;display:block!important}
    .header .navbar-top .navbar-header>.navbar-brand .navbar-logo{margin:0!important;display:block}
    .header .navbar-top .navbar-header>.navbar-brand .navbar-logo>img{height:32px!important;padding:0!important;margin:0!important}
    .header .navbar-but .but{padding:11px 18px!important;font-size:15px!important;border-radius:50px!important;height:auto!important}
}
@media (min-width:992px){
    .header .navbar-but .but{padding:7px 16px!important;font-size:13px!important}
}
@media (max-width:768px){
    body.nav-fixed{padding-top:66px}
    .header{padding:6px 10px}
    .lic-hero{padding:26px 20px}
    .lic-hero h1{font-size:23px}
    .lic-hero-side{flex:1 1 100%}
    .lic-card{padding:18px}
    .query-panel{padding:18px}
    .lic-grid{grid-template-columns:1fr}
    .lic-table td{display:block;width:100%!important;padding:9px 14px}
    .lic-table tr{display:block;border-bottom:1px solid var(--main-border-color);padding-bottom:8px;margin-bottom:8px}
    .lic-table td:first-child{background:transparent;padding-bottom:2px;font-weight:600}
    .title-h2{font-size:21px}
    .lic-footer-grid{grid-template-columns:1fr}
    .product-hero{padding:20px}
    .product-hero .ph-actions{margin-left:0;width:100%}
}
@media (max-width:480px){
    .lic-hero h1{font-size:20px}
    .lic-stats{grid-template-columns:repeat(2,1fr)}
    .lic-stat .num{font-size:19px}
    .price-card .plan-price{font-size:27px}
}

/* ---------- 产品详情附加 ---------- */
.lic-update-row{padding:14px 0;border-bottom:1px dashed var(--main-border-color)}
.lic-update-row:last-child{border-bottom:none}
.lic-steps{list-style:none;counter-reset:lic;padding:0;margin:0}
.lic-steps li{
    counter-increment:lic;position:relative;padding:0 0 16px 40px;border-left:2px solid var(--main-border-color);margin-left:14px;
}
.lic-steps li:last-child{border-left-color:transparent;padding-bottom:0}
.lic-steps li:before{
    content:counter(lic);position:absolute;left:-15px;top:-2px;width:28px;height:28px;line-height:28px;
    text-align:center;border-radius:50%;background:var(--focus-color-opacity1);color:var(--theme-color);
    font-size:13px;font-weight:700;
}
.lic-steps li b{display:block;font-size:14px;color:var(--key-color);margin-bottom:2px}
.lic-steps li span{font-size:12px;color:var(--muted-2-color);line-height:1.8}

/* ---------- 文档页布局 ---------- */
.doc-layout{display:grid;grid-template-columns:1fr 280px;gap:18px;align-items:start}
.doc-aside{position:sticky;top:104px}
.doc-toc{list-style:none;padding:0;margin:0}
.doc-toc li{margin-bottom:2px}
.doc-toc a{display:block;font-size:13px;color:var(--muted-color);padding:8px 10px;border-radius:var(--mini-radius);transition:.2s}
.doc-toc a:hover{background:var(--focus-color-opacity05);color:var(--focus-color)}
@media (max-width:991px){
    .doc-layout{grid-template-columns:1fr}
    .doc-aside{position:static}
}

/* ---------- 登录页 ---------- */
.sign-wrap{display:grid;grid-template-columns:minmax(0,420px) 300px;gap:24px;justify-content:center;align-items:start}
.sign-card{padding:28px}
.sign-head{text-align:center;margin-bottom:20px}
.sign-logo{height:46px;margin-bottom:14px}
.sign-tabs{display:flex;background:var(--muted-bg-2-color);border-radius:50px;padding:4px;margin-bottom:22px}
.sign-tabs a{
    flex:1;text-align:center;font-size:14px;padding:9px 0;border-radius:50px;
    color:var(--muted-color);transition:.25s;
}
.sign-tabs a.active{background:var(--main-bg-color);color:var(--theme-color);font-weight:600;box-shadow:0 2px 8px var(--main-shadow)}
.sign-tip{font-size:12px;color:var(--muted-2-color);line-height:1.9;margin-top:16px;text-align:center}
.sign-tip a{color:var(--theme-color)}
.sign-side{padding-top:6px}
@media (max-width:900px){
    .sign-wrap{grid-template-columns:1fr}
}

/* ---------- 修正：彩色卡渐变不被 .lic-card 覆盖 ---------- */
.colorful-bg.lic-card{background:var(--this-bg)!important;color:var(--this-color,#fff)!important}
.colorful-bg.lic-card *{color:inherit}

/* ---------- 修正：Hero 侧栏统计 2×2 ---------- */
.lic-hero-side .lic-stats{grid-template-columns:repeat(2,1fr)}

/* ---------- 修正：价格栅格 auto-fill（少套餐时不拉伸） ---------- */
.lic-price-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}

/* ---------- 修正：提交按钮尺寸（.but 覆盖问题） ---------- */
.but.query-submit{padding:14px 20px;font-size:16px;border-radius:var(--mini-radius);text-align:center}
.but.btn-block.padding-lg{padding:13px 22px}

/* ---------- 无障碍与全局细节 ---------- */
.skip-link{
    position:absolute;left:-9999px;top:0;z-index:10000;background:var(--theme-color);color:#fff;
    padding:10px 18px;border-radius:0 0 var(--mini-radius) 0;font-size:14px;
}
.skip-link:focus{left:0}
:focus-visible{outline:2px solid var(--focus-color);outline-offset:2px;border-radius:4px}
#main-content:focus{outline:none}
::selection{background:var(--focus-color-opacity3);color:var(--key-color)}
html{scroll-behavior:smooth;scroll-padding-top:100px}
@media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}
}
/* 细滚动条 */
*{scrollbar-width:thin;scrollbar-color:var(--muted-3-color) transparent}
*::-webkit-scrollbar{width:8px;height:8px}
*::-webkit-scrollbar-thumb{background:var(--muted-3-color);border-radius:8px}
*::-webkit-scrollbar-track{background:transparent}

/* 顶部站点名 */
.navbar-logo{display:inline-flex;align-items:center;gap:9px}
.navbar-logo img{height:36px;width:auto;border-radius:8px}
.navbar-site-name{font-size:16px;font-weight:700;color:var(--key-color);white-space:nowrap;letter-spacing:.5px}
@media (max-width:991px){.navbar-site-name{font-size:15px}}
@media (max-width:400px){.navbar-logo img{height:30px}.navbar-site-name{font-size:14px}}

/* ---------- 交互细节（本轮打磨） ---------- */
/* 轻提示 */
.site-toast{
    position:fixed;left:50%;top:84px;transform:translate(-50%,-10px);z-index:9999;
    background:rgba(28,28,30,.92);color:#fff;font-size:14px;padding:11px 22px;border-radius:50px;
    opacity:0;transition:.28s;pointer-events:none;max-width:86vw;text-align:center;
    box-shadow:0 8px 24px rgba(0,0,0,.18);backdrop-filter:blur(6px);
}
.site-toast.show{opacity:1;transform:translate(-50%,0)}

/* 头部滚动阴影 */
.header{transition:box-shadow .3s,background .3s}
.header.is-scrolled{box-shadow:0 6px 22px rgba(60,60,60,.1)}
.dark-theme .header.is-scrolled{box-shadow:0 6px 22px rgba(0,0,0,.4)}

/* 导航高亮与下划线 */
.nav.navbar-nav>li>a{position:relative;transition:color .2s}
.nav.navbar-nav>li>a:after{
    content:"";position:absolute;left:50%;bottom:6px;width:0;height:2px;border-radius:2px;
    background:var(--theme-color);transform:translateX(-50%);transition:width .25s;
}
.nav.navbar-nav>li>a:hover:after,
.nav.navbar-nav>li.current-menu-item>a:after{width:18px}
.nav.navbar-nav>li.current-menu-item>a{color:var(--theme-color)}
.sub-menu{
    opacity:0;visibility:hidden;transform:translateY(6px);transition:.22s;padding:8px 0;
    border-radius:var(--mini-radius);background:var(--main-bg-color);box-shadow:0 10px 26px var(--main-shadow);
}
.menu-item-has-children:hover>.sub-menu,.menu-item-has-children:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}

/* 回到顶部 */
.fixed-back-top{opacity:0;visibility:hidden;transform:translateY(8px);transition:.3s}
.fixed-back-top.show{opacity:1;visibility:visible;transform:none}

/* 目录高亮 */
.doc-toc a.active{background:var(--focus-color-opacity05);color:var(--focus-color);font-weight:600;position:relative}
.doc-toc a.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:14px;border-radius:3px;background:var(--theme-color)}

/* 产品卡悬停细节 */
.product-card:hover .product-cover:after{transform:scale(1.15)}
.product-cover:after{transition:transform .5s}
.product-card .ico{transition:transform .3s}
.product-card:hover .ico{transform:rotate(-6deg) scale(1.06)}

/* 价格卡推荐态 */
.price-card.active{box-shadow:0 10px 26px rgba(240,68,148,.16)}
.price-card.active .plan-name{color:var(--theme-color)}

/* 按钮反馈 */
.but:active{transform:translateY(1px)}
.but.jb-red{box-shadow:0 6px 16px rgba(240,68,148,.22)}
.but.jb-blue{box-shadow:0 6px 16px rgba(60,140,240,.18)}
.but.hollow{box-shadow:none}

/* 表单：错误态 + 图标 */
.query-field .form-control.is-invalid{border-color:#e04a4a;box-shadow:0 0 0 3px rgba(240,78,78,.12)}
.query-field .form-control::placeholder{color:var(--muted-3-color)}
.query-field .field-icon{position:relative}
.query-field .field-icon>i{
    position:absolute;right:16px;top:50%;transform:translateY(-50%);
    color:var(--muted-3-color);pointer-events:none;font-size:14px;
}
.pass-toggle{
    position:absolute;right:12px;top:50%;transform:translateY(-50%);width:30px;height:30px;line-height:30px;
    text-align:center;border-radius:50%;color:var(--muted-2-color);cursor:pointer;transition:.2s;
}
.pass-toggle:hover{background:var(--muted-bg-color);color:var(--theme-color)}
.pass-toggle.active{color:var(--theme-color)}

/* 结果卡操作 */
.result-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;padding:16px 20px 0}
.result-actions .but{font-size:13px;padding:8px 16px}
.but.ghost{
    background:var(--muted-bg-2-color)!important;color:var(--main-color)!important;box-shadow:none!important;
    border:1px solid var(--main-border-color)!important;
}
.but.ghost:hover{color:var(--focus-color)!important;border-color:var(--focus-color-opacity3)!important}
.but.copied{background:rgba(52,195,143,.14)!important;color:#23a06f!important;border-color:rgba(52,195,143,.4)!important}

/* 表格斑马纹与悬停 */
.lic-table tbody tr:hover td:last-child{color:var(--focus-color)}
.lic-table thead td{font-weight:600;background:var(--muted-bg-2-color)!important;color:var(--muted-color)!important}

/* 404 搜索 */
.nf-search{display:flex;gap:10px;max-width:460px;margin:0 auto}
.nf-search input{
    flex:1;height:46px;border-radius:var(--mini-radius);border:1px solid var(--main-border-color);
    background:var(--body-bg-color);color:var(--main-color);padding:0 16px;outline:none;
}
.nf-search input:focus{border-color:var(--focus-color);box-shadow:0 0 0 3px var(--focus-color-opacity1)}
.nf-search button{height:46px;padding:0 22px;white-space:nowrap}

/* 首页步骤条 */
.lic-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;counter-reset:flow}
.lic-flow-item{
    position:relative;background:var(--main-bg-color);border-radius:var(--main-radius);padding:20px 18px 18px;
    box-shadow:0 0 10px var(--main-shadow);counter-increment:flow;transition:.25s;
}
.lic-flow-item:hover{transform:translateY(-3px);box-shadow:0 10px 24px var(--main-shadow)}
.lic-flow-item:before{
    content:counter(flow);position:absolute;right:16px;top:14px;font-size:26px;font-weight:700;
    color:var(--focus-color-opacity1);line-height:1;
}
.lic-flow-item b{display:block;font-size:14px;color:var(--key-color);margin-bottom:6px}
.lic-flow-item span{font-size:12px;color:var(--muted-2-color);line-height:1.8}
@media (max-width:768px){.lic-flow{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.lic-flow{grid-template-columns:1fr}}

/* ---------- 文档页移动端：目录上移、帮助卡收起 ---------- */
@media (max-width:991px){
    .doc-aside{order:-1}
    .doc-aside>.lic-card:not(:first-child){display:none}
}
/* ---------- 搜索框在卡片内左对齐 ---------- */
.lic-card .nf-search{margin:0}

/* ---------- 表格表头 ---------- */
.lic-table th{
    text-align:left;font-weight:600;font-size:12px;padding:11px 20px;color:var(--muted-color);
    background:var(--muted-bg-2-color);border-bottom:1px solid var(--main-border-color);
}
.lic-table th:first-child{width:34%}
@media (max-width:768px){
    .lic-table th{display:none}
}

/* ---------- 渐变区光泽与细节 ---------- */
.lic-hero:before,.product-hero:before{
    content:"";position:absolute;inset:0;pointer-events:none;
    background:
        radial-gradient(620px 300px at 88% -12%, rgba(255,255,255,.22), transparent 72%),
        radial-gradient(420px 220px at 6% 118%, rgba(255,255,255,.12), transparent 72%);
}
.lic-hero>*,.product-hero>*{position:relative;z-index:2}
.lic-hero .lic-hero-make{z-index:1}
.lic-stat{transition:.25s}
.lic-stat:hover{background:rgba(255,255,255,.28);transform:translateY(-2px)}
.lic-hero-badge i{opacity:.9}
/* 数字等宽，避免统计跳动 */
.lic-stat .num{font-variant-numeric:tabular-nums}
.product-price .p-num,.price-card .plan-price{font-variant-numeric:tabular-nums}
/* 卡片标题图标居中 */
.lic-card-title i{width:18px;text-align:center}
/* 结果卡入场更顺滑 */
.query-result{will-change:opacity,transform}
/* 空状态 */
.lic-empty .mt20{margin-top:18px}

/* ========== 用户中心（我的授权 / 订单 / 卡密 / 日志 / 账号） ========== */
.account-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:20px;align-items:start}
.account-side{display:flex;flex-direction:column;gap:16px;position:sticky;top:98px}
.account-main{min-width:0}

/* 侧栏用户卡 */
.account-user{padding:20px;text-align:center}
.account-avatar{
    width:56px;height:56px;line-height:56px;margin:0 auto 10px;border-radius:50%;
    background:var(--linear-bg-1);color:#fff;font-size:22px;font-weight:700;letter-spacing:1px;
    box-shadow:0 8px 20px var(--focus-color-opacity3);
}
.account-user-info b{display:block;font-size:15px;color:var(--key-color);margin-bottom:2px}
.account-user-info span{font-size:12px;color:var(--muted-2-color)}
.account-user-stat{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px;padding-top:14px;border-top:1px dashed var(--main-border-color)}
.account-user-stat b{display:block;font-size:17px;color:var(--focus-color);line-height:1.2}
.account-user-stat span{font-size:11px;color:var(--muted-2-color)}

/* 侧栏菜单 */
.account-menu{padding:8px;display:flex;flex-direction:column;gap:2px}
.account-menu a{
    display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:var(--mini-radius);
    color:var(--main-color);font-size:14px;transition:.2s;
}
.account-menu a i:first-child{width:18px;text-align:center;color:var(--muted-2-color)}
.account-menu a i:last-child{margin-left:auto;opacity:0;transition:.2s;font-size:13px}
.account-menu a span{flex:1}
.account-menu a:hover{background:var(--muted-bg-2-color);color:var(--focus-color)}
.account-menu a:hover i:first-child{color:var(--focus-color)}
.account-menu a:hover i:last-child{opacity:1}
.account-menu a.active{background:var(--focus-color-opacity1);color:var(--focus-color);font-weight:600}
.account-menu a.active i:first-child{color:var(--focus-color)}
.account-menu a.account-logout{border-top:1px solid var(--main-border-color);margin-top:6px;padding-top:12px;border-radius:0 0 var(--mini-radius) var(--mini-radius)}
.account-menu a.account-logout:hover{background:rgba(240,78,78,.08);color:#e04a4a}
.account-menu a.account-logout:hover i{color:#e04a4a}
.account-help{padding:18px}
.account-help b{display:block;font-size:14px;color:var(--key-color);margin-bottom:6px}
.account-help p{font-size:12px;color:var(--muted-2-color);line-height:1.7;margin-bottom:12px}
.account-help .but{font-size:12px;padding:7px 12px}

/* 主区头部 */
.account-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.account-head h1{margin:0}
.account-head .but{font-size:13px;padding:9px 16px}

/* 深色统计条（用户中心用） */
.lic-stats.account-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}
.account-stats{margin-bottom:20px}
.lic-stat-dark{
    background:var(--main-bg-color);border-radius:var(--main-radius);padding:16px 18px;
    box-shadow:0 0 10px var(--main-shadow);border-left:3px solid var(--focus-color-opacity3);
}
.lic-stat-dark b{display:block;font-size:22px;color:var(--key-color);line-height:1.3;font-variant-numeric:tabular-nums}
.lic-stat-dark span{font-size:12px;color:var(--muted-2-color)}
.lic-stat-dark.ok{border-left-color:#34c38f}
.lic-stat-dark.warn{border-left-color:#ff9900}

/* 筛选条 */
.account-filter{padding:14px 16px;margin-bottom:16px}
.account-filter .form-control{height:42px}

/* 授权条目 */
.auth-list{display:flex;flex-direction:column;gap:12px}
.auth-item{
    display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;
    background:var(--main-bg-color);border-radius:var(--main-radius);padding:18px 20px;
    box-shadow:0 0 10px var(--main-shadow);transition:.25s;border:1px solid transparent;
}
.auth-item:hover{transform:translateY(-2px);box-shadow:0 10px 24px var(--main-shadow);border-color:var(--focus-color-opacity1)}
.ai-main{min-width:0;flex:1}
.ai-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.ai-title b{font-size:15px;color:var(--key-color)}
.ai-ico{
    width:28px;height:28px;line-height:28px;text-align:center;border-radius:8px;
    background:var(--focus-color-opacity1);color:var(--focus-color);font-size:13px;
}
.ai-title .badge{margin-right:0}
.ai-meta{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--muted-2-color)}
.ai-meta span{display:inline-flex;align-items:center;gap:5px}
.ai-meta i{color:var(--muted-3-color);font-size:12px}
.ai-side{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.ai-comm{font-size:12px;color:var(--muted-3-color);display:inline-flex;align-items:center;gap:5px}
.ai-actions{display:flex;gap:8px;flex-wrap:wrap}
.ai-actions .but{font-size:12px;padding:7px 14px}

/* 详情字段网格 */
.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 24px}
.field-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px dashed var(--main-border-color)}
.field-row:last-child,.field-row:nth-last-child(2){border-bottom:none}
.field-row span{font-size:13px;color:var(--muted-2-color);flex-shrink:0}
.field-row b{font-size:13px;color:var(--key-color);font-weight:600;text-align:right;word-break:break-all;display:inline-flex;align-items:center;gap:8px}
.key-cell code{
    font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;background:var(--muted-bg-2-color);
    padding:4px 8px;border-radius:6px;color:var(--main-color);
}
.but.mini{font-size:11px;padding:4px 10px;line-height:1.6}

/* 操作卡片 */
.op-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.op-item{
    border:1px solid var(--main-border-color);border-radius:var(--main-radius);padding:16px 18px;
    background:var(--muted-bg-2-color);transition:.2s;
}
.op-item:hover{border-color:var(--focus-color-opacity3)}
.op-item b{display:block;font-size:14px;color:var(--key-color);margin-bottom:6px}
.op-item b i{color:var(--focus-color);margin-right:4px}
.op-item p{font-size:12px;color:var(--muted-2-color);line-height:1.75;margin-bottom:12px;min-height:42px}
.op-btn{font-size:12px;padding:8px 14px}

/* 日志列表 */
.log-list{list-style:none;margin:0;padding:0}
.log-list li{display:flex;gap:12px;padding:12px 0;border-bottom:1px dashed var(--main-border-color)}
.log-list li:last-child{border-bottom:none}
.log-dot{width:8px;height:8px;border-radius:50%;margin-top:6px;flex-shrink:0;background:var(--muted-3-color)}
.log-dot.ok{background:#34c38f;box-shadow:0 0 0 3px rgba(52,195,143,.16)}
.log-dot.bad{background:#e04a4a;box-shadow:0 0 0 3px rgba(240,78,78,.14)}
.log-body b{display:block;font-size:13px;color:var(--key-color);margin-bottom:3px}
.log-body span{font-size:12px;color:var(--muted-2-color)}

/* 卡密兑换 */
.redeem-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.redeem-form .query-field{flex:1;min-width:220px}
.redeem-form .but{height:46px;padding:0 22px}
.redeem-form .but[disabled],.redeem-form .form-control[disabled]{opacity:.6;cursor:not-allowed}

/* 登录页补充 */
.sign-alert{
    display:flex;align-items:center;gap:8px;background:rgba(240,78,78,.08);color:#e04a4a;
    border:1px solid rgba(240,78,78,.24);border-radius:var(--mini-radius);
    padding:11px 14px;font-size:13px;margin-bottom:16px;
}
.sign-alert em{font-style:normal;font-size:12px;opacity:.85}
.sign-perks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.sign-perks li{display:flex;gap:12px;align-items:flex-start}
.sign-perks li>i{
    width:34px;height:34px;line-height:34px;text-align:center;border-radius:9px;
    background:var(--focus-color-opacity1);color:var(--focus-color);flex-shrink:0;font-size:14px;
}
.sign-perks b{display:block;font-size:14px;color:var(--key-color);margin-bottom:2px}
.sign-perks span{font-size:12px;color:var(--muted-2-color);line-height:1.7}
.sign-links{display:flex;justify-content:space-between;margin-top:14px;font-size:13px}
.sign-links a{color:var(--muted-2-color)}
.sign-links a:hover{color:var(--focus-color)}
.chip-inline{
    display:inline-block;background:var(--muted-bg-2-color);border-radius:50px;padding:2px 10px;
    font-size:12px;color:var(--main-color);margin:2px 6px 2px 0;
}
.lic-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}

/* 移动端 */
@media (max-width:991px){
    .account-layout{grid-template-columns:1fr}
    .account-side{position:static;top:auto;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;gap:10px;padding-bottom:4px}
    .account-side .account-user,.account-side .account-help{display:none}
    .account-menu{flex-direction:row;padding:6px;gap:4px;min-width:max-content}
    .account-menu a{white-space:nowrap;padding:9px 12px;font-size:13px}
    .account-menu a i:last-child{display:none}
    .account-menu a.account-logout{border-top:none;border-left:1px solid var(--main-border-color);margin-top:0;padding-top:9px;margin-left:4px}
    .lic-stats.account-stats{grid-template-columns:repeat(2,1fr)}
    .field-grid{grid-template-columns:1fr}
    .op-grid{grid-template-columns:1fr}
    .op-item p{min-height:auto}
    .ai-side{align-items:flex-start;width:100%}
    .sign-side{display:none}
}
@media (max-width:480px){
    .auth-item{padding:16px}
    .ai-meta{gap:10px}
    .account-head{gap:10px}
    .account-head .but{font-size:12px;padding:8px 12px}
}

/* ========== 通用页面头 / 批量校验 / 工具页 ========== */
.page-head{margin:0 0 18px}
.page-head h1{margin:0 0 6px}
.query-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}
.query-side{padding:22px}
.side-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.side-list li{display:flex;gap:9px;font-size:13px;color:var(--main-color);line-height:1.7}
.side-list li i{color:#34c38f;margin-top:3px;font-size:12px}
textarea.form-control{height:auto;min-height:150px;padding:12px 14px;line-height:1.8;resize:vertical;
    font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}
.batch-tools{display:flex;align-items:center;gap:14px;margin-top:10px;font-size:12px;color:var(--muted-2-color)}
.link-btn{background:none;border:none;padding:0;color:var(--focus-color);font-size:12px;cursor:pointer}
.link-btn:hover{text-decoration:underline}
.batch-count{margin-left:auto}
.batch-count b{color:var(--focus-color);font-variant-numeric:tabular-nums}
.batch-count.over b,.batch-count.over{color:#e04a4a}
.but-spinner{
    display:none;width:14px;height:14px;margin-left:8px;vertical-align:-2px;border-radius:50%;
    border:2px solid rgba(255,255,255,.45);border-top-color:#fff;animation:spin .7s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg)}}
.batch-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.batch-summary .lic-card-title{margin-bottom:0}
.batch-stat{display:flex;align-items:center;gap:10px}
.batch-stat .badge{margin-right:0}
/* 通讯记录紧凑列表 */
.comm-list{list-style:none;margin:0;padding:0}
.comm-list li{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px dashed var(--main-border-color)}
.comm-list li:last-child{border-bottom:none}
.comm-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--muted-3-color)}
.comm-dot.ok{background:#34c38f;box-shadow:0 0 0 3px rgba(52,195,143,.16)}
.comm-dot.bad{background:#e04a4a;box-shadow:0 0 0 3px rgba(240,78,78,.14)}
.comm-main{flex:1;min-width:0}
.comm-main b{display:block;font-size:13px;color:var(--key-color);word-break:break-all}
.comm-main span{font-size:12px;color:var(--muted-2-color)}
.comm-list .badge{margin-right:0;flex-shrink:0}
.title-sub{font-size:12px;color:var(--muted-3-color);font-weight:400;margin-left:8px}
.redeem-tip{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--muted-bg-2-color);
    border-radius:var(--main-radius);padding:16px 18px}
.redeem-tip>i{font-size:20px;color:var(--focus-color)}
.redeem-tip>div{flex:1;min-width:180px}
.redeem-tip b{display:block;font-size:14px;color:var(--key-color);margin-bottom:3px}
.redeem-tip span{font-size:12px;color:var(--muted-2-color)}
@media (max-width:991px){
    .query-layout{grid-template-columns:1fr}
    .query-side{order:2}
}

/* ========== 服务状态 ========== */
.status-hero{
    display:flex;align-items:center;gap:14px;border-radius:var(--main-radius);padding:20px 24px;
    color:#fff;background:var(--linear-bg-1);margin-bottom:20px;position:relative;overflow:hidden;
}
.status-hero.bad{background:linear-gradient(45deg,#e04a4a,#f0806a)}
.status-hero>i{font-size:26px;opacity:.95}
.status-hero>div{flex:1;min-width:0}
.status-hero b{display:block;font-size:17px;margin-bottom:3px}
.status-hero span{font-size:12px;opacity:.9}
.status-hero em{font-style:normal;font-size:13px;opacity:.85;font-variant-numeric:tabular-nums}
.status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.status-card{padding:22px}
.status-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
.status-metrics div{background:var(--muted-bg-2-color);border-radius:var(--mini-radius);padding:12px 10px;text-align:center}
.status-metrics b{display:block;font-size:19px;color:var(--focus-color);line-height:1.3;font-variant-numeric:tabular-nums}
.status-metrics span{font-size:11px;color:var(--muted-2-color)}
.status-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px dashed var(--main-border-color);font-size:13px}
.status-row:last-child{border-bottom:none}
.status-row span{color:var(--muted-2-color)}
.status-row b{color:var(--key-color);font-weight:600;font-variant-numeric:tabular-nums}
.check-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.check-list li{display:flex;gap:10px;align-items:flex-start}
.check-list li>i{font-size:15px;margin-top:2px}
.check-list li>i.ok{color:#34c38f}
.check-list li>i.bad{color:#e04a4a}
.check-list b{display:block;font-size:13px;color:var(--key-color);margin-bottom:2px}
.check-list b em{font-style:normal;font-size:12px;color:var(--muted-2-color);margin-left:6px;font-weight:400}
.check-list span{font-size:12px;color:var(--muted-2-color);line-height:1.6}

/* ========== 更新中心 ========== */
.version-card{display:flex;flex-direction:column;gap:12px;background:var(--main-bg-color);border-radius:var(--main-radius);
    padding:18px 20px;box-shadow:0 0 10px var(--main-shadow);transition:.25s;color:inherit}
.version-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px var(--main-shadow)}
.vc-head{display:flex;align-items:center;gap:12px}
.vc-ico{width:36px;height:36px;line-height:36px;text-align:center;border-radius:10px;
    background:var(--focus-color-opacity1);color:var(--focus-color);font-size:16px}
.vc-head b{display:block;font-size:15px;color:var(--key-color)}
.vc-head span{font-size:12px;color:var(--muted-2-color)}
.vc-head .badge{margin-left:auto;margin-right:0}
.vc-foot{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted-2-color);
    border-top:1px dashed var(--main-border-color);padding-top:10px}
.vc-foot i{margin-right:4px}
.update-feed{display:flex;flex-direction:column;gap:14px}
.update-item{display:flex;gap:18px;background:var(--main-bg-color);border-radius:var(--main-radius);
    padding:20px;box-shadow:0 0 10px var(--main-shadow);transition:.25s}
.update-item:hover{box-shadow:0 10px 24px var(--main-shadow)}
.update-ver{flex-shrink:0;text-align:center;min-width:96px;border-right:1px dashed var(--main-border-color);padding-right:18px}
.update-ver b{display:block;font-size:16px;color:var(--focus-color);margin-bottom:4px}
.update-ver span{font-size:11px;color:var(--muted-3-color)}
.update-body{flex:1;min-width:0}
.update-title{font-size:15px;margin:0 0 8px;color:var(--key-color)}
.update-desc{font-size:13px;color:var(--main-color);line-height:1.8;margin:0 0 10px}
.update-meta{display:flex;align-items:center;gap:16px;font-size:12px;color:var(--muted-2-color)}
.update-meta a{color:var(--focus-color)}
.update-meta i{margin-right:4px}

/* ========== 文档/接口代码块 ========== */
.code-block{
    background:var(--muted-bg-2-color);border:1px solid var(--main-border-color);border-radius:var(--mini-radius);
    padding:14px 16px;overflow-x:auto;margin:10px 0 16px;
}
.code-block code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;line-height:1.7;
    color:var(--main-color);white-space:pre;background:none;padding:0}
.dark-theme .code-block{background:#2a2b2d}
.doc-h3{font-size:14px;margin:18px 0 6px;color:var(--key-color);font-weight:600}
.doc-h3:before{content:"";display:inline-block;width:3px;height:13px;border-radius:2px;
    background:var(--theme-color);margin-right:7px;vertical-align:-1px}
.api-try{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.api-try .form-control{height:44px;max-width:260px}
.api-try .but{height:44px;padding:0 20px}
.api-out{margin-top:14px}
.doc-toc .toc-title{display:block;font-size:14px;color:var(--key-color);margin-bottom:10px}
.doc-toc nav{display:flex;flex-direction:column;gap:2px}
.doc-toc nav a{padding:7px 10px;border-radius:8px;font-size:13px;color:var(--main-color);transition:.2s}
.doc-toc nav a:hover{background:var(--muted-bg-2-color);color:var(--focus-color)}
.doc-toc nav a.active{background:var(--focus-color-opacity05);color:var(--focus-color);font-weight:600}
.doc-help{padding:18px;margin-top:16px}
.doc-help b{display:block;font-size:14px;color:var(--key-color);margin-bottom:6px}
.doc-help p{font-size:12px;color:var(--muted-2-color);line-height:1.7;margin-bottom:12px}
@media (max-width:991px){
    .status-grid{grid-template-columns:1fr}
    .status-metrics{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:768px){
    .update-item{flex-direction:column;gap:10px}
    .update-ver{display:flex;align-items:center;gap:10px;border-right:none;border-bottom:1px dashed var(--main-border-color);
        padding:0 0 8px;text-align:left}
    .update-ver b{margin-bottom:0}
}

/* 卡片标题右侧链接 */
.title-link{float:right;font-size:12px;font-weight:400;color:var(--muted-2-color);transition:.2s}
.title-link:hover{color:var(--focus-color)}
.title-link i{font-size:11px;margin-left:2px}

/* 文档/接口页：防止代码块把移动端撑破 */
.doc-layout{grid-template-columns:minmax(0,1fr) 280px}
.doc-main{min-width:0}
.doc-aside{min-width:0}
.code-block{max-width:100%}
.doc-main .lic-table-wrap{max-width:100%}
@media (max-width:991px){
    .doc-layout{grid-template-columns:minmax(0,1fr)}
}

/* ========== 首页工具箱 ========== */
.tool-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.tool-card{
    display:flex;flex-direction:column;gap:6px;background:var(--main-bg-color);border-radius:var(--main-radius);
    padding:20px 18px;box-shadow:0 0 10px var(--main-shadow);color:inherit;transition:.25s;position:relative;overflow:hidden;
}
.tool-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px var(--main-shadow)}
.tool-card:after{
    content:"";position:absolute;right:-18px;bottom:-18px;width:60px;height:60px;border-radius:50%;
    background:var(--focus-color-opacity1);transition:.3s;
}
.tool-card:hover:after{transform:scale(1.25)}
.tool-card>i{font-size:19px;color:var(--focus-color);margin-bottom:2px}
.tool-card b{font-size:14px;color:var(--key-color)}
.tool-card span{font-size:12px;color:var(--muted-2-color);line-height:1.7}
/* 查询结果：同域名其它产品 */
.result-related{
    margin:14px 20px 0;padding:11px 14px;border-radius:var(--mini-radius);background:var(--muted-bg-2-color);
    font-size:12px;color:var(--muted-2-color);display:flex;align-items:center;gap:8px;flex-wrap:wrap;
}
.result-related .badge{margin-right:0;font-size:11px}
.result-related i{color:var(--muted-3-color)}
@media (max-width:991px){.tool-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.tool-grid{grid-template-columns:1fr}}

/* ---------- 菜单箭头与移动端折叠 ---------- */
.menu-caret,.nav-caret{margin-left:5px;font-size:11px;opacity:.55;transition:transform .25s}
.nav-caret{font-size:10px;margin-left:4px}
.menu-item-has-children:hover>.menu-caret{transform:rotate(180deg)}
@media (max-width:991px){
    /* 子菜单默认收起，点击父级展开 */
    .header .nav.navbar-nav .menu-item-has-children .sub-menu{display:none!important}
    .header .nav.navbar-nav .menu-item-has-children.open .sub-menu{display:block!important}
    .menu-item-has-children.open>.menu-caret,
    .menu-item-has-children.open>a .menu-caret{transform:rotate(180deg)}
    /* 登录态下拉在移动端同样折叠 */
    .nav-user-item{display:block}
    .nav-user-menu{
        position:static!important;display:none!important;opacity:1!important;visibility:visible!important;
        transform:none!important;box-shadow:none!important;background:transparent!important;
        padding:0 0 0 14px!important;margin:0!important;
    }
    .nav-user-item.open .nav-user-menu{display:block!important}
    .nav-user-item.open .nav-caret{transform:rotate(180deg)}
    .nav-user-menu a{color:var(--muted-color)!important;padding:9px 4px!important;border-radius:0}
    .nav-user-menu a i{width:16px;margin-right:4px}
}

/* ---------- 查询页 Tabs ---------- */
.q-tabs{display:flex;gap:8px;margin:0 0 18px;padding:5px;background:var(--muted-bg-2-color);border-radius:var(--main-radius)}
.q-tab{
    flex:1;display:flex;align-items:center;justify-content:center;gap:7px;height:40px;border:none;cursor:pointer;
    background:transparent;border-radius:calc(var(--main-radius) - 4px);font-size:13px;color:var(--muted-2-color);
    transition:.2s;font-weight:500;
}
.q-tab i{font-size:12px}
.q-tab:hover{color:var(--focus-color)}
.q-tab.active{background:var(--main-bg-color);color:var(--focus-color);box-shadow:0 2px 8px var(--main-shadow);font-weight:600}
@media (max-width:480px){.q-tab{font-size:12px;gap:5px}}

/* ========== 可读性修复：弱化色对比度（zibll 默认 #999 在白底仅 2.85:1） ==========
   注意：zibll 把变量定义在 body 上，必须用同等或更高优先级覆盖，:root 会被 body 覆盖 */
body{
    --muted-2-color:#6f757b;   /* 白底 ≈ 4.6:1 */
    --muted-3-color:#868c92;   /* 白底 ≈ 3.4:1，仅用于极次要信息 */
}
body.dark-theme,html.dark-theme{
    --muted-2-color:#a9b0b8;
    --muted-3-color:#8e959d;
}
/* 徽章文字加深，保证 12px 也能达标 */
.badge.ok{color:#127d55;background:rgba(23,150,105,.12)}
.badge.warn{color:#8a5a08;background:rgba(214,148,22,.14)}
.badge.bad{color:#b53232;background:rgba(224,74,74,.12)}
.dark-theme .badge.ok{color:#7ee0b6;background:rgba(52,195,143,.14)}
.dark-theme .badge.warn{color:#f0c15f;background:rgba(214,148,22,.16)}
.dark-theme .badge.bad{color:#ff9a9a;background:rgba(224,74,74,.16)}
/* 对比度兜底：正文副标题跟随 */
.muted-2-color,.em09.muted-2-color{color:var(--muted-2-color)}
.muted-3-color{color:var(--muted-3-color)}

/* ========== 触控热区：小按钮在移动端不小于 32px ========== */
.but.mini{min-height:30px;display:inline-flex;align-items:center;justify-content:center}
.link-btn{padding:6px 2px;line-height:1.2}
@media (max-width:768px){
    .but.mini{min-height:34px;padding:0 12px;font-size:12.5px}
    .link-btn{padding:9px 2px;min-height:32px;display:inline-flex;align-items:center}
    .op-item .but,.account-profile .but,.auth-item .but{min-height:34px}
    /* 长代码在移动端换行，避免必须横向拖动 */
    .code-block code{white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere}
    .doc-body pre code{white-space:pre-wrap;word-break:break-word}
}

/* ---------- 缺失的间距工具类（页面里在用） ---------- */
.mt16{margin-top:16px}
.mt24{margin-top:24px}
.mb16{margin-bottom:16px}
.mb24{margin-bottom:24px}
/* 行表头与普通单元格视觉一致 */
.lic-table th[scope="row"]{
    font-weight:400;font-size:13.5px;color:var(--muted-2-color);
    text-align:left;padding:12px 16px;border-bottom:1px solid var(--main-border-color);
    background:transparent;white-space:nowrap;width:38%;
}
.lic-table th[scope="row"] i{width:16px;color:var(--muted-3-color);margin-right:6px}
@media (max-width:768px){
    .lic-table th[scope="row"]{display:block;width:auto;border-bottom:none;padding:10px 14px 0;font-size:12px}
}

/* ---------- 用户中心写操作表单 ---------- */
.op-form{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.op-form .form-control{height:42px;font-size:13px}
.op-form .op-btn{width:100%;justify-content:center}
.op-hint{font-size:12px;color:var(--muted-3-color);margin:10px 0 0;line-height:1.7}
.op-hint code{background:var(--muted-bg-2-color);padding:2px 6px;border-radius:5px;font-size:11.5px;color:var(--main-color)}
.redeem-form{display:flex;flex-direction:column;gap:12px}
.redeem-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.redeem-form .form-control{height:46px;font-size:13.5px}
.redeem-form .but{align-self:flex-start;padding:0 22px;height:44px}
@media (max-width:768px){
    .redeem-fields{grid-template-columns:1fr}
    .redeem-form .but{width:100%}
}

/* ---------- 返回顶部 / 全局链接基线（原在页脚内联，已归并） ---------- */
.fixed-back-top{
    position:fixed;right:20px;bottom:30px;width:42px;height:42px;line-height:42px;text-align:center;
    border-radius:50%;background:var(--float-btn-bg);color:var(--main-color);z-index:99;display:none;
    backdrop-filter:blur(6px);transition:.3s
}
.fixed-back-top:hover{background:var(--theme-color);color:#fff}
.fixed-back-top.show{display:block}
a{color:inherit;text-decoration:none}
a:hover{color:var(--focus-color)}
@media (max-width:768px){
    .fixed-back-top{right:14px;bottom:20px;width:38px;height:38px;line-height:38px}
}

/* ---------- 查询历史（本地） ---------- */
.q-history{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px;padding-top:14px;
    border-top:1px dashed var(--main-border-color)}
.q-history-label{font-size:12.5px;color:var(--muted-3-color);display:inline-flex;align-items:center;gap:6px}
.q-history-list{display:flex;flex-wrap:wrap;gap:8px;flex:1;min-width:0}
.q-history-chip{
    border:1px solid var(--main-border-color);background:var(--muted-bg-2-color);color:var(--main-color);
    font-size:12.5px;padding:6px 12px;border-radius:50px;cursor:pointer;transition:.2s;
    display:inline-flex;align-items:center;gap:6px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
.q-history-chip i{color:var(--muted-3-color);font-size:12px}
.q-history-chip:hover{border-color:var(--focus-color);color:var(--focus-color);background:transparent}
.q-history .link-btn{font-size:12.5px;color:var(--muted-3-color)}
@media (max-width:768px){
    .q-history{align-items:flex-start}
    .q-history-list{flex-basis:100%}
}

/* ---------- 系统级提示条（数据服务异常等） ---------- */
.sys-alert{
    position:relative;z-index:1001;display:flex;align-items:center;gap:10px;
    padding:11px 18px;font-size:13px;line-height:1.6;
    background:#fdecec;color:#a83232;border-bottom:1px solid rgba(224,74,74,.25)
}
.sys-alert i{font-size:15px;flex:0 0 auto}
.dark-theme .sys-alert{background:#3a2426;color:#ffb3b3;border-bottom-color:rgba(224,74,74,.35)}
@media (max-width:768px){
    .sys-alert{padding:10px 14px;font-size:12.5px}
}
