.ticker-code {
  display: block;
  width: max-content;
  color: #77837c;
  font-family: 'DM Mono', monospace;
  font-size: 9px;
  margin-top: 3px;
  text-decoration: none;
}

/* The dashboard uses the HTML hidden attribute when switching views. */
[hidden] { display: none !important; }
.indices { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
.index-card:last-child .index-name { color:#9d6b22; }
.index-card:last-child .index-main strong { font-size:18px; }
.index-card.premium-index-card .index-main { display:block; margin-top:8px; }
.index-card.premium-index-card .index-main strong { display:block; }
.index-card.premium-index-card .delta { display:block; margin-top:4px; white-space:nowrap; font-size:9px; }

/* More visible live-data indicator in the top action bar. */
.updated { display:inline-flex; align-items:center; min-height:37px; padding:0 12px; border:1px solid #bee0ca; border-radius:6px; background:#f2fbf5; color:#087a45; font-size:12px; font-weight:700; letter-spacing:.015em; }

:root[data-theme='dark'] { --ink:#e7eee9; --muted:#a6b1aa; --paper:#111814; --line:#2d3b33; --dark:#0c1712; }
:root[data-theme='dark'] body,:root[data-theme='dark'] .content { background:var(--paper); color:var(--ink); }
:root[data-theme='dark'] .sidebar { background:#0c1712; }
:root[data-theme='dark'] .indices,:root[data-theme='dark'] .watchlist,:root[data-theme='dark'] .sentiment-report,:root[data-theme='dark'] .modal,:root[data-theme='dark'] .auth-card input:not([type=checkbox]) { background:#17221c; border-color:#2d3b33; color:var(--ink); }
:root[data-theme='dark'] .list-head,:root[data-theme='dark'] .index-card,:root[data-theme='dark'] .sentiment-stats div,:root[data-theme='dark'] .candidate-card,:root[data-theme='dark'] .morning-indices div,:root[data-theme='dark'] .simulation-table th { background:#1a261f; border-color:#2d3b33; }
:root[data-theme='dark'] .asset-row,:root[data-theme='dark'] .asset-row:hover,:root[data-theme='dark'] .flow-row,:root[data-theme='dark'] .simulation-table td,:root[data-theme='dark'] .report-meta,:root[data-theme='dark'] .morning-grid section { background:#17221c; border-color:#2d3b33; }
:root[data-theme='dark'] .sentiment-heading { background:linear-gradient(120deg,#17221c,#122019); border-color:#2d3b33; }
:root[data-theme='dark'] .report-conclusion { background:#15281d; border-left-color:#48ac78; }
:root[data-theme='dark'] .filter-tabs { background:#243128; }
:root[data-theme='dark'] .filter-tabs button.selected,:root[data-theme='dark'] .refresh-btn,:root[data-theme='dark'] .icon-btn { background:#1b2820; border-color:#3a4c41; color:#e7eee9; }
:root[data-theme='dark'] .updated { background:#12291d; border-color:#326b4a; color:#69d99a; }
:root[data-theme='dark'] .market-cap,:root[data-theme='dark'] .report-method,:root[data-theme='dark'] .ticker-code,:root[data-theme='dark'] .source-label { color:#aab7af; }

.ticker-code:hover {
  color: #16734c;
  text-decoration: underline;
}

.source-label {
  display: inline-block;
  margin: 4px 0 0 5px;
  color: #9ca69f;
  font-family: 'DM Mono', monospace;
  font-size: 8px;
  font-style: normal;
}

.extended-price {
  display: block;
  margin-top: 4px;
  color: #8a9690;
  font-family: 'DM Mono', monospace;
  font-size: 9px;
  font-weight: 400;
}

.refresh-btn {
  height: 37px;
  padding: 0 12px;
  border: 1px solid #dbe4dc;
  border-radius: 6px;
  background: #fff;
  color: #3d5147;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
}

.refresh-btn:hover { border-color: #9bc5a9; color: #17673f; }
.refresh-btn:disabled { opacity: .6; cursor: wait; }

.watchlist {
  box-shadow: 0 10px 30px rgba(24, 45, 35, .035);
}

.asset-row {
  transition: background-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.asset-row:hover {
  background: #fbfdf9;
  box-shadow: inset 3px 0 0 #b6ddc6;
}

.market-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  padding: 4px 8px;
  border-radius: 999px;
  font-family: 'DM Mono', monospace;
  font-size: 9px;
  font-weight: 700;
}

.market-pill.us { color: #176cba; background: #eaf4ff; }
.market-pill.cn { color: #b4453f; background: #fff0ee; }
.market-pill.kr { color: #7652b5; background: #f2ecff; }
.market-pill.crypto { color: #a16814; background: #fff6df; }

.asset-row.market-us:hover { box-shadow: inset 3px 0 0 #7bb8ef; }
.asset-row.market-cn:hover { box-shadow: inset 3px 0 0 #ef938a; }
.asset-row.market-kr:hover { box-shadow: inset 3px 0 0 #b69ae9; }
.asset-row.market-crypto:hover { box-shadow: inset 3px 0 0 #eab65b; }

.watchlist { overflow-x: auto; }
.list-head,
.asset-row {
  grid-template-columns: var(--columns) !important;
  min-width: 1180px;
}

.column-handle {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  cursor: grab;
  position: relative;
  user-select: none;
}

.column-handle.column-instrument { justify-content: center; padding-left: 0; }
.column-handle.column-actions { justify-content: center; }
.column-handle span {
  position: absolute;
  left: calc(50% + 18px);
  color: #b1bbb5;
  font-size: 10px;
  letter-spacing: -2px;
}

/* 数值列与行内数值采用同一条右边界，便于纵向比对。 */
.column-handle.column-price,
.column-handle.column-marketCap,
.column-handle.column-change,
.column-handle.column-change7d,
.column-handle.column-change30d {
  justify-content: flex-end;
  padding-right: 18px;
}

.column-handle.column-price span,
.column-handle.column-marketCap span,
.column-handle.column-change span,
.column-handle.column-change7d span,
.column-handle.column-change30d span {
  left: auto;
  right: 3px;
}
.column-handle.column-dragging { opacity: .35; }
.column-handle.column-over { box-shadow: inset 2px 0 0 #1da66b; }
.period-change {
  font-family: 'DM Mono', monospace;
  font-size: 11px;
  font-weight: 500;
  text-align: right;
}

.asset-row > div:not(.ticker) { justify-self: center; }
.asset-row .price,
.asset-row .market-cap,
.asset-row .change,
.asset-row .period-change { min-width: 100%; text-align: center; }
.asset-row .ticker { padding-left: 18px; }
.asset-row .ticker strong { line-height: 1.25; letter-spacing: -.015em; }
.asset-row .ticker-code { display: inline-block; margin-right: 4px; }
.asset-row .source-label { vertical-align: middle; }

.ticker-icon {
  box-shadow: 0 3px 8px rgba(19, 37, 30, .14);
}

/* 略提高行情页的整体可读性，同时不改变表格列宽。 */
.watch-header h2 { font-size: 20px; }
.watch-header p { font-size: 12px; }
.filter-tabs button { font-size: 11px; }
.list-head { font-size: 10px; }
.ticker strong { font-size: 14px; }
.ticker-code { font-size: 10px; }
.source-label { font-size: 9px; }
.market-pill { font-size: 10px; }
.asset-row .price { font-size: 14px; }
.asset-row .change,
.period-change,
.market-cap { font-size: 12px; }
.extended-price { font-size: 10px; }

.index-card {
  transition: background-color .16s ease;
}

.index-card:hover { background: #fbfdf9; }

.sentiment-view { max-width: 1180px; padding: 4px 0 24px; }
.morning-view { max-width:none; padding:4px 0 24px; }
.sentiment-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin: 6px 0 20px; padding: 20px 22px; border:1px solid #e2e8e2; border-radius:10px; background:linear-gradient(120deg,#fff 0%,#f4faf5 100%); }
.sentiment-heading .eyebrow { margin-bottom:8px; }
.sentiment-heading h2 { margin:0 0 5px; font-size:25px; letter-spacing:-.045em; }
.sentiment-heading p:not(.eyebrow) { margin:0; color:#7e8984; font-size:12px; }
.morning-latest { margin-top:9px!important; color:#2a8d61!important; font-family:'DM Mono',monospace; font-size:10px!important; }
.sentiment-report { border:1px solid var(--line); border-radius:10px; background:#fff; padding:26px; box-shadow:0 10px 30px rgba(24,45,35,.035); }
.report-meta { display:flex; justify-content:space-between; color:#819087; font-family:'DM Mono',monospace; font-size:10px; padding-bottom:15px; border-bottom:1px solid #edf0eb; }
.report-warning { margin:17px 0; padding:12px 14px; background:#fff8e9; color:#936817; border-radius:6px; font-size:12px; line-height:1.6; }
.sentiment-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin:18px 0; }
.sentiment-stats div { padding:13px 15px; border-radius:7px; background:#f8faf7; }
.sentiment-stats small { display:block; color:#7e8984; font-size:10px; margin-bottom:6px; }
.sentiment-stats strong { font-family:'DM Mono',monospace; font-size:16px; letter-spacing:-.04em; }
.report-conclusion { border-left:3px solid #2e8060; background:#f5faf6; padding:14px 16px; margin:18px 0; }
.report-conclusion h3,.sample-title { margin:0 0 7px; font-size:13px; }
.report-conclusion p { margin:0; line-height:1.7; color:#3f5148; font-size:13px; }
.report-groups { display:grid; grid-template-columns:repeat(5,1fr); gap:8px; margin:18px 0; }
.report-group { border:1px solid #edf0eb; border-radius:6px; padding:10px; display:grid; gap:5px; font-family:'DM Mono',monospace; font-size:10px; color:#7b8780; }
.report-group strong { color:#33463b; font-family:Manrope,'Noto Sans KR',sans-serif; font-size:11px; }
.report-method { color:#8b958f; font-size:10px; line-height:1.65; border-top:1px solid #edf0eb; padding-top:14px; }
.sample-title { margin-top:20px; }
.report-samples { display:grid; grid-template-columns:repeat(2,1fr); gap:9px; }
.report-sample { display:block; color:inherit; text-decoration:none; border:1px solid #edf0eb; border-radius:6px; padding:11px; }
.report-sample:hover { border-color:#a9c9b3; background:#fbfdf9; }
.report-sample span { margin-right:7px; font-family:'DM Mono',monospace; font-size:10px; }
.report-sample b { font-size:11px; }
.report-sample time { float:right; color:#8e9892; font-family:'DM Mono',monospace; font-size:9px; }
.report-sample p { clear:both; margin:8px 0 0; color:#66736c; font-size:10px; line-height:1.55; }
.report-empty { padding:35px; text-align:center; color:#627068; }
.report-empty p { font-size:12px; }
.morning-indices { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); border:1px solid #edf0eb; border-radius:7px; overflow:hidden; margin:18px 0; }
.morning-indices div { padding:13px 14px; border-right:1px solid #edf0eb; }
.morning-indices div:last-child { border:0; }
.morning-indices .korea-live { background:#f8faf9; box-shadow:inset 0 2px 0 #8b9a91; }
.morning-indices small { display:block; color:#7e8984; font-family:'DM Mono',monospace; font-size:10px; }
.morning-indices strong { display:inline-block; margin:6px 7px 0 0; font-family:'DM Mono',monospace; font-size:15px; }
.morning-indices span { font-family:'DM Mono',monospace; font-size:10px; }
.morning-grid { display:grid; grid-template-columns:minmax(300px,.85fr) minmax(600px,1.7fr); gap:18px; margin:20px 0; }
.morning-grid section { border:1px solid #edf0eb; border-radius:7px; padding:15px; }
.morning-grid h3,.policy-section h3 { margin:0 0 12px; font-size:13px; }
.flow-row { display:grid; grid-template-columns:1fr 58px 74px; gap:8px; border-top:1px solid #f0f2ee; padding:9px 0; color:#728078; font-family:'DM Mono',monospace; font-size:10px; text-align:right; }
.flow-row:first-of-type { border-top:0; }
.flow-row b { color:#405047; font-family:Manrope,'Noto Sans KR',sans-serif; font-size:11px; text-align:left; }
.candidate-list { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.candidate-card { border-radius:6px; background:#f8faf7; padding:12px; }
.candidate-card>span { color:#267653; font-family:'DM Mono',monospace; font-size:9px; }
.candidate-card h3 { margin:5px 0 2px; font-size:15px; }
.candidate-card a { color:#75827a; font-family:'DM Mono',monospace; font-size:10px; text-decoration:none; }
.candidate-card div { display:flex; align-items:baseline; justify-content:space-between; margin-top:10px; }
.candidate-card div b { font-family:'DM Mono',monospace; font-size:15px; }
.candidate-card div em { font-family:'DM Mono',monospace; font-size:10px; font-style:normal; }
.candidate-card p { min-height:34px; color:#627068; font-size:10px; line-height:1.55; margin:9px 0 5px; }
.candidate-card small { color:#8a958e; font-family:'DM Mono',monospace; font-size:9px; }
.policy-section { border-top:1px solid #edf0eb; padding-top:17px; }
.policy-section>a { display:block; color:#3b6451; font-size:11px; line-height:1.6; text-decoration:none; margin:5px 0; }
.report-disclaimer { color:#a06d4f; font-size:10px; line-height:1.65; margin:12px 0 0; }
.ai-briefing { margin-top:20px; padding:18px; border:1px solid #d8e7dc; border-radius:8px; background:#f5fbf6; }
.ai-briefing.ai-disabled { background:#f8faf7; border-color:#e3e8e3; }
.ai-briefing .eyebrow { margin:0 0 5px; }
.ai-briefing h3 { margin:0; font-size:15px; }
.ai-briefing h3 span { margin-left:7px; color:#5f8e70; font-family:'DM Mono',monospace; font-size:10px; font-weight:400; }
.sector-data-mode { margin:6px 0 12px; color:#426855; font-size:11px; font-weight:600; }
.ai-briefing>p { color:#405148; font-size:12px; line-height:1.7; }
.ai-briefing h4 { margin:12px 0 4px; font-size:11px; }
.ai-briefing ul { margin:5px 0; padding-left:18px; color:#53655b; font-size:11px; line-height:1.7; }
.ai-counter { border-left:2px solid #d5a04c; padding-left:9px; }
.ai-candidate { color:#6d5943!important; }
.ai-briefing small { color:#89958d; font-size:9px; }
:root[data-theme='dark'] .ai-briefing { background:#15291d; border-color:#315a42; }
:root[data-theme='dark'] .ai-briefing.ai-disabled { background:#1a261f; border-color:#35463a; }
:root[data-theme='dark'] .ai-briefing>p,:root[data-theme='dark'] .ai-briefing ul { color:#b8c7bd; }
:root[data-theme='dark'] .sector-data-mode { color:#9ac8a8; }
:root[data-theme='dark'] .morning-indices .korea-live { background:#1a261f; box-shadow:inset 0 2px 0 #65776b; }
.simulation-table { overflow-x:auto; border:1px solid #edf0eb; border-radius:7px; }
.simulation-table table { width:100%; min-width:840px; border-collapse:collapse; font-family:'DM Mono',monospace; font-size:10px; }
.simulation-table th { background:#f8faf7; color:#728078; font-weight:500; text-align:right; padding:11px 12px; }
.simulation-table th:first-child,.simulation-table th:nth-child(2) { text-align:left; }
.simulation-table td { border-top:1px solid #edf0eb; padding:12px; text-align:right; }
.simulation-table td:first-child,.simulation-table td:nth-child(2) { text-align:left; }
.simulation-table td strong,.simulation-table td small { display:block; }
.simulation-table td strong { font-family:Manrope,'Noto Sans KR',sans-serif; font-size:12px; }
.simulation-table td small { color:#849088; margin-top:3px; }
.flow-trend { margin:20px 0; border-top:1px solid #edf0eb; padding-top:18px; }
.flow-trend h3 { margin:0 0 5px; font-size:14px; }
.flow-trend>p { margin:0 0 12px; color:#738078; font-size:11px; line-height:1.6; }
:root[data-theme='dark'] .flow-trend { border-color:#2d3b33; }

@media (max-width: 760px) {
  .sentiment-heading { align-items:flex-start; flex-direction:column; }
  .sentiment-stats { grid-template-columns:repeat(2,1fr); }
  .report-groups { grid-template-columns:repeat(2,1fr); }
  .report-samples { grid-template-columns:1fr; }
  .morning-indices { grid-template-columns:repeat(2,1fr); }
  .morning-grid,.candidate-list { grid-template-columns:1fr; }
}

.list-head,
.asset-row {
  grid-template-columns: minmax(235px, 2.2fr) 0.8fr 1fr 1fr 1fr 1.1fr 42px;
}

.market-cap {
  color: #425249;
  font-family: 'DM Mono', monospace;
  font-size: 11px;
  text-align: right;
}

.asset-row[draggable='true'] { cursor: grab; }
.asset-row.dragging { opacity: .4; }
.asset-row.drag-over { box-shadow: inset 0 2px 0 #1da66b; }

@media (max-width: 900px) {
  .list-head,
  .asset-row { grid-template-columns: minmax(180px, 2fr) 1fr 1fr 1fr 35px; }
  .list-head div:nth-child(2), .asset-row .market-tag,
  .list-head div:nth-child(6), .asset-row .chart { display: none; }
}

@media (max-width: 580px) {
  .list-head,
  .asset-row { grid-template-columns: minmax(130px, 1.5fr) 1fr 1fr 25px; }
  .list-head div:nth-child(4), .asset-row .market-cap { display: none; }
}

/* Readability pass: increase the information-dense UI by one visual step. */
.brand { font-size:15px; }
.nav-item { font-size:13px; }
.status { font-size:11px; }
.user-card strong { font-size:12px; }
.user-card small { font-size:10px; }
.topbar h1 { font-size:33px; }
.eyebrow { font-size:11px; }
.updated { font-size:13px; }
.refresh-btn,.add-btn,.icon-btn { font-size:12px; }
.index-name { font-size:11px; }
.index-main strong { font-size:19px; }
.delta { font-size:11px; }
.watch-header h2 { font-size:20px; }
.watch-header p,.filter-tabs button { font-size:12px; }
.list-head { font-size:10px; }
.ticker strong { font-size:14px; }
.ticker small,.ticker-code { font-size:10px; }
.market-tag,.source-label,.extended-price,.asset-row .price { font-size:11px; }
.asset-row .change { font-size:12px; }
.market-pill { font-size:10px; }
.disclaimer { font-size:10px; }
.sentiment-heading h2 { font-size:28px; }
.sentiment-heading p:not(.eyebrow),.morning-latest { font-size:13px!important; }
.sentiment-report { padding:30px; }
.report-meta { font-size:11px; }
.report-warning { font-size:13px; }
.report-conclusion h3,.sample-title,.morning-grid h3,.policy-section h3 { font-size:15px; }
.report-conclusion p { font-size:14px; }
.morning-indices small { font-size:11px; }
.morning-indices strong { font-size:17px; }
.morning-indices span { font-size:11px; }
.flow-row { font-size:11px; }
.flow-row b { font-size:12px; }
.candidate-card>span,.candidate-card a,.candidate-card small { font-size:10px; }
.candidate-card h3 { font-size:17px; }
.candidate-card div b { font-size:17px; }
.candidate-card div em,.candidate-card p,.report-method,.report-disclaimer { font-size:11px; }
.policy-section>a { font-size:12px; }
.ai-briefing h3 { font-size:17px; }
.ai-briefing>p,.ai-briefing ul { font-size:13px; }
.ai-briefing h4 { font-size:12px; }
.simulation-table table { font-size:11px; }
.simulation-table td strong { font-size:13px; }
.simulation-table td small { font-size:10px; }
.auth-card h2 { font-size:31px; }
.auth-card input:not([type=checkbox]),.search-box input { font-size:14px; }

/* Comfortable reading mode: a further two-pixel increase across every screen. */
.brand { font-size:17px; }
.nav-item { font-size:15px; padding-block:13px; }
.status { font-size:13px; }
.user-card strong { font-size:14px; }
.user-card small { font-size:12px; }
.topbar h1 { font-size:35px; }
.eyebrow { font-size:13px; }
.updated { font-size:15px; }
.refresh-btn,.add-btn,.icon-btn { font-size:14px; min-height:41px; }
.index-name { font-size:13px; }
.index-main strong { font-size:21px; }
.delta { font-size:13px; }
.watch-header h2 { font-size:22px; }
.watch-header p,.filter-tabs button { font-size:14px; }
.list-head { height:44px; font-size:12px; }
.asset-row { min-height:82px; }
.ticker strong { font-size:16px; }
.ticker small,.ticker-code { font-size:12px; }
.market-tag,.source-label,.extended-price,.asset-row .price,.market-cap { font-size:13px; }
.asset-row .change,.period-change { font-size:14px; }
.market-pill { font-size:12px; padding:5px 10px; }
.disclaimer { font-size:12px; line-height:1.65; }
.sentiment-heading { padding:24px 26px; }
.sentiment-heading h2 { font-size:30px; }
.sentiment-heading p:not(.eyebrow),.morning-latest { font-size:15px!important; }
.sentiment-report { padding:34px; }
.report-meta { font-size:13px; padding-bottom:18px; }
.report-warning { font-size:15px; padding:14px 16px; }
.report-conclusion { padding:17px 19px; }
.report-conclusion h3,.sample-title,.morning-grid h3,.policy-section h3 { font-size:17px; }
.report-conclusion p { font-size:16px; line-height:1.75; }
.morning-indices small { font-size:13px; }
.morning-indices strong { font-size:19px; }
.morning-indices span { font-size:13px; }
.flow-row { grid-template-columns:1fr 70px 92px; font-size:13px; padding:11px 0; }
.flow-row b { font-size:14px; }
.candidate-card { padding:16px; }
.candidate-card>span,.candidate-card a,.candidate-card small { font-size:12px; }
.candidate-card h3 { font-size:19px; }
.candidate-card div b { font-size:19px; }
.candidate-card div em,.candidate-card p,.report-method,.report-disclaimer { font-size:13px; }
.candidate-card p { line-height:1.65; }
.policy-section>a { font-size:14px; line-height:1.75; }
.ai-briefing { padding:22px; }
.ai-briefing h3 { font-size:19px; }
.ai-briefing>p,.ai-briefing ul { font-size:15px; line-height:1.75; }
.ai-briefing h4 { font-size:14px; }
.simulation-table table { font-size:13px; }
.simulation-table th,.simulation-table td { padding:14px; }
.simulation-table td strong { font-size:15px; }
.simulation-table td small { font-size:12px; }
.auth-card h2 { font-size:33px; }
.auth-card label,.auth-card input:not([type=checkbox]),.search-box input { font-size:16px; }
.primary-btn { font-size:15px; min-height:52px; }
.modal { padding:35px; }
.modal h2 { font-size:28px; }
.result button { font-size:12px; padding:7px 12px; }
.muted,.form-row,.signup-line { font-size:14px; }

@media (max-width: 760px) {
  .topbar h1 { font-size:31px; }
  .sentiment-heading h2 { font-size:27px; }
  .sentiment-report { padding:22px; }
  .morning-indices { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* Balanced reading mode: one step larger than the original interface. */
.brand { font-size:16px; }
.nav-item { font-size:14px; }
.status { font-size:12px; }
.user-card strong { font-size:13px; }
.user-card small { font-size:11px; }
.topbar h1 { font-size:34px; }
.eyebrow { font-size:12px; }
.updated { font-size:14px; }
.refresh-btn,.add-btn,.icon-btn { font-size:13px; }
.index-name { font-size:12px; }
.index-main strong { font-size:20px; }
.delta { font-size:12px; }
.watch-header h2 { font-size:21px; }
.watch-header p,.filter-tabs button { font-size:13px; }
.list-head { font-size:11px; }
.asset-row { min-height:77px; }
.ticker strong { font-size:15px; }
.ticker small,.ticker-code { font-size:11px; }
.market-tag,.source-label,.extended-price,.asset-row .price,.market-cap { font-size:12px; }
.asset-row .change,.period-change { font-size:13px; }
.market-pill { font-size:11px; }
.disclaimer { font-size:11px; }
.sentiment-heading h2 { font-size:29px; }
.sentiment-heading p:not(.eyebrow),.morning-latest { font-size:14px!important; }
.sentiment-report { padding:32px; }
.report-meta { font-size:12px; }
.report-warning { font-size:14px; }
.report-conclusion h3,.sample-title,.morning-grid h3,.policy-section h3 { font-size:16px; }
.report-conclusion p { font-size:15px; }
.morning-indices small { font-size:12px; }
.morning-indices strong { font-size:18px; }
.morning-indices span { font-size:12px; }
.flow-row { font-size:12px; }
.flow-row b { font-size:13px; }
.candidate-card>span,.candidate-card a,.candidate-card small { font-size:11px; }
.candidate-card h3 { font-size:18px; }
.candidate-card div b { font-size:18px; }
.candidate-card div em,.candidate-card p,.report-method,.report-disclaimer { font-size:12px; }
.policy-section>a { font-size:13px; }

.caixin-news-clues{margin:28px 0;padding:26px;border:1px solid #dfe7df;border-radius:14px;background:linear-gradient(145deg,#fbfdf9,#f4f8f2)}
.caixin-news-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.caixin-news-heading .eyebrow{margin:0 0 5px;color:#667a6b;font-size:11px;letter-spacing:.18em}.caixin-news-heading h3{margin:0;font-size:20px}.caixin-news-heading h3 span{margin-left:8px;color:#51705d;font-size:12px;font-weight:500}.caixin-news-heading>time{color:#6e7d73;font-size:12px;white-space:nowrap}
.caixin-indicators{display:grid;grid-template-columns:120px 1fr 1fr;gap:12px;margin-bottom:18px}.caixin-indicators>div{padding:14px;border:1px solid #e1e8e1;border-radius:10px;background:#fff}.caixin-indicators small{display:block;margin-bottom:8px;color:#718076;font-size:11px}.caixin-indicators strong{font-size:24px}.caixin-indicators p{display:flex;flex-wrap:wrap;gap:7px;margin:0}.caixin-indicators p span{padding:5px 8px;border-radius:999px;background:#eef5ef;color:#3f5d49;font-size:11px}.caixin-indicators p span b{margin-right:4px;font-size:11px}
.caixin-news-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.caixin-news-item{display:block;padding:15px;border:1px solid #e1e7e0;border-radius:10px;background:rgba(255,255,255,.86);color:inherit;text-decoration:none;transition:border-color .15s,transform .15s}.caixin-news-item:hover{border-color:#94b19c;transform:translateY(-1px)}.caixin-news-item>div{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.caixin-news-item strong{font-size:14px;line-height:1.55}.caixin-news-item time{color:#6d7e72;font-size:10px;white-space:nowrap}.caixin-news-item p{margin:9px 0;color:#526158;font-size:12px;line-height:1.65}.caixin-news-item footer{display:flex;flex-wrap:wrap;gap:6px}.caixin-news-item i{padding:3px 7px;border-radius:5px;background:#eff4ee;color:#55705d;font-size:10px;font-style:normal}.caixin-news-method{margin:14px 0 0;color:#708077;font-size:11px;line-height:1.7}
:root[data-theme='dark'] .caixin-news-clues{background:linear-gradient(145deg,#17231c,#19271f);border-color:#304138}:root[data-theme='dark'] .caixin-indicators>div,:root[data-theme='dark'] .caixin-news-item{background:#17221c;border-color:#304138}:root[data-theme='dark'] .caixin-news-item p{color:#b6c5bc}:root[data-theme='dark'] .caixin-indicators p span,:root[data-theme='dark'] .caixin-news-item i{background:#22372b;color:#a8c7b5}
@media(max-width:900px){.caixin-indicators{grid-template-columns:1fr}.caixin-news-list{grid-template-columns:1fr}.caixin-news-heading{display:block}.caixin-news-heading>time{display:block;margin-top:8px}}
.ai-briefing h3 { font-size:18px; }
.ai-briefing>p,.ai-briefing ul { font-size:14px; }
.ai-briefing h4 { font-size:13px; }
.simulation-table table { font-size:12px; }
.simulation-table td strong { font-size:14px; }
.simulation-table td small { font-size:11px; }
.auth-card h2 { font-size:32px; }
.auth-card label,.auth-card input:not([type=checkbox]),.search-box input { font-size:15px; }
.primary-btn { font-size:14px; }
.modal h2 { font-size:27px; }
.result button { font-size:11px; }
.muted,.form-row,.signup-line { font-size:13px; }

.prediction-view { max-width:none; padding:4px 0 28px; }
.prediction-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:20px 0; }
.prediction-card { min-height:214px; padding:18px; border:1px solid var(--line); border-radius:9px; background:#fbfdf9; display:flex; flex-direction:column; }
.prediction-card-top,.prediction-meta { display:flex; align-items:center; justify-content:space-between; gap:10px; color:#7c8982; font-family:'DM Mono',monospace; font-size:11px; }
.prediction-category { color:#176e49; font-weight:700; }
.prediction-question { color:var(--ink); text-decoration:none; font-size:16px; font-weight:700; line-height:1.48; margin:15px 0 17px; }
.prediction-question:hover { color:#148452; }
.prediction-outcomes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:auto; }
.prediction-outcomes span { padding:10px; border-radius:6px; background:#edf6ef; display:flex; align-items:baseline; justify-content:space-between; gap:6px; }
.prediction-outcomes b { font-size:12px; color:#466057; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.prediction-outcomes em { font-family:'DM Mono',monospace; font-style:normal; font-size:15px; color:#087b47; font-weight:700; }
.prediction-meta { border-top:1px solid #e7eee8; margin-top:14px; padding-top:12px; }
:root[data-theme='dark'] .prediction-card { background:#17221c; border-color:#2d3b33; }
:root[data-theme='dark'] .prediction-question { color:var(--ink); }
:root[data-theme='dark'] .prediction-outcomes span { background:#1d3226; }
:root[data-theme='dark'] .prediction-meta { border-color:#2d3b33; }

@media (max-width: 1050px) { .prediction-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 650px) { .prediction-grid { grid-template-columns:1fr; } .prediction-card { min-height:190px; } .prediction-meta-bar { gap:8px; flex-direction:column; align-items:flex-start; } }

.observation-predictions { margin:22px 0 30px; padding:22px; border:1px solid #c7dfcf; border-radius:10px; background:linear-gradient(135deg,#f4fbf5,#fbfdf9); }
.observation-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:16px; }
.observation-heading .eyebrow { margin:0 0 7px; color:#31815b; }
.observation-heading h3,.prediction-all-heading h3 { margin:0; font-size:18px; }
.observation-heading p,.prediction-all-heading p { margin:6px 0 0; color:#708078; font-size:13px; line-height:1.55; }
.observation-heading>span { color:#23734f; font-family:'DM Mono',monospace; font-size:12px; font-weight:700; white-space:nowrap; }
.observation-grid { margin:0; }
.observation-card { border-color:#bcdcc7; box-shadow:0 5px 16px rgba(27,98,63,.05); }
.prediction-related { display:flex; flex-wrap:wrap; gap:5px; margin:11px 0 -3px; }
.prediction-related i { padding:3px 7px; border-radius:99px; background:#dcefe1; color:#26714f; font-family:'DM Mono',monospace; font-size:10px; font-style:normal; }
.prediction-all-heading { display:flex; align-items:flex-end; justify-content:space-between; margin:8px 0 -2px; }
:root[data-theme='dark'] .observation-predictions { background:linear-gradient(135deg,#15291d,#17221c); border-color:#315a42; }
:root[data-theme='dark'] .observation-card { border-color:#315a42; }
:root[data-theme='dark'] .prediction-related i { background:#204330; color:#8ed9ae; }

@media (max-width:650px) { .observation-predictions { padding:17px; } .observation-heading,.prediction-all-heading { align-items:flex-start; flex-direction:column; gap:7px; } }

.risk-view { max-width:none; padding:4px 0 28px; }
.risk-heading { margin-bottom:20px; }
.risk-overall { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:22px; padding:22px 24px; border:1px solid var(--line); border-radius:10px; background:#f8faf7; }
.risk-overall .eyebrow { margin-bottom:7px; }
.risk-overall h3 { margin:0 0 7px; font-size:21px; }
.risk-overall p { max-width:760px; margin:0; color:#53645b; font-size:13px; line-height:1.7; }
.risk-overall time { color:#718077; font-family:'DM Mono',monospace; font-size:11px; white-space:nowrap; }
.risk-overall-copy { flex:1; }
.risk-overall-copy>small { display:block; margin-top:11px; color:#819087; font-family:'DM Mono',monospace; font-size:10px; }
.risk-gauge { --gauge-color:#3d94b5; position:relative; flex:none; width:154px; height:154px; border-radius:50%; background:conic-gradient(var(--gauge-color) var(--score), #e3e9e4 0); box-shadow:0 8px 22px rgba(21,35,30,.08); }
.risk-gauge:before { content:''; position:absolute; inset:12px; border-radius:50%; background:#fbfdf9; box-shadow:inset 0 0 0 1px #e3e9e4; }
.risk-gauge-core { position:absolute; inset:22px; z-index:1; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.risk-gauge-core strong { color:var(--ink); font-family:'DM Mono',monospace; font-size:42px; letter-spacing:-.1em; line-height:1; }
.risk-gauge-core span { margin-top:4px; color:#74827a; font-family:'DM Mono',monospace; font-size:10px; }
.risk-gauge-core b { margin-top:8px; color:#53635b; font-size:10px; white-space:nowrap; }
.risk-gauge i { position:absolute; z-index:2; color:#78857e; font-family:'DM Mono',monospace; font-size:8px; font-style:normal; white-space:nowrap; }
.risk-gauge-min { left:-4px; bottom:-16px; }
.risk-gauge-mid { left:50%; bottom:-16px; transform:translateX(-50%); }
.risk-gauge-max { right:-8px; bottom:-16px; }
.risk-overall.risk-calm .risk-gauge { --gauge-color:#3b9bbc; }
.risk-overall.risk-support .risk-gauge { --gauge-color:#28a469; }
.risk-overall.risk-caution .risk-gauge { --gauge-color:#d19b32; }
.risk-overall.risk-high .risk-gauge { --gauge-color:#dc5b54; }
.risk-overall.risk-extreme .risk-gauge { --gauge-color:#9e3c5a; }
.risk-group { margin:26px 0; }
.risk-group>h3,.risk-method h3 { margin:0 0 12px; color:var(--ink); font-size:17px; }
.risk-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.risk-card { min-height:210px; padding:17px; border:1px solid var(--line); border-radius:9px; background:#fff; display:flex; flex-direction:column; }
.risk-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; color:#56655d; font-family:'DM Mono',monospace; font-size:11px; }
.risk-card-head b { flex:none; padding:3px 7px; border-radius:99px; font-size:10px; font-weight:700; }
.risk-card strong { margin-top:15px; color:var(--ink); font-family:'DM Mono',monospace; font-size:25px; letter-spacing:-.055em; }
.risk-card em { min-height:18px; margin-top:4px; color:#78867e; font-family:'DM Mono',monospace; font-size:11px; font-style:normal; }
.risk-card small { margin-top:7px; color:#74827a; font-family:'DM Mono',monospace; font-size:10px; }
.risk-card .risk-score-meta { color:#5d7166; font-weight:700; }
.risk-card>p { min-height:37px; margin:12px 0; color:#53645b; font-size:11px; line-height:1.6; }
.risk-card details { margin-top:auto; border-top:1px solid #edf0eb; padding-top:9px; }
.risk-card summary { color:#307452; cursor:pointer; font-size:11px; font-weight:700; }
.risk-card details span { display:block; margin-top:8px; color:#728078; font-size:10px; line-height:1.55; }
.risk-card details .risk-source { color:#94a098; font-family:'DM Mono',monospace; font-size:9px; }
.risk-card.risk-high { border-color:#e7b6b1; box-shadow:inset 3px 0 0 #dc5b54; }
.risk-card.risk-caution { border-color:#ebd6a9; box-shadow:inset 3px 0 0 #d19b32; }
.risk-card.risk-support { border-color:#b9dec8; box-shadow:inset 3px 0 0 #27a467; }
.risk-card.risk-calm { border-color:#c5dfe9; box-shadow:inset 3px 0 0 #448fb0; }
.risk-card.risk-neutral { box-shadow:inset 3px 0 0 #98a79e; }
.risk-high .risk-card-head b,.risk-overall.risk-high h3 { color:#b43c36; }
.risk-high .risk-card-head b { background:#fff0ef; }
.risk-extreme .risk-card-head b,.risk-overall.risk-extreme h3 { color:#96344f; }
.risk-extreme .risk-card-head b { background:#f8e9ee; }
.risk-caution .risk-card-head b,.risk-overall.risk-caution h3 { color:#946413; }
.risk-caution .risk-card-head b { background:#fff7e5; }
.risk-support .risk-card-head b,.risk-overall.risk-support h3 { color:#18734b; }
.risk-support .risk-card-head b { background:#eaf8ef; }
.risk-calm .risk-card-head b,.risk-overall.risk-calm h3 { color:#296e8b; }
.risk-calm .risk-card-head b { background:#eaf5f9; }
.risk-neutral .risk-card-head b { color:#58675f; background:#eff2ee; }
.risk-change.up { color:#c14c45; }
.risk-change.down { color:#168256; }
.risk-method { margin-top:28px; padding:19px; border:1px solid #e1e8e2; border-radius:8px; background:#f8faf7; }
.risk-method p { margin:8px 0; color:#63736a; font-size:12px; line-height:1.7; }
:root[data-theme='dark'] .risk-overall,:root[data-theme='dark'] .risk-card,:root[data-theme='dark'] .risk-method { background:#17221c; border-color:#2d3b33; }
:root[data-theme='dark'] .risk-gauge:before { background:#17221c; box-shadow:inset 0 0 0 1px #2d3b33; }
:root[data-theme='dark'] .risk-card details { border-color:#2d3b33; }
:root[data-theme='dark'] .risk-overall p,:root[data-theme='dark'] .risk-card>p,:root[data-theme='dark'] .risk-method p { color:#b7c4bc; }
:root[data-theme='dark'] .risk-card.risk-high { border-color:#75433f; }
:root[data-theme='dark'] .risk-card.risk-caution { border-color:#6b582d; }
:root[data-theme='dark'] .risk-card.risk-support { border-color:#315a42; }
:root[data-theme='dark'] .risk-card.risk-calm { border-color:#315766; }
@media (max-width:1100px) { .risk-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:760px) { .risk-overall { flex-direction:column; align-items:flex-start; gap:22px; } .risk-overall time { align-self:flex-end; } .risk-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:520px) { .risk-grid { grid-template-columns:1fr; } .risk-card { min-height:185px; } }

.calendar-view { max-width:1080px; padding:4px 0 28px; }
.calendar-heading { margin-bottom:20px; }
.calendar-summary { display:flex; justify-content:space-between; gap:16px; padding-bottom:15px; border-bottom:1px solid #edf0eb; color:#77847c; font-family:'DM Mono',monospace; font-size:11px; }
.calendar-list { display:grid; gap:10px; margin:20px 0; }
.calendar-event { display:grid; grid-template-columns:160px minmax(0,1fr) 150px; gap:18px; align-items:start; padding:17px 18px; border:1px solid var(--line); border-radius:8px; background:#fff; }
.calendar-event.calendar-high { border-left:4px solid #cf655a; }
.calendar-event.calendar-medium { border-left:4px solid #d3a13b; }
.calendar-when { display:grid; gap:5px; color:#536158; font-family:'DM Mono',monospace; }
.calendar-when strong { color:var(--ink); font-size:14px; }
.calendar-when span { color:#86928b; font-size:10px; }
.calendar-event-head { display:flex; align-items:center; gap:8px; color:#77847c; font-family:'DM Mono',monospace; font-size:10px; }
.calendar-event-head b { padding:3px 7px; border-radius:99px; background:#fff1ef; color:#b54840; font-size:10px; }
.calendar-medium .calendar-event-head b { background:#fff6e4; color:#966717; }
.calendar-main h3 { margin:7px 0 5px; font-size:16px; }
.calendar-main p { margin:0; color:#627168; font-size:12px; line-height:1.65; }
.calendar-main small { display:block; margin-top:8px; color:#89958e; font-size:10px; }
.calendar-event.calendar-released { background:#fbfdf9; }
.calendar-released .calendar-event-head b { background:#eaf8ef; color:#19754b; }
.calendar-actual { display:grid; gap:7px; margin-top:13px; padding:12px 13px; border:1px solid #cfe4d6; border-radius:7px; background:#f4faf5; }
.calendar-actual>div { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px; }
.calendar-actual span { color:#287653; font-family:'DM Mono',monospace; font-size:10px; font-weight:700; }
.calendar-actual strong { color:#1b4f38; font-size:14px; }
.calendar-main .calendar-actual p { color:#52685b; font-size:11px; line-height:1.65; }
.calendar-main .calendar-actual .calendar-impact { padding-top:7px; border-top:1px solid #dcebe0; }
.calendar-consensus { display:flex; flex-wrap:wrap; align-items:baseline; gap:7px 10px; margin-top:11px; padding:9px 11px; border:1px solid #d9e5dc; border-radius:6px; background:#fff; }
.calendar-consensus span { color:#52695c; font-family:'DM Mono',monospace; font-size:10px; }
.calendar-consensus strong { color:#1d5139; font-family:'DM Mono',monospace; font-size:14px; }
.calendar-consensus small { margin:0; color:#77877c; font-size:10px; }
.calendar-main .calendar-actual .calendar-surprise { color:#19754b; font-weight:700; }
.calendar-impact b { display:block; margin-bottom:2px; color:#267350; font-size:10px; }
.calendar-actual a { color:#267350; font-size:10px; font-weight:700; text-decoration:none; }
.calendar-actual a:hover { text-decoration:underline; }
.calendar-await { margin-top:12px; padding:9px 11px; border:1px dashed #d2d9d3; border-radius:6px; color:#7d8981; font-size:11px; line-height:1.55; }
.calendar-source { padding-top:4px; color:#267350; font-size:11px; font-weight:700; text-align:right; text-decoration:none; }
.calendar-source:hover { text-decoration:underline; }
.calendar-method { margin-top:24px; padding:18px; border:1px solid #e1e8e2; border-radius:8px; background:#f8faf7; }
.calendar-method h3 { margin:0 0 7px; font-size:15px; }
.calendar-method p { margin:7px 0; color:#627168; font-size:12px; line-height:1.7; }
:root[data-theme='dark'] .calendar-event,:root[data-theme='dark'] .calendar-method { background:#17221c; border-color:#2d3b33; }
:root[data-theme='dark'] .calendar-event.calendar-released { background:#17271e; }
:root[data-theme='dark'] .calendar-actual { background:#1b2f23; border-color:#355a43; }
:root[data-theme='dark'] .calendar-actual strong { color:#a9d9b8; }
:root[data-theme='dark'] .calendar-main .calendar-actual p { color:#bdd0c3; }
:root[data-theme='dark'] .calendar-main .calendar-actual .calendar-impact { border-color:#355a43; }
:root[data-theme='dark'] .calendar-consensus { background:#17221c; border-color:#355a43; }
:root[data-theme='dark'] .calendar-consensus strong { color:#a9d9b8; }
:root[data-theme='dark'] .calendar-consensus span,:root[data-theme='dark'] .calendar-consensus small { color:#b4c5bb; }
:root[data-theme='dark'] .calendar-await { border-color:#46534b; color:#aab8af; }
:root[data-theme='dark'] .calendar-summary { border-color:#2d3b33; }
:root[data-theme='dark'] .calendar-main p,:root[data-theme='dark'] .calendar-method p { color:#b7c4bc; }
@media (max-width:760px) { .calendar-event { grid-template-columns:1fr; gap:11px; } .calendar-source { padding:0; text-align:left; } }

.simulation-stats-dynamic { grid-template-columns:repeat(4,minmax(0,1fr)); }
.simulation-stats-dynamic div { min-width:0; }
.simulation-stats-dynamic strong { overflow-wrap:anywhere; }
.dynamic-simulation-table table { min-width:1120px; }
.dynamic-simulation-table th:nth-child(6),.dynamic-simulation-table td:nth-child(6) { min-width:270px; text-align:left; }
.simulation-filter-bar { display:flex; align-items:center; gap:10px; margin:16px 0 10px; padding:10px 12px; border:1px solid #e1e8e2; border-radius:7px; background:#f8faf7; }
.simulation-filter-bar>div { display:grid; gap:2px; margin-right:auto; }
.simulation-filter-bar>div strong { font-size:11px; }
.simulation-filter-bar>div span { color:#849088; font-size:9px; }
.simulation-filter-bar label { display:inline-flex; align-items:center; gap:6px; padding:6px 9px; border:1px solid #dce5de; border-radius:6px; background:#fff; color:#53645a; font-size:10px; cursor:pointer; user-select:none; }
.simulation-filter-bar input { accent-color:#168052; }
.simulation-filter-bar em { min-width:18px; padding:2px 5px; border-radius:999px; background:#edf3ef; color:#627269; font-family:'DM Mono',monospace; font-size:8px; font-style:normal; text-align:center; }
:root[data-theme='dark'] .simulation-filter-bar { background:#19271f; border-color:#304138; }
:root[data-theme='dark'] .simulation-filter-bar label { background:#17221c; border-color:#34453b; color:#c0cdc5; }
:root[data-theme='dark'] .simulation-filter-bar em { background:#26372d; color:#b8c6bd; }
.decision-badge { display:inline-flex!important; width:max-content; padding:4px 8px; border-radius:999px; font-family:Manrope,'Noto Sans KR',sans-serif; font-size:10px; font-weight:750; }
.decision-hold { color:#08734b; background:#e8f7ef; }
.decision-watch { color:#89620b; background:#fff5d8; }
.decision-exit,.decision-exit-wait { color:#b63e3e; background:#fdeaea; }
.decision-pending { color:#607069; background:#edf1ee; }
.decision-reason { max-width:320px; line-height:1.55; white-space:normal; }
.position-analysis { margin:22px 0; padding:18px; border:1px solid #dce6de; border-radius:8px; background:#fbfcfa; }
.position-analysis-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:14px; }
.position-analysis-head .eyebrow { margin:0 0 5px; }
.position-analysis-head h3 { margin:0; font-size:15px; }
.position-analysis-head>span { color:#708078; font-family:'DM Mono',monospace; font-size:9px; }
.position-analysis-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.position-analysis-card { padding:14px; border:1px solid #e5eae5; border-radius:7px; background:#fff; }
.position-analysis-card>div { display:flex; align-items:center; justify-content:space-between; color:#6c7b73; font-size:10px; }
.position-analysis-card h4 { margin:8px 0; font-size:14px; }
.position-analysis-card h4 small { color:#8b9690; font-family:'DM Mono',monospace; font-size:9px; font-weight:400; }
.position-analysis-card p { margin:6px 0; color:#4c5d54; font-size:11px; line-height:1.65; }
.position-analysis-card>small { color:#7d8982; font-size:9px; line-height:1.5; }
.position-ai-view { margin-top:12px; padding:12px 14px; border-radius:6px; background:#f1f7f2; font-size:11px; }
.position-ai-view ul { margin:6px 0 0; padding-left:18px; color:#53655b; line-height:1.7; }
:root[data-theme='dark'] .position-analysis,:root[data-theme='dark'] .position-analysis-card { background:#17221c; border-color:#2d3b33; }
:root[data-theme='dark'] .position-ai-view { background:#1a2b21; }
:root[data-theme='dark'] .position-analysis-card p,:root[data-theme='dark'] .position-ai-view ul { color:#b8c7bd; }
:root[data-theme='dark'] .decision-hold { color:#72d6a3; background:#173b29; }
:root[data-theme='dark'] .decision-watch { color:#e7c56d; background:#3c3219; }
:root[data-theme='dark'] .decision-exit,:root[data-theme='dark'] .decision-exit-wait { color:#f19797; background:#422525; }
@media (max-width:720px) { .simulation-stats-dynamic,.position-analysis-grid { grid-template-columns:1fr; } .position-analysis-head { display:block; } .position-analysis-head>span { display:block; margin-top:8px; } .simulation-filter-bar { align-items:stretch; flex-direction:column; } .simulation-filter-bar>div { margin:0 0 2px; } }
.ai-briefing.ai-pending { position:relative; overflow:hidden; border-color:#d9dfb6; background:#fbfcef; }
.ai-briefing.ai-pending::before { content:''; position:absolute; inset:0 auto 0 0; width:3px; background:#b6ca3e; animation:ai-pending-pulse 1.4s ease-in-out infinite alternate; }
:root[data-theme='dark'] .ai-briefing.ai-pending { border-color:#58642f; background:#242a19; }
@keyframes ai-pending-pulse { from { opacity:.35; } to { opacity:1; } }
.ai-readable-list { display:grid; gap:8px; margin:8px 0 14px!important; padding:0!important; list-style:none; }
.ai-readable-list li { padding:11px 13px; border:1px solid #dfe9e1; border-radius:7px; background:#fff; }
.ai-readable-list li>p { margin:4px 0 0; color:#43554b; font-size:11px; line-height:1.65; }
.ai-item-head { display:flex; align-items:center; gap:7px; }
.ai-item-head strong { color:#1b3327; font-size:12px; }
.ai-item-head small { color:#839087; font-family:'DM Mono',monospace; font-size:9px; }
.ai-item-head span { margin-left:auto; padding:3px 7px; border-radius:999px; color:#176a46; background:#e8f5ed; font-size:9px; font-weight:700; }
.ai-item-meta { display:flex; flex-wrap:wrap; gap:5px; margin-top:7px; }
.ai-item-meta em { padding:3px 6px; border-radius:4px; color:#67766d; background:#f1f5f1; font-family:'DM Mono',monospace; font-size:9px; font-style:normal; }
:root[data-theme='dark'] .ai-readable-list li { background:#19271f; border-color:#304438; }
:root[data-theme='dark'] .ai-readable-list li>p { color:#bdcbc2; }
:root[data-theme='dark'] .ai-item-head strong { color:#e0e9e3; }
:root[data-theme='dark'] .ai-item-head span { color:#83d3aa; background:#1d3b2b; }
:root[data-theme='dark'] .ai-item-meta em { color:#afbeb5; background:#223128; }
.organize-markets-btn { color:#245f45; background:#f3f8f4; border-color:#d4e2d7; }
.watch-market-divider { display:flex; align-items:center; gap:8px; min-height:34px; padding:0 19px; border-top:1px solid #dfe7e1; border-bottom:1px solid #e8ede9; background:#f8faf7; }
.list-head+.watch-market-divider { border-top:0; }
.watch-market-divider::before { content:''; width:7px; height:7px; border-radius:50%; background:#7d9286; }
.watch-market-divider.market-cn::before { background:#d55252; }
.watch-market-divider.market-us::before { background:#3f72c9; }
.watch-market-divider.market-kr::before { background:#8a63c2; }
.watch-market-divider.market-crypto::before { background:#e39a20; }
.watch-market-divider strong { font-size:11px; }
.watch-market-divider span { color:#87938c; font-family:'DM Mono',monospace; font-size:9px; }
:root[data-theme='dark'] .organize-markets-btn,:root[data-theme='dark'] .watch-market-divider { background:#1a2820; border-color:#304138; color:#e3ebe6; }
@media (max-width:720px) { .organize-markets-btn { width:38px; padding:0; overflow:hidden; font-size:0!important; } .organize-markets-btn::before { content:'▦'; font-size:14px; } }
.index-name { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.index-session { flex:none; padding:3px 6px; border-radius:999px; font-family:Manrope,'Noto Sans KR',sans-serif; font-size:9px; font-weight:750; letter-spacing:0; }
.index-session.session-live { color:#08764b; background:#e6f6ed; }
.index-session.session-pre { color:#8a650c; background:#fff3d3; }
.index-session.session-after { color:#7253a1; background:#f0e9fa; }
.index-session.session-break,.index-session.session-closed { color:#6f7c75; background:#edf1ee; }
:root[data-theme='dark'] .index-session.session-live { color:#76d7a7; background:#173a28; }
:root[data-theme='dark'] .index-session.session-pre { color:#e9c66b; background:#3b321a; }
:root[data-theme='dark'] .index-session.session-after { color:#c8aceb; background:#302442; }
:root[data-theme='dark'] .index-session.session-break,:root[data-theme='dark'] .index-session.session-closed { color:#afbbb3; background:#28342d; }
.asset-row.simulated-holding-row { position:relative; background:#fbfefb; box-shadow:inset 3px 0 0 #25a66d; }
.simulated-holding-badge { display:inline-flex; width:max-content; margin:4px 0 0 7px; padding:2px 6px; border-radius:999px; color:#08764b; background:#e5f6ec; font-size:9px; font-weight:750; vertical-align:top; }
.simulated-holding-row .remove { opacity:1; color:#1aa66a; cursor:not-allowed; font-size:9px; }
:root[data-theme='dark'] .asset-row.simulated-holding-row { background:#17271e; box-shadow:inset 3px 0 0 #46bc82; }
:root[data-theme='dark'] .simulated-holding-badge { color:#79d8a9; background:#193d2a; }

/* Mobile quote board: keep the actionable quote fields in one viewport. */
@media (max-width: 580px) {
  .sidebar { width:48px; padding:16px 5px 14px; }
  .sidebar .brand { justify-content:center; }
  .sidebar .brand-mark { width:25px; height:25px; font-size:14px; }
  .sidebar nav { margin-top:34px; gap:5px; }
  .sidebar .nav-item { min-height:42px; padding:9px 4px; }
  .sidebar .nav-item span { font-size:16px; }
  .user-card { justify-content:center; padding:6px 0; }
  .user-card .avatar { width:27px; height:27px; font-size:9px; }

  .content {
    width:calc(100% - 48px);
    margin-left:48px;
    padding:18px 10px 22px;
    overflow-x:hidden;
  }
  .topbar { margin-bottom:22px; }
  .topbar .eyebrow { margin-bottom:7px; font-size:8px; }
  .topbar h1 { font-size:22px; letter-spacing:-.045em; }
  .top-actions { gap:6px; }
  .top-actions .add-btn { height:32px; padding:0 9px; font-size:9px; }

  .watch-header { gap:10px; margin-bottom:12px; }
  .watch-header h2 { margin-bottom:3px; font-size:17px; }
  .watch-header p { font-size:9px; }
  .watch-header > div:first-child { min-width:0; }
  .filter-tabs {
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    width:100%;
    max-width:none;
    gap:1px;
    overflow:visible;
    padding:3px;
  }
  .filter-tabs button {
    min-width:0;
    padding:7px 2px;
    font-size:9px;
    line-height:1.15;
    white-space:nowrap;
    word-break:keep-all;
  }

  .watchlist { width:100%; overflow-x:hidden; border-radius:7px; }
  .list-head,
  .asset-row {
    grid-template-columns:minmax(0,1fr) minmax(62px,.55fr) minmax(52px,.48fr) !important;
    min-width:0;
    width:100%;
    column-gap:6px;
  }
  .list-head { height:32px; padding:0 8px; font-size:8px; letter-spacing:.02em; }
  .asset-row { min-height:55px; padding:0 8px; }

  .list-head > *,
  .asset-row > * { display:none !important; }
  .list-head > .column-instrument,
  .list-head > .column-price,
  .list-head > .column-change,
  .asset-row > .column-instrument,
  .asset-row > .column-price,
  .asset-row > .column-change { display:flex !important; }
  .list-head > .column-instrument,
  .asset-row > .column-instrument { grid-column:1; grid-row:1; }
  .list-head > .column-price,
  .asset-row > .column-price { grid-column:2; grid-row:1; }
  .list-head > .column-change,
  .asset-row > .column-change { grid-column:3; grid-row:1; }

  .column-handle { justify-content:flex-end; padding:0 !important; cursor:default; }
  .column-handle.column-instrument { justify-content:flex-start; }
  .column-handle span { display:none; }
  .asset-row .ticker { min-width:0; gap:7px; padding-left:0; }
  .asset-row .ticker-icon { flex:0 0 25px; width:25px; height:25px; font-size:9px; }
  .asset-row .ticker > span:last-child { min-width:0; overflow:hidden; }
  .asset-row .ticker strong {
    overflow:hidden;
    font-size:11px;
    line-height:1.2;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .asset-row .ticker-code {
    display:block;
    overflow:hidden;
    margin:3px 0 0;
    font-size:8px;
    line-height:1.15;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .asset-row .source-label,
  .asset-row .extended-price,
  .asset-row .simulated-holding-badge { display:none; }
  .asset-row > .price,
  .asset-row > .change {
    min-width:0;
    justify-self:stretch;
    justify-content:flex-end;
    align-items:center;
    text-align:right;
    white-space:nowrap;
  }
  .asset-row > .price { font-size:10px; font-weight:700; }
  .asset-row > .change { font-size:9px; }
  .watch-market-divider { min-height:29px; padding:0 8px; }
  .watch-market-divider strong { font-size:10px; }
  .watch-market-divider span { font-size:8px; }
  .watch-market-divider::before { width:6px; height:6px; }
  .disclaimer { margin-top:15px; font-size:8px; line-height:1.55; }
}
.xueqiu-clues { margin:28px 0; padding:24px; border:1px solid #d8e4db; border-radius:12px; background:linear-gradient(145deg,#fbfdfa 0%,#f6faf7 100%); }
.xueqiu-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:20px; padding-bottom:16px; border-bottom:1px solid #e2e9e3; }
.xueqiu-heading .eyebrow { margin:0 0 7px; color:#2e7855; font-size:10px; letter-spacing:.14em; }
.xueqiu-heading h3 { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0; color:#172a20; font-size:19px; line-height:1.4; }
.xueqiu-heading h3 span { display:inline-flex; margin:0; padding:4px 8px; border-radius:999px; color:#86620f; background:#fff1ca; font-size:10px; font-weight:650; vertical-align:middle; }
.xueqiu-heading time { padding-top:4px; color:#738279; font-family:'DM Mono',monospace; font-size:10px; white-space:nowrap; }
.xueqiu-grid { display:grid; grid-template-columns:1fr 1.18fr 1.05fr; gap:15px; }
.xueqiu-grid>article { position:relative; min-width:0; padding:18px; overflow:hidden; border:1px solid #dfe8e1; border-radius:10px; background:#fff; box-shadow:0 6px 20px rgba(38,75,54,.045); }
.xueqiu-grid>article::before { content:''; position:absolute; inset:0 0 auto; height:3px; background:#6aa583; }
.xueqiu-grid>article:nth-child(2)::before { background:#c2a052; }
.xueqiu-grid>article:nth-child(3)::before { background:#6486a2; }
.xueqiu-grid h4 { margin:0; color:#172b20; font-size:15px; line-height:1.5; }
.xueqiu-grid>article>p { margin:5px 0 15px; color:#78877e; font-size:10px; line-height:1.5; }
.xueqiu-article-list,.xueqiu-topic-list,.xueqiu-stock-list { display:grid; gap:9px; }
.xueqiu-article,.xueqiu-topic,.xueqiu-stock { color:inherit; text-decoration:none; }
.xueqiu-article { display:grid; gap:5px; padding:11px 2px; border-bottom:1px solid #e9efea; transition:color .16s ease,transform .16s ease; }
.xueqiu-article:first-child { padding-top:2px; }
.xueqiu-article:last-child { border-bottom:0; }
.xueqiu-article strong,.xueqiu-topic strong { font-size:12px; font-weight:650; line-height:1.65; }
.xueqiu-article small,.xueqiu-topic small { color:#72837a; font-family:'DM Mono',monospace; font-size:9px; line-height:1.45; }
.xueqiu-topic { display:grid; gap:9px; padding:12px; border:1px solid #e3ebe5; border-radius:8px; background:#f9fcf9; transition:border-color .16s ease,background .16s ease; }
.xueqiu-topic>div { display:grid; gap:5px; }
.xueqiu-topic p { display:flex; flex-wrap:wrap; gap:5px; margin:0; }
.xueqiu-topic p span { padding:4px 7px; border-radius:5px; color:#466c58; background:#e7f2eb; font-family:'DM Mono',monospace; font-size:9px; }
.xueqiu-stock { display:grid; grid-template-columns:24px minmax(0,1fr) auto; gap:8px 10px; align-items:center; padding:10px 1px; border-bottom:1px solid #e9efea; transition:color .16s ease,transform .16s ease; }
.xueqiu-stock:last-child { border-bottom:0; }
.xueqiu-stock>i { display:flex; width:23px; height:23px; align-items:center; justify-content:center; border-radius:50%; color:#466a5a; background:#e9f1ec; font-family:'DM Mono',monospace; font-size:9px; font-style:normal; font-weight:700; }
.xueqiu-stock>span { display:grid; min-width:0; }
.xueqiu-stock strong { overflow:hidden; font-size:12px; font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
.xueqiu-stock small { margin-top:2px; color:#7c8c83; font-family:'DM Mono',monospace; font-size:9px; }
.xueqiu-stock em { font-family:'DM Mono',monospace; font-size:10px; font-style:normal; font-weight:650; }
.xueqiu-stock>b { grid-column:2/4; color:#7b8a82; font-family:'DM Mono',monospace; font-size:9px; font-weight:500; }
.xueqiu-article:hover,.xueqiu-stock:hover { transform:translateX(2px); }
.xueqiu-topic:hover { border-color:#cbdccf; background:#f5faf6; }
.xueqiu-article:hover strong,.xueqiu-topic:hover strong,.xueqiu-stock:hover strong { color:#11764a; }
.xueqiu-method { margin:18px 0 0; padding:14px 2px 0; border-top:1px solid #dfe7e1; color:#66776d; font-size:11px; line-height:1.75; }
.xueqiu-errors { margin-top:12px; color:#8c6819; font-size:9px; }
.xueqiu-errors summary { cursor:pointer; font-weight:700; }
.xueqiu-errors ul { margin:6px 0 0; padding-left:18px; }
.xueqiu-empty { margin:0!important; padding:12px; border:1px dashed #d8dfd9; border-radius:6px; color:#7e8b83!important; line-height:1.6; }
:root[data-theme='dark'] .xueqiu-clues { background:linear-gradient(145deg,#17221c 0%,#152019 100%); border-color:#2d3b33; }
:root[data-theme='dark'] .xueqiu-grid>article { background:#19251e; border-color:#304138; box-shadow:none; }
:root[data-theme='dark'] .xueqiu-heading { border-color:#2e3d34; }
:root[data-theme='dark'] .xueqiu-heading h3 { color:#e4ece7; }
:root[data-theme='dark'] .xueqiu-grid h4 { color:#e0e9e3; }
:root[data-theme='dark'] .xueqiu-heading h3 span { color:#e6c66c; background:#3c321a; }
:root[data-theme='dark'] .xueqiu-article,:root[data-theme='dark'] .xueqiu-stock,:root[data-theme='dark'] .xueqiu-method { border-color:#2b3931; }
:root[data-theme='dark'] .xueqiu-topic { background:#19271f; border-color:#304138; }
:root[data-theme='dark'] .xueqiu-topic p span,:root[data-theme='dark'] .xueqiu-stock>i { color:#a8c7b5; background:#22372b; }
@media (max-width:980px) { .xueqiu-grid { grid-template-columns:1fr 1fr; } .xueqiu-grid>article:last-child { grid-column:1/-1; } }
@media (max-width:650px) { .xueqiu-clues { padding:16px; } .xueqiu-heading { display:grid; } .xueqiu-grid { grid-template-columns:1fr; } .xueqiu-grid>article:last-child { grid-column:auto; } }
.ai-depth-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:20px; }
.ai-depth-heading h4 { margin:0; }
.ai-depth-heading span { padding:4px 8px; border-radius:999px; color:#76570f; background:#fff1c9; font-size:9px; font-weight:700; }
.ai-deep-analysis li { border-left:3px solid #b28a2e; background:#fffdf7; }
:root[data-theme='dark'] .ai-depth-heading span { color:#e9c96f; background:#3c3219; }
:root[data-theme='dark'] .ai-deep-analysis li { background:#282719; border-left-color:#d1ae54; }
.candidate-coverage { display:grid; gap:3px; margin:8px 0 12px; padding:9px 11px; border:1px solid #dbe6dd; border-radius:6px; background:#f7faf7; }
.candidate-coverage strong { color:#245f45; font-size:10px; }
.candidate-coverage span { color:#75837b; font-family:'DM Mono',monospace; font-size:8px; }
.candidate-card .candidate-score { display:flex; flex-wrap:wrap; justify-content:flex-start; align-items:center; gap:5px; margin:10px 0 7px; }
.candidate-score b,.candidate-score span { padding:3px 6px; border-radius:4px; background:#eef4ef; color:#607067; font-family:'DM Mono',monospace; font-size:8px; }
.candidate-card .candidate-score b { color:#1f704b; background:#e5f4ea; font-size:8px; }
:root[data-theme='dark'] .candidate-coverage { background:#19271f; border-color:#304138; }
:root[data-theme='dark'] .candidate-score b,:root[data-theme='dark'] .candidate-score span { background:#23332a; color:#b6c5bc; }
:root[data-theme='dark'] .candidate-score b { color:#83d3aa; background:#1d3b2b; }
.radar-actions { display:flex; gap:8px; }
.radar-status { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:13px 15px; border:1px solid #dce7df; border-radius:8px; background:#f7faf8; }
.radar-status>div { display:flex; align-items:center; gap:10px; }
.radar-status b { padding:5px 9px; border-radius:999px; font-size:10px; }
.radar-live { color:#08764b; background:#e4f5eb; }
.radar-closed { color:#68776f; background:#e9eeeb; }
.radar-status span,.radar-status time { color:#74837a; font-family:'DM Mono',monospace; font-size:9px; }
.radar-section-title { display:flex; align-items:end; justify-content:space-between; gap:14px; margin:24px 0 10px; }
.radar-section-title h3 { margin:0; font-size:15px; }
.radar-section-title p { margin:0; color:#7c8a82; font-size:9px; }
.radar-leader-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.radar-leader { display:grid; grid-template-columns:minmax(0,1fr) 44px 100px 125px; gap:8px; align-items:center; padding:10px 12px; border:1px solid #e2e9e3; border-radius:7px; background:#fff; }
.radar-leader>span { display:grid; min-width:0; }
.radar-leader>span strong { overflow:hidden; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.radar-leader>span small { color:#89958e; font-family:'DM Mono',monospace; font-size:8px; }
.radar-leader>b { color:#176d49; font-family:'DM Mono',monospace; font-size:18px; text-align:center; }
.radar-leader em,.radar-leader i { color:#68786f; font-family:'DM Mono',monospace; font-size:8px; font-style:normal; text-align:right; }
.radar-alert-list { display:grid; gap:12px; }
.radar-alert-list>.radar-section-title { margin-bottom:-2px; }
.radar-alert { overflow:hidden; border:1px solid #dbe6de; border-left:4px solid #d3a43e; border-radius:9px; background:#fff; }
.radar-alert-urgent { border-left-color:#df5a50; }
.radar-alert-exit { border-left-color:#c94848; background:linear-gradient(90deg,#fff8f7 0,#fff 22%); }
.radar-alert-exit header>div:first-child span,.radar-alert-exit .radar-alert-score { color:#bd4039; }
.holding-risk-panel { border-color:#eadfda; background:#fffdfc; }
.holding-risk-row { border-left:3px solid transparent; }
.holding-risk-row.holding-risk-watch { border-left-color:#d49a35; background:#fffaf0; }
.holding-risk-row.holding-risk-high { border-left-color:#cb4e48; background:#fff5f4; }
.holding-risk-row.holding-risk-high>b { color:#bd4039; }
.holding-exit-note>p { margin:0; color:#6e4a46; font-size:10px; line-height:1.7; }
.radar-alert header { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:14px; align-items:center; padding:15px 17px 11px; }
.radar-alert header>div:first-child span { display:block; color:#9a701b; font-size:9px; font-weight:750; }
.radar-alert-urgent header>div:first-child span { color:#c44840; }
.radar-alert h3 { margin:3px 0 0; font-size:18px; }
.radar-alert-score { display:flex; align-items:baseline; color:#8c6618; }
.radar-alert-urgent .radar-alert-score { color:#bd4039; }
.radar-alert-score strong { font-family:'DM Mono',monospace; font-size:25px; }
.radar-alert-score small,.radar-alert time { color:#87948c; font-family:'DM Mono',monospace; font-size:9px; }
.radar-alert>p { margin:0; padding:0 17px 13px; color:#45594d; font-size:12px; line-height:1.7; }
.radar-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid #e8eee9; border-bottom:1px solid #e8eee9; background:#f8faf8; }
.radar-metrics span { display:grid; gap:4px; padding:11px 14px; border-right:1px solid #e5ebe6; }
.radar-metrics span:last-child { border-right:0; }
.radar-metrics small { color:#829087; font-size:9px; }
.radar-metrics b { font-family:'DM Mono',monospace; font-size:12px; }
.radar-candidates { padding:14px 17px; }
.radar-candidates h4 { margin:0 0 9px; font-size:11px; }
.radar-candidates>div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.radar-candidates a { display:grid; gap:3px; padding:9px 10px; border:1px solid #dfe8e1; border-radius:6px; color:inherit; background:#fbfdfb; text-decoration:none; }
.radar-candidates a:hover { border-color:#9fc5ac; }
.radar-candidates strong { font-size:11px; }
.radar-candidates small { color:#728279; font-family:'DM Mono',monospace; font-size:8px; }
.radar-no-candidate { color:#7b8981!important; font-size:10px!important; }
.radar-ai { margin:0 17px 14px; padding:12px 13px; border:1px solid #dce7df; border-radius:7px; background:#f5faf6; }
.radar-ai>div { display:flex; justify-content:space-between; gap:10px; }
.radar-ai b { color:#176c49; font-size:10px; }
.radar-ai span { color:#819087; font-family:'DM Mono',monospace; font-size:8px; }
.radar-ai p { margin:7px 0; color:#42564a; font-size:11px; line-height:1.7; }
.radar-ai ul { margin:7px 0; padding-left:17px; color:#5a6c62; font-size:10px; line-height:1.65; }
.radar-ai small { color:#7d6c46; font-size:9px; line-height:1.6; }
.radar-ai-pending { display:flex; align-items:center; justify-content:space-between; background:#fbf9ed; border-color:#e5dfb9; }
.radar-alert footer { display:flex; gap:9px; padding:10px 17px; border-top:1px solid #edf1ee; color:#68776f; background:#fbfcfb; font-size:9px; line-height:1.6; }
.radar-alert footer b { flex:none; color:#9b651f; }
.radar-empty { padding:35px 20px; border:1px dashed #d8e1da; border-radius:8px; color:#65756c; text-align:center; }
.radar-empty strong { font-size:13px; }
.radar-empty p { margin:7px 0 0; font-size:10px; }
.radar-method { margin-top:20px; color:#68786f; font-size:10px; line-height:1.7; }
.radar-toast { position:fixed; z-index:1000; right:24px; bottom:24px; display:grid; gap:4px; width:min(390px,calc(100vw - 32px)); padding:15px 17px; border:1px solid #d8b45e; border-left:4px solid #d39822; border-radius:9px; color:#26372e; background:#fffdf5; box-shadow:0 18px 50px rgba(32,48,38,.2); text-align:left; cursor:pointer; }
.radar-toast span { color:#9a6810; font-size:9px; font-weight:750; }
.radar-toast strong { font-size:14px; }
.radar-toast small { color:#68776f; font-size:10px; line-height:1.55; }
#radar-nav.radar-unread::after { content:''; width:7px; height:7px; margin-left:auto; border-radius:50%; background:#e7a72d; box-shadow:0 0 0 4px rgba(231,167,45,.15); }
:root[data-theme='dark'] .radar-status,:root[data-theme='dark'] .radar-leader,:root[data-theme='dark'] .radar-alert { background:#17221c; border-color:#304138; }
:root[data-theme='dark'] .radar-alert-exit,:root[data-theme='dark'] .holding-risk-panel,:root[data-theme='dark'] .holding-risk-row.holding-risk-high,:root[data-theme='dark'] .holding-risk-row.holding-risk-watch { background:#261b1a; border-color:#5b3835; }
:root[data-theme='dark'] .radar-metrics,:root[data-theme='dark'] .radar-alert footer,:root[data-theme='dark'] .radar-candidates a { background:#19271f; border-color:#2f4036; }
:root[data-theme='dark'] .radar-ai { background:#19291f; border-color:#304639; }
:root[data-theme='dark'] .radar-ai p,:root[data-theme='dark'] .radar-ai ul { color:#bdcbc2; }
:root[data-theme='dark'] .radar-alert>p,:root[data-theme='dark'] .radar-toast { color:#c3d0c8; }
:root[data-theme='dark'] .radar-toast { background:#282517; border-color:#806b30; }
@media (max-width:1000px) { .radar-leader-list { grid-template-columns:1fr; } }
@media (max-width:700px) { .radar-actions,.radar-status,.radar-status>div,.radar-section-title { align-items:stretch; flex-direction:column; } .radar-leader { grid-template-columns:minmax(0,1fr) 38px; } .radar-leader em,.radar-leader i { text-align:left; } .radar-metrics { grid-template-columns:1fr 1fr; } .radar-metrics span:nth-child(2) { border-right:0; } .radar-candidates>div { grid-template-columns:1fr; } .radar-alert header { grid-template-columns:minmax(0,1fr) auto; } .radar-alert time { grid-column:1/-1; } }

/* OKX live account orders: authenticated read-only view. */
.okx-orders-view{max-width:1180px;padding:4px 0 24px}
.okx-orders-heading .eyebrow{color:#315f99}
.okx-order-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}
.okx-order-summary>div{padding:14px 16px;border:1px solid #e0e7e1;border-radius:9px;background:#f8faf7}
.okx-order-summary small{display:block;margin-bottom:5px;color:#7b8880;font-size:10px}
.okx-order-summary strong{font-family:'DM Mono',monospace;font-size:20px}
.okx-buy-text{color:#169b66}.okx-sell-text{color:#df5555}
.okx-order-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;color:#748078;font-size:10px}
.okx-order-meta time{font-family:'DM Mono',monospace}
.okx-order-list{display:grid;gap:10px}
.okx-order-card{overflow:hidden;border:1px solid #dfe6e0;border-radius:10px;background:#fff;box-shadow:0 5px 18px rgba(24,45,35,.035)}
.okx-order-card.okx-buy{box-shadow:inset 3px 0 0 #2ba36e,0 5px 18px rgba(24,45,35,.035)}
.okx-order-card.okx-sell{box-shadow:inset 3px 0 0 #dc6262,0 5px 18px rgba(24,45,35,.035)}
.okx-order-card>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 17px;border-bottom:1px solid #edf0ed;background:#fbfcfa}
.okx-order-card>header>div{display:flex;align-items:center;gap:8px}
.okx-order-card>header strong{font-family:'DM Mono',monospace;font-size:15px}
.okx-order-card>header span,.okx-order-card>header em{padding:3px 7px;border-radius:999px;background:#edf2ee;color:#66756c;font-size:9px;font-style:normal}
.okx-order-card>header b{padding:4px 8px;border-radius:5px;font-size:10px}
.okx-order-card.okx-buy>header b{color:#08754a;background:#e5f5eb}
.okx-order-card.okx-sell>header b{color:#b34040;background:#fdeaea}
.okx-order-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;padding:15px 17px}
.okx-position-metrics{grid-template-columns:repeat(6,minmax(0,1fr))}
.okx-order-metrics>span{min-width:0;padding:0 14px;border-right:1px solid #edf0ed}
.okx-order-metrics>span:first-child{padding-left:0}.okx-order-metrics>span:last-child{padding-right:0;border-right:0}
.okx-order-metrics small{display:block;margin-bottom:5px;color:#829087;font-size:9px}
.okx-order-metrics strong{display:block;overflow:hidden;font-family:'DM Mono',monospace;font-size:13px;text-overflow:ellipsis;white-space:nowrap}
.okx-order-card>footer{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:10px 17px;background:#f7f9f6;color:#718078;font-size:9px}
.okx-order-card>footer time,.okx-order-card>footer small{font-family:'DM Mono',monospace;font-size:9px}
.okx-order-empty{padding:55px 20px;text-align:center;border:1px dashed #d8e1da;border-radius:10px;background:#fafcf9}
.okx-order-empty strong{font-size:15px}.okx-order-empty p{margin:8px 0 0;color:#7d8a82;font-size:11px}
:root[data-theme='dark'] .okx-order-summary>div,:root[data-theme='dark'] .okx-order-card>header,:root[data-theme='dark'] .okx-order-card>footer,:root[data-theme='dark'] .okx-order-empty{background:#1a2820;border-color:#304138}
:root[data-theme='dark'] .okx-order-card{background:#17221c;border-color:#304138}
:root[data-theme='dark'] .okx-order-metrics>span,:root[data-theme='dark'] .okx-order-card>header{border-color:#2d3b33}
:root[data-theme='dark'] .okx-order-card>header span,:root[data-theme='dark'] .okx-order-card>header em{background:#26352c;color:#b3c2b8}
@media(max-width:720px){
  .okx-order-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .okx-order-summary>div{padding:10px 11px}.okx-order-summary strong{font-size:16px}
  .okx-order-meta{align-items:flex-start;flex-direction:column;gap:4px;font-size:8px}
  .okx-order-card>header{padding:11px 12px}.okx-order-card>header strong{font-size:12px}
  .okx-order-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 0;padding:12px}
  .okx-order-metrics>span{padding:0 9px;border-right:0}.okx-order-metrics>span:nth-child(odd){padding-left:0;border-right:1px solid #edf0ed}.okx-order-metrics>span:nth-child(even){padding-right:0}
  :root[data-theme='dark'] .okx-order-metrics>span:nth-child(odd){border-color:#2d3b33}
  .okx-order-metrics strong{font-size:11px}
  .okx-order-card>footer{grid-template-columns:1fr;gap:5px;padding:9px 12px}
  .okx-order-card>footer small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .okx-orders-heading p:not(.eyebrow){font-size:9px;line-height:1.5}
}
.okx-protection{padding:13px 17px;border-top:1px solid #e7ece8;background:#f8fbf8}
.okx-protection h4{display:flex;align-items:center;justify-content:space-between;margin:0 0 9px;font-size:11px}
.okx-protection h4 em{color:#8a691c;font-size:9px;font-style:normal;font-weight:600}
.okx-protection-order{padding:10px 11px;border:1px solid #e0e7e1;border-radius:7px;background:#fff}
.okx-protection-order+.okx-protection-order{margin-top:7px}
.okx-protection-order>div{display:flex;flex-wrap:wrap;gap:8px}
.okx-protection-order>div>span{display:grid;grid-template-columns:auto auto;align-items:baseline;gap:3px 8px;min-width:190px;padding:8px 10px;border-radius:6px;background:#f4f7f4}
.okx-protection-order b{font-size:9px}.okx-protection-order strong{font-family:'DM Mono',monospace;font-size:13px}
.okx-protection-order small{grid-column:1/-1;color:#75837b;font-size:8px}
.okx-protection-order .okx-stop-loss{color:#b94343;background:#fff0ef}
.okx-protection-order .okx-take-profit{color:#08764b;background:#eaf7ef}
.okx-protection-order .okx-trigger-order{color:#7b5b18;background:#fff7df}
.okx-protection-order>footer{display:flex;flex-wrap:wrap;gap:7px 14px;margin-top:8px;color:#78867d;font-size:8px}
.okx-protection-order>footer small{margin-left:auto;font-family:'DM Mono',monospace}
.okx-protection-empty{padding:10px 17px;color:#87938c;font-size:9px}
.okx-unlinked{margin-top:18px;padding:16px;border:1px solid #eadbb5;border-radius:9px;background:#fffaf0}
.okx-unlinked h3{margin:0;font-size:13px}.okx-unlinked>p{margin:5px 0 12px;color:#7e745e;font-size:9px}
.okx-unlinked>article>strong{display:block;margin:10px 0 5px;font-family:'DM Mono',monospace;font-size:11px}
:root[data-theme='dark'] .okx-protection,:root[data-theme='dark'] .okx-protection-order{background:#19271f;border-color:#304138}
:root[data-theme='dark'] .okx-protection-order>div>span{background:#223128}
:root[data-theme='dark'] .okx-protection-order .okx-stop-loss{color:#ef9696;background:#3c2524}
:root[data-theme='dark'] .okx-protection-order .okx-take-profit{color:#7dd7a8;background:#173727}
:root[data-theme='dark'] .okx-protection-order .okx-trigger-order{color:#e2c271;background:#3a321d}
:root[data-theme='dark'] .okx-unlinked{background:#302a1d;border-color:#625537}
@media(max-width:720px){.okx-protection{padding:11px 12px}.okx-protection-order>div>span{min-width:0;width:100%}.okx-protection-order>footer{display:grid}.okx-protection-order>footer small{margin-left:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
