*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --accent:#3861fb;--accent-soft:rgba(56,97,251,.09);--green:#16c784;--red:#ea3943;
  --fg:#222531;--fg2:#58667e;--gray:#808a9d;--border:#eff2f5;--border-strong:#d9e0e8;
  --bg:#fff;--card-bg:#fff;--hover-bg:#f8fafc;--search-bg:#eff2f5;--thead-bg:#fff;
  --radius-card:12px;--radius-btn:8px;
}
body.dark{
  --accent-soft:rgba(56,97,251,.16);--fg:#f5f7fb;--fg2:#a1a7bb;--gray:#808a9d;
  --border:#1f2937;--border-strong:#313b4d;--bg:#0d1421;--card-bg:#151c28;
  --hover-bg:#1a2332;--search-bg:#1f2937;--thead-bg:#0d1421;
}
html{background:var(--bg)}
body{min-height:100vh;background:var(--bg);color:var(--fg);font-family:-apple-system,"Inter","Hiragino Sans",sans-serif;font-size:14px;line-height:1.55;transition:background .2s,color .2s}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
button,input,select{font:inherit}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(56,97,251,.24);outline-offset:2px}
.global-header{position:sticky;top:0;z-index:50;height:56px;display:flex;align-items:center;gap:24px;padding:0 24px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--card-bg) 96%,transparent);backdrop-filter:blur(16px)}
.gh-nav{display:flex;align-items:center;gap:20px;font-size:14px;font-weight:650}
.gh-nav a{color:var(--fg);text-decoration:none}
.gh-nav a:hover,.gh-nav a.active{color:var(--accent)}
.gh-right{display:flex;align-items:center;gap:14px;margin-left:auto}
.gh-util{color:var(--gray);font-size:12px;white-space:nowrap}
.gh-util:hover{color:var(--fg);text-decoration:none}
.gh-search-box{position:relative}
.gh-search-input{width:220px;height:36px;padding:0 12px;border:0;border-radius:8px;background:var(--search-bg);color:var(--fg);font-size:12px;outline:none}
.gh-search-input:focus{box-shadow:0 0 0 2px rgba(56,97,251,.42)}
.gh-search-dropdown{position:absolute;top:calc(100% + 8px);right:0;z-index:80;width:340px;max-height:360px;display:none;overflow-y:auto;border:1px solid var(--border);border-radius:12px;background:var(--card-bg);box-shadow:0 16px 46px rgba(0,0,0,.18)}
.gh-search-dropdown.show{display:block}
.gh-search-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--border);color:var(--fg);cursor:pointer}
.gh-search-item:hover{background:var(--hover-bg)}
.gh-search-item .si-icon-img,.gh-search-item .si-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;border:1px solid var(--border);border-radius:50%;background:#fff;object-fit:contain}
.gh-search-item .si-name{min-width:0;overflow:hidden;font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.gh-search-item .si-code{margin-left:auto;color:var(--gray);font-size:11px}
.theme-toggle{width:34px;height:34px;border:0;border-radius:8px;background:transparent;color:var(--gray);cursor:pointer}
.theme-toggle:hover{background:var(--hover-bg);color:var(--fg)}
.gh-login{min-height:36px;padding:0 18px;border:0;border-radius:999px;background:var(--accent);color:#fff;font-size:12px;font-weight:700;cursor:pointer}
.tab-nav{height:51px;display:flex;align-items:stretch;gap:24px;padding:0 24px;border-bottom:1px solid var(--border);background:var(--card-bg);overflow-x:auto;scrollbar-width:none}
.tab-nav::-webkit-scrollbar{display:none}
.tab-nav a{position:relative;display:flex;align-items:center;color:var(--gray);font-size:14px;font-weight:650;white-space:nowrap;text-decoration:none}
.tab-nav a.active{color:var(--accent)}
.tab-nav a.active::after{content:"";position:absolute;right:0;bottom:0;left:0;height:3px;border-radius:3px 3px 0 0;background:var(--accent)}
.page-shell{width:min(1320px,calc(100% - 48px));margin:0 auto;padding:32px 0 72px}
.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:24px}
.eyebrow{display:block;margin-bottom:7px;color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.12em}
.page-heading h1{font-size:30px;line-height:1.2;letter-spacing:-.035em}
.page-heading p{max-width:720px;margin-top:8px;color:var(--fg2);font-size:13px}
.data-stamp{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--card-bg);color:var(--fg2);font-size:10px;white-space:nowrap}
.data-stamp strong{color:var(--fg);font-size:11px}
.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}
.summary-card{min-height:104px;padding:15px;border:1px solid var(--border);border-radius:12px;background:var(--card-bg)}
.summary-card small{display:block;color:var(--gray);font-size:10px;font-weight:650}
.summary-card strong{display:block;margin-top:8px;font-size:23px;font-variant-numeric:tabular-nums}
.summary-card span{display:block;margin-top:5px;color:var(--fg2);font-size:10px}
.status-banner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;margin-bottom:18px;padding:13px 15px;border:1px solid rgba(56,97,251,.24);border-radius:10px;background:var(--accent-soft)}
.status-banner strong{display:block;font-size:12px}
.status-banner p{margin-top:3px;color:var(--fg2);font-size:10px;line-height:1.6}
.status-banner a{font-size:11px;font-weight:700;white-space:nowrap}
.control-panel{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--card-bg)}
.market-tabs,.filter-tabs{display:flex;align-items:center;gap:7px;overflow-x:auto;scrollbar-width:none}
.market-tabs::-webkit-scrollbar,.filter-tabs::-webkit-scrollbar{display:none}
.market-tab,.filter-tab{min-height:36px;padding:0 13px;border:1px solid var(--border);border-radius:8px;background:var(--card-bg);color:var(--fg2);font-size:11px;font-weight:650;cursor:pointer;white-space:nowrap}
.market-tab:hover,.filter-tab:hover{border-color:rgba(56,97,251,.5);color:var(--accent)}
.market-tab.active,.filter-tab.active{border-color:rgba(56,97,251,.88);background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 0 14px rgba(56,97,251,.08),0 0 12px rgba(56,97,251,.07)}
body.dark .market-tab.active,body.dark .filter-tab.active{border-color:#526fe4;color:#8298ff}
.control-fields{display:flex;align-items:center;gap:8px}
.control-input,.control-select{height:36px;padding:0 11px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--fg);font-size:11px;outline:none}
.control-input{width:220px}
.control-select{min-width:154px}
.table-card{overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--card-bg)}
.table-scroll{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
th{height:44px;padding:0 12px;border-bottom:1px solid var(--border);background:var(--thead-bg);color:var(--gray);font-size:10px;font-weight:700;text-align:right;white-space:nowrap}
th:first-child,th:nth-child(2){text-align:left}
td{height:64px;padding:9px 12px;border-bottom:1px solid var(--border);font-size:12px;font-weight:550;text-align:right;white-space:nowrap}
td:first-child,td:nth-child(2){text-align:left}
tbody tr{cursor:pointer}
tbody tr:hover td{background:var(--hover-bg)}
.stock-cell{display:flex;align-items:center;gap:9px;min-width:220px}
.stock-cell img,.stock-cell .stock-icon{width:30px;height:30px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;border:1px solid var(--border);border-radius:50%;background:#fff;object-fit:contain}
.stock-copy{min-width:0}
.stock-copy strong{display:block;max-width:240px;overflow:hidden;color:var(--fg);font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.stock-copy small{display:block;margin-top:2px;color:var(--gray);font-size:9px}
.up{color:var(--green)}.down{color:var(--red)}.flat{color:var(--gray)}
.table-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 13px;color:var(--gray);font-size:10px}
.table-footer button{min-height:31px;padding:0 10px;border:1px solid var(--border);border-radius:7px;background:var(--card-bg);color:var(--fg);font-size:10px;cursor:pointer}
.table-footer button:disabled{opacity:.35;cursor:not-allowed}
.empty-state{min-height:260px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;padding:36px;color:var(--gray);text-align:center}
.empty-state strong{color:var(--fg);font-size:15px}
.content-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.85fr);gap:14px}
.content-card{border:1px solid var(--border);border-radius:12px;background:var(--card-bg);overflow:hidden}
.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:15px;border-bottom:1px solid var(--border)}
.card-head h2{font-size:15px}
.card-head p{margin-top:4px;color:var(--fg2);font-size:10px}
.card-head a{font-size:10px;font-weight:700}
.story-list{display:grid}
.story-row{display:grid;grid-template-columns:84px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:72px;padding:10px 15px;border-bottom:1px solid var(--border);color:var(--fg);text-decoration:none}
.story-row:hover{background:var(--hover-bg);text-decoration:none}
.story-row time,.story-row small{color:var(--gray);font-size:9px}
.story-row strong{display:block;font-size:12px;line-height:1.55}
.story-row p{margin-top:3px;color:var(--fg2);font-size:9px}
.story-metric{font-size:12px;font-weight:750;white-space:nowrap}
.notice-list{display:grid}
.notice-row{padding:13px 15px;border-bottom:1px solid var(--border)}
.notice-row time{color:var(--gray);font-size:9px}
.notice-row strong{display:block;margin-top:4px;font-size:11px}
.notice-row p{margin-top:4px;color:var(--fg2);font-size:9px;line-height:1.6}
.connection-list{display:grid;padding:6px 15px 14px}
.connection-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:11px 0;border-bottom:1px solid var(--border)}
.connection-row strong{font-size:11px}.connection-row p{margin-top:2px;color:var(--fg2);font-size:9px}
.connection-state{align-self:center;padding:4px 7px;border-radius:6px;background:var(--hover-bg);color:var(--gray);font-size:9px;font-weight:700}
.connection-state.connected{background:rgba(22,199,132,.1);color:var(--green)}
.calendar-list{display:grid}
.calendar-row{display:grid;grid-template-columns:110px 70px minmax(0,1fr) repeat(3,120px);align-items:center;gap:12px;min-height:66px;padding:9px 14px;border-bottom:1px solid var(--border)}
.calendar-row time{font-size:11px;font-weight:700}.calendar-row span,.calendar-row small{color:var(--fg2);font-size:10px}.calendar-row strong{font-size:11px}
.info-prose{display:grid;gap:14px;padding:20px}
.info-prose h2{font-size:17px}.info-prose h3{font-size:13px}.info-prose p,.info-prose li{color:var(--fg2);font-size:11px;line-height:1.8}.info-prose ul{padding-left:20px}
.link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:8px}
.link-card{min-height:110px;display:flex;flex-direction:column;justify-content:space-between;padding:15px;border:1px solid var(--border);border-radius:10px;background:var(--card-bg);color:var(--fg)}
.link-card:hover{border-color:rgba(56,97,251,.55);background:var(--accent-soft);text-decoration:none}
.link-card strong{font-size:12px}.link-card span{color:var(--fg2);font-size:9px;line-height:1.6}
.site-footer{padding:22px 24px 34px;border-top:1px solid var(--border);color:var(--gray);font-size:10px}
.footer-inner{width:min(1320px,100%);display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 auto}.footer-links{display:flex;gap:14px}
@media(min-width:769px){:root{--side-pad:max(24px,calc((100vw - 1640px)/2))}.global-header,.tab-nav{padding-left:var(--side-pad);padding-right:var(--side-pad)}}
@media(max-width:900px){.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid{grid-template-columns:1fr}.calendar-row{grid-template-columns:100px 65px minmax(170px,1fr) repeat(3,105px)}}
@media(max-width:768px){
  .global-header{padding:0 12px;gap:8px}.gh-nav,.gh-util{display:none}.gh-right{gap:6px}.gh-search-input{width:72px}.gh-search-input::placeholder{color:transparent}.gh-login{padding:0 11px}.tab-nav{padding:0 12px;gap:17px;font-size:12px}
  .page-shell{width:100%;padding:22px 12px 58px}.page-heading{align-items:flex-start;flex-direction:column;gap:12px}.page-heading h1{font-size:25px}.page-heading p{font-size:11px}.data-stamp{white-space:normal}
  .summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.summary-card{min-height:92px;padding:12px}.summary-card strong{font-size:19px}
  .status-banner{grid-template-columns:1fr}.control-panel{align-items:stretch;flex-direction:column}.market-tabs{width:100%}.control-fields{display:grid;grid-template-columns:1fr 1fr}.control-input,.control-select{width:100%;min-width:0}
  .table-card{margin-inline:0;border-radius:10px}.table-scroll{margin-right:-12px}.table-scroll table{min-width:850px}.stock-copy strong{max-width:150px}.table-footer{align-items:flex-start;flex-direction:column}
  .story-row{grid-template-columns:64px minmax(0,1fr)}.story-metric{grid-column:2;text-align:left}.calendar-list{overflow-x:auto}.calendar-row{min-width:820px}.link-grid{grid-template-columns:1fr}.site-footer{padding-inline:12px}.footer-inner{align-items:flex-start;flex-direction:column}
  .gh-search-dropdown{position:fixed;top:56px;right:12px;left:12px;width:auto}
}
