/* Text-only price motion and the existing status strip. */
.live-price.price-up{color:var(--positive)!important}.live-price.price-down{color:var(--negative)!important}.live-price.price-flash{animation:price-text-flash .65s ease-out}
@keyframes price-text-flash{0%,35%{opacity:.25}18%,55%,100%{opacity:1}}
.strip-inner{gap:20px}.market-states{display:flex;align-items:center;gap:18px;flex:1;flex-wrap:wrap;min-width:0}.market-states>span{white-space:nowrap}
.strip-announcement{flex:1;min-width:0;overflow:hidden;padding:4px 12px;border-inline-start:1px solid var(--border)}
.announcement-content{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.announcement-content a{text-decoration:underline}
.ann-rtl,.ann-ltr{white-space:nowrap;display:inline-block;min-width:100%;animation-duration:var(--ann-duration,12s);animation-timing-function:linear;animation-iteration-count:infinite}.ann-rtl{animation-name:announcement-rtl}.ann-ltr{animation-name:announcement-ltr}
.ann-blink{animation:announcement-blink var(--ann-duration,12s) steps(2,jump-none) infinite}.ann-fade{animation:announcement-fade var(--ann-duration,12s) ease-in-out infinite}.ann-pulse{animation:announcement-pulse var(--ann-duration,12s) ease-in-out infinite}
@keyframes announcement-rtl{from{transform:translateX(100%)}to{transform:translateX(-100%)}}@keyframes announcement-ltr{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
@keyframes announcement-blink{0%,100%{opacity:1}50%{opacity:.35}}@keyframes announcement-fade{0%,100%{opacity:.3}50%{opacity:1}}@keyframes announcement-pulse{0%,100%{transform:scale(.98);opacity:.7}50%{transform:scale(1);opacity:1}}
.announcement-editor{margin-top:24px}.editor-toolbar,.editor-options,.editor-link{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-block:14px}.editor-toolbar label,.editor-options label,.editor-link label{display:flex;align-items:center;gap:8px;font-size:12px}.editor-toolbar button,.editor-link button{background:var(--surface2);color:var(--ink);border:1px solid var(--border);padding:6px 13px}.editor-toolbar input[type=color]{width:45px;padding:4px}.announcement-input{background:#102a24;border:1px solid var(--border);border-radius:10px;min-height:100px;padding:14px;white-space:pre-wrap;overflow-wrap:anywhere}.announcement-preview{min-height:45px;border:1px solid var(--border);border-radius:10px;margin-bottom:20px}.editor-options input{width:90px}.editor-enabled{display:flex;gap:10px;align-items:center}.announcement-editor h4{margin-bottom:8px}
@media(min-width:1200px){#main.market-wide{width:min(1760px,calc(100% - 64px))}.product-market-table{min-width:0;table-layout:fixed;width:100%}.product-market-table th,.product-market-table td{padding:12px 7px;font-size:11px}.product-market-table th{white-space:normal;line-height:1.7}.product-market-table th:first-child{width:21%}.product-market-table th:last-child{width:4%}.product-market-table th:not(:first-child):not(:last-child){width:7.5%}.product-market-table .stock-name{white-space:normal;min-width:0}.product-market-table .stock-name strong{font-size:12px}.product-market-table .stock-name small{font-size:10px}.product-market-table .badge{font-size:9px;padding:2px 4px}.product-market-table .icon-button{width:28px;height:28px}.product-market-table .symbol-avatar{flex-shrink:0}.product-market-table .evaluation-date{font-size:9px}}
@media(max-width:850px){.strip-inner{flex-wrap:wrap;gap:8px}.market-states{gap:10px;flex-basis:100%}.strip-announcement{flex-basis:100%;border-inline-start:0;border-top:1px solid var(--border);padding:8px 0}.editor-toolbar{gap:6px}.editor-link label{flex-wrap:wrap}.editor-link input{max-width:100%}.announcement-editor{padding:18px}.editor-toolbar label{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.price-flash,.announcement-content{animation:none!important;transform:none!important}}
/* Mandatory notices are readable in the Footer, never analysis-card provenance. */
.required-source-notices{flex-basis:100%;color:var(--ink);font-size:14px;line-height:1.7;overflow-wrap:anywhere}.required-source-notices p{margin:6px 0}.required-source-notices a{color:var(--accent);text-decoration:underline}
