body  { font-family:Verdana, Geneva, sans-serif; font-size:10pt; color:#828282; }
td    { font-family:Verdana, Geneva, sans-serif; font-size:10pt; color:#828282; }
:root { --market-accent:#39824a; --market-tint:#eef8ef; --market-border:#c9dfcc; --market-bg:#f3fbf3; --site-header-bg:#e2efe4; }
body.market-regime-green { --site-header-bg:#e2efe4; background-color:#fbfefb; }
body.market-regime-green #hnmain { box-shadow:0 0 0 2px rgba(57,130,74,.08); }
body.market-regime-red { --market-accent:#b14b3f; --market-tint:#fff0ed; --market-border:#e3c2bc; --market-bg:#fff8f7; --site-header-bg:#f4ddda; background-color:#fffafa; }
body.market-regime-red #hnmain { box-shadow:0 0 0 2px rgba(177,75,63,.08); }
body.market-regime-flat { --market-accent:#8b7b6c; --market-tint:#f7f2ed; --market-border:#ded4cb; --market-bg:#fcfaf8; --site-header-bg:#eee9e3; }
body.market-focus-green, body.market-focus-strong-green { --market-accent:#39824a; --market-tint:#eef8ef; --market-border:#c9dfcc; --market-bg:#f3fbf3; }
body.market-focus-red, body.market-focus-strong-red { --market-accent:#b14b3f; --market-tint:#fff0ed; --market-border:#e3c2bc; --market-bg:#fff8f7; }
body.market-focus-flat { --market-accent:#8b7b6c; --market-tint:#f7f2ed; --market-border:#ded4cb; --market-bg:#fcfaf8; }
body.market-focus-green { --site-header-bg:#d7ebda; }
body.market-focus-strong-green { --site-header-bg:#b7dabc; }
body.market-focus-red { --site-header-bg:#f1d0cb; }
body.market-focus-strong-red { --site-header-bg:#dda49b; }
body.market-focus-flat { --site-header-bg:#eee9e3; }
body.market-regime-green #hnmain > tbody > tr:first-child > td,
body.market-regime-red #hnmain > tbody > tr:first-child > td,
body.market-regime-flat #hnmain > tbody > tr:first-child > td { background-color:var(--site-header-bg) !important; }
body.market-focus-green #hnmain > tbody > tr:first-child > td,
body.market-focus-strong-green #hnmain > tbody > tr:first-child > td,
body.market-focus-red #hnmain > tbody > tr:first-child > td,
body.market-focus-strong-red #hnmain > tbody > tr:first-child > td,
body.market-focus-flat #hnmain > tbody > tr:first-child > td { background-color:var(--site-header-bg) !important; }

.admin td   { font-family:Verdana, Geneva, sans-serif; font-size:8.5pt; color:#000000; }
.subtext td { font-family:Verdana, Geneva, sans-serif; font-size:  7pt; color:#828282; }

input    { font-family:monospace; font-size:10pt; }
input[type='submit'] { font-family:Verdana, Geneva, sans-serif; }
textarea { font-family:monospace; font-size:10pt; resize:both; }

a:link    { color:#000000; text-decoration:none; }
a:visited { color:#828282; text-decoration:none; }

.default { font-family:Verdana, Geneva, sans-serif; font-size: 10pt; color:#828282; }
.admin   { font-family:Verdana, Geneva, sans-serif; font-size:8.5pt; color:#000000; }
.title   { font-family:Verdana, Geneva, sans-serif; font-size: 10pt; color:#828282; overflow:hidden; }
.subtext { font-family:Verdana, Geneva, sans-serif; font-size:  7pt; color:#828282; }
.yclinks { font-family:Verdana, Geneva, sans-serif; font-size:  8pt; color:#828282; }
.pagetop { font-family:Verdana, Geneva, sans-serif; font-size: 10pt; color:#222222; line-height:12px; }
.comhead { font-family:Verdana, Geneva, sans-serif; font-size:  8pt; color:#828282; }
.comment { font-family:Verdana, Geneva, sans-serif; font-size:  9pt; }
.hnname  { margin-left:1px; margin-right: 5px; }

#hnmain { min-width: 796px; }

/* Finance overview, kept intentionally quiet so the HN header still leads. */
.market-strip { box-sizing:border-box; min-width:0; padding: 4px 4px 0; color: #5f5f5f; background: var(--market-bg); border-bottom: 1px solid var(--market-border); width:100%; }
.market-cell { box-sizing:border-box; max-width:100%; min-width:0; overflow:hidden; width:0; }
.market-strip-head { display:flex; align-items:baseline; gap:7px; padding: 1px 3px 4px; }
.market-strip-kicker { color:#111; font-size:8px; font-weight:bold; letter-spacing:.08em; }
.market-strip-note { font-size:8px; color:#9a8b7c; }
.market-refresh { margin-left:auto; font-size:8px; color:#9a8b7c; }
.market-toggle { background:transparent; border:0; color:#8b7b6c; cursor:pointer; font:8px Verdana, sans-serif; padding:0 2px; text-decoration:underline; }
.market-toggle:hover, .market-toggle:focus { color:#111; }
.market-body { display:block; min-width:0; }
.market-strip.is-collapsed .market-body, .market-strip.is-collapsed .market-strip-foot { display:none; }
.market-indexes { display:grid; gap:4px; grid-template-columns:repeat(auto-fit,minmax(145px,1fr)); min-width:0; max-width:100%; overflow:visible; padding:0 0 4px; }
.market-index { appearance:none; border:1px solid #ead8c0; border-radius:2px; background:#fffaf4; color:#333; cursor:pointer; display:flex; flex:0 0 auto; flex-direction:column; font:inherit; min-width:0; padding:5px 7px 6px; text-align:left; }
.market-index:hover, .market-index.is-open { background:#fff; border-color:#d99a5e; box-shadow:0 1px 0 rgba(0,0,0,.05); }
.market-index-name { color:#333; font-size:9px; font-weight:bold; }
.market-index-reading { align-items:baseline; display:flex; gap:7px; margin-top:2px; }
.market-index-last { color:#555; font-family:monospace; font-size:10px; }
.market-index-change, .market-change { color:var(--market-accent); font-family:monospace; font-size:9px; }
.market-index-extended, .market-detail-extended, .market-constituent-pre { color:#8b7b6c; font-family:monospace; font-size:7px; }
.market-index-extended { margin-left:auto; }
.market-detail-extended { margin-left:5px; }
.market-constituent-pre { display:block; margin-top:1px; text-align:right; }
.market-index-change.is-negative, .market-change.is-negative { color:#b14b3f; }
.market-detail { background:#fffdf9; border:1px solid #ead8c0; box-sizing:border-box; margin:0 0 4px; max-width:100%; min-width:0; padding:7px; }
.market-detail-head { align-items:baseline; display:flex; justify-content:space-between; }
.market-detail-title { color:#111; font-size:11px; font-weight:bold; }
.market-symbol { color:#9a8b7c; font:9px monospace; font-weight:normal; margin-left:6px; }
.market-detail-value { color:#555; font:11px monospace; }
.market-detail-grid { display:grid; gap:8px; grid-template-columns:minmax(0,1fr) minmax(218px,260px); margin-top:6px; max-width:100%; min-width:0; }
.market-chart-card, .market-constituents-card { border-top:1px solid #ead8c0; min-width:0; padding-top:5px; }
.market-detail-grid:not(.company-selected) .market-chart-card { grid-column:1 / -1; }
.market-detail-grid .market-constituents-card { grid-column:1 / -1; }
.market-card-label { color:#9a8b7c; font-size:8px; letter-spacing:.04em; text-transform:uppercase; }
.market-range-bar { align-items:center; display:flex; gap:8px; justify-content:space-between; }
.market-ranges { display:flex; gap:2px; overflow-x:auto; }
.market-range { background:transparent; border:1px solid transparent; color:#8b7b6c; cursor:pointer; font:8px monospace; padding:2px 4px; }
.market-range:hover, .market-range:focus, .market-range.is-selected { background:var(--market-tint); border-color:var(--market-border); color:#222; }
.market-chart { height:150px; margin-top:2px; min-width:0; width:100%; }
.market-chart svg { display:block; height:100%; overflow:visible; width:100%; }
.market-chart-grid { stroke:#ead8c0; stroke-width:1; }
.market-chart-axis-label { fill:#a69482; font:8px monospace; }
.market-chart-line.is-extended { stroke-dasharray:4 3; }
.market-chart-hover-line { stroke:#9a8b7c; stroke-dasharray:2 2; stroke-width:1; }
.market-chart-hover-dot { fill:#fff; stroke:var(--market-accent,#39824a); stroke-width:2; }
.market-chart-tooltip { pointer-events:none; }
.market-chart-tooltip-bg { fill:#fffaf4; fill-opacity:.96; stroke:#d6c8b4; stroke-width:1; }
.market-chart-tooltip-text { fill:#5f5f5f; font:8px monospace; }
.market-chart-loading { align-items:center; color:#a69482; display:flex; font:9px monospace; height:100%; justify-content:center; }
.market-chart-caption { color:#aaa; font-size:8px; margin-top:1px; }
.market-constituents-head, .market-constituent-foot { align-items:baseline; display:flex; justify-content:space-between; }
.market-count { color:#555; font:8px monospace; }
.market-constituent-tools { display:flex; flex-wrap:wrap; gap:4px; margin-top:4px; }
.market-constituent-tools input { border:1px solid #ead8c0; color:#555; font:8px monospace; min-width:0; padding:3px 4px; width:100%; }
.market-filter { background:#fffaf4; border:1px solid #ead8c0; color:#8b7b6c; cursor:pointer; font:8px Verdana, sans-serif; padding:3px 5px; white-space:nowrap; }
.market-filter:hover, .market-filter.is-selected { background:var(--market-tint); border-color:var(--market-border); color:#222; }
.market-constituent-legend, .market-constituent { align-items:baseline; display:grid; gap:4px; grid-template-columns:minmax(0,1fr) 54px 48px 48px 62px 38px 42px; }
.market-constituent-legend { background:#fffaf4; color:#a69482; font-size:7px; padding:4px 0; position:sticky; top:0; z-index:1; text-transform:uppercase; }
.market-column-sort { background:transparent; border:0; color:#a69482; cursor:pointer; font:inherit; overflow:hidden; padding:0; text-align:right; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.market-column-sort:first-child { text-align:left; }
.market-column-sort:hover, .market-column-sort.is-active { color:var(--market-accent,#39824a); }
.market-column-sort.is-active { font-weight:bold; }
.market-legend-price, .market-legend-move, .market-legend-cap, .market-legend-pe, .market-legend-yield { text-align:right; }
.market-constituent-scroll { margin-top:6px; max-height:200px; overflow:auto; }
.market-constituents { display:grid; gap:2px; grid-template-columns:1fr; margin-top:4px; }
.market-constituent { background:var(--market-row-bg,transparent); color:var(--market-row-ink,#555); font-size:8px; }
.market-constituent > span { color:inherit; }
.market-constituent.is-selected { box-shadow:inset 2px 0 0 var(--market-accent); }
.market-constituent-ident { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.market-constituent-ident::first-line { color:inherit; }
.market-constituent-price, .market-constituent-move, .market-constituent-cap, .market-constituent-pe, .market-constituent-yield { font-family:monospace; text-align:right; }
.market-constituent > .market-constituent-move { color:var(--market-row-accent,var(--market-accent)); }
.market-constituent > .market-constituent-move.is-negative { color:var(--market-row-negative,#b14b3f); }
.market-constituent > .market-constituent-day { color:var(--market-day-accent,#39824a); }
.market-constituent > .market-constituent-day.is-negative { color:var(--market-day-negative,#b14b3f); }
.market-constituent-foot { color:#a69482; font-size:8px; gap:6px; margin-top:4px; }
.market-company-detail { align-self:start; background:var(--market-tint); border:1px solid var(--market-border); box-sizing:border-box; grid-column:2; grid-row:1; margin-top:5px; min-width:0; padding:6px; }
.market-company-detail-head { align-items:baseline; display:flex; justify-content:space-between; }
.market-company-detail-close { background:transparent; border:0; color:#8b7b6c; cursor:pointer; font:8px Verdana, sans-serif; text-decoration:underline; }
.market-company-detail-meta, .market-company-detail-note { color:#9a8b7c; font-size:8px; margin-top:3px; }
.market-company-detail-description { color:#555; font-size:8px; line-height:1.35; margin-top:6px; }
.market-company-detail-links { display:flex; flex-wrap:wrap; gap:4px; margin-top:7px; }
.market-company-detail-links a { background:#fffaf4; border:1px solid var(--market-border); color:#7d654e; font-size:8px; padding:3px 5px; text-decoration:none; }
.market-company-detail-links a:hover, .market-company-detail-links a:focus { background:#fff; color:#222; text-decoration:underline; }
.market-company-detail-metrics { display:grid; gap:5px 8px; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:7px; }
.market-company-detail-metric { display:flex; flex-direction:column; gap:1px; }
.market-company-detail-label { color:#9a8b7c; font-size:7px; text-transform:uppercase; }
.market-company-detail-value { color:#333; font:9px monospace; }
.market-company-detail-value.is-negative { color:#b14b3f; }
.market-strip-foot { align-items:center; display:flex; justify-content:space-between; padding:2px 3px 4px; }
.market-strip-foot, .market-strip-hint { color:#a69482; font-size:8px; }
.market-strip-hint { color:#8b7b6c; }
.trader-logo { border:1px solid #c6b092; display:block; height:18px; width:18px; }

@media only screen and (max-width: 750px) {
  #hnmain > tbody > tr > td > table.market-shell { box-sizing:border-box; max-width:100%; table-layout:fixed; width:100%; }
  .hn-logo-col { width:24px !important; }
  .hn-brand-col { width:auto; }
  .hn-account-col { width:132px !important; }
  .market-cell { width:auto !important; }
  .hn-header-row { width:100%; }
  .hn-header-row > td { min-width:0; }
  .hn-header-row > td:first-child { width:24px !important; }
  .hn-brand-cell { width:auto !important; }
  .hn-account-cell { width:132px !important; }
  .hn-brand-cell { min-width:0; }
  .hn-account-cell { white-space:nowrap; }
  .market-strip { overflow:hidden; }
  .market-indexes { display:flex; overflow-x:auto; }
  .market-index { flex-basis:138px; }
  .market-detail-grid { grid-template-columns:1fr; }
  .market-detail-grid.company-selected .market-chart-card,
  .market-detail-grid .market-company-detail,
  .market-detail-grid .market-constituents-card { grid-column:1; grid-row:auto; }
  .market-company-detail { margin-top:0; }
  .market-chart { height:150px; }
  .market-range { padding:4px 6px; }
  .market-constituent-scroll { max-height:252px; }
  .market-detail-grid { overflow:visible; }
  .market-constituents-card { min-width:0; }
  .market-constituent-legend, .market-constituent { min-width:520px; }
  .market-company-detail-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

.title a { word-break: break-word; }

.comment a:link, .comment a:visited { text-decoration: underline; }
.noshow { display: none; }
.nosee { visibility: hidden; pointer-events: none; cursor: default }

.c00, .c00 a:link { color:#000000; }
.c5a, .c5a a:link, .c5a a:visited { color:#5a5a5a; }
.c73, .c73 a:link, .c73 a:visited { color:#737373; }
.c82, .c82 a:link, .c82 a:visited { color:#828282; }
.c88, .c88 a:link, .c88 a:visited { color:#888888; }
.c9c, .c9c a:link, .c9c a:visited { color:#9c9c9c; }
.cae, .cae a:link, .cae a:visited { color:#aeaeae; }
.cbe, .cbe a:link, .cbe a:visited { color:#bebebe; }
.cce, .cce a:link, .cce a:visited { color:#cecece; }
.cdd, .cdd a:link, .cdd a:visited { color:#dddddd; }

.pagetop a:visited { color:#000000;}
.topsel a:link, .topsel a:visited { color:#ffffff; }

.subtext a:link, .subtext a:visited { color:#828282; }
.subtext a:hover { text-decoration:underline; }

.comhead a:link, .subtext a:visited { color:#828282; }
.comhead a:hover { text-decoration:underline; }

.hnmore a:link, a:visited { color:#828282; }
.hnmore { text-decoration:underline; }

.default p { margin-top: 8px; margin-bottom: 0px; }

.pagebreak {page-break-before:always}

pre { overflow: auto; padding: 2px; white-space: pre-wrap; overflow-wrap:anywhere; }
pre:hover { overflow:auto }

.votearrow {
  width:      10px;
  height:     10px;
  border:     0px;
  margin:     3px 2px 6px;
  background: url("triangle.svg"), linear-gradient(transparent, transparent) no-repeat;
  background-size: 10px;
}

.votelinks.nosee div.votearrow.rotate180 {
  display: none;
}

table.padtab td { padding:0px 10px }

@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2) {
  .votearrow {
    background-size: 10px;
    background-image: url("triangle.svg"), linear-gradient(transparent, transparent);
  }
}

.rotate180 {
  -webkit-transform: rotate(180deg);  /* Chrome and other webkit browsers */
  -moz-transform:    rotate(180deg);  /* FF */
  -o-transform:      rotate(180deg);  /* Opera */
  -ms-transform:     rotate(180deg);  /* IE9 */
  transform:         rotate(180deg);  /* W3C complaint browsers */

  /* IE8 and below */
  -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=-1, M12=0, M21=0, M22=-1, DX=0, DY=0, SizingMethod='auto expand')";
}

/* mobile device */
@media only screen
and (min-width : 300px)
and (max-width : 750px) {
  #hnmain { width: 100%; min-width: 0; }
  body { padding: 0; margin: 0; width: 100%; }
  td { height: inherit !important; }
  .title, .comment { font-size: inherit;  }
  span.pagetop { display: block; margin: 3px 5px; font-size: 12px; line-height: normal }
  span.pagetop b { display: block; font-size: 15px; }
  table.comment-tree .comment a { display: inline-block; max-width: 200px; overflow: hidden; white-space: nowrap;
    text-overflow: ellipsis; vertical-align:top; }
  img[src='s.gif'][width='40'] { width: 12px; }
  img[src='s.gif'][width='80'] { width: 24px; }
  img[src='s.gif'][width='120'] { width: 36px; }
  img[src='s.gif'][width='160'] { width: 48px; }
  img[src='s.gif'][width='200'] { width: 60px; }
  img[src='s.gif'][width='240'] { width: 72px; }
  img[src='s.gif'][width='280'] { width: 84px; }
  img[src='s.gif'][width='320'] { width: 96px; }
  img[src='s.gif'][width='360'] { width: 108px; }
  img[src='s.gif'][width='400'] { width: 120px; }
  img[src='s.gif'][width='440'] { width: 132px; }
  img[src='s.gif'][width='480'] { width: 144px; }
  img[src='s.gif'][width='520'] { width: 156px; }
  img[src='s.gif'][width='560'] { width: 168px; }
  img[src='s.gif'][width='600'] { width: 180px; }
  img[src='s.gif'][width='640'] { width: 192px; }
  img[src='s.gif'][width='680'] { width: 204px; }
  img[src='s.gif'][width='720'] { width: 216px; }
  img[src='s.gif'][width='760'] { width: 228px; }
  img[src='s.gif'][width='800'] { width: 240px; }
  img[src='s.gif'][width='840'] { width: 252px; }
  .title { font-size: 11pt; line-height: 14pt;  }
  .subtext { font-size: 9pt; }
  .votearrow { transform: scale(1.3,1.3); margin-right: 6px; }
  .votearrow.rotate180 {
    -webkit-transform: rotate(180deg) scale(1.3,1.3);  /* Chrome and other webkit browsers */
    -moz-transform:    rotate(180deg) scale(1.3,1.3);  /* FF */
    -o-transform:      rotate(180deg) scale(1.3,1.3);  /* Opera */
    -ms-transform:     rotate(180deg) scale(1.3,1.3);  /* IE9 */
    transform:         rotate(180deg) scale(1.3,1.3);  /* W3C complaint browsers */
  }
  .votelinks { min-width: 18px; }
  .votelinks a { display: block; margin-bottom: 9px; }
  input[type='text'], input[type='number'], textarea { font-size: 16px; width: 90%; }
}

.comment { max-width: 1215px; overflow-wrap:anywhere; }

/* Curated backlog: preserves the compact HN listing while making the
   zero-vote latest-items rail visually explicit. */
.latest-market-heading {
  border-top:1px solid #d7d7d1;
  padding:10px 0 4px 36px;
  color:#333;
  font-family:Verdana, Geneva, sans-serif;
  font-size:9pt;
}
.latest-market-note {
  margin-left:7px;
  color:#828282;
  font-size:7pt;
  font-weight:normal;
}
.backlog-table { margin-top:10px; max-width:900px; }
.backlog-table td { padding:3px 8px 3px 0; vertical-align:top; }
.backlog-table td:last-child { color:#828282; font-size:8pt; }



@media only screen and (min-width : 300px) and (max-width : 389px) {
  .comment { max-width: 270px; overflow: hidden }
}
@media only screen and (min-width : 390px) and (max-width : 509px) {
  .comment { max-width: 350px; overflow: hidden }
}
@media only screen and (min-width : 510px) and (max-width : 599px) {
  .comment { max-width: 460px; overflow: hidden }
}
@media only screen and (min-width : 600px) and (max-width : 689px) {
  .comment { max-width: 540px; overflow: hidden }
}
@media only screen and (min-width : 690px) and (max-width : 809px) {
  .comment { max-width: 620px; overflow: hidden }
}
@media only screen and (min-width : 810px) and (max-width : 899px) {
  .comment { max-width: 730px; overflow: hidden }
}
@media only screen and (min-width : 900px) and (max-width : 1079px) {
  .comment { max-width: 810px; overflow: hidden }
}
@media only screen and (min-width : 1080px) and (max-width : 1169px) {
  .comment { max-width: 970px; overflow: hidden }
}
@media only screen and (min-width : 1170px) and (max-width : 1259px) {
  .comment { max-width: 1050px; overflow: hidden }
}
@media only screen and (min-width : 1260px) and (max-width : 1349px) {
  .comment { max-width: 1130px; overflow: hidden }
}

/* Native cache freshness labels. */
.market-index-badge, .market-row-badge { color:#8b7b6c; font:7px monospace; white-space:nowrap; }
.market-index-badge { margin-left:auto; }
.market-constituent-legend, .market-constituent { grid-template-columns:minmax(0,1fr) 92px 48px 48px 92px 38px 42px 84px; }
.market-row-badge { overflow:hidden; text-overflow:ellipsis; text-align:right; }

.market-membership-note { color:#9a8b7c; font-size:8px; }
.market-index-reading { flex-wrap:wrap; }
.market-constituent-legend, .market-constituents { min-width:650px; }
.market-constituents-card { min-width:0; }

/* Trader News chat and moderation pages. */
.trader-chat, .trader-chat-admin, .trader-terms {
  max-width: 860px;
  margin: 0 auto;
  padding: 12px 18px 28px;
  color: #333;
  font-family: Verdana, Geneva, sans-serif;
  font-size: 10pt;
}
.trader-chat h1, .trader-chat-admin h1, .trader-terms h1 {
  margin: 0 0 7px;
  font-size: 15pt;
}
.trader-chat h2, .trader-terms h2 {
  margin: 18px 0 5px;
  color: #666;
  font-size: 11pt;
}
.trader-chat-heading, .trader-terms-note {
  color: #828282;
}
.trader-chat-refresh {
  color: #9a8b7c;
  font-size: 9pt;
  white-space: nowrap;
}
.trader-chat-history-controls {
  margin: 12px 0 -8px;
}
.trader-chat-history-controls button {
  padding: 4px 8px;
  border: 1px solid #d7c7ad;
  background: #f6f6ef;
  color: #828282;
  font: 8pt Verdana, Geneva, sans-serif;
  cursor: pointer;
}
.trader-chat-history-controls button:hover,
.trader-chat-history-controls button:focus {
  border-color: #9a8b7c;
  color: #333;
}
.trader-chat-history-controls button:disabled {
  cursor: default;
  opacity: .65;
}
.trader-chat-note, .trader-terms p {
  line-height: 1.45;
}
.trader-chat-login {
  margin: 12px 0;
  color: #828282;
}
.trader-chat-login a {
  color: #356da5;
}
.trader-chat-messages {
  margin: 15px 0 12px;
  border-top: 1px solid #e0dfd7;
}
.trader-chat-message {
  padding: 9px 4px 10px;
  border-bottom: 1px solid #e8e7df;
}
.trader-chat-meta {
  color: #828282;
  font-size: 8pt;
}
.trader-chat-meta a {
  color: #356da5;
}
.trader-chat-body {
  max-width: 100%;
  margin-top: 3px;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  line-height: 1.4;
}
.trader-chat-flagged, .trader-chat-blocked {
  color: #a33;
}
.trader-chat-flag {
  margin-top: 5px;
  padding: 1px 5px;
  border: 1px solid #d7c7ad;
  background: #f6f6ef;
  color: #828282;
  font-size: 8pt;
  cursor: pointer;
}
.trader-chat-compose {
  padding: 10px;
  border: 1px solid #d6c8b4;
  background: #f6f6ef;
}
.trader-chat-compose textarea {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  padding: 6px;
  border: 1px solid #c7c7bf;
  font: inherit;
}
.trader-chat-compose-foot {
  margin-top: 6px;
  color: #828282;
  font-size: 8pt;
}
.trader-chat-compose-foot input[type='submit'] {
  margin-left: 8px;
}
.trader-chat-admin-user {
  margin: 8px 0;
  padding: 8px;
  border: 1px solid #d6c8b4;
  background: #fff8ef;
}
.trader-chat-admin-user-heading {
  margin-bottom: 4px;
  font-weight: bold;
}
.trader-chat-admin h2 {
  margin-top: 24px;
}

@media only screen and (max-width : 750px) {
  .trader-chat, .trader-chat-admin, .trader-terms {
    box-sizing: border-box;
    width: 100%;
    padding: 10px 8px 22px;
  }
  .trader-chat-compose-foot {
    line-height: 1.7;
  }
  .trader-chat-compose-foot input[type='submit'] {
    margin-left: 0;
  }
}

.referral-banner { box-sizing:border-box; max-width:720px; margin:15px auto 20px; padding:14px 16px; background:var(--market-tint,#eef8ef); border:1px solid var(--market-border,#c9dfcc); border-radius:0; color:#3f5142; text-align:left; font:12px Verdana,sans-serif; }
.referral-banner p { margin:8px 0; line-height:1.5; }
.referral-link-card { box-sizing:border-box; margin:12px 0; padding:10px; background:rgba(255,255,255,.58); border:1px solid var(--market-border,#c9dfcc); }
.referral-link-heading { align-items:baseline; display:flex; flex-wrap:wrap; gap:7px; margin-bottom:6px; color:#334238; }
.referral-link-hint { color:#7d8d80; font-size:10px; }
.referral-link-row { align-items:center; display:flex; gap:8px; min-width:0; }
.referral-url { color:var(--market-accent,#39824a); display:block; flex:1 1 auto; min-width:0; overflow-wrap:anywhere; }
.referral-actions { display:flex; flex:0 0 auto; gap:4px; }
.referral-action { background:#fffaf4; border:1px solid var(--market-border,#c9dfcc); color:#5f6e63; cursor:pointer; font:10px Verdana,sans-serif; padding:4px 8px; text-transform:lowercase; }
.referral-action:hover, .referral-action:focus { background:#fff; border-color:var(--market-accent,#39824a); color:#222; }
.referral-action-status { color:var(--market-accent,#39824a); display:block; font-size:10px; min-height:12px; padding-top:5px; }
.referral-rules { color:#647267; font-size:10px; line-height:1.5; }
.referral-banner .referral-progress { margin:12px 0 0; color:#53665a; }
.analytics-page { box-sizing:border-box; max-width:900px; margin:0 auto; padding:18px 16px 30px; text-align:left; }
.analytics-page h1 { color:#222; font-size:18px; margin:0 0 4px; }
.analytics-page-intro, .analytics-section-note { color:#82735f; font-size:10px; line-height:1.45; margin:0 0 14px; }
.analytics-cohorts h2 { color:#6f6257; font-size:13px; margin:22px 0 3px; }
.community-analytics { max-width:none; margin:15px 0 20px; text-align:left; padding:0; }
.community-analytics h3 { font-size:12px; margin:0 0 5px; }
.community-analytics img { width:100%; height:auto; display:block; }
.community-analytics p { color:#82735f; font-size:10px; }

/* SmallDocs-inspired retention table, adapted to Trader News's compact HN
   palette. The wrapper is bounded while the table is intrinsically wide, so
   additional weeks scroll horizontally instead of squeezing the cells. */
.cohort-table-scroll { position:relative; max-width:100%; overflow-x:auto; overflow-y:hidden; -webkit-overflow-scrolling:touch; scrollbar-width:thin; border:1px solid var(--market-border,#ead8c0); background:var(--market-tint,#f7f2ed); }
.cohort-table-scroll::after { content:""; position:absolute; top:0; right:0; bottom:0; width:24px; pointer-events:none; background:linear-gradient(to right,rgba(247,242,237,0),var(--market-tint,#f7f2ed)); opacity:0; transition:opacity .15s; }
.cohort-table-scroll.has-overflow::after { opacity:1; }
.cohort-table-scroll.scrolled-end::after { opacity:0; }
.cohort-note, .cohort-privacy, .cohort-empty { color:#82735f; font-size:9px; line-height:1.35; margin:7px 0 5px; }
.cohort-table { border-collapse:collapse; color:#5f5f5f; font-family:Verdana,Geneva,sans-serif; font-size:8px; min-width:100%; width:max-content; }
.cohort-table th, .cohort-table td { border-bottom:1px solid #eee6dc; padding:3px 5px; text-align:right; white-space:nowrap; }
.cohort-table thead th { background:var(--market-tint,#f7f2ed); color:#9a8b7c; font-size:7px; font-weight:normal; text-transform:uppercase; }
.cohort-table .cohort-label { color:#6f6257; text-align:left; }
.cohort-table .cohort-size { color:#7d654e; font-weight:bold; }
.cohort-table .cohort-hit { background:color-mix(in srgb, var(--market-tint,#eef8ef) 70%, transparent); color:var(--market-accent,#39824a); font-weight:bold; }
.cohort-table .cohort-zero { color:#c8bfb6; }
.cohort-table .cohort-unattributed th, .cohort-table .cohort-unattributed td { border-top:1px solid var(--market-border,#ead8c0); color:#9a8b7c; }
.cohort-privacy-panel { margin:20px 0 0; padding:11px 12px; background:var(--market-tint,#f7f2ed); border:1px solid var(--market-border,#ead8c0); }
.cohort-privacy-panel h3 { color:#6f6257; font-size:11px; margin:0 0 5px; }
.cohort-privacy-panel .cohort-privacy { margin:5px 0; }
.cohort-privacy-status { color:var(--market-accent,#6f8c73); font-size:9px; line-height:1.35; margin:8px 0 4px; }
.cohort-optout { background:transparent; border:0; color:#6f6257; cursor:pointer; font:inherit; font-size:9px; padding:0; text-decoration:underline; }
.cohort-optout:hover, .cohort-optout:focus { color:#222; }

@media only screen and (max-width:750px) {
  .analytics-page { padding-left:10px; padding-right:10px; }
  .cohort-table { min-width:640px; }
}
