:root {
  color-scheme: light;
  --font-system: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
  --blue:#007aff; --green:#248a3d; --red:#d70015; --orange:#c93400;
  --ink:#1d1d1f; --secondary:#6e6e73; --tertiary:#98989d;
  --line:rgba(60,60,67,.18); --canvas:#f5f5f7; --surface:#fff; --subsurface:#f2f2f7;
  --sidebar:#fbfbfd; --shadow:0 8px 28px rgba(0,0,0,.06); --radius:20px;
  --sidebar-width:304px; --focus:0 0 0 4px rgba(0,122,255,.25);
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --blue:#0a84ff; --green:#30d158; --red:#ff453a; --orange:#ff9f0a;
  --ink:#f5f5f7; --secondary:#a1a1a6; --tertiary:#77777c;
  --line:rgba(84,84,88,.65); --canvas:#000; --surface:#1c1c1e; --subsurface:#2c2c2e;
  --sidebar:#111113; --shadow:none; --focus:0 0 0 4px rgba(10,132,255,.3);
}

* { box-sizing:border-box; }
[hidden] { display:none!important; }
html { scroll-behavior:smooth; background:var(--canvas); }
body { margin:0; min-width:320px; color:var(--ink); background:var(--canvas); font-family:var(--font-system); -webkit-font-smoothing:antialiased; }
button,input,textarea,select { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
a { color:inherit; }
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible { outline:0; box-shadow:var(--focus); }

.site-back-link { position:fixed; z-index:45; top:12px; left:calc(var(--sidebar-width) + 20px); min-height:44px; display:inline-flex; align-items:center; gap:8px; padding:0 14px; color:var(--secondary); background:var(--surface); border:1px solid var(--line); border-radius:999px; box-shadow:var(--shadow); text-decoration:none; font-size:12px; font-weight:650; }
.site-back-link:hover { color:var(--ink); }

.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.sidebar { position:fixed; inset:0 auto 0 0; z-index:300; width:var(--sidebar-width); display:flex; flex-direction:column; overflow-y:auto; padding:24px 18px; background:var(--sidebar); border-right:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:12px; padding:0 8px 22px; color:inherit; text-decoration:none; }
.brand-mark { width:40px; height:40px; display:grid; place-items:center; color:#fff; background:linear-gradient(145deg,#007aff,#5856d6); border-radius:12px; font-weight:750; box-shadow:0 6px 16px rgba(0,122,255,.22); }
.brand strong,.brand span { display:block; }
.brand strong { font-size:16px; letter-spacing:-.015em; }
.brand span { margin-top:2px; color:var(--secondary); font-size:12px; }
.side-nav { display:grid; gap:4px; }
.side-nav a { min-height:44px; display:flex; align-items:center; gap:11px; padding:0 12px; color:var(--secondary); text-decoration:none; border-radius:12px; font-size:14px; font-weight:560; }
.side-nav a span { width:24px; height:24px; display:grid; place-items:center; color:var(--secondary); background:var(--subsurface); border-radius:7px; font-size:11px; font-weight:700; }
.side-nav a:hover { color:var(--ink); background:var(--subsurface); }
.side-nav a.active { color:var(--blue); background:color-mix(in srgb,var(--blue) 10%,transparent); }
.side-nav a.active span { color:#fff; background:var(--blue); }
.side-section { padding:22px 6px 0; }
.side-section h2,.assistant-panel h2 { margin:0; font-size:13px; font-weight:700; }
.side-heading { display:flex; justify-content:space-between; align-items:center; }
.icon-button { min-width:44px; min-height:44px; display:grid; place-items:center; padding:0; color:var(--secondary); background:transparent; border:0; border-radius:50%; cursor:pointer; }
.icon-button:hover { color:var(--ink); background:var(--subsurface); }
.status-card { margin-top:8px; padding:13px 14px; background:var(--subsurface); border-radius:14px; }
.status-card div { display:flex; align-items:center; gap:8px; font-size:13px; }
.status-card p { margin:5px 0 0; color:var(--secondary); font-size:11px; line-height:1.4; }
.status-dot { width:8px; height:8px; display:inline-block; flex:0 0 auto; border-radius:50%; background:var(--green); box-shadow:0 0 0 4px color-mix(in srgb,var(--green) 14%,transparent); }
.status-dot.error { background:var(--orange); box-shadow:0 0 0 4px color-mix(in srgb,var(--orange) 14%,transparent); }
.segmented { display:grid; grid-template-columns:repeat(3,1fr); gap:3px; margin-top:9px; padding:3px; background:var(--subsurface); border-radius:11px; }
.segmented button { min-height:36px; padding:0 4px; color:var(--secondary); background:transparent; border:0; border-radius:8px; font-size:12px; cursor:pointer; }
.segmented button.selected { color:var(--ink); background:var(--surface); box-shadow:0 1px 4px rgba(0,0,0,.08); font-weight:650; }
.update-control-card { display:grid; gap:9px; margin-top:9px; padding:13px 14px; background:var(--subsurface); border-radius:14px; }
.update-control-row { min-height:44px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.update-control-row > label:first-child { cursor:pointer; }
.update-control-row strong,.update-control-row span { display:block; }
.update-control-row strong { font-size:13px; }
.update-control-row > label:first-child span { margin-top:3px; color:var(--secondary); font-size:10px; }
.switch { position:relative; min-width:51px; min-height:44px; display:grid; place-items:center; cursor:pointer; }
.switch input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.switch-track { position:relative; width:51px; height:31px; background:color-mix(in srgb,var(--tertiary) 42%,transparent); border-radius:999px; transition:background .2s ease; }
.switch-thumb { position:absolute; top:2px; left:2px; width:27px; height:27px; background:#fff; border-radius:50%; box-shadow:0 2px 5px rgba(0,0,0,.22); transition:transform .2s cubic-bezier(.25,.1,.25,1); }
.switch input:checked + .switch-track { background:var(--green); }
.switch input:checked + .switch-track .switch-thumb { transform:translateX(20px); }
.switch input:focus-visible + .switch-track { box-shadow:var(--focus); }
.switch input:disabled + .switch-track { opacity:.5; cursor:not-allowed; }
.control-status { margin:0; color:var(--secondary); font-size:10px; line-height:1.45; }
.control-status.enabled { color:var(--green); }
.control-status.paused,.control-status.error { color:var(--orange); }
.control-token-label { color:var(--secondary); font-size:11px; font-weight:650; }
.update-control-card > input { width:100%; min-height:44px; padding:9px 11px; color:var(--ink); background:var(--surface); border:1px solid var(--line); border-radius:10px; outline:none; font-size:12px; }
.assistant-panel { margin-top:22px; padding:15px; background:var(--surface); border:1px solid var(--line); border-radius:18px; }
.assistant-title { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.assistant-title p { margin:4px 0 0; color:var(--secondary); font-size:11px; }
.api-settings { display:grid; gap:7px; margin:12px 0; padding:12px; background:var(--subsurface); border-radius:13px; }
.api-settings label { color:var(--secondary); font-size:11px; font-weight:650; }
.api-settings input,.api-settings select { width:100%; min-height:42px; padding:9px 11px; color:var(--ink); background:var(--surface); border:1px solid var(--line); border-radius:10px; outline:none; font-size:12px; }
.secondary-button { min-height:42px; margin-top:3px; color:var(--blue); background:color-mix(in srgb,var(--blue) 11%,transparent); border:0; border-radius:999px; font-size:12px; font-weight:650; cursor:pointer; }
.privacy-note { margin:1px 0 0; color:var(--secondary); font-size:10px; line-height:1.45; }
.chat-log { min-height:88px; max-height:240px; overflow-y:auto; display:flex; flex-direction:column; gap:8px; margin:13px 0 10px; padding-right:2px; }
.message { max-width:92%; padding:9px 11px; border-radius:12px; font-size:12px; line-height:1.55; white-space:pre-wrap; overflow-wrap:anywhere; }
.assistant-message { align-self:flex-start; color:var(--ink); background:var(--subsurface); border-bottom-left-radius:4px; }
.user-message { align-self:flex-end; color:#fff; background:var(--blue); border-bottom-right-radius:4px; }
.message.error-message { color:var(--orange); }
#daily-summary-text { white-space:pre-line; overflow-wrap:anywhere; }
#daily-summary-text a { color:var(--blue); text-decoration:none; }
#daily-summary-text a:hover { text-decoration:underline; }
.chat-form { display:grid; grid-template-columns:1fr auto; align-items:end; gap:7px; }
.chat-form textarea { min-height:44px; max-height:120px; resize:vertical; padding:10px 11px; color:var(--ink); background:var(--subsurface); border:1px solid transparent; border-radius:12px; outline:none; font-size:12px; }
.chat-form button { min-width:52px; min-height:44px; padding:0 12px; color:#fff; background:var(--blue); border:0; border-radius:999px; font-size:12px; font-weight:650; cursor:pointer; }
.chat-form button:disabled { opacity:.5; cursor:wait; }
.sidebar-footnote { margin:auto 8px 0; padding-top:22px; color:var(--tertiary); font-size:10px; line-height:1.5; }
.mobile-menu,.sidebar-backdrop { display:none; }

.main-content { min-height:100vh; margin-left:var(--sidebar-width); }
.shell { max-width:1260px; margin:0 auto; padding:0 36px 56px; }
.hero { padding:64px 0 28px; display:flex; justify-content:space-between; align-items:flex-start; gap:24px; }
.eyebrow { display:inline-flex; gap:8px; align-items:center; color:var(--secondary); font-size:13px; font-weight:600; letter-spacing:.02em; }
.live-dot { width:8px; height:8px; border-radius:50%; background:var(--red); box-shadow:0 0 0 4px color-mix(in srgb,var(--red) 14%,transparent); }
h1 { margin:12px 0 8px; font-size:clamp(32px,5vw,52px); letter-spacing:-.045em; line-height:1.06; }
.lead { margin:0; max-width:720px; color:var(--secondary); font-size:17px; line-height:1.55; }
.date-card { min-width:190px; padding:14px 16px; border:1px solid var(--line); border-radius:16px; background:var(--surface); text-align:right; }
.date-card strong { display:block; font-size:20px; letter-spacing:-.025em; }
.date-card span { color:var(--secondary); font-size:12px; }
.update-strip { min-height:44px; display:flex; align-items:center; gap:22px; margin-bottom:16px; padding:10px 16px; color:var(--secondary); background:var(--subsurface); border-radius:14px; font-size:12px; }
.update-strip > span:first-child { display:flex; align-items:center; gap:8px; color:var(--ink); }
.update-strip > span:nth-child(2) { flex:1; }
.card { background:var(--surface); border:1px solid color-mix(in srgb,var(--line) 75%,transparent); border-radius:var(--radius); box-shadow:var(--shadow); }
.summary { display:grid; grid-template-columns:1.4fr .86fr; overflow:hidden; }
.summary-main { padding:30px 32px; border-right:1px solid var(--line); }
.section-kicker { margin-bottom:7px; color:var(--blue); font-size:11px; font-weight:700; letter-spacing:.035em; text-transform:uppercase; }
.summary-main h2,.section-title h2,.takeaway h2 { margin:0; font-size:21px; letter-spacing:-.025em; }
.summary-main p { margin:12px 0 0; color:var(--secondary); font-size:15px; line-height:1.65; }
.metric-row { margin-top:26px; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }
.metric { padding:18px 12px 0 0; }
.metric + .metric { padding-left:18px; border-left:1px solid var(--line); }
.label { display:block; margin-bottom:6px; color:var(--secondary); font-size:12px; }
.value { font-size:25px; font-weight:700; letter-spacing:-.04em; }
.unit { margin-left:3px; color:var(--secondary); font-size:13px; }
.breadth { padding:30px 32px; display:flex; flex-direction:column; justify-content:space-between; }
.breadth h3 { margin:0; font-size:15px; }
.breadth p { margin:6px 0 20px; color:var(--secondary); font-size:12px; }
.breadth-bar { height:12px; display:flex; gap:3px; }
.breadth-bar span { min-width:3px; border-radius:999px; transition:flex .25s ease; }
.up { background:var(--red); flex:1; }
.down { background:#88909b; flex:1; }
.breadth-figures { display:flex; justify-content:space-between; gap:10px; margin-top:12px; font-size:12px; }
.positive { color:var(--red); }
.negative { color:var(--green); }
.section { margin-top:28px; scroll-margin-top:20px; }
.section-title { display:flex; align-items:end; justify-content:space-between; gap:16px; margin-bottom:14px; }
.section-title p { margin:0; color:var(--secondary); font-size:12px; }
.indices { overflow-x:auto; }
table { width:100%; border-collapse:collapse; }
th,td { padding:17px 20px; text-align:right; border-bottom:1px solid var(--line); font-variant-numeric:tabular-nums; white-space:nowrap; }
th:first-child,td:first-child { text-align:left; }
th { color:var(--secondary); font-size:12px; font-weight:600; }
td { font-size:14px; }
tbody tr:last-child td { border-bottom:0; }
.index-name { font-weight:650; }
.index-subtitle { display:block; margin-top:3px; color:var(--secondary); font-size:10px; font-weight:400; }
.change-up { color:var(--red); font-weight:650; }
.change-down { color:var(--green); font-weight:650; }
.change-flat { color:var(--secondary); font-weight:650; }
.loading-cell { height:92px; color:var(--secondary); text-align:center!important; }
.asset-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.asset-card { min-height:148px; padding:22px; }
.asset-card .asset-top { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.asset-card h3 { margin:0; font-size:15px; }
.asset-card .asset-unit { display:block; margin-top:4px; color:var(--secondary); font-size:10px; }
.asset-card .asset-price { margin-top:24px; font-size:27px; font-weight:720; letter-spacing:-.035em; font-variant-numeric:tabular-nums; }
.asset-card .asset-change { margin-top:5px; font-size:12px; font-weight:650; }
.asset-card time { display:block; margin-top:10px; color:var(--secondary); font-size:10px; }
.asset-badge { padding:5px 8px; color:var(--secondary); background:var(--subsurface); border-radius:999px; font-size:9px; }
.loading-card { display:grid; place-items:center; grid-column:1/-1; color:var(--secondary); }
.grid-two { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.sector-card { padding:26px 28px; }
.sector-card h3 { margin:0; font-size:18px; letter-spacing:-.02em; }
.sector-card .caption { margin:7px 0 20px; color:var(--secondary); font-size:12px; }
.sector-list { list-style:none; padding:0; margin:0; }
.sector-list li { min-height:44px; display:flex; align-items:center; gap:12px; padding:9px 0; border-top:1px solid var(--line); color:var(--secondary); font-size:14px; line-height:1.55; }
.sector-list strong { margin-left:auto; color:var(--ink); font-size:12px; font-weight:650; }
.compact-list li { justify-content:space-between; }
.takeaway { padding:28px 30px; }
.takeaway p { margin:10px 0 0; max-width:1040px; color:var(--secondary); font-size:15px; line-height:1.75; }
.footnote { margin-top:28px; padding:20px 24px; color:var(--secondary); font-size:11px; line-height:1.7; }
.footnote p { margin:0; }
.footnote p + p { margin-top:8px; }
.noscript { position:fixed; z-index:1000; inset:auto 16px 16px; padding:14px; color:#fff; background:#c93400; border-radius:12px; text-align:center; }

@media (max-width:1100px) {
  .asset-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:880px) {
  .site-back-link { left:66px; }
  .sidebar { transform:translateX(-102%); transition:transform .25s cubic-bezier(.25,.1,.25,1); box-shadow:0 18px 50px rgba(0,0,0,.22); }
  .sidebar.open { transform:translateX(0); }
  .mobile-menu { position:fixed; z-index:350; top:14px; left:14px; width:44px; height:44px; display:grid; place-items:center; color:var(--ink); background:var(--surface); border:1px solid var(--line); border-radius:50%; box-shadow:var(--shadow); cursor:pointer; }
  .sidebar-backdrop { position:fixed; z-index:250; inset:0; display:block; background:rgba(0,0,0,.35); }
  .sidebar-backdrop[hidden] { display:none; }
  .main-content { margin-left:0; }
  .shell { padding:0 20px 44px; }
  .hero { padding-top:78px; }
}
@media (max-width:680px) {
  .shell { padding:0 16px 40px; }
  .hero { display:block; }
  .date-card { margin-top:20px; min-width:0; text-align:left; }
  .update-strip { align-items:flex-start; flex-direction:column; gap:5px; }
  .summary { grid-template-columns:1fr; }
  .summary-main { padding:24px; border-right:0; border-bottom:1px solid var(--line); }
  .breadth { min-height:220px; padding:24px; }
  .metric-row { grid-template-columns:1fr; }
  .metric + .metric { padding-left:0; border-left:0; }
  .grid-two { grid-template-columns:1fr; }
  .asset-grid { grid-template-columns:1fr; }
  .section-title { align-items:flex-start; flex-direction:column; gap:5px; }
  th,td { padding:14px 12px; font-size:12px; }
  .hide-mobile { display:none; }
}
@media (prefers-color-scheme:dark) {
  :root:not([data-theme]) {
    color-scheme:dark;
    --blue:#0a84ff; --green:#30d158; --red:#ff453a; --orange:#ff9f0a;
    --ink:#f5f5f7; --secondary:#a1a1a6; --tertiary:#77777c;
    --line:rgba(84,84,88,.65); --canvas:#000; --surface:#1c1c1e; --subsurface:#2c2c2e;
    --sidebar:#111113; --shadow:none; --focus:0 0 0 4px rgba(10,132,255,.3);
  }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; scroll-behavior:auto!important; }
}
@media print {
  .no-print { display:none!important; }
  .main-content { margin-left:0; }
  .shell { max-width:none; padding:0; }
  .card { box-shadow:none; break-inside:avoid; }
}
