:root{color-scheme:dark;font-family:system-ui,-apple-system,"Microsoft YaHei",sans-serif;background:#0b131c;color:#dae5ef}*{box-sizing:border-box}body{margin:0}header,footer{max-width:1500px;margin:auto;padding:28px 32px}nav{display:flex;gap:24px;flex-wrap:wrap}a{color:#65dfbd;text-decoration:none}h1{font-size:36px;margin:16px 0}h2{font-size:20px;margin:0 0 16px}p{line-height:1.7}.eyebrow,.hint,footer{font-size:13px;color:#91a7bb}.layout{max-width:1500px;margin:auto;padding:0 32px;display:grid;grid-template-columns:340px minmax(0,1fr);gap:24px}aside,section{background:#121e2b;border:1px solid #263647;border-radius:12px;padding:22px}aside{align-self:start}section{margin-bottom:20px}label{display:block;font-size:13px;color:#b9cbd9;margin-bottom:16px}input,select,textarea,button{font:inherit;color:inherit;border:1px solid #3a4e61;border-radius:6px;background:#0c1721;padding:10px;width:100%;margin-top:7px}select{max-width:100%}textarea{resize:vertical}button{cursor:pointer;margin-bottom:12px}button:hover{border-color:#65dfbd}button:disabled{opacity:.5;cursor:wait}.primary{background:#65dfbd;color:#09271f;font-weight:700}input:disabled,textarea:disabled,select:disabled{opacity:.65}.row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:20px 0}.metrics strong{display:block;font-size:26px;color:#65dfbd;margin-top:8px}.metrics small{color:#91a7bb}.section-head{display:flex;justify-content:space-between;gap:20px}.section-head button{width:auto}.chart svg{width:100%;display:block}.chart text{fill:#91a7bb;font-size:12px}.scroll{max-height:500px;overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:11px 10px;border-bottom:1px solid #263647;text-align:left;white-space:nowrap}th{position:sticky;top:0;background:#162535}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;color:#a9bfd0}summary{cursor:pointer;padding:8px 0}details{margin:12px 0}.ok{color:#65dfbd}.error{color:#ff929b}#status{border-left:4px solid #65dfbd}#stock-list{max-height:240px;overflow:auto}#stock-list label{margin:4px 0}#stock-list input{width:auto;margin-right:10px}#inspect-date{max-width:200px}[hidden]{display:none!important}@media(max-width:900px){.layout{grid-template-columns:1fr;padding:0 14px}header{padding:24px 18px}.metrics{grid-template-columns:1fr 1fr}h1{font-size:28px}}

#stock-choices{margin:18px 0}#stock-list{display:grid;grid-template-columns:1fr 1fr;gap:5px;max-height:none}#stock-list label{display:flex;align-items:center;background:#172735;border-radius:5px;padding:8px;cursor:pointer}#stock-list input{margin:0 9px 0 0;accent-color:#65dfbd}.pool-actions{display:flex;gap:8px}.pool-actions button{width:auto;padding:6px 16px}.section-head strong{font-size:14px}

/* Keep grid children within the viewport; wide tables scroll in their region. */
.layout>*{min-width:0}main,aside,section,.chart,.scroll,details{min-width:0;max-width:100%}p,li,label,button,summary,h2,h3,#status{overflow-wrap:anywhere}.scroll{overscroll-behavior-inline:contain}.scroll:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #65dfbd;outline-offset:3px}.comparison-table{min-width:560px}.comparison-table td,.comparison-table th{white-space:normal;overflow-wrap:anywhere;max-width:400px}.comparison-table caption{text-align:left;padding:10px;color:#91a7bb}.difference{background:#213334}.compare-actions{display:flex;gap:10px;flex-wrap:wrap}.compare-actions button{width:auto;flex:1 1 160px}.chart-legend{display:flex;gap:24px;flex-wrap:wrap}.chart-legend span:first-child{color:#65dfbd}.chart-legend span:last-child{color:#ffcf75}.section-head{flex-wrap:wrap}.metrics strong{font-size:clamp(18px,2vw,26px);overflow-wrap:anywhere}.metrics>div{min-width:0}#provenance-body,#compare-source-detail{max-height:500px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:900px){.layout{grid-template-columns:minmax(0,1fr)}aside,section{padding:18px}.row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.metrics{gap:10px}.section-head{gap:8px}.section-head button{max-width:100%}}
