:root{
  --bg:#ffffff; --fg:#111318; --sub:#5b6270; --line:#e4e7ec;
  --accent:#bf0000; --accent2:#ff6b00;
  --chip-idx:#0a7d3c; --chip-idx-bg:#e6f7ec;
  --chip-act:#7a4b00; --chip-act-bg:#fff2df;
  --pos:#c62828; --neg:#1565c0;
}
*{box-sizing:border-box;}
body{
  margin:0; padding:16px 12px 40px;
  background:var(--bg); color:var(--fg);
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",sans-serif;
  font-weight:700; line-height:1.4; font-size:16px;
}
h1{font-size:26px; margin:2px 0 4px; letter-spacing:-0.5px;}
.updated{font-size:14px; color:var(--sub); font-weight:700; margin-bottom:12px;}
.note{
  background:#fff7e6; border:2px solid #ffcf7a; border-radius:10px;
  padding:10px 12px; font-size:14px; color:#6b4900; margin-bottom:16px; line-height:1.6;
}

table{width:100%; border-collapse:collapse; font-size:15px;}
.tbl-scroll{overflow-x:auto; overscroll-behavior-x:none; border:2px solid var(--line); border-radius:12px; margin-bottom:6px; -webkit-overflow-scrolling:touch;}
.tbl-scroll table{min-width:820px;}
th,td{padding:8px 10px; border-bottom:1px solid var(--line); text-align:left; white-space:nowrap;}
th{background:#f4f5f7; position:sticky; top:0; font-size:14px; color:var(--sub); cursor:pointer; user-select:none;}
th::after{content:"\2195"; opacity:.35; margin-left:4px;}
th.sort-asc::after{content:"\2191"; opacity:1; color:var(--accent);}
th.sort-desc::after{content:"\2193"; opacity:1; color:var(--accent);}
td.fund{white-space:normal; min-width:200px; font-weight:700;}
a.fund-link{color:#1565c0; text-decoration:underline;}
td.code{color:var(--sub); font-size:14px;}
td.num{text-align:right; font-variant-numeric:tabular-nums;}
tr:nth-child(even) td{background:#fafbfc;}
.idx{display:inline-block; font-size:14px; padding:1px 6px; border-radius:6px; background:var(--chip-idx-bg); color:var(--chip-idx);}
.act{display:inline-block; font-size:14px; padding:1px 6px; border-radius:6px; background:var(--chip-act-bg); color:var(--chip-act);}
.new{color:var(--accent2); font-size:14px; margin-left:4px;}
.pos{color:var(--pos);}
.neg{color:var(--neg);}
.dash{color:var(--sub); font-weight:700;}

.src{font-size:14px; color:var(--sub); font-weight:700; margin-top:18px; border-top:2px solid var(--line); padding-top:10px; line-height:1.6;}
.src a{color:var(--sub);}
