:root{--primary:#1a3c6e;--secondary:#17a589;--material-accent:#2e86c1;--gene-accent:#27ae60;--browse-accent:#e67e22;--bg:#f8f9fa;--text:#333;--gray-light:#eee;--gray:#888}*{box-sizing:border-box;margin:0;padding:0}html{scrollbar-gutter:stable}body{background:var(--bg);color:var(--text);font-family:-apple-system,Segoe UI,Roboto,PingFang SC,Microsoft YaHei,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 20px}.nav{border-bottom:1px solid var(--gray-light);z-index:1000;background:#fff;padding:10px 0;position:sticky;top:0}.nav-container{justify-content:center;align-items:center;min-height:100px;display:flex;position:relative}.nav-logo{align-items:center;display:flex;position:absolute;left:20px}.nav-logo img{width:auto;height:100px}.nav-links{align-items:center;gap:40px;display:flex}.nav-links a{color:#333;border-radius:5px;padding:8px 12px;font-size:16px;font-weight:500;transition:all .2s}.nav-links a:hover{color:var(--primary)}.nav-links a.active{color:var(--primary);font-weight:600;position:relative}.nav-links a.active:after{content:"";background:var(--primary);border-radius:2px;height:3px;position:absolute;bottom:-2px;left:12px;right:12px}.footer{color:#a0aec0;background:#0f1f3a;margin-top:60px;padding:60px 0 30px}.footer-main{justify-content:space-between;gap:40px;margin-bottom:40px;display:flex}.footer-brand{flex:1;max-width:450px}.footer-logo{height:80px;margin-bottom:20px;margin-left:-5px;display:block}.footer-desc{color:#8fa1b9;font-size:14px;line-height:1.8}.footer-links{justify-content:flex-end;gap:80px;display:flex}.footer-column h4{color:#fff;margin-bottom:25px;font-size:16px;font-weight:600}.footer-column ul{padding:0;list-style:none}.footer-column li{margin-bottom:12px}.footer-column a{color:#8fa1b9;font-size:14px;transition:color .2s}.footer-column a:hover{color:#fff}.footer-bottom{color:#63768d;border-top:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding-top:25px;font-size:13px;display:flex}.footer-bottom>p{flex:1}.footer-bottom>p:first-child{text-align:left}.footer-bottom>p:nth-child(2){text-align:center}.footer-bottom>p:last-child{text-align:right}.footer-bottom a{color:inherit;text-decoration:none;transition:color .2s}.footer-bottom a:hover{color:#fff}.dev-note{color:#856404;background:#fff3cd;border-left:4px solid #ffc107;margin:10px 0;padding:8px 14px;font-size:13px}.dev-note:before{content:"开发提示：";font-weight:700}.section{background:#fff;border-radius:10px;margin-bottom:16px;overflow:hidden;box-shadow:0 1px 4px #0000000f}.section-head{border-bottom:1px solid var(--gray-light);background:#fafbfc;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.section-head h2{color:var(--primary);font-size:16px}.section-body{padding:16px 20px}.badge{border-radius:10px;padding:3px 10px;font-size:12px}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;color:#555;background:#f8f9fa;border-bottom:2px solid #e9ecef;padding:10px 14px;font-size:13px;font-weight:600}td{border-bottom:1px solid #f0f0f0;padding:10px 14px}tr:hover td{background:#f8fbfe}.btn{cursor:pointer;border:none;border-radius:8px;padding:10px 24px;font-size:14px;transition:opacity .2s;display:inline-block}.btn-primary{background:var(--primary);color:#fff}.btn-secondary{background:var(--secondary);color:#fff}.home{background:#f8f9fa;min-height:100vh}.home .header{text-align:center;color:#fff;background:linear-gradient(135deg,#1a3c6e 0%,#17a589 100%);padding:60px 20px 40px}.home .header h1{letter-spacing:2px;margin-bottom:8px;font-size:42px;font-weight:300}.home .header h1 span{font-weight:700}.home .subtitle{opacity:.85;letter-spacing:1px;margin-bottom:35px;font-size:16px}.home .search-box{z-index:100;max-width:700px;margin:0 auto;position:relative}.home .search-box input{color:#333;border:none;border-radius:40px;outline:none;width:100%;padding:18px 24px 18px 56px;font-size:17px;box-shadow:0 4px 28px #0003}.home .search-box .icon{color:#888;font-size:22px;position:absolute;top:50%;left:20px;transform:translateY(-50%)}.home .search-box button{color:#fff;cursor:pointer;background:#17a589;border:none;border-radius:35px;padding:12px 30px;font-size:16px;transition:background .2s;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.home .search-box button:hover{background:#148f77}.home .suggestions{text-align:left;background:#fff;border-radius:0 0 20px 20px;margin-top:-10px;padding:20px 0 10px;position:absolute;top:100%;left:20px;right:20px;overflow:hidden;box-shadow:0 10px 30px #00000026}.home .suggest-group{padding:10px 20px}.home .suggest-group .label{color:#999;text-transform:uppercase;margin-bottom:6px;font-size:12px;font-weight:600}.home .suggest-item{color:#444;padding:8px 0;font-size:15px;text-decoration:none;transition:color .2s;display:block}.home .suggest-item:hover{color:#17a589}.home .examples{text-align:center;max-width:700px;margin:24px auto 0}.home .examples span{color:#ffffffb3;font-size:14px}.home .examples a,.home .examples .example-link{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:20px;margin:5px;padding:6px 16px;font-family:inherit;font-size:14px;text-decoration:none;transition:background .2s;display:inline-block}.home .examples a:hover,.home .examples .example-link:hover{background:#ffffff4d}.home .stats{z-index:10;flex-wrap:wrap;justify-content:center;gap:16px;max-width:1200px;margin:30px auto 10px;padding:0 20px;display:flex;position:relative}.home .stat-card{text-align:center;color:#fff;border-radius:12px;flex-direction:column;flex:130px;justify-content:center;align-items:center;width:135px;max-width:160px;min-height:120px;padding:20px 10px;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 4px 20px #00000026}.home .stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #00000040}.home .stat-card.blue{background:#1e4e79}.home .stat-card.teal{background:#147b72}.home .stat-card.brown{background:#b37d22}.home .stat-card .number{color:#fff;margin-bottom:6px;font-size:28px;font-weight:700;line-height:1.2}.home .stat-card .label{color:#ffffffe6;font-size:13px;line-height:1.3}.home .features{max-width:1200px;margin:60px auto;padding:0 20px}.home .features h2{text-align:center;color:#1a3c6e;margin-bottom:35px;font-size:24px}.home .feature-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.home .feature-card{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-left:4px solid;border-radius:8px;flex-direction:column;padding:30px 24px;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 4px 16px #0000000a}.home .feature-card:hover{transform:translateY(-5px);box-shadow:0 8px 24px #00000014}.home .feature-card.mat{border-left-color:#1e4e79}.home .feature-card.gene{border-left-color:#147b72}.home .feature-card.browse{border-left-color:#b37d22}.home .feature-card h3{color:#1a3c6e;margin-bottom:12px;font-size:18px}.home .feature-card p{color:#666;margin-bottom:20px;font-size:14px;line-height:1.7}.home .feature-card .cta{margin-top:auto;font-size:14px;font-weight:600;text-decoration:none;display:inline-block}.home .feature-card.mat .cta{color:#1e4e79}.home .feature-card.gene .cta{color:#147b72}.home .feature-card.browse .cta{color:#b37d22}.home .help-links{text-align:center;flex-wrap:wrap;justify-content:center;gap:15px;padding:40px 20px;display:flex}.home .help-links .btn-h{color:#1a3c6e;background:#fff;border:1px solid #1a3c6e;border-radius:8px;padding:12px 30px;font-size:14px;text-decoration:none;transition:all .2s}.home .help-links .btn-h:hover{background:#f0f4f8}.home .btn-main{color:#fff!important;background:#1a3c6e!important;border:none!important}.browse-page .page-header{background:#fff;border-bottom:1px solid #eee;padding:20px 0}.browse-page .page-header h1{color:#1a3c6e;font-size:22px}.browse-page .page-header .result-count{color:#888;font-size:14px}.browse-page .layout{box-sizing:border-box;flex:1;gap:16px;width:100%;max-width:1280px;margin:20px auto;padding:0 16px;display:flex}.browse-page .sidebar{flex-shrink:0;width:220px}.browse-page .filter-group{background:#fff;border-radius:10px;margin-bottom:12px;padding:16px;box-shadow:0 1px 4px #0000000f}.browse-page .filter-group h3{color:#1a3c6e;border-bottom:1px solid #eee;margin-bottom:10px;padding-bottom:8px;font-size:14px}.browse-page .filter-group label{color:#555;cursor:pointer;padding:4px 0;font-size:13px;display:block}.browse-page .filter-group input[type=checkbox],.browse-page .filter-group input[type=radio]{margin-right:8px}.browse-page .filter-group input[type=text]{border:1px solid #ddd;border-radius:6px;width:100%;padding:8px 10px;font-size:13px}.browse-page .filter-group .count{float:right;color:#aaa;font-size:12px}.browse-page .reset-btn{color:#666;cursor:pointer;background:#f8f9fa;border:1px solid #ddd;border-radius:6px;width:100%;padding:8px;font-size:13px;transition:all .2s}.browse-page .reset-btn:hover{background:#e9ecef}.browse-page .main-content{flex-direction:column;flex:1;min-width:0;min-height:800px;display:flex}.browse-page .entry-card{cursor:default;background:#fff;border-radius:10px;gap:16px;margin-bottom:12px;padding:16px 20px;transition:box-shadow .2s,transform .2s;display:flex;box-shadow:0 1px 4px #0000000f}.browse-page .entry-card:hover{transform:translateY(-1px);box-shadow:0 2px 12px #0000001f}.browse-page .entry-main{flex:1}.browse-page .entry-main h3{color:#1a3c6e;margin-bottom:8px;font-size:14px;line-height:1.4}.browse-page .entry-main h3 a{color:#1a3c6e;text-decoration:none}.browse-page .entry-main h3 a:hover{text-decoration:underline}.browse-page .entry-meta{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.browse-page .meta-tag{border-radius:10px;padding:2px 10px;font-size:11px;font-weight:500;display:inline-block}.browse-page .tag-type{color:#0c5460;background:#d1ecf1}.browse-page .tag-disease{color:#721c24;background:#f8d7da}.browse-page .tag-species,.browse-page .tag-evidence-direct{color:#155724;background:#d4edda}.browse-page .tag-evidence-corr{color:#856404;background:#fff3cd}.browse-page .entry-details{color:#555;font-size:13px;line-height:1.6}.browse-page .entry-details strong{color:#333}.browse-page .entry-details .val-link{color:#2e86c1;font-weight:500;text-decoration:none}.browse-page .entry-details .val-link:hover{text-decoration:underline}.browse-page .entry-details .separator{color:#ccc;margin:0 8px}.browse-page .entry-side{border-left:1px solid #f0f0f0;flex-direction:column;justify-content:space-between;align-items:flex-end;min-width:80px;padding-left:16px;display:flex}.browse-page .entry-year{color:#999;font-size:16px;font-weight:700}.browse-page .doi{font-size:12px;font-weight:600;text-decoration:none;color:#2e86c1!important}.browse-page .doi:hover{text-decoration:underline}.browse-page .pagination-container{flex-direction:column;align-items:center;gap:12px;width:100%;padding-top:30px;display:flex;margin-top:auto!important}.browse-page .pagination{justify-content:center;gap:6px;display:flex}.browse-page .pagination button{color:#555;cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:6px;min-width:40px;padding:6px 14px;font-size:13px;text-decoration:none;transition:all .2s;display:inline-block}.browse-page .pagination button.active{color:#fff;background:#1a3c6e;border-color:#1a3c6e}.browse-page .pagination button:disabled{color:#ccc;cursor:not-allowed;background:#f5f5f5;border-color:#e3e3e3}.browse-page .pagination button:hover:not(.active):not(:disabled){background:#f0f0f0}.browse-page .jump-submit-btn:hover{background:#122a4f!important}.browse-page .filter-dev-note{color:#856404;background:#fff3cd;border-left:3px solid #ffc107;border-radius:0 4px 4px 0;margin-top:10px;padding:8px 10px;font-size:11px;line-height:1.4}.browse-page .year-range{align-items:center;gap:8px;display:flex}.browse-page .year-range input{text-align:center;width:80px!important}.not-found-page{text-align:center;background:#f8f9fa;justify-content:center;align-items:center;min-height:calc(100vh - 200px);padding:80px 20px;display:flex}.logo-404{opacity:.6;width:180px;height:auto;margin-bottom:20px}.title-404{color:#4a5a75;letter-spacing:2px;margin-bottom:20px;font-size:84px;font-weight:800}.text-404{color:#63768d;max-width:500px;margin-bottom:40px;margin-left:auto;margin-right:auto;font-size:18px;line-height:1.6}.back-btn{color:#fff;background:#1a3c6e;border-radius:6px;padding:12px 40px;font-weight:600;text-decoration:none;transition:background .2s;display:inline-block}.back-btn:hover{background:#132d54}.card-page .section-label{color:#1f4e79;align-items:center;gap:10px;font-size:15px;font-weight:600;line-height:1.3;display:inline-flex}.card-page .section-label:before{content:attr(data-num);color:#fff;background:#1f4e79;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:inline-flex}.card-page.material-card .section-label{color:#1f4e79}.card-page.material-card .section-label:before{background:#2e86c1}.status-badge.badge-confirmed{color:#1f8b4c;background:#e6f7ed}.status-badge.badge-ns{color:#6c757d;background:#f1f3f5}.status-badge.badge-novel{color:#c68a1d;background:#fdf5e6}.status-badge.badge-discrepant{color:#e53e3e;background:#fde8e8}.status-badge.badge-lit{color:#2b6cb0;background:#e8f4fd}.entry-detail-page{color:#333;background:#f5f6f8;min-height:100vh}.entry-header{color:#fff;background:linear-gradient(135deg,#1a3c6e 0%,#2e86c1 60%,#48b1bf 100%);padding:28px 40px 24px}.entry-header .container{max-width:1200px;margin:0 auto}.entry-header .breadcrumb{opacity:.7;margin-bottom:12px;font-size:13px}.entry-header .breadcrumb a{color:#fff;text-decoration:underline}.entry-header h1{font-size:20px;font-weight:600;line-height:1.5}.entry-header .tags{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.entry-header .tags span{border-radius:14px;padding:3px 14px;font-size:12px;font-weight:500;display:inline-block}.htag-type{color:#fff;background:#fff3;border:1px solid #ffffff4d}.htag-disease{color:#fff;background:#e74c3c4d;border:1px solid #e74c3c66}.htag-species{color:#fff;background:#2ecc714d;border:1px solid #2ecc7166}.htag-evidence{color:#fff;background:#2ecc7180;border:1px solid #2ecc7180}.entry-detail-page .section-nav{z-index:100;background:#fff;border-bottom:1px solid #eee;flex-wrap:wrap;justify-content:center;gap:6px;padding:10px 40px;display:flex;position:sticky;top:0}.entry-detail-page .section-nav a{color:#1a3c6e;white-space:nowrap;background:#f0f4f8;border-radius:6px;padding:5px 12px;font-size:12px;text-decoration:none;display:inline-block}.entry-detail-page .section-nav a:hover{background:#d6e4f0}.entry-detail-page .section-nav a.nav-active{color:#fff;background:#1a3c6e}.entry-detail-content{max-width:1200px;margin:20px auto;padding:0 20px}.entry-detail-page .section{background:#fff;border-radius:10px;margin-bottom:14px;overflow:hidden;box-shadow:0 1px 4px #0000000f}.entry-detail-page .section-head{cursor:pointer;-webkit-user-select:none;user-select:none;background:#fafbfc;border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.entry-detail-page .section-head h2{color:#1a3c6e;align-items:center;gap:8px;margin:0;font-size:15px;display:flex}.entry-detail-page .section-head .field-count{color:#2e86c1;background:#e8f4fd;border-radius:10px;padding:2px 10px;font-size:11px;font-weight:500}.entry-detail-page .section-body{padding:0}.field-table{border-collapse:collapse;width:100%;font-size:13px}.field-table tr{border-bottom:1px solid #f2f3f5}.field-table tr:last-child{border-bottom:none}.field-table tr:hover{background:#f8fbfe}.field-table td{vertical-align:top;padding:10px 16px;line-height:1.6}.field-table .field-name{color:#555;white-space:nowrap;background:#fafbfc;width:180px;font-size:12px;font-weight:600}.field-table .field-value{color:#333;word-break:break-word}.field-null{color:#bbb;font-style:italic}.entry-detail-page .gene-link{color:#2e86c1;cursor:pointer;background:#e8f4fd;border-radius:4px;margin:1px 2px;padding:1px 8px;font-size:12px;font-weight:600;text-decoration:none;display:inline-block}.entry-detail-page .gene-link:hover{background:#d0e8f7;text-decoration:underline}.badge-yes{color:#155724;background:#d4edda;border-radius:4px;padding:2px 10px;font-size:12px;font-weight:500;display:inline-block}.badge-no{color:#721c24;background:#f8d7da;border-radius:4px;padding:2px 10px;font-size:12px;font-weight:500;display:inline-block}.badge-review{color:#383d41;background:#e2e3e5;border-radius:4px;padding:2px 10px;font-size:12px;display:inline-block}.badge-direct{color:#155724;background:#d4edda;border-radius:4px;padding:2px 10px;font-size:12px;font-weight:500;display:inline-block}.entry-detail-page .tech-tag{color:#1a3c6e;background:#e8f4fd;border-radius:12px;margin:2px 3px;padding:3px 10px;font-size:12px;display:inline-block}.tech-tag-ht{color:#155724;background:#d4edda}.mechanism-block{color:#333;background:#f8fbfe;border-left:3px solid #2e86c1;border-radius:0 8px 8px 0;margin:8px 16px 12px;padding:12px 16px;font-size:13px;line-height:1.7}.compare-adv{background:#f0faf0;border-left:3px solid #27ae60;border-radius:0 6px 6px 0;margin:6px 16px 10px;padding:10px 14px;font-size:13px;line-height:1.6}.bottom-actions{justify-content:center;gap:12px;padding:20px;display:flex}.entry-detail-page .btn-primary{color:#fff;cursor:pointer;background:#1a3c6e;border:none;border-radius:8px;padding:10px 24px;font-size:14px;text-decoration:none}.entry-detail-page .btn-secondary{color:#1a3c6e;cursor:pointer;background:#fff;border:1px solid #1a3c6e;border-radius:8px;padding:10px 24px;font-size:14px;text-decoration:none}.entry-detail-page .btn-secondary:hover{background:#f0f4f8}.section-body.collapsed{display:none}.toggle-icon{color:#999;font-size:12px;transition:transform .2s}.toggle-icon.open{transform:rotate(90deg)}.loading-screen,.not-found{text-align:center;color:#666;padding:100px;font-size:18px}.import-page{background-color:#f8fafc;min-height:100vh}.import-hero{color:#fff;text-align:center;background:linear-gradient(135deg,#1e293b 0%,#334155 100%);margin-bottom:40px;padding:60px 0}.import-hero h1{margin-bottom:1rem;font-size:2.5rem;font-weight:700}.import-hero p{opacity:.9;max-width:600px;margin:0 auto;font-size:1.1rem}.import-content{max-width:1000px;margin-bottom:80px}.option-card{text-align:center;background:#fff;border-radius:16px;flex-direction:column;align-items:center;padding:30px;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.option-card:hover{transform:translateY(-4px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.settings-card{text-align:left;align-items:flex-start;margin-bottom:30px}.import-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;margin-bottom:40px;display:grid}.import-grid.single-card{justify-content:center;display:flex}.import-grid.single-card .option-card{width:100%}.icon{margin-bottom:20px;font-size:3rem}.option-card h3{color:#1e293b;margin-bottom:15px;font-size:1.5rem}.option-card p{color:#64748b;margin-bottom:25px;line-height:1.6}code{color:#ef4444;background:#f1f5f9;border-radius:4px;padding:2px 6px;font-family:monospace;font-size:.9em}.btn{cursor:pointer;border:none;border-radius:8px;width:100%;padding:12px 24px;font-weight:600;transition:all .2s}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{color:#fff;background:#2563eb}.btn-primary:hover:not(:disabled){background:#1d4ed8}.btn-secondary{color:#fff;background:#64748b}.btn-secondary:hover:not(:disabled){background:#475569}.checkbox-group{margin-top:15px}.checkbox-label{cursor:pointer;color:#1e293b;align-items:center;font-weight:500;display:flex}.checkbox-label input{width:18px;height:18px;margin-right:10px}.hint{font-size:.85rem;color:#ef4444!important;margin-top:8px!important}.upload-form{width:100%}.file-input{border:1px dashed #cbd5e1;border-radius:8px;width:100%;margin-bottom:15px;padding:8px;display:block}.status-box{border-radius:12px;flex-direction:column;align-items:center;margin-top:20px;padding:30px;animation:.3s ease-out fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.status-loading{background:#eff6ff;border:1px solid #bfdbfe}.status-success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.status-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.spinner{border:4px solid #dbeafe;border-top-color:#2563eb;border-radius:50%;width:40px;height:40px;margin-bottom:10px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.link{color:#2563eb;margin-top:15px;font-weight:600;text-decoration:underline;display:inline-block}.analysis-page{background:#f5f6f8;min-height:calc(100vh - 80px)}.analysis-page .stats-row{flex-wrap:wrap;gap:16px;margin-bottom:20px;display:flex}.analysis-page .stat-box{text-align:center;-webkit-user-select:none;user-select:none;border-radius:10px;flex:1;min-width:200px;padding:20px 16px;transition:transform .3s cubic-bezier(.25,.8,.25,1),box-shadow .3s cubic-bezier(.25,.8,.25,1),outline .2s;box-shadow:0 4px 6px #0000000d}.analysis-page .stat-box:hover{transform:translateY(-6px);box-shadow:0 12px 20px #00000026}.analysis-page .stat-box.active-filter{outline-offset:3px;outline:4px solid #1f2937}.analysis-page .stat-box .number{font-size:36px;font-weight:700;line-height:1.2}.analysis-page .stat-box .label{letter-spacing:.5px;margin-top:6px;font-size:14px}.analysis-page .stat-box .desc{opacity:.8;margin-top:4px;font-size:11px}.analysis-page .hover-badge{color:#fff;background:#f59e0b;border-radius:12px;padding:2px 8px;font-size:11px;font-weight:700;line-height:1.2;display:inline-block}.analysis-page .matrix-cell.cell-dimmed{opacity:.15;filter:grayscale(.8);transform:scale(.95)}.analysis-page .matrix-container{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;grid-template-columns:140px repeat(6,1fr);gap:3px;margin:20px 0;padding:4px;display:grid;overflow-x:auto}.analysis-page .matrix-header{text-align:center;border-radius:4px;min-height:44px;padding:12px 6px;font-size:12px;font-weight:600}.analysis-page .matrix-row-header{border-radius:4px;padding:10px 12px;font-size:13px;font-weight:700}.analysis-page .matrix-cell{border-radius:4px;font-size:16px;transition:all .2s}.analysis-page .matrix-cell:hover{filter:brightness(.95);cursor:default;transform:scale(1.02)}.analysis-page .cell-concordant{color:#155724;background:#d4edda}.analysis-page .cell-novel{color:#856404;background:#fff3cd}.analysis-page .cell-discrepant{color:#721c24;background:#f8d7da}.analysis-page .cell-nodata{color:#94a3b8;background:#f1f5f9}.analysis-page .gene-list{flex-wrap:wrap;gap:8px;display:flex}.analysis-page .gene-tag{border-radius:20px;padding:6px 14px;font-size:13px;font-weight:500;transition:all .2s;display:inline-block}.analysis-page .gene-tag:hover{opacity:.85;transform:translateY(-1px);box-shadow:0 2px 5px #00000014}.analysis-page .gene-concordant{color:#155724;background:#d4edda;border:1px solid #c3e6cb}.analysis-page .gene-novel{color:#856404;background:#fff3cd;border:1px solid #ffeeba}.analysis-page .gene-discrepant{color:#721c24;background:#f8d7da;border:1px solid #f5c6cb}.analysis-page table{border-collapse:collapse;width:100%;margin-top:10px}.analysis-page th{color:#334155;background:#f8fafc;border-bottom:2px solid #e2e8f0;padding:12px 14px;font-size:13px;font-weight:600}.analysis-page td{border-bottom:1px solid #f1f5f9;padding:12px 14px;font-size:13px}.analysis-page tr:hover td{background:#f8fafc}.analysis-page .view-badge{color:#fff;background:#1e3a8a;border-radius:12px;padding:2px 8px;font-size:11px;font-weight:700}.analysis-page .filter-input:focus{box-shadow:0 0 0 2px #1f4e791a;border-color:#1f4e79!important}.analysis-page .suggestion-item:hover{background-color:#f3f4f6}.analysis-page .btn-outline:hover{background-color:#f9fafb!important;border-color:#9ca3af!important}.analysis-page .btn-primary:hover{opacity:.95}.analysis-page .cell-lit-only{color:#1e40af;background:#dbeafe}.analysis-page .cell-ns-rnaseq{color:#c2410c;background:#fed7aa}.analysis-page .cell-heatmap-active{color:#fff;background:#1e3a8a}.analysis-page.fullscreen-mode{background:#f9fafb;padding:20px}.analysis-page.fullscreen-mode .content{max-width:100%!important}.analysis-page .tag-filter span:hover{color:#ef4444!important}.analysis-page .matrix-cell.cell-selected{outline-offset:-3px;outline:3px solid #1f4e79;box-shadow:inset 0 0 4px #1f4e7966}.analysis-page .clickable-header:hover{background:#153a5c!important}.analysis-page .alias-pill{color:#374151;font-weight:500}.analysis-page .status-badge{border-radius:4px;display:inline-block}.analysis-page .status-badge.cell-concordant{color:#155724;background:#d4edda}.analysis-page .status-badge.cell-novel{color:#856404;background:#fff3cd}.analysis-page .status-badge.cell-discrepant{color:#721c24;background:#f8d7da}.analysis-page .status-badge.cell-lit-only{color:#1e40af;background:#dbeafe}.analysis-page .status-badge.cell-ns-rnaseq{color:#c2410c;background:#fed7aa}.analysis-page .material-breakdown-section .bar-segment{transition:height .3s,width .3s}.analysis-page .material-breakdown-section .bar-segment:hover{filter:brightness(1.1);opacity:.9}.fullscreen-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-sizing:border-box;justify-content:center;align-items:center;width:100vw;height:100vh;padding:24px;display:flex;position:fixed;top:0;left:0;z-index:9999!important;background:#0f172a99!important}.fullscreen-card{background:#fff;border-radius:12px;flex-direction:column;width:100%;max-width:1400px;height:90vh;animation:.3s cubic-bezier(.16,1,.3,1) modalFadeIn;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #00000040;border:3px solid #9333ea!important}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.fullscreen-header{background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.fullscreen-title{align-items:center;gap:8px;margin:0;font-size:20px;font-weight:700;display:flex;color:#7c3aed!important}.fullscreen-exit-btn{color:#4b5563;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;font-size:16px;font-weight:700;transition:color .15s;display:flex}.fullscreen-exit-btn:hover{color:#7c3aed}.fullscreen-body{flex-direction:column;flex:1;padding:24px;display:flex;overflow-y:auto}.algo-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;box-sizing:border-box;background:#0f172a80;justify-content:center;align-items:center;width:100vw;height:100vh;padding:20px;display:flex;position:fixed;top:0;left:0}.algo-card{background:#fff;border:1px solid #1f4e79;border-radius:12px;flex-direction:column;width:100%;max-width:1100px;max-height:95vh;animation:.25s ease-out modalFadeIn;display:flex;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.algo-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.algo-title-wrapper{align-items:center;gap:8px;display:flex}.algo-title-icon{font-size:20px}.algo-title{color:#1f4e79;margin:0;font-size:18px;font-weight:700}.algo-close-btn{color:#64748b;cursor:pointer;background:0 0;border:none;font-size:20px;font-weight:700;transition:color .15s}.algo-close-btn:hover{color:#0f172a}.algo-body{color:#334155;flex:1;padding:24px;font-size:14px;line-height:1.6;overflow-y:auto}.algo-subtitle{color:#64748b;border-bottom:1px dashed #e2e8f0;margin-top:0;margin-bottom:20px;padding-bottom:12px;font-size:13.5px}.algo-grid{grid-template-columns:1.3fr 1fr;gap:30px;margin-bottom:24px;display:grid}@media (width<=768px){.algo-grid{grid-template-columns:1fr}}.algo-section-title{color:#1e293b;margin-top:0;margin-bottom:12px;font-size:15px;font-weight:700}.algo-badge{border-radius:4px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.algo-badge.concordant{color:#155724;background:#d4edda}.algo-badge.discrepant{color:#721c24;background:#f8d7da}.algo-badge.novel{color:#856404;background:#fff3cd}.algo-badge.lit-only{color:#b57a07;background:#fef3c7}.algo-badge.ns-rnaseq{color:#475569;background:#e2e8f0}.algo-badge.nodata{color:#94a3b8;background:#f1f5f9}.algo-rule-list{margin:0;padding-left:0;list-style:none}.algo-rule-list li{margin-bottom:6px;padding-left:12px;font-size:13px;position:relative}.algo-rule-list li:before{content:"•";color:#64748b;position:absolute;left:0}.algo-calc-box{background:#f8fafc;border-radius:8px;margin-bottom:20px;padding:16px 20px}.algo-calc-flow{flex-wrap:wrap;align-items:center;gap:12px;margin-top:10px;display:flex}.algo-calc-card{background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:600}.algo-calc-result{color:#155724;background:#d4edda;border:1.5px solid #28a745;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:700}.algo-source-list{margin:0;padding-left:0;list-style:none}.algo-source-list li{margin-bottom:6px;padding-left:14px;font-size:13px;position:relative}.algo-source-list li:before{content:"•";color:#1f4e79;font-weight:700;position:absolute;left:0}.rnaseq-page{color:#1f2937;background:#f3f4f6;min-height:100vh;font-family:-apple-system,Microsoft YaHei,PingFang SC,sans-serif}.rnaseq-header{box-shadow:0 2px 8px #00000014}.rnaseq-page .container{max-width:1280px;margin:0 auto;padding-left:24px;padding-right:24px}.rnaseq-page .section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:24px;overflow:hidden;box-shadow:0 1px 3px #0000000d}.dataset-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin:16px 0;display:grid}.dataset-card{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px;transition:all .15s ease-in-out;position:relative}.dataset-card:hover{border-color:#0e7c7b;transform:translateY(-1px);box-shadow:0 4px 16px #0e7c7b26}.dataset-card.active{background:#f0fdfa;border-width:2px;border-color:#0e7c7b}.dataset-card h4{color:#0e7c7b;align-items:center;gap:8px;margin-bottom:6px;font-size:14px;display:flex}.ds-detail{background:#fff;border:2px solid #0e7c7b;border-radius:8px;margin-top:18px;overflow:hidden}.ds-detail-header{background:#f0fdfa;border-bottom:1px solid #d4ede9;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.ds-detail-header h3{color:#0e7c7b;margin:0}.ds-tabs{background:#fafafa;border-bottom:1px solid #e5e7eb;display:flex}.ds-tabs button{cursor:pointer;color:#6b7280;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:11px 14px;font-size:12px;transition:all .15s ease-in-out}.ds-tabs button:hover{color:#0e7c7b;background-color:#0e7c7b08}.ds-tabs button.active{color:#0e7c7b;background-color:#fff;border-bottom-color:#0e7c7b;font-weight:600}.ds-tab-content{padding:20px}.exp-design{background:#fafafa;border:1px solid #e5e7eb;border-radius:6px;align-items:center;gap:14px;padding:14px;font-size:12px;display:flex}.exp-design .step{text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;flex:1;min-width:100px;padding:8px 12px}.exp-design .arrow{color:#9ca3af;font-size:18px;font-weight:700}.rnaseq-page table{border-collapse:collapse;width:100%;margin:8px 0;font-size:13px}.rnaseq-page th{text-align:left;color:#374151;background:#f9fafb;border-bottom:2px solid #e5e7eb;padding:10px 12px;font-weight:600}.rnaseq-page td{color:#4b5563;border-bottom:1px solid #f3f4f6;padding:10px 12px}.rnaseq-page tr:hover td{background:#f9fafb}.gene-input-area input{transition:all .15s ease-in-out}.gene-input-area input:focus{border-color:#0e7c7b;outline:none;box-shadow:0 0 0 3px #0e7c7b1a}.ds-id{color:#fff;background-color:#0e7c7b;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:11px;font-weight:700;display:inline-flex}.app-container{flex-direction:column;min-height:100vh;display:flex}.brand{margin-right:auto;padding-left:20px;font-size:18px;font-weight:700;color:#1a3c6e!important}.nav-links{gap:15px;padding-right:20px;display:flex}.main{flex:1}.footer-content{max-width:1000px;margin:0 auto}.footer-content p{margin:5px 0}.lang-toggle-btn{color:#1a3c6e;cursor:pointer;background:0 0;border:1px solid #1a3c6e;border-radius:14px;padding:4px 12px;font-size:12px;font-weight:500;transition:all .2s;position:absolute;right:20px}.lang-toggle-btn:hover{background:#1a3c6e14;border-color:#1a3c6e}
