*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:-apple-system,"PingFang SC","Microsoft YaHei","HarmonyOS Sans","Noto Sans SC",Arial,sans-serif;background:#f8f9f8;color:#1a2a1a;font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}
a{text-decoration:none;color:inherit}button{cursor:pointer;border:none;font-family:inherit;background:none;outline:none}
:root{--green:#0c7222;--gl:#1a8a3a;--gbg:#f6faf4;--gbg2:#edf4ea;--gold:#D4A017;--gld2:#FFD700;--dk:#1a2a1a;--mid:#444;--gy:#888;--r:14px;--rb:30px;--sh:0 4px 20px rgba(12,114,34,0.10);--shh:0 8px 32px rgba(12,114,34,0.18)}
.container{max-width:1080px;margin:0 auto;padding:0 20px}
.ft{opacity:0;transform:translateY(16px);transition:opacity .45s ease,transform .45s ease}.ft.v{opacity:1;transform:translateY(0)}

/* ===== NAVBAR ===== */
#nv{position:sticky;top:0;z-index:1000;background:#fff;border-top:3px solid #0c7222;border-bottom:1px solid #e8f0e8;box-shadow:0 2px 12px rgba(12,114,34,0.07)}
.ni{display:flex;align-items:center;gap:14px;padding:0 20px;max-width:1200px;margin:0 auto;height:56px}
.nl{display:flex;flex-direction:column;flex-shrink:0}
.nm{font-size:18px;font-weight:800;color:var(--green);white-space:nowrap;letter-spacing:-0.3px}
.ns{font-size:11px;color:var(--gold);font-weight:500;white-space:nowrap;line-height:1;margin-top:-1px}
.nsw{flex:1;display:flex;flex-direction:column;gap:2px;max-width:500px}
.nsb{display:flex;align-items:center;border:1.5px solid var(--green);border-radius:22px;overflow:hidden;background:#f9fbf9;height:36px;transition:box-shadow .2s,border-color .2s}
.nsb:focus-within{border-color:var(--gl);box-shadow:0 0 0 3px rgba(12,114,34,0.12);background:#fff}
.nsb input{flex:1;border:none;outline:none;padding:0 12px;font-size:14px;font-family:inherit;color:var(--dk);background:transparent;min-width:100px}
.nsb input::placeholder{color:#bbb}
.nsb button{display:flex;align-items:center;gap:4px;background:var(--green);color:#fff;padding:0 14px;font-size:14px;font-weight:600;height:100%;transition:background .15s;border-radius:0 21px 21px 0}
.nsb button:hover{background:var(--gl)}
.npt{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.npl{font-size:11px;color:var(--gy)}
.nptg{font-size:11px;color:var(--gy);cursor:pointer;padding:1px 6px;border-radius:8px;transition:all .15s;white-space:nowrap}
.nptg:hover{color:var(--green);background:var(--gbg)}
.nr{display:flex;align-items:center;gap:8px;flex-shrink:0}
.nra{font-size:14px;color:var(--mid);cursor:pointer;white-space:nowrap;padding:4px 10px;border-radius:6px;transition:all .15s}
.nra:hover{color:var(--green);background:var(--gbg)}
.nvb{background:linear-gradient(135deg,var(--gold),var(--gld2));color:#7a5800;padding:5px 12px;border-radius:18px;font-size:12px;font-weight:700;white-space:nowrap;box-shadow:0 2px 8px rgba(212,160,23,0.25);transition:transform .15s}
.nvb:hover{transform:translateY(-1px)}
.nlb{width:32px;height:32px;border-radius:50%;background:var(--gbg);display:flex;align-items:center;justify-content:center;font-size:15px;cursor:pointer;transition:background .15s}
.nlb:hover{background:var(--gbg2)}
.nmi{display:none;gap:8px;align-items:center}
.mmo{display:none;position:fixed;top:56px;left:0;right:0;background:#fff;z-index:999;box-shadow:0 4px 20px rgba(0,0,0,0.10);padding:8px 0;max-height:calc(100vh - 56px);overflow-y:auto}
.mmo.o{display:block}
.mmo a{display:flex;align-items:center;gap:8px;padding:12px 20px;font-size:15px;color:var(--mid);border-bottom:1px solid #f5f5f5}
.mmo a:last-child{border-bottom:none}
.mmo a:active{background:var(--gbg);color:var(--green)}
@media(max-width:992px){.ni{gap:10px;height:52px}.nsb{background:#f5f5f5;border-color:#e0e0e0}.nsb input{font-size:12px}.nsb button{padding:0 10px;font-size:12px}.nra{display:none}.nr{gap:6px}}
@media(max-width:768px){
  .ni{min-width:0;padding:0 12px;height:50px;gap:8px}
  .nl,.nsw{min-width:0}
  .nm{font-size:15px}.ns{display:none}.nsw{max-width:none;flex:1}
  .nsb{height:32px;background:#f5f5f5;border-color:#e0e0e0}
  .nsb input{font-size:12px;min-width:60px;padding:0 8px}
  .nsb button{padding:0 8px;font-size:11px}.nsb button span:last-child{display:none}
  .npt{display:none}
  .nr{display:none}
  .nlb{width:28px;height:28px;font-size:13px}
  .nmi{display:flex;flex:0 0 auto}
}

/* ===== 面包屑 ===== */
.bc{background:#fff;border-bottom:1px solid #e8f0e8}
.bci{max-width:1080px;margin:0 auto;padding:10px 20px;font-size:13px;color:var(--gy)}
.bci a{color:var(--green)}.bci a:hover{text-decoration:underline}

/* ===== 资源信息头 ===== */
.res-head{background:#fff;border-radius:var(--r);padding:24px 28px;margin-top:20px;box-shadow:0 1px 4px rgba(0,0,0,0.04)}
.res-head .rh-type{display:inline-block;background:var(--gbg);color:var(--green);padding:2px 10px;border-radius:8px;font-size:11px;font-weight:600;margin-bottom:8px}
.res-head h1{font-size:22px;font-weight:700;color:var(--dk);margin-bottom:10px;line-height:1.4}
.res-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;color:var(--gy);margin-bottom:12px}
.res-meta span{background:var(--gbg);padding:3px 10px;border-radius:12px}
.res-tags{display:flex;gap:6px;flex-wrap:wrap}
@media(max-width:768px){.res-head{padding:16px 14px;margin-top:12px}.res-head h1{font-size:18px}}

/* ===== 主体 ===== */
.main{display:grid;grid-template-columns:1fr 280px;gap:20px;padding:20px 0}
.main .container{display:contents}

/* ===== 主内容 ===== */
.content{min-width:0}

/* 预览区 */
.preview-area{background:#fff;border:1px solid #e8f0e8;border-radius:var(--r);padding:28px;text-align:center;margin-bottom:16px;min-height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;overflow:hidden}
.preview-area .pi{width:64px;height:64px;background:#f0f0f0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:26px;color:var(--gy)}
.preview-area .pt{font-size:14px;color:var(--gy)}
.preview-area .ph{font-size:12px;color:#bbb}
.xkw-paper-preview-image{display:block;width:100%;height:auto;max-height:760px;object-fit:contain;border-radius:8px;background:#f7f7f7}
.xkw-video-player{display:block;width:100%;aspect-ratio:16/9;max-height:620px;background:#111;border-radius:8px}
.xkw-preview-label{font-size:13px;color:var(--gy)}
.xkw-preview-status{font-size:13px;color:var(--gy);padding:6px 10px}
.xkw-preview-status.is-loading{color:var(--green)}
.xkw-preview-status.is-error{color:#b42318}

/* 操作区 */
.actions{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}
.actions .btn-pri{display:inline-flex;align-items:center;gap:6px;background:var(--green);color:#fff;padding:14px 32px;border-radius:var(--rb);font-size:15px;font-weight:600;transition:all .2s}
.actions .btn-pri:hover{background:var(--gl);transform:translateY(-1px)}
.actions .btn-pri:disabled{cursor:default;opacity:.72;transform:none}
.actions .btn-sec{display:inline-flex;align-items:center;gap:6px;background:#fff;color:var(--green);padding:14px 28px;border-radius:var(--rb);font-size:15px;font-weight:600;border:2px solid var(--green);transition:all .2s}
.actions .btn-sec:hover{background:var(--gbg)}
.xkw-action-status{display:flex;align-items:center;flex:1;min-width:180px;font-size:13px;color:var(--gy)}
.xkw-action-status.is-error{color:#b42318}.xkw-action-status.is-success{color:var(--green)}.xkw-action-status.is-loading{color:var(--mid)}
@media(max-width:768px){.actions .btn-pri,.actions .btn-sec{width:100%;justify-content:center;padding:12px}}

/* 详情区 */
.detail-box{background:#fff;border:1px solid #e8f0e8;border-radius:var(--r);padding:20px 24px;margin-bottom:14px}
.detail-box h3{font-size:15px;font-weight:700;color:var(--dk);margin-bottom:12px;border-left:3px solid var(--green);padding-left:10px;display:flex;align-items:center;gap:6px}
.detail-table{width:100%;font-size:14px;border-collapse:collapse}
.detail-table tr{border-bottom:1px solid #f5f5f5}
.detail-table td{padding:10px 0}
.detail-table td:first-child{width:100px;color:var(--gy);font-weight:500;vertical-align:top}
.detail-table td:last-child{color:var(--dk)}
.detail-box .desc{font-size:14px;color:var(--mid);line-height:1.8}
.detail-box .desc b{color:var(--dk)}
@media(max-width:768px){.detail-box{padding:14px 16px}}

/* 相关推荐 */
.related{margin-top:8px}
.related h3{font-size:15px;font-weight:700;color:var(--dk);margin-bottom:12px}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.related-card{display:block;background:#fff;border:1px solid #e8f0e8;border-radius:var(--r);padding:16px;color:inherit;text-decoration:none;transition:all .2s;cursor:pointer}
.related-card:hover{border-color:var(--green);box-shadow:var(--sh);transform:translateY(-2px)}
.related-card .rci{font-size:20px;margin-bottom:4px}
.related-card h4{font-size:14px;font-weight:600;color:var(--dk);margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.related-card p{font-size:12px;color:var(--gy)}
@media(max-width:992px){.related-grid{grid-template-columns:1fr 1fr}}
@media(max-width:768px){.related-grid{grid-template-columns:1fr}}

/* ===== 侧栏 ===== */
.sidebar{display:flex;flex-direction:column;gap:14px}
.side-card{background:#fff;border:1px solid #e8f0e8;border-radius:var(--r);padding:18px}
.side-card h4{font-size:14px;font-weight:700;color:var(--dk);margin-bottom:8px}
.side-card p{font-size:12px;color:var(--mid);line-height:1.6;margin-bottom:6px}
.side-card .price{font-size:22px;font-weight:800;color:var(--gold);margin:6px 0}
.side-card .price.green{color:var(--green)}
.side-card .sbtn{display:block;background:linear-gradient(135deg,var(--gold),var(--gld2));color:#7a5800;padding:10px;border-radius:var(--rb);font-size:13px;font-weight:700;text-align:center;margin-top:8px;transition:all .15s}
.side-card .sbtn:hover{background:var(--gold);color:#fff}
.side-card .sbtn.grn{background:var(--green);color:#fff}
.side-card .sbtn.grn:hover{background:var(--gl)}
.side-card .hot-item{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid #f5f5f5;color:inherit;text-decoration:none;cursor:pointer;transition:all .15s}
.side-card .hot-item:last-child{border-bottom:none}
.side-card .hot-item:hover .hot-title{color:var(--green)}
.side-card .hot-item .hot-title{font-size:13px;color:var(--dk)}
.side-card .hot-item .hot-meta{font-size:11px;color:var(--gy)}
@media(max-width:768px){
  .main{grid-template-columns:1fr}
  .sidebar{order:-1;display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .side-card{padding:14px}
}
@media(max-width:480px){.sidebar{grid-template-columns:1fr}}

/* ===== 资源操作弹层 ===== */
.xkw-modal-open{overflow:hidden}
.xkw-resource-modal{position:fixed;inset:0;z-index:2200;display:flex;align-items:center;justify-content:center;padding:20px}
.xkw-resource-modal[hidden]{display:none}
.xkw-resource-modal-backdrop{position:absolute;inset:0;background:rgba(18,31,20,.56)}
.xkw-resource-dialog{position:relative;width:min(440px,100%);background:#fff;border-radius:12px;padding:26px;box-shadow:0 24px 70px rgba(0,0,0,.24)}
.xkw-resource-dialog h3{font-size:19px;color:var(--dk);margin:0 30px 10px 0}
.xkw-resource-dialog p{font-size:14px;color:var(--mid);line-height:1.7;white-space:pre-wrap}
.xkw-resource-modal-close{position:absolute;top:12px;right:14px;width:32px;height:32px;border-radius:50%;font-size:25px;line-height:1;color:var(--gy)}
.xkw-resource-modal-close:hover{background:var(--gbg);color:var(--green)}
.xkw-resource-modal-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:22px}
.xkw-modal-btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 18px;border-radius:20px;font-size:14px;font-weight:600;text-decoration:none}
.xkw-modal-btn.is-secondary{background:#f2f4f2;color:var(--mid)}
.xkw-modal-btn.is-primary{background:var(--green);color:#fff}.xkw-modal-btn.is-primary:hover{background:var(--gl)}
.xkw-modal-btn.is-vip{background:#fff7dc;color:#8a6200;border:1px solid #eed282}
.xkw-modal-btn:disabled{opacity:.65;cursor:wait}
@media(max-width:768px){.preview-area{padding:14px}.xkw-resource-dialog{padding:22px 18px}.xkw-resource-modal-actions{display:grid;grid-template-columns:1fr}.xkw-modal-btn{width:100%}}

/* ===== 主题登录与购买组件适配 ===== */
.xkw-theme-ui-enabled{--primary-color:var(--green);--shallow-color:#f3f9f1}
.xkw-theme-ui-enabled .ceo-purchase{z-index:2500}
.xkw-theme-ui-enabled .ceo-purchase .ceo-modal-dialog{max-width:calc(100vw - 32px)}
.xkw-theme-ui-enabled .ceo-purchase button{font-family:inherit}
.xkw-theme-login-enabled .ceo-navbar-login{z-index:2400}
.xkw-theme-login-enabled .ceo-navbar-login .ceo-modal-dialog{max-width:calc(100vw - 32px)}
.xkw-theme-login-enabled .ceo-navbar-login button{font-family:inherit}
@media(min-width:960px){
  .xkw-theme-login-enabled .ceo-navbar-login .ceo-grid-collapse>div:first-child{display:flex;align-self:stretch}
  .xkw-theme-login-enabled .ceo-navbar-login .left{display:flex;width:100%}
  .xkw-theme-login-enabled .ceo-navbar-login .left>[ceo-slideshow]{flex:1;min-height:100%!important}
  .xkw-theme-login-enabled .ceo-navbar-login .left .ceo-slideshow-items{height:100%!important;min-height:100%!important}
}

/* ===== 小沐占位 ===== */
.xiaomu-empty{text-align:center;padding:40px 20px;display:none}
.xiaomu-empty.active{display:block}
.xiaomu-empty img{width:100px;margin-bottom:12px}
.xiaomu-empty p{font-size:14px;color:var(--gy)}

/* ===== FOOTER ===== */
footer{background:#1a2a1a;color:rgba(255,255,255,0.75);padding:32px 0 16px;margin-top:24px}
.fi{max-width:1080px;margin:0 auto;padding:0 20px}
.fc{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:20px;margin-bottom:16px}
.fln{font-size:16px;font-weight:700;color:#fff;margin-bottom:6px}
.fd{font-size:12px;line-height:1.7;opacity:.65}
.fct{font-size:14px;font-weight:600;color:#fff;margin-bottom:8px}
.fl{display:flex;flex-direction:column;gap:5px}
.fl a{font-size:13px;opacity:.65;transition:opacity .15s}
.fl a:hover{opacity:1;color:#fff}
.fpi{font-size:12px;opacity:.65;margin-bottom:3px}
.fpi span{color:var(--gld2)}
.fb2{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid rgba(255,255,255,0.08);font-size:11px;opacity:.4;flex-wrap:wrap;gap:6px}
.fb2 a{margin-left:10px}
.fb2 a:hover{opacity:1;color:#fff}
@media(max-width:992px){.fc{grid-template-columns:1fr 1fr}}
@media(max-width:768px){.fc{grid-template-columns:1fr;gap:14px}}
