:root{color-scheme:dark;--bg:#0b1016;--panel:#111922;--line:#26333e;--muted:#90a2b2;--text:#e7f0f5;--mint:#65dfbd;--red:#f08c8c;--gold:#d9ba78}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;font-size:14px}button,input,select{font:inherit}button{cursor:pointer;color:var(--text);border:1px solid var(--line);background:#192631;border-radius:7px;padding:10px 15px;transition:background .15s}button:hover{background:#2b3c48}button:disabled{opacity:.45;cursor:wait}.primary{background:var(--mint);color:#09231b;border-color:var(--mint);font-weight:650}.primary:hover{background:#8de9cf}.quiet{background:transparent;color:var(--muted)}input,select{color:var(--text);background:#0c141c;border:1px solid var(--line);padding:10px 12px;border-radius:6px;min-width:0}input:focus,select:focus,button:focus-visible{outline:2px solid var(--mint);outline-offset:2px}label{display:flex;flex-direction:column;gap:8px;color:var(--muted)}h1,h2,p{margin-top:0}h1{font-size:30px;font-weight:600;letter-spacing:-.6px}h2{font-size:17px;font-weight:600}p{line-height:1.8;color:var(--muted)}small,.muted{color:var(--muted);font-size:12px;line-height:1.7}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--mint);margin-bottom:12px}.badge{padding:6px 10px;border:1px solid var(--line);border-radius:5px;font-size:12px;color:var(--muted)}[hidden]{display:none!important}aside{position:fixed;inset:0 auto 0 0;width:220px;padding:32px 20px;background:#0e161e;border-right:1px solid var(--line);display:flex;flex-direction:column}.brand{font-size:18px;font-weight:600;margin-bottom:48px}.brand b{color:var(--mint);font-size:25px}.brand small{display:block;font-size:8px;letter-spacing:1.3px;margin-top:9px}nav{display:grid;gap:10px}nav button{text-align:left;background:transparent;border-color:transparent;padding:13px;color:var(--muted)}nav button.active{color:var(--mint);background:#15342f;border-color:#245346}.aside-bottom{margin-top:auto;display:grid;gap:12px}.aside-bottom small{font-size:11px}main{margin-left:220px;padding:36px 40px;max-width:1700px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}header h1{margin:0}.hero{padding:30px;background:linear-gradient(120deg,#18352e,#121e29);border:1px solid #29473f;border-radius:10px;margin-bottom:30px}.hero h2{font-size:26px}.hero form{display:flex;gap:10px;margin-top:24px}.hero input{flex:1;max-width:620px}.section-heading{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-bottom:16px}.section-heading h2{margin:0}.section-heading span{font-size:12px;color:var(--muted)}.market-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:14px;margin-bottom:24px}.market{padding:22px;text-align:left;min-height:145px;background:var(--panel)}.market.selected{border-color:var(--mint)}.market .ticker{display:block;font-size:21px;margin:14px 0}.market .exchange{text-transform:uppercase;letter-spacing:1px;color:var(--mint);font-size:11px}.market small{display:block}.card{padding:24px;background:var(--panel);border:1px solid var(--line);border-radius:9px;margin-bottom:20px}.datasets{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:20px 0}.dataset{display:block;padding:14px;background:#0c141c;border:1px solid var(--line);border-radius:6px}.dataset input{margin-right:8px;accent-color:var(--mint)}.dataset small{display:block;margin:7px 0 0 23px}.dataset strong{color:var(--text);font-weight:500}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin:20px 0}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px}.inline{flex-direction:row;align-items:center}.inline input{accent-color:var(--mint)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.stats .card{display:grid;gap:12px}.stats strong{font-size:32px;font-weight:500;color:var(--mint)}.stats span{color:var(--muted)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;color:var(--muted);font-weight:400}td,th{padding:13px 12px;border-bottom:1px solid var(--line);white-space:nowrap}.job,.live-row{border-top:1px solid var(--line);padding:16px 0;display:flex;align-items:center;justify-content:space-between;gap:15px}.job-info{min-width:0}.job-info small{display:block;overflow-wrap:anywhere}.job .actions{margin:0}.error{color:var(--red);line-height:1.8}.warning{color:var(--gold)}#notice{position:sticky;top:10px;z-index:5;background:#1d3b32;border:1px solid #386452;padding:13px 18px;border-radius:8px;margin-bottom:20px}#notice.bad{background:#412627;border-color:#714141;color:#ffd0d0}canvas{display:block;width:100%;height:790px;touch-action:none}#crosshair-info{font-size:11px;font-family:Consolas,monospace;color:var(--muted);min-height:36px;padding:10px 0}footer{margin-top:30px;color:#6c7d8c;font-size:11px}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-card{width:min(440px,90%);margin:auto;padding:40px 20px}.login h1{font-size:46px;line-height:1.4}.login form{display:grid;gap:22px;margin-top:40px}.login-art{background:radial-gradient(ellipse at center,#244941,#102220 55%,#101a21);display:flex;align-items:center;justify-content:center;flex-direction:column;overflow:hidden}.login-art span{font-size:12px;letter-spacing:6px;color:#91b6a8}.login-art p{font-size:22px;letter-spacing:4px;margin-top:40px}.orbit{width:280px;height:280px;margin-top:80px;border:1px solid #548b79;border-radius:50%;box-shadow:0 0 0 35px #49796422,0 0 0 75px #49796415;position:relative}.orbit:after{content:'◈';font-size:120px;position:absolute;inset:40px;text-align:center;color:var(--mint)}@media(max-width:1000px){main{padding:24px;margin-left:180px}aside{width:180px;padding:25px 12px}.stats{gap:10px}.card{padding:18px}.job{align-items:flex-start;flex-direction:column}}@media(max-width:700px){aside{position:static;width:auto;padding:15px;display:block}.brand{margin:0 0 14px}.brand small,.aside-bottom{display:none}nav{display:flex}nav button{flex:1;padding:10px;font-size:12px}main{margin:0;padding:20px 14px}header{align-items:flex-start}header .badge{display:none}h1{font-size:25px}.hero{padding:20px}.stats{grid-template-columns:1fr}.stats .card{margin-bottom:0}.stats{margin-bottom:20px}.login{grid-template-columns:1fr}.login-art{display:none}.section-heading{align-items:flex-start;flex-direction:column}.form-grid{grid-template-columns:1fr}.chart-card{padding:10px}}

dialog{color:var(--text);background:var(--panel);border:1px solid #41635b;border-radius:12px;padding:30px;max-width:760px;width:92%}dialog::backdrop{background:#02080ccc;backdrop-filter:blur(4px)}dialog h2{font-size:22px}dialog .datasets{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}

.incident-banner{border:1px solid #b86b49;background:#38281f;color:#ffd3a8;padding:14px 18px;border-radius:10px;margin-bottom:18px;line-height:1.6}

.stat-link{text-decoration:none;color:inherit;cursor:pointer;transition:border-color .15s,background .15s}.stat-link:hover{border-color:var(--mint);background:#183029}.stat-link:focus-visible{outline:2px solid var(--mint);outline-offset:3px}.detail-section{scroll-margin-top:24px}.detail-section:target{border-color:var(--mint);box-shadow:0 0 0 1px var(--mint)}

.stat-toggle{position:relative;text-align:left;color:var(--text);width:100%;padding-right:48px}.stat-toggle:hover,.stat-toggle[aria-expanded="true"]{border-color:var(--mint);background:#183029}.stat-chevron{position:absolute;right:22px;top:20px;font-size:24px;font-style:normal;color:var(--mint);transition:transform .15s}.stat-toggle[aria-expanded="true"] .stat-chevron{transform:rotate(180deg)}#stat-details .detail-section{border-color:#41635b}#stat-details .table-wrap{max-height:480px;overflow:auto}#live-list:empty::after{content:'暂无持续采集合约，可在“找数据”中开启。';color:var(--muted)}

#results #selection{grid-column:1/-1;margin:0 0 6px}#results .market.selected{background:#183029}#results .market:focus-visible{outline:2px solid var(--mint);outline-offset:2px}

#results .market-item{min-width:0}#results .market-item>.market{width:100%;height:100%}#results .market-item.expanded{grid-column:1/-1}#results .market-item.expanded>.market{height:auto;min-height:92px;border-color:var(--mint);border-radius:9px 9px 0 0;background:#183029}#results .market-item.expanded #selection{margin:-1px 0 0;border-color:var(--mint);border-radius:0 0 9px 9px;background:#16242a}#results .market-item.expanded #selection .datasets{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
