/* ===== 公文格式助手 v2 - CSS ===== */
:root {
  --red: #BE1E2D;
  --red-dark: #9a1825;
  --red-light: #fce4e6;
  --red-bg: #fef2f2;
  --blue: #1a3a5c;
  --blue-dark: #0f2440;
  --blue-light: #e8f0f8;
  --blue-bg: #f0f5fa;
  --bg: #f5f6f8;
  --card: #ffffff;
  --text: #1a1a2e;
  --text2: #5a5a72;
  --text3: #9090a8;
  --border: #d0d5dd;
  --border-light: #e5e7eb;
  --shadow: 0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
  --shadow-md: 0 4px 14px rgba(0,0,0,0.08);
  --shadow-lg: 0 10px 40px rgba(0,0,0,0.12);
  --radius: 12px;
  --radius-sm: 8px;
  --radius-xs: 6px;
  --transition: 0.2s ease;
  --max-w: 1280px;
  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  --font-song: "SimSun","STSong","Noto Serif CJK SC","Source Han Serif SC",serif;
  --font-hei: "SimHei","Microsoft YaHei","PingFang SC",sans-serif;
  --font-kai: "KaiTi","STKaiti","Noto Serif CJK SC",serif;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.6;min-height:100vh;display:flex;flex-direction:column}
a{color:var(--red);text-decoration:none}
a:hover{color:var(--red-dark)}

.container{max-width:var(--max-w);margin:0 auto;padding:0 20px}

/* ===== Header ===== */
.header{background:#fff;border-bottom:2px solid var(--red);position:sticky;top:0;z-index:100;box-shadow:0 2px 8px rgba(0,0,0,0.06)}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:60px}
.logo-link{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none}
.logo-link:hover{color:var(--text)}
.logo{display:flex;align-items:center;gap:10px}
.logo h1{font-size:1.3rem;font-weight:700;color:var(--red);letter-spacing:1px}
.nav-links{display:flex;gap:4px}
.nav-link{padding:8px 18px;border-radius:var(--radius-xs);color:var(--text2);font-size:0.9rem;font-weight:500;transition:var(--transition);letter-spacing:0.5px}
.nav-link:hover,.nav-link.active{background:var(--red-light);color:var(--red)}
.nav-link.active{font-weight:600}
.vip-link{background:linear-gradient(135deg,var(--red),#d43b3b);color:#fff!important;font-weight:600}
.vip-link:hover{background:#a01a26!important;color:#fff!important}
.mobile-menu-btn{display:none;background:none;border:none;font-size:1.5rem;cursor:pointer;padding:4px;color:var(--text)}
.mobile-nav{display:none;background:var(--card);border-top:1px solid var(--border-light);padding:8px}
.mobile-nav.open{display:flex;flex-wrap:wrap;gap:4px}
.mobile-nav .nav-link{flex:1;text-align:center;padding:10px;font-size:0.85rem}

/* ===== Hero ===== */
.hero{background:linear-gradient(135deg,var(--red) 0%,#d43b3b 50%,var(--blue) 100%);color:#fff;padding:50px 0 40px;text-align:center}
.hero-badge{display:inline-block;background:rgba(255,255,255,0.15);border:1px solid rgba(255,255,255,0.3);padding:3px 14px;border-radius:20px;font-size:0.78rem;margin-bottom:14px;letter-spacing:1px}
.hero-content h2{font-size:2rem;font-weight:700;margin-bottom:10px;line-height:1.3}
.hero-desc{font-size:1rem;opacity:0.92;line-height:1.7;max-width:620px;margin:0 auto 24px}
.hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* ===== Stats Bar ===== */
.stats-bar{background:var(--card);border-bottom:1px solid var(--border-light);padding:18px 0;text-align:center}
.stats-inner{display:flex;justify-content:center;gap:40px}
.stat-item{display:flex;flex-direction:column;align-items:center;gap:2px}
.stat-num{font-size:1.2rem;font-weight:700;color:var(--red)}
.stat-label{font-size:0.78rem;color:var(--text2)}

/* ===== Buttons ===== */
.btn{display:inline-flex;align-items:center;gap:5px;padding:9px 18px;border:none;border-radius:var(--radius-xs);font-size:0.9rem;font-weight:500;cursor:pointer;transition:var(--transition);font-family:var(--font);line-height:1.4;text-decoration:none;white-space:nowrap}
.btn:hover{transform:translateY(-1px);box-shadow:0 3px 10px rgba(0,0,0,0.12)}
.btn:active{transform:translateY(0)}
.btn-lg{padding:13px 28px;font-size:1rem}
.btn-sm{padding:5px 10px;font-size:0.8rem}
.btn-primary{background:#fff;color:var(--red)}.btn-primary:hover{background:var(--red-light)}
.btn-outline{background:transparent;border:2px solid rgba(255,255,255,0.7);color:#fff}.btn-outline:hover{background:rgba(255,255,255,0.15)}
.btn-secondary{background:var(--blue-light);color:var(--blue)}.btn-secondary:hover{background:#d0e4f5}
.btn-danger{background:#fee2e2;color:#b91c1c}.btn-danger:hover{background:#fecaca}
.btn-check{background:#ecfdf5;color:#065f46}.btn-check:hover{background:#d1fae5}
.btn-preview{background:#eef2ff;color:#3730a3}.btn-preview:hover{background:#e0e7ff}
.btn-export{background:#f0f9ff;color:#0369a1}.btn-export:hover{background:#e0f2fe}
.btn-copy{background:#f8fafc;color:#475569;border:1px solid var(--border-light)}.btn-copy:hover{background:#f1f5f9}
.btn-save{background:#fffbeb;color:#92400e;border:1px solid #fde68a}.btn-save:hover{background:#fef3c7}
.btn-ghost{background:none;color:var(--text2)}.btn-ghost:hover{background:var(--bg);color:var(--text)}

/* ===== Section Title ===== */
.section-title{text-align:center;padding:32px 0 24px}
.section-title h3{font-size:1.4rem;font-weight:700;color:var(--blue);margin-bottom:6px}
.section-title p{color:var(--text2);font-size:0.9rem}
.badge{display:inline-block;background:var(--red);color:#fff;font-size:0.7rem;font-weight:600;padding:2px 10px;border-radius:20px;vertical-align:middle;margin-left:6px}

/* ===== Document Grid ===== */
.doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;padding-bottom:40px}
.doc-card{background:var(--card);border-radius:var(--radius);padding:20px 18px;cursor:pointer;transition:var(--transition);border:2px solid transparent;box-shadow:var(--shadow);position:relative;overflow:hidden}
.doc-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--red);transform:scaleY(0);transition:var(--transition)}
.doc-card:hover{border-color:var(--border);box-shadow:var(--shadow-md);transform:translateY(-2px)}
.doc-card:hover::before{transform:scaleY(1)}
.doc-card-icon{font-size:1.8rem;margin-bottom:6px}
.doc-card h4{font-size:1rem;font-weight:600;color:var(--blue);margin-bottom:2px}
.doc-card .card-pinyin{font-size:0.72rem;color:#bbb;margin-bottom:6px}
.doc-card p{font-size:0.82rem;color:var(--text2);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

/* ===== Pages ===== */
.page{display:none}.page.active{display:block}

/* ===== Editor Container ===== */
.editor-container{padding:14px 20px 30px}

/* ===== Editor Toolbar ===== */
.editor-toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--card);border-radius:var(--radius) var(--radius) 0 0;border:1px solid var(--border-light);border-bottom:none;flex-wrap:wrap;gap:8px}
.toolbar-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.current-doc-type{font-weight:600;font-size:1rem;color:var(--blue)}
.auto-save-badge{font-size:0.72rem;color:var(--text3);background:var(--bg);padding:2px 8px;border-radius:10px}
.toolbar-right{display:flex;gap:4px;flex-wrap:wrap;align-items:center}
.toolbar-divider{width:1px;height:18px;background:var(--border-light);margin:0 4px}

/* ===== Editor Layout ===== */
.editor-layout{display:flex;gap:0;border:1px solid var(--border-light);border-top:none;border-radius:0 0 var(--radius) var(--radius);background:var(--card);min-height:calc(100vh - 280px)}

/* ===== Sidebar ===== */
.editor-sidebar{width:230px;flex-shrink:0;border-right:1px solid var(--border-light);background:#fafbfc;padding:14px;display:flex;flex-direction:column;gap:12px}
.doc-selector h3{font-size:0.9rem;font-weight:600;color:var(--blue);margin-bottom:10px;padding-bottom:8px;border-bottom:2px solid var(--red-light)}
.doc-type-list{display:flex;flex-direction:column;gap:2px;max-height:360px;overflow-y:auto}
.doc-type-list::-webkit-scrollbar{width:3px}
.doc-type-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}
.doc-type-item{display:flex;align-items:center;gap:7px;padding:7px 9px;border-radius:var(--radius-xs);cursor:pointer;font-size:0.84rem;color:var(--text2);transition:var(--transition);border:none;background:transparent;width:100%;text-align:left;font-family:var(--font)}
.doc-type-item:hover{background:var(--bg);color:var(--text)}
.doc-type-item.active{background:var(--red-light);color:var(--red);font-weight:600}
.doc-type-item .item-icon{font-size:1.1rem;flex-shrink:0}

/* ===== Doc Info Panel ===== */
.doc-info-panel{background:var(--card);border-radius:var(--radius-xs);padding:12px;border:1px solid var(--border-light);margin-top:auto}
.doc-info-panel h4{font-size:0.9rem;color:var(--blue);margin-bottom:4px}
.doc-info-panel p{font-size:0.78rem;color:var(--text2);line-height:1.5}
.doc-info-panel .struct-list{margin-top:8px;padding-left:14px}
.doc-info-panel .struct-list li{font-size:0.76rem;color:var(--text3);line-height:1.6;list-style-type:disc}

/* ===== Editor Main ===== */
.editor-main{flex:1;display:flex;flex-direction:column}

/* ===== Empty State ===== */
.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center;flex:1}
.empty-icon{font-size:3.5rem;margin-bottom:14px;opacity:0.4}
.empty-state h3{font-size:1.1rem;color:var(--text);margin-bottom:6px}
.empty-state p{color:var(--text2);font-size:0.88rem}

/* ===== Form ===== */
.editor-form{padding:18px 22px;flex:1;overflow-y:auto}
.editor-form #form-fields{max-width:800px}
.form-notice{background:var(--blue-light);padding:12px 16px;border-radius:var(--radius-xs);margin-bottom:18px;font-size:0.86rem;line-height:1.6;border-left:3px solid var(--blue)}
.form-group{margin-bottom:14px}
.form-group label{display:block;font-size:0.85rem;font-weight:600;color:var(--text);margin-bottom:5px}
.form-group label .hint{font-weight:400;color:var(--text3);font-size:0.78rem;margin-left:6px}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:9px 12px;border:1.5px solid var(--border);border-radius:var(--radius-xs);font-size:0.92rem;font-family:var(--font);transition:var(--transition);background:#fff;color:var(--text)}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(190,30,45,0.1)}
.form-group textarea{resize:vertical;min-height:100px;line-height:1.7}
.form-group .char-count{font-size:0.75rem;color:var(--text3);text-align:right;margin-top:3px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}

/* ===== Modals ===== */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:200;justify-content:center;align-items:center;padding:20px}
.modal-overlay.active{display:flex}
.modal-content{background:#fff;border-radius:var(--radius);max-width:800px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);animation:fadeIn 0.25s ease}
@keyframes fadeIn{from{opacity:0;transform:scale(0.97) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}
.modal-header{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid var(--border-light)}
.modal-header h3{font-size:1rem;color:var(--blue)}
.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text2);padding:2px 6px;line-height:1;border-radius:4px}
.modal-close:hover{background:var(--bg);color:var(--text)}
.modal-body{padding:20px 24px;overflow-y:auto;flex:1}
.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--border-light)}

/* ===== Preview ===== */
.preview-body-content{background:#fff;border:1px solid var(--border);padding:40px 48px;font-family:var(--font-song);font-size:16pt;line-height:2;color:#222;max-width:700px;margin:0 auto}
.preview-title{font-family:var(--font-hei);font-size:22pt;font-weight:700;text-align:center;margin-bottom:24pt;line-height:1.4}
.doc-annotation{text-align:center;font-family:var(--font-song);margin-bottom:12pt;color:#555}
.preview-recipient{margin-bottom:12pt}
.doc-paragraph{text-indent:2em;margin-bottom:8pt;line-height:2}
.doc-paragraph-bold{font-family:var(--font-hei);text-indent:2em;font-weight:600;margin-bottom:8pt;line-height:2}
.doc-paragraph-kai{font-family:var(--font-kai);text-indent:2em;margin-bottom:8pt;line-height:2}
.preview-signature{text-align:right;margin-top:32pt}
.preview-date{text-align:right}

/* ===== Check Results ===== */
.check-results{display:flex;flex-direction:column;gap:8px}
.check-item{display:flex;align-items:flex-start;gap:8px;padding:9px 12px;border-radius:var(--radius-xs);font-size:0.88rem;line-height:1.5}
.check-item.pass{background:#ecfdf5;color:#065f46}
.check-item.warn{background:#fffbeb;color:#92400e}
.check-item.error{background:#fef2f2;color:#991b1b}
.check-item.info{background:#f0f5fa;color:var(--blue)}
.check-item .check-icon{font-size:1rem;flex-shrink:0;margin-top:1px}

/* ===== Drafts Page ===== */
.drafts-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.drafts-count{font-size:0.88rem;color:var(--text2)}
.drafts-list{display:grid;gap:12px;padding-bottom:40px}
.draft-card{background:var(--card);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow);border:1px solid var(--border-light);display:flex;align-items:center;justify-content:space-between;gap:16px;transition:var(--transition)}
.draft-card:hover{box-shadow:var(--shadow-md)}
.draft-info{flex:1;min-width:0}
.draft-info h4{font-size:0.95rem;font-weight:600;color:var(--blue);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.draft-info .draft-meta{font-size:0.78rem;color:var(--text3);margin-top:3px;display:flex;gap:14px;flex-wrap:wrap}
.draft-actions{display:flex;gap:6px;flex-shrink:0}
.draft-empty{text-align:center;padding:60px 20px;color:var(--text3)}
.draft-empty .empty-icon{font-size:3rem;opacity:0.4;margin-bottom:12px}
.draft-empty p{font-size:0.9rem}

/* ===== Standards ===== */
.standards-content{padding-bottom:40px}
.standard-section{background:var(--card);border-radius:var(--radius);padding:20px;margin-bottom:14px;box-shadow:var(--shadow);border:1px solid var(--border-light)}
.standard-section h4{font-size:1rem;color:var(--red);margin-bottom:6px;display:flex;align-items:center;gap:6px}
.standard-section p,.standard-section li{font-size:0.88rem;color:var(--text2);line-height:1.7}
.standard-section ul{padding-left:18px}
.standard-section li{margin-bottom:3px}
.standard-table{width:100%;border-collapse:collapse;margin-top:10px;font-size:0.84rem}
.standard-table th,.standard-table td{border:1px solid var(--border);padding:8px 12px;text-align:left}
.standard-table th{background:var(--blue-light);color:var(--blue);font-weight:600}
.standard-table tr:nth-child(even){background:var(--bg)}

/* ===== Footer ===== */
.footer{margin-top:auto;background:var(--blue);color:rgba(255,255,255,0.8);text-align:center;padding:18px;font-size:0.8rem}
.footer-sub{font-size:0.72rem;opacity:0.6;margin-top:3px}

/* ===== Toast ===== */
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);background:#1e293b;color:#fff;padding:10px 22px;border-radius:var(--radius-xs);font-size:0.88rem;z-index:300;opacity:0;transition:all 0.3s ease;pointer-events:none;white-space:nowrap;max-width:90%}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* ===== JSON 高亮 ===== */
.preview-body-content .hl-level1{font-weight:700;font-family:var(--font-hei)}
.preview-body-content .hl-level2{font-family:var(--font-kai)}
.preview-body-content .hl-level3{font-weight:600}

/* ===== Responsive ===== */
@media(max-width:1024px){
  .editor-sidebar{width:200px}
}
@media(max-width:860px){
  .editor-layout{flex-direction:column}
  .editor-sidebar{width:100%;border-right:none;border-bottom:1px solid var(--border-light);max-height:200px;overflow-y:auto}
  .doc-type-list{flex-direction:row;flex-wrap:wrap;max-height:none;overflow-y:visible}
  .doc-type-item{width:auto;padding:5px 10px;font-size:0.82rem}
  .doc-info-panel{display:none}
  .stats-inner{gap:24px}
  .preview-body-content{padding:24px 20px}
  .hero-content h2{font-size:1.5rem}
}
@media(max-width:600px){
  .nav-links{display:none}
  .mobile-menu-btn{display:block}
  .doc-grid{grid-template-columns:1fr 1fr;gap:10px}
  .doc-card{padding:14px 12px}.doc-card-icon{font-size:1.4rem}.doc-card h4{font-size:0.88rem}.doc-card p{font-size:0.76rem}
  .hero{padding:32px 0}.hero-content h2{font-size:1.2rem}.hero-desc{font-size:0.88rem}
  .stats-inner{gap:12px}.stat-num{font-size:1rem}
  .editor-form{padding:12px 14px}
  .toolbar-right .btn{font-size:0.72rem;padding:4px 7px}
  .toolbar-divider{display:none}
  .preview-body-content{padding:16px 14px;font-size:14pt}
  .preview-title{font-size:18pt}
  .form-row{grid-template-columns:1fr}
  .section-title h3{font-size:1.15rem}
  .draft-card{flex-direction:column;align-items:stretch;gap:10px}
  .draft-actions{justify-content:flex-end}
}
@media(max-width:400px){
  .doc-grid{grid-template-columns:1fr}
}

/* ========================================
   盈利模块样式
   ======================================== */

/* -- VIP导航链接 -- */
.vip-link{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#78350f!important;font-weight:600!important}
.vip-link:hover{background:linear-gradient(135deg,#fcd34d,#fbbf24)!important;color:#451a03!important;box-shadow:0 2px 8px rgba(251,191,36,0.4)!important}

/* -- 免费额度提醒 -- */
.usage-badge{font-size:0.72rem;color:var(--blue);background:var(--blue-light);padding:2px 10px;border-radius:10px;white-space:nowrap}
.vip-hint{font-size:0.78rem;color:var(--text3)}

/* -- VIP页面英雄区 -- */
.premium-hero{background:linear-gradient(135deg,#1a3a5c 0%,#BE1E2D 50%,#f59e0b 100%);color:#fff;padding:20px 0 40px}

/* -- 对比表 -- */
.compare-section{background:var(--card);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);margin-bottom:24px}
.compare-header{padding:16px 20px;border-bottom:1px solid var(--border-light)}
.compare-header h3{font-size:1rem;color:var(--blue)}
.compare-table{width:100%;border-collapse:collapse;font-size:0.88rem}
.compare-table th,.compare-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border-light)}
.compare-table th{background:var(--blue-bg);color:var(--blue);font-weight:600}
.compare-table tr:last-child td{border-bottom:none}
.compare-table td:first-child{font-weight:500}
.compare-table td:nth-child(2){color:var(--text3)}
.compare-table td:nth-child(3){color:var(--red);font-weight:600}

/* -- 套餐卡 -- */
.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-bottom:24px}
.pricing-card{background:var(--card);border-radius:var(--radius);padding:28px 24px;text-align:center;box-shadow:var(--shadow);border:2px solid var(--border-light);transition:var(--transition);position:relative}
.pricing-card:hover{box-shadow:var(--shadow-md);border-color:var(--border)}
.pricing-card.featured{border-color:var(--red);box-shadow:0 0 0 1px var(--red),var(--shadow-md)}
.pricing-card.featured:hover{border-color:var(--red-dark)}
.pricing-badge{display:inline-block;padding:2px 12px;border-radius:12px;font-size:0.72rem;font-weight:600;background:var(--bg);color:var(--text2);margin-bottom:10px}
.pricing-badge.best{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#78350f}
.pricing-card h3{font-size:1.1rem;color:var(--blue);margin-bottom:8px}
.pricing-price{font-size:2.5rem;font-weight:800;color:var(--red);margin-bottom:4px}
.pricing-price span{font-size:0.9rem;font-weight:400;color:var(--text3)}
.pricing-save{font-size:0.78rem;color:#059669;background:#ecfdf5;display:inline-block;padding:2px 10px;border-radius:10px;margin-bottom:10px}
.pricing-features{list-style:none;padding:0;margin:16px 0;text-align:left}
.pricing-features li{padding:6px 0;font-size:0.82rem;color:var(--text2);border-bottom:1px solid var(--border-light)}
.pricing-features li:last-child{border-bottom:none}
.btn-pricing{width:100%;padding:12px;border:none;border-radius:var(--radius-xs);font-size:0.95rem;font-weight:600;cursor:pointer;background:var(--blue-light);color:var(--blue);transition:var(--transition);font-family:var(--font)}
.btn-pricing:hover{background:var(--blue);color:#fff;transform:translateY(-1px)}
.btn-pricing.hot{background:linear-gradient(135deg,var(--red),#d43b3b);color:#fff;box-shadow:0 4px 14px rgba(190,30,45,0.25)}
.btn-pricing.hot:hover{box-shadow:0 6px 20px rgba(190,30,45,0.35)}

/* -- 增值服务 -- */
.addon-section{margin-bottom:24px}
.addon-section h3,.affiliate-section h3,.payment-info h4{font-size:1rem;color:var(--blue);margin-bottom:14px}
.addon-card{background:var(--card);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);border:1px solid var(--border-light);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.addon-info{flex:1;min-width:200px}
.addon-info h4{font-size:0.95rem;color:var(--text);margin-bottom:4px}
.addon-info p{font-size:0.82rem;color:var(--text2);margin-bottom:8px}
.addon-tags{display:flex;flex-wrap:wrap;gap:4px}
.addon-tags span{font-size:0.72rem;padding:2px 8px;background:var(--bg);border-radius:8px;color:var(--text3)}
.addon-action{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0}
.addon-price{font-size:1.5rem;font-weight:700;color:var(--red)}
.addon-label{font-size:0.72rem;color:var(--text3)}

/* -- 推广联盟 -- */
.affiliate-section{margin-bottom:24px}
.affiliate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}
.affiliate-card{background:var(--card);border-radius:var(--radius);padding:16px 18px;display:flex;align-items:center;gap:14px;box-shadow:var(--shadow);border:1px solid var(--border-light);transition:var(--transition);text-decoration:none;color:var(--text)}
.affiliate-card:hover{box-shadow:var(--shadow-md);border-color:var(--red-light);transform:translateY(-1px)}
.affiliate-icon{font-size:2rem;flex-shrink:0}
.affiliate-info{flex:1;min-width:0}
.affiliate-info h4{font-size:0.9rem;color:var(--text);margin-bottom:2px}
.affiliate-info p{font-size:0.78rem;color:var(--text2)}
.affiliate-link{font-size:0.8rem;color:var(--red);white-space:nowrap;flex-shrink:0}

/* -- 支付方式 -- */
.payment-info{background:var(--card);border-radius:var(--radius);padding:20px;margin-bottom:30px;box-shadow:var(--shadow)}
.payment-methods{display:flex;gap:8px;margin:10px 0}
.payment-badge{background:var(--bg);border:1px solid var(--border);padding:4px 14px;border-radius:6px;font-size:0.82rem;color:var(--text2)}
.payment-note{font-size:0.8rem;color:var(--text3)}
.payment-steps{display:flex;gap:16px;flex-wrap:wrap;margin:14px 0}
.payment-step{flex:1;min-width:160px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:14px;text-align:center}
.payment-step .step-num{display:inline-block;width:28px;height:28px;line-height:28px;border-radius:50%;background:#BE1E2D;color:#fff;font-weight:bold;margin-bottom:6px;font-size:0.9rem}
.payment-step p{margin:0;font-size:0.85rem;color:#555;line-height:1.5}
.payment-step strong{color:#BE1E2D}
.activate-section{background:var(--card);border-radius:var(--radius);padding:20px;margin-bottom:20px;box-shadow:var(--shadow)}
.activate-section h4{margin:0 0 12px;font-size:1rem;color:var(--blue)}
.activate-form{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.contact-section{border:1px dashed #e2e8f0}
.contact-section strong{color:#BE1E2D}

/* -- 广告位 -- */
.ad-slot{width:100%;min-height:90px;border-radius:var(--radius-xs);overflow:hidden}
.ad-label{text-align:right;font-size:0.65rem;color:var(--text3);padding:2px 4px;letter-spacing:1px}
.ad-content{width:100%;min-height:60px;display:flex;align-items:center;justify-content:center}
.ad-placeholder{width:100%;min-height:60px;border:1px dashed var(--border);border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text3);font-size:0.8rem;gap:2px;background:var(--bg)}
.ad-placeholder small{font-size:0.7rem}

/* -- 功能付费门槛 -- */
.vip-gated{position:relative}
.vip-gated.gated{opacity:0.5;pointer-events:none}
.vip-gated.gated::after{content:'🔒 VIP专属';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,0.75);color:#fff;padding:4px 14px;border-radius:6px;font-size:0.78rem;white-space:nowrap}

/* -- VIP弹窗 -- */
.vip-modal-body{text-align:center;padding:20px 0}
.vip-modal-body .vip-icon{font-size:3rem;margin-bottom:12px}
.vip-modal-body h3{font-size:1.2rem;color:var(--blue);margin-bottom:6px}
.vip-modal-body p{color:var(--text2);font-size:0.9rem;margin-bottom:16px}
.vip-modal-body .btn-vip-upgrade{background:linear-gradient(135deg,var(--red),#d43b3b);color:#fff;border:none;padding:12px 32px;border-radius:var(--radius-xs);font-size:1rem;font-weight:600;cursor:pointer;transition:var(--transition);font-family:var(--font)}
.vip-modal-body .btn-vip-upgrade:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(190,30,45,0.3)}

/* -- 用户登录 -- */
.header-user{display:flex;align-items:center;margin-left:auto;padding-left:16px;font-size:0.85rem}
.user-btn{cursor:pointer;color:var(--red);font-weight:600;padding:6px 12px;border:1px solid var(--red);border-radius:var(--radius-xs);transition:var(--transition)}
.user-btn:hover{background:var(--red);color:#fff}
.user-info{display:flex;align-items:center;gap:8px}
.user-phone{font-weight:600;color:var(--text1)}
.user-badge{background:linear-gradient(135deg,var(--red),#d43b3b);color:#fff;font-size:0.68rem;padding:2px 8px;border-radius:10px}
.user-logout{color:var(--text3);font-size:0.78rem;cursor:pointer;text-decoration:none}
.user-logout:hover{color:var(--red);text-decoration:underline}

/* -- 登录弹窗 -- */
.auth-tabs{display:flex;margin-bottom:16px;border-bottom:2px solid var(--border)}
.auth-tabs .auth-tab{flex:1;text-align:center;padding:8px;font-size:0.88rem;font-weight:600;cursor:pointer;color:var(--text3);border-bottom:2px solid transparent;margin-bottom:-2px;transition:var(--transition)}
.auth-tabs .auth-tab.active{color:var(--red);border-bottom-color:var(--red)}
.auth-form{padding:4px 0}
.auth-form .form-group{margin-bottom:14px}
.auth-form .form-group label{display:block;font-size:0.82rem;font-weight:600;margin-bottom:4px;color:var(--text1)}
.auth-form .form-input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-xs);font-size:0.9rem;font-family:var(--font);outline:none;transition:var(--transition);box-sizing:border-box}
.auth-form .form-input:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(190,30,45,0.1)}
.auth-form .btn{font-family:var(--font);cursor:pointer;padding:10px 16px;border:none;border-radius:var(--radius-xs);font-size:0.9rem;font-weight:600;transition:var(--transition)}
.auth-form .btn-primary{background:var(--red);color:#fff}
.auth-form .btn-primary:hover{background:#a01a26}
.auth-form .btn-sm{padding:8px 14px;font-size:0.82rem;background:var(--bg2);color:var(--text1);border:1px solid var(--border);white-space:nowrap}
.auth-form .btn-sm:hover{background:var(--border)}
