:root{color-scheme:dark;--bg:#07101d;--panel:#0e1a2a;--raised:#14243a;--line:#223753;--text:#eef5ff;--muted:#91a5bf;--blue:#448cff;--green:#42d697;--yellow:#ffc857;--red:#ff6b6b}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 12% -8%,#15365f 0,transparent 28%),var(--bg);color:var(--text);font:14px/1.5 Inter,"Microsoft YaHei UI",sans-serif;min-height:100vh}.hidden{display:none!important}button,input{font:inherit}button{border:0;border-radius:9px;padding:10px 16px;background:var(--blue);color:#fff;font-weight:700;cursor:pointer}button:hover{filter:brightness(1.12)}button.ghost{background:var(--raised);border:1px solid var(--line)}button.danger{color:#ffaaaa}.login{position:fixed;inset:0;display:grid;place-items:center;background:radial-gradient(circle at 50% 10%,#173d69,var(--bg) 48%);z-index:10}.login-card{width:min(390px,calc(100vw - 40px));padding:38px;border:1px solid var(--line);border-radius:18px;background:rgba(14,26,42,.94);box-shadow:0 30px 80px #0008;text-align:center}.login-card .brand-mark{margin:auto}.login-card h1{margin:18px 0 4px}.login-card p{color:var(--muted);margin:0 0 24px}.login-card input{width:100%;margin-bottom:12px}.login-card button{width:100%}.login-card span{display:block;color:var(--red);min-height:22px;margin-top:10px}.shell{max-width:1500px;margin:auto;min-height:100vh}header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:#0b1726dd;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5;backdrop-filter:blur(14px)}.brand,.header-actions,.card-title,.fields,.checks{display:flex;align-items:center;gap:14px}.brand-mark{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,#5da0ff,#2564d8);font-weight:900;box-shadow:0 8px 26px #2564d866}.brand h1{font-size:18px;margin:0}.brand p{font-size:12px;margin:2px 0 0;color:var(--green)}.summary{color:var(--muted)}.main-nav,.subnav{display:flex;gap:6px;background:#0b1726;padding:8px 24px;border-bottom:1px solid var(--line)}.main-nav button,.subnav button{background:transparent;color:var(--muted);border-radius:8px}.main-nav button.active,.subnav button.active{color:#fff;background:var(--raised);box-shadow:inset 0 -2px var(--blue)}main{padding:18px 24px 40px}.page,.subpage{display:none}.page.active,.subpage.active{display:block}.subnav{padding:0 0 12px;background:transparent;border:0}.toolbar{display:flex;align-items:center;gap:10px;padding:14px;background:var(--panel);border:1px solid var(--line);border-radius:12px 12px 0 0}.toolbar span{margin-left:auto;color:var(--muted);font-size:12px}input{background:#091422;border:1px solid var(--line);color:var(--text);border-radius:8px;padding:10px 12px;outline:none;min-width:0}input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #448cff22}.table-wrap{overflow:auto;border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px;max-height:calc(100vh - 230px)}table{width:100%;border-collapse:collapse;min-width:820px}th{position:sticky;top:0;background:#14243a;color:#a9bad0;text-align:left;padding:12px 14px;font-size:12px;z-index:1}td{padding:12px 14px;border-top:1px solid #1c3049;font-family:Consolas,"Microsoft YaHei UI",sans-serif}tbody tr{background:var(--panel);cursor:pointer}tbody tr:nth-child(even){background:#0b1726}tbody tr:hover,tbody tr.selected{outline:1px solid #448cff88;background:#17304e}.rate{font-weight:800}.spread-card{position:relative;padding:36px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,#102039,#0b1726);min-height:430px;box-shadow:0 18px 60px #0004}.spread-card h2{font-size:28px;margin:3px 0}.spread-card p{color:var(--muted)}.eyebrow{color:#79adff;text-transform:uppercase}.spread-value{font:800 clamp(48px,8vw,96px)/1.1 "Segoe UI";color:var(--yellow);margin:50px 0 12px}.spread-parts{font:700 17px Consolas;margin-bottom:28px}.badge{display:inline-block;padding:7px 12px;border:1px solid var(--line);border-radius:999px;color:var(--green)}.spread-card button{position:absolute;right:30px;top:30px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:22px}.card.wide,.savebar{grid-column:1/-1}.card h2{font-size:17px;margin:0 0 12px}.card-title{justify-content:space-between}.card-title p,.help{color:var(--muted);font-size:12px;margin:2px 0 16px}.fields{align-items:end}.fields label{flex:1}.fields.three{grid-template-columns:repeat(3,1fr)}label{display:flex;flex-direction:column;gap:7px;color:#b9c8da}.checks{margin:14px 0;flex-wrap:wrap}.checks label{flex-direction:row;align-items:center}.checks input{min-width:auto}.checks.vertical{align-items:flex-start;flex-direction:column}.card>label input,.fields input{width:100%}.savebar{position:sticky;bottom:12px;display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border:1px solid #315681;background:#10233bdd;border-radius:12px;backdrop-filter:blur(14px);color:var(--muted)}@media(max-width:900px){header{height:auto;padding:14px;align-items:flex-start}.header-actions{flex-wrap:wrap;justify-content:flex-end}.summary{display:none}main{padding:12px}.settings-grid{grid-template-columns:1fr}.fields,.header-actions{gap:8px}.fields{flex-direction:column;align-items:stretch}.toolbar{flex-wrap:wrap}.toolbar span{display:none}.spread-card{padding:24px}.spread-card button{position:static;margin-top:30px}}@media(max-width:600px){.brand p{max-width:180px}.main-nav{padding:8px 12px}.main-nav button{flex:1}.header-actions button{padding:8px}.savebar{align-items:flex-start;gap:10px}.savebar span{font-size:11px}}
/* 美韩海差价两个月趋势 */
.spread-card{padding:28px;min-height:470px}.spread-layout{display:grid;grid-template-columns:minmax(250px,340px) minmax(0,1fr);gap:28px;align-items:stretch}.spread-summary{display:flex;flex-direction:column;align-items:flex-start;padding:8px}.spread-value{font-size:clamp(48px,6vw,78px);margin:42px 0 12px}.spread-parts{font-size:15px;margin-bottom:24px}.spread-card .spread-settings{position:static;margin-top:auto}.chart-panel{min-width:0;padding:18px;border:1px solid #27415f;border-radius:16px;background:#081421aa}.chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.chart-head h3{font-size:17px;margin:0}.chart-head p{font-size:12px;margin:3px 0 0}.range-tabs{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.spread-card .range-tabs button{position:static;padding:7px 10px;font-size:12px}.range-tabs button.active{border-color:var(--blue);background:#1b3961;color:#fff}.chart-wrap{position:relative;height:300px;border-radius:12px;overflow:hidden;background:linear-gradient(180deg,#0c1b2d,#09131f);border:1px solid #1b324d}.chart-wrap canvas{display:block;width:100%;height:100%}.chart-empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font-size:13px}.chart-tooltip{position:absolute;pointer-events:none;padding:8px 10px;border:1px solid #385a80;border-radius:8px;background:#07101dee;box-shadow:0 8px 25px #0008;font:12px/1.5 Consolas,"Microsoft YaHei UI";white-space:nowrap}.chart-stats{display:flex;gap:20px;flex-wrap:wrap;margin-top:12px;color:var(--muted);font-size:12px}.chart-stats b{color:var(--text);font-family:Consolas}.hidden{display:none!important}@media(max-width:1050px){.spread-layout{grid-template-columns:1fr}.spread-summary{min-height:310px}.spread-card .spread-settings{margin-top:24px}.chart-wrap{height:280px}}@media(max-width:900px){.spread-card{padding:18px}.chart-head{flex-direction:column}.range-tabs{justify-content:flex-start}.chart-wrap{height:240px}}@media(max-width:600px){.spread-card{padding:12px}.chart-panel{padding:12px}.chart-stats{gap:10px}}
.chart-wrap canvas{cursor:crosshair}
/* 三项趋势：差价、SKHYUSDT、SKHYNIXUSDT 自上而下 */
.spread-card{display:grid;gap:20px}.spread-summary{display:grid;grid-template-columns:minmax(230px,1fr) minmax(320px,1.35fr) auto;gap:24px;align-items:center;padding:4px 8px 18px;border-bottom:1px solid #203853}.spread-summary h2{margin:2px 0}.spread-summary p{margin:3px 0}.spread-summary .spread-value{font-size:clamp(42px,5vw,68px);margin:0}.spread-summary .spread-parts{font-size:14px;margin:5px 0 0}.spread-actions{display:flex;flex-direction:column;align-items:flex-end;gap:12px}.spread-card .spread-settings{margin:0}.chart-panel{padding:20px}.trend-stack{display:grid;gap:18px}.trend-block{padding:15px;border:1px solid #203a58;border-radius:14px;background:#0a1726}.trend-title{display:flex;align-items:center;gap:10px;margin-bottom:10px}.trend-title h4{margin:0;font-size:14px}.trend-title small{color:var(--muted);font-size:11px}.trend-dot{width:10px;height:10px;border-radius:50%;box-shadow:0 0 14px currentColor}.spread-dot{color:#ff765f;background:#ff765f}.skhy-dot{color:#52a8ff;background:#52a8ff}.skhynix-dot{color:#45d6a0;background:#45d6a0}.trend-block .chart-wrap{height:235px}.trend-block .chart-stats{margin-top:9px}.chart-tooltip b{color:#fff}@media(max-width:980px){.spread-summary{grid-template-columns:1fr 1fr}.spread-actions{grid-column:1/-1;flex-direction:row;align-items:center}.trend-block .chart-wrap{height:220px}}@media(max-width:600px){.spread-summary{grid-template-columns:1fr;gap:12px}.spread-actions{grid-column:auto}.trend-block{padding:10px}.trend-block .chart-wrap{height:200px}.chart-panel{padding:10px}}
