/* Daylight: warm canvas, paper surfaces, focused information. No external assets. */
:root { color-scheme: dark; --bg:#0b1220; --panel:#0f182a; --panel-high:#111d32; --side:#0d1526; --line:#1c2a3f; --line-soft:#172338; --text:#d7e2f0; --muted:#8a9cb4; --dim:#6b7f99; --cyan:#22d3ee; --red:#f05252; --green:#22c55e; background:var(--bg); color:var(--text); }
body { background:var(--bg); color:var(--text); font-family:"Noto Sans CJK SC","PingFang SC","Microsoft YaHei",sans-serif; }
button, input, select { font:inherit; }
button, a, summary { -webkit-tap-highlight-color:transparent; }
summary { cursor:pointer; }
:focus-visible { outline:2px solid #5cc4d6; outline-offset:4px; }
.live-content .shell { grid-template-columns:208px minmax(0,1fr); min-height:100vh; }
.live-content .sidebar { background:#121c2b; border-right:1px solid var(--line); padding:35px 19px 24px; min-height:0; height:100vh; position:sticky; top:0; }
.live-content .brand { padding:0 10px; gap:12px; }
.live-content .brand > span { font-size:19px; letter-spacing:.04em; font-weight:650; }
.live-content .brand small { display:block; font-size:10px; font-weight:400; color:#788ba9; letter-spacing:.13em; margin-top:6px; }
.daylight-logo { display:block; position:relative; height:33px; width:33px; flex-shrink:0; border:1.5px solid #899ab4; border-radius:50%; background:#0b121c; }
.daylight-logo::before { content:""; position:absolute; width:17px; height:17px; left:6px; top:7px; border:1.5px solid #a0aec2; border-radius:50%; }
.daylight-logo::after { content:""; position:absolute; width:8px; height:8px; right:-2px; top:0; border-radius:50%; background:#4f617b; border:2px solid #121c2b; }
.live-content .nav-group-label { font-size:10px; margin:45px 13px 13px; color:#6b80a0; letter-spacing:.12em; }
.live-content .nav-item { margin:5px 0; gap:13px; padding:13px 15px; font-size:13px; font-weight:450; color:#8f9fb7; border:0; border-radius:9px; min-height:45px; }
.live-content .nav-item svg { color:#687e9e; }
.live-content .nav-item:hover { background:#0d141f; color:#c2cbd8; }
.live-content .nav-item.active { background:#1a283f; color:#c1cad7; font-weight:600; }
.live-content .nav-item.active svg { color:#aab6c9; }
.live-content .nav-item.active::before { content:none; }
.live-content .sidebar-bottom { margin-top:auto; padding:22px 8px 0; }
.daylight-person { display:flex; gap:10px; align-items:center; color:#aab6c9; font-size:12px; }
.daylight-person small { display:block; font-size:10px; color:#6b81a1; margin-top:5px; }
.live-content .space-avatar { background:#19273c; color:#8c9db6; border:1px solid #223552; height:34px; width:34px; border-radius:50%; font-size:13px; }
.live-content .workspace { min-width:0; }
.live-content .topbar { height:66px; padding:0 42px; background:#101927; border-bottom:1px solid var(--line); }
.workspace-caption { font-size:11px; color:#8798b2; letter-spacing:.02em; }
.workspace-caption > span { margin:0 13px; color:#435369; }
.live-content .top-actions { display:flex; align-items:center; gap:22px; }
.live-content .timezone { color:#6a80a0; font-size:10px; }
.live-content .button { display:inline-flex; align-items:center; justify-content:center; gap:8px; background:#121c2b; border:1px solid #213451; color:#9eacc1; padding:9px 14px; border-radius:7px; font-size:11px; font-weight:500; box-shadow:none; }
.live-content .button:hover { background:#19273c; border-color:#4c5d76; }
.live-content .logout-button { border-color:transparent; background:transparent; color:#6f84a3; padding:8px; }
.live-content main#main { max-width:1760px; margin:0 auto; padding:35px 32px 0; }
.live-content .page-heading { margin:0 0 26px; align-items:center; }
.page-kicker { display:block; font-size:9px; letter-spacing:.2em; font-weight:500; color:#617798; margin-bottom:8px; }
.live-content .page-heading h1 { display:flex; align-items:center; gap:20px; margin:0; font-size:28px; font-weight:620; letter-spacing:.03em; line-height:1.5; color:#e2e6ed; }
.heading-date { font-size:11px; letter-spacing:.05em; color:#617798; font-weight:400; padding-left:19px; border-left:1px solid #243858; }
.live-content .page-heading p { margin-top:5px; font-size:11px; color:#6b81a1; line-height:1.8; }
.live-content .heading-actions .button { font-size:11px; padding:8px 12px; min-height:33px; }
.live-content .context-bar { display:grid; grid-template-columns:minmax(140px,1.1fr) minmax(130px,1fr) minmax(140px,1fr) auto; gap:22px; align-items:end; padding:18px 22px; margin:0 0 15px; border:1px solid var(--line); border-radius:10px; background:#121c2b; box-shadow:0 2px 5px #00000002; }
.live-content .context-bar label { display:block; min-width:0; }
.live-content .context-bar label > span { display:block; color:#637a9b; font-size:10px; margin-bottom:7px; }
.live-content .context-bar select, .live-content .context-bar input, .live-content select, .live-content input[type="date"], .live-content input[type="datetime-local"] { color:#b9c3d2; background-color:#0e1622; border:1px solid #1d2e47; border-radius:6px; padding:9px 11px; font-size:11px; height:36px; width:100%; max-width:none; }
.live-content select:focus, .live-content input:focus { border-color:#556885; }
.view-details { color:#8496b0; font-size:11px; }
.view-details > summary { list-style:none; display:flex; align-items:center; justify-content:space-between; gap:15px; line-height:1.7; }
.view-details > summary::-webkit-details-marker { display:none; }
.view-details > summary small { margin-left:12px; font-size:10px; color:#5b6f8e; font-weight:400; }
.view-details[open] > summary .disclosure-chevron { transform:rotate(180deg); }
.disclosure-chevron { display:inline-block; transition:transform .15s; color:#697f9f; font-family:sans-serif; font-size:14px; font-weight:400; }
.disclosure-body { line-height:1.9; overflow-wrap:anywhere; }
.disclosure-body p { margin:10px 0; }
.extra-context { position:relative; align-self:end; }
.extra-context > summary { height:36px; white-space:nowrap; font-size:10px; color:#6a80a0; }
.extra-context > .disclosure-body { position:absolute; right:0; top:46px; width:350px; background:#121c2b; padding:20px; border:1px solid var(--line); border-radius:9px; z-index:10; box-shadow:0 12px 35px #00000014; }
.extra-context label + label { margin-top:15px; }
.account-strip { display:flex; align-items:center; flex-wrap:wrap; gap:12px; min-height:35px; margin-bottom:21px; padding:0 3px; color:#7a8daa; font-size:10px; }
.account-strip-name { display:inline-flex; align-items:center; gap:7px; color:#8f9fb7; }
.account-strip-caption { color:#617798; margin-left:auto; }
.small-status-dot { display:inline-block; width:5px; height:5px; border-radius:50%; background:#7286a5; margin-right:5px; }
.warning-dot { background:#d6a55c; }
.live-content .badge { padding:3px 7px; border-radius:4px; font-size:9px; font-weight:450; border:0; background:#19283e; color:#8395b0; letter-spacing:.02em; }
.live-content .badge.cyan { color:#a6b3c6; background:#19273c; }
.live-content .badge.muted { background:#18263b; color:#7b8eaa; }
.live-content .badge.danger { background:#331b0f; color:#8395b0; }
.live-content .badge.warning { background:#33270f; color:#d6a55c; }
.live-content .up { color:#d6675c!important; }
.live-content .down { color:#adb9cb!important; }
.live-content .neutral { color:#acb8ca; }
.live-content .subtle { color:#5c7190; }
.live-content .stats-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:24px; }
.live-content .stat { display:flex; flex-direction:column; gap:0; min-height:126px; padding:23px 22px 20px; border:1px solid var(--line); border-radius:10px; background:#121c2b; position:relative; box-shadow:none; }
.live-content .stat-label { color:#7186a4; font-size:10px; line-height:1.7; }
.live-content .stat-number { font-size:27px; font-weight:550; letter-spacing:-.035em; color:#d3dae3; line-height:1.35; margin:10px 0 7px; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
.live-content .stat-sub { color:#5d7392; font-size:9px; line-height:1.6; margin-top:auto; }
.live-content .stat-featured { background:#19273d; border-color:#233755; }
.live-content .stat-featured::after { content:""; position:absolute; top:23px; right:20px; height:7px; width:7px; border-radius:50%; border:1px solid #536581; }
.live-content .panel { background:#121c2b; border:1px solid var(--line); border-radius:11px; box-shadow:none; overflow:visible; margin:0 0 22px; }
.live-content .panel-head { padding:23px 24px 19px; align-items:center; border:0; }
.live-content .panel-head h2 { color:#c2cbd8; font-size:15px; font-weight:600; margin:0; letter-spacing:.02em; }
.live-content .panel-head p { color:#627899; font-size:10px; margin:7px 0 0; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; }
.text-link { display:inline-flex; align-items:center; gap:6px; font-size:10px; font-weight:500; color:#8899b3; }
.text-link:hover { color:#5cc4d6; }
.signal-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; padding:0 24px 22px; }
.signal-grid:has(> :only-child) { grid-template-columns:minmax(0,1fr); }
.signal-card { padding:19px 20px 14px; border:1px solid #1e304a; border-radius:9px; background:#121c2b; min-width:0; }
.signal-primary { background:#0e2433; border-color:#155e75; }
.signal-card-top { display:flex; align-items:center; gap:10px; margin-bottom:16px; }
.signal-rank { font-family:ui-monospace,monospace; font-size:11px; color:#617798; padding:4px 6px; border:1px solid #20334f; border-radius:4px; background:#0d141f; }
.signal-tag { font-size:9px; color:#5b6f8e; letter-spacing:.04em; }
.signal-card h3 { margin:0 0 6px; color:#c2cbd8; font-size:17px; font-weight:550; letter-spacing:.025em; }
.live-content .stock-code { color:#5d7292; font-size:9px; margin-top:4px; display:block; font-family:ui-monospace,monospace; }
.signal-forecast { margin:21px 0 15px; display:flex; justify-content:space-between; align-items:center; gap:10px; }
.signal-forecast > span { color:#677d9e; font-size:10px; }
.signal-forecast > strong { font-size:26px; font-weight:500; letter-spacing:-.04em; }
.signal-card-foot { display:flex; justify-content:space-between; align-items:center; padding-top:13px; border-top:1px solid #1e2f48; font-size:10px; color:#677d9e; }
.signal-card-foot > strong { color:#788ca9; font-size:11px; font-weight:450; }
.signal-card > .view-details { margin-top:14px; color:#617697; font-size:9px; }
.st-label { margin-left:auto; color:#d68d5c; background:#33250f; border-radius:3px; padding:2px 4px; font-size:8px; }
.live-provenance { padding:12px 24px; border-top:1px solid #1a293f; background:transparent; color:#5d7292; font-size:10px; line-height:1.8; }
.source-line { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.source-details { margin-left:auto; font-size:9px; color:#5a6e8d; position:relative; }
.source-details > .disclosure-body { position:relative; min-width:0; }
.source-details[open] { flex-basis:100%; margin:0; }
.source-details[open] > summary { justify-content:flex-start; }
.view-definition { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; margin:10px 0; }
.view-definition > div { display:flex; flex-direction:column; padding:7px 0; min-width:0; border-bottom:1px solid #1a283f; }
.view-definition dt { color:#617697; font-size:9px; }
.view-definition dd { color:#8f9fb8; font-size:10px; margin:3px 0 0; overflow-wrap:anywhere; }
.important-warning { color:#d6a25c; background:#33270f; border:1px solid #322610; border-radius:7px; padding:11px 15px; margin:10px 0; font-size:11px; line-height:1.9; }
.live-provenance .important-warning { margin:10px 0 2px; }
.model-switch { margin:0 0 20px; }
.model-switch strong { font-weight:550; }
.model-switch .view-details { color:#8c9cb5; margin-top:6px; }
.overview-bottom { display:grid; grid-template-columns:1.15fr 1fr; gap:20px; }
.mini-amounts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; padding:0 24px 20px; }
.mini-amounts span { display:block; font-size:10px; color:#617798; margin-bottom:10px; }
.mini-amounts strong { font-size:17px; font-weight:500; color:#a3b0c4; font-variant-numeric:tabular-nums; }
.account-link { margin:0 24px 20px; }
.service-items { display:grid; gap:14px; padding:0 24px 18px; }
.service-items > div { display:flex; justify-content:space-between; font-size:11px; color:#627899; }
.service-items strong { display:flex; align-items:center; gap:3px; font-size:10px; font-weight:450; color:#8e9eb7; }
.overview-bottom .view-details { margin:0 24px 18px; font-size:9px; color:#5e7493; }
.view-details.panel > summary { padding:20px 24px; color:#a2b0c4; font-weight:550; font-size:13px; }
.view-details.panel > .disclosure-body { border-top:1px solid var(--line-soft); }
.view-details:not(.panel):not(.source-details):not(.row-details):not(.extra-context):not(.range-details) { margin-bottom:19px; }
.live-content > .view-details, main > .view-details { padding:4px 0 9px; }
.ranking-details .disclosure-body, .curve-panel > .view-details > .disclosure-body { overflow:visible; }
.live-content .table-wrap { max-width:100%; overflow-x:auto; scrollbar-color:#2c456c #0e1723; }
.live-content table { min-width:640px; font-size:11px; border-collapse:collapse; width:100%; }
.live-content th { background:#0e1723; border-top:1px solid #1a293f; border-bottom:1px solid #1a293f; padding:13px 19px; color:#617798; font-size:9px; font-weight:450; white-space:nowrap; }
.live-content td { padding:17px 19px; border-bottom:1px solid #1a293f; color:#8a9bb4; font-size:11px; max-width:360px; }
.live-content td > strong { color:#a7b4c7; font-size:11px; font-weight:500; }
.live-content tbody tr:hover { background:#101926; }
.live-content .num { font-family:ui-monospace,"Noto Sans CJK SC",monospace; font-variant-numeric:tabular-nums; }
.live-content .cell-sub { display:block; font-size:9px; color:#5b6f8e; margin-top:6px; line-height:1.6; }
.rank-cell { font-size:10px!important; color:#576b88!important; font-family:ui-monospace,monospace; }
.row-details { min-width:40px; font-size:9px; color:#5f7495; }
.row-details[open] { min-width:190px; max-width:300px; }
.row-details .view-definition { grid-template-columns:1fr; }
.event-time { max-width:155px!important; font-size:10px!important; line-height:1.8; }
.live-pagination { padding:15px 24px; color:#5c708f; font-size:10px; border:0; }
.live-pagination .button { margin-left:auto; padding:6px 12px; font-size:10px; }
.equity-hero { display:flex; align-items:center; justify-content:space-between; padding:28px 32px; border:1px solid #233756; border-radius:12px; background:linear-gradient(110deg,#19283e,#0c121d); margin-bottom:18px; }
.hero-label { font-size:11px; color:#7b8eab; }
.hero-label small { font-size:9px; margin-left:10px; padding:2px 6px; color:#6f84a3; border:1px solid #273e61; border-radius:4px; }
.equity-number { font-size:46px; line-height:1.5; letter-spacing:-.045em; color:#b8c2d2; font-weight:500; margin:5px 0; font-variant-numeric:tabular-nums; }
.equity-change { display:flex; flex-wrap:wrap; gap:20px; color:#687e9f; font-size:10px; }
.equity-change > span:first-child { font-size:12px; }
.equity-hero-right { display:flex; flex-direction:column; align-items:flex-end; gap:12px; font-size:9px; letter-spacing:.06em; color:#5d7292; }
.equity-ornament { display:grid; place-items:center; height:70px; width:70px; border:1px solid #253a5a; border-radius:50%; font-family:sans-serif; font-size:32px; font-weight:300; color:#45546b; }
.account-stats .stat { min-height:112px; }
.account-stats .stat-number { font-size:25px; }
.detail-stats .stat { min-height:95px; border:0; background:#0e1622; }
.detail-stats .stat-number { font-size:20px; }
.live-chart-toolbar { padding:0 24px 8px; font-size:10px; gap:15px; }
.live-content .segmented { display:inline-flex; padding:3px; background:#0c131d; border:1px solid #1e304a; border-radius:6px; }
.live-content .segmented button { color:#5d7292; font-size:10px; padding:7px 12px; border-radius:4px; }
.live-content .segmented button.active { color:#94a3ba; background:#121c2b; box-shadow:0 1px 3px #00000010; }
.live-content .segmented button:hover { background:#1d2d46; }
.compare-control { margin-left:auto; color:#647b9c; font-size:9px; }
.compare-control input { height:12px; width:12px; accent-color:#8f9fb7; }
.range-details { position:relative; color:#607596; font-size:9px; }
.range-details > .disclosure-body { display:flex; flex-wrap:wrap; gap:12px; background:#101926; padding:12px; border-radius:7px; margin-top:10px; }
.range-details > .disclosure-body input { margin-top:5px; }
.live-chart { padding:15px 24px 5px; }
.live-chart text { fill:#5a6e8c; font-family:inherit; font-size:10px; }
.live-chart line { stroke:#1e2f48; }
.curve-panel > .view-details { margin:0 24px; font-size:9px; color:#5f7494; padding:0 0 15px; }
.simple-rule { display:flex; align-items:flex-start; flex-wrap:wrap; gap:15px; margin:0 0 20px; padding:0 3px; font-size:9px; color:#596d8c; }
.simple-rule > .view-details { font-size:9px; color:#5f7495; margin-left:auto; }
.simple-rule > .view-details[open] { flex-basis:100%; margin:0; }
.transaction-range { display:flex; align-items:end; flex-wrap:wrap; gap:15px; padding:16px 20px; margin-bottom:18px; border:1px solid var(--line); border-radius:10px; background:#121c2b; color:#9caac0; font-size:11px; }
.transaction-range > span { align-self:center; margin-right:auto; font-weight:550; color:#a7b4c7; }
.transaction-range label { display:flex; flex-direction:column; gap:5px; min-width:145px; }
.transaction-range input { min-height:34px; padding:6px 9px; border:1px solid #213451; border-radius:5px; background:#101926; color:#a7b4c7; font:inherit; }
.transaction-range input:focus-visible { outline:2px solid #617798; outline-offset:2px; }
.live-content td.sell-pnl { font-size:16px; font-weight:600; white-space:nowrap; }
.ledger-details, .performance-details { margin-bottom:18px!important; }
.ledger-details .disclosure-body, .performance-details .disclosure-body { overflow:visible; }
.section-note { margin:0; padding:12px 24px; color:#9caac0; font-size:10px; line-height:1.7; }
.pipeline-summary { display:flex; align-items:center; justify-content:space-between; padding:16px 20px; border:1px solid #20324e; border-radius:9px; background:#18263b; font-size:11px; color:#7f92ad; margin-bottom:18px; }
.pipeline-summary strong { color:#9fadc2; font-weight:550; }
.pipeline-summary.needs-attention { background:#33240f; border-color:#eedcbc; color:#d6a45c; }
.pipeline-summary.needs-attention strong { color:#d6a25c; }
.live-content .log-filters { display:flex; align-items:end; gap:14px; padding:19px 24px; background:#101927; border-bottom:1px solid var(--line-soft); }
.live-content .log-filters label { display:flex; flex-direction:column; align-items:stretch; gap:7px; font-size:9px; color:#657b9c; flex:1; min-width:120px; }
.live-content .log-filters select, .live-content .log-filters input { max-width:none; height:32px; font-size:10px; }
.live-content .log-list { background:#121c2b; max-height:400px; }
.live-content .log-item { padding:15px 24px; border-bottom:1px solid #1a2940; }
.live-content .log-item time { font-size:9px; color:#617697; }
.live-content .log-item small { font-size:9px; color:#5f7595; margin-left:10px; }
.live-content .log-item p { font-size:11px; color:#8f9fb8; margin:8px 0 0; }
.live-content .live-state { color:#627899; background:transparent; font-size:11px; padding:18px 24px; line-height:1.9; }
.live-content .live-state:empty { display:none; }
.live-content .empty-state { background:#121c2b; min-height:140px; padding:28px; }
.live-content .empty-state h2 { font-size:18px; color:#8f9fb7; }
.live-content .empty-state p { color:#607696; font-size:12px; }
.live-content .app-footer { display:flex; justify-content:space-between; border-top:1px solid var(--line); margin-top:28px; padding:20px 0 22px; color:#566986; font-size:9px; }
/* Keep the quiet stargazer composition, with less dimming and a light login card. */
.entry-background { filter:saturate(.83) brightness(1.08); }
.entry-sky::after { background:linear-gradient(90deg,#05050980 0%,#05050930 35%,transparent 63%),linear-gradient(180deg,#05050908,transparent 70%,#0505091a); }
.entry-panel { background:#0f182af0; border:1px solid #1c2a3f; border-radius:20px; box-shadow:0 24px 70px #0006; backdrop-filter:blur(20px); padding:36px 34px 30px; }
.entry-panel h2 { color:#d7e2f0; font-weight:550; font-size:25px; letter-spacing:.12em; }
#login-form > label { color:#8a9cb4; font-size:11px; }
.entry-input { background:#0b1220; border-color:#1c2a3f; border-radius:7px; }
.entry-input input { color:#d7e2f0; }
.entry-input:focus-within { border-color:#22d3ee; box-shadow:0 0 0 3px #22d3ee22; }
.entry-submit { background:#22d3ee; border-color:#22d3ee; color:#06202a; border-radius:7px; font-size:13px; font-weight:500; }
.entry-submit:hover { background:#67e8f9; border-color:#67e8f9; }
.entry-submit:active { background:#06b6d4; }
.entry-page :focus-visible { outline-color:#22d3ee; }
.quote-premise { color:#cacbc6; }
.quote-cost { color:#e1dfd6; }
.quote-unwanted { color:#fffaf0; }
.login-error { color:#f87171; font-size:11px; min-height:18px; margin-top:13px; }
/* Secondary copy remains legible; the canvas is light, not the information. */
.live-content .brand small { white-space:nowrap; letter-spacing:.08em; font-size:9px; }
.live-content .stat-label, .live-content .panel-head p, .live-content .account-strip, .live-content .view-details, .live-content .live-state,
.live-content .stat-sub, .live-content .stock-code, .live-content .cell-sub, .live-content th, .live-content .live-provenance,
.signal-tag, .signal-forecast > span, .signal-card-foot, .signal-card > .view-details, .account-strip-caption,
.live-content .context-bar label > span, .extra-context > summary, .live-content .page-heading p,
.mini-amounts span, .service-items > div, .live-content .subtle, .source-details, .view-definition dt,
.live-content .segmented button, .compare-control, .range-details, .simple-rule, .simple-rule > .view-details { color:#9caac0; }
.live-content .context-bar select, .live-content .context-bar input { font-size:12px; }
.live-content .stat-label, .live-content .panel-head p, .signal-forecast > span, .signal-card-foot, .mini-amounts span { font-size:11px; }
.live-content .stat-sub, .live-content .stock-code, .live-content .cell-sub, .live-content th, .live-content .live-provenance { font-size:10px; }
.live-content td, .live-content td > strong { font-size:12px; color:#aeb9cb; }
.live-content .stat { min-height:116px; padding-top:20px; padding-bottom:18px; }
.live-content .page-heading { margin-bottom:21px; }
@media (min-width:1600px) { .live-content main#main { padding-top:44px; } }
@media (max-width:1100px) {
  .live-content .shell { grid-template-columns:180px minmax(0,1fr); }
  .live-content .sidebar { padding-left:13px; padding-right:13px; }
  .live-content main#main { padding:28px 26px 0; }
  .live-content .topbar { padding:0 26px; }
  .live-content .context-bar { gap:13px; padding:16px; grid-template-columns:minmax(110px,1fr) minmax(110px,1fr) minmax(125px,1fr) auto; }
  .live-content .stats-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .signal-grid { gap:12px; padding:0 18px 19px; }
  .signal-card { padding:15px 14px; }
  .signal-forecast { display:block; }
  .signal-forecast strong { display:block; margin-top:6px; font-size:25px; }
  .overview-bottom { grid-template-columns:1fr; gap:0; }
}
@media (max-width:760px) {
  .live-content .shell { display:block; }
  .live-content .sidebar { position:relative; height:auto; width:auto; padding:18px 17px 0; border:0; border-bottom:1px solid var(--line); display:block; }
  .live-content .brand { padding:0 4px; gap:10px; }
  .live-content .brand > span { font-size:17px; }
  .live-content .brand small { font-size:8px; margin-top:4px; }
  .daylight-logo { height:29px; width:29px; }
  .daylight-logo::before { left:5px; top:6px; height:15px; width:15px; }
  .live-content .sidebar nav { display:flex; gap:5px; margin-top:17px; overflow-x:auto; scrollbar-width:none; padding-bottom:8px; }
  .live-content .sidebar nav::-webkit-scrollbar { display:none; }
  .live-content .nav-item { flex-shrink:0; display:flex; gap:6px; margin:0; min-height:34px; padding:9px 11px; font-size:10px; border-radius:6px; }
  .live-content .nav-item > svg { width:13px; height:13px; }
  .live-content .nav-group-label, .live-content .sidebar-bottom { display:none; }
  .live-content .topbar { height:42px; padding:0 20px; background:#121c2b; }
  .workspace-caption { font-size:9px; }
  .workspace-caption > span { margin:0 8px; }
  .live-content .top-actions .timezone { display:none; }
  .live-content .logout-button { padding:5px; font-size:10px; }
  .live-content main#main { padding:25px 18px 0; }
  .live-content .page-heading { margin-bottom:20px; align-items:center; }
  .live-content .page-heading h1 { font-size:25px; gap:14px; }
  .heading-date { font-size:9px; padding-left:13px; }
  .page-kicker { font-size:8px; margin-bottom:6px; }
  .live-content .page-heading p { font-size:10px; margin-top:4px; }
  .live-content .heading-actions { margin:0; }
  .live-content .heading-actions .button { width:31px; min-height:31px; height:31px; padding:7px; font-size:0; }
  .live-content .heading-actions .button svg { flex-shrink:0; }
  .live-content .context-bar { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; padding:16px; }
  .live-content .context-bar label { width:auto; display:block; }
  .live-content .context-bar select, .live-content .context-bar input { height:36px; font-size:10px; padding:8px; }
  .extra-context { align-self:center; margin-top:15px; justify-self:end; }
  .extra-context > summary { font-size:9px; }
  .extra-context > .disclosure-body { width:min(320px,calc(100vw - 65px)); }
  .live-content .context-bar .extra-context label { width:100%; }
  .account-strip { gap:8px; font-size:9px; margin-bottom:17px; line-height:1.7; }
  .account-strip-caption { margin-left:0; flex-basis:100%; padding-left:12px; font-size:9px; }
  .live-content .stats-grid { gap:11px; margin-bottom:19px; }
  .live-content .stat { padding:17px 16px; min-height:116px; }
  .live-content .stat-label { font-size:9px; }
  .live-content .stat-number { font-size:24px; margin:11px 0 8px; }
  .live-content .stat-sub { font-size:8px; }
  .live-content .stat-featured::after { top:19px; right:16px; height:5px; width:5px; }
  .live-content .panel { border-radius:10px; margin-bottom:18px; }
  .live-content .panel-head { padding:20px 18px 17px; }
  .live-content .panel-head h2 { font-size:14px; }
  .live-content .panel-head p { font-size:9px; margin-top:6px; }
  .text-link { font-size:9px; }
  .signal-grid { grid-template-columns:1fr; gap:11px; padding:0 17px 18px; }
  .signal-card { padding:17px 18px 13px; }
  .signal-card-top { margin-bottom:12px; }
  .signal-card h3 { font-size:17px; }
  .signal-forecast { display:flex; margin:17px 0 13px; }
  .signal-forecast strong { display:inline; margin:0; font-size:27px; }
  .signal-card-foot { font-size:9px; }
  .signal-card .view-details { font-size:9px; margin-bottom:0!important; }
  .live-provenance { padding:12px 17px; font-size:9px; }
  .source-line { gap:8px; }
  .source-details { margin-left:0; }
  .view-definition { grid-template-columns:1fr; }
  .mini-amounts { padding:0 18px 18px; gap:14px; }
  .mini-amounts strong { font-size:14px; }
  .mini-amounts span { font-size:9px; margin-bottom:8px; }
  .account-link { margin-left:18px; }
  .service-items { padding:0 18px 18px; font-size:10px; }
  .equity-hero { padding:23px 22px; }
  .equity-number { font-size:37px; }
  .equity-change { gap:10px; font-size:9px; }
  .equity-hero-right { display:none; }
  .account-stats .stat { min-height:108px; }
  .account-stats .stat-number { font-size:24px; }
  .view-details.panel > summary { padding:17px 18px; font-size:12px; }
  .view-details > summary small { font-size:9px; margin-left:8px; }
  .live-chart-toolbar { padding:0 18px; gap:13px; }
  .live-content .segmented button { font-size:9px; padding:6px 8px; }
  .compare-control { font-size:8px; gap:5px!important; }
  .range-details { margin-left:auto; }
  .range-details[open] { width:100%; margin:0; }
  .range-details > .disclosure-body { display:flex; }
  .range-details > .disclosure-body label { width:calc(50% - 6px); font-size:9px; }
  .live-chart { padding:10px 12px 5px; }
  .curve-panel > .view-details { margin:0 18px; }
  .live-content table { min-width:580px; }
  .live-content th { padding:12px 15px; font-size:9px; }
  .live-content td { padding:15px; font-size:10px; }
  .live-content .holdings-panel .table-wrap, .live-content .sales-panel .table-wrap { overflow:visible; }
  .live-content .holdings-panel table, .live-content .sales-panel table,
  .live-content .holdings-panel tbody, .live-content .sales-panel tbody { display:block; width:100%; min-width:0; }
  .holdings-panel thead, .sales-panel thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
  .live-content .holdings-panel tbody tr, .live-content .sales-panel tbody tr { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px 12px; padding:15px 17px; border-top:1px solid #1a293f; }
  .live-content .holdings-panel tbody tr { grid-template-areas:"stock pnl" "quantity market" "cost status"; }
  .live-content .sales-panel tbody tr { grid-template-areas:"stock pnl" "dates rate" "price details"; }
  .live-content .holdings-panel td, .live-content .sales-panel td { display:block; max-width:none; padding:0; border:0; min-width:0; }
  .holdings-panel td:nth-child(1), .sales-panel td:nth-child(1) { grid-area:stock; }
  .holdings-panel td:nth-child(2) { grid-area:quantity; }
  .holdings-panel td:nth-child(3) { grid-area:cost; }
  .holdings-panel td:nth-child(4) { grid-area:market; text-align:right; }
  .holdings-panel td:nth-child(5), .sales-panel td:nth-child(4) { grid-area:pnl; text-align:right; }
  .holdings-panel td:nth-child(6) { grid-area:status; text-align:right; }
  .sales-panel td:nth-child(2) { grid-area:dates; }
  .sales-panel td:nth-child(3) { grid-area:price; }
  .sales-panel td:nth-child(5) { grid-area:rate; text-align:right; }
  .sales-panel td:nth-child(6) { grid-area:details; text-align:right; }
  .holdings-panel td:nth-child(2)::before { content:"数量 / 股"; display:block; }
  .holdings-panel td:nth-child(3)::before { content:"买入均价"; display:block; }
  .holdings-panel td:nth-child(4)::before { content:"持仓市值"; display:block; }
  .holdings-panel td:nth-child(5)::before { content:"浮动盈亏"; display:block; }
  .sales-panel td:nth-child(4)::before { content:"卖出盈亏 / 元"; display:block; }
  .holdings-panel td:nth-child(2)::before, .holdings-panel td:nth-child(3)::before,
  .holdings-panel td:nth-child(4)::before, .holdings-panel td:nth-child(5)::before,
  .sales-panel td:nth-child(4)::before { margin-bottom:4px; color:#7e91ad; font:9px "Noto Sans CJK SC",sans-serif; }
  .live-content .sales-panel td.sell-pnl { font-size:17px; }
  .holdings-panel .row-details, .sales-panel .row-details { display:inline-block; margin-top:4px; }
  .live-content .live-state { padding:16px 18px; font-size:10px; }
  .live-pagination { padding:13px 18px; font-size:9px; }
  .simple-rule { font-size:8px; gap:9px; line-height:1.7; }
  .simple-rule > .view-details { font-size:8px; }
  .transaction-range { gap:10px; padding:15px 17px; }
  .transaction-range > span { flex-basis:100%; }
  .transaction-range label { flex:1; min-width:0; }
  .transaction-range input { width:100%; }
  .section-note { padding:12px 18px; }
  .pipeline-summary { padding:13px 15px; font-size:10px; }
  .live-content .log-filters { padding:16px 18px; gap:12px; }
  .live-content .log-filters label { width:calc(50% - 6px); flex:none; min-width:0; align-items:stretch; }
  .live-content .log-item { padding:14px 18px; }
  .live-content .log-item p { font-size:10px; }
  .live-content .app-footer { font-size:8px; gap:12px; margin-top:20px; padding:19px 0; }
  .entry-background { filter:saturate(.83) brightness(1.08); }
  .entry-sky::after { background:linear-gradient(180deg,#07070942 0%,#07070912 45%,transparent 72%,transparent 94%,#070709 100%),linear-gradient(90deg,#0707092b,transparent 75%); }
  .entry-panel { border-radius:16px; padding:29px 25px 24px; }
}
@media (prefers-reduced-motion:reduce) { *, *::before, *::after { transition:none!important; scroll-behavior:auto!important; } }

/* 节点台账：分阶段圆点平铺 */
.node-panel .node-legend { display:flex; flex-wrap:wrap; gap:18px; padding:0 24px 14px; font-size:11px; color:var(--muted); }
.node-legend-item { display:inline-flex; align-items:center; gap:7px; }
.node-legend-item strong { color:var(--text); font-weight:600; }
.node-legend-item i, .node-dot i { --c:#566a87; width:12px; height:12px; border-radius:50%; background:var(--c); flex:none; box-sizing:border-box; }
.node-ok i { --c:#22c55e; }
.node-wait i { --c:#334155; }
.node-bad i { --c:#ef4444; }
.node-skip i { --c:transparent; border:1.5px dashed #495a72; }
.node-run i { background:transparent; border:2.5px solid #164e63; border-top-color:#22d3ee; animation:node-spin .9s linear infinite; }
@keyframes node-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { .node-run i { animation-duration:3s; } }
.node-board { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:14px; padding:0 24px 18px; }
.node-stage { border:1px solid var(--line-soft); border-radius:10px; padding:14px 16px 16px; background:var(--panel-high); min-width:0; }
.node-stage.stage-steps { grid-column:auto; }
.node-stage header { display:flex; align-items:baseline; gap:10px; margin-bottom:12px; }
.node-stage h3 { margin:0; font-size:13px; font-weight:600; color:var(--text); }
.node-stage header span { font-size:10px; color:var(--dim); }
.node-stage header em { margin-left:auto; font-style:normal; font-size:11px; color:var(--muted); white-space:nowrap; }
.node-stage header em.has-bad { color:#f87171; }
.node-dots { display:flex; flex-wrap:wrap; gap:6px; }
.node-dot { display:inline-flex; align-items:center; gap:6px; border:1px solid transparent; background:#0b1220; border-radius:999px; padding:4px 9px 4px 6px; font:inherit; font-size:10.5px; color:var(--muted); cursor:pointer; line-height:1.4; }
.node-dot.is-minute { width:64px; justify-content:flex-start; font-variant-numeric:tabular-nums; }
.node-dot:hover { border-color:var(--line); color:var(--text); }
.node-dot.is-selected { border-color:var(--cyan); color:var(--text); box-shadow:0 0 0 2px #22d3ee33; }
.node-dot.node-bad span { color:#f87171; }
.node-dot:focus-visible { outline:2px solid var(--cyan); outline-offset:1px; }
.node-detail { display:flex; flex-wrap:wrap; align-items:center; gap:12px 22px; margin:0 24px 18px; padding:14px 18px; border:1px solid var(--line); border-radius:10px; font-size:11px; }
.node-detail.node-bad { border-color:#7f1d1d; background:#2a1215; }
.node-detail dl { display:flex; flex-wrap:wrap; gap:6px 20px; margin:0; }
.node-detail dt { color:var(--dim); font-size:10px; }
.node-detail dd { margin:0; color:var(--text); }
.node-detail p { flex-basis:100%; margin:0; color:var(--muted); }
.node-detail .node-clear { margin-left:auto; }
.node-hint { margin:0 24px 18px; font-size:10.5px; color:var(--dim); }
@media (max-width:1100px) { .node-board { grid-template-columns:1fr; } }
@media (max-width:760px) {
  .node-board, .node-panel .node-legend { padding-left:14px; padding-right:14px; }
  .node-detail, .node-hint { margin-left:14px; margin-right:14px; }
  .node-dot.is-minute { width:58px; }
  .node-stage header { flex-wrap:wrap; row-gap:3px; }
  .node-stage header span { order:3; flex-basis:100%; }
  .node-stage h3 { white-space:nowrap; }
}
.live-content .context-bar.pipeline-context { display:flex; align-items:end; gap:22px; }
.live-content .context-bar.pipeline-context label { width:220px; }
.live-content .context-bar.pipeline-context p { margin:0 0 10px; font-size:11px; color:var(--dim); }
.node-hint.node-notice { color:var(--muted); margin-top:-4px; }
@media (max-width:760px) { .live-content .context-bar.pipeline-context { flex-direction:column; align-items:stretch; gap:8px; } .live-content .context-bar.pipeline-context label { width:auto; } .live-content .context-bar.pipeline-context p { margin:0; } }
