/* Short labels lead; the complete conditions remain in the article HTML. */
.guide[data-topic="markets"] { --accent:#0058ff; --accent-soft:#eef4ff; --article-line:#dfe3e9; --article-muted:#59636f; }
.guide[data-topic="markets"] .article-head { padding-top:15px; }
.guide[data-topic="markets"] .article-head h1 { font-size:clamp(33px,3vw,44px); line-height:1.3; }
.guide[data-topic="markets"] .article-head .lead { line-height:1.7; }
.visual-answer { padding:25px 0 10px; }
.visual-answer h2 { font-size:14px; color:var(--article-muted); font-weight:550; margin:0 0 13px; }
.visual-answer-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.visual-answer-grid>a { border:1px solid var(--article-line); border-top:2px solid var(--ink); border-radius:4px; padding:20px 23px; background:#fff; display:flex; flex-direction:column; text-decoration:none; }
.visual-answer-grid>a:hover { border-color:var(--accent); }
.visual-answer-grid>a>span { font-size:12px; color:var(--article-muted); }
.visual-answer-grid strong { display:flex; justify-content:space-between; gap:12px; font-size:25px; letter-spacing:-.7px; margin:9px 0 6px; line-height:1.4; color:var(--ink); }
.visual-answer-grid strong span { font-size:17px; font-weight:400; color:var(--accent); }
.visual-answer-grid small { font-size:12px; color:var(--article-muted); line-height:1.6; }
.visual-answer>p { font-size:13px; line-height:1.8; color:var(--article-muted); margin:13px 0 0; }
.guide[data-topic="markets"] .article-section { padding-top:38px; }
.guide[data-topic="markets"] .article-section h2 { font-size:27px; }
.market-label { font-size:11px; color:var(--article-muted); letter-spacing:.07em; margin:0 0 7px; }
.market-map-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.market-map { margin:0; border:1px solid var(--article-line); border-radius:4px; overflow:hidden; background:#fff; scroll-margin-top:160px; }
.market-map-head { display:flex; justify-content:space-between; gap:15px; align-items:center; padding:19px 22px; border-bottom:1px solid var(--article-line); }
.market-map-head h3 { font-size:23px; margin:0; letter-spacing:-.7px; }
.market-exit { display:flex; align-items:center; gap:7px; font-size:13px; white-space:nowrap; }
.market-exit b { background:var(--accent); color:#fff; width:26px; height:26px; border-radius:50%; display:grid; place-items:center; font-size:13px; }
.market-map img { display:block; width:100%; height:auto; }
.market-map figcaption { padding:16px 22px 20px; border-top:1px solid var(--article-line); background:#fff; }
.market-map figcaption>strong { display:block; font-size:15px; margin-bottom:7px; line-height:1.6; }
.market-map figcaption>p { font-size:12px; color:var(--article-muted); line-height:1.75; margin:0; }
.market-map-links { display:flex; flex-wrap:wrap; gap:16px; margin-top:15px; }
.market-map-links a { font-size:12px; font-weight:650; color:var(--accent); text-decoration:underline; text-underline-offset:4px; }
.market-map-legend { display:flex; flex-wrap:wrap; align-items:center; gap:13px 20px; margin:15px 0 0; font-size:11px; color:var(--article-muted); }
.market-map-legend span { display:inline-flex; gap:6px; align-items:center; }
.map-key { width:21px; height:3px; display:inline-block; background:#abb4c0; }
.map-key.market { height:11px; background:#e5eeff; border:1px solid var(--accent); border-radius:0; }
.map-key.exit { width:10px; height:10px; border-radius:50%; background:var(--accent); }
.map-credit { font-size:10px; color:var(--article-muted); margin:10px 0 0; line-height:1.8; }
.map-credit a { text-decoration:underline; text-underline-offset:3px; }
.market-scan-table { width:100%; border-collapse:collapse; font-size:14px; line-height:1.8; }
.market-scan-table th,.market-scan-table td { border-bottom:1px solid var(--article-line); text-align:left; padding:15px 18px; vertical-align:top; }
.market-scan-table thead th { background:#fff; border-bottom:2px solid var(--ink); font-size:18px; color:var(--ink); }
.market-scan-table th:first-child { width:120px; font-size:12px; color:var(--article-muted); }
.market-scan-table tbody th { font-weight:500; }
.market-scan-table td small { display:block; font-size:11px; color:var(--article-muted); }
.market-more { margin:20px 0 0; border:1px solid var(--article-line); border-radius:4px; padding:16px 20px; }
.market-more summary { cursor:pointer; font-size:14px; color:var(--accent); font-weight:650; }
.market-more .prose { font-size:15px; max-width:none; }
.market-more .table-box { margin:18px 0 0; }
.market-time-guide { margin:0; padding:26px 28px; border-radius:4px; background:#fff; border:1px solid var(--article-line); }
.market-time-head { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.market-time-head h3 { margin:0; font-size:25px; letter-spacing:-.6px; }
.market-time-example { font-size:12px; color:var(--article-muted); }
.market-time-example strong { display:block; font-size:26px; color:var(--accent); margin:3px 0; }
.market-time-controls:not([hidden]) { display:grid; grid-template-columns:155px 1fr; gap:25px; margin:24px 0; align-items:center; }
.market-time-controls label { display:block; font-size:12px; color:var(--article-muted); }
.market-time-controls select { display:block; width:100%; padding:9px 11px; margin-top:7px; border:1px solid #aeb8c5; border-radius:4px; font:inherit; font-size:15px; background:#fff; color:var(--ink); }
.market-hour-input output { float:right; font-size:20px; font-weight:650; color:var(--accent); font-variant-numeric:tabular-nums; }
.market-hour-input input { width:100%; accent-color:var(--accent); display:block; margin:14px 0 0; min-height:28px; cursor:pointer; }
.market-time-guide:has(.market-time-controls:not([hidden])) .market-time-example { display:none; }
.market-time-axis { display:flex; justify-content:space-between; margin:26px 132px 0 150px; font-size:10px; color:var(--article-muted); font-variant-numeric:tabular-nums; }
.market-time-row { display:grid; grid-template-columns:135px 1fr 117px; gap:15px; align-items:center; margin:20px 0; }
.market-time-name strong { font-size:15px; }
.market-time-name small { display:block; font-size:10px; color:var(--article-muted); margin-top:5px; }
.market-time-track { position:relative; border-radius:2px; background:#f0f3f7; min-width:0; }
.market-time-bar { display:block; background:#dfe5ed; color:var(--ink); border-radius:2px; padding:13px 0; text-align:center; font-size:12px; font-weight:650; white-space:nowrap; font-variant-numeric:tabular-nums; }
.market-time-row[data-state="within"] .market-time-bar { background:var(--accent); color:#fff; }
.market-time-row[data-state="closed"] .market-time-bar,.market-time-row[data-state="before"] .market-time-bar { background:#dfe5ed; color:#35404f; }
.market-time-row[data-state="unknown"] .market-time-bar { background:repeating-linear-gradient(135deg,#e3e8ef 0px,#e3e8ef 5px,#f7f9fc 5px,#f7f9fc 10px); color:#35404f; }
.market-time-cursor { position:absolute; left:var(--visit-position); height:calc(100% + 12px); top:-6px; width:2px; background:var(--ink); }
.market-time-cursor:before { content:''; position:absolute; left:-3px; top:-3px; width:8px; height:8px; border-radius:50%; background:var(--ink); }
.market-hour-status { font-size:11px; color:#4a5564; background:#f0f3f7; border-radius:3px; padding:6px 8px; text-align:center; }
.market-time-row[data-state="within"] .market-hour-status { background:var(--accent-soft); color:var(--accent); font-weight:650; }
.market-time-summary { font-size:12px; line-height:1.8; color:#4a5564; margin:24px 0 0; }
.market-note-strip { display:grid; grid-template-columns:170px 1fr; gap:20px; padding:19px 23px; background:#f6f8fb; border:1px solid var(--article-line); border-radius:4px; margin:18px 0 0; font-size:13px; line-height:1.8; }
.market-note-strip p { margin:0; color:var(--article-muted); }
.market-cases { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.market-case { border-top:2px solid var(--ink); padding:20px 3px 0; }
.market-case>span { font-size:11px; color:var(--article-muted); }
.market-case h3 { font-size:21px; line-height:1.5; margin:9px 0 15px; letter-spacing:-.6px; }
.market-case ol { list-style:none; padding:0; margin:0; }
.market-case li { display:grid; grid-template-columns:20px 1fr; gap:9px; font-size:13px; padding:10px 0; border-top:1px solid var(--article-line); line-height:1.7; }
.market-case li b { color:var(--accent); font-weight:500; }
.market-checks { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; }
.market-checks>div { padding:22px; border:1px solid var(--article-line); border-radius:4px; background:#fff; }
.market-checks h3 { font-size:18px; margin:0 0 14px; }
.market-checks dl { margin:0; font-size:13px; line-height:1.8; }
.market-checks dt { font-size:10px; color:var(--article-muted); margin-top:8px; }
.market-checks dd { margin:0; }
@media(max-width:780px) {
  .visual-answer-grid>a { padding:17px 16px; }
  .visual-answer-grid strong { font-size:22px; }
  .market-map-grid { grid-template-columns:1fr; gap:20px; }
  .market-cases,.market-checks { grid-template-columns:1fr; gap:20px; }
  .market-note-strip { grid-template-columns:1fr; gap:5px; }
}
@media(max-width:520px) {
  .guide[data-topic="markets"] .article-head h1 { font-size:31px; margin:12px 0 19px; }
  .guide[data-topic="markets"] .article-section h2 { font-size:24px; }
  .guide[data-topic="markets"] .section-heading>p { font-size:13px; }
  .visual-answer-grid { gap:7px; }
  .visual-answer-grid>a { padding:14px 10px; }
  .visual-answer-grid>a>span { font-size:10px; }
  .visual-answer-grid strong { font-size:18px; gap:2px; margin:7px 0; }
  .visual-answer-grid strong span { display:none; }
  .visual-answer-grid small { font-size:10px; }
  .visual-answer>p { font-size:11px; }
  .market-map-head { padding:16px; }
  .market-map-head h3 { font-size:20px; }
  .market-exit { font-size:11px; gap:5px; }
  .market-map figcaption { padding:16px; }
  .market-scan-table th,.market-scan-table td { padding:13px 9px; font-size:12px; }
  .market-scan-table th:first-child { width:55px; font-size:10px; }
  .market-scan-table thead th { font-size:16px; }
  .market-scan-table td small { font-size:10px; }
  .market-more { padding:15px; }
  .market-time-guide { padding:23px 16px; }
  .market-time-head h3 { font-size:21px; }
  .market-time-controls:not([hidden]) { grid-template-columns:100px 1fr; gap:18px; }
  .market-time-axis { margin:26px 0 0; }
  .market-time-row { grid-template-columns:1fr 110px; gap:9px; margin:25px 0; }
  .market-time-name { grid-column:1; grid-row:1; }
  .market-time-name small { display:inline; margin-left:7px; }
  .market-time-track { grid-column:1/-1; grid-row:2; }
  .market-hour-status { grid-column:2; grid-row:1; font-size:10px; }
  .market-time-bar { padding:12px 0; }
  .market-time-summary { font-size:11px; }
  .market-case { padding-top:16px; }
  .market-case h3 { font-size:20px; }
}
@media print { .market-time-controls { display:none!important; } .market-map,.market-time-guide,.market-case { break-inside:avoid; } }
