@import "https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800&family=Noto+Sans+SC:wght@400;500;700&display=swap";:root{--bg:#071018;--panel:#0b1624d6;--panel-strong:#08101cf0;--line:#72a6dc38;--line-strong:#78b7f961;--text:#eef6ff;--text-soft:#9eb7d4;--accent:#66b7ff;--accent-soft:#74ffd1;--danger:#ff8a95}*{box-sizing:border-box}body{min-height:100vh;color:var(--text);background:radial-gradient(900px 460px at 88% -14%,#5fa6ff33,#0000 70%),radial-gradient(720px 420px at -12% 94%,#34f5b82e,#0000 70%),linear-gradient(170deg,#050a11,#071018 40%,#07121c 100%);margin:0;font-family:Outfit,Noto Sans SC,sans-serif}#root{min-height:100vh}.kb-shell{gap:14px;min-height:100vh;padding:20px;display:grid;position:relative}.glow{pointer-events:none;filter:blur(86px);z-index:0;border-radius:999px;position:fixed}.glow-a{background:#5ea6ff3d;width:260px;height:260px;top:-60px;right:-80px}.glow-b{background:#3effb329;width:300px;height:260px;bottom:-70px;left:-120px}.glass{border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 1px #ffffff08,0 20px 45px #00000047}.top-header{z-index:1;border-radius:22px;justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;display:flex}.top-header h1{letter-spacing:-.03em;gap:4px;margin:0;font-size:clamp(24px,3.4vw,36px);display:grid}.brand-line{align-items:center;gap:10px;margin-bottom:10px;display:inline-flex}.brand-logo{border-radius:999px;width:44px;height:44px;box-shadow:0 6px 18px #00000059}.brand-meta{gap:1px;display:grid}.brand-meta strong{color:#d6f5ff;letter-spacing:.04em;font-size:13px}.brand-meta small{color:#8bc0d4;font-size:11px}.top-header h1 span{letter-spacing:.08em;text-transform:uppercase;color:#9fc4ea;font-size:clamp(11px,1.2vw,14px);font-weight:600}.top-header p{color:var(--text-soft);margin:8px 0 0;font-size:14px}.header-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.status{border:1px solid var(--line-strong);background:#111f33d1;border-radius:999px;align-items:center;gap:6px;padding:7px 12px;font-size:12px;display:inline-flex}.status.online{color:#95ffd8}.status.offline,.status.connecting{color:#ffd2b0}.status.muted{color:#c4d8f2}.kpi-row{z-index:1;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.kpi-card{border-radius:18px;gap:4px;padding:14px;transition:transform .24s,border-color .24s,box-shadow .24s,background .24s;display:grid}.kpi-head{color:var(--text-soft);align-items:center;gap:6px;font-size:13px;display:inline-flex}.kpi-card strong{letter-spacing:-.02em;font-size:clamp(22px,2.8vw,30px)}.kpi-card small{color:var(--text-soft);font-size:12px}.news-ribbon{z-index:1;border-radius:18px;grid-template-columns:84px minmax(0,1fr);align-items:center;gap:12px;padding:10px 12px;display:grid;overflow:hidden}.news-ribbon-head{color:#d8ecff;letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;font-size:13px;display:inline-flex}.ribbon-live-dot{background:#71ffd3;border-radius:999px;width:8px;height:8px;animation:1.6s infinite ribbon-pulse;box-shadow:0 0 14px #71ffd3cc}.news-ribbon-window{min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 5% 95%,#0000);mask-image:linear-gradient(90deg,#0000,#000 5% 95%,#0000)}.news-ribbon-track{gap:10px;width:max-content;animation:54s linear infinite ribbon-marquee;display:inline-flex}.news-ribbon:hover .news-ribbon-track{animation-play-state:paused}.ticker-chip{color:#eaf5ff;background:linear-gradient(135deg,#091422f5,#0d192ad1);border:1px solid #78b7f92e;border-radius:12px;gap:8px;min-width:300px;max-width:300px;padding:8px 12px;text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s;display:grid}.ticker-chip:hover{border-color:#88d2ff85;transform:translateY(-2px);box-shadow:0 16px 30px #0000003d}.ticker-chip-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.ticker-chip strong{-webkit-line-clamp:1;-webkit-box-orient:vertical;min-width:0;font-size:12px;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.ticker-chip span{color:#8fb0d0;white-space:nowrap;font-size:11px}.ticker-region{color:#a9c5e4;font-size:11px}.ticker-price{color:#7dffd8;letter-spacing:-.03em;font-size:18px;line-height:1}.ticker-copy{-webkit-line-clamp:1;white-space:normal;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ticker-time{color:#7f9ebf;font-size:10px;font-style:normal}.ticker-badge{letter-spacing:.08em;border-radius:999px;padding:3px 7px;font-size:10px;font-style:normal;line-height:1}.ticker-badge.domestic{color:#8bffe0;background:#6fffd31f}.ticker-badge.intl{color:#91d6ff;background:#66b7ff24}.ticker-badge.tianjin{color:#8bffe0;background:#6fffd32e}.main-layout{z-index:1;grid-template-columns:260px minmax(0,1fr);align-items:start;gap:12px;min-height:0;display:grid}.category-panel{border-radius:20px;flex-direction:column;gap:10px;margin-top:10px;padding:12px;display:flex}.panel-title{color:var(--text-soft);align-items:center;gap:6px;font-size:13px;display:inline-flex}.category-list{gap:8px;max-height:calc(100vh - 280px);padding-right:4px;display:grid;overflow:auto}.category-item{color:var(--text);text-align:left;background:#0d1929d9;border:1px solid #0000;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;padding:10px;transition:all .24s;display:flex}.category-item strong{font-size:14px;display:block}.category-item small{color:var(--text-soft);font-size:11px}.category-item em{color:#95ffd8;font-size:11px;font-style:normal}.category-item:hover{border-color:var(--line-strong);transform:translateY(-1px)}.category-item.active{background:linear-gradient(140deg,#1a3e62d9,#0b1828e0);border-color:#66b7ff9e}.detail-panel{gap:12px;display:grid}.global-news-wide{z-index:1;gap:12px;display:grid}.global-news-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.section-card{border-radius:20px;padding:14px;transition:transform .24s,border-color .24s,box-shadow .24s,background .24s;position:relative;overflow:hidden}.section-card:after{content:"";pointer-events:none;border-radius:inherit;opacity:.78;background:linear-gradient(145deg,#7ec1ff12 0%,#7ec1ff00 48%,#71f4cd12 100%);transition:opacity .24s;position:absolute;inset:0}.section-card:hover,.kpi-card:hover,.news-ribbon:hover,.category-panel:hover{border-color:#84c1ff57;transform:translateY(-3px);box-shadow:inset 0 1px #ffffff0a,0 26px 52px #00000057,0 0 0 1px #66b7ff14}.section-card:hover:after{opacity:1}.section-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.section-head h2,.section-head h3{letter-spacing:-.02em;margin:0}.section-head h2{font-size:clamp(18px,2.2vw,24px)}.section-head h3{align-items:center;gap:7px;font-size:16px;display:inline-flex}.section-head span{color:var(--text-soft);font-size:12px}.section-head.compact{margin-bottom:8px}.map-card{padding:16px}.china-map-wrap{--map-height:420px;grid-template-columns:minmax(0,1fr) 260px;align-items:stretch;gap:12px;display:grid}.china-map-svg{width:100%;height:100%;min-height:var(--map-height);max-height:var(--map-height);background:radial-gradient(520px 240px at 78% 10%,#56aeff2e,#0000 65%),linear-gradient(160deg,#060e1af0,#07111dfa);border:1px solid #79b3ef42;border-radius:16px}.map-area{stroke:#83b2e26b;transition:fill .25s,stroke .25s}.map-area:hover{fill:#3f7ab3d9;stroke:#91d5ffcc}.map-marker{pointer-events:all;cursor:pointer}.marker-pulse{fill:#79ceff33;transform-origin:50%;animation:2.2s ease-out infinite marker-ripple}.marker-core{fill:#6ed4ff;stroke:#081e34f2;stroke-width:1.2px;filter:drop-shadow(0 0 6px #60caff99)}.marker-active{fill:#a4fff0;stroke:#08353af2;stroke-width:1.5px;filter:drop-shadow(0 0 12px #78f7ddcc)}.marker-tianjin{fill:#71ffd3}.map-link-line{stroke:#98e0ffe6;stroke-width:1.1px;stroke-dasharray:4 4}.map-float-label-card{fill:#041221f0;stroke:#7ac8fca6;stroke-width:1px}.map-float-title{fill:#ddf2ff;font-size:13px;font-weight:700}.map-float-meta{fill:#9ec3de;font-size:11px}.map-side-panel{height:var(--map-height);max-height:var(--map-height);background:#0a1524cc;border:1px solid #7cb5ee40;border-radius:16px;align-content:start;gap:8px;padding:10px;display:grid;overflow:hidden}.map-side-panel h4{color:#cbecff;letter-spacing:.02em;margin:0;font-size:14px}.map-side-panel ul{gap:7px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.map-side-panel li{cursor:pointer;background:#09101cbf;border:1px solid #7bb1ea2e;border-radius:10px;padding:8px 9px;transition:all .2s}.map-side-panel li:hover{border-color:#7fc9ff94}.map-side-panel li.active{background:#0c232dcc;border-color:#7effd6bf}.map-side-panel strong{font-size:13px;display:block}.map-side-panel span{color:#98b6d8;font-size:12px}@keyframes ribbon-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.82)}}@keyframes ribbon-marquee{0%{transform:translate(0)}to{transform:translate(calc(-50% - 5px))}}@keyframes marker-ripple{0%{opacity:.56;transform:scale(.5)}60%{opacity:.25}to{opacity:0;transform:scale(1.15)}}.charts-board{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.chart-card{grid-template-rows:auto 1fr;min-height:300px;display:grid}.chart-box{height:100%;min-height:230px}.quote-table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:780px}.quote-table{table-layout:fixed}.quote-col-region{width:70px}.quote-col-price{width:120px}.quote-col-source{width:112px}.quote-col-time{width:86px}.quote-col-main{width:auto}tbody tr{transition:background .2s}tbody tr:hover{background:#0f1f30b8}th,td{vertical-align:top;border-bottom:1px solid #75a9e324;padding:8px;font-size:12px}th{color:#9cb4d1c2;letter-spacing:.08em;text-transform:uppercase;text-align:left;font-size:11px;font-weight:500}td a{color:#d7ebff;text-decoration:none}td a:hover{text-decoration:underline}.price-cell{color:var(--accent-soft);white-space:nowrap;letter-spacing:-.03em;font-size:15px;font-weight:600}.quote-summary-cell{width:100%;min-width:0}.quote-meta-line{align-items:center;gap:6px;margin-bottom:6px;display:flex}.quote-tag,.quote-flag{letter-spacing:.06em;border-radius:999px;padding:2px 7px;font-size:10px;font-style:normal;line-height:1}.quote-tag{color:#cce4ff;background:#618cbe2e;border:1px solid #79ade733}.quote-flag{color:#8bffe0;background:#6fffd31f;border:1px solid #6fffd338}.quote-primary{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.quote-secondary{color:var(--text-soft);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:3px;font-size:11px;line-height:1.35;display:-webkit-box;overflow:hidden}.quote-region-cell,.quote-source-cell,.quote-time-cell{white-space:nowrap;color:#d9ebff}.quote-source-cell,.quote-time-cell{color:var(--text-soft)}.source-badge{color:#c9def7;letter-spacing:.04em;background:#567ba624;border:1px solid #78abe829;border-radius:999px;justify-content:center;align-items:center;padding:4px 8px;font-size:10px;line-height:1;display:inline-flex}.empty-cell{color:var(--text-soft)}.news-grid,.knowledge-grid{gap:12px;display:grid}.news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.knowledge-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.news-list,.rule-list,.process-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.news-list li,.rule-list li,.process-list li{background:#0a121f94;border:1px solid #76a9e124;border-radius:12px;padding:10px}.news-list a,.rule-list a{color:#dcebff;line-height:1.35;text-decoration:none}.news-list span,.rule-list span{color:var(--text-soft);margin-top:5px;font-size:12px;display:block}.news-list-wide{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.news-list-wide li{min-height:58px;padding:8px 9px}.news-list-wide a{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.28;display:-webkit-box;overflow:hidden}.news-list-wide span{margin-top:4px;font-size:11px}.compact-grid-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.compact-list{max-height:260px;padding-right:4px;overflow:auto}.compact-list li{padding:8px 9px}.compact-grid-list li{min-height:64px}.compact-grid-list a{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.28;display:-webkit-box;overflow:hidden}.compact-grid-list span{margin-top:4px;font-size:11px}.empty-news{color:var(--text-soft)}.process-list strong{margin-bottom:6px;font-size:14px;display:block}.process-list p{color:var(--text-soft);margin:0;font-size:13px;line-height:1.45}.cost-bars{gap:10px;display:grid}.subcat-chips{flex-wrap:wrap;gap:8px;display:flex}.subcat-chip{color:#d7ebff;background:#101f33b8;border:1px solid #73b1ee47;border-radius:999px;padding:6px 10px;font-size:12px}.cost-row{grid-template-columns:1fr auto;align-items:center;gap:5px 10px;display:grid}.cost-row span{font-size:13px}.cost-row strong{color:#b0ffe4;font-size:13px}.bar-track{background:#78b4f524;border-radius:999px;grid-column:1/-1;height:8px;overflow:hidden}.bar-fill{border-radius:inherit;background:linear-gradient(90deg,#5aaffd,#70f8c8);height:100%;transition:width .34s}.quote-table-wrap::-webkit-scrollbar{width:6px;height:6px}.compact-list::-webkit-scrollbar{width:6px;height:6px}.category-list::-webkit-scrollbar{width:6px;height:6px}.quote-table-wrap::-webkit-scrollbar-thumb{background:#7fb0e673;border-radius:999px}.compact-list::-webkit-scrollbar-thumb{background:#7fb0e673;border-radius:999px}.category-list::-webkit-scrollbar-thumb{background:#7fb0e673;border-radius:999px}.error-tip,.empty-screen{color:#ffb8c1;background:#4d14205c;border:1px solid #ff849261;border-radius:14px;padding:10px 12px;font-size:13px}@media (width<=1250px){.kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}.news-ribbon{grid-template-columns:1fr;gap:8px}.news-ribbon-head{font-size:12px}.ticker-chip{min-width:280px;max-width:280px}.main-layout{grid-template-columns:1fr}.category-panel{margin-top:0}.category-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}.knowledge-grid,.charts-board,.global-news-grid{grid-template-columns:1fr}.news-list-wide{grid-template-columns:repeat(4,minmax(0,1fr))}.compact-grid-list{grid-template-columns:1fr}.china-map-wrap{--map-height:360px;grid-template-columns:1fr}.china-map-svg{min-height:360px;max-height:360px}}@media (width<=760px){.kb-shell{gap:10px;padding:10px}.top-header{border-radius:16px;flex-direction:column;align-items:flex-start;padding:14px}.header-actions{justify-content:flex-start}.kpi-row,.news-grid,.global-news-grid,.category-list{grid-template-columns:1fr}.news-ribbon{padding:10px}.ticker-chip{min-width:236px;max-width:236px}.news-list-wide,.compact-grid-list{grid-template-columns:repeat(2,minmax(0,1fr))}.section-card{border-radius:16px;padding:12px}.chart-card{min-height:280px}.chart-box{min-height:208px}.china-map-wrap{--map-height:280px}.china-map-svg{min-height:280px;max-height:280px}}
