/* Hallmark · companion: historical component rules · shape: app screen · genre: modern-minimal · theme: brand · redesign: full · v2.0.0 */
/* Final reading and narrow-screen refinements after visual review. */
td small,.subtable td small{font-size:12px;color:var(--source-color-289);line-height:1.7}
.source-table td{font-size:12px;line-height:1.75}.source-context{max-width:260px;font-size:12px}.source-context summary{cursor:pointer;color:var(--source-color-290)}.source-context summary>span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.source-context summary>b{display:block;color:var(--source-color-291);font-size:11px;font-weight:400;margin-top:var(--space-2xs)}.source-context[open] summary>span{display:none}.source-context[open] summary>b{display:none}.source-context[open]>div{margin-top:var(--space-xs)}.source-context p{font-size:12px;line-height:1.8;overflow-wrap:anywhere;color:var(--source-color-289)}.source-context p+p{border-top:1px dotted var(--source-color-292);padding-top:var(--space-xs);margin-top:var(--space-xs)}.source-context[open] summary::after{content:"收起来源原文";color:var(--source-color-291);font-size:11px}
@media(max-width:700px){.main-nav{display:grid;grid-template-columns:repeat(4,1fr);overflow:visible;min-height:76px}.main-nav a{padding:var(--space-xs) var(--space-2xs);min-width:0;justify-content:center;font-size:12px;border-bottom:1px solid var(--source-color-293)}.main-nav a:nth-child(5){border-left:1px solid var(--source-color-293)}.table-wrap:has(table:not(.kv))::before{content:"← 左右滑动查看完整表格 →";display:block;position:sticky;left:0;max-width:100%;font-size:11px;line-height:2.5;color:var(--source-color-294);background:var(--source-color-295);border:1px solid var(--source-color-296);padding:0 var(--space-xs)}.table-wrap table:not(.kv) th:first-child,.table-wrap table:not(.kv) td:first-child{position:sticky;left:0;background:var(--source-color-232);z-index:1}.table-wrap table:not(.kv) th:first-child{z-index:2;background:var(--source-color-297)}.chart-grid .box-body{overflow:auto}.chart-grid .svg-chart{min-width:540px}.chart-grid .box-body::before{content:"← 左右滑动查看完整图表 →";display:block;position:sticky;left:0;font-size:11px;color:var(--source-color-294);line-height:2.2}.source-table td small,.subtable td small{font-size:12px;color:var(--source-color-289)}}
/* API-driven local viewer additions; retain the approved blue/white layout. */
#content{min-width:0;min-height:500px}#content[aria-busy=true]{opacity:.65;cursor:progress}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--source-color-298);outline-offset:2px}.masthead{overflow:hidden}.main-nav a{padding-left:var(--space-md);padding-right:var(--space-md)}.sidebar-box .box-body{padding:0}.sidebar-links button{text-align:left;color:var(--source-color-299);padding:var(--space-3xs) 0}.type-icon{font-size:34px;line-height:1.5;color:var(--source-color-300)}.type-tile-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.type-tile strong{white-space:normal}.home-search{margin-top:var(--space-md)}.summary-counts{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-sm)}.summary-counts strong{display:block;color:var(--source-color-301);font-size:25px;font-weight:500}.summary-counts span{font-size:11px;color:var(--source-color-302)}.modality-cards{display:grid;gap:var(--space-xs)}.modality-cards>button{display:grid;grid-template-columns:1fr auto;text-align:left;padding:var(--space-xs) var(--space-xs);border:1px solid var(--source-color-285);background:var(--source-color-097);gap:var(--space-3xs) var(--space-xs)}.modality-cards span{font-size:12px;color:var(--source-color-303)}.modality-cards strong{font-size:16px;font-weight:500;color:var(--source-color-301)}.modality-cards small{font-size:10px;color:var(--source-color-302)}.modality-cards progress{grid-column:1/-1;height:6px;width:100%;border:0;margin-top:var(--space-2xs);accent-color:var(--source-color-304)}.limitation-list{padding-left:var(--space-md);line-height:1.9;color:var(--source-color-305);font-size:12px}.coverage-cell{min-width:175px;max-width:300px}.coverage-chip{display:inline-block;font-size:10px;line-height:1.7;background:var(--source-color-085);border:1px solid var(--source-color-306);color:var(--source-color-307);padding:var(--space-3xs) var(--space-2xs);margin:var(--space-3xs) var(--space-3xs) var(--space-3xs) 0;white-space:nowrap}.muted{color:var(--source-color-308);font-size:11px}.metric-picker{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);font-size:12px;color:var(--source-color-309);margin-bottom:var(--space-sm)}.metric-picker select,.association-form select{max-width:100%;height:34px;padding:var(--space-2xs) var(--space-xs);color:var(--source-color-310);border:1px solid var(--source-color-247);background:var(--source-color-015);font-size:12px}.metric-picker label{display:flex;align-items:center;gap:var(--space-xs)}.cohort-table td{vertical-align:top}.cohort-table td:nth-child(5){white-space:nowrap}.detail-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-md);margin:var(--space-md) 0}.detail-metric-grid .box{min-width:0}.detail-metric-grid .kv td:first-child{width:55%}.detail-metric-grid .kv td{padding:var(--space-xs);overflow-wrap:anywhere}.observation-metric{display:block;font-size:11px;line-height:1.8}.observation-table{min-width:850px}.observation-table .mono{font-family:var(--font-outlier);white-space:nowrap}.candidate-links{color:var(--source-color-311);font-size:12px;line-height:2}.candidate-links ul{padding-left:var(--space-md)}.candidate-links button{color:var(--source-color-291)}.association-form{display:flex;align-items:end;gap:var(--space-md);margin:0 0 var(--space-md);padding:var(--space-sm);background:var(--source-color-125);border:1px solid var(--source-color-312)}.association-form label{display:grid;gap:var(--space-2xs);color:var(--source-color-313);font-size:11px;min-width:0;flex:1}.association-form .btn{flex:none}.chart-scroll{overflow:auto}.svg-chart text{font-size:11px;fill:var(--source-color-314)}.svg-chart .axis-label{font-size:12px;fill:var(--source-color-315)}.coverage-table{min-width:800px;text-align:center}.coverage-table th{font-size:10px}.coverage-table td{font-variant-numeric:tabular-nums}.coverage-table td:nth-child(even){background:var(--source-color-316)}.quality-values{font-size:12px;color:var(--source-color-311);line-height:1.9}.quality-values>div{border-bottom:1px solid var(--source-color-317);padding:var(--space-xs) var(--space-3xs);display:grid;grid-template-columns:minmax(120px,1fr) minmax(0,3fr);gap:var(--space-sm)}.quality-values>div:last-child{border:0}.quality-values dd{margin:0;overflow-wrap:anywhere}.quality-values .quality-values>div{padding:var(--space-2xs) var(--space-3xs)}.section-title{margin-top:var(--space-lg)}.api-error{padding:var(--space-lg);border:1px solid var(--source-color-318);border-top:3px solid var(--source-color-319);background:var(--source-color-155);color:var(--source-color-320);line-height:2}.api-error h1{font-size:20px;font-weight:500}.api-error p{font-size:13px;margin:var(--space-xs) 0}.source-context{max-width:300px}.status-line #connection-status{color:var(--source-color-321)}.home-grid .box-heading{font-weight:600}.observation-table td:nth-child(4){max-width:300px}.footer p{max-width:970px}.records-table th small{display:block;color:var(--source-color-322);font-size:10px;font-weight:400}.detail-metric-grid .table-wrap:before{display:none!important}
@media(max-width:1200px){.main-nav a{padding-left:var(--space-xs);padding-right:var(--space-xs)}.detail-metric-grid{grid-template-columns:1fr 1fr}}
@media(max-width:950px){.detail-metric-grid{grid-template-columns:1fr}.type-tile-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:700px){#content{min-height:400px}.type-tile-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.main-nav a{padding:var(--space-xs) var(--space-3xs)}.status-line #connection-status{max-width:145px}.metric-picker{display:block}.metric-picker label{display:grid;gap:var(--space-2xs);margin-bottom:var(--space-xs)}.metric-picker select{width:100%}.association-form{flex-wrap:wrap;gap:var(--space-xs)}.association-form label{flex:1 1 100%}.association-form .btn{width:100%}.chart-scroll .svg-chart{min-width:620px}.chart-scroll::before{content:'← 左右滑动查看完整图表 →';font-size:11px;color:var(--source-color-323);display:block;position:sticky;left:0;line-height:2}.detail-summary h1{font-size:17px;overflow-wrap:anywhere}.detail-summary .btn{white-space:nowrap}.detail-summary p{line-height:1.9}.detail-metric-grid .kv{min-width:0!important}.detail-metric-grid .kv td{position:static!important}.quality-values>div{grid-template-columns:1fr;gap:var(--space-3xs)}.quality-values .quality-values{padding-left:var(--space-xs);border-left:2px solid var(--source-color-317)}.summary-counts strong{font-size:24px}.public-search .btn{margin-top:var(--space-xs)}.source-context{max-width:250px}.api-error{padding:var(--space-md)}.home-grid .box-heading{font-size:13px}.pagination{align-items:flex-start}.pagination>span{max-width:140px}.footer p{line-height:1.9}}
.modality-cards progress::-webkit-progress-bar{background:var(--source-color-324)}.modality-cards progress::-webkit-progress-value{background:var(--source-color-304)}.modality-cards progress::-moz-progress-bar{background:var(--source-color-304)}
/* V2 analytical controls follow the approved scientific blue/white visual language. */
.main-nav{flex-wrap:wrap}.main-nav a{font-size:12px;padding:var(--space-xs) var(--space-sm)}.main-nav a small{font-size:9px}.field-picker{border:1px solid var(--source-color-325);background:var(--source-color-097);padding:var(--space-xs) var(--space-sm);margin:0 0 var(--space-md);color:var(--source-color-326);font-size:11px}.field-picker summary{cursor:pointer;color:var(--source-color-327)}.field-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-xs) var(--space-sm);margin:var(--space-sm) 0}.field-options label{display:flex;align-items:center;gap:var(--space-2xs);line-height:1.6}.field-options input{accent-color:var(--source-color-147)}.field-picker p{font-size:10px;color:var(--source-color-328);line-height:1.8}.preset-row{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin:0 0 var(--space-sm)}.preset-row button{border:1px solid var(--source-color-329);background:var(--source-color-330);color:var(--source-color-331);padding:var(--space-xs) var(--space-sm);font-size:11px}.preset-row button:hover{background:var(--source-color-332)}.analysis-controls{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:var(--space-sm);margin-bottom:var(--space-sm)}.analysis-controls label{display:grid;gap:var(--space-2xs);font-size:11px;color:var(--source-color-333)}.analysis-controls select{width:100%;min-width:0;height:34px;padding:var(--space-2xs) var(--space-xs);border:1px solid var(--source-color-247);background:var(--source-color-092);color:var(--source-color-248);font-size:12px}.chart-mode-tabs{display:flex;flex-wrap:wrap;gap:var(--space-2xs);border-bottom:1px solid var(--source-color-334);padding-bottom:var(--space-xs);margin-bottom:var(--space-sm)}.chart-mode-tabs button{padding:var(--space-2xs) var(--space-sm);border:1px solid var(--source-color-335);background:var(--source-color-336);color:var(--source-color-337);font-size:11px}.chart-mode-tabs button.active{border-color:var(--source-color-338);background:var(--source-color-339);color:var(--source-color-340)}.analysis-summary{font-size:12px;line-height:1.8;color:var(--source-color-341);margin:var(--space-xs) 0 var(--space-sm)}.chart-methods{font-size:10px;line-height:1.9;color:var(--source-color-342);margin:var(--space-xs) 0}.association-statistics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--source-color-343);background:var(--source-color-125);margin:0 0 var(--space-xs)}.association-statistics>div{padding:var(--space-sm);display:grid;gap:var(--space-2xs);min-width:0;border-right:1px solid var(--source-color-343);overflow-wrap:anywhere}.association-statistics>div:last-child{border:0}.association-statistics strong{font-size:13px;font-weight:500;color:var(--source-color-344)}.association-statistics span{font-size:11px;color:var(--source-color-345);line-height:1.7}.chart-error{padding:var(--space-md);border:1px solid var(--source-color-346);color:var(--source-color-347);background:var(--source-color-348);font-size:12px;line-height:2}.chart-error .btn{margin-left:var(--space-xs)}.coverage-heading{font-size:14px;color:var(--source-color-349);font-weight:500;margin:var(--space-md) 0 var(--space-xs)}.analysis-svg{display:block;max-height:1300px}.chart-scroll{max-width:100%;min-width:0}.chart-unavailable{border:1px dashed var(--source-color-350);background:var(--source-color-244)}.records-table td{vertical-align:top}.records-table th small{max-width:130px;white-space:normal}
@media(max-width:950px){.main-nav a{padding:var(--space-xs) var(--space-xs)}.main-nav a small{display:none}.association-statistics strong{font-size:12px}.field-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.main-nav{grid-template-columns:repeat(4,minmax(0,1fr))}.main-nav a{font-size:11px;padding:var(--space-xs) var(--space-3xs)}.analysis-controls{grid-template-columns:minmax(0,1fr)}.association-statistics{grid-template-columns:minmax(0,1fr)}.association-statistics>div{border-right:0;border-bottom:1px solid var(--source-color-343);padding:var(--space-xs)}.field-options{grid-template-columns:minmax(0,1fr)}.chart-mode-tabs button{font-size:10px;padding:var(--space-2xs) var(--space-xs)}.chart-scroll .analysis-svg{min-width:660px}.preset-row button{font-size:10px;padding:var(--space-xs) var(--space-xs)}.analysis-summary{font-size:11px}.chart-methods{font-size:10px}.field-picker{font-size:11px}.analysis-controls select{font-size:11px}}
.analysis-jump{display:flex;gap:var(--space-md);flex-wrap:wrap;font-size:11px;margin:0 0 var(--space-sm)}.analysis-jump button{color:var(--source-color-351);border-bottom:1px dotted var(--source-color-352);padding-bottom:var(--space-3xs)}

/* Concise reading: values first, methods on demand. */
.sample-amount-sorts{display:flex;gap:var(--space-sm);margin-top:var(--space-3xs)}.sample-amount-sorts .sort-button{font-weight:400}.sample-amount-value{display:block;white-space:nowrap}
.table-key{font-size:11px;color:var(--source-color-353);margin:var(--space-xs) 0 var(--space-sm)}.stat-details{font-size:11px;color:var(--source-color-354);margin:var(--space-xs) 0 var(--space-sm);border-top:1px solid var(--source-color-355);padding-top:var(--space-xs)}.stat-details summary{color:var(--source-color-356);cursor:pointer;display:list-item}.stat-details>div{padding:var(--space-xs) 0 var(--space-3xs);line-height:1.7}.stat-details p{margin:var(--space-2xs) 0}.stat-details .chart-methods{margin:var(--space-2xs) 0 var(--space-xs)}.association-statistics{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.records-table td{padding-top:var(--space-sm);padding-bottom:var(--space-sm)}@media(max-width:700px){.association-statistics{grid-template-columns:1fr}}
.tissue-tree{padding:var(--space-2xs) 0;border-bottom:1px solid var(--source-color-355)}.type-tree .tissue-parent{font-weight:600;padding:var(--space-2xs) var(--space-xs)}.tissue-sites>summary{font-size:11px;padding:var(--space-2xs) var(--space-xs);color:var(--source-color-357);cursor:pointer}.type-tree .tissue-sites button{padding-left:var(--space-md)}.tissue-sites[open]{max-height:390px;overflow:auto}.tissue-site-filter[hidden]{display:none!important}.metric-picker .tissue-toggle{display:flex;align-items:center;gap:var(--space-2xs);white-space:nowrap}.tissue-toggle input{accent-color:var(--source-color-358)}.chart-scroll>.analysis-svg{width:auto;max-width:none;height:auto}.analysis-svg text{font-size:12px}
.evidence-library{border:1px solid var(--source-color-083);margin-top:var(--space-lg)}.evidence-library>summary{cursor:pointer;padding:var(--space-sm) var(--space-sm);color:var(--source-color-359);background:var(--source-color-360);font-size:13px}.evidence-library>summary span{font-size:11px;color:var(--source-color-361);margin-left:var(--space-sm)}.evidence-library>.public-browser{padding:var(--space-md)}.evidence-library>summary span{display:inline-block}.evidence-context-form [hidden]{display:none!important}
