*{margin:0;padding:0;box-sizing:border-box}:root{--primary:#1a365d;--primary-light:#2c5282;--primary-lighter:#3b6fa8;--primary-bg:#ebf2fa;--teal:#0d9488;--teal-bg:#f0fdfa;--purple:#7c3aed;--purple-bg:#faf5ff;--amber:#b45309;--amber-bg:#fffbeb;--rose:#be185d;--rose-bg:#fdf2f8;--accent:#c53030;--accent-bg:#fff5f5;--status-final:#38a169;--status-draft:#718096;--status-hidden:#94a3b8;--status-review:#dd6b20;--warning:#d97706;--warning-bg:#fffbeb;--warning-border:#fde68a;--bg:#f4f6f9;--card-bg:#ffffff;--bg-subtle:#f8fafc;--bg-hover:#f1f5f9;--bg-draft:#fafbfc;--text:#1e2a3a;--text-secondary:#4a5568;--text-light:#8492a6;--text-white:rgba(255,255,255,0.92);--text-white-dim:rgba(255,255,255,0.6);--border:#e3e8ef;--border-light:#eef1f6;--shadow-sm:0 1px 3px rgba(26,54,93,0.06);--shadow:0 2px 8px rgba(26,54,93,0.08);--shadow-md:0 4px 16px rgba(26,54,93,0.10);--shadow-hover:0 8px 24px rgba(26,54,93,0.14);--radius:10px;--radius-sm:6px;--radius-lg:14px;--max-width:1200px} body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;background:linear-gradient(180deg,#eef2f7 0%,var(--bg) 400px);color:var(--text);line-height:1.8;-webkit-font-smoothing:antialiased} a{text-decoration:none;color:inherit} .site-header{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);color:white;position:sticky;top:0;z-index:100;box-shadow:0 2px 12px rgba(26,54,93,0.25);border-bottom:3px solid transparent;border-image:linear-gradient(90deg,var(--teal),var(--primary-lighter),var(--purple)) 1} .header-bar{max-width:var(--max-width);margin:0 auto;padding:0 24px;height:52px;display:flex;align-items:flex-end;gap:16px;padding-bottom:8px} .header-bar .logo,.header-top-row .logo{font-size:17px;font-weight:700;color:var(--text-white);letter-spacing:0.3px;white-space:nowrap;flex-shrink:0} .header-subtitle{font-size:12px;color:var(--text-white-dim);white-space:nowrap;flex-shrink:0} .header-nav{margin-left:auto;display:flex;gap:4px;flex-shrink:0} .header-nav a{font-size:13px;color:var(--text-white-dim);padding:6px 14px;border-radius:var(--radius-sm);transition:all 0.2s;white-space:nowrap} .header-nav a:hover{color:white;background:rgba(255,255,255,0.1)} .home-toolbar{display:flex;align-items:center;gap:16px;margin-bottom:24px} .home-toolbar .header-search{flex:0 1 260px} .home-toolbar .search-input{background:white;color:var(--text);border:1px solid var(--border)} .home-toolbar .search-input::placeholder{color:var(--text-light)} .home-toolbar .search-input:focus{background:white;border-color:var(--primary-lighter);box-shadow:0 0 0 2px rgba(59,111,168,0.12)} .home-toolbar .filter-btn{color:var(--text-light);background:white;border:1px solid var(--border)} .home-toolbar .filter-btn:hover{color:var(--primary);background:var(--primary-bg);border-color:var(--primary-lighter)} .home-toolbar .filter-btn.active{color:white;background:linear-gradient(135deg,var(--primary),var(--primary-light));border-color:var(--primary);box-shadow:0 2px 8px rgba(26,54,93,0.2)} .home-toolbar .tab-count{background:var(--bg-hover);color:var(--text-light)} .home-toolbar .filter-btn.active .tab-count{background:rgba(255,255,255,0.25);color:white} .header-search{flex:0 1 260px;margin:0} .search-input{width:100%;padding:7px 16px;border:none;border-radius:20px;font-size:13px;font-family:inherit;background:rgba(255,255,255,0.12);color:white;transition:all 0.2s} .search-input::placeholder{color:rgba(255,255,255,0.45)} .search-input:focus{outline:none;background:rgba(255,255,255,0.22);box-shadow:0 0 0 2px rgba(255,255,255,0.15)} .filter-tabs{display:flex;gap:2px;flex-shrink:0;padding:0;border:none;margin:0} .filter-btn{padding:6px 14px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-white-dim);font-size:13px;cursor:pointer;transition:all 0.2s;font-family:inherit;display:flex;align-items:center;gap:4px} .filter-btn:hover{color:var(--text-white);background:rgba(255,255,255,0.08)} .filter-btn.active{color:white;background:rgba(255,255,255,0.15)} .tab-count{font-size:11px;background:rgba(255,255,255,0.15);padding:1px 6px;border-radius:8px;font-weight:600} .filter-btn.active .tab-count{background:rgba(255,255,255,0.25)} .header-back-btn{font-size:13px;color:var(--text-white);padding:5px 14px;border:1px solid rgba(255,255,255,0.2);border-radius:var(--radius-sm);transition:all 0.2s;white-space:nowrap;flex-shrink:0;font-weight:500} .header-back-btn:hover{background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.35);color:white} .main-content{max-width:var(--max-width);margin:0 auto;padding:32px 24px 80px} .site-notice{background:#ebf2fa;border:1px solid #b3c6e0;border-left:4px solid var(--primary);border-radius:8px;padding:14px 20px;margin-bottom:28px;font-size:14px;line-height:1.8;color:var(--text-secondary)} .batch-section{margin-bottom:40px} .batch-title{font-size:18px;color:var(--primary);margin-bottom:16px;padding-bottom:10px;border-bottom:2px solid var(--primary-bg);display:flex;align-items:center;gap:8px;font-weight:700} .batch-section[data-batch*="日常法律"] .batch-title{color:var(--primary);border-bottom-color:var(--primary-bg)} .batch-section[data-batch*="生态环境"] .batch-title{color:var(--teal);border-bottom-color:var(--teal-bg)} .batch-section[data-batch*="企业新媒体"] .batch-title{color:var(--purple);border-bottom-color:var(--purple-bg)} .batch-section[data-batch*="劳动法"] .batch-title{color:var(--amber);border-bottom-color:var(--amber-bg)} .batch-section[data-batch*="新规解读"] .batch-title{color:var(--rose);border-bottom-color:var(--rose-bg)} .batch-section[data-batch*="建工"] .batch-title{color:var(--primary-light);border-bottom-color:var(--primary-bg)} .batch-section[data-batch*="生态环境"] .batch-title::before{content:'';display:inline-block;width:4px;height:18px;background:var(--teal);border-radius:2px} .batch-section[data-batch*="企业新媒体"] .batch-title::before{content:'';display:inline-block;width:4px;height:18px;background:var(--purple);border-radius:2px} .batch-section[data-batch*="劳动法"] .batch-title::before{content:'';display:inline-block;width:4px;height:18px;background:var(--amber);border-radius:2px} .batch-section[data-batch*="新规解读"] .batch-title::before{content:'';display:inline-block;width:4px;height:18px;background:var(--rose);border-radius:2px} .batch-section[data-batch*="建工"] .batch-title::before{content:'';display:inline-block;width:4px;height:18px;background:var(--primary-light);border-radius:2px} .batch-section[data-batch*="日常法律"] .batch-title::before{content:'';display:inline-block;width:4px;height:18px;background:var(--primary);border-radius:2px} .batch-count{font-size:13px;color:var(--text-light);font-weight:400} .article-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px} .article-card{background:var(--card-bg);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm);transition:all 0.25s;display:flex;flex-direction:column;border:1px solid var(--border-light);border-left:3px solid var(--border);cursor:pointer;position:relative} .article-card.card-final{border-left-color:var(--status-final);background:linear-gradient(135deg,#ffffff 0%,#fcfdfb 100%)} .article-card.card-draft{border-left-color:var(--status-draft);background:linear-gradient(135deg,#fafbfc 0%,#f8f9fb 100%)} .article-card.card-final:hover{box-shadow:0 8px 24px rgba(56,161,105,0.12);transform:translateY(-4px);border-color:var(--status-final)} .article-card.card-draft:hover{box-shadow:0 8px 24px rgba(59,111,168,0.12);transform:translateY(-4px);border-color:var(--primary-lighter)} .article-card.card-hidden{border-left-color:#94a3b8;background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);opacity:0.85} .article-card.card-hidden:hover{box-shadow:0 8px 24px rgba(148,163,184,0.12);transform:translateY(-4px);border-color:#94a3b8} .article-card:active{transform:translateY(-1px) scale(0.992)} .card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;flex-wrap:wrap;gap:6px} .card-seq{font-size:11px;font-weight:700;color:var(--primary);background:linear-gradient(135deg,var(--primary-bg),#e0ecf7);padding:3px 9px;border-radius:var(--radius-sm);border:1px solid #d6e4f0} .header-nav a.active{color:white;background:rgba(255,255,255,0.15)} .status-badge{font-size:11px;padding:3px 10px;border-radius:var(--radius-sm);font-weight:600} .status-final{background:var(--primary-bg);color:var(--status-final);border:none} .status-draft{background:var(--primary-bg);color:var(--status-review);border:none} .status-hidden{background:var(--primary-bg);color:#94a3b8;border:none} .pen-icon{vertical-align:middle;margin-top:-1px} .star-btn{font-size:12px;padding:3px 8px;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:all 0.2s;font-family:inherit;color:var(--text-secondary);display:inline-flex;align-items:center;gap:2px} .star-btn:hover{background:var(--primary-bg);border-color:var(--primary-lighter);color:var(--primary)} .star-btn.starred{background:var(--primary-bg);border-color:var(--primary-light);color:var(--primary)} .star-btn.star-max{opacity:0.6;cursor:not-allowed} .star-btn.star-pop{animation:starPop 0.4s ease} .star-count{font-weight:600;font-size:11px} @keyframes starPop{0%{transform:scale(1)} 50%{transform:scale(1.3)} 100%{transform:scale(1)} } .star-toast{position:fixed;bottom:80px;left:50%;transform:translateX(-50%);background:var(--primary);color:white;padding:10px 20px;border-radius:var(--radius-sm);font-size:13px;z-index:500;opacity:0;pointer-events:none;transition:opacity 0.3s;box-shadow:var(--shadow-md)} .star-toast.show{opacity:1} .card-title{font-size:16px;font-weight:700;color:var(--text);margin-bottom:8px;line-height:1.5} .card-summary{font-size:13px;color:var(--text-light);line-height:1.7;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;flex:1} .card-read-more{font-size:12px;color:var(--primary-lighter);font-weight:600;margin-top:10px;transition:color 0.2s} .article-card:hover .card-read-more{color:var(--primary)} .no-results{text-align:center;padding:60px 20px;color:var(--text-light)} .article-main{max-width:1200px;margin:0 auto;padding:24px 24px 80px;position:relative} .article-layout{display:flex;gap:24px;align-items:flex-start;justify-content:center;position:relative} .article-container{flex:1 1 auto;min-width:0;max-width:760px;background:white;border-radius:var(--radius);padding:36px 48px;box-shadow:var(--shadow);border:1px solid var(--border-light);transition:max-width 0.3s ease} .article-layout.sidebar-collapsed .article-container{max-width:820px} .article-sidebar{flex-shrink:0;width:260px;position:sticky;top:80px;max-height:calc(100vh - 100px);overflow:visible;display:flex;flex-direction:column;transition:margin-left 0.3s ease,opacity 0.3s ease} .sidebar-inner{overflow-y:auto;max-height:calc(100vh - 100px);display:flex;flex-direction:column;gap:16px;padding-right:4px} .sidebar-inner::-webkit-scrollbar{width:4px} .sidebar-inner::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px} .article-layout.sidebar-collapsed .article-sidebar{margin-left:-260px;opacity:0;pointer-events:none} .sidebar-collapse-btn{position:absolute;top:14px;right:-14px;width:28px;height:28px;border-radius:50%;background:white;border:1px solid var(--border);color:var(--text-light);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);z-index:10;transition:all 0.2s;font-size:14px;line-height:1} .sidebar-collapse-btn:hover{background:var(--primary-bg);border-color:var(--primary-lighter);color:var(--primary)} .sidebar-collapse-btn svg{transition:transform 0.3s ease} .article-layout:not(.sidebar-collapsed) .sidebar-collapse-btn svg{transform:rotate(180deg)} .sidebar-restore-btn{position:fixed;top:80px;left:24px;width:36px;height:36px;border-radius:50%;background:var(--primary);color:white;border:none;cursor:pointer;display:none;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(26,54,93,0.25);z-index:90;transition:all 0.2s} .sidebar-restore-btn:hover{background:var(--primary-light);transform:translateY(-2px)} .article-layout.sidebar-collapsed ~ .sidebar-restore-btn{display:flex} .sidebar-heading{font-size:13px;font-weight:700;color:var(--text-light);text-transform:uppercase;letter-spacing:0.5px;margin:0 0 8px 0;padding-bottom:6px;border-bottom:1px solid var(--border)} .sidebar-toc{background:white;border-radius:10px;padding:14px 16px;box-shadow:var(--shadow);border:1px solid var(--border-light)} .sidebar-nav{background:white;border-radius:10px;padding:14px 16px;box-shadow:var(--shadow);border:1px solid var(--border-light)} .sidebar-nav-content{display:flex;flex-direction:column;gap:8px} .sidebar-nav-link{display:block;padding:8px 12px;border-radius:6px;text-decoration:none;color:var(--text);background:#f7fafc;transition:all 0.15s;border-left:3px solid transparent} .sidebar-nav-link:hover{background:#edf2f7;border-left-color:var(--primary-light)} .sidebar-nav-label{display:block;font-size:11px;color:var(--text-light);font-weight:600;margin-bottom:2px} .sidebar-nav-title{display:block;font-size:13px;line-height:1.4;color:var(--text)} .sidebar-nav-empty{font-size:13px;color:var(--text-light);text-align:center;padding:8px} .article-sidebar::-webkit-scrollbar{width:4px} .article-sidebar::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:2px} .sidebar-toggle{display:none;position:fixed;bottom:24px;left:24px;width:44px;height:44px;border-radius:50%;background:var(--primary);color:white;border:none;cursor:pointer;display:none;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(26,54,93,0.3);z-index:95;transition:all 0.2s} .sidebar-toggle:hover{background:var(--primary-light)} .article-meta-bar{display:flex;gap:10px;margin-bottom:16px;align-items:center} .batch-tag{font-size:12px;color:var(--primary);background:var(--primary-bg);padding:3px 10px;border-radius:var(--radius-sm);font-weight:600} .article-title{font-size:26px;font-weight:800;color:var(--text);margin-bottom:8px;line-height:1.4} .article-author{font-size:14px;color:var(--text-light);margin-bottom:28px;padding-bottom:18px;border-bottom:1px solid var(--border-light)} .article-content{font-size:16px;line-height:1.85;color:var(--text)} .article-content h1,.article-content h2,.article-content h3,.article-content h4{color:var(--primary);margin-top:32px;margin-bottom:16px;font-weight:700} .article-content h1{font-size:22px} .article-content h2{font-size:19px} .article-content h3{font-size:17px} .article-content p{margin-bottom:20px} .article-content ul,.article-content ol{margin:12px 0 16px 24px} .article-content li{margin-bottom:8px} .article-content table{width:100%;border-collapse:collapse;margin:20px 0;font-size:14px} .article-content th,.article-content td{border:1px solid var(--border);padding:10px 14px;text-align:left} .article-content th{background:var(--bg-subtle);font-weight:600;color:var(--primary)} .article-content tbody tr:nth-child(even){background:var(--bg-subtle)} .article-content .subtitle{color:var(--text-light);font-size:14px;text-align:center;margin-bottom:24px} .article-content strong{color:var(--text);font-weight:700} .article-content code{background:var(--bg-hover);padding:2px 6px;border-radius:4px;font-size:14px;font-family:"Courier New",monospace} .article-content blockquote{border-left:4px solid var(--primary-lighter);padding:12px 20px;margin:16px 0;background:var(--bg-subtle);color:var(--text-secondary);font-size:14px;border-radius:0 var(--radius-sm) var(--radius-sm) 0} .law-ref{font-style:italic;border-left:3px solid var(--primary-bg);padding-left:16px;color:var(--text-secondary)} .article-nav{display:flex;justify-content:space-between;gap:16px;margin-top:36px;padding-top:24px;border-top:1px solid var(--border-light)} .article-nav-prev,.article-nav-next{display:flex;flex-direction:column;gap:4px;padding:10px 16px;border-radius:var(--radius-sm);background:var(--bg-subtle);transition:all 0.2s;max-width:48%} .article-nav-prev:hover,.article-nav-next:hover{background:var(--primary-bg)} .article-nav-next{text-align:right;margin-left:auto} .article-nav-placeholder{max-width:48%} .article-nav-label{font-size:11px;color:var(--text-light);font-weight:600;text-transform:uppercase;letter-spacing:0.5px} .article-nav-title{font-size:14px;color:var(--text);font-weight:500;line-height:1.5} .site-footer{background:var(--primary);color:rgba(255,255,255,0.8);text-align:center;padding:28px 24px;font-size:13px;border-top:1px solid rgba(255,255,255,0.08)} .footer-note{font-size:12px;opacity:0.6;margin-top:6px} .footer-icp{font-size:12px;opacity:0.5;margin-top:4px} .footer-icp a{color:rgba(255,255,255,0.6);text-decoration:none} .footer-icp a:hover{text-decoration:underline} @media (max-width:768px){.article-grid{grid-template-columns:1fr} .article-container{padding:24px} .article-title{font-size:22px} .main-content{padding:20px 16px 60px} } .ann-toolbar{position:fixed;right:24px;bottom:24px;z-index:200} .ann-btn-toggle{display:flex;align-items:center;gap:6px;padding:10px 18px;background:var(--primary);color:white;border:none;border-radius:28px;font-size:14px;font-weight:600;cursor:pointer;box-shadow:var(--shadow-md);transition:all 0.25s;font-family:inherit;position:relative} .ann-btn-toggle:hover{background:var(--primary-light);transform:translateY(-3px);box-shadow:var(--shadow-hover)} .ann-count{background:var(--accent);color:white;font-size:11px;padding:2px 7px;border-radius:10px;min-width:18px;text-align:center;font-weight:700} .ann-pending-dot{position:absolute;top:4px;right:4px;width:8px;height:8px;background:#e53e3e;border-radius:50%;border:2px solid white;animation:annDotPulse 2s ease infinite} @keyframes annDotPulse{0%,100%{opacity:1} 50%{opacity:0.5} } .ann-tabs{display:flex;border-bottom:1px solid #e2e8f0;background:#f7fafc} .ann-tab{flex:1;padding:10px 16px;border:none;background:transparent;font-size:14px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all 0.2s;font-family:inherit;border-bottom:2px solid transparent} .ann-tab:hover{background:#edf2f7} .ann-tab-active{color:var(--primary);border-bottom-color:var(--primary);font-weight:700;background:white} .ann-tab-count{display:inline-block;background:#e2e8f0;color:var(--text-secondary);font-size:11px;padding:1px 6px;border-radius:8px;margin-left:4px;min-width:16px;text-align:center} .ann-tab-active .ann-tab-count{background:var(--primary-bg);color:var(--primary);font-weight:600} .ann-panel{position:fixed;top:0;right:-420px;width:400px;max-width:90vw;height:100vh;background:white;box-shadow:-4px 0 24px rgba(0,0,0,0.12);z-index:300;display:flex;flex-direction:column;transition:right 0.3s ease} .ann-panel.open{right:0} .ann-overlay{position:fixed;inset:0;background:rgba(26,54,93,0.2);z-index:250;opacity:0;pointer-events:none;transition:opacity 0.3s} .ann-overlay.show{opacity:1;pointer-events:auto} .ann-panel-header{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;background:var(--primary);color:white} .ann-panel-header h3{font-size:16px;font-weight:700} .ann-panel-controls{display:flex;align-items:center;gap:8px} .ann-group-toggle{background:rgba(255,255,255,0.15);border:1px solid rgba(255,255,255,0.2);color:white;font-size:12px;padding:4px 10px;border-radius:var(--radius-sm);cursor:pointer;font-family:inherit;transition:background 0.2s} .ann-group-toggle:hover{background:rgba(255,255,255,0.25)} .ann-panel-close{background:none;border:none;color:white;font-size:22px;cursor:pointer;padding:0 4px;line-height:1} .ann-panel-hint{padding:10px 20px;font-size:12px;color:var(--text-light);background:var(--bg-subtle);border-bottom:1px solid var(--border-light)} .ann-panel-body{flex:1;overflow-y:auto;padding:14px} .ann-empty{text-align:center;color:var(--text-light);font-size:14px;padding:40px 20px;line-height:1.8} .ann-card{background:var(--bg-subtle);border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:12px;margin-bottom:10px;cursor:pointer;transition:all 0.2s} .ann-card:hover{background:var(--primary-bg);border-color:var(--primary-lighter)} .ann-card-head{display:flex;align-items:center;gap:6px;margin-bottom:6px;flex-wrap:wrap} .ann-author{font-weight:700;font-size:13px;color:var(--text)} .ann-type{font-size:11px;padding:2px 7px;border-radius:4px;font-weight:600} .ann-type-com{background:#dbeafe;color:#1e40af} .ann-type-sug{background:#fef3c7;color:#92400e} .ann-status{font-size:11px;padding:2px 7px;border-radius:4px;margin-left:auto;font-weight:600} .ann-st-pending{background:#fef3e8;color:var(--status-review)} .ann-st-applied{background:#e6f7ed;color:var(--status-final)} .ann-st-rejected{background:#fee2e2;color:var(--accent)} .ann-card-time{font-size:11px;color:var(--text-light);margin-bottom:6px} .ann-selected{border-left:3px solid var(--primary-lighter);padding:6px 10px;margin:6px 0;background:white;font-size:12px;color:var(--text-light);font-style:italic;border-radius:0 var(--radius-sm) var(--radius-sm) 0;line-height:1.6;cursor:pointer;transition:background 0.2s;position:relative} .ann-selected:hover{background:#f7fafc} .ann-selected-collapsed{max-height:60px;overflow:hidden} .ann-selected-collapsed::after{content:'▼ 展开原文';position:absolute;bottom:0;right:0;background:linear-gradient(transparent,white 60%);padding:8px 6px 2px 20px;font-size:11px;font-style:normal;color:var(--primary-light)} .ann-selected-expanded::after{content:'▲ 收起';display:block;text-align:right;font-size:11px;font-style:normal;color:var(--primary-light);margin-top:4px} .changelog-container{max-width:800px;margin:0 auto} .changelog-entry{background:var(--card-bg);border:1px solid #e2e8f0;border-radius:var(--radius-sm);padding:20px 24px;margin-bottom:20px;box-shadow:var(--shadow-sm);transition:box-shadow 0.2s} .changelog-entry:hover{box-shadow:var(--shadow-md)} .changelog-header{display:flex;align-items:center;gap:12px;margin-bottom:8px} .changelog-date{font-size:14px;font-weight:700;color:var(--primary)} .changelog-version{font-size:12px;color:var(--text-light);background:var(--primary-bg);padding:2px 8px;border-radius:var(--radius-sm);font-family:monospace} .changelog-title{font-size:17px;font-weight:700;color:var(--text);margin-bottom:12px} .changelog-items{list-style:none;padding:0;margin:0} .changelog-items li{padding:4px 0 4px 20px;position:relative;font-size:14px;color:var(--text-secondary);line-height:1.7} .changelog-items li::before{content:'•';position:absolute;left:6px;color:var(--primary-lighter);font-weight:bold} .revision-log{margin-top:24px;padding:12px 16px;background:#f7fafc;border:1px solid #e2e8f0;border-radius:var(--radius-sm);font-size:13px} .revision-log summary{cursor:pointer;font-weight:600;color:var(--text-secondary);padding:4px 0;user-select:none} .revision-log summary:hover{color:var(--primary)} .revision-log[open] summary{margin-bottom:8px;border-bottom:1px solid #e2e8f0;padding-bottom:8px} .revision-log p{margin:4px 0;color:var(--text-secondary);line-height:1.7} .ann-float-btn{position:absolute;z-index:10001;display:flex;align-items:center;gap:4px;padding:4px 12px;background:var(--primary);color:white;border-radius:20px;font-size:13px;cursor:pointer;box-shadow:var(--shadow-md);transition:background 0.2s,transform 0.15s;white-space:nowrap} .ann-float-btn:hover{background:var(--primary-light);transform:translateY(-2px)} .ann-suggest{margin:6px 0} .ann-label{font-size:11px;color:var(--status-review);font-weight:600} .ann-suggest-text{background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:var(--radius-sm);padding:6px 10px;font-size:13px;margin-top:4px;color:var(--text)} .ann-comment-text{font-size:13px;color:var(--text);line-height:1.7;margin-top:4px} .ann-highlight{background:var(--warning-bg);border-bottom:2px solid #f59e0b;cursor:pointer;padding:1px 2px;border-radius:2px;transition:background 0.2s} .ann-highlight:hover{background:#fde68a} .ann-hl-sug{background:#dbeafe;border-bottom-color:#3b82f6} .ann-hl-sug:hover{background:#bfdbfe} .ann-flash{animation:annFlash 1.5s ease} @keyframes annFlash{0%,100%{background:var(--warning-bg)} 50%{background:#fde68a;transform:scale(1.05)} } .ann-popup{position:absolute;width:340px;max-width:90vw;background:white;border-radius:var(--radius);box-shadow:var(--shadow-hover);z-index:400;overflow:hidden} .ann-popup-head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--primary);color:white;font-size:14px;font-weight:600} .ann-popup-close{background:none;border:none;color:white;font-size:20px;cursor:pointer;padding:0;line-height:1} .ann-popup-body{padding:16px} .ann-input{width:100%;padding:8px 12px;border:2px solid var(--border);border-radius:var(--radius-sm);font-size:14px;margin-bottom:12px;font-family:inherit;transition:border-color 0.2s} .ann-input:focus{outline:none;border-color:var(--primary-lighter)} .ann-type-row{display:flex;gap:16px;margin-bottom:12px;font-size:14px} .ann-type-row label{display:flex;align-items:center;gap:4px;cursor:pointer} .ann-textarea{width:100%;padding:8px 12px;border:2px solid var(--border);border-radius:var(--radius-sm);font-size:14px;resize:vertical;font-family:inherit;margin-bottom:12px;transition:border-color 0.2s} .ann-textarea:focus{outline:none;border-color:var(--primary-lighter)} .ann-submit-btn{width:100%;padding:10px;background:var(--primary);color:white;border:none;border-radius:var(--radius-sm);font-size:15px;font-weight:600;cursor:pointer;transition:all 0.2s;font-family:inherit} .ann-submit-btn:hover{background:var(--primary-light)} .ann-submit-btn:disabled{opacity:0.6;cursor:not-allowed} .ann-toast{position:fixed;bottom:90px;left:50%;transform:translateX(-50%);background:rgba(26,54,93,0.95);color:white;padding:10px 22px;border-radius:var(--radius-sm);font-size:13px;z-index:500;opacity:0;pointer-events:none;transition:opacity 0.3s;box-shadow:var(--shadow-md)} .ann-toast.show{opacity:1} .ann-banner{background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:var(--radius-sm);padding:10px 14px;margin-bottom:20px;font-size:13px;color:#92400e;display:flex;align-items:center;gap:8px} @media (max-width:768px){.ann-panel{width:100vw;right:-100vw} .ann-panel.open{right:0} .ann-popup{width:90vw;left:5vw !important} .ann-toolbar{right:16px;bottom:16px} } .ann-group{margin-bottom:16px;border:1px solid var(--border-light);border-radius:var(--radius-sm);overflow:hidden} .ann-group-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--bg-subtle);border-bottom:1px solid var(--border-light)} .ann-group-title{font-size:13px;font-weight:700;color:var(--primary)} .ann-group-count{font-size:11px;color:var(--text-light)} .ann-group-body{padding:6px} .ann-group-body .ann-card{margin-bottom:6px} .ann-replies{margin:6px 0;padding:8px 10px;background:var(--bg-subtle);border-radius:var(--radius-sm);border-left:3px solid var(--primary-lighter)} .ann-reply{padding:4px 0;border-bottom:1px solid var(--border-light)} .ann-reply:last-child{border-bottom:none} .ann-reply-author{font-weight:600;font-size:12px;color:var(--primary);margin-right:6px} .ann-reply-time{font-size:10px;color:var(--text-light)} .ann-reply-text{font-size:13px;color:var(--text);line-height:1.6;margin-top:2px} .ann-reply-form{display:flex;gap:6px;margin-top:6px} .ann-reply-input{flex:1;padding:5px 10px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:13px;font-family:inherit;transition:border-color 0.2s} .ann-reply-input:focus{outline:none;border-color:var(--primary-lighter)} .ann-reply-btn{padding:5px 12px;background:var(--primary-light);color:white;border:none;border-radius:var(--radius-sm);font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:background 0.2s} .ann-reply-btn:hover{background:var(--primary)} .ann-reply-btn:disabled{opacity:0.6;cursor:not-allowed} .ann-pending-badge{font-size:11px;background:#fee2e2;color:var(--accent);padding:2px 7px;border-radius:var(--radius-sm);font-weight:600;white-space:nowrap;margin-left:auto} .card-workflow-status{font-size:11px;padding:2px 7px;border-radius:var(--radius-sm);font-weight:600;border:1.5px solid;background:white;cursor:pointer;transition:all 0.2s;white-space:nowrap} .card-workflow-status:hover{background:var(--bg-subtle);transform:scale(1.05)} .suggestion-section{background:linear-gradient(180deg,var(--primary-bg) 0%,#e8eef5 100%);padding:40px 24px;border-top:1px solid var(--border-light)} .suggestion-inner{max-width:680px;margin:0 auto} .suggestion-title{font-size:20px;font-weight:800;color:var(--primary);text-align:center;margin-bottom:6px} .suggestion-desc{font-size:13px;color:var(--text-light);text-align:center;margin-bottom:24px;line-height:1.7} .suggestion-form{background:white;border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);border:1px solid var(--border-light)} .sug-row{display:flex;gap:12px;margin-bottom:12px} .sug-input{flex:1;padding:10px 14px;border:2px solid var(--border);border-radius:var(--radius-sm);font-size:14px;font-family:inherit;transition:border-color 0.2s} .sug-input:focus{outline:none;border-color:var(--primary-lighter)} .sug-select{padding:10px 14px;border:2px solid var(--border);border-radius:var(--radius-sm);font-size:14px;font-family:inherit;background:white;cursor:pointer;min-width:120px} .sug-target{width:100%;margin-bottom:12px;box-sizing:border-box} .sug-textarea{width:100%;padding:10px 14px;border:2px solid var(--border);border-radius:var(--radius-sm);font-size:14px;font-family:inherit;resize:vertical;margin-bottom:14px;box-sizing:border-box;line-height:1.7;transition:border-color 0.2s} .sug-textarea:focus{outline:none;border-color:var(--primary-lighter)} .sug-submit-btn{width:100%;padding:11px;background:var(--primary);color:white;border:none;border-radius:var(--radius-sm);font-size:15px;font-weight:600;cursor:pointer;transition:background 0.2s;font-family:inherit} .sug-submit-btn:hover{background:var(--primary-light)} .sug-submit-btn:disabled{opacity:0.6;cursor:not-allowed} .page-title{font-size:22px;font-weight:800;color:var(--text);margin-bottom:20px} .status-dashboard{background:white;border-radius:var(--radius);padding:24px;margin-bottom:24px;box-shadow:var(--shadow-sm);border:1px solid var(--border-light)} .dashboard-summary{display:flex;gap:40px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border-light)} .dashboard-stat{display:flex;flex-direction:column;align-items:center} .dash-stat-num{font-size:28px;font-weight:800;color:var(--primary);line-height:1.2} .dash-stat-pending .dash-stat-num{color:var(--accent)} .dash-stat-label{font-size:12px;color:var(--text-light);margin-top:4px} .dashboard-bars{display:flex;flex-direction:column;gap:8px} .dash-bar-item{display:flex;flex-direction:column;gap:3px} .dash-bar-row{display:flex;justify-content:space-between;align-items:center;font-size:13px} .dash-bar-label{font-weight:600} .dash-bar-count{color:var(--text-light);font-size:12px} .dash-bar-track{height:6px;background:var(--bg-hover);border-radius:3px;overflow:hidden} .dash-bar-fill{height:100%;border-radius:3px;transition:width 0.5s ease} .dash-table-wrap{overflow-x:auto;background:white;border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);margin-top:16px} .dash-table{width:100%;border-collapse:collapse;font-size:13px} .dash-table th{background:var(--bg-subtle);color:var(--primary);font-weight:700;text-align:left;padding:10px 14px;border-bottom:2px solid var(--border);white-space:nowrap;font-size:13px} .dash-table td{padding:9px 14px;border-bottom:1px solid var(--border-light);color:var(--text)} .dash-table tbody tr{transition:background 0.15s} .dash-table tbody tr:hover{background:var(--bg-subtle)} .dash-table tbody tr.dash-row-pending{background:#fef7f0} .dash-table tbody tr.dash-row-pending:hover{background:#fdf0e6} .dash-seq{font-weight:700;color:var(--primary);font-size:12px} .dash-title{min-width:200px} .dash-table .status-badge{cursor:pointer;transition:all 0.2s} .dash-table .status-badge:hover{transform:scale(1.05);opacity:0.85} .dash-ann-count,.dash-pending-count{text-align:center;font-weight:600} @media (max-width:768px){.dashboard-summary{gap:24px} .dash-stat-num{font-size:22px} .status-dashboard{padding:16px} .dash-table{font-size:12px} .dash-table th,.dash-table td{padding:7px 10px} .dash-title{min-width:120px} .page-title{font-size:18px} } .profile-page{max-width:800px;margin:0 auto} .profile-hero{text-align:center;padding:56px 24px 44px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);color:white;border-radius:var(--radius);margin-bottom:40px;position:relative;overflow:hidden} .profile-hero::before{content:'';position:absolute;top:-40px;right:-40px;width:200px;height:200px;border:2px solid rgba(255,255,255,0.06);border-radius:50%} .profile-hero::after{content:'';position:absolute;bottom:-60px;left:-60px;width:240px;height:240px;border:2px solid rgba(255,255,255,0.04);border-radius:50%} .profile-name{font-size:32px;font-weight:800;letter-spacing:2px;margin-bottom:8px;position:relative;z-index:1} .profile-title{font-size:15px;color:rgba(255,255,255,0.8);margin-bottom:12px;position:relative;z-index:1} .profile-tagline{font-size:14px;color:rgba(255,255,255,0.65);font-style:italic;position:relative;z-index:1} .profile-section{background:var(--card-bg);border-radius:var(--radius);padding:28px 32px;margin-bottom:24px;box-shadow:var(--shadow);border:1px solid var(--border)} .profile-section:nth-child(even){background:var(--bg-subtle)} .profile-section-title{font-size:20px;color:var(--primary);margin-bottom:16px;padding-bottom:10px;border-bottom:2px solid var(--primary-bg)} .profile-subtitle{font-size:16px;color:var(--primary-light);margin:20px 0 10px;font-weight:600} .profile-subtitle:first-child{margin-top:0} .profile-list{list-style:none;padding:0} .profile-list li{padding:6px 0 6px 20px;position:relative;color:var(--text);font-size:15px;line-height:1.7} .profile-list li::before{content:'';position:absolute;left:0;top:15px;width:8px;height:8px;border-radius:50%;background:var(--primary-lighter)} .profile-text{color:var(--text);font-size:15px;line-height:1.8} .revision-notice{background:var(--warning-bg);border:1px solid var(--warning-border);border-left:4px solid var(--warning);color:#856404;padding:12px 20px;border-radius:8px;margin:16px 0;font-size:14px;line-height:1.7} .ai-score-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--radius-sm,6px);font-size:12px;font-weight:600;color:var(--primary);background:var(--primary-bg);border:none;margin:0 0 0 4px;vertical-align:middle} .ai-score-num{font-size:13px;font-weight:700;color:var(--primary)} .ai-score-badge-card{display:inline-flex;align-items:center;gap:2px;padding:2px 7px;border-radius:4px;font-size:11px;font-weight:500;color:#718096;background:#f7fafc;border:1px solid #e2e8f0;margin-left:6px;vertical-align:middle} .ai-review{background:#f8f9fa;border:1px solid #e2e8f0;border-left:3px solid #718096;border-radius:6px;padding:14px 18px;margin:24px 0;font-size:13px;line-height:1.6} .ai-review h3{font-size:14px;color:#4a5568;margin:0 0 8px 0;padding:0;border:none;font-weight:600} .ai-review p{margin:2px 0;white-space:normal;color:#4a5568} .article-toc{background:#f8f9fa;border:1px solid #e2e8f0;border-left:3px solid #2c5282;border-radius:8px;padding:12px 20px;margin:0 0 24px 0;font-size:14px} .article-toc summary{cursor:pointer;font-weight:600;color:#2c5282;font-size:15px;user-select:none;list-style:none;padding:2px 0} .article-toc summary::-webkit-details-marker{display:none} .article-toc summary::before{content:'▶';display:inline-block;margin-right:8px;font-size:11px;transition:transform 0.2s} .article-toc[open] summary::before{transform:rotate(90deg)} .toc-list{margin-top:10px;display:flex;flex-direction:column;gap:4px} .toc-item{display:block;color:#4a5568;text-decoration:none;padding:4px 0 4px 16px;border-left:2px solid transparent;transition:all 0.15s;line-height:1.5} .toc-item:hover{color:#2c5282;border-left-color:#cbd5e0} .toc-item.toc-active{color:#2c5282;font-weight:600;border-left-color:#2c5282;background:rgba(44,82,130,0.05)} .toc-level-3{padding-left:32px;font-size:13px;color:#718096} .back-to-top{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px;border-radius:8px;background:#f7fafc;color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;font-size:13px;font-family:inherit;opacity:0;visibility:hidden;transition:all 0.3s ease} .back-to-top.visible{opacity:1;visibility:visible} .back-to-top:hover{background:#edf2f7;color:var(--primary);border-color:var(--primary-light)} .batch-progress{font-size:13px;color:#718096;font-weight:400;margin-left:8px} .batch-progress-bar{display:inline-block;width:80px;height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden;vertical-align:middle;margin-left:8px} .batch-progress-fill{display:block;height:100%;background:linear-gradient(90deg,#48bb78,#38a169);border-radius:3px;transition:width 0.3s} .search-highlight{background:rgba(255,213,79,0.4);border-radius:2px;padding:0 1px} .dash-ai-col{text-align:center;font-size:14px} .dash-ai-score{display:inline-block;min-width:32px;padding:2px 8px;border-radius:4px;font-weight:600;font-size:13px} .dash-ai-score:not(:empty){background:#f0f4f8;color:#2c5282} .article-loading{text-align:center;padding:80px 20px;color:var(--text-light)} .article-loading p{margin-top:16px;font-size:15px} .loading-spinner{width:36px;height:36px;margin:0 auto;border:3px solid var(--border-light);border-top-color:var(--primary);border-radius:50%;animation:spin 0.8s linear infinite} @keyframes spin{to{transform:rotate(360deg)} } .article-error{text-align:center;padding:60px 20px} .article-error p{margin:12px 0;color:var(--text-light)} .article-error a{color:var(--primary);text-decoration:underline} .dash-pending-badge{display:inline-block;background:#fb923c;color:#fff;font-size:11px;font-weight:700;padding:2px 8px;border-radius:10px;min-width:18px;text-align:center}