#tvChart{ width:100%; height:460px; border:1px solid var(--border); border-radius:var(--radius); }.alert{ font-size: 11px; padding: 2px 6px; border-radius: 6px; background: var(--warn); color: #000; }.alert-note .muted{ color:var(--muted); font-size:12px; }.alert-note h3{ font-size:14px; margin-bottom:8px; }.alert-note p{ font-size:13px; line-height:1.7; margin-bottom:8px; }.alert-note ul{ padding-left:20px; font-size:13px; line-height:1.8; }.alert-note.inline{ background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:14px; margin-top:16px; box-shadow:var(--shadow); }.alert-note.modal{
  position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%);
  max-width: 80vw; max-height: 80vh; overflow: auto;
  background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius);
  padding: 16px; box-shadow: var(--shadow);
}.card h2{ font-size: 16px; margin-bottom: 10px; color: var(--accent); }.card h3{ font-size:15px; margin-bottom:8px; }.card-sm .box{ position:relative; margin-top:6px; height:34px; }.card-sm .box:focus{ outline:2px solid var(--ink); outline-offset:2px; }.card-sm .chg{ font-size:13px; font-weight:600; }.card-sm .name{ font-size:12px; color:var(--muted); }.card-sm .name small{ font-size:11px; color:var(--muted); font-weight:400; margin-left:4px; }.card-sm .val{ font-size:18px; font-weight:700; margin:2px 0; }.card-sm svg{ width:100%; height:34px; display:block; }.chk{ display:flex; flex-wrap:wrap; gap:6px; }.chk label{ font-size:12px; background:var(--bg); border:1px solid var(--border); border-radius:6px; padding:4px 8px; cursor:pointer; }.chk label:hover{ border-color:var(--accent); color:var(--accent); }.close-x{
  position: absolute;
  top: 8px;
  right: 12px;
  background: none;
  border: none;
  font-size: 20px;
  color: var(--muted);
  cursor: pointer;
  z-index: 10;
}.cond{ margin-bottom:10px; }.cond .row{ display:flex; align-items:center; gap:6px; font-size:12px; }.cond .rv{ width:34px; text-align:right; font-variant-numeric:tabular-nums; color:var(--ink); font-weight:600; }.cond input[type=number]{ width:62px; padding:4px 6px; border:1px solid var(--border); border-radius:6px; background:var(--bg); color:var(--ink); }.cond input[type=range]{ flex:1; min-width:80px; }.cond label{ width:54px; color:var(--muted); }.cond select{ padding:4px 6px; border:1px solid var(--border); border-radius:6px; background:var(--bg); color:var(--ink); }.del{ color: var(--muted); cursor: pointer; font-size: 12px; }.disclaimer-text{ color: var(--muted); font-size: 14px; }.down{ color: var(--down); }.drawer{ z-index: 996; }.drawer a{ color: var(--accent); text-decoration: none; }.drawer h3{ font-size: 15px; margin-bottom: 12px; }.drawer h4{ font-size: 13px; color: var(--muted); margin: 16px 0 8px; }.drawer-content{
  flex: 1;
  min-height: 0;
  padding-bottom: env(safe-area-inset-bottom, 20px);
  padding-top: 32px; 
}.drawer-mask{ z-index: 995; }.fab-btn{
  width: 32px; height: 32px; border-radius: 50%; border: 1px solid var(--border);
  background: var(--surface); color: var(--ink); cursor: pointer;
  display: flex; align-items: center; justify-content: center; box-shadow: var(--shadow); text-decoration: none;
}.fab-btn svg{ width: 16px; height: 16px; display: block; }.grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:10px; }.grp{ margin-bottom:14px; }.grp .lab{ font-size:12px; color:var(--muted); margin-bottom:6px; font-weight:600; }.icard{ background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:12px; box-shadow:var(--shadow); cursor:pointer; transition:border-color .15s; min-height:140px; }.icard .chg{ font-size:14px; font-weight:700; }.icard .meta{ font-size:11px; color:var(--muted); margin-top:2px; }.icard .nm{ font-size:13px; font-weight:600; }.icard .spark{ margin-top:6px; }.icard .spark svg{ width:100%; height:28px; display:block; }.icard .top{ display:flex; justify-content:space-between; align-items:baseline; }.icard.on{ border-color:var(--accent); }.icard:hover{ border-color:var(--accent); }.kv{ display:grid; grid-template-columns:repeat(auto-fit,minmax(110px,1fr)); gap:10px; }.kv .k{ font-size:11px; color:var(--muted); }.kv .v{ font-size:16px; font-weight:700; }.kv b{ font-weight: 700; }.kv:last-child{ border-bottom: none; }.layout{ display:block; }.muted-small{ color: var(--muted); font-size: 13px; margin-top: 10px; }.muted-small-top{ color:var(--muted); font-size:12px; margin-bottom:8px; }.nav .brand{ font-weight: 700; font-size: 15px; margin-right: 12px; white-space: nowrap; }.nav a.active{ background: var(--accent); color: #fff; }.nav:not(.sticky-header > .nav){
  position: sticky;
  top: 0;
}.nm, .chg{ min-width: 0; word-break: break-word; }.pager{ display: flex; gap: 6px; justify-content: center; margin: 12px 0; flex-wrap: wrap; }.pager button.on{ background: var(--accent); color: #fff; border-color: var(--accent); }.pager button:hover{ background: var(--row-hover); }.panel{ background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:14px; box-shadow:var(--shadow); margin-bottom:12px; }.panel h3{ font-size:14px; margin-bottom:10px; }.perf table{ width:100%; }.perf td{ padding:8px 6px; font-size:13px; border-bottom:1px solid var(--border); }.perf td:last-child{ text-align:right; font-weight:600; }.perf tr:last-child td{ border-bottom:none; }.pill{ display: inline-block; background: var(--row-hover); border: 1px solid var(--border); border-radius: 20px; padding: 3px 10px; font-size: 12px; margin: 2px; }.row{ display: flex; align-items: center; justify-content: space-between; padding: 8px 0; font-size: 14px; }.row input{ width: 90px; padding: 4px 6px; border: 1px solid var(--border); border-radius: 6px; background: var(--bg); color: var(--ink); }.row-input input{ flex:1; padding:8px; border:1px solid var(--border); border-radius:8px; background:var(--bg); color:var(--ink); }.search{ display: flex; align-items: center; gap: 4px; background: var(--bg); border: 1px solid var(--border); border-radius: 20px; padding: 4px 10px; }.search input{ border: none; background: transparent; color: var(--ink); outline: none; width: 120px; font-size: 13px; }.search.collapsed input{ display: none; }.search.expanded input{ display: block; width: 160px; background: var(--surface); color: var(--ink); border: 1px solid var(--border); border-radius: 16px; padding: 4px 10px; outline: none; }.section-badge{ display: inline-block; background: var(--accent); color: #fff; font-size: 10px; padding: 1px 6px; border-radius: 4px; margin-right: 8px; }.seg{ display: flex; border: 1px solid var(--border); border-radius: 8px; overflow: hidden; }.seg button{ flex: 1; padding: 6px; background: var(--surface); color: var(--ink); border: none; font-size: 13px; }.seg button.on{ background: var(--accent); color: #fff; }.spark-cell{ position: relative; width: 90px; }.spark-cell svg{ width: 100%; height: 34px; display: block; }.sticky-header .nav,
.sticky-header .utilbar,
.sticky-header .freshness{
  position: static;  
}.strategy-note{ margin-top:20px; }.strategy-note h3{ font-size:14px; margin-bottom:10px; color:var(--ink); }.strategy-note table{ width:100%; border-collapse:collapse; }.strategy-note tbody tr:hover{ background:var(--row-hover); }.strategy-note th{ color:var(--muted); font-weight:600; background:var(--surface); }.strategy-note th, .strategy-note td{ padding:8px 7px; text-align:left; font-size:12px; border-bottom:1px solid var(--border); white-space:normal; vertical-align:top; }.switch{
  width: 44px; height: 24px; border-radius: 12px;
  background: var(--border); position: relative; cursor: pointer; border: none;
}.switch.on{ background: var(--accent); }.switch.on::after{ left: 22px; }.switch::after{ content: ""; position: absolute; top: 2px; left: 2px; width: 20px; height: 20px; border-radius: 50%; background: #fff; transition: left .2s; }.symlist .on{ background:var(--accent); color:#fff; }.symlist div{ padding:8px; border-radius:8px; cursor:pointer; font-size:13px; }.symlist div:hover{ background:var(--row-hover); }.sys-note{ font-size: 12px; color: var(--muted); line-height: 1.6; }.text-muted{ color: var(--muted); font-size: 14px; }.text-wrap{ word-break: break-word; max-width: 100%; display: block; }.timeline{ border-left: 2px solid var(--border); padding-left: 16px; margin-left: 8px; }.timeline-date{ font-size: 12px; color: var(--muted); margin-bottom: 4px; }.timeline-desc{ font-size: 13px; color: var(--ink); line-height: 1.5; }.timeline-desc code{ background: var(--bg); padding: 1px 4px; border-radius: 3px; }.timeline-item{ position: relative; padding: 12px 0 12px 16px; border-bottom: 1px solid var(--border); }.timeline-item, .table-wrap, .section-title{ margin-top: 8px; }.timeline-item::before{ content: ""; position: absolute; left: -8px; top: 16px; width: 10px; height: 10px; border-radius: 50%; background: var(--accent); border: 2px solid var(--surface); box-shadow: 0 0 0 2px var(--border); }.timeline-item:last-child{ border-bottom: none; }.timeline-title{ font-weight: 600; margin-bottom: 4px; }.tip{ position:absolute; left:0; right:0; bottom:-22px; background:var(--surface); color:var(--ink); border:1px solid var(--border); border-radius:6px; padding:2px 6px; font-size:11px; text-align:center; box-shadow:var(--shadow); display:none; z-index:5; }.toolbar{ display: flex; align-items: center; gap: 8px; margin: 4px 4px 10px; flex-wrap: wrap; }.toolbar label{ font-size: 13px; color: var(--muted); }.tv-box .fallback{ padding:40px; text-align:center; color:var(--muted); font-size:13px; }.up{ color: var(--up); }.utilbar .spacer{ flex: 1; }.utilbar:not(.sticky-header > .utilbar){
  position: sticky;
  top: 49px;
}.warn{ color: var(--warn); }:root{
  --bg:#0f1115; --surface:#171a21; --ink:#e8eaed; --fg:var(--ink); --primary:var(--accent); --card:var(--surface); --muted:#9aa0a6;
  --border:#2a2f3a; --accent:#3b82f6; --up:#f87171; --down:#4ade80;
  --warn:#fbbf24; --row-hover:#27374d; --radius:10px;
  --shadow:0 1px 3px rgba(0,0,0,.4);
  
  --z-nav:1000; --z-utilbar:999; --z-freshness:998; --z-drawer:996; --z-mask:995; --z-tooltip:1050;
  
  --bg-elevated:#1c2028;
  
  --transition-fast:0.15s ease;
  --shadow-lg:0 8px 24px rgba(0,0,0,.5);
  --accent-hover:#2563eb;
}@media (min-width: 1024px){ .wrap{ padding: 16px 24px; }
}@media (min-width:1024px){ .layout{ display:grid; grid-template-columns:260px 1fr; gap:16px; }
}@media (min-width:1024px){ .mh-layout{ grid-template-columns:1fr 280px; align-items:start; }
}[data-theme="dark"] .freshness{ background: #2a1d12; color: #fdba74; }[data-theme="light"]{
  --bg:#f7f8fa; --surface:#fff; --ink:#1a1d21; --fg:var(--ink); --primary:var(--accent); --card:var(--surface); --muted:#6b7280;
  --border:#e5e7eb; --accent:#2563eb; --up:#dc2626; --down:#16a34a;
  --warn:#d97706; --row-hover:#eff6ff; --radius:10px;
  --shadow:0 1px 3px rgba(0,0,0,.08);
  --bg-elevated:#ffffff;
  --shadow-lg:0 8px 24px rgba(0,0,0,.15);
  --accent-hover:#1d4ed8;
}a.link{ color: var(--accent); text-decoration: none; }body{
  background: var(--bg);
  color: var(--ink);
  min-height: 100vh;
  margin: 0;
  font-family: system-ui, -apple-system, "Noto Sans TC", sans-serif;
}code{ background: var(--bg); padding: 2px 6px; border-radius: 5px; font-size: 13px; }li{ margin: 5px 0; }td.b{ font-weight: 700; color: var(--accent); }ul{ padding-left: 20px; font-size: 14px; }\n