/* wb7.css — 小南 今日值守 panel styles (moved out of cockpit-sketch.html on 2026-09-07 so the internal
   daily-overview preview page can render the REAL panel with the REAL styles). Depends on the page
   :root tokens (--accent, --line, --line2, --card, --ink*, --sans, --mono). Cache-bust the link when edited. */
/* ── World Brief 值守台 (duty console, wb-*; the 世界市场 tab since the 2026-07-11 public flip) — visuals ported from
   xiaonan-console-mock.html r8.5 under the wb- prefix (NEVER a bare `md`/`bot` class — the
   mock's bare .md collided with page styles). Dark terminal band + light master-detail. ── */
#wb-root{display:flex;flex-direction:column;gap:10px;
  --wb-dk:#161210;--wb-dk2:#1e1916;--wb-dk3:#282119;
  --wb-dline:rgba(255,255,255,.09);--wb-dline2:rgba(255,255,255,.16);
  --wb-tx:#ece7e0;--wb-tx2:#b8b0a6;--wb-tx3:#7d746a;
  --wb-ember:#ff7a3d;--wb-ember-dim:rgba(255,122,61,.14);--wb-jade:#2dd4bf;
  --wb-phos:#7ee2b8;--wb-phos-dim:rgba(126,226,184,.14);--wb-amber:#ffb454;
  --wb-seal:#b91c1c;
  --wb-hair:linear-gradient(90deg,rgba(194,65,12,.5),rgba(194,65,12,.06) 45%,rgba(28,25,23,.05))}
.wb-bot{font-size:40px;width:1em;height:1em;flex:none;position:relative;display:inline-block;
  background:linear-gradient(180deg,rgba(126,226,184,.05),transparent 70%);
  animation:wb-glyphin .5s ease both}
.wb-bot::before,.wb-bot::after{content:"";position:absolute;width:.28em;height:.28em;pointer-events:none}
.wb-bot::before{left:0;top:0;border-left:1.5px solid var(--wb-phos);border-top:1.5px solid var(--wb-phos);
  filter:drop-shadow(0 0 3px rgba(126,226,184,.6))}
.wb-bot::after{right:0;bottom:0;border-right:1.5px solid var(--wb-phos);border-bottom:1.5px solid var(--wb-phos);
  filter:drop-shadow(0 0 3px rgba(126,226,184,.6))}
.wb-ant{position:absolute;top:.07em;left:50%;width:1.5px;height:.13em;background:var(--wb-phos);
  transform:translateX(-50%);opacity:.8}
.wb-ant::after{content:"";position:absolute;top:-.1em;left:50%;transform:translateX(-50%);
  width:.11em;height:.11em;border-radius:50%;background:var(--wb-jade);
  box-shadow:0 0 6px var(--wb-jade);animation:wb-breathe 3.2s ease-in-out infinite}
.wb-eye{position:absolute;top:.37em;width:.16em;height:.22em;border-radius:.05em;background:var(--wb-phos);
  box-shadow:0 0 8px rgba(126,226,184,.55);animation:wb-botblink 4.7s ease-in-out infinite;
  transform-origin:center}
.wb-eye-l{left:.24em}.wb-eye-r{right:.24em;animation-delay:.07s}
@keyframes wb-botblink{0%,91%,100%{transform:scaleY(1)}94%,96%{transform:scaleY(.12)}98%{transform:scaleY(1)}}
.wb-mouth{position:absolute;bottom:.17em;left:50%;transform:translateX(-50%);
  width:.3em;height:2px;border-radius:1px;background:rgba(126,226,184,.7)}
.wb-bot-sm{font-size:22px}
.wb-bot-mid{font-size:26px}
/* light-context variant (小南 report pane): same face, ink+accent so it reads on paper */
.wb-market-table-wrap{margin-top:2px;overflow-x:auto}
.wb-market-table{width:100%;border-collapse:collapse;font:10.5px/1.45 var(--mono);color:var(--wb-tx2);min-width:390px}
.wb-market-table th,.wb-market-table td{padding:4px 5px;border-bottom:1px solid var(--wb-dline2);text-align:right;white-space:nowrap}
.wb-market-table th:first-child,.wb-market-table td:first-child{text-align:left}
.wb-market-table thead th{font-size:9px;font-weight:600;color:var(--wb-tx3);letter-spacing:.04em}
.wb-market-table tbody th{font-weight:500;color:var(--wb-tx)}
.wb-market-up{color:#ff5b5b;font-weight:600}
.wb-market-down{color:#39c98b;font-weight:600}
.wb-market-flat{color:var(--wb-tx3)}
.wb-market-coverage{margin-top:7px;font:10px/1.5 var(--sans);color:var(--wb-tx3)}
.wb-fp{display:flex;align-items:baseline;gap:7px;min-width:0;
  color:var(--wb-tx2);text-decoration:none;text-align:left;font:inherit;cursor:pointer;padding:3px 10px 4px;background:var(--wb-dk3);border:1px solid var(--wb-dline);
  border-radius:3px;font-size:11.5px;transition:.15s;
  clip-path:polygon(0 0,calc(100% - 6px) 0,100% 6px,100% 100%,6px 100%,0 calc(100% - 6px))}
.wb-fp:hover{border-color:var(--wb-ember);color:var(--wb-tx)}
.wb-fp:focus-visible{outline:2px solid var(--wb-ember);outline-offset:1px}
/* rank numeral — the band is ordered by 全市场重要性, so make the order legible */
.wb-fp-i{flex:none;font:700 10px var(--mono);color:var(--wb-tx3);font-variant-numeric:tabular-nums}
.wb-fp:hover .wb-fp-i{color:var(--wb-ember)}
/* full topic text stays in the hover preview + title attr, so ellipsis here is lossless */
.wb-fp-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wb-fp-n{flex:none;font-style:normal;font-family:var(--mono);font-size:9.5px;color:var(--wb-ember);margin-left:auto;
  text-shadow:0 0 6px rgba(255,122,61,.5)}
.wb-fp-evidence{flex:none;font:600 8.5px var(--mono);letter-spacing:.1px;color:#a16207;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:1px 4px;white-space:nowrap}
.wb-focus-t{margin-left:auto;font-family:var(--mono);font-size:9.5px;color:var(--wb-tx3);flex:none}
.wb-fp-new{color:var(--wb-jade);margin-left:6px}
/* focus previews (plan 2026-07-10-world-brief-focus-preview) — unchanged module */
.wb-fpv{display:none}
#wb-focus-pop{position:fixed;z-index:9999;width:320px;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);overflow-y:auto;padding:12px;background:var(--card);border:1px solid var(--line);border-radius:7px;box-shadow:0 10px 28px rgba(28,25,23,.14)}
#wb-focus-pop[hidden]{display:none}
#wb-focus-pop .wb-fpv-title,.wb-focus-inline .wb-fpv-title{display:block;font-size:13px;line-height:1.4;margin-bottom:7px}
#wb-focus-pop .wb-wdetail{margin:0;color:var(--ink2);font-family:var(--sans);font-size:12px}
#wb-focus-pop .wb-wd-analysis b{color:var(--accent)}
#wb-focus-pop .wb-wdetail a{color:var(--accent)}
.wb-fpv-line,.wb-fpv-caution{margin:5px 0;font-size:12px;line-height:1.55;color:var(--ink2)}
.wb-fpv-line>span,.wb-fpv-caution>span{display:block;font:600 10px var(--mono);color:var(--ink3);margin-bottom:1px}
.wb-fpv-tags{display:flex;flex-wrap:wrap;gap:4px;margin:7px 0}
.wb-fpv-tag{font-size:10.5px;padding:1px 7px;border-radius:9px;background:var(--accent-soft);color:var(--accent)}
.wb-fpv-caution{padding:5px 7px;background:#fffbeb;border-radius:4px;color:#a16207}
.wb-fpv-news{display:inline-block;margin-top:5px;font:600 11px var(--mono);color:var(--accent);text-decoration:none}
.wb-fpv-list summary{list-style:none;cursor:pointer}
.wb-fpv-list summary::-webkit-details-marker{display:none}
.wb-fpv-item{display:block;font-size:11.5px;line-height:1.5;color:var(--ink2);text-decoration:none;padding:4px 0;border-top:1px dashed var(--line)}
.wb-fpv-item:hover{color:var(--accent)}
.wb-fpv-src{font-family:var(--mono);font-size:10px;color:#a8a29e;margin-left:6px}
.wb-focus-inline{display:none}
@media(max-width:719px){
  /* two half-width cells would truncate almost every topic on a phone — stack instead */
  .wb-focus-grid{grid-template-columns:1fr}
  .wb-focus-inline:not([hidden]){display:block;padding:10px 11px;background:var(--card);border:1px solid var(--line);border-radius:6px;white-space:normal;overflow-wrap:anywhere;margin:0 10px 10px}
  .wb-focus-inline .wb-fpv-line,.wb-focus-inline .wb-fpv-caution,.wb-focus-inline .wb-fpv-tags,.wb-focus-inline .wb-fpv-news,.wb-focus-inline .wb-fpv-title{display:block}
}
/* direction words (Chinese convention: red rise · green fall) */
.wb-warm{color:var(--up)}.wb-press{color:var(--down)}.wb-neu{color:var(--neutral)}.wb-mix{color:#a16207}
/* two-axis line + transmission-status words */
.wb-axis{font-size:12px;color:#44403c}
.wb-axis b{color:#166534;font-weight:600}
.wb-tr-ok{color:#166534;font-weight:600}
.wb-tr-weak{color:#a16207;font-weight:600}
.wb-tr-dead{color:#7f1d1d;font-weight:600}
/* evidence chips: tier baked by the gate — frontend never grades */
.wb-evs{display:inline-flex;gap:5px;flex-wrap:wrap}
.wb-ev{font-family:var(--mono);font-size:10.5px;border-radius:3px;padding:1px 6px;text-decoration:none}
.wb-ev-a{background:var(--accent-soft);color:var(--accent)}
.wb-ev-b{background:#eef2ff;color:#1d4ed8}
.wb-ev-o{border:1px solid var(--line2);color:#78716c}
.wb-ev-i{background:var(--bg);color:#78716c;border:1px solid var(--line)}

.wb-rn-abs{font-size:11.5px;line-height:1.6;color:var(--wbr-body)}
.wb-rn-body{border-top:1px dashed var(--wbr-line-strong);margin-top:8px;padding-top:7px}
.wb-rn-sec{font:600 9.5px/1 var(--mono);letter-spacing:.08em;color:var(--wbr-muted);margin:7px 0 4px}
.wb-rn-kns{display:grid;grid-template-columns:1fr;gap:2px}
.wb-rn-kn{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:var(--wbr-body)}
.wb-rn-kn b{font-weight:600;color:var(--wbr-ink);text-align:right}
.wb-rn-list{margin:0;padding-left:16px;font-size:11px;line-height:1.55;color:var(--wbr-body)}
.wb-rn-list b{margin-right:3px;color:var(--wbr-ink)}
.wb-rn-links{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;margin-top:8px}
.wb-rn-report{flex:none;font-size:11px;font-weight:600;color:var(--wbr-jade-deep);background:var(--wbr-jade-soft);
  border-radius:5px;padding:3px 8px;text-decoration:none}
.wb-rn-report:hover{text-decoration:underline}
.wb-rn-srcs{font-size:10.5px;color:var(--wbr-muted)}
.wb-rn-srcs a{color:var(--wbr-muted);text-decoration:underline dotted}
.wb-rn-srcs a:hover{color:var(--wbr-jade-deep)}
.wb-rn-dot{margin:0 5px;color:var(--wbr-faint)}
.wb-rn-note{margin-top:7px;font-size:9.5px;color:var(--wbr-faint)}
.wb-rn-aboutref{font-size:10.5px;color:var(--wbr-ink-3,#6b7280);margin:2px 0 6px}
.wb-rn-aboutref a{color:var(--wbr-jade)}
.wb-rn-noashare{color:var(--wbr-faint)}
.wb-rn-list a{color:var(--wbr-jade-deep);text-decoration:underline dotted;font-size:10.5px}
.wb-rn-list a:hover{text-decoration:underline}
.wb-quiet{background:var(--card);border:1px solid var(--line);border-radius:4px;padding:14px;font-size:13px;color:#57534e}
.wb-quiet a{color:var(--accent)}
@media (prefers-reduced-motion:reduce){
  #wb-root *,#wb-root *::before,#wb-root *::after{animation:none!important;transition:none!important}
  .wb-bot{opacity:1!important;filter:none!important}
}

/* ═ v7 小南 · 今日值守 (design rev 4.4; plan …-cockpit-today-duty-implementation-plan.md rev 3).
   Scoped under .wb7 and rendered only behind ?wbv=7 until the operator's live review. Nothing in
   .wb6 changes. Palette per design §5: warm-white reading paper, pale cyan-grey rail, jade accent,
   amber only for the arrival marker. Mono is reserved for times and numbers. ═ */
.wb7{--w7-ink:#203c3b;--w7-body:#405655;--w7-muted:#556b69;--w7-faint:#5c716f;--w7-hair:#dde8e5;--w7-hair2:#c9dad7;
  --w7-paper:#f8fbfa;--w7-rail:#f0f6f5;--w7-read:#fffefa;--w7-jade:#0f766e;--w7-jade-deep:#165d51;--w7-jade-soft:#e7f2ee;
  --w7-amber:#b7791f;--w7-amber-soft:#fbf3df;--w7-up:#b4233c;--w7-down:#087a55;--w7-measure:620px;
  height:max(600px,calc(100vh - var(--wb7-top,70px) - 28px));display:grid;grid-template-rows:auto auto minmax(0,1fr);border:1px solid #dce8e5;border-radius:10px;overflow:hidden;
  background:var(--w7-paper);color:var(--w7-ink);font:13px/1.55 var(--sans);box-shadow:0 14px 48px #254d4810}
.wb7 .mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.wb7 button{font:inherit;color:inherit}
.wb7 [hidden]{display:none!important}
/* duty line */
.wb7-duty{position:relative;isolation:isolate;display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 20px 10px;background:#f8fcfb}
.wb7-duty::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 8% 20%,#c6eee188,transparent 45%),radial-gradient(ellipse at 45% 0,#d7eafa66,transparent 50%);pointer-events:none}
/* optical visor (design rev 4.5): translucent jade/ice-blue visor with broken contour arcs, two light
   eyes and a faint mouth; no antenna, no square shell. Expressions are interface acknowledgements
   (selection → brief focus, deep research → one nod), bounded to 1.2 s, only while confirmed on duty. */
.wb7-core{position:relative;width:44px;height:44px;border-radius:50%;background:radial-gradient(ellipse at 25% 20%,#ecfffbbb,#9cd9cf55 42%,#a7cce766 70%,transparent 73%);box-shadow:0 0 18px #6bbfb322;transform-origin:50% 60%}
.wb7-core::before{content:"";position:absolute;inset:7px 3px 8px;border-radius:45% 48% 48% 43%;transform:rotate(-5deg);border:1px solid #75a8a388;background:linear-gradient(140deg,#d8f5edbb,#679b9999 45%,#517790bb);box-shadow:inset 0 1px 5px #ffffffb0,inset 0 -3px 8px #24494e22}
.wb7-core::after{content:"";position:absolute;inset:0;border-radius:50%;border:1px solid #68a69b99;border-top-color:transparent;border-bottom-color:transparent;transform:rotate(32deg);pointer-events:none}
.wb7-glint{position:absolute;z-index:2;inset:9px 9px 22px 8px;border-top:1px solid #ffffffaa;border-radius:50%;transform:rotate(-12deg);pointer-events:none}
.wb7-core .wb-bot{position:absolute;inset:0;width:auto;height:auto;font-size:44px;background:none;animation:none;z-index:1}
.wb7-core .wb-bot::before,.wb7-core .wb-bot::after,.wb7-core .wb-ant{display:none}
.wb7-core .wb-eye{top:18px;width:6px;height:5px;border-radius:50%;background:#edfff9;box-shadow:0 0 3px #196e6666,0 0 8px #c5fff2;animation:none;transition:translate .2s ease,border-radius .2s ease,height .2s ease}
.wb7-core .wb-eye-l{left:12px}.wb7-core .wb-eye-r{right:12px;left:auto}
.wb7-core .wb-mouth{left:19px;bottom:13px;width:6px;height:3px;transform:none;background:transparent;border-bottom:1px solid #e4fff4aa;border-radius:0 0 6px 6px}
.wb7[data-duty=on][data-hbfail="0"] .wb7-core .wb-eye{animation:wb7-blink 7s ease-in-out infinite}   /* a heartbeat we cannot read stops the blink (Codex #5) */
.wb7[data-duty=on] .wb7-core[data-expression] .wb-eye{animation:none}
.wb7[data-duty=on] .wb7-core[data-expression=focus] .wb-eye{height:3px;border-radius:3px;translate:1px 1px}
.wb7[data-duty=on] .wb7-core[data-expression=nod]{animation:wb7-nod .65s ease-in-out 1}
.wb7[data-duty=off] .wb7-core .wb-eye,.wb7[data-duty=dead] .wb7-core .wb-eye,.wb7[data-duty=unknown] .wb7-core .wb-eye{transform:scaleY(.35);background:#b0c6c2;box-shadow:none}
@keyframes wb7-blink{0%,94%,100%{transform:scaleY(1)}96%,97%{transform:scaleY(.2)}}
@keyframes wb7-nod{0%,100%{transform:translateY(0) rotate(0)}45%{transform:translateY(2px) rotate(5deg)}}
.wb7-intro{min-width:0}.wb7-identity{display:flex;align-items:center;gap:12px}
.wb7-who{font-size:21px;font-weight:700;letter-spacing:1px;line-height:1.3}
.wb7-idlab{font-size:11px;color:#527b77;border-left:1px solid #b9d3cd;padding-left:12px}
.wb7-cnt{display:block;margin-top:2px;font-size:11px;color:#476663}.wb7-cnt b{font-weight:700;color:var(--w7-jade-deep)}
.wb7-st{display:inline-flex;align-items:center;gap:7px;font:11px/1.7 var(--sans);color:var(--w7-body);max-width:260px;justify-self:end;text-align:right}
.wb7-beacon{width:7px;height:7px;border-radius:50%;background:var(--w7-faint);flex:none}
.wb7-st.on .wb7-beacon{background:var(--w7-jade);box-shadow:0 0 0 3px #dcefe9}
.wb7-st.off .wb7-beacon{background:var(--w7-faint)}.wb7-st.dead .wb7-beacon{background:var(--accent)}.wb7-st.unknown .wb7-beacon{background:var(--w7-amber)}
/* highlights */
.wb7-hl{padding:0 20px 11px;background:#f8fcfb}
.wb7-hl-lab{font:500 10px var(--sans);letter-spacing:1px;color:#527b77;margin-bottom:4px}
.wb7-hl-rows{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.wb7-hl-row{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-content:start;min-width:0;padding:7px 10px;border:0;border-radius:5px;background:transparent;text-align:left;cursor:pointer}
.wb7-hl-row{border-radius:0}.wb7-hl-row:not(:first-child){border-left:1px solid #dce8e5}
.wb7-hl-row:hover .wb7-hl-t{color:var(--w7-jade-deep)}.wb7-hl-row:focus-visible{outline:2px solid var(--w7-jade);outline-offset:-2px}
.wb7-hl-time{font-size:10px;color:var(--w7-muted);justify-self:end}
.wb7-hl-t{grid-column:1/-1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;line-height:1.5;margin-top:4px;color:var(--w7-ink);font-weight:600}
.wb7-hl-why{grid-column:1/-1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:11.5px;line-height:1.5;margin-top:2px;color:#3f5f5c}
.wb7-hl-rows.is-empty{display:block}
.wb7-hl-empty{padding:6px 10px 2px;font-size:12px;color:var(--w7-muted)}
.wb7-ly{flex:none;font:500 10px var(--sans);white-space:nowrap;border-radius:3px;padding:0 4px}
/* A1: 提名行的类别标签 = today_highlight.basis 的闭合词表映射，不是内容层级。 */
.wb7-hl-basis{flex:none;font:500 10px var(--sans);letter-spacing:.03em;white-space:nowrap;color:var(--w7-jade-deep);padding-left:0}
.wb7-ly.deep{color:#246b5f;background:transparent;padding-left:0}.wb7-ly.prelim{color:#577187;background:transparent;padding-left:0}
/* desk */
.wb7-desk{display:grid;grid-template-columns:360px minmax(0,1fr);min-height:0;border-top:1px solid var(--w7-hair)}
@media(max-width:1100px){.wb7-desk{grid-template-columns:320px minmax(0,1fr)}}
/* rail = fixed heading · independently scrolling list (rows + 今日全部) · compact 全网焦点 · 研究笔记库 anchored at the bottom.
   「fixed」 is within the panel's layout (flex siblings), never the viewport. */
.wb7-rail{border-right:1px solid var(--w7-hair);display:flex;flex-direction:column;min-height:0;overflow:hidden;background:var(--w7-rail)}
.wb7-rail-hd{flex:none;display:flex;align-items:center;gap:6px;padding:11px 12px 8px;background:var(--w7-rail);white-space:nowrap}
.wb7-rail-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;scrollbar-width:thin;overscroll-behavior:contain}
.wb7-focus{flex:none;max-height:min(190px,38%);overflow-y:auto;scrollbar-width:thin}
#wb7-archive{flex:none;margin:0;border-top:1px solid var(--w7-hair);border-radius:0;padding:9px 16px}
.wb7-rail-lab{font:600 12px var(--sans);color:var(--w7-jade-deep);flex:none}.wb7-rail-cnt{font:11px var(--sans);color:var(--w7-faint);flex:none}
.wb7-pill{margin-left:auto;display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 7px;flex:none;border:0;border-radius:4px;background:var(--w7-amber-soft);color:#7c5a12;font:500 10.5px var(--sans);cursor:pointer}
.wb7-pill i{width:6px;height:6px;border-radius:50%;background:var(--w7-amber)}
.wb7-row{display:grid;grid-template-columns:39px minmax(0,1fr);gap:0 8px;width:100%;padding:7px 12px 7px 10px;border:0;border-left:2px solid transparent;background:transparent;text-align:left;cursor:pointer;position:relative}
.wb7-row:hover{background:#e5efeb}.wb7-row:focus-visible{outline:2px solid var(--w7-jade);outline-offset:-2px}
.wb7-row[aria-selected=true]{background:#dcece7;border-left-color:#197e6b}
.wb7-row-t{font-size:10px;color:#4e6664;padding-top:2px}
.wb7-row-s{font-size:11.5px;line-height:1.45;color:var(--w7-ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.wb7-row.nom .wb7-row-s{font-weight:600}
/* A6: ◆ marks the items actually shown in 今日重点 (≤3). Its accessible name is carried by a
   visually-hidden span in the markup, never by the glyph alone. */
.wb7-row.nom .wb7-row-t::before{content:"◆";margin-right:3px;font-size:8px;vertical-align:1px;color:var(--w7-jade)}
.wb7-vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.wb7-row-m{grid-column:2;display:flex;gap:6px;align-items:center;margin-top:2px}
.wb7-pv{font:10px var(--mono);color:var(--w7-jade-deep)}
.wb7-mark-new{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--w7-amber)}
.wb7-mark-upd{font:500 9px var(--sans);color:var(--w7-jade-deep);background:var(--w7-jade-soft);border-radius:3px;padding:0 4px}
.wb7-entry{margin:6px 16px;padding:7px 0;border:0;border-radius:4px;background:transparent;font:12px var(--sans);color:#35695f;cursor:pointer;text-align:left}
.wb7-entry:hover{color:var(--w7-jade-deep);text-decoration:underline}
.wb7-focus{padding:10px 16px 8px;border-top:1px solid var(--w7-hair);margin-top:0}
.wb7-focus-hd{display:flex;align-items:baseline;gap:8px;margin-bottom:5px}
.wb7-focus-lab{font:600 11px var(--sans);color:var(--w7-jade-deep)}.wb7-focus-t{margin-left:auto;font-size:9.5px;color:var(--w7-faint)}
.wb7 .wb7-fp{display:flex;align-items:center;gap:6px;width:100%;min-width:0;padding:5px 0;border:0;border-radius:0;background:transparent;color:var(--w7-ink);font:12px var(--sans);text-align:left;cursor:pointer}
.wb7 .wb7-fp .wb-fp-i{flex:none;width:12px;font:600 10px var(--mono);color:var(--w7-jade-deep)}
.wb7 .wb7-fp .wb-fp-t{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wb7 .wb7-fp .wb-fp-n{flex:none;margin-left:auto;font:10px var(--mono);color:var(--w7-muted)}
.wb7 .wb7-fp:hover,.wb7 .wb7-fp:focus-visible{color:var(--w7-jade-deep);outline:none}
.wb7-focus-ctx{font-size:11px;line-height:1.6;color:var(--w7-muted);margin:-2px 0 6px}
.wb7-focus-empty{font-size:11px;line-height:1.6;color:var(--w7-muted);margin-top:5px}
.wb7 .wb-focus-inline:not([hidden]){display:block;padding:10px 11px;background:#fff;border:1px solid var(--w7-hair);border-radius:6px;white-space:normal;overflow-wrap:anywhere;margin:6px 0}
.wb7 .wb-focus-inline .wb-fpv-line,.wb7 .wb-focus-inline .wb-fpv-caution,.wb7 .wb-focus-inline .wb-fpv-tags,.wb7 .wb-focus-inline .wb-fpv-news,.wb7 .wb-focus-inline .wb-fpv-title{display:block}
/* reader */
.wb7-readerslot{min-width:0;min-height:0;display:flex}
.wb7-reader{display:flex;flex-direction:column;min-height:0;min-width:0;flex:1;background:var(--w7-read);position:relative}
.wb7-rd-hd{flex:none;padding:16px 22px 12px;background:var(--w7-read)}
.wb7-rd-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.wb7-rd-at{font-size:10px;color:var(--w7-muted)}.wb7-rd-tools{margin-left:auto;display:flex;align-items:center;gap:6px}
.wb7-seg{display:inline-flex;background:#edf3f0;padding:3px;border-radius:6px;gap:2px}
.wb7-seg button{height:27px;padding:0 9px;border:0;border-radius:4px;background:transparent;color:var(--w7-body);font:500 11px var(--sans);cursor:pointer}
.wb7-seg button[aria-pressed=true]{background:#fff;color:#165d51;box-shadow:0 1px 4px #183e3414}.wb7-seg button:disabled{color:var(--w7-faint);cursor:default}
.wb7-rd-title{font-size:18px;font-weight:700;line-height:1.5;margin-top:8px;letter-spacing:.15px;max-width:var(--w7-measure)}
.wb7-rd-notice{margin-top:6px;font-size:11px;color:#7c5a12;background:var(--w7-amber-soft);border-radius:4px;padding:3px 8px;display:inline-block}
.wb7-rd-auto{margin-top:6px;font-size:11px;color:#527b77;background:#eef6f4;border-radius:4px;padding:3px 8px;display:inline-block}
.wb7-rd-body{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;padding:0 22px 22px;font-size:13px;line-height:1.75;user-select:text;-webkit-user-select:text;cursor:text;color:var(--w7-body)}
.wb7-rd-body ::selection{background:#cfe9e3}
.wb7-empty{padding:30px 0;color:var(--w7-muted)}
.wb7-kind{margin-top:8px;font-size:12px;color:var(--w7-muted)}.wb7-pagelink{margin-left:6px;color:var(--w7-jade-deep);text-decoration:none;border-bottom:1px solid #b9dcd4;font-weight:500}.wb7-pagelink:hover{border-bottom-color:var(--w7-jade)}
.wb7-lede{font-size:13px;color:var(--w7-ink);padding:12px 14px;background:#f0f5ef;border-radius:6px;margin:7px 0 14px}.wb7-lede p+p{margin-top:5px}
/* A4: article-only reading column. 620px at 14.5px ≈ 43 CJK per line (live was 716px at 13px
   ≈ 55). The children below hard-code their own sizes, so the parent alone would not reach
   them; they move together here. The overview and the market table stay outside this rule. */
.wb7-doc{max-width:var(--w7-measure);font-size:14.5px;line-height:1.85}
.wb7-doc .wb7-lede{font-size:14.5px;line-height:1.8}
.wb7 .wb7-doc .wb-rn-list{font-size:14.5px;line-height:1.85}
.wb7 .wb7-doc .wb-rn-kns{font-size:13px}
.wb7 .wb7-doc .wb-rn-links{font-size:12.5px}
/* A4: the table is data, not prose — it keeps its own width and scrolls inside its wrapper
   (the base .wb-market-table rule carries min-width:390px, which a narrow reader would
   otherwise push onto the page). */
.wb7 .wb-market-table-wrap{overflow-x:auto;max-width:none}
/* A5: section headings keep the sans face; hierarchy comes from spacing and a jade rule. */
.wb7 .wb-rn-sec{font:600 12px var(--sans);letter-spacing:0;margin:26px 0 8px;color:#246457;padding-left:13px;border-left:2px solid var(--w7-jade)}
.wb7 .wb-rn-sec:first-child{margin-top:6px}
.wb7 .wb-rn-abs,.wb7 .wb-rn-thesis{display:block;max-height:none;overflow:visible;margin:0;color:var(--w7-body);font-size:13px;line-height:1.75}
.wb7 .wb7-doc .wb-rn-abs,.wb7 .wb7-doc .wb-rn-thesis{font-size:14.5px;line-height:1.85;padding-left:13px}
.wb7 .wb-rn-thesis::before,.wb7 .wb-rn-thesis.plain::before{content:none}
.wb7 .wb-rn-body{padding:0;border:0;background:transparent;margin:0}
.wb7 .wb-rn-list{padding-left:16px;color:var(--w7-body)}.wb7 .wb-rn-list li+li{margin-top:3px}
.wb7 .wb-rn-kns{display:grid;grid-template-columns:1fr auto;gap:2px 12px;font-size:12px}.wb7 .wb-rn-kn{display:contents}.wb7 .wb-rn-kn span{color:var(--w7-muted)}.wb7 .wb-rn-kn b{text-align:right;font-weight:500}
.wb7 .wb-rn-links{margin-top:12px;padding-top:8px;border-top:1px dashed var(--w7-hair);font-size:11.5px;color:var(--w7-muted);line-height:1.7}
.wb7 .wb-rn-links a,.wb7 .wb-rn-aboutref a{color:var(--w7-jade-deep);text-decoration:none;border-bottom:1px solid #b9dcd4}
.wb7 .wb-rn-note{margin-top:10px;font:10px var(--mono);color:var(--w7-faint)}
.wb7-ev{display:inline-flex;gap:5px;flex-wrap:wrap;margin-top:6px}.wb7-ev a{font:11px var(--sans);border-radius:3px;padding:1px 6px;text-decoration:none;background:#edf3f5;color:#3e657d}
.wb7 .wb-market-table{width:100%;border-collapse:collapse;font-size:12.5px;margin:6px 0 4px;color:var(--w7-ink)}
.wb7 .wb-market-table th,.wb7 .wb-market-table td{padding:6px 8px;border-bottom:1px solid var(--w7-hair);text-align:left;color:var(--w7-ink);font-size:12.5px;line-height:1.4;background:transparent;opacity:1}
.wb7 .wb-market-table thead th{font:600 10.5px var(--sans);color:var(--w7-muted);letter-spacing:.5px;border-bottom:1px solid var(--w7-hair2)}
.wb7 .wb-market-table tbody th{font-weight:500}
.wb7 .wb-market-table td{font-family:var(--mono);font-variant-numeric:tabular-nums}
.wb7 .wb-market-table td:last-child{color:var(--w7-muted);font-size:11px}
.wb7 .wb-market-table-wrap{margin-top:6px}
.wb7 .wb-market-up{color:var(--w7-up)}.wb7 .wb-market-down{color:var(--w7-down)}.wb7 .wb-market-flat{color:var(--w7-muted)}
.wb7 .wb-market-coverage{font-size:11px;color:var(--w7-muted)}
.wb7-mslot{display:none}
@media (prefers-reduced-motion:reduce){.wb7 .wb7-core,.wb7 .wb7-core .wb-eye,.wb7[data-duty=on] .wb7-core[data-expression=nod]{animation:none!important;transition:none!important}}
@media (max-width:860px){
 .wb7{height:auto;display:block}
 .wb7-duty{grid-template-columns:44px minmax(0,1fr);padding:13px 14px 10px;gap:8px 12px}.wb7-st{grid-column:2;justify-self:start;max-width:none;text-align:left;margin-top:-3px}
 .wb7-hl{padding:0 14px 10px}.wb7-hl-rows{display:block}
 .wb7-hl-row,.wb7-hl-row:first-child{display:grid;grid-template-columns:auto 34px minmax(0,1fr);gap:8px;padding:7px 8px;align-items:start;border-radius:4px}
 .wb7-hl-row .wb7-hl-t{grid-column:auto;font-size:11.5px;margin:0;display:block;white-space:normal}.wb7-hl-row:not(:first-child){border-left:0;border-top:1px solid #e1ebe7;border-radius:0}
 .wb7-hl-row .wb7-hl-why{grid-column:3;font-size:11px;margin:0}
 .wb7-row-s{-webkit-line-clamp:2}
 .wb7-desk{display:block}.wb7-rail{border-right:0;overflow:visible;display:block}.wb7-rail-hd{position:static}.wb7-rail-scroll{overflow:visible;flex:none}.wb7-focus{max-height:none;overflow:visible;padding:14px 16px}#wb7-archive{margin:6px 16px;border-top:0;padding:7px 0}
 .wb7-readerslot{display:none}
 .wb7-mslot{display:block;border-top:1px solid var(--w7-hair);border-bottom:1px solid var(--w7-hair);background:var(--w7-read)}
 .wb7-mslot .wb7-rd-hd{position:sticky;top:0;z-index:2;padding:15px 18px}.wb7-mslot .wb7-rd-body{max-height:60vh;overflow-y:auto;padding:0 18px 18px}
 .wb7-rd-title{font-size:16px}
 .wb7 .wb-rn-kns{grid-template-columns:1fr}.wb7 .wb-rn-kn b{text-align:left;overflow-wrap:anywhere}
 .wb7 .wb-market-table-wrap{overflow-x:auto}
}

/* ═ 今日速览 (wbo-*; plan 2026-09-07-xiaonan-daily-visual-overview-plan rev 3, Task 2) — rendered by
   js/wb-daily-overview.js inside the reader body (desktop) or the phone slot #wb7-ovm. Typography, number
   cards, a timeline and whitespace: quotes are strict, the page must not read as an excerpt list. */
.wb7-back{margin:0 0 8px;padding:3px 0;border:0;background:transparent;font:12px var(--sans);color:var(--w7-jade-deep);cursor:pointer}
.wb7-back:hover{text-decoration:underline}
.wbo{padding:18px 0 8px;color:var(--w7-body)}
.wbo-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin-bottom:10px}
.wbo-lab{font:600 12px var(--sans);letter-spacing:1px;color:#527b77}
.wbo-ed{font-weight:500;color:var(--w7-muted);margin-left:4px}
.wbo-meta{font-size:11px;color:var(--w7-muted)}
.wbo-upd{margin-left:auto;border:1px solid #f1d9a5;background:#fff8ec;color:#7a5200;font:12px var(--sans);border-radius:14px;padding:3px 10px;cursor:pointer}
.wbo-summary{font-size:15.5px;line-height:1.7;color:var(--w7-ink);margin:0 0 18px;padding:14px 18px;background:var(--w7-jade-soft);border-radius:8px;border-left:3px solid var(--w7-jade)}
.wbo-summary-l{margin:0}.wbo-summary-l+.wbo-summary-l{margin-top:8px;padding-top:8px;border-top:1px dashed #cfe2dd}
.wbo-metric-n{margin-top:6px;font-size:11.5px;line-height:1.5;color:var(--w7-muted)}
.wbo-events{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin:0 0 18px}
.wbo-ev{position:relative;padding:14px 16px 42px;border:1px solid var(--w7-hair);border-radius:8px;background:#fff}
.wbo-ev.is-invalid{background:#faf7f0;border-color:#ecdcb8}
.wbo-ev-top{display:flex;justify-content:flex-end;margin-bottom:6px}
.wbo-ev-t{font-size:14px;line-height:1.45;margin:0 0 8px;color:var(--w7-ink)}
.wbo-ev-x{font-size:12.5px;line-height:1.65;margin:0;color:var(--w7-body)}
.wbo-ev.is-invalid .wbo-ev-x{color:#8a6a1f}
.wbo-read{position:absolute;left:16px;bottom:12px;border:0;background:transparent;padding:0;font:12px var(--sans);color:var(--w7-jade-deep);cursor:pointer}
.wbo-read:hover{text-decoration:underline}
.wbo-chip{font-size:10px;padding:1px 6px;border-radius:3px;background:#eef3f2;color:var(--w7-muted)}
.wbo-chip.ok{background:#dfeeea;color:var(--w7-jade-deep)}.wbo-chip.bad{background:#fbf3df;color:#7c5a12}.wbo-chip.wait{background:#eef3f2;color:var(--w7-muted)}
.wbo-visual{margin:0 0 18px}
.wbo-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.wbo-metric{padding:14px 16px;border-radius:8px;background:var(--w7-rail);border:1px solid var(--w7-hair)}
.wbo-metric-l{font-size:11.5px;color:var(--w7-muted);margin-bottom:6px}
.wbo-metric-v{font-size:22px;font-weight:600;color:var(--w7-ink);line-height:1.2;overflow-wrap:anywhere}
.wbo-timeline{list-style:none;margin:4px 0 0;padding:0 0 0 18px;border-left:2px solid var(--w7-hair2)}
.wbo-tl{position:relative;display:grid;grid-template-columns:96px auto minmax(0,1fr);gap:10px;align-items:baseline;padding:6px 0 10px}
.wbo-tl::before{content:"";position:absolute;left:-24px;top:12px;width:10px;height:10px;border-radius:50%;background:var(--w7-jade);box-shadow:0 0 0 3px var(--w7-jade-soft)}
.wbo-tl-date{font-size:12px;color:var(--w7-ink)}.wbo-tl-kind{font-size:10px;color:var(--w7-faint)}.wbo-tl-label{font-size:13px;color:var(--w7-body);line-height:1.5}
.wbo-cmp{display:grid;gap:6px}
.wbo-cmp-row{display:flex;justify-content:space-between;gap:12px;padding:9px 14px;border:1px solid var(--w7-hair);border-radius:6px;background:#fff}
.wbo-cmp-l{font-size:12.5px;color:var(--w7-muted)}.wbo-cmp-v{font-size:14px;color:var(--w7-ink);font-weight:600}
.wbo-sec{font-weight:700;font-size:12.5px;margin:6px 0 6px;color:var(--w7-ink)}
.wbo-watch{margin:0 0 14px;padding-left:18px;font-size:13px;line-height:1.7;color:var(--w7-body)}
.wbo-foot{font-size:11px;color:var(--w7-faint);padding-top:10px;border-top:1px dashed var(--w7-hair)}
.wbo-state .wbo-empty{margin:14px 0 0;font-size:13.5px;color:var(--w7-muted)}
/* B1 今日阅读目录 — the reader while no overview version exists. Deliberately plain: titles and
   times only, no verification chrome, nothing that could be mistaken for a published 速览. */
.wb7 .wbo-cat{list-style:none;margin:14px 0 0;padding:0}
.wb7 .wbo-cat li{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:10px;align-items:baseline;padding:10px 0;border-top:1px solid var(--w7-hair)}
.wb7 .wbo-cat li:first-child{border-top:0}
.wb7 .wbo-cat-i{font-size:11px;color:var(--w7-jade)}
.wb7 .wbo-cat-t{font-size:10.5px;color:var(--w7-muted)}
.wb7 .wbo-cat .wbo-read{position:static;border:0;background:transparent;padding:0;text-align:left;font:14px/1.6 var(--sans);color:var(--w7-ink);cursor:pointer}
.wb7 .wbo-cat .wbo-read:hover{color:var(--w7-jade-deep)}
.wb7 .wbo-cat .wbo-read:focus-visible{outline:2px solid var(--w7-jade);outline-offset:2px}
.wb7 .wbo-cat-wrap .wbo-foot{margin-top:12px}
.wb7 #wbo-ready{margin-left:auto}
.wb7 .wbo-cat-wrap>.wbo-lab{display:inline-block}
.wbo-entry{padding:12px 14px;border-top:1px solid var(--w7-hair);border-bottom:1px solid var(--w7-hair);background:#f8fcfb}
.wbo-entry-s{margin:6px 0 8px;font-size:13px;line-height:1.55;color:var(--w7-ink)}
.wbo-expand{border:1px solid var(--w7-hair2);background:#fff;border-radius:6px;padding:5px 10px;font:12px var(--sans);color:var(--w7-jade-deep);cursor:pointer}
.wbo-mbody{padding:0 14px 6px;background:var(--w7-read)}
.wbo-mbody .wbo{padding-top:8px}
@media (max-width:860px){
 .wb7-ovm .wbo-state{padding:12px 14px}
 .wbo-events{grid-template-columns:1fr}
 .wbo-tl{grid-template-columns:84px minmax(0,1fr);grid-template-areas:"d k" "l l"}.wbo-tl-date{grid-area:d}.wbo-tl-kind{grid-area:k}.wbo-tl-label{grid-area:l}
}
