:root{font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:#252838;background:#f8f9fc;font-synthesis:none;--accent:#565de6;--muted:#838798;--border:#e8eaf1;--gold:#a57b2b;--radius:16px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #858bff;outline-offset:3px}button:disabled{opacity:.55;cursor:wait}.container{width:min(1160px,calc(100% - 64px));margin:auto}.header{height:86px;background:#fff;border-bottom:1px solid var(--border)}.header-inner{display:flex;align-items:center;justify-content:space-between;height:100%}.brand{display:inline-flex;align-items:center;gap:12px;font-size:20px;font-weight:750;letter-spacing:-.6px}.brand-light{font-weight:550}.brand-icon{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:11px;background:var(--accent);color:white;font:bold 31px Georgia;position:relative}.brand-icon span{font:16px system-ui;margin:8px 0 0 2px}nav{display:flex;align-items:center;gap:20px}.text-button{border:0;background:none;color:#5b6071;padding:10px;font-size:14px}.button{background:var(--accent);color:white;border:0;border-radius:9px;padding:13px 21px;display:inline-flex;align-items:center;justify-content:center;gap:25px;font-weight:600;font-size:14px;min-height:44px}.button:hover{background:#454ccb}.button.small{padding:10px 18px;gap:14px}.hero{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:66px 0 59px}.eyebrow{font-size:13px;font-weight:600;color:#777b91;display:flex;align-items:center;gap:9px;letter-spacing:1px}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#7277e9;box-shadow:0 0 0 4px #eeedff}.eyebrow-line{width:35px;height:1px;background:#c9cbd9;margin-left:5px}h1{font-size:47px;line-height:1.25;letter-spacing:-2px;margin:23px 0 16px;font-weight:800}h1>span{color:var(--accent);margin-left:10px}.title-dot{color:#a1a5f2}.hero-copy>p{font-size:16px;line-height:1.8;color:#777b8b;margin:0}.hero-points{display:flex;gap:22px;margin-top:25px;color:#8a8e9b;font-size:12px}.stats{flex-shrink:0;display:grid;grid-template-columns:1fr 1fr;width:280px;padding:22px 14px 16px;background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 8px 25px #22224504;transform:none}.stats>div{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 8px;min-width:0;width:100%;box-sizing:border-box;border-right:1px solid var(--border)}.stats>div:nth-child(2),.stats>div:last-of-type{border-right:0}.stats strong{display:flex;align-items:center;justify-content:center;width:100%;font-size:32px;line-height:1.15;letter-spacing:0;font-weight:800;text-align:center;margin:0 0 8px;font-variant-numeric:tabular-nums;white-space:nowrap}.stats div>span{display:inline-flex;align-items:center;justify-content:center;font-size:13px;color:#838799;white-space:nowrap;text-align:center;line-height:1.4}.stats i{font-style:normal;margin-left:4px}.stats div:nth-child(2) strong{color:#b69452}.stats p{grid-column:1/-1;display:flex;align-items:center;justify-content:center;text-align:center;font-size:12px;color:#999eac;border-top:1px dashed var(--border);padding-top:14px;margin:16px 0 0;letter-spacing:.5px}.stats p .live-dot{width:4px;height:4px;margin-right:8px;box-shadow:none;background:#8aab99;flex-shrink:0}.section-top{display:flex;justify-content:space-between;align-items:center;margin:0 0 25px}.section-kicker{font-size:10px;letter-spacing:1.8px;font-weight:600;color:#9298ad}.section-top h2{font-size:23px;letter-spacing:-.4px;margin:8px 0 0}.count{display:inline-block;vertical-align:middle;background:#edeef7;color:#777c95;border-radius:6px;padding:3px 7px;font-size:12px;margin-left:9px;font-weight:500}.quiet-link{font-size:13px;color:#787c90;display:inline-flex;align-items:center;gap:12px;border:0;background:none;padding:6px 0}.quiet-link:hover{color:var(--accent)}.search-wrap{height:56px;background:white;display:flex;align-items:center;gap:13px;border:1px solid #dfe2ee;border-radius:10px;padding:0 18px;box-shadow:0 3px 9px #35335703}.search-wrap>span{font-size:31px;color:#999caf}.search-wrap input{width:100%;border:0;outline:none;background:transparent;font-size:14px;color:#33384a;min-width:0}.search-wrap input::placeholder{color:#a0a4b3}.search-wrap:focus-within{border-color:#898dec;box-shadow:0 0 0 3px #565de60d}kbd{font:12px system-ui;color:#a2a6b8;padding:3px 7px;border:1px solid var(--border);border-radius:4px}.filter-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px;padding-bottom:26px;border-bottom:1px solid var(--border)}.chip{display:inline-flex;gap:9px;align-items:center;min-height:38px;padding:9px 15px;border:1px solid transparent;border-radius:7px;background:transparent;color:#767b8d;font-size:13px}.chip:hover{background:#edeef7}.chip.active{background:var(--accent);color:white}.chip .chip-count{font-size:11px;opacity:.65}.list-heading{display:flex;align-items:center;justify-content:space-between;font-size:14px;color:#4b5063;margin:24px 0 18px}.subtle{color:#9a9ead;font-size:12px}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.tech-card{text-align:left;display:flex;flex-direction:column;width:100%;min-width:0;min-height:221px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:22px 22px 18px;transition:transform .18s,border-color .18s,box-shadow .18s;color:inherit}.tech-card:hover{transform:translateY(-3px);border-color:#b6b9f0;box-shadow:0 10px 24px #424b8210}.card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:19px}.doc-icon{display:inline-grid;place-items:center;width:39px;height:39px;border-radius:10px;background:#eeedff;color:#7165dc;font:700 16px ui-monospace,monospace}.tone-1{background:#e9f3ff;color:#528cdb}.tone-2{background:#e7f5ef;color:#56a285}.tone-3{background:#fff2e7;color:#d39a60}.tone-4{background:#f0eafc;color:#9a77c8}.tone-5{background:#e9f3f8;color:#5d9ab8}.badges{display:flex;align-items:center;gap:6px}.badge{font-size:11px;padding:4px 7px;border-radius:5px;background:#f2f3f7;color:#9297a5;font-weight:500}.badge-hot{color:#db885e;background:#fff3ed}.badge-vip{color:#b29150;background:#faf4e7}.tech-card h3{font-size:16px;line-height:1.5;margin:0 0 8px;font-weight:650;letter-spacing:-.2px}.tech-card p{font-size:13px;color:#959aaa;line-height:1.85;margin:0 0 20px;flex:1;overflow-wrap:anywhere}.card-bottom{display:flex;align-items:center;justify-content:space-between;padding-top:13px;border-top:1px solid #f0f1f6;color:#a0a5b4;font-size:11px;gap:10px}.card-category{color:#8d92a2}.card-cta{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.card-views,.card-meta{white-space:nowrap}.tech-card.locked{background:#f3f4f7;border-color:#e5e7ed}.tech-card.locked h3{color:#7c808f}.tech-card.locked .doc-icon{filter:grayscale(.6);opacity:.7}.tech-card.locked .card-bottom{border-color:#e4e6ed}.membership{margin-top:46px;position:relative;background:linear-gradient(135deg,#f1f2ff 0%,#eae9ff 50%,#f7f4ff 100%);border:1px solid rgba(170,175,242,.55);border-radius:14px;padding:20px 28px;display:flex;align-items:center;gap:18px;box-shadow:0 8px 28px rgba(86,93,230,.12),0 0 0 1px #ffffff80 inset;animation:memberGlow 3s ease-in-out infinite}.member-mark{display:grid;place-items:center;border:1px solid #d5d8f2;width:52px;height:52px;border-radius:12px;color:#696ed2;font-size:34px;background:#ffffff4d;flex-shrink:0}.member-copy{flex:1;margin-left:8px}.member-copy .section-kicker{font-size:10px;color:#878bba;margin-bottom:8px}.member-lines{display:flex;flex-direction:column;gap:4px}.member-lines p{font-size:15px;font-weight:700;color:#3d4370;margin:0;line-height:1.45}.member-copy h2,.member-copy p{font-size:15px;font-weight:700;color:#3d4370;margin:0 0 6px;line-height:1.45}.member-button{background:#fff;color:#656bbd;border:1px solid #dadcf1;padding:10px 18px;gap:18px;margin-right:8px}.member-button:hover{background:#f7f7ff}.note{display:flex;align-items:flex-start;gap:9px;font-size:12px;line-height:1.8;color:#999fae;margin:22px 0 43px}.note>span{color:#aaaebc}.footer{background:#fff;border-top:1px solid var(--border)}.footer-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;padding-top:31px}.footer-brand{font-size:15px;letter-spacing:0;color:#6d7283}.footer p{color:#9ca1b0;font-size:12px;margin:10px 0}.footer-links{display:flex;gap:25px;align-items:center}.footer-links a,.footer-links button{font-size:12px}.copyright{display:flex;justify-content:space-between;width:100%;border-top:1px solid #f0f1f5;margin-top:25px;padding:19px 0;color:#acb0bf;font-size:11px}.empty-state{grid-column:1/-1;padding:70px 20px;text-align:center;color:#9297a8;line-height:2;background:#fff;border:1px dashed var(--border);border-radius:12px}.ad{display:block;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:white;margin-bottom:24px;position:relative}.ad img{display:block;width:100%;max-height:200px;object-fit:cover}.ad span{display:block;padding:12px;font-size:14px}.ad small{position:absolute;top:10px;right:10px;border-radius:4px;background:#0009;color:white;padding:3px 6px;font-size:11px}.list-ad{grid-column:1/-1;margin:0}.avatar{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#eeedff;color:var(--accent);font-size:14px}.user-nav{display:flex;align-items:center;gap:8px;font-size:13px}dialog{border:1px solid #e4e6f0;width:440px;max-width:calc(100% - 32px);padding:35px;border-radius:18px;box-shadow:0 24px 90px #20273c30;color:#30354a}dialog::backdrop{background:#25293866;backdrop-filter:blur(5px)}.modal-close{position:absolute;right:13px;top:10px;width:34px;height:34px;border:0;background:none;color:#8d93a4;font-size:27px}.modal-symbol{display:grid;place-items:center;width:50px;height:50px;background:#efeffe;border-radius:14px;color:var(--accent);font-size:25px;margin-bottom:18px}dialog h2{font-size:23px;margin:0 0 10px}dialog p{font-size:14px;color:#8d93a4;line-height:1.8}label{display:block;font-size:14px;color:#6f7589;margin:17px 0 7px}input:not([type=checkbox]),select,textarea{max-width:100%}.field{width:100%;padding:12px 13px;border:1px solid #dfe2ed;border-radius:8px;background:#fff;color:#33384a;min-height:45px}textarea.field{resize:vertical;min-height:88px}.form-button{width:100%;margin-top:24px}.form-foot{text-align:center;font-size:13px!important;margin-bottom:0}.form-foot button{color:var(--accent);border:0;background:none;cursor:pointer}.form-foot .inline-copy{margin-left:6px;font-weight:600;font-family:ui-monospace,monospace;letter-spacing:.5px;border-bottom:1px dashed currentColor;padding-bottom:1px}.error{color:#c35662!important;font-size:13px;min-height:19px;margin:8px 0 0}.hint{font-size:12px!important}.contact-number{display:block;padding:17px;border-radius:8px;background:#f6f7fb;text-align:center;font:25px ui-monospace,monospace;letter-spacing:3px;color:var(--accent)}@keyframes memberGlow{0%,100%{box-shadow:0 8px 28px rgba(86,93,230,.12),0 0 0 1px #ffffff80 inset}50%{box-shadow:0 10px 38px rgba(86,93,230,.22),0 0 22px rgba(137,142,235,.35),0 0 0 1px #ffffff80 inset}}#toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,15px);background:#30354a;color:#fff;font-size:14px;line-height:1.6;border-radius:10px;box-shadow:0 10px 40px #0002;padding:13px 22px;z-index:100;opacity:0;pointer-events:none;transition:.2s;max-width:calc(100% - 32px);width:max-content}#toast.visible{opacity:1;transform:translate(-50%,0)}
/* 微信/QQ 内置浏览器引导层 */
#browser-guide{position:fixed;inset:0;z-index:200}
.browser-guide-mask{position:absolute;inset:0;background:rgba(21,23,35,.88);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.browser-guide-arrow{position:absolute;right:26px;top:14px;font-size:52px;color:#fff;animation:guideFloat 1.4s ease-in-out infinite;z-index:2}
@keyframes guideFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.browser-guide-card{position:relative;z-index:1;max-width:340px;margin:21vh auto 0;background:#fff;border-radius:16px;padding:27px 25px;box-shadow:0 24px 70px #0006}
.browser-guide-card h3{font-size:20px;letter-spacing:-.3px;margin:0 0 10px}
.browser-guide-card>p{font-size:13px;color:#8d93a4;line-height:1.8;margin:0 0 16px}
.browser-guide-steps{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:14px;color:#565c70;line-height:2;margin-bottom:6px}
.browser-guide-steps strong{color:var(--accent);font-weight:700}
.browser-guide-close{width:100%;margin-top:14px;background:#f3f4f8;color:#5b6071;border:0}
.browser-guide-close:hover{background:#e9eaf2}
@media(min-width:1400px){.container{width:1160px}.hero{padding:50px 0 60px}}
@media(max-width:1050px){h1{font-size:37px}.hero{gap:25px}.stats{width:270px;padding:20px 14px 15px}.stats>div{padding:0 10px}.hero-points{gap:14px}.tech-card{padding:18px}.footer-links{gap:16px}}
@media(max-width:760px){.container{width:calc(100% - 36px)}.header{height:70px}.brand{font-size:16px;gap:8px}.brand-icon{width:32px;height:32px;border-radius:9px;font-size:26px}nav{gap:7px}.button.small{padding:9px 13px;gap:7px}.hero{flex-direction:column;align-items:stretch;padding:38px 0 34px;gap:27px}.eyebrow{font-size:11px}.hero-copy h1{font-size:34px;letter-spacing:-1.5px;margin:19px 0 12px}.hero-copy>p{font-size:14px}.desktop-only{display:none}.hero-points{font-size:11px;margin-top:16px;gap:18px}.stats{width:100%;transform:none;padding:18px 12px 14px;border-radius:14px}.stats>div{text-align:center}.stats strong{font-size:28px;margin-bottom:6px}.stats p{margin-top:14px;padding-top:12px;font-size:11px}.section-top{margin-bottom:19px}.section-top h2{font-size:20px}.section-kicker{font-size:9px}.section-top .quiet-link{font-size:11px;gap:4px}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.search-wrap{height:51px;padding:0 13px}.search-wrap input{font-size:13px}.filter-row{flex-wrap:nowrap;overflow-x:auto;padding-bottom:17px;margin-top:14px;gap:4px;scrollbar-width:none}.chip{flex-shrink:0;font-size:12px;padding:8px 12px}.list-heading{margin:20px 0 15px}.tech-card{padding:15px;min-height:229px}.tech-card h3{font-size:14px}.tech-card p{font-size:12px;line-height:1.8}.card-top{margin-bottom:15px}.doc-icon{width:33px;height:33px;font-size:14px}.badge{font-size:10px;padding:3px 5px}.card-bottom{font-size:10px;gap:5px;flex-wrap:wrap}.membership{padding:18px;gap:14px;flex-wrap:wrap;margin-top:30px}.member-mark{width:42px;height:42px;border-radius:10px;font-size:28px}.member-lines p{font-size:14px}.member-button{width:100%}.note{font-size:11px;margin:18px 0 28px}.footer-inner{align-items:flex-start;padding-top:25px;gap:16px}.footer-links{flex-wrap:wrap;gap:6px 19px}.copyright{font-size:10px;margin-top:5px}.copyright span{display:none}.user-nav .username{display:none}}
@media(max-width:380px){.brand-light{font-size:13px}.hero-copy h1{font-size:30px}.card-grid{grid-template-columns:1fr}.tech-card{min-height:140px}.section-top .quiet-link{display:none}.hero-points{gap:10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Collection layout: broad cards, capsule filters and an editable three-column footer. */
.hero{position:relative;isolation:isolate;padding:40px 0 50px;gap:30px}.hero:before{content:'';position:absolute;inset:0 calc((min(1160px,100vw - 64px) - 100vw)/2);background:linear-gradient(115deg,#655ee4,#7550dc);z-index:-1}.hero-copy{min-width:0}.hero-copy h1{font-size:43px;color:#fff;line-height:1.45;letter-spacing:-1px;overflow-wrap:anywhere;margin:0 0 14px}.hero-copy>p{color:#edeaff;margin:0}.eyebrow,.hero-points{color:#dedaff}.hero-points{margin-top:18px}.hero .live-dot{background:#fff;box-shadow:0 0 0 4px #ffffff20}.hero .eyebrow-line{background:#ffffff55}.library{position:relative}.library .search-wrap{position:relative;margin:-31px auto 0;max-width:740px;height:64px;border-radius:40px;box-shadow:0 9px 30px #4a44a310;padding:0 27px}.search-wrap input{font-size:16px}.search-wrap>span{color:#8b80ed}.filter-row{justify-content:center;border:0;margin:24px 0 33px;padding:0;gap:11px}.chip{border-radius:30px;background:white;border:1px solid #e9eaf1;padding:10px 21px;font-size:14px;min-height:44px}.chip.active{background:#5c45df;box-shadow:0 3px 7px #5647dd20}.chip-count{display:none}.section-top{margin-bottom:0}.list-heading{margin:17px 0 10px}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.tech-card{min-height:158px;border-radius:20px;padding:22px 24px 20px;box-shadow:0 5px 19px #26336704}.card-top{align-items:flex-start;gap:14px;margin-bottom:11px}.tech-card h3{font-size:20px;font-weight:750;line-height:1.5;letter-spacing:-.4px;flex:1;min-width:0;overflow-wrap:anywhere;margin:0}.badges{flex-shrink:0;gap:8px;flex-wrap:wrap;justify-content:flex-end;max-width:45%}.badge{font-size:12px;border-radius:30px;padding:4px 10px;line-height:1.5;white-space:normal}.badge-hot{background:#fff2f8;border:1px solid #ffd0e8;color:#d43e82}.badge-category{background:#eeefff;border:1px solid #d6d4ff;color:#6a4fe6;padding:4px 11px;font-weight:600}.badge-vip{background:#fff0b4;border:1px solid #efd067;color:#98551c}.badge-pin{background:#e6f3ff;border:1px solid #b3d8ff;color:#2c6fb0}.tech-card p{font-size:15px;line-height:1.7;color:#818797;margin-bottom:14px}.card-bottom{padding-top:13px;gap:10px;align-items:center;flex-wrap:wrap}.card-cta{font-size:16px;font-weight:700;color:#6247e8;gap:10px}.card-meta{font-size:13px;color:#6247e8;font-weight:650;text-align:right}.tech-card.vip-card{border-color:#f2df9c}.tech-card.locked{background:#f4f6f9}.tech-card.locked h3{color:#363c4e}.tech-card.locked .card-cta{color:#ce851f}.tech-card.locked .card-bottom{border-color:#e8eaf0}.catalog-options{display:flex;justify-content:space-between;align-items:center;margin:0 0 19px;color:#969bab;gap:12px}.catalog-options label{display:flex;align-items:center;gap:9px;font-size:12px;margin:0}.catalog-options select{border:1px solid #e2e4ee;background:white;border-radius:8px;padding:8px 12px;color:#696f85;min-height:40px}.catalog-options>span{font-size:12px}.catalog-pagination{display:flex;align-items:center;justify-content:center;gap:15px;flex-wrap:wrap;margin:29px 0 0;font-size:13px;color:#8a90a0}.catalog-pagination .chip{font-size:13px;padding:8px 15px}.catalog-pagination button:disabled{cursor:default}.catalog-pagination form{display:flex;align-items:center;gap:9px}.catalog-pagination label{margin:0;font-size:13px}.catalog-pagination input{width:63px;height:40px;border:1px solid #e1e4ed;background:white;border-radius:8px;padding:6px;text-align:center;color:#656b7d}.header .brand{min-width:0}.header [data-site-name]{overflow-wrap:anywhere}.header nav{flex-shrink:0}.footer-inner{display:block;padding-top:45px}.footer-columns{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:46px;padding-bottom:24px}.footer-brand{font-size:22px;font-weight:750;color:#202639;letter-spacing:-.5px;gap:10px;line-height:1.5;align-items:flex-start}.footer-flame{font-size:23px}.footer h3{font-size:16px;color:#292e41;margin:0 0 18px;font-weight:700}.footer p{font-size:14px;line-height:1.8;color:#8b91a0;margin:13px 0 0;overflow-wrap:anywhere}.footer-contact{display:flex;align-items:center;flex-wrap:wrap;gap:7px;background:none;border:0;padding:0;min-height:28px;color:#343b50;font-size:15px;text-align:left}.footer-contact strong{color:#6450e8;font-weight:750;overflow-wrap:anywhere}.contact-icon{color:#38996d;font-size:23px;line-height:1}.footer-official{font-size:15px;color:#7254ed;line-height:1.8;overflow-wrap:anywhere}.copyright{margin-top:7px;padding:20px 0;font-size:12px}.copyright>span{display:inline}.copyright a{color:#8f96aa}#hero-title{max-width:710px}#top-ads:not(:empty){padding-top:30px}#top-ads:not(:empty)+.library .search-wrap{margin-top:0}
@media(max-width:1050px){.hero-copy h1{font-size:35px}.footer-columns{gap:25px}.footer-brand{font-size:19px}.card-top{flex-wrap:wrap}.badges{max-width:100%}}
@media(max-width:760px){.header{height:auto;min-height:72px}.header-inner{min-height:72px;padding:12px 0;gap:12px}.header .brand{font-size:15px;flex:1;align-items:center}.brand-icon{flex-shrink:0}.header nav{gap:3px}.hero{padding:28px 0 40px;gap:22px}.hero:before{left:-18px;right:-18px}.hero-copy h1{font-size:31px;line-height:1.5}.hero-points{gap:14px}.library .search-wrap{height:58px;margin-top:-29px;padding:0 20px;width:100%;max-width:560px}.search-wrap input{font-size:15px}.filter-row{justify-content:flex-start;overflow-x:auto;margin:21px 0 25px;gap:9px;padding:2px 0 5px}.chip{font-size:14px;padding:9px 18px}.card-grid{grid-template-columns:1fr;gap:17px}.tech-card{padding:20px 20px 18px;min-height:150px;border-radius:18px}.card-top{flex-wrap:nowrap;gap:10px;margin-bottom:11px}.tech-card h3{font-size:18px}.badges{max-width:44%}.badge{font-size:11px;padding:3px 8px}.badge-category{padding:3px 9px}.tech-card p{font-size:14px;margin-bottom:13px}.card-cta{font-size:15px}.card-bottom{padding-top:13px}.card-meta{font-size:12px}.catalog-options{gap:9px}.catalog-options>span{font-size:10px}.catalog-pagination{gap:9px;font-size:12px}.catalog-pagination form{justify-content:center;flex-basis:100%}.footer-inner{padding-top:31px}.footer-columns{grid-template-columns:1fr;gap:26px;padding-bottom:25px}.footer-brand{font-size:23px}.footer h3{font-size:16px;margin-bottom:12px}.footer p{font-size:14px;margin-top:10px;max-width:500px}.footer-contact,.footer-official{font-size:15px}.copyright{font-size:11px;gap:12px}.copyright>span{display:inline}.footer .copyright span{display:inline}}
/* Keep the result summary and reading controls in one aligned toolbar. */
.catalog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 16px;padding:0 0 14px;border-bottom:1px solid #e7e9f1}.catalog-summary{display:flex;flex-direction:column;gap:7px;min-width:0}.catalog-summary #result-label{font-size:16px;font-weight:650;color:#444b61;line-height:1.5;overflow-wrap:anywhere}.catalog-summary #result-caption{font-size:12px;line-height:1.7;color:#9299aa}.catalog-actions{display:flex;align-items:center;gap:16px;flex-shrink:0}.catalog-page-size{display:flex;align-items:center;gap:10px;margin:0;color:#8c93a6;font-size:13px;white-space:nowrap}.catalog-page-size select{height:44px;min-width:80px;border:1px solid #dfe2ef;border-radius:10px;background:white;color:#687086;font-size:14px;padding:0 12px}.catalog-member-link{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:44px;padding:10px 16px;border:1px solid #ded9f8;border-radius:10px;background:#eeebfc;color:#6950d7;font-size:13px;font-weight:600;white-space:nowrap;transition:background .15s,border-color .15s}.catalog-member-link:hover{background:#e5dffc;border-color:#c8bdef}
@media(max-width:760px){.catalog-toolbar{flex-direction:column;align-items:stretch;gap:14px;margin-bottom:14px;padding-bottom:12px}.catalog-actions{justify-content:space-between;flex-wrap:wrap;gap:12px}.catalog-summary{gap:5px}.catalog-summary #result-label{font-size:15px}.catalog-summary #result-caption{font-size:11px}.catalog-page-size{font-size:12px;gap:8px}.catalog-page-size select{min-width:74px;padding:0 9px;font-size:13px}.catalog-member-link{font-size:12px;padding:10px 13px;gap:9px}}
/* All documents share category/hot badges; VIP is an additional access label. */
.tech-card .card-top,.tech-card .card-bottom{width:100%}.tech-card .card-top{flex-wrap:wrap;gap:10px 14px}.tech-card .card-top h3{flex:1 1 190px}.tech-card .badges{flex:0 1 auto;max-width:100%;justify-content:flex-start}.tech-card .badge{overflow-wrap:anywhere}
#categories{display:flex;flex-direction:column;gap:10px;margin-top:14px}
#categories .filter-row{margin:0;padding:0;border:0}
#categories .filter-row:not(:last-child){padding-bottom:10px}
#categories .filter-row:last-child{padding-bottom:26px;border-bottom:1px solid var(--border)}
@media(max-width:760px){#categories .filter-row{flex-wrap:nowrap;overflow-x:auto;gap:4px}#categories .filter-row:last-child{padding-bottom:17px}}
@media(min-width:761px){#categories{margin-top:18px}#categories .filter-row{justify-content:center;gap:11px}#categories .filter-row:last-child{margin:0 0 16px;padding:0;border:0}}
.card-views{font-size:13px;color:#9298a8}
@media(max-width:760px){.card-views{font-size:12px}}
/* 文档密码门：聚焦光晕 + 错误抖动 */
.field:focus-visible{outline:none;border-color:#898dec;box-shadow:0 0 0 4px rgba(86,93,230,.13),0 2px 14px rgba(86,93,230,.2);transition:border-color .15s,box-shadow .15s}
@keyframes shake{0%,100%{transform:translateX(0)}15%{transform:translateX(-8px)}30%{transform:translateX(6px)}45%{transform:translateX(-4px)}60%{transform:translateX(3px)}80%{transform:translateX(-1px)}}
.doc-shake{animation:shake .45s cubic-bezier(.36,.07,.19,.97)}
@media(prefers-reduced-motion:reduce){.doc-shake{animation:none!important}.field:focus-visible{transition:none}}
/* Skeleton loading cards */
.skeleton-card{pointer-events:none}.skeleton-card *{background:#e9eaf0;border-radius:6px}.skeleton-card .card-top{gap:10px;margin-bottom:11px}.skeleton-title{height:18px;width:62%;background:#e2e4ec;border-radius:8px}.skeleton-badges{display:flex;gap:6px;flex-shrink:0}.skeleton-badges span{width:42px;height:20px;background:#e2e4ec;border-radius:30px}.skeleton-body{display:flex;flex-direction:column;gap:10px;margin-bottom:14px;flex:1}.skeleton-line{height:14px;width:100%;background:#e9eaf0;border-radius:6px}.skeleton-line.short{width:55%}.skeleton-cta{height:16px;width:80px;background:#e9eaf0;border-radius:6px}.skeleton-meta{height:13px;width:90px;background:#e9eaf0;border-radius:6px}.skeleton-card .card-bottom{border-color:transparent}.skeleton-card,.skeleton-card .card-top,.skeleton-card .card-bottom{animation:skeletonPulse 1.6s ease-in-out infinite}@keyframes skeletonPulse{0%,100%{opacity:1}50%{opacity:.55}}@media(prefers-reduced-motion:reduce){.skeleton-card{animation:none!important}}
.ad-slot{min-width:0;transition:opacity .18s ease}.ad-slot.ad-fading{opacity:0}.list-ad-slot{grid-column:1/-1}.ad-slot .ad{margin-bottom:24px}.ad-slot.list-ad-slot .ad{margin:0}@media(prefers-reduced-motion:reduce){.ad-slot{transition:none}}
/* 文档介绍页（中转页 v2：返回按钮 → 标题 → 标签 → 元信息 → 紫色CTA卡 → 技术介绍） */
body.intro-open{overflow:hidden}
.doc-intro{position:fixed;inset:0;z-index:90;background:rgba(248,249,252,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);overflow-y:auto;-webkit-overflow-scrolling:touch}
.doc-intro-wrap{width:min(760px,100%);margin:0 auto;padding:26px 20px 80px}
.doc-back{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);background:#fff;color:#5b6071;border-radius:9px;padding:10px 16px;font-size:13px;font-weight:600}
.doc-back:hover{color:var(--accent);border-color:#c5c8ef}
.doc-intro-title{font-size:30px;letter-spacing:-.6px;line-height:1.35;margin:22px 0 14px;color:#252838;font-weight:800}
.doc-intro-badges{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:12px;margin-bottom:16px}
.doc-intro-meta{font-size:12px;color:#9aa0b2;display:flex;gap:16px;margin-bottom:22px}
.doc-cta{background:linear-gradient(135deg,#6a5cf0 0%,#8b5cf6 55%,#7c6cf5 100%);border-radius:18px;padding:26px 24px 22px;color:#fff;box-shadow:0 14px 40px rgba(106,92,240,.25)}
.doc-cta-note{font-size:14px;line-height:1.9;color:#e9e7ff;margin:0 0 16px;text-align:center}
.doc-cta-btn{width:100%;background:#fff;color:#5b48d8;font-size:16px;font-weight:700;min-height:54px;border-radius:12px;gap:10px}
.doc-cta-btn:hover{background:#f4f2ff}
.doc-cta-hint{text-align:center;font-size:12px;color:#d8d4fb;margin:14px 0 0}
.doc-cta-hint button{border:0;background:none;color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:3px;padding:0 2px;font-size:12px}
.doc-copy-row{display:flex;align-items:center;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.22)}
.doc-copy-btn{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(255,255,255,.5);background:rgba(255,255,255,.12);color:#fff;border-radius:9px;padding:9px 14px;font-size:13px;font-weight:600;flex-shrink:0}
.doc-copy-btn:hover{background:rgba(255,255,255,.22)}
.doc-copy-hint{font-size:11px;color:#d8d4fb;line-height:1.6}
.doc-intro-section{margin-top:30px}
.doc-intro-section h2{font-size:19px;color:#252838;margin:0 0 14px;letter-spacing:-.3px;display:flex;align-items:center;gap:10px}
.doc-intro-section h2::before{content:"";width:4px;height:16px;border-radius:2px;background:var(--accent)}
.doc-intro-text p{font-size:15px;line-height:2;color:#5b6071;margin:0 0 14px;overflow-wrap:anywhere}
.doc-intro-img{display:block;width:100%;border-radius:12px;border:1px solid var(--border);margin:14px 0;background:#fff}
.doc-intro-img-fallback{padding:40px 16px;text-align:center;color:#9aa0b2;font-size:13px;border:1px dashed var(--border);border-radius:12px;background:#fff}
@media(max-width:760px){.doc-intro-wrap{padding:18px 16px 60px}.doc-intro-title{font-size:22px;letter-spacing:-.3px;margin:18px 0 12px}.doc-intro-meta{flex-wrap:wrap;gap:8px 14px;margin-bottom:18px}.doc-cta{padding:20px 16px 18px;border-radius:14px}.doc-copy-row{flex-direction:column;align-items:stretch}.doc-copy-btn{justify-content:center}.doc-copy-hint{text-align:center}}
/* ===== 深色科技感主题 + 动态粒子背景 ===== */
html{background:#0a0e1a}
body{background:transparent;color:#e7eaf3}
#bg-fx{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.6}
body.fx-static #bg-fx{display:none}
body.admin-body #bg-fx{display:none}
body.admin-body{position:relative;z-index:0}
#admin-root,.admin-layout,.admin-body dialog,#toast{position:relative;z-index:1}
body.fx-static{background:radial-gradient(1200px 600px at 80% -10%,#1a2140 0%,#0a0e1a 60%)}
.header{background:rgba(13,17,32,.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom-color:rgba(255,255,255,.08)}
.brand{color:#f2f4fb}
.text-button{color:#a6adc4}
.text-button:hover{color:#cdd4ff}
h1{color:#f2f4fb}
.eyebrow{color:#8d94ad}
.hero-copy>p{color:#9aa3ba}
.stats{background:rgba(20,26,48,.72);border-color:rgba(255,255,255,.09);box-shadow:none}
.stats>div{border-right-color:rgba(255,255,255,.08)}
.stats strong{color:#eef1fb}
.stats div>span{color:#8d94ab}
.stats p{color:#6f7690;border-top-color:rgba(255,255,255,.12)}
.section-kicker{color:#7f87a3}
.section-top h2{color:#eef1fb}
.count{background:rgba(255,255,255,.08);color:#9aa3ba}
.quiet-link{color:#8d94ab}
.quiet-link:hover{color:#aab1ff}
.search-wrap{background:rgba(20,26,48,.72);border-color:rgba(255,255,255,.12);box-shadow:none}
.search-wrap>span{color:#6f7690}
.search-wrap input{color:#e7eaf3}
.chip{color:#9aa3ba}
.chip:hover{background:rgba(255,255,255,.07)}
.chip.active{background:var(--accent);color:#fff}
.filter-row{border-bottom-color:rgba(255,255,255,.08)}
#categories .filter-row:last-child{border-bottom-color:rgba(255,255,255,.08)}
.list-heading{color:#aab1c6}
.subtle{color:#6f7690}
kbd{color:#6f7690;border-color:rgba(255,255,255,.14)}
.tech-card{background:rgba(20,26,48,.72);border-color:rgba(255,255,255,.09)}
.tech-card:hover{border-color:rgba(133,139,255,.5);box-shadow:0 10px 30px rgba(0,0,0,.35)}
.tech-card h3{color:#eef1fb}
.tech-card p{color:#8d94ab}
.card-bottom{color:#6f7690;border-top-color:rgba(255,255,255,.07)}
.badge{background:rgba(255,255,255,.07);color:#9aa3ba}
.badge-hot{color:#f0a672;background:rgba(219,136,94,.14)}
.badge-vip{color:#d8b46a;background:rgba(178,145,80,.16)}
.card-views{color:#8d94ab}
.tech-card.locked{background:rgba(16,20,38,.6);border-color:rgba(255,255,255,.06)}
.tech-card.locked h3{color:#8d94ab}
.tech-card.locked .card-bottom{border-color:rgba(255,255,255,.06)}
.membership{background:linear-gradient(135deg,rgba(86,93,230,.16) 0%,rgba(139,92,246,.14) 100%);border-color:rgba(139,142,235,.35);box-shadow:none}
.member-copy .section-kicker{color:#9aa0ff}
.member-lines p,.member-copy h2,.member-copy p{color:#dfe3ff}
.member-mark{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);color:#aab1ff}
.member-button{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);color:#cdd3ff}
.member-button:hover{background:rgba(255,255,255,.14)}
.note{color:#6f7690}
.footer{background:rgba(13,17,32,.82);border-top-color:rgba(255,255,255,.08)}
.footer-brand{color:#aab1c6}
.footer p{color:#6f7690}
.copyright{color:#565d74;border-top-color:rgba(255,255,255,.06)}
.empty-state{background:rgba(20,26,48,.72);border-color:rgba(255,255,255,.14);color:#8d94ab}
.ad{background:rgba(20,26,48,.72);border-color:rgba(255,255,255,.09)}
.ad span{color:#c6cce0}
.catalog-summary #result-label{color:#dfe3f0}
.catalog-summary #result-caption{color:#7f87a3}
.catalog-page-size{color:#7f87a3}
.catalog-page-size select{background:#141a30;border-color:rgba(255,255,255,.14);color:#c6cce0}
.catalog-member-link{background:rgba(105,80,215,.16);border-color:rgba(139,142,235,.35);color:#b9b3f5}
.avatar{background:rgba(139,142,235,.16);color:#aab1ff}
.user-nav{color:#c6cce0}
dialog{background:#141a30;border-color:rgba(255,255,255,.12);color:#dfe3f0}
dialog h2{color:#f2f4fb}
dialog p{color:#9aa3ba}
label{color:#a6adc4}
.field{background:#0f1428;border-color:rgba(255,255,255,.14);color:#e7eaf3}
.field::placeholder{color:#565d74}
.modal-close{color:#8d94ab}
.modal-symbol{background:rgba(139,142,235,.14)}
.contact-number{background:#0f1428;color:#8b94ff}
.form-foot button{color:#8b94ff}
/* 介绍页深色适配 + 顶栏 */
.doc-intro{background:rgba(13,17,32,.75);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.doc-intro-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.doc-back{background:#141a30;border-color:rgba(255,255,255,.12);color:#c6cce0}
.doc-back:hover{color:#aab1ff;border-color:rgba(133,139,255,.5)}
.doc-intro-account{display:flex;align-items:center}
.doc-intro-title{color:#f2f4fb}
.doc-intro-meta{color:#6f7690}
.doc-intro-text p{color:#a6adc4}
.doc-intro-section h2{color:#eef1fb}
.doc-intro-img{border-color:rgba(255,255,255,.1);background:#141a30}
.doc-intro-img-fallback{background:#141a30;border-color:rgba(255,255,255,.16);color:#6f7690}
/* 群聊浮窗 */
.group-float{position:fixed;right:0;top:50%;transform:translate(200px,-50%);z-index:95;display:flex;align-items:stretch;transition:transform .35s cubic-bezier(.2,.7,.3,1)}
.group-float:hover,.group-float.open{transform:translate(0,-50%)}
.group-float-tab{width:34px;border:1px solid rgba(139,142,235,.45);border-right:0;border-radius:10px 0 0 10px;background:linear-gradient(180deg,#565de6,#7c6cf5);color:#fff;font-size:13px;font-weight:700;padding:16px 0;display:flex;flex-direction:column;align-items:center;gap:4px;letter-spacing:2px;cursor:pointer;flex-shrink:0}
.group-float-panel{width:200px;background:#141a30;border:1px solid rgba(139,142,235,.35);border-right:0;padding:16px 14px;text-align:center;box-shadow:-12px 0 40px rgba(0,0,0,.45)}
.group-float-panel strong{display:block;font-size:14px;color:#eef1fb;margin-bottom:10px}
.group-float-panel img{width:100%;border-radius:8px;background:#fff;padding:6px}
.group-float-link{display:block;margin-top:10px;background:var(--accent);color:#fff;border-radius:8px;padding:9px 10px;font-size:13px;font-weight:600}
.group-float-link:hover{background:#454ccb}
.group-float-panel p{font-size:11px;color:#7f87a3;margin:10px 0 0;line-height:1.7}
/* 中转页全景布局（撑满宽度） */
.doc-intro-wrap{width:100%;max-width:none;padding:26px 48px 80px}
.doc-intro-text p{max-width:none}
@media(max-width:760px){.doc-intro-wrap{padding:18px 16px 60px}}
/* 首页横幅广告位（搜索栏下方，未配置自动隐藏） */
.grid-ads{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0 6px}
.grid-ads:empty{display:none;margin:0}
.grid-ads .ad{flex:1 1 220px;margin:0}
@media(max-width:760px){.grid-ads .ad{flex:1 1 140px}}
/* ===== v17 配色统一：深紫→深蓝渐变背景 + 淡紫融合面板 ===== */
html{background:linear-gradient(165deg,#170b30 0%,#140f36 48%,#0a1030 100%) no-repeat fixed}
body{color:#d9d4ee}
body.fx-static{background:radial-gradient(1200px 620px at 80% -10%,#2a1752 0%,#140f36 55%,#0a1030 100%)}
/* 面板：半透明白紫 + 淡紫描边 */
.header{background:rgba(20,13,42,.78);border-bottom-color:rgba(178,157,242,.14)}
.stats,.search-wrap,.tech-card,.empty-state,.ad,.catalog-member-link{background:rgba(255,255,255,.05);border-color:rgba(178,157,242,.18)}
.stats{box-shadow:0 12px 40px rgba(10,6,32,.35)}
.tech-card{box-shadow:0 6px 24px rgba(10,6,32,.28)}
.tech-card:hover{background:rgba(255,255,255,.085);border-color:rgba(196,181,253,.45);box-shadow:0 12px 34px rgba(88,50,180,.28)}
.tech-card.locked{background:rgba(255,255,255,.03);border-color:rgba(178,157,242,.12)}
.search-wrap:focus-within{border-color:rgba(196,181,253,.5)}
.footer{background:rgba(20,13,42,.78);border-top-color:rgba(178,157,242,.14)}
dialog{background:#1b1338;border-color:rgba(178,157,242,.22)}
.field{background:rgba(12,8,28,.6);border-color:rgba(178,157,242,.22)}
.field:focus{border-color:rgba(196,181,253,.6)}
.contact-number{background:rgba(12,8,28,.6)}
/* 文字层级 */
h1,.section-top h2,.tech-card h3,dialog h2,.doc-intro-title,.doc-intro-section h2{color:#f4f2fc}
.tech-card p{color:#a79ecb}
.card-bottom{color:#8d83b3;border-top-color:rgba(178,157,242,.1)}
.hero-copy>p,.section-kicker,.list-heading,.subtle{color:#9d94bd}
.eyebrow{color:#8d83b3}
.stats strong{color:#f4f2fc}
.stats div>span{color:#9d94bd}
.stats p{color:#7d72a6;border-top-color:rgba(178,157,242,.16)}
.stats>div{border-right-color:rgba(178,157,242,.12)}
.count{background:rgba(178,157,242,.14);color:#cfc5ef}
.quiet-link,.subtle,.catalog-page-size{color:#8d83b3}
.chip{color:#b3a8d6;border:1px solid rgba(178,157,242,.2);background:rgba(255,255,255,.04)}
.chip:hover{background:rgba(178,157,242,.14)}
.chip.active{background:linear-gradient(135deg,#7c5cf6,#5b48d8);border-color:transparent;color:#fff}
.chip-count{color:#8d83b3}
.chip.active .chip-count{color:rgba(255,255,255,.8)}
.filter-row,#categories .filter-row:last-child{border-bottom-color:rgba(178,157,242,.1)}
.badge{background:rgba(178,157,242,.12);color:#b3a8d6}
.badge-category{color:#a99ad4}
.card-views{color:#9d94bd}
.note{color:#7d72a6}
kbd{color:#7d72a6;border-color:rgba(178,157,242,.2)}
.catalog-summary #result-label{color:#e8e3f8}
.catalog-summary #result-caption{color:#7d72a6}
.catalog-page-size select{background:#1b1338;border-color:rgba(178,157,242,.22);color:#cfc5ef}
.avatar{background:rgba(178,157,242,.16);color:#cfc5ef}
.user-nav{color:#cfc5ef}
.text-button{color:#b3a8d6}
.text-button:hover{color:#e0d8ff}
label{color:#b3a8d6}
dialog p{color:#9d94bd}
.modal-close{color:#9d94bd}
.footer-brand{color:#b3a8d6}
.footer p{color:#7d72a6}
.copyright{color:#5f5583;border-top-color:rgba(178,157,242,.1)}
.empty-state{color:#9d94bd;border-color:rgba(178,157,242,.2)}
.ad span{color:#cfc5ef}
/* 会员区块 */
.membership{background:linear-gradient(135deg,rgba(124,92,246,.2),rgba(91,72,216,.14));border-color:rgba(178,157,242,.32);box-shadow:0 14px 44px rgba(88,50,180,.25)}
.member-copy .section-kicker{color:#b3a4ee}
.member-lines p,.member-copy h2,.member-copy p{color:#e3ddf8}
.member-mark,.member-button{background:rgba(255,255,255,.08);border-color:rgba(178,157,242,.3);color:#cfc5ef}
.member-button:hover{background:rgba(255,255,255,.16)}
/* 按钮：主按钮紫色渐变，次按钮透明描边 */
.button{background:linear-gradient(135deg,#7c5cf6 0%,#5b48d8 100%);box-shadow:0 6px 20px rgba(88,50,180,.35)}
.button:hover{background:linear-gradient(135deg,#8d6dff 0%,#6a55e8 100%)}
.button.secondary{background:transparent;border:1px solid rgba(178,157,242,.4);color:#d9d2f2;box-shadow:none}
.button.secondary:hover{background:rgba(178,157,242,.12)}
.form-foot button{color:#a99ad4}
/* 介绍页统一 */
.doc-intro{background:rgba(13,17,32,.75);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.doc-back{background:rgba(255,255,255,.05);border-color:rgba(178,157,242,.25);color:#cfc5ef}
.doc-back:hover{color:#fff;border-color:rgba(196,181,253,.5)}
.doc-intro-meta{color:#7d72a6}
.doc-intro-text p{color:#b3a8d6}
.doc-intro-img{border-color:rgba(178,157,242,.18);background:rgba(255,255,255,.04)}
.doc-intro-img-fallback{background:rgba(255,255,255,.04);border-color:rgba(178,157,242,.25);color:#7d72a6}
/* 群聊浮窗统一 */
.group-float-panel{background:#1b1338;border-color:rgba(178,157,242,.3)}
.group-float-panel strong{color:#f4f2fc}
.group-float-panel p{color:#8d83b3}
.group-float-tab{background:linear-gradient(180deg,#7c5cf6,#5b48d8);border-color:rgba(196,181,253,.5)}
.group-float-link{background:linear-gradient(135deg,#7c5cf6,#5b48d8)}
.group-float-link:hover{background:linear-gradient(135deg,#8d6dff,#6a55e8)}
/* 横幅广告位 */
.grid-ads .ad:hover{border-color:rgba(196,181,253,.4)}
/* ===== v18 网赚库风：深黑底 + 荧光绿 ===== */
:root{--accent:#00d97e;--accent-hover:#00ff88;--ink-on-accent:#04140c;--line-green:rgba(0,255,136,.16);--line-green-strong:rgba(0,255,136,.4)}
html{background:linear-gradient(165deg,#0a0f14 0%,#0c141b 55%,#08101a 100%) no-repeat fixed}
body{color:#c8d4cd}
body.fx-static{background:radial-gradient(1200px 620px at 80% -10%,#0f2a1e 0%,#0a0f14 55%,#08101a 100%)}
/* 面板：深灰半透明 + 淡绿描边 */
.header{background:rgba(10,15,20,.82);border-bottom-color:var(--line-green)}
.stats,.search-wrap,.tech-card,.empty-state,.ad,.catalog-member-link{background:rgba(20,30,40,.8);border-color:var(--line-green)}
.stats{box-shadow:0 12px 40px rgba(0,0,0,.4)}
.tech-card{box-shadow:0 6px 24px rgba(0,0,0,.35)}
.tech-card:hover{background:rgba(26,40,52,.85);border-color:var(--line-green-strong);box-shadow:0 12px 34px rgba(0,217,126,.18)}
.tech-card.locked{background:rgba(16,24,32,.6);border-color:rgba(0,255,136,.08)}
.search-wrap:focus-within{border-color:var(--line-green-strong)}
.footer{background:rgba(10,15,20,.85);border-top-color:var(--line-green)}
dialog{background:#101a24;border-color:rgba(0,255,136,.22)}
.field{background:rgba(8,13,18,.7);border-color:rgba(0,255,136,.2)}
.field:focus{border-color:rgba(0,255,136,.55)}
.contact-number{background:rgba(8,13,18,.7);color:#00ff88}
/* 文字：标题白 / 正文浅灰 / 强调荧光绿 */
h1,.section-top h2,.tech-card h3,dialog h2,.doc-intro-title,.doc-intro-section h2,.stats strong{color:#ffffff}
.tech-card p{color:#93a69d}
.card-bottom{color:#6e8078;border-top-color:rgba(0,255,136,.1)}
.hero-copy>p,.section-kicker,.list-heading,.subtle{color:#8fa399}
.eyebrow{color:#7d9389}
.stats div>span{color:#8fa399}
.stats p{color:#61746a;border-top-color:rgba(0,255,136,.14)}
.stats>div{border-right-color:rgba(0,255,136,.1)}
.count{background:rgba(0,255,136,.12);color:#7ee6b8}
.quiet-link,.catalog-page-size{color:#7d9389}
.quiet-link:hover{color:#00ff88}
.chip{color:#9fb8ab;border:1px solid rgba(0,255,136,.18);background:rgba(20,30,40,.6)}
.chip:hover{background:rgba(0,255,136,.1)}
.chip.active{background:linear-gradient(135deg,#00ff88,#00d97e);border-color:transparent;color:#04140c}
.chip-count{color:#61746a}
.chip.active .chip-count{color:rgba(4,20,12,.75)}
.filter-row,#categories .filter-row:last-child{border-bottom-color:rgba(0,255,136,.08)}
.badge{background:rgba(0,255,136,.1);color:#8fe6c0}
.badge-category{color:#8fe6c0}
.badge-hot{color:#f0a672;background:rgba(219,136,94,.14)}
.badge-vip{color:#d8b46a;background:rgba(178,145,80,.16)}
.card-views{color:#8fa399}
.note{color:#61746a}
kbd{color:#61746a;border-color:rgba(0,255,136,.18)}
.catalog-summary #result-label{color:#e6f2ec}
.catalog-summary #result-caption{color:#61746a}
.catalog-page-size select{background:#101a24;border-color:rgba(0,255,136,.2);color:#bfe9d4}
.avatar{background:rgba(0,255,136,.14);color:#7ee6b8}
.user-nav{color:#c8d4cd}
.text-button{color:#9fb8ab}
.text-button:hover{color:#00ff88}
label{color:#9fb8ab}
dialog p{color:#8fa399}
.modal-close{color:#8fa399}
.modal-symbol{background:rgba(0,255,136,.12)}
.footer-brand{color:#9fb8ab}
.footer p{color:#61746a}
.copyright{color:#46564d;border-top-color:rgba(0,255,136,.08)}
.empty-state{color:#8fa399;border-color:rgba(0,255,136,.22)}
.ad span{color:#d5e8dd}
/* 会员区块 */
.membership{background:linear-gradient(135deg,rgba(0,217,126,.16),rgba(0,150,100,.1));border-color:rgba(0,255,136,.28);box-shadow:0 14px 44px rgba(0,217,126,.14)}
.member-copy .section-kicker{color:#7ee6b8}
.member-lines p,.member-copy h2,.member-copy p{color:#dcf5e8}
.member-mark,.member-button{background:rgba(0,255,136,.08);border-color:rgba(0,255,136,.28);color:#a9f2cf}
.member-button:hover{background:rgba(0,255,136,.16)}
/* 按钮：主按钮绿色渐变黑字，次按钮透明绿字 */
.button{background:linear-gradient(135deg,#00ff88 0%,#00d97e 100%);color:var(--ink-on-accent);box-shadow:0 6px 20px rgba(0,217,126,.3)}
.button:hover{background:linear-gradient(135deg,#4dffab 0%,#00e68a 100%)}
.button.secondary{background:transparent;border:1px solid rgba(0,255,136,.4);color:#00ff88;box-shadow:none}
.button.secondary:hover{background:rgba(0,255,136,.1)}
.form-foot button,.quiet-link,.form-foot a{color:#00d97e}
#toast{background:#00d97e;color:#04140c}
/* CTA 卡片：深绿渐变 */
.doc-cta{background:linear-gradient(135deg,#0b6b45 0%,#0a8a56 55%,#0b7a4d 100%);box-shadow:0 14px 40px rgba(0,217,126,.22)}
.doc-cta-note{color:#c9f5df}
.doc-cta-btn{background:#fff;color:#045c38}
.doc-cta-btn:hover{background:#e6fff2}
.doc-cta-hint{color:#9fe6c4}
/* 介绍页 */
.doc-intro{background:rgba(13,17,32,.75);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.doc-back{background:rgba(20,30,40,.8);border-color:rgba(0,255,136,.25);color:#c8d4cd}
.doc-back:hover{color:#00ff88;border-color:var(--line-green-strong)}
.doc-intro-meta{color:#61746a}
.doc-intro-text p{color:#9fb8ab}
.doc-intro-img{border-color:rgba(0,255,136,.16);background:rgba(20,30,40,.6)}
.doc-intro-img-fallback{background:rgba(20,30,40,.6);border-color:rgba(0,255,136,.22);color:#61746a}
/* 群聊浮窗 */
.group-float-panel{background:#101a24;border-color:rgba(0,255,136,.3)}
.group-float-panel strong{color:#fff}
.group-float-panel p{color:#7d9389}
.group-float-tab{background:linear-gradient(180deg,#00ff88,#00d97e);border-color:rgba(0,255,136,.5);color:#04140c}
.group-float-link{background:linear-gradient(135deg,#00ff88,#00d97e);color:#04140c}
.group-float-link:hover{background:linear-gradient(135deg,#4dffab,#00e68a)}
.grid-ads .ad:hover{border-color:var(--line-green-strong)}
/* ===== v19 紧急修复：背景不生效根因（原主题 :root 优先级高于 html）===== */
:root{background:linear-gradient(165deg,#0a0f14 0%,#0c141b 55%,#08101a 100%) no-repeat fixed;--border:rgba(0,255,136,.16)}
html{background:#0a0f14}
/* 全局补色：剩余紫色元素改绿 */
.brand-icon{color:#04140c}
.live-dot{background:#00d97e;box-shadow:0 0 0 4px rgba(0,255,136,.15)}
.stats p .live-dot{background:#00d97e}
.eyebrow-line{background:rgba(0,255,136,.3)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:#00d97e}
.search-wrap:focus-within{box-shadow:0 0 0 3px rgba(0,217,126,.12)}
::selection{background:rgba(0,217,126,.3);color:#fff}
/* ===== v20 技术卡片：金属高端黑 ===== */
.tech-card{background:linear-gradient(160deg,rgba(40,48,56,.85) 0%,rgba(20,25,30,.88) 60%,rgba(14,18,22,.9) 100%);border:1px solid rgba(196,206,214,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 8px 28px rgba(0,0,0,.45)}
.tech-card:hover{background:linear-gradient(160deg,rgba(48,58,67,.88) 0%,rgba(24,30,36,.9) 60%,rgba(16,20,25,.92) 100%);border-color:rgba(0,255,136,.45);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 14px 38px rgba(0,0,0,.55),0 0 26px rgba(0,217,126,.14)}
.tech-card.locked{background:linear-gradient(160deg,rgba(28,33,38,.7),rgba(13,16,20,.78));border-color:rgba(196,206,214,.1)}
/* ===== v21 会员横幅：金属高端黑 + 绿色高光 ===== */
.membership{background:linear-gradient(120deg,rgba(40,48,56,.85) 0%,rgba(18,23,28,.9) 55%,rgba(13,17,21,.92) 100%);border:1px solid rgba(196,206,214,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 12px 36px rgba(0,0,0,.45);animation:memberGlowDark 3s ease-in-out infinite}
@keyframes memberGlowDark{0%,100%{box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 12px 36px rgba(0,0,0,.45)}50%{box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 14px 42px rgba(0,0,0,.5),0 0 28px rgba(0,217,126,.18)}}
.member-mark{background:rgba(0,255,136,.07);border-color:rgba(0,255,136,.3);color:#00d97e}
.member-copy .section-kicker{color:#7ee6b8}
.member-lines p,.member-copy h2,.member-copy p{color:#f0f4f1}
.member-button{background:transparent;border:1px solid rgba(0,255,136,.4);color:#00ff88}
.member-button:hover{background:rgba(0,255,136,.1)}
/* ===== v22 Hero 金属高端黑 + 搜索推荐词 ===== */
.hero{background:linear-gradient(135deg,rgba(40,48,56,.75) 0%,rgba(18,23,28,.85) 55%,rgba(13,17,21,.9) 100%);border:1px solid rgba(196,206,214,.16);border-radius:18px;padding:46px 44px;box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 16px 44px rgba(0,0,0,.4);position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(0,255,136,.55),transparent);pointer-events:none}
h1{color:#fff}
.hero-copy>p{color:#9aa8a0}
.hero-points{color:#7d9389}
.stats{background:linear-gradient(160deg,rgba(40,48,56,.85) 0%,rgba(18,23,28,.9) 60%,rgba(13,17,21,.92) 100%);border:1px solid rgba(196,206,214,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 12px 36px rgba(0,0,0,.45)}
@media(max-width:760px){.hero{padding:26px 20px}}
/* 搜索推荐词 */
.search-tags{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:14px}
.search-tags:empty{display:none;margin:0}
.search-tags-label{font-size:12px;color:#7d9389;letter-spacing:1px;flex-shrink:0}
.chip-tag{min-height:32px;padding:6px 13px;font-size:12px}
.chip-tag:hover{border-color:rgba(0,255,136,.45);color:#00ff88;background:rgba(0,255,136,.08)}
/* ===== v23 Logo 自定义 + 搜索推荐下拉 ===== */
.brand-icon.has-logo{background:transparent;overflow:hidden}
.brand-icon.has-logo img{width:100%;height:100%;object-fit:cover;display:block}
.search-zone{position:relative}
.search-tags{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:40;display:none;margin:0;flex-direction:column;gap:2px;flex-wrap:nowrap;align-items:stretch;background:rgba(15,21,27,.97);border:1px solid rgba(0,255,136,.22);border-radius:12px;padding:10px;box-shadow:0 18px 48px rgba(0,0,0,.55);backdrop-filter:blur(10px);max-height:320px;overflow-y:auto}
.search-tags.open{display:flex}
.search-tags-label{padding:4px 8px 8px;display:block}
.chip-tag{display:block;width:100%;text-align:left;border:0;border-radius:8px;background:transparent;padding:10px;min-height:40px;font-size:13px}
.chip-tag:hover{background:rgba(0,255,136,.08);color:#00ff88}
/* ===== v24 方块广告卡片（类型化） ===== */
.grid-ads{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0 6px}
.grid-ads:empty{display:none;margin:0}
.ad-card{position:relative;display:flex;flex-direction:column;aspect-ratio:1/1;border-radius:14px;overflow:hidden;border:1px solid rgba(196,206,214,.16);background:linear-gradient(160deg,rgba(40,48,56,.8),rgba(18,23,28,.92));box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 10px 28px rgba(0,0,0,.35);color:#fff;transition:border-color .2s,transform .2s;padding:0;text-align:left;cursor:pointer;font-size:14px}
.ad-card:hover{border-color:rgba(0,255,136,.45);transform:translateY(-2px)}
.ad-card>img{width:100%;flex:1;min-height:0;object-fit:cover;display:block}
.ad-card>span{padding:10px 12px;font-size:13px;display:block;flex-shrink:0}
.ad-card small{position:absolute;top:8px;right:8px;background:rgba(0,0,0,.55);color:#cfd6cc;font-size:10px;padding:2px 6px;border-radius:4px;z-index:2}
.ad-card-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:14px;text-align:center;min-height:0}
.ad-card-icon{font-size:26px;color:#00ff88}
.ad-card-body b{font-size:14px;font-weight:600}
.ad-card-contact{font:600 16px ui-monospace,monospace;color:#00ff88;letter-spacing:1px;word-break:break-all}
.ad-card-copy{border:1px solid rgba(0,255,136,.4);background:rgba(0,255,136,.1);color:#00ff88;border-radius:8px;padding:6px 16px;font-size:12px;min-height:34px}
.ad-card-copy:hover{background:rgba(0,255,136,.18)}
@media(max-width:760px){.grid-ads{grid-template-columns:repeat(2,1fr)}}
#qr-modal{background:#0e141a;border:1px solid rgba(0,255,136,.25);text-align:center;width:340px}
#qr-modal img{max-width:280px;width:100%;border-radius:12px;display:block;margin:0 auto}
#qr-modal p{color:#9aa8a0;font-size:13px;margin-top:14px}
/* ===== v25 广告卡片紧凑化：图在上标题在下、更小尺寸、桌面4列/手机2列 ===== */
.grid-ads{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0 4px}
.grid-ads:empty{display:none;margin:0}
.ad-card{aspect-ratio:16/10;border-radius:12px;min-height:0}
.ad-card>img{order:1}
.ad-card>span{order:2;padding:8px 12px;font-size:12px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ad-card-body{padding:10px;gap:6px}
.ad-card-icon{font-size:20px}
.ad-card-body b{font-size:13px}
.ad-card-contact{font-size:14px}
.ad-card-copy{padding:5px 14px;font-size:12px;min-height:30px}
.ad-card small{font-size:9px;padding:2px 5px;top:6px;right:6px}
@media(max-width:760px){.grid-ads{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* ===== v26 个人中心/签到弹窗/浮窗广告/加盟代理/纯文字广告封面 ===== */
.uc-points{display:flex;align-items:baseline;gap:10px;background:#f6f7fb;border-radius:10px;padding:14px 16px;margin:14px 0}
.uc-points b{font-size:30px;color:var(--accent)}
.uc-points span{font-size:12px;color:#8d93a4}
.uc-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.uc-sub{font-size:14px;margin:18px 0 8px;color:#30354a}
.uc-logs{max-height:180px;overflow-y:auto;border:1px solid #eef0f6;border-radius:8px;padding:4px 10px}
.uc-log{display:flex;gap:8px;font-size:12px;color:#6f7589;padding:7px 0;border-bottom:1px dashed #f0f1f6;align-items:center}
.uc-log:last-child{border-bottom:0}
.uc-log-time{flex-shrink:0;color:#a0a5b4}
.uc-log-reason{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.uc-log-delta{font-weight:700;flex-shrink:0}.uc-log-delta.plus{color:#3f9e6d}.uc-log-delta.minus{color:#c35662}
.uc-log-balance{color:#a0a5b4;flex-shrink:0}
.sign-ad-img{width:100%;border-radius:10px;margin:12px 0;display:block}
.sign-ad-title{font-size:16px;margin:14px 0 4px;color:#30354a}
.agent-qr{width:160px;border-radius:10px;margin:12px auto 4px;display:block}
.ad-card-text{font-size:15px;font-weight:700;line-height:1.5;text-align:center;color:#fff;word-break:break-all;padding:0 4px}
.float-ad{top:56%}
.agent-float{top:72%}
button.group-float-link{border:0;background:none;cursor:pointer}
/* ===== v27 个人中心卡片式改版 ===== */
.uc-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:2px 0 14px}
.uc-email{font-size:13px;color:#8d93a4;word-break:break-all}
.uc-role{flex-shrink:0;font-size:12px;color:var(--accent);border:1px solid var(--accent);border-radius:99px;padding:2px 10px}
.uc-card{background:#f6f7fb;border-radius:12px;padding:14px 16px;margin-bottom:12px}
.uc-card h3{font-size:15px;margin:0 0 4px;color:#30354a}
.uc-card p{font-size:12px;color:#8d93a4;margin:0 0 10px}
.uc-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.uc-quota{font-size:28px;font-weight:700;color:var(--accent);white-space:nowrap}
.uc-quota small{font-size:13px;font-weight:400;margin-left:2px;color:#8d93a4}
.uc-progress{height:8px;background:#e8eaf2;border-radius:99px;overflow:hidden;margin-top:4px}
.uc-progress>i{display:block;height:100%;background:var(--accent);border-radius:99px;transition:width .3s}
.uc-progress-text{font-size:12px;color:#8d93a4;margin-top:6px}
.uc-2col{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:640px){.uc-2col{grid-template-columns:1fr}}
.uc-redeem-row{display:flex;gap:8px}
.uc-redeem-row .field{flex:1;min-width:0}
.uc-points-redeem{font-size:12px;margin-top:6px}
.uc-table{width:100%;border-collapse:collapse;font-size:12px;color:#4a5064}
.uc-table th{text-align:left;font-weight:600;color:#8d93a4;padding:6px 4px;border-bottom:1px solid #e8eaf2;white-space:nowrap}
.uc-table td{padding:7px 4px;border-bottom:1px dashed #eef0f6;white-space:nowrap}
.uc-table td.plus{color:#3f9e6d;font-weight:700}
.uc-table td.minus{color:#c35662;font-weight:700}
.uc-td-reason{max-width:140px;overflow:hidden;text-overflow:ellipsis}
.uc-empty{text-align:center;color:#a0a5b4;padding:14px 0}
.uc-pager{display:flex;align-items:center;justify-content:space-between;margin-top:10px;font-size:12px;color:#8d93a4}
.uc-group .form-button{margin-top:2px}
.uc-site{display:flex;align-items:center;justify-content:space-between;gap:12px}
.uc-site p{margin:0}
.uc-site-go{flex-shrink:0;width:36px;height:36px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;text-decoration:none}
/* ===== v28 广告横向图标卡（深色圆角长条，4个一排等宽） ===== */
.grid-ads{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0 4px}
@media(max-width:900px){.grid-ads{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.grid-ads{grid-template-columns:1fr}}
.ad-h{display:flex;align-items:center;gap:12px;background:#0e141a;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:14px 16px;cursor:pointer;position:relative;text-decoration:none;color:inherit;font:inherit;text-align:left;transition:border-color .2s,transform .2s}
.ad-h:hover{border-color:rgba(0,255,136,.45);transform:translateY(-1px)}
.ad-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:20px;line-height:1;background:rgba(255,255,255,.06);border-radius:10px}
.ad-icon-img{flex-shrink:0;width:40px;height:40px;border-radius:10px;object-fit:cover}
.ad-tx{flex:1;min-width:0}
.ad-tx b{display:block;font-size:14px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ad-tx span{display:block;font-size:12px;color:#9aa3ae;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ad-h small{position:absolute;top:6px;right:10px;font-size:10px;color:#5c6670;font-weight:400}
/* ===== v29 四项优化 ===== */
/* 1+4 广告横向卡：去除角标后增强悬停动效（上浮+发光边框+阴影加深） */
.ad-h{transition:border-color .2s,transform .2s,box-shadow .2s}
.ad-h:hover{border-color:rgba(0,255,136,.6);transform:translateY(-3px);box-shadow:0 10px 28px rgba(0,255,136,.16),0 3px 10px rgba(0,0,0,.5)}
/* 2 右侧浮窗：圆形荧光绿大按钮，带阴影，纵向分开不挤 */
#group-float{top:34%}
#float-ad{top:50%}
#agent-float{top:66%}
.group-float-tab{width:56px;height:56px;border-radius:50%;border:1px solid rgba(0,255,136,.55);background:radial-gradient(circle at 32% 28%,#3cffab,#00d97e 72%);color:#04140c;font-size:13px;font-weight:800;letter-spacing:0;padding:0;gap:1px;margin-right:10px;box-shadow:0 6px 22px rgba(0,255,136,.35),0 2px 8px rgba(0,0,0,.45);transition:transform .2s,box-shadow .2s}
.group-float-tab:hover{transform:scale(1.08);box-shadow:0 8px 30px rgba(0,255,136,.5),0 2px 10px rgba(0,0,0,.5)}
/* 3 主题切换按钮 */
.theme-toggle{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);font-size:17px;line-height:1;display:grid;place-items:center;flex-shrink:0;margin-right:10px;transition:transform .2s,border-color .2s}
.theme-toggle:hover{transform:scale(1.08);border-color:rgba(0,255,136,.5)}
/* 白天模式反转（覆盖深色科技感主题） */
html:has(body.light){background:#f4f6f9}
body.light{background:#f4f6f9;color:#252838}
body.light #bg-fx{display:none}
body.light .header{background:rgba(255,255,255,.9);border-bottom-color:#e6e8f0}
body.light .brand{color:#202639}
body.light .text-button{color:#5b6071}
body.light .text-button:hover{color:#333a55}
body.light .eyebrow{color:#e6e3ff}
body.light .hero-copy>p{color:#edeaff}
body.light .stats{background:#fff;border-color:#e8eaf1;box-shadow:0 8px 25px rgba(34,34,69,.06)}
body.light .stats>div{border-right-color:#eceef5}
body.light .stats strong{color:#252838}
body.light .stats div>span{color:#838799}
body.light .stats p{color:#999eac;border-top-color:#eceef5}
body.light .section-kicker{color:#9298ad}
body.light .section-top h2{color:#292e41}
body.light .count{background:#edeef7;color:#777c95}
body.light .quiet-link{color:#787c90}
body.light .quiet-link:hover{color:#565de6}
body.light .search-wrap{background:#fff;border-color:#dfe2ee;box-shadow:0 3px 9px rgba(53,51,87,.05)}
body.light .search-wrap>span{color:#999caf}
body.light .search-wrap input{color:#33384a}
body.light .chip{color:#767b8d}
body.light .chip:hover{background:#edeef7}
body.light .chip.active{background:#5c45df;color:#fff}
body.light .filter-row{border-bottom-color:#eceef5}
body.light .list-heading{color:#5b6071}
body.light .subtle{color:#a0a5b4}
body.light kbd{color:#a2a6b8;border-color:#e8eaf1}
body.light .tech-card{background:#fff;border-color:#eceef5}
body.light .tech-card:hover{border-color:#c9cdf5;box-shadow:0 10px 30px rgba(70,60,180,.12)}
body.light .tech-card h3{color:#2a2f42}
body.light .tech-card p{color:#8187a0}
body.light .card-bottom{color:#a0a5b4;border-top-color:#f0f1f6}
body.light .badge{background:#f2f3f7;color:#9297a5}
body.light .badge-hot{color:#db885e;background:#fff3ed}
body.light .badge-vip{color:#b29150;background:#faf4e7}
body.light .badge-category{background:#eeefff;border-color:#d6d4ff;color:#6a4fe6}
body.light .card-views{color:#8d92a2}
body.light .tech-card.locked{background:#f4f6f9;border-color:#e5e7ed}
body.light .tech-card.locked h3{color:#7c808f}
body.light .tech-card.locked .card-bottom{border-color:#e4e6ed}
body.light .membership{background:linear-gradient(135deg,#f1f2ff 0%,#eae9ff 50%,#f7f4ff 100%);border-color:rgba(170,175,242,.55)}
body.light .member-copy .section-kicker{color:#878bba}
body.light .member-lines p,body.light .member-copy h2,body.light .member-copy p{color:#3d4370}
body.light .member-mark{background:#ffffff80;border-color:#d5d8f2;color:#696ed2}
body.light .member-button{background:#fff;border-color:#dadcf1;color:#656bbd}
body.light .member-button:hover{background:#f7f7ff}
body.light .note{color:#999fae}
body.light .note>span{color:#aaaebc}
body.light .footer{background:#fff;border-top-color:#e8eaf1}
body.light .footer-brand{color:#202639}
body.light .footer p{color:#8b91a0}
body.light .footer h3{color:#292e41}
body.light .footer-contact{color:#343b50}
body.light .copyright{color:#acb0bf;border-top-color:#f0f1f5}
body.light .empty-state{background:#fff;border-color:#e8eaf1;color:#9297a8}
body.light .ad{background:#fff;border-color:#e8eaf1}
body.light .ad span{color:#3c4358}
body.light .catalog-summary #result-label{color:#292e41}
body.light .catalog-summary #result-caption{color:#8a90a0}
body.light .catalog-page-size{color:#696f85}
body.light .catalog-page-size select{background:#fff;border-color:#e2e4ee;color:#696f85}
body.light .catalog-member-link{background:#f0edfd;border-color:#d6d4ff;color:#6a4fe6}
body.light .avatar{background:#eeedff;color:#565de6}
body.light .user-nav{color:#3c4358}
body.light dialog{background:#fff;border-color:#e4e6f0;color:#30354a}
body.light dialog h2{color:#202639}
body.light dialog p{color:#8d93a4}
body.light label{color:#6f7589}
body.light .field{background:#fff;border-color:#dfe2ed;color:#33384a}
body.light .field::placeholder{color:#a0a4b3}
body.light .modal-close{color:#8d93a4}
body.light .modal-symbol{background:#efeffe}
body.light .contact-number{background:#f6f7fb;color:#565de6}
body.light .form-foot button{color:#565de6}
body.light .doc-intro{background:rgba(244,246,249,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
body.light .doc-back{background:#fff;border-color:#e2e4ee;color:#5b6071}
body.light .doc-intro-title{color:#202639}
body.light .doc-intro-meta{color:#a0a5b4}
body.light .doc-intro-text p{color:#5b6071}
body.light .doc-intro-section h2{color:#292e41}
body.light .doc-intro-img{border-color:#e8eaf1;background:#fff}
body.light .doc-intro-img-fallback{background:#fff;border-color:#dfe2ed;color:#9aa0b2}
body.light .group-float-panel{background:#fff;border-color:#e2e4ee;box-shadow:-12px 0 40px rgba(40,40,90,.12)}
body.light .group-float-panel strong{color:#292e41}
body.light .group-float-panel p{color:#8b91a0}
body.light .ad-h{background:#fff;border-color:#e6e8f0}
body.light .ad-h:hover{border-color:rgba(0,200,120,.55);box-shadow:0 10px 28px rgba(0,180,110,.18),0 3px 10px rgba(0,0,0,.1)}
body.light .ad-tx b{color:#252838}
body.light .ad-tx span{color:#7a8095}
body.light .ad-icon{background:#f0f2f7}
body.light .theme-toggle{border-color:#e2e4ee;background:#fff}
/* ===== v30 浮窗竖条按钮 + 白天模式清爽化 + 主题过渡 ===== */
/* 头部右侧动作组：切换按钮 → 登录 → 注册 */
.header-actions{display:flex;align-items:center;gap:14px;flex-shrink:0}
.header-actions .theme-toggle{margin-right:0}
/* 右侧浮窗：竖排绿色长条按钮（白字、醒目、有间距） */
.group-float-tab{width:46px;height:auto;border-radius:12px 0 0 12px;border:1px solid rgba(0,220,120,.55);border-right:0;background:linear-gradient(180deg,#00e676,#00b862);color:#fff;font-size:16px;font-weight:800;letter-spacing:3px;padding:24px 0;gap:6px;margin-right:0;box-shadow:-6px 0 24px rgba(0,255,136,.35),0 2px 8px rgba(0,0,0,.4);text-shadow:0 1px 3px rgba(0,80,40,.45);transition:box-shadow .2s,background .2s}
.group-float-tab:hover{transform:none;background:linear-gradient(180deg,#2bff95,#00cc6e);box-shadow:-8px 0 34px rgba(0,255,136,.55),0 2px 10px rgba(0,0,0,.45)}
/* 主题切换平滑过渡 */
body,.header,.footer,.tech-card,.search-wrap,.stats,.membership,dialog,.chip,.group-float-panel,.field,.empty-state,.catalog-page-size select,.note{transition:background-color .35s ease,border-color .35s ease,color .35s ease,box-shadow .35s ease}
.ad-h{transition:border-color .25s,transform .25s,box-shadow .25s,background-color .35s}
/* 白天模式：干净的白色/浅蓝底 + 深色文字 + 纯白卡片 */
html:has(body.light){background:#eef4fd}
body.light{background:linear-gradient(180deg,#f9fcff 0%,#edf3fd 60%,#eaf1fb 100%);background-attachment:fixed;color:#232838}
body.light .header{background:rgba(255,255,255,.92);border-bottom-color:#e5ecfa}
body.light .tech-card{background:#fff;border-color:#e7edfb;box-shadow:0 4px 18px rgba(60,90,180,.07)}
body.light .tech-card:hover{border-color:#b9ccf5;box-shadow:0 12px 34px rgba(70,100,200,.16)}
body.light .stats{background:#fff;border-color:#e7edfb;box-shadow:0 8px 26px rgba(60,90,180,.09)}
body.light .search-wrap{background:#fff;border-color:#e3eafb;box-shadow:0 4px 14px rgba(60,90,180,.07)}
body.light .ad-h{background:#fff;border-color:#e7edfb}
body.light .ad-h:hover{border-color:rgba(0,190,110,.55);box-shadow:0 12px 30px rgba(0,170,100,.16),0 3px 10px rgba(0,0,0,.08)}
body.light .group-float-panel{background:#fff;border-color:#e3eafb}
body.light .membership{background:linear-gradient(135deg,#eef3ff 0%,#e9edff 50%,#f3f0ff 100%)}
body.light .footer{background:#fff;border-top-color:#e7edfb}
body.light dialog{background:#fff;border-color:#e5eaf6}
body.light .empty-state{background:#fff;border-color:#dfe6f5}
body.light .theme-toggle{border-color:#dfe6f5;background:#fff;box-shadow:0 2px 8px rgba(60,90,180,.1)}
body.light .chip{background:#fff;border-color:#e7edfb}
body.light .chip.active{background:#5c45df;color:#fff;border-color:#5c45df}
/* ===== v31 浮窗面板深绿统一风格 + 关闭悬停动效 ===== */
/* 仅点击展开，悬停不再滑出/变亮 */
.group-float,.group-float:hover{transform:translate(200px,-50%)}
.group-float.open,.group-float.open:hover{transform:translate(0,-50%)}
.group-float-tab:hover{transform:none;background:linear-gradient(180deg,#00e676,#00b862);box-shadow:-6px 0 24px rgba(0,255,136,.35),0 2px 8px rgba(0,0,0,.4)}
/* 面板：深绿/深色背景 + 绿色大按钮（群聊/推广/加盟统一） */
.group-float-panel{background:linear-gradient(160deg,#0d2418,#08170f);border-color:rgba(0,255,136,.3);border-radius:0 0 0 14px}
.group-float-panel strong{color:#eafff3}
.group-float-panel p{color:#7fa68f}
.group-float-link{background:linear-gradient(135deg,#00e676,#00b862);color:#04140c;border:0;width:100%;cursor:pointer;font-weight:700;box-shadow:0 4px 14px rgba(0,255,136,.25)}
.group-float-link:hover{background:linear-gradient(135deg,#00e676,#00b862)}
body.light .group-float-panel{background:linear-gradient(160deg,#0d2418,#08170f);border-color:rgba(0,255,136,.3)}
body.light .group-float-panel strong{color:#eafff3}
body.light .group-float-panel p{color:#7fa68f}
/* ===== v32 手机端四项修复 ===== */
/* 1 手机端标题不换行不挤 */
@media(max-width:760px){
  .header-inner{gap:8px}
  .header .brand{white-space:nowrap;flex:0 1 auto;min-width:0;font-size:14px}
  .header [data-site-name]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:38vw}
  .header-actions{gap:6px}
  .header-actions .theme-toggle{width:34px;height:34px;font-size:14px}
  .header-actions .text-button{padding:8px 4px;font-size:13px}
  .header-actions .button.small{padding:8px 10px;gap:5px;font-size:13px}
}
/* 2 手机端浮窗缩小自适应 + 3 关闭按钮 */
.gf-close{position:absolute;top:4px;right:8px;width:26px;height:26px;border:0;background:rgba(255,255,255,.08);color:#7fa68f;border-radius:50%;font-size:15px;line-height:1;cursor:pointer;display:grid;place-items:center;z-index:2}
.gf-close:active{background:rgba(255,255,255,.16)}
.group-float-panel{position:relative}
@media(max-width:760px){
  .group-float-tab{width:38px;font-size:14px;padding:18px 0;letter-spacing:2px}
  .group-float-panel{width:min(168px,52vw);padding:12px 10px}
  .group-float-panel strong{font-size:13px}
  .group-float-panel p{font-size:10px}
  .group-float,.group-float:hover{transform:translate(min(168px,52vw),-50%)}
  .group-float.open,.group-float.open:hover{transform:translate(0,-50%)}
}
/* 4 手机端广告并排两列 */
@media(max-width:560px){
  .grid-ads{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .ad-h{padding:10px 12px;gap:8px;border-radius:12px}
  .ad-icon,.ad-icon-img{width:32px;height:32px;font-size:16px;border-radius:8px}
  .ad-tx b{font-size:12px}
  .ad-tx span{font-size:11px}
}
/* ===== v33 四项修复 ===== */
/* 1 恢复悬停弹出（鼠标放上即展开，移开收起） */
.group-float:hover{transform:translate(0,-50%)}
@media(max-width:760px){.group-float:hover{transform:translate(0,-50%)}}
/* 3 手机端：用户信息收进头像（隐藏用户名/徽章/退出文字） */
@media(max-width:760px){
  .user-nav .badge{display:none}
  .user-nav [data-action="logout"]{display:none}
  .user-nav .user-chip{padding:4px}
}
/* 4 手机端标题自适应单行，不挤压右侧按钮 */
@media(max-width:760px){
  .header-inner{flex-wrap:nowrap}
  .header .brand{font-size:clamp(13px,3.9vw,15px);gap:8px;flex:1 1 auto;min-width:0}
  .header .brand-icon{width:30px;height:30px;font-size:24px;flex-shrink:0}
  .header [data-site-name]{max-width:none;white-space:nowrap;overflow:visible;text-overflow:clip}
  .header-actions{flex-shrink:0}
}
@media(max-width:360px){.header .brand{font-size:12px}}
/* ===== v34 浮窗按钮常驻绿色：任何状态都不变亮，三个按钮完全一致 ===== */
.group-float-tab,.group-float-tab:hover,.group-float-tab:active,.group-float-tab:focus,.group-float-tab:focus-visible{background:linear-gradient(180deg,#00e676,#00b862);color:#fff;box-shadow:-6px 0 24px rgba(0,255,136,.35),0 2px 8px rgba(0,0,0,.4);transform:none;filter:none;outline:none}
/* ===== v35 浮窗按钮彻底去 hover 高亮（含 visited/focus 等全部状态） ===== */
.group-float-tab,.group-float-tab:hover,.group-float-tab:active,.group-float-tab:focus,.group-float-tab:focus-visible,.group-float:hover .group-float-tab,.group-float.open .group-float-tab{background:linear-gradient(180deg,#00e676,#00b862)!important;color:#fff!important;box-shadow:-6px 0 24px rgba(0,255,136,.35),0 2px 8px rgba(0,0,0,.4)!important;transform:none!important;filter:none!important;outline:none!important;opacity:1!important;transition:none!important}

/* ===== v36 浮窗完全重做：深绿背景、无hover变亮、点击展开、群聊推广加盟一模一样 ===== */
/* 1. 位置与垂直间距统一：三个浮窗绝对居右，固定间距120px */
#group-float{top:30%!important}
#float-ad{top:calc(30% + 120px)!important}
#agent-float{top:calc(30% + 240px)!important}

/* 2. 状态：默认右移收起，只在 .open 类下弹出，彻底去除任何 hover 触发弹出 */
.group-float{
  position:fixed!important;
  right:0!important;
  z-index:95!important;
  display:flex!important;
  align-items:stretch!important;
  transform:translate(200px,-50%)!important;
  transition:transform .3s cubic-bezier(.2,.7,.3,1)!important;
}
.group-float:hover{
  transform:translate(200px,-50%)!important;
}
.group-float.open,.group-float.open:hover{
  transform:translate(0,-50%)!important;
}

/* 3. 三个按钮样式一模一样：深绿色背景、白色竖排文字、完全无 hover 变亮、无阴影变动、无缩放 */
.group-float-tab,
.group-float-tab:hover,
.group-float-tab:active,
.group-float-tab:focus,
.group-float-tab:focus-visible,
.group-float:hover .group-float-tab,
.group-float.open .group-float-tab{
  width:40px!important;
  height:auto!important;
  border-radius:10px 0 0 10px!important;
  border:1px solid #1f5e3d!important;
  border-right:0!important;
  background:#134e2e!important;
  color:#ffffff!important;
  font-size:15px!important;
  font-weight:700!important;
  letter-spacing:3px!important;
  padding:20px 0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  margin:0!important;
  cursor:pointer!important;
  box-shadow:-4px 0 16px rgba(0,0,0,.35)!important;
  text-shadow:none!important;
  transform:none!important;
  filter:none!important;
  outline:none!important;
  opacity:1!important;
  transition:none!important;
}

/* 4. 面板样式统一：深绿背景、白色标题、小字、绿色链接按钮 */
.group-float-panel{
  width:200px!important;
  background:#0d2618!important;
  border:1px solid #1f5e3d!important;
  border-right:0!important;
  border-radius:0 0 0 12px!important;
  padding:16px 14px!important;
  text-align:center!important;
  box-shadow:-12px 0 32px rgba(0,0,0,.45)!important;
  position:relative!important;
}
.group-float-panel strong{
  display:block!important;
  font-size:15px!important;
  color:#e6f8ee!important;
  margin-bottom:10px!important;
}
.group-float-panel p{
  font-size:12px!important;
  color:#8bb39c!important;
  margin:10px 0 0!important;
  line-height:1.6!important;
}
.group-float-link{
  display:block!important;
  margin-top:10px!important;
  background:#1b6b40!important;
  color:#ffffff!important;
  border:0!important;
  border-radius:8px!important;
  padding:10px 12px!important;
  font-size:13px!important;
  font-weight:700!important;
  cursor:pointer!important;
  text-align:center!important;
  transition:background .2s ease!important;
  width:100%!important;
}
.group-float-link:hover{
  background:#238550!important;
}

/* 手机端自适应尺寸 */
@media(max-width:760px){
  #group-float{top:28%!important}
  #float-ad{top:calc(28% + 105px)!important}
  #agent-float{top:calc(28% + 210px)!important}
  .group-float-tab,
  .group-float-tab:hover,
  .group-float-tab:active,
  .group-float:hover .group-float-tab,
  .group-float.open .group-float-tab{
    width:34px!important;
    padding:15px 0!important;
    font-size:13px!important;
    gap:4px!important;
    letter-spacing:2px!important;
  }
  .group-float{
    transform:translate(170px,-50%)!important;
  }
  .group-float:hover{
    transform:translate(170px,-50%)!important;
  }
  .group-float.open,.group-float.open:hover{
    transform:translate(0,-50%)!important;
  }
  .group-float-panel{
    width:170px!important;
    padding:12px 10px!important;
  }
}

/* ===== v37 浮窗 hover 触碰弹出 + 荧光绿发光 + 防爬取禁选中 ===== */
/* hover 弹出（仅支持指针悬停的设备；手机端仍用点击） */
@media(hover:hover){
  .group-float:hover{transform:translate(0,-50%)!important}
}
/* 三个按钮统一荧光绿发光（常态即发光，hover 不再变亮） */
.group-float-tab,.group-float-tab:hover,.group-float-tab:active,.group-float-tab:focus,.group-float-tab:focus-visible,.group-float:hover .group-float-tab,.group-float.open .group-float-tab{
  background:linear-gradient(180deg,#00ff88,#00d97e)!important;
  border-color:rgba(0,255,136,.55)!important;
  color:#04140c!important;
  font-weight:800!important;
  text-shadow:none!important;
  box-shadow:-6px 0 26px rgba(0,255,136,.5),0 0 18px rgba(0,255,136,.35),0 2px 8px rgba(0,0,0,.4)!important;
  transform:none!important;filter:none!important;outline:none!important;opacity:1!important;transition:none!important;
}
/* 面板按钮荧光绿 */
.group-float-link{background:linear-gradient(135deg,#00ff88,#00d97e)!important;color:#04140c!important;box-shadow:0 4px 16px rgba(0,255,136,.35)!important}
.group-float-link:hover{background:linear-gradient(135deg,#00ff88,#00d97e)!important}
/* 防爬取：禁止选中文字（输入框除外） */
body.protect-noselect :not(input):not(textarea):not(select){user-select:none!important;-webkit-user-select:none!important}

/* ===== v38 手机端浮窗再缩小 + ×关闭按钮加大触控区 ===== */
@media(max-width:760px){
  #group-float{top:26%!important}
  #float-ad{top:calc(26% + 92px)!important}
  #agent-float{top:calc(26% + 184px)!important}
  .group-float-tab,.group-float-tab:hover,.group-float-tab:active,.group-float:hover .group-float-tab,.group-float.open .group-float-tab{
    width:30px!important;padding:11px 0!important;font-size:12px!important;gap:3px!important;letter-spacing:1px!important;border-radius:8px 0 0 8px!important;
  }
  .group-float{transform:translate(150px,-50%)!important}
  .group-float:hover{transform:translate(150px,-50%)!important}
  .group-float.open,.group-float.open:hover{transform:translate(0,-50%)!important}
  .group-float-panel{width:min(150px,46vw)!important;padding:10px 8px!important}
  .group-float-panel strong{font-size:13px!important;margin-bottom:8px!important}
  .group-float-panel p{font-size:11px!important;margin:8px 0 0!important}
  .group-float-link{padding:8px 10px!important;font-size:12px!important;margin-top:8px!important}
  .group-float-panel img{border-radius:6px!important}
  .gf-close{width:32px!important;height:32px!important;font-size:17px!important;top:2px!important;right:4px!important}
}

/* ===== v39 修复×关不掉(hover顶开) + 手机端浮窗再缩小 ===== */
/* 点×后强制收起，直到指针移开 */
.group-float.force-closed,.group-float.force-closed:hover{transform:translate(200px,-50%)!important}
@media(max-width:760px){
  .group-float.force-closed,.group-float.force-closed:hover{transform:translate(70vw,-50%)!important}
  /* 按钮改小一半，面板宽=屏宽70% */
  .group-float-tab,.group-float-tab:hover,.group-float-tab:active,.group-float:hover .group-float-tab,.group-float.open .group-float-tab{
    width:26px!important;padding:9px 0!important;font-size:11px!important;gap:2px!important;letter-spacing:1px!important;border-radius:7px 0 0 7px!important;
  }
  #group-float{top:26%!important}
  #float-ad{top:calc(26% + 78px)!important}
  #agent-float{top:calc(26% + 156px)!important}
  .group-float{transform:translate(70vw,-50%)!important}
  .group-float:hover{transform:translate(70vw,-50%)!important}
  .group-float.open,.group-float.open:hover{transform:translate(0,-50%)!important}
  .group-float-panel{width:70vw!important;padding:12px 10px!important}
}

/* ===== v40 主题切换按钮对齐 + 账号设置样式 ===== */
.header-actions{display:flex;align-items:center;gap:10px}
.header-actions .theme-toggle{display:grid;place-items:center;padding:0;line-height:1;margin:0}
.header-actions .user-nav{display:flex;align-items:center}
@media(max-width:760px){
  .header-actions{gap:6px;align-items:center}
  .header-actions .theme-toggle{width:34px;height:34px;padding:0;margin:0;display:grid;place-items:center;line-height:1}
  .header-actions .text-button{display:inline-flex;align-items:center;padding:8px 4px}
  .header-actions .button.small{display:inline-flex;align-items:center}
}
/* 头像图片填充圆形 */
.avatar{overflow:hidden;flex-shrink:0}
.avatar img{width:100%;height:100%;object-fit:cover;display:block}
/* 账号设置 */
.as-avatar-row{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.as-avatar-lg{width:56px;height:56px;font-size:22px}
.as-avatar-ops{flex:1;min-width:0}
.as-avatar-ops .hint{margin-top:6px}

/* ===== v41 积分兑换文档列表 ===== */
.pd-list{display:flex;flex-direction:column;gap:8px;max-height:50vh;overflow-y:auto;margin:4px 0 12px}
.pd-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--uc-line);border-radius:12px;background:var(--uc-card)}
.pd-info{flex:1;min-width:0}
.pd-info strong{display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pd-cost{font-size:12px;color:var(--uc-dim)}
.pd-row .button{flex-shrink:0}
.pr-panel{padding:0 16px 12px}

/* ===== v52 解锁弹窗三选项卡响应式 ===== */
.gate-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:6px 0 16px;padding:5px;border:1px solid var(--uc-line, #e2e4ed);border-radius:12px;background:var(--uc-card, #f4f5fa)}
.gate-tab{min-height:44px;padding:9px 6px;border:none;border-radius:9px;background:transparent;font-size:14px;font-weight:600;color:var(--uc-dim, #6d7285);cursor:pointer;display:flex;align-items:center;justify-content:center;text-align:center;white-space:nowrap;user-select:none;transition:background .18s,color .18s,box-shadow .18s}
.gate-tab:hover{color:var(--accent, #565de6)}
.gate-tab.on{background:linear-gradient(135deg,var(--uc-accent, #565de6),var(--uc-accent2, #7550dc));color:#fff;box-shadow:0 3px 8px rgba(86,93,230,.25)}
.gate-buy{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding:10px 12px;border:1px dashed var(--uc-line, #e2e4ed);border-radius:12px;font-size:13px;color:var(--uc-dim, #6d7285)}
.gate-buy .button{flex-shrink:0}

/* 积分兑换面板 */
.gate-points-card{margin:14px 0 6px;padding:14px;border:1px solid var(--uc-line, #e2e4ed);border-radius:12px;background:var(--uc-card, #f9f9fd)}
.gate-points-stat{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;font-size:14px;color:var(--uc-dim, #5b6071);margin-bottom:12px}
.gate-points-stat strong{color:var(--uc-accent, #565de6);font-size:15px;margin-left:3px}
.gate-points-tip{font-size:12px;color:var(--muted, #838798)}
.gate-points-card .form-button{margin-top:4px}
.gate-points-box{padding:18px 12px;text-align:center}
.gate-points-desc{font-size:14px;color:var(--uc-dim, #6d7285);margin-bottom:14px;line-height:1.6}

/* 手机端屏幕窄：自动排成 2 排，标签大小合适不局促 */
@media(max-width:560px){
  dialog{padding:26px 18px!important}
  .gate-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:5px}
  .gate-tab{min-height:44px;font-size:14px;padding:10px 8px}
  .gate-tab:nth-child(3){grid-column:1 / -1}
  .gate-buy{flex-direction:column;align-items:stretch;text-align:center}
  .gate-buy .button{width:100%}
}

/* v53 后台文档列表批量设置栏与卡密管理样式 */
.docs-batch-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  margin-bottom: 14px;
  flex-wrap: wrap;
}
.docs-batch-bar .field {
  background: #ffffff;
}
.doc-check-item, #docs-check-all {
  width: 17px;
  height: 17px;
  cursor: pointer;
  accent-color: var(--primary, #3b82f6);
}
@media (max-width: 640px) {
  .docs-batch-bar {
    flex-direction: column;
    align-items: stretch;
  }
  .docs-batch-bar input {
    width: 100% !important;
  }
}

/* v54 卡密批量删除条与复选框美化 */
.cards-batch-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 10px;
  margin-bottom: 14px;
  flex-wrap: wrap;
}
.card-check-item, #cards-check-all, #batch-head-check-all {
  width: 17px;
  height: 17px;
  cursor: pointer;
  accent-color: #dc2626;
}
#batch-head-check-all {
  accent-color: var(--primary, #3b82f6);
}
@media (max-width: 640px) {
  .cards-batch-bar {
    flex-direction: column;
    align-items: stretch;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.cards-batch-bar {
  transition: all 0.2s ease-in-out;
}

/* 中转页底部相关推荐 */
.related-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.related-card{display:flex;flex-direction:column;gap:10px;text-align:left;background:#141a30;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:16px;cursor:pointer;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease;font-family:inherit}
.related-card:hover{border-color:rgba(133,139,255,.5);transform:translateY(-2px);box-shadow:0 10px 28px rgba(0,0,0,.25)}
.related-name{font-size:14px;font-weight:700;color:#eef1fb;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.related-badges{display:flex;flex-wrap:wrap;gap:6px}
.related-meta{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#6f7690}
.related-go{color:#aab1ff;font-weight:700}
body.light .related-card{background:#fff;border-color:var(--border)}
body.light .related-card:hover{border-color:#c5c8ef;box-shadow:0 10px 28px rgba(106,92,240,.12)}
body.light .related-name{color:#252838}
body.light .related-meta{color:#9aa0b2}
body.light .related-go{color:var(--accent)}
@media(max-width:760px){.related-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.related-card{transition:none}}

/* 首页 最新更新 / 热门排行 */
.home-rank{margin-top:24px;background:var(--bg-card);border:1px solid var(--border);border-radius:18px;padding:18px 20px}
.home-rank-head{display:flex;align-items:baseline;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.home-rank-head h3{font-size:17px;font-weight:800;color:var(--text-main);display:flex;align-items:center;gap:8px}
.home-rank-sub{font-size:12px;color:var(--text-muted)}
.home-rank-list{display:flex;flex-direction:column}
.hot-list{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
.rank-row{display:flex;align-items:center;gap:10px;padding:10px 8px;border:none;background:transparent;border-bottom:1px dashed var(--border);cursor:pointer;text-align:left;font-family:inherit;min-width:0}
.rank-row:last-child{border-bottom:none}
.rank-row:hover .rank-name{color:var(--accent)}
.rank-no{flex:none;width:22px;height:22px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:var(--text-muted);background:rgba(128,128,160,.14)}
.rank-no.top{color:#fff;background:linear-gradient(135deg,#ff8a3d,#ff5e62)}
.rank-name{flex:1;min-width:0;font-size:14px;font-weight:600;color:var(--text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rank-meta{flex:none;font-size:12px;color:var(--text-muted);white-space:nowrap}
@media(max-width:760px){.hot-list{grid-template-columns:1fr}.home-rank{padding:14px}}

/* 底部固定条（开通会员 / 登录引导） */
.bottom-bar{position:fixed;left:50%;transform:translateX(-50%);bottom:14px;z-index:80;width:min(720px,calc(100% - 24px));display:flex;align-items:center;gap:12px;padding:12px 16px;background:rgba(18,23,42,.92);backdrop-filter:blur(10px);border:1px solid rgba(133,139,255,.35);border-radius:16px;box-shadow:0 14px 40px rgba(0,0,0,.4);animation:fadeIn .25s ease}
.bb-text{flex:1;min-width:0;font-size:13px;font-weight:600;color:#eef1fb;line-height:1.4}
.bottom-bar .button{white-space:nowrap;flex:none}
.bottom-bar .text-button{color:#aab1ff;white-space:nowrap;flex:none}
.bb-close{flex:none;width:28px;height:28px;border-radius:50%;border:none;background:rgba(255,255,255,.1);color:#cdd3ea;font-size:15px;cursor:pointer;line-height:1}
.bb-close:hover{background:rgba(255,255,255,.2)}
body.has-bottom-bar footer{padding-bottom:76px}
body.light .bottom-bar{background:rgba(255,255,255,.94);border-color:#d9dcf0;box-shadow:0 14px 40px rgba(106,92,240,.18)}
body.light .bb-text{color:#252838}
body.light .bottom-bar .text-button{color:var(--accent)}
body.light .bb-close{background:#eef0fa;color:#5a6072}
@media(max-width:640px){.bottom-bar{flex-wrap:wrap;gap:8px;padding:10px 12px;bottom:10px}.bb-text{width:100%;font-size:12px}}

/* 会员权益对比表 */
.compare-table{width:100%;border-collapse:collapse;margin:6px 0 18px;font-size:13px}
.compare-table th,.compare-table td{padding:10px 8px;border-bottom:1px solid var(--border);text-align:left;color:var(--text-main);line-height:1.5}
.compare-table th{font-size:13px;color:var(--text-muted);font-weight:600}
.compare-table .vip-col{color:#f5c97b;font-weight:700}
.compare-table td:first-child{color:var(--text-muted)}
@media(max-width:640px){.compare-table{font-size:12px}.compare-table th,.compare-table td{padding:8px 4px}}

/* 新用户 3 步引导 */
.guide-step{text-align:center}
.guide-dots{display:flex;justify-content:center;gap:6px;margin:14px 0 18px}
.guide-dots i{width:8px;height:8px;border-radius:50%;background:var(--border)}
.guide-dots i.on{background:var(--accent);width:20px;border-radius:5px}
.guide-btns{display:flex;gap:10px;justify-content:center}
.guide-btns .form-button{margin:0}

/* 移动端防横向滚动兜底 */
@media(max-width:640px){
  .hero-copy h1{font-size:30px}
  .stats{grid-template-columns:1fr 1fr}
  .invite-board{max-width:100%}
  .uc-table{font-size:12px}
  .catalog-actions{flex-wrap:wrap}
}
.bottom-bar[hidden]{display:none!important}

/* ===== 夜间模式可读性修复：最新更新 / 热门排行 / 限时免费 ===== */
.home-rank{background:rgba(21,28,40,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(0,255,136,.16);box-shadow:0 10px 32px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.05)}
.home-rank-head h3{color:#00ff88;text-shadow:0 0 16px rgba(0,255,136,.45)}
.home-rank-sub{color:#8fa0b5}
.rank-row{border-bottom:1px dashed rgba(255,255,255,.09);border-radius:10px;transition:background .18s ease,box-shadow .18s ease}
.rank-row:hover{background:rgba(0,255,136,.07);box-shadow:0 0 18px rgba(0,255,136,.1)}
.rank-name{color:#f2f6ff;text-shadow:0 1px 2px rgba(0,0,0,.4)}
.rank-row:hover .rank-name{color:#00ff88}
.rank-meta{color:#93a0b4}
.rank-no{background:rgba(255,255,255,.08);color:#8fa0b5}
.rank-no.top{background:linear-gradient(135deg,#ff8a3d,#ff5e62);color:#fff;box-shadow:0 0 12px rgba(255,110,80,.5)}
/* 白天模式 */
body.light .home-rank{background:#fff;border-color:#e8eaf1;box-shadow:0 8px 24px rgba(70,60,180,.06)}
body.light .home-rank-head h3{color:#565de6;text-shadow:none}
body.light .home-rank-sub{color:#838798}
body.light .rank-row{border-bottom-color:#eef0f6}
body.light .rank-row:hover{background:#f6f7ff;box-shadow:none}
body.light .rank-row:hover .rank-name{color:#565de6}
body.light .rank-name{color:#252838;text-shadow:none}
body.light .rank-meta{color:#838798}
body.light .rank-no{background:#f2f3f9;color:#838798}

/* 新 / 热 / 限免 徽标 */
.badge-new{background:rgba(255,77,94,.16);border:1px solid rgba(255,77,94,.45);color:#ff6b7a;font-weight:700;animation:newPulse 1.6s ease-in-out infinite}
.badge-hot::before{content:"🔥";margin-right:3px}
body.light .badge-new{background:#fff0f1;border-color:#ffc9ce;color:#e0344a}
@keyframes newPulse{0%,100%{opacity:1}50%{opacity:.55}}

/* 卡片悬浮上浮加强 */
.tech-card:hover{transform:translateY(-5px)}



/* ===== 需求 1：回到顶部按钮 ===== */
.back-to-top {
  position: fixed;
  right: 24px;
  bottom: 24px;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: rgba(21, 28, 40, 0.88);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(0, 255, 136, 0.35);
  color: #00ff88;
  font-size: 20px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 85;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4), 0 0 12px rgba(0, 255, 136, 0.2);
  transition: transform 0.22s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, bottom 0.25s ease;
}
.back-to-top:hover {
  transform: translateY(-4px) scale(1.06);
  background: rgba(0, 255, 136, 0.16);
  border-color: #00ff88;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45), 0 0 20px rgba(0, 255, 136, 0.4);
}
.back-to-top:active {
  transform: translateY(0) scale(0.96);
}
.back-to-top[hidden] {
  display: none !important;
}
body.has-bottom-bar .back-to-top {
  bottom: 86px;
}
body.light .back-to-top {
  background: rgba(255, 255, 255, 0.95);
  border-color: rgba(86, 93, 230, 0.35);
  color: #565de6;
  box-shadow: 0 6px 20px rgba(70, 60, 180, 0.15);
}
body.light .back-to-top:hover {
  background: #f6f7ff;
  border-color: #565de6;
  box-shadow: 0 8px 24px rgba(70, 60, 180, 0.25);
}
@media (max-width: 768px) {
  .back-to-top {
    right: 16px;
    bottom: 20px;
    width: 42px;
    height: 42px;
    font-size: 18px;
  }
  body.has-bottom-bar .back-to-top {
    bottom: 78px;
  }
}

/* ===== 需求 4：最新 / 热门 Tab 切换 ===== */
.home-rank-tabs {
  margin-top: 16px;
  margin-bottom: 24px;
}
.home-rank-tabs-head, .home-rank-tabs .home-rank-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.rank-tab-nav {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(10, 15, 20, 0.6);
  padding: 4px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.rank-tab-btn {
  background: transparent;
  border: none;
  color: #93a0b4;
  font-size: 14px;
  font-weight: 600;
  padding: 6px 14px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.rank-tab-btn:hover {
  color: #f2f6ff;
}
.rank-tab-btn.active {
  background: rgba(0, 255, 136, 0.16);
  color: #00ff88;
  font-weight: 700;
  box-shadow: 0 0 12px rgba(0, 255, 136, 0.25);
  border: 1px solid rgba(0, 255, 136, 0.35);
}
body.light .rank-tab-nav {
  background: #f2f3f9;
  border-color: #e8eaf1;
}
body.light .rank-tab-btn {
  color: #838798;
}
body.light .rank-tab-btn:hover {
  color: #252838;
}
body.light .rank-tab-btn.active {
  background: #fff;
  color: #565de6;
  border: 1px solid rgba(86, 93, 230, 0.25);
  box-shadow: 0 2px 8px rgba(70, 60, 180, 0.1);
}

/* 首页顶部布局细节间距 */
.ads-section-wrap {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: 16px 0;
}

/* ===== 紧急修复轮：语义变量补定义（此前 --text-main 等被引用但未定义，导致卡片背景透明、文字融入背景） ===== */
:root{--text-main:#f2f6ff;--text-muted:#93a0b4;--bg-card:rgba(21,28,40,.78);--bg-body:rgba(10,15,20,.6)}
body.light{--text-main:#252838;--text-muted:#838798;--bg-card:#ffffff;--bg-body:#f6f7fb}

/* ===== 恢复顶部 Hero 大横幅 ===== */
.hero{margin:26px 0 20px}
.hero::before{z-index:1;inset:0 0 auto 0;height:2px}
.hero-copy h1{margin-top:14px}
@media(max-width:760px){.hero{margin:16px 0 14px}}

/* ===== 邀请排行榜：样式收敛到 CSS，无缝滚动由 JS 驱动 transform ===== */
.invite-leaderboard-section{margin-top:40px}
.invite-title{font-size:18px;font-weight:700;margin:0 0 16px;color:var(--text-main);display:flex;align-items:center;gap:8px}
.invite-title>span{font-size:20px}
.invite-board{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:14px 16px;overflow:hidden;height:210px;position:relative}
.invite-list{display:flex;flex-direction:column;gap:10px;will-change:transform}
.invite-half{display:flex;flex-direction:column;gap:10px}
.invite-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 14px;background:var(--bg-body);border-radius:12px;border:1px solid var(--border);min-height:46px;box-sizing:border-box}
.invite-item-left{display:flex;align-items:center;gap:12px;min-width:0;flex:1}
.invite-rank{font-weight:800;width:26px;flex-shrink:0;color:var(--text-muted);font-size:14px;text-align:center}
.invite-rank.top{color:#f5b942}
.invite-name{font-weight:600;color:var(--text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}
.invite-count{color:var(--text-muted);font-size:13px;flex-shrink:0;white-space:nowrap}
.invite-count strong{color:var(--accent);font-weight:800;margin:0 2px}
.invite-empty{text-align:center;color:var(--text-muted);padding:24px 12px;font-size:13px;line-height:1.8}

/* ===== 新手引导弹窗底部：跳过引导 + 今日不再提示 ===== */
.guide-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px;flex-wrap:wrap}
.guide-mute{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted);cursor:pointer;margin:0;user-select:none}
.guide-mute input{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;margin:0}

/* ===== 底部 VIP 开通横幅（深色卡片，全主题统一深色） ===== */
.vip-banner{margin-top:46px;position:relative;overflow:hidden;background:linear-gradient(120deg,#191d33 0%,#12152b 55%,#0d1020 100%);border:1px solid rgba(139,142,235,.28);border-radius:18px;padding:26px 30px 0;box-shadow:0 16px 46px rgba(9,12,32,.45)}
.vip-banner::before{content:"";position:absolute;inset:0;background:radial-gradient(420px 160px at 88% -30%,rgba(139,142,235,.28),transparent 70%),radial-gradient(300px 140px at 6% 120%,rgba(86,93,230,.18),transparent 70%);pointer-events:none}
.vip-banner-top{position:relative;display:flex;align-items:center;gap:18px}
.vip-banner .member-mark{display:grid;place-items:center;width:52px;height:52px;border-radius:12px;border:1px solid rgba(201,168,106,.4);color:#c9a86a;font-size:32px;background:rgba(255,255,255,.06);flex-shrink:0}
.vip-banner-copy{flex:1;min-width:0}
.vip-banner-title{font-size:22px;font-weight:800;color:#f4f5ff;margin:0 0 8px;letter-spacing:.2px}
.vip-banner-desc{font-size:14px;line-height:1.8;color:#a9aecb;margin:0}
.vip-banner-actions{display:flex;flex-direction:column;gap:10px;flex-shrink:0}
.vip-pay-btn{background:linear-gradient(135deg,#4f7cff,#3b5fe0);color:#fff;border:0;padding:12px 26px;font-weight:700;box-shadow:0 6px 20px rgba(63,102,255,.35);white-space:nowrap}
.vip-pay-btn:hover{background:linear-gradient(135deg,#3f6cf2,#2f52d0)}
.vip-redeem-btn{background:rgba(255,255,255,.07);color:#c6cce0;border:1px solid rgba(255,255,255,.16);padding:12px 26px;white-space:nowrap}
.vip-redeem-btn:hover{background:rgba(255,255,255,.13)}
.vip-banner-foot{position:relative;margin:18px -30px 0;padding:13px 30px;border-top:1px solid rgba(255,255,255,.08);font-size:12px;color:#7d84a3;text-align:center;letter-spacing:.3px}
@media(max-width:760px){.vip-banner{padding:20px 18px 0;margin-top:30px}.vip-banner-top{flex-wrap:wrap}.vip-banner-title{font-size:18px}.vip-banner-desc{font-size:13px}.vip-banner-actions{width:100%;flex-direction:row}.vip-banner-actions .button{flex:1;padding:12px 10px}.vip-banner-foot{margin:16px -18px 0;padding:12px 18px;font-size:11px}}

/* ===== VIP 开通弹窗 ===== */
.vip-plans{display:flex;flex-direction:column;gap:12px;margin-top:18px}
.vip-plan{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid rgba(128,133,160,.35);border-radius:12px;cursor:pointer;width:100%;background:transparent;color:inherit;transition:border-color .15s,box-shadow .15s}
.vip-plan:hover{border-color:#8b8eff}
.vip-plan.selected{border-color:#5f6cff;box-shadow:0 0 0 3px rgba(95,108,255,.18)}
.vip-plan-info{flex:1;min-width:0;text-align:left}
.vip-plan-name{font-size:16px;font-weight:700;display:flex;align-items:center;gap:8px}
.vip-plan-sub{display:block;font-size:12px;opacity:.65;margin-top:4px;font-weight:400}
.vip-plan-price{font-size:21px;font-weight:800;color:#e8a94c;white-space:nowrap;font-variant-numeric:tabular-nums}
.vip-plan-price small{font-size:13px;font-weight:600;margin-right:1px}
.vip-plan-tag{font-size:10px;background:linear-gradient(135deg,#e8b45c,#d18f2e);color:#231a06;border-radius:4px;padding:2px 6px;font-weight:700}
.vip-pay-method{display:flex;align-items:center;gap:10px;margin-top:16px;padding:12px 14px;border:1px dashed rgba(128,133,160,.4);border-radius:10px;font-size:13px;opacity:.85}
.vip-pay-logo{display:grid;place-items:center;width:26px;height:26px;border-radius:6px;background:#1677ff;color:#fff;font-size:14px;font-weight:700;flex-shrink:0}
.vip-pay-submit{margin-top:18px}
.vip-pay-note{text-align:center;margin-top:10px}
.vip-tiers{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.vip-tier{display:flex;align-items:center;gap:12px;padding:13px 16px;border:1px solid rgba(128,133,160,.35);border-radius:12px}
.vip-tier-info{flex:1;min-width:0}
.vip-tier-name{font-size:15px;font-weight:700;display:block}
.vip-tier-desc{display:block;font-size:12px;opacity:.65;margin-top:3px}
.vip-tier-btn{white-space:nowrap;font-variant-numeric:tabular-nums}
.vip-tier-closed{font-size:12px;opacity:.5;white-space:nowrap}
.vip-points-balance{margin-top:16px}
.vip-points-error{margin-top:12px}
.contact-copy{cursor:pointer;border:0;width:100%}

/* ===== 邮箱激活弹窗 ===== */
.activate-code{text-align:center;font:700 22px ui-monospace,monospace;letter-spacing:8px}

/* ===== 注册协议勾选 ===== */
.agree-row{display:flex;align-items:flex-start;gap:8px;margin-top:14px;font-size:12px;color:#8d93a4;line-height:1.6}
.agree-row input{margin-top:2px;accent-color:var(--accent);flex-shrink:0}
.agree-link{border:0;background:none;color:var(--accent);padding:0;font-size:12px;cursor:pointer}
.info-dialog-body{max-height:46vh;overflow-y:auto}

/* ===== v66 搜索联想下拉 + 回车定位 + 固定放大镜 ===== */
.search-submit{border:0;background:none;color:#7d9389;font-size:26px;padding:0 2px;cursor:pointer;line-height:1;flex-shrink:0;transition:color .15s}
.search-submit:hover{color:#00ff88}
.search-suggest{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:45;display:none;background:rgba(15,21,27,.97);border:1px solid rgba(0,255,136,.22);border-radius:12px;padding:8px;box-shadow:0 18px 48px rgba(0,0,0,.55);backdrop-filter:blur(10px);max-height:340px;overflow-y:auto}
.search-suggest.open{display:block}
.search-suggest:empty{display:none}
.suggest-item{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:11px 12px;border:0;background:none;border-radius:8px;text-align:left;color:#e7f0eb;font-size:14px;cursor:pointer}
.suggest-item:hover{background:rgba(0,255,136,.09)}
.suggest-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.suggest-name mark{background:none;color:#00ff88;font-weight:700}
.suggest-meta{flex-shrink:0;font-size:12px;color:#6e8078;white-space:nowrap}
.suggest-empty{padding:16px;text-align:center;font-size:13px;color:#6e8078}
.modal-search-wrap{margin-top:16px;height:52px}
.modal-search-suggest{position:static;margin-top:10px;max-height:280px;box-shadow:none}
.search-fab{position:fixed;top:16px;right:16px;z-index:60;width:46px;height:46px;border-radius:50%;background:rgba(15,21,27,.92);border:1px solid rgba(0,255,136,.4);color:#00ff88;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(0,0,0,.5);backdrop-filter:blur(8px);cursor:pointer;transition:transform .18s,box-shadow .18s}
.search-fab:hover{transform:scale(1.07);box-shadow:0 12px 34px rgba(0,0,0,.55),0 0 18px rgba(0,217,126,.25)}
.search-fab[hidden]{display:none}
.search-fab svg{width:20px;height:20px}
@media(max-width:760px){.search-fab{top:12px;right:12px;width:44px;height:44px}}
body.light .search-submit{color:#999caf}
body.light .search-submit:hover{color:#5c45df}
body.light .search-suggest{background:#fff;border-color:#dfe2ee;box-shadow:0 18px 48px rgba(53,51,87,.15)}
body.light .suggest-item{color:#33384a}
body.light .suggest-item:hover{background:#edeef7}
body.light .suggest-name mark{color:#5c45df}
body.light .suggest-meta,body.light .suggest-empty{color:#9297a5}
body.light .search-fab{background:#fff;border-color:#dfe2ee;color:#5c45df;box-shadow:0 10px 26px rgba(53,51,87,.16)}

/* ===== VIP 在线支付 ===== */
.vip-channels{display:flex;gap:12px;margin-top:14px}
.vip-channel{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 10px;border:2px solid rgba(128,133,160,.3);border-radius:14px;background:rgba(255,255,255,.04);color:inherit;cursor:pointer;font-size:15px;font-weight:600;transition:border-color .15s,box-shadow .15s,background .15s}
.vip-channel:hover{border-color:#8b8eff;background:rgba(255,255,255,.07)}
.vip-channel.selected{border-color:#8b8eff;box-shadow:0 0 0 2px rgba(139,142,255,.45);background:rgba(139,142,255,.1)}
.vip-channel:only-child{max-width:60%;margin:0 auto}
.vip-channel-logo{width:34px;height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:#fff;background:#1677ff}
.vip-channel-logo.wechat{background:#07c160}
.vip-channel-tip{font-size:12px;opacity:.6;font-weight:400}
.vip-pay-submit{margin-top:16px;background:#07c160 !important;border:none !important;font-size:16px !important;font-weight:700 !important}
.vip-pay-submit:hover{background:#09d06b !important}
.vip-pay-note{text-align:center;margin-top:10px;font-size:12px;opacity:.6}
.pay-qr{display:block;margin:14px auto 4px;width:220px;height:220px;border-radius:12px;background:#fff;padding:8px}
.pay-wait-status{margin-top:14px}
.welcome-pop{text-align:center}
.welcome-perk{font-size:17px;font-weight:700;color:#e8a94c;margin:6px 0 10px}
.sign-card{background:linear-gradient(160deg,#1b1e2e,#12141f);border:1px solid rgba(232,169,76,.35);border-radius:14px;padding:18px;margin:-4px 0 4px}
.sign-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.sign-badge{font-size:12px;font-weight:700;color:#e8a94c;background:rgba(232,169,76,.14);border:1px solid rgba(232,169,76,.4);border-radius:20px;padding:3px 10px}
.sign-streak{font-size:12px;opacity:.75}
.sign-streak strong{color:#e8a94c;font-size:15px}
.sign-card h2{font-size:19px;margin:0 0 12px}
.sign-card h2 b{color:#e8a94c;font-size:24px;font-variant-numeric:tabular-nums}
.sign-extra{display:inline-block;margin-left:8px;font-size:12px;font-weight:700;color:#7ee2a8;background:rgba(126,226,168,.12);border-radius:6px;padding:2px 8px;vertical-align:middle}
.sign-week{display:flex;gap:6px;margin-bottom:12px}
.sign-week i{flex:1;height:6px;border-radius:3px;background:rgba(128,133,160,.3)}
.sign-week i.on{background:linear-gradient(90deg,#e8b45c,#d18f2e)}
.sign-card-hint{font-size:12px;opacity:.65;margin-bottom:14px}

/* 积分充值 */
.recharge-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 12px; margin: 18px 0 8px; }
.recharge-pkg { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 18px 8px 14px; border: 1px solid rgba(201, 162, 87, .28); border-radius: 12px; background: rgba(20, 24, 38, .6); color: #e6e8ee; cursor: pointer; transition: border-color .2s, transform .2s; }
.recharge-pkg b { font-size: 22px; color: #ffd37a; }
.recharge-pkg span { font-size: 12px; color: #9aa3b8; }
.recharge-pkg em { font-style: normal; font-size: 15px; color: #e6e8ee; margin-top: 6px; }
.recharge-pkg.on { border-color: #ffd37a; transform: translateY(-2px); box-shadow: 0 6px 18px rgba(201, 162, 87, .25); }
.recharge-pay { margin-top: 12px; }
.recharge-pay-tip { font-size: 14px; color: #cfd6e4; text-align: center; margin-bottom: 4px; }
.uc-invite-link { display: flex; gap: 8px; margin-top: 10px; }
.uc-invite-link .field { flex: 1; font-size: 12px; }

/* 通知铃铛 */
.notice-bell { position: relative; font-size: 17px; }
.notice-dot { position: absolute; top: 2px; right: 2px; width: 8px; height: 8px; border-radius: 50%; background: #e5484d; }
.notice-dot[hidden] { display: none; }
.notice-list { display: flex; flex-direction: column; gap: 10px; max-height: 50vh; overflow-y: auto; }
.notice-item { padding: 12px 14px; border: 1px solid var(--line); border-radius: 10px; cursor: pointer; transition: background .15s; }
.notice-item:hover { background: var(--bg-soft, rgba(255,255,255,.03)); }
.notice-item.unread { border-color: rgba(96,165,250,.5); }
.notice-item-head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.notice-item-head strong { flex: 1; min-width: 0; }
.notice-item-head time { margin-left: auto; font-size: 12px; opacity: .6; }
.notice-item p { margin: 6px 0 0; font-size: 13px; opacity: .8; }
.notice-kind { font-size: 11px; padding: 1px 6px; border-radius: 4px; background: rgba(96,165,250,.15); color: #60a5fa; }
.notice-kind.sys { background: rgba(255,255,255,.08); color: inherit; opacity: .8; }
.notice-unread-dot { width: 8px; height: 8px; border-radius: 50%; background: #e5484d; flex-shrink: 0; }
.notice-actions { display: flex; justify-content: flex-end; margin-bottom: 10px; }
.uc-dnd-row { display: flex; align-items: center; gap: 10px; }
.uc-dnd-row .field { flex: 1; min-width: 0; }

/* 个人中心头部 */
.uc-profile { display: flex; align-items: center; gap: 14px; padding: 16px 0 4px; }
.uc-avatar-lg { width: 56px; height: 56px; font-size: 22px; flex-shrink: 0; border-radius: 50%; overflow: hidden; display: inline-flex; align-items: center; justify-content: center; background: var(--bg-soft, rgba(255,255,255,.06)); }
.uc-avatar-lg img { width: 100%; height: 100%; object-fit: cover; }
.uc-profile-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.uc-nickname { font-size: 17px; }
.uc-profile-info .uc-email { font-size: 12px; opacity: .6; }
.uc-badges { display: flex; gap: 6px; flex-wrap: wrap; }
.uc-role-normal { background: rgba(255,255,255,.08); }
.badge-vip-timed { background: linear-gradient(135deg, #f59e0b, #d97706); }
.uc-balance { display: flex; align-items: center; justify-content: space-between; }
.uc-card-links { display: flex; gap: 16px; margin-top: 8px; }

/* 签到三阶段 */
.uc-stages { display: flex; align-items: center; gap: 6px; margin: 12px 0 8px; }
.uc-stage { display: flex; flex-direction: column; align-items: center; gap: 2px; font-size: 11px; opacity: .5; }
.uc-stage i { width: 30px; height: 30px; border-radius: 50%; border: 2px solid var(--line); display: inline-flex; align-items: center; justify-content: center; font-style: normal; font-weight: 600; }
.uc-stage.done { opacity: 1; }
.uc-stage.done i { border-color: #60a5fa; background: rgba(96,165,250,.15); color: #60a5fa; }
.uc-stage-line { flex: 1; height: 2px; background: var(--line); }

/* 限购已购状态 */
.recharge-pkg:disabled { opacity: .55; cursor: not-allowed; }
.recharge-soldout { display: inline-block; font-style: normal; font-size: 11px; padding: 1px 8px; border-radius: 10px; background: rgba(255,255,255,.12); color: inherit; margin-top: 4px; }
.vip-plan:disabled { opacity: .55; cursor: not-allowed; }
.vip-plan-soldout { font-size: 11px; padding: 1px 8px; border-radius: 10px; background: rgba(255,255,255,.12); margin-left: 8px; }

/* 积分兑换文档列表 */
.pd-search { margin-bottom: 12px; }
.pd-tag { font-size: 11px; padding: 1px 8px; border-radius: 10px; background: rgba(255,200,60,.18); color: #ffd67a; margin-left: 8px; vertical-align: middle; }
.pd-unlocked { font-size: 12px; padding: 3px 12px; border-radius: 10px; background: rgba(120,255,170,.14); color: #8fe6ae; flex-shrink: 0; }

@keyframes spin-anim { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
.loading-spinner {
  display: inline-block;
  width: 14px;
  height: 14px;
  border: 2px solid rgba(255, 255, 255, 0.35);
  border-top-color: currentColor;
  border-radius: 50%;
  animation: spin-anim 0.8s linear infinite;
  vertical-align: middle;
  margin-right: 6px;
}

/* ===== 站内原生弹窗二维码卡片 ===== */
.pay-qr-card {
  margin: 16px auto 8px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(139, 142, 255, 0.28);
  border-radius: 16px;
  padding: 16px 14px;
  text-align: center;
  max-width: 320px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);
}
.pay-qr-img {
  display: block;
  margin: 0 auto 10px;
  width: 210px;
  height: 210px;
  border-radius: 12px;
  background: #ffffff;
  padding: 8px;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.35);
}
.pay-qr-loading {
  width: 210px;
  height: 210px;
  margin: 0 auto 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.03);
  border: 1px dashed rgba(255, 255, 255, 0.25);
  border-radius: 12px;
  color: #a0a5b8;
  font-size: 13px;
  gap: 10px;
}
.pay-qr-amount {
  font-size: 18px;
  font-weight: 700;
  color: #e8a94c;
  margin-bottom: 4px;
}
.pay-qr-amount strong {
  font-size: 22px;
  color: #f5b041;
}
.pay-qr-tip {
  font-size: 13px;
  opacity: 0.9;
  margin-bottom: 6px;
  font-weight: 500;
}
.pay-qr-waiting {
  font-size: 12px;
  color: #8b8eff;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-top: 4px;
}

/* ===== 注册验证码输入框与发送按钮 ===== */
.code-field-wrap{display:flex;gap:8px;align-items:stretch;margin-bottom:2px}
.code-field-wrap input{flex:1;min-width:0;margin-bottom:0}
.code-field-wrap button{flex-shrink:0;height:42px;line-height:42px;padding:0 14px}

/* ===== 全站文字统一白色（微信号/公众号/链接保持紫色，按钮保持绿色，仅深色模式） ===== */
body:not(.light) .brand,
body:not(.light) .text-button,
body:not(.light) .text-button:hover,
body:not(.light) h1,
body:not(.light) h2,
body:not(.light) h3,
body:not(.light) p,
body:not(.light) label,
body:not(.light) .field,
body:not(.light) input,
body:not(.light) select,
body:not(.light) textarea,
body:not(.light) .eyebrow,
body:not(.light) .hero-copy > p,
body:not(.light) .hero-points,
body:not(.light) .stats strong,
body:not(.light) .stats div > span,
body:not(.light) .stats p,
body:not(.light) .section-kicker,
body:not(.light) .section-top h2,
body:not(.light) .count,
body:not(.light) .chip,
body:not(.light) .list-heading,
body:not(.light) .subtle,
body:not(.light) kbd,
body:not(.light) .tech-card h3,
body:not(.light) .tech-card p,
body:not(.light) .card-bottom,
body:not(.light) .card-views,
body:not(.light) .card-category,
body:not(.light) .badge,
body:not(.light) .badge-hot,
body:not(.light) .badge-vip,
body:not(.light) .badge-category,
body:not(.light) .badge-pin,
body:not(.light) .membership,
body:not(.light) .member-copy,
body:not(.light) .member-copy .section-kicker,
body:not(.light) .member-lines p,
body:not(.light) .member-copy h2,
body:not(.light) .member-copy p,
body:not(.light) .note,
body:not(.light) .note > span,
body:not(.light) .footer-brand,
body:not(.light) .footer p,
body:not(.light) .footer h3,
body:not(.light) .footer-contact,
body:not(.light) .copyright,
body:not(.light) .copyright > span,
body:not(.light) .empty-state,
body:not(.light) .ad span,
body:not(.light) dialog,
body:not(.light) dialog p,
body:not(.light) dialog h2,
body:not(.light) .modal-close,
body:not(.light) .form-foot,
body:not(.light) .error,
body:not(.light) .hint,
body:not(.light) .doc-intro-title,
body:not(.light) .doc-intro-meta,
body:not(.light) .doc-intro-text p,
body:not(.light) .doc-intro-section h2,
body:not(.light) .doc-cta-note,
body:not(.light) .doc-cta-hint,
body:not(.light) .doc-copy-hint,
body:not(.light) .doc-intro-img-fallback,
body:not(.light) .catalog-summary #result-label,
body:not(.light) .catalog-summary #result-caption,
body:not(.light) .catalog-page-size,
body:not(.light) .catalog-pagination,
body:not(.light) .catalog-options,
body:not(.light) .catalog-options select,
body:not(.light) .catalog-pagination input,
body:not(.light) .catalog-pagination label,
body:not(.light) .search-wrap input,
body:not(.light) .search-wrap input::placeholder {
  color: #ffffff !important;
}
/* 保持紫色：微信号 / 公众号名 / 各类链接 */
body:not(.light) .footer-contact strong,
body:not(.light) .footer-official,
body:not(.light) .contact-number,
body:not(.light) .card-cta,
body:not(.light) .card-meta,
body:not(.light) .quiet-link,
body:not(.light) .quiet-link:hover,
body:not(.light) .form-foot button,
body:not(.light) .form-foot .inline-copy,
body:not(.light) .agree-link,
body:not(.light) .copyright a,
body:not(.light) .catalog-member-link {
  color: #a78bfa !important;
}

/* ===== v33 深色模式：彻底清除所有残留白色背景（前台各页面） ===== */
/* 浏览器引导卡片、批量操作栏输入框、目录筛选下拉、分页输入框 */
body:not(.light) .browser-guide-card,
body:not(.light) .docs-batch-bar .field,
body:not(.light) .catalog-options select,
body:not(.light) .catalog-pagination input {
  background: rgba(20,30,40,.85) !important;
  border-color: rgba(0,255,136,.2) !important;
  color: #e6f2ec !important;
}
body:not(.light) .browser-guide-card h3,
body:not(.light) .browser-guide-card p,
body:not(.light) .browser-guide-card strong { color: #ffffff !important; }
body:not(.light) .browser-guide-close {
  background: rgba(0,255,136,.12) !important;
  color: #00ff88 !important;
  border: 1px solid rgba(0,255,136,.3) !important;
}
/* 目录筛选下拉选项（原生 option 在深色下默认黑底，统一深色） */
body:not(.light) .catalog-options select option,
body:not(.light) .catalog-page-size select option {
  background: #101a24 !important;
  color: #c8d4cd !important;
}
/* 通用兜底：任何带白底的卡片/面板在深色下强制深色 */
body:not(.light) .panel,
body:not(.light) .box,
body:not(.light) .dropdown,
body:not(.light) .popover,
body:not(.light) .menu {
  background: rgba(20,30,40,.85) !important;
  border-color: rgba(0,255,136,.16) !important;
  color: #e6f2ec !important;
}

/* ===== v34 深色模式：个人中心/弹窗/积分组件全面深色化，重要数字亮绿 ===== */
/* 个人中心卡片（积分余额/签到/邀请/兑换/记录等） */
body:not(.light) .uc-card{background:rgba(20,30,40,.85);border:1px solid rgba(0,255,136,.16)}
body:not(.light) .uc-card h3{color:#ffffff}
body:not(.light) .uc-card p{color:#8fa399}
body:not(.light) .uc-nickname{color:#ffffff}
body:not(.light) .uc-email{color:#8fa399}
body:not(.light) .uc-role{color:#00ff88;border-color:rgba(0,255,136,.45)}
body:not(.light) .uc-role-normal{background:rgba(0,255,136,.08)}
body:not(.light) .uc-quota{color:#00ff88}
body:not(.light) .uc-quota small{color:#8fa399}
body:not(.light) .uc-progress{background:rgba(0,255,136,.12)}
body:not(.light) .uc-progress-text{color:#8fa399}
body:not(.light) .uc-stage{color:#8fa399}
body:not(.light) .uc-stage i{border-color:rgba(0,255,136,.25)}
body:not(.light) .uc-stage.done i{border-color:#00d97e;background:rgba(0,255,136,.14);color:#00ff88}
body:not(.light) .uc-stage-line{background:rgba(0,255,136,.14)}
body:not(.light) .uc-card-links .text-button{color:#9fb8ab}
/* 积分/充值记录表格 */
body:not(.light) .uc-table{color:#dfe8e2}
body:not(.light) .uc-table th{color:#8fa399;border-bottom-color:rgba(0,255,136,.16)}
body:not(.light) .uc-table td{border-bottom-color:rgba(0,255,136,.1)}
body:not(.light) .uc-table td.plus{color:#00ff88}
body:not(.light) .uc-table td.minus{color:#f0a672}
body:not(.light) .uc-empty{color:#61746a}
body:not(.light) .uc-pager{color:#8fa399}
/* 解锁方式切换 tabs / 积分兑换卡 / 卡密行 */
body:not(.light) .gate-tabs{background:rgba(20,30,40,.85);border-color:rgba(0,255,136,.16)}
body:not(.light) .gate-tab{color:#9fb8ab}
body:not(.light) .gate-tab.on{background:linear-gradient(135deg,#00ff88,#00d97e);color:#04140c;box-shadow:0 3px 8px rgba(0,217,126,.25)}
body:not(.light) .gate-points-card{background:rgba(20,30,40,.85);border-color:rgba(0,255,136,.16)}
body:not(.light) .gate-points-stat{color:#c8d4cd}
body:not(.light) .gate-points-stat strong{color:#00ff88}
body:not(.light) .gate-points-tip{color:#8fa399}
body:not(.light) .gate-points-desc{color:#9fb8ab}
body:not(.light) .gate-buy{border-color:rgba(0,255,136,.22);color:#c8d4cd}
body:not(.light) .pd-row{background:rgba(20,30,40,.85);border-color:rgba(0,255,136,.16)}
body:not(.light) .pd-cost{color:#00ff88}
/* 会员兑换档位 */
body:not(.light) .vip-tier{background:rgba(20,30,40,.6);border-color:rgba(0,255,136,.18)}
body:not(.light) .vip-tier-name{color:#ffffff}
body:not(.light) .vip-points-balance strong{color:#00ff88}
/* 站内通知列表 */
body:not(.light) .notice-item{background:rgba(20,30,40,.7);border-color:rgba(0,255,136,.14)}
body:not(.light) .notice-item:hover{background:rgba(0,255,136,.06)}
body:not(.light) .notice-kind{background:rgba(0,255,136,.12);color:#7ee6b8}
/* 重要数字统一亮绿（覆盖此前白色规则） */
body:not(.light) .stats strong{color:#00ff88!important}
body:not(.light) .stats div:nth-child(2) strong{color:#00ff88!important}

/* ===== v35 白天模式补齐：个人中心/弹窗组件白底深字 ===== */
body.light .uc-card{background:#fff;border-color:#e7edfb}
body.light .uc-card h3{color:#252838}
body.light .uc-card p{color:#838798}
body.light .uc-nickname{color:#252838}
body.light .uc-email{color:#838798}
body.light .uc-role{color:#0f9d5e;border-color:#0f9d5e}
body.light .uc-role-normal{background:#eef3f9}
body.light .uc-quota{color:#0f9d5e}
body.light .uc-quota small{color:#838798}
body.light .uc-progress{background:#e8eaf2}
body.light .uc-progress-text{color:#838798}
body.light .uc-stage{color:#838798}
body.light .uc-stage i{border-color:#dfe3ee}
body.light .uc-stage.done i{border-color:#0f9d5e;background:rgba(15,157,94,.12);color:#0f9d5e}
body.light .uc-stage-line{background:#e8eaf2}
body.light .uc-table{color:#3c4358}
body.light .uc-table th{color:#838798;border-bottom-color:#e8eaf2}
body.light .uc-table td{border-bottom-color:#eef0f6}
body.light .uc-table td.plus{color:#0f9d5e}
body.light .uc-table td.minus{color:#c35662}
body.light .uc-empty{color:#a0a5b4}
body.light .uc-pager{color:#838798}
body.light .gate-tabs{background:#f4f5fa;border-color:#e2e4ed}
body.light .gate-tab{color:#6d7285}
body.light .gate-tab.on{background:linear-gradient(135deg,#00d97e,#00b862);color:#fff;box-shadow:0 3px 8px rgba(0,180,110,.25)}
body.light .gate-points-card{background:#f9f9fd;border-color:#e2e4ed}
body.light .gate-points-stat{color:#5b6071}
body.light .gate-points-stat strong{color:#0f9d5e}
body.light .gate-points-tip{color:#838798}
body.light .gate-points-desc{color:#6d7285}
body.light .gate-buy{border-color:#e2e4ed;color:#5b6071}
body.light .pd-row{background:#fff;border-color:#e7edfb}
body.light .pd-cost{color:#0f9d5e}
body.light .vip-tier{background:#fff;border-color:#e2e4ed}
body.light .vip-tier-name{color:#252838}
body.light .vip-points-balance strong{color:#0f9d5e}
body.light .notice-item{background:#fff;border-color:#e7edfb}
body.light .notice-item:hover{background:#f6f8fd}
body.light .notice-kind{background:rgba(86,93,230,.1);color:#565de6}
body.light .stats div:nth-child(2) strong{color:#0f9d5e}
.confirm-actions{display:flex;gap:12px;margin-top:24px}.confirm-actions .button{flex:1;min-width:0}
.notice-item.pinned{border-color:hsl(var(--primary));background:hsl(var(--primary)/0.06)}.notice-kind.pin{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}
