/* Trading-terminal palette: charcoal layers, blue interaction, semantic market colours.
   Inspired by TradingView's public palette; no TradingView code or assets embedded. */
:root{color-scheme:dark;--bg:#000000;--panel:#050505;--line:#232323;--text:#d9d9d9;--muted:#a3a3a3;--accent:#5c8dff;--red:#f7525f;--blue:#5c8dff;--gold:#e3bd70;--radius:8px}
body{background:var(--bg)!important;color:var(--text)}
.topbar{background:#000000f5!important;border-color:#232323!important;box-shadow:0 2px 12px #0003}
.sidebar{background:#080808!important;border-color:#232323!important}
.panel,.news,.workspaceassets,.detail,.researchpanel,.ticketpanel,dialog,.terminalstrip{background:#050505!important;border-color:#232323!important;box-shadow:none}
.stat,.assetcard,.educationcard,.birthbanner{background:#101010!important;border-color:#292929!important;box-shadow:none}
.stat:before{background:#5393ff}.stat:first-child{border-color:#3a568b!important}.stat strong,.stat:first-child strong{color:#f0f3fa}
.holding-card{background:#050505!important;border-color:#232323!important}.holding-expanded,.educationcard.selected{background:#151515!important;border-color:#414141!important}
#portfolio .holding-card summary:hover,tbody tr:hover{background:#171717!important}
.nav.active,.sidebar button.active,.sidebar a.active{background:#202020!important;color:#ffffff!important;border-color:#454545!important;box-shadow:inset 3px 0 #5393ff}
.nav:hover,.workspacelist button:hover{background:#171717!important}
.workspacelist button.selected{background:#202020!important;border-color:#454545!important;box-shadow:inset 3px 0 #5393ff}
input,select{background:#080808!important;color:#e0e4ed!important;border-color:#333333!important}input:hover,select:hover{border-color:#626262!important}input:focus,select:focus{border-color:#5393ff!important}
button{background:#2962ff;color:#fff;border:1px solid transparent}button:hover{filter:brightness(1.1)}button:disabled{opacity:.4}
.secondary,.pagination button,.chips button,.detailtabs button,.terminaltabs button,.chartperiods button{background:#141414!important;color:#c5c5c5!important;border-color:#303030!important}
.chips button.selected,.terminaltabs button.selected,.detailtabs button.selected,.chartperiods button.active{background:#262626!important;color:#ffffff!important;border-color:#555555!important}
.quiet,.textbutton{background:transparent;color:#83acff}.quicktrade{background:#2962ff!important;color:#fff!important;border-color:#5684ff!important}
button[data-broker-side="buy"].selected{background:#143d38!important;color:#62dac2!important;border-color:#238a77!important}
button[data-broker-side="sell"].selected{background:#49252c!important;color:#ff9aa4!important;border-color:#ba4b5b!important}
.broker-sidebar #advancedPanel,.automation-panel{background:#101010!important;border-color:#414141!important}
.broker-sidebar #advancedPanel .chips button[data-advanced-mode],.automation-panel form>button{background:#262626!important;color:#ffffff!important;border-color:#545454!important}
.broker-sidebar #advancedPanel .chips button[data-advanced-mode].selected{background:#2962ff!important;color:#fff!important;border-color:#7099ff!important;box-shadow:inset 3px 0 #a7c5ff}
.broker-sidebar #advancedPanel .chips button[data-go="finance"]{background:#171717!important;color:#c9c9c9!important;border-color:#363636!important}
.orderpreview{background:#0a0a0a!important;color:#c8c8c8!important;border-color:#323232!important}
.hudwealth strong,.brandname,.portfolio-total>strong,.finance-summary strong{color:#eef2fa!important}
.brandmark{background:linear-gradient(135deg,#5a92ff,#214fc0);color:#fff}.levelgem{background:#203252;color:#b5d0ff;border-color:#5279b4}.xptrack i{background:#5393ff}
.eyebrow,.seedlabel{color:#779bce}.clock,#status,.pageheading .muted,.caption,.muted,.ticker,.cardtitle+.ticker{color:#a3a3a3}
.news small{color:#8db4f6}.news p,.detailtext,.fundmeta,.facts dt,.chartcontrols label,.chartsummary,.chartheadline,.holding-identity small,.holding-value small{color:#b4b4b4}
.badge,.tag{background:#181818;border-color:#333333;color:#bcbcbc}.asseticon{background:#233452;color:#8eb6ff}.asseticon.bond{background:#203b45;color:#83c4db}.asseticon.gold{background:#3e3521;color:#e3bd70}.asseticon.multi{background:#31334c;color:#b6b7ec}
.family-tier{background:#171717!important;color:#a8b7ce;border-color:#34445c!important}.family-tier.current{background:#213e65!important;color:#d3e6ff;border-color:#679ad8!important}
.panel .sectionheading,td,th,.minirow,.sidebottom,footer,.advanced-position,.auto-plan{border-color:#232323}th{color:#a3aec0}.biglife{color:#b4cef5}
.chartcursor,progress{accent-color:#5393ff}.assetpricechart path{stroke:#5393ff}.assetpricechart line{stroke:#2a3446}.assetpricechart text{fill:#9aa8bf}.assetpricechart g[id$="-cursor"] line{stroke:#7d92b3}.assetpricechart g[id$="-cursor"] circle{fill:#a8c9ff}#chart polyline{stroke:#5393ff}
.chartperiods button:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #8bb5ff!important;outline-offset:3px}
.positive{color:#3ecfac!important}.negative{color:#f7525f!important}.neutral{color:#a3a3a3}
.bank-card{border:1px solid #424242!important;border-top:5px solid var(--bank-colour)!important;background:linear-gradient(145deg,var(--bank-tint),#121212 75%)!important}
.bank-card h3{color:var(--bank-light);font-size:18px}.bank-card .textbutton{color:var(--bank-light)!important}.bank-natee{--bank-colour:#138f40;--bank-light:#70e29a;--bank-tint:#102a1b}.bank-siam{--bank-colour:#7042a2;--bank-light:#c9a3f2;--bank-tint:#25182f}.bank-bangkok{--bank-colour:#2258ae;--bank-light:#8eb8ff;--bank-tint:#131f34}.bank-krung{--bank-colour:#00a6df;--bank-light:#79dcff;--bank-tint:#0a2530}.bank-blue{--bank-colour:#f47920;--bank-light:#ffb77e;--bank-tint:#2b2118}
.bank-blue{border-right:4px solid #275caf!important}


/* Match the supplied black TradingView reference: flat canvas and restrained chrome. */
.chartpanel{background:#000!important}.topbar{box-shadow:none}.assetpricechart{--series-colour:#a3a3a3}.assetpricechart.chart-up{--series-colour:#26a69a}.assetpricechart.chart-down{--series-colour:#f23645}.assetpricechart path.chart-series{stroke:var(--series-colour);stroke-width:1.8}.assetpricechart path.chart-area{stroke:none}.assetpricechart line{stroke:#242424;opacity:.65}.assetpricechart g[id$="-cursor"] line{stroke:#777;opacity:.8}.assetpricechart g[id$="-cursor"] circle{fill:var(--series-colour)}.assetpricechart text{fill:#999}.eyebrow,.seedlabel,.ticker,.news small{color:#a5a5a5}.brandmark{background:#e0e0e0;color:#111}.levelgem{background:#202020;color:#ddd;border-color:#444}.badge,.tag{border-radius:4px}.holding-card,.panel,.stat,.assetcard{box-shadow:none!important}

/* Reading hierarchy: primary totals, section titles, actionable controls, then notes. */
:root{--text:#edf0f5;--muted:#aeb6c4;--line:#343941}
body{color:#edf0f5;font-size:14px;line-height:1.7}
.panel,.news,.workspaceassets,.detail,.researchpanel,.ticketpanel,dialog{border-color:#30343d!important;background:#0c0e12!important}
.pageheading{margin-bottom:26px}.pageheading h1{color:#f5f7fb;font-size:28px;line-height:1.4}.pageheading .muted{color:#b5bdcb;font-size:13px;line-height:1.7}
.sectionheading{align-items:center;gap:12px}.sectionheading h2,.panel>h2{font-size:17px;font-weight:700;color:#f0f3f8;line-height:1.5}.panel .sectionheading{border-color:#343941;padding-bottom:16px;margin-bottom:16px}
#stats{grid-template-columns:1.25fr 1fr 1fr 1fr;gap:14px;margin:0 0 22px}
#stats .metric-card{position:relative;min-width:0;padding:20px 20px 18px;background:#141820!important;border:1px solid #39424f!important;border-radius:9px;overflow:hidden;box-shadow:none}
#stats .metric-card:before{width:100%;height:3px;background:var(--metric-colour);top:0;left:0}
#stats .metric-net{--metric-colour:#8aaaff;background:linear-gradient(125deg,#1c2639,#121720)!important;border-color:#51678b!important}
#stats .metric-cash{--metric-colour:#65cddd}#stats .metric-usd{--metric-colour:#c0a4ee}#stats .metric-fx{--metric-colour:#e6bf72}
#stats .metric-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px;min-height:24px}
#stats .metric-heading>span{color:#d2d9e4;font-size:13px;font-weight:600;line-height:1.5}
#stats .metric-unit{flex-shrink:0;font:600 10px system-ui;letter-spacing:.5px;color:var(--metric-colour);background:#080b11;padding:4px 6px;border:1px solid #3b4556;border-radius:4px}
#stats .metric-card>strong{display:block;font:700 clamp(24px,2vw,32px)/1.25 system-ui;color:#f5f7fb;letter-spacing:-.6px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
#stats .metric-net>strong{font-size:clamp(28px,2.5vw,38px)}
#stats .metric-note{font-size:12px;color:#aeb8c8;line-height:1.65;margin:13px 0 0;padding-top:11px;border-top:1px solid #323b49}
#financeOverview{margin-bottom:22px}#financeOverview .panel{background:#0c0e12!important}#financeOverview strong{font-size:18px}
.portfolio-total{padding:20px;border:1px solid #3c485c;border-radius:8px;background:#141b27;gap:10px;margin:12px 0 20px}.portfolio-total>span{font-size:14px;font-weight:600;color:#d8e1ef}.portfolio-total>strong{font-size:32px;color:#f6f8fc!important}.portfolio-total small{font-size:12px;color:#b0bdcf}.portfolio-total .quote-change{font-size:18px}.portfolio-month-change{font-size:14px}
.muted,.caption,.ticker,.facts dt,.detailtext,.news p,.fundmeta{color:#b1b8c5}.caption{font-size:12px;line-height:1.75}.news p,.detailtext{font-size:13px;line-height:1.85}.news h3{font-size:16px;color:#f0f3f8}.news small{font-size:11px;color:#91b5ef}
label,.finance-form label,.markettools label,.workspaceassets>label{font-size:12px;color:#c5cfdf;font-weight:500}input,select{font-size:13px}input::placeholder{color:#9aa5b5;opacity:1}
th{font-size:12px;color:#bec9da;font-weight:600}td{font-size:13px;color:#dce2ec}th,td{padding-top:12px;padding-bottom:12px}
.nav{font-size:13px;color:#bcc5d4}.nav.active{color:#fff!important;background:#1c2a40!important;border-color:#526989!important}.sidebottom .quiet,#status,.clock{color:#aeb8c8}
.workspacelist button{font-size:12px}.workspacelist button b{font-size:13px}.workspacelist button small{font-size:11px;color:#a9b6ca;line-height:1.5}.workspacelist button.selected{background:#19273b!important}
.broker-sidebar .ticketpanel{border-top:3px solid #6596ed!important}.broker-sidebar .ticketpanel h2{font-size:18px}.broker-sidebar .advanced-panel h3,.automation-panel h3{color:#e5edfb}
.secondary{color:#d3deee!important;border-color:#46556d!important;background:#1a2230!important}.textbutton{color:#92b9ff}.chips button.selected{background:#233b60!important;color:#deebff!important}
#portfolio .holding-identity b{color:#f2f5fa}#portfolio .holding-identity small{color:#aebbcf}#portfolio .holding-value>b{color:#f2f5fa}
@media(max-width:1300px){#stats{grid-template-columns:1fr 1fr}#stats .metric-heading{margin-bottom:12px}}
@media(max-width:550px){#stats{gap:10px}#stats .metric-card{padding:15px 12px}#stats .metric-heading{align-items:flex-start;flex-direction:column;gap:6px}#stats .metric-heading>span{font-size:12px}#stats .metric-card>strong,#stats .metric-net>strong{font-size:24px}#stats .metric-note{font-size:11px}.portfolio-total{padding:15px}.portfolio-total>strong{font-size:27px}}

/* Generated pixel-art assets: fixed identity, compact placement, crisp scaling. */
.asset-logo{display:inline-block;width:32px;height:32px;object-fit:contain;flex-shrink:0;border-radius:7px;border:1px solid #39414b;background:#161b22;image-rendering:pixelated;vertical-align:middle}.asset-logo-large{width:44px;height:44px;border-radius:9px}.asset-detail-brand,.terminal-asset-name{display:flex;align-items:center;gap:12px}.asset-detail-brand>div{min-width:0}.asset-detail-brand h2{margin:3px 0 0}.workspacelist button .asset-logo{width:24px;height:24px;border-radius:5px}.workspacelist button .workspace-symbol{flex:1;min-width:0}.workspacelist button>b{margin-left:auto}.workspacelist button{flex-wrap:nowrap!important}#portfolio .holding-identity{position:relative;padding-left:43px;min-height:36px}#portfolio .holding-identity>.asset-logo{position:absolute;left:0;top:50%;transform:translateY(-50%)}@media(max-width:1400px){.workspacelist button{display:grid;grid-template-columns:24px minmax(0,1fr)}.workspacelist button>b{grid-column:2;text-align:left;margin-left:0}.workspacelist button small{white-space:normal}.terminal-asset-name .asset-logo{width:36px;height:36px}}@media(max-width:600px){#portfolio .holding-identity{padding-left:34px}#portfolio .holding-identity>.asset-logo{width:26px;height:26px}}

/* Animated pixel newsroom; published figures remain separate from story coverage. */
.news-broadcast{display:grid;grid-template-columns:minmax(250px,340px) minmax(0,1fr);gap:24px;align-items:start;margin:22px 0 30px}.news-presenter{background:#090e17;border:1px solid #35455f;border-radius:10px;overflow:hidden}.presenter-heading{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:13px 15px;background:#151f2e;color:#dbe6f5;font-size:12px;font-weight:600}.presenter-heading>span:last-child{font-size:11px;margin-left:auto;color:#a7bdd7}.broadcast-dot{width:7px;height:7px;border-radius:50%;background:#f45b69;box-shadow:0 0 8px #f45b6955}.news-anchor-sprite{width:100%;aspect-ratio:1;background-image:url('/assets/news/anchor-twelve-frames.png');background-size:1200% 100%;background-repeat:no-repeat;background-position:0 0;image-rendering:pixelated;animation:anchor-talk 2.4s steps(12,end) infinite}.news-anchor-sprite.is-paused{animation-play-state:paused}.presenter-caption{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 15px;border-top:1px solid #29384c;color:#c3d1e4;font-size:12px}.presenter-caption button{font-size:11px}.broadcast-stories{min-width:0}.broadcast-stories>.sectionheading{padding-bottom:12px;border-bottom:1px solid #333b48;margin-bottom:14px}.broadcast-stories #news{display:grid;grid-template-columns:1fr;gap:14px;margin:0}.broadcast-stories .news{padding:19px 22px}.broadcast-stories .news h3{font-size:18px;margin:9px 0}.broadcast-stories .news p{font-size:14px;line-height:1.85}.news-data-section{padding-top:20px;border-top:1px solid #34404f;margin-bottom:28px}.news-data-section>.sectionheading{margin-bottom:18px}.news-data-section #macro{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.news-data-section #macro .stat{padding:16px;min-height:105px}.news-data-section #macro .stat>span{font-size:12px;color:#bdc9da}.news-data-section #macro .stat strong{font-size:25px;line-height:1.35;margin-top:10px;display:block}.news-data-section #monthlyDataNews{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:0}.broadcast-quiet{padding:28px 22px;border:1px solid #343f50;background:#101722;border-radius:8px}.broadcast-quiet h3{font-size:19px;color:#e7eef8}.broadcast-quiet p{color:#bac8dc;font-size:14px;line-height:1.8}@keyframes anchor-talk{from{background-position:0% 0}to{background-position:109.090909% 0}}@media(prefers-reduced-motion:reduce){.news-anchor-sprite{animation:none}}@media(max-width:1000px){.news-broadcast{grid-template-columns:minmax(210px,280px) minmax(0,1fr);gap:16px}.broadcast-stories .news{padding:16px}.broadcast-stories .news h3{font-size:16px}}@media(max-width:720px){.news-broadcast{grid-template-columns:1fr}.news-presenter{width:min(100%,340px);justify-self:center}.news-data-section #macro{grid-template-columns:repeat(2,minmax(0,1fr))}.news-data-section #monthlyDataNews{grid-template-columns:1fr}.broadcast-stories .news p{font-size:13px}}

/* Latest lead story stays large; previous stories are scrollable headlines. */
.broadcast-stories #news{display:block}.latest-news-label{font-size:12px;color:#96b9ef;font-weight:600;margin-bottom:10px}.broadcast-stories .latest-news>.news{padding:24px;min-height:220px;border-top:2px solid #6497ed!important}.broadcast-stories .latest-news .news h3{font-size:21px;line-height:1.6;margin:12px 0}.broadcast-stories .latest-news .news p{font-size:14px;line-height:1.9}.headline-history{margin-top:20px;border:1px solid #343d4b;border-radius:8px;overflow:hidden;background:#090c11}.headline-history>h3{margin:0;padding:12px 16px;border-bottom:1px solid #343d4b;font-size:13px;color:#c7d5e8;background:#151c27}.headline-scroll{max-height:255px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#52627b #10151d}.headline-item{margin:0;border-bottom:1px solid #29323e}.headline-item:last-child{border-bottom:0}.headline-item>summary{display:grid;grid-template-columns:105px minmax(0,1fr);gap:12px;padding:14px 16px;list-style:none;color:#e0e7f2;font-size:13px;line-height:1.65;font-weight:500}.headline-item>summary::-webkit-details-marker{display:none}.headline-item>summary>time{font-size:11px;color:#a2b3cd;padding-top:2px}.headline-item>summary>span:after{content:' ＋';color:#88b2ee}.headline-item[open]>summary>span:after{content:' −'}.headline-item>summary:hover,.headline-item[open]>summary{background:#192334}.headline-body{padding:0 14px 14px}.broadcast-stories .headline-body .news{margin:0;padding:14px;background:#111925!important;border-color:#34445d!important}.broadcast-stories .headline-body .news h3{font-size:14px}.broadcast-stories .headline-body .news p{font-size:12px;line-height:1.8}@media(max-width:720px){.headline-scroll{max-height:230px}.headline-item>summary{grid-template-columns:1fr;gap:3px;padding:12px 14px}.broadcast-stories .latest-news>.news{padding:19px}.broadcast-stories .latest-news .news h3{font-size:18px}}

/* Keep the right column inside the presenter's height; only its contents scroll. */
@media(min-width:721px){
 .news-broadcast{align-items:stretch}
 .news-presenter{align-self:start}
 .broadcast-stories{contain:size;min-height:0;display:flex;flex-direction:column;overflow:hidden}
 .broadcast-stories>.sectionheading{flex:0 0 auto;margin-bottom:12px;padding-bottom:10px}
 .broadcast-stories #news{flex:1;min-height:0;display:flex;flex-direction:column;gap:12px;overflow:hidden}
 .broadcast-stories .latest-news{flex:0 1 auto;max-height:68%;min-height:0;display:flex;flex-direction:column}
 .broadcast-stories .latest-news-label{flex:0 0 auto;margin-bottom:8px}
 .broadcast-stories .latest-news>.news{flex:1 1 auto;min-height:0;padding:18px 20px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
 .broadcast-stories .latest-news .news h3{font-size:18px;line-height:1.55;margin:8px 0}
 .broadcast-stories .latest-news .news p{font-size:13px;line-height:1.75;margin-bottom:0}
 .broadcast-stories .headline-history{flex:1 1 0;min-height:80px;margin-top:0;display:flex;flex-direction:column}
 .broadcast-stories .headline-history>h3{flex:0 0 auto;padding:10px 14px}
 .broadcast-stories .headline-scroll{flex:1 1 0;min-height:0;max-height:none;overflow-y:auto}
 .broadcast-stories .headline-item>summary{padding:10px 14px;gap:10px}
 .broadcast-stories .broadcast-quiet{min-height:0;overflow:auto}
}

/* Code-native nine-slice pixel frames: square steps, fixed corner pixels. */
.panel,.stat,.news,.news-presenter,.headline-history,.portfolio-total,.assetcard,.holding-card,.educationcard,.bank-card,dialog,#stats .metric-card{
 --pixel-frame:url('/assets/ui/pixel-frame-grey.svg');
 border-radius:0!important;border-style:solid!important;border-width:2px!important;border-color:transparent!important;
 border-image-source:var(--pixel-frame)!important;border-image-slice:10!important;border-image-width:10px!important;border-image-repeat:stretch!important;
 clip-path:polygon(8px 0,calc(100% - 8px) 0,calc(100% - 8px) 4px,calc(100% - 4px) 4px,calc(100% - 4px) 8px,100% 8px,100% calc(100% - 8px),calc(100% - 4px) calc(100% - 8px),calc(100% - 4px) calc(100% - 4px),calc(100% - 8px) calc(100% - 4px),calc(100% - 8px) 100%,8px 100%,8px calc(100% - 4px),4px calc(100% - 4px),4px calc(100% - 8px),0 calc(100% - 8px),0 8px,4px 8px,4px 4px,8px 4px);
}
.bank-card.bank-natee{--pixel-frame:url('/assets/ui/pixel-frame-green.svg')}.bank-card.bank-siam{--pixel-frame:url('/assets/ui/pixel-frame-purple.svg')}.bank-card.bank-bangkok{--pixel-frame:url('/assets/ui/pixel-frame-navy.svg')}.bank-card.bank-krung{--pixel-frame:url('/assets/ui/pixel-frame-cyan.svg')}.bank-card.bank-blue{--pixel-frame:url('/assets/ui/pixel-frame-orange.svg')}
.assetcard:focus-visible{outline-offset:-6px!important}.stat:before{height:3px;width:32px;left:10px;top:0}.presenter-heading,.presenter-caption,.headline-history>h3{border-radius:0}.headline-scroll{scrollbar-color:#5d95e8 #10151d}

/* Frame colour follows semantic identity; unassigned panels use a neutral raised bevel. */
#stats .metric-net{--pixel-frame:url('/assets/ui/pixel-frame-blue.svg')}
#stats .metric-cash{--pixel-frame:url('/assets/ui/pixel-frame-cyan.svg')}
#stats .metric-usd{--pixel-frame:url('/assets/ui/pixel-frame-purple.svg')}
#stats .metric-fx{--pixel-frame:url('/assets/ui/pixel-frame-gold.svg')}
.stat:before{background:#929aa5}.assetcard.active,.educationcard.selected{--pixel-frame:url('/assets/ui/pixel-frame-blue.svg')}
.headline-scroll{scrollbar-color:#78818f #10151d}

/* Asset market movement and holding P/L each use their own displayed sign. */
.assetcard:has(.price>.quote-change.is-positive),
.holding-card:has(>summary>.holding-gain.positive),
.chartpanel:has(>.sectionheading>.livequote>.quote-change.is-positive),
.detail:has(>.quote>.quote-change.is-positive),
.portfolio-total[data-value-change="positive"]{
 --pixel-frame:url('/assets/ui/pixel-frame-green.svg');background:#0e2019!important;
}
.assetcard:has(.price>.quote-change.is-negative),
.holding-card:has(>summary>.holding-gain.negative),
.chartpanel:has(>.sectionheading>.livequote>.quote-change.is-negative),
.detail:has(>.quote>.quote-change.is-negative),
.portfolio-total[data-value-change="negative"]{
 --pixel-frame:url('/assets/ui/pixel-frame-red.svg');background:#241317!important;
}
#portfolio .holding-card:has(>summary>.holding-gain.positive) summary:hover{background:#173528!important}
#portfolio .holding-card:has(>summary>.holding-gain.negative) summary:hover{background:#3b2027!important}
#portfolio .holding-card:has(>summary>.holding-gain.positive) .holding-expanded{background:#10241b!important}
#portfolio .holding-card:has(>summary>.holding-gain.negative) .holding-expanded{background:#2b171d!important}
.portfolio-total[data-value-change="neutral"]{--pixel-frame:url('/assets/ui/pixel-frame-grey.svg');background:#15181d!important}
.assetcard.active{outline:1px solid #b6c6db;outline-offset:-7px}

.holding-list .holding-card{margin:6px 0}.assetcard:has(.price>.quote-change.is-neutral),.assetcard:has(.price>.quote-change.is-unavailable){--pixel-frame:url('/assets/ui/pixel-frame-grey.svg')}

/* Player dashboard: financial cards on the left, age-aware protagonist on the right. */
.player-dashboard{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,380px);gap:22px;align-items:stretch;margin-bottom:24px}.player-dashboard #stats{grid-template-columns:repeat(2,minmax(0,1fr));margin:0;gap:14px}.player-dashboard #stats .metric-card{padding:18px;display:flex;flex-direction:column;justify-content:center}.player-dashboard #stats .metric-note{margin-top:12px}.player-dashboard #playerPortrait{min-width:0}.player-card{margin:0;height:100%;padding:0;overflow:hidden}.player-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 18px;background:#171e2a;border-bottom:1px solid #384354}.player-heading h2{font-size:18px;margin:0}.player-heading>span{font-size:14px;color:#becde3}.player-avatar{width:100%;aspect-ratio:1;background-size:2400% 100%;background-position:0 0;background-repeat:no-repeat;image-rendering:pixelated;animation:player-life 4.8s steps(24,end) infinite}.player-young{background-image:url('/assets/player/young-24.png')}.player-midlife{background-image:url('/assets/player/midlife-24.png')}.player-senior{background-image:url('/assets/player/senior-24.png')}.player-avatar.is-paused{animation-play-state:paused}.player-caption{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px;border-top:1px solid #384354}.player-caption strong{font-size:16px}.player-caption small{display:block;font-size:12px;color:#aebed4;line-height:1.8}.player-caption button{font-size:12px;white-space:nowrap}.player-prologue{display:flex;align-items:center;justify-content:center;min-height:270px;padding:30px;text-align:center;color:#b6c5db}.player-card{--pixel-frame:url('/assets/ui/pixel-frame-grey.svg')}
#stats .metric-cash{--metric-colour:#65d99a;--pixel-frame:url('/assets/ui/pixel-frame-green.svg');background:#102019!important}#stats .metric-debt{--metric-colour:#ed8395;--pixel-frame:url('/assets/ui/pixel-frame-red.svg');background:#24151b!important}#stats .metric-debt>strong{color:#ffb4be}#stats .metric-debt .metric-unit{color:#ed8395}
@keyframes player-life{from{background-position:0% 0}to{background-position:104.347826% 0}}
@media(prefers-reduced-motion:reduce){.player-avatar{animation:none}}
@media(max-width:1100px){.player-dashboard{grid-template-columns:minmax(0,1fr) minmax(240px,300px);gap:16px}.player-dashboard #stats .metric-card{padding:14px}.player-dashboard #stats .metric-card>strong,.player-dashboard #stats .metric-net>strong{font-size:28px}}
@media(max-width:800px){.player-dashboard{grid-template-columns:1fr}.player-dashboard #playerPortrait{width:min(100%,340px);justify-self:center}.player-dashboard #stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Summary cards are the shortcuts; no extra full-width finance shortcut panel. */
#stats button.metric-card{text-align:left;font-weight:400;cursor:pointer;transition:filter .15s}#stats button.metric-card:hover{filter:brightness(1.12);transform:none}#stats button.metric-card:active{transform:none}#stats button.metric-card:focus-visible{outline-offset:-6px!important}#stats .metric-note{display:block}#stats .metric-shortcut{display:block;margin-top:10px;padding:7px 0 0;font-size:14px;color:#c4dafc;line-height:1.7;text-decoration:underline;text-underline-offset:4px}#stats .metric-debt .metric-shortcut{color:#ffb9c4}#stats .metric-cash .metric-shortcut{color:#91e8b4}#stats .metric-usd .metric-shortcut{color:#d8bfff}#heldPortfolio,#bankAccounts,#debtAccounts{scroll-margin-top:145px}
.player-date{display:flex;align-items:center;gap:10px}.player-date>img{image-rendering:pixelated;flex-shrink:0}.player-date>time{font-size:18px;color:#e1eaf7;white-space:nowrap}#status:empty{display:none}

.headline-history-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:0 0 auto;padding:9px 14px;background:#151c27;border-bottom:1px solid #343d4b}.headline-history-header h3{font-size:16px;margin:0;color:#c7d5e8}.headline-history-header button{padding:3px 10px;font-size:20px;line-height:1.3}
#newsArchiveDialog{width:min(980px,94vw);max-width:980px;max-height:88vh;padding:24px}.archive-dialog-heading{display:flex;justify-content:space-between;align-items:start;gap:16px;padding-bottom:16px;border-bottom:1px solid #394554}.archive-dialog-heading h2{margin:0;font-size:25px}.archive-dialog-heading p{margin:7px 0 0}.archive-dialog-heading>button{flex-shrink:0}#newsArchiveList{max-height:64vh;overflow-y:auto;margin-top:16px;scrollbar-width:thin;scrollbar-color:#78818f #10151d}.archive-headline{display:grid;grid-template-columns:110px minmax(0,1fr);gap:6px 16px;width:100%;text-align:left;padding:16px;background:#10151e;color:#e3eaf5;border-bottom:1px solid #354052;border-radius:0;font-size:18px;line-height:1.7}.archive-headline time{font-size:14px;color:#b0c0d7}.archive-headline small{grid-column:2;color:#9babc2;font-size:12px}.archive-headline:hover,.archive-headline.is-selected{background:#24334b}.archive-headline:focus-visible{outline-offset:-4px}#archiveBack{margin-top:16px}#newsArchiveDetail{max-height:61vh;overflow-y:auto;margin-top:16px;padding-right:6px}.archive-story-date{color:#acc6eb}#newsArchiveDetail .news{padding:24px}#newsArchiveDetail .news h3{font-size:24px}#newsArchiveDetail .news p{font-size:18px;line-height:1.9}@media(max-width:600px){#newsArchiveDialog{padding:16px}.archive-headline{grid-template-columns:1fr;font-size:16px}.archive-headline small{grid-column:1}#newsArchiveDetail .news{padding:16px}#newsArchiveDetail .news h3{font-size:21px}#newsArchiveDetail .news p{font-size:16px}}

/* Dateline belongs inside the lead story, leaving the next headline more room. */
.news-card-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}.news-card-meta time{flex-shrink:0;color:#bdd0ec;font-size:14px;line-height:1.6}.news-card-meta small{font-size:14px}.broadcast-stories>.sectionheading{margin-bottom:8px}.broadcast-stories .latest-news .news h3{margin-top:8px}@media(min-width:721px){.broadcast-stories .latest-news{max-height:62%}}@media(max-width:500px){.news-card-meta{flex-wrap:wrap;gap:4px 12px}.news-card-meta time{margin-left:auto}}
@media(min-width:721px){.broadcast-stories #news>.latest-news{max-height:55%}}
.headline-item>summary>span:after,.headline-item[open]>summary>span:after{content:' ↗';color:#9bb9e3}

/* Published macro levels stay neutral; only their monthly difference is coloured. */
.news-data-section #macro .economic-stat{--pixel-frame:url('/assets/ui/pixel-frame-grey.svg');background:#12151a!important}.economic-value{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 12px}.news-data-section #macro .economic-value>strong{color:#f0f3fa!important}.economic-delta{font-size:20px;line-height:1.6;white-space:nowrap}.economic-delta small{font-size:14px}.economic-delta.is-positive{color:#59d49a}.economic-delta.is-negative{color:#ff7189}.economic-delta.is-neutral,.economic-delta.is-unavailable{color:#aeb8c8}

.monthly-editions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-top:24px}.monthly-editions .edition-card{margin:0;min-width:0;min-height:190px;padding:20px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:12px;color:#e4ebf6;background:#10151e!important;cursor:pointer}.monthly-editions .edition-latest{grid-column:span 2;background:#17202d!important}.edition-label{font-size:14px;color:#a7bad4}.edition-card>strong{font-size:24px;line-height:1.6}.edition-latest>strong{font-size:30px}.edition-headlines{font-size:14px;line-height:1.8;color:#b8c5d8;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.edition-card:hover{filter:brightness(1.15)}.edition-card:focus-visible{outline-offset:-6px!important}@media(max-width:1000px){.monthly-editions{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.monthly-editions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.monthly-editions .edition-card{padding:16px;min-height:150px}.edition-latest>strong{font-size:26px}}

.market-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);gap:24px;align-items:center;margin-bottom:16px}.market-intro-controls{min-width:0}.market-intro-controls>.pageheading{margin-bottom:22px}.market-intro-controls #categories{gap:8px}.market-broker-card{position:relative;padding:0;margin:0;overflow:hidden;min-width:0;--pixel-frame:url('/assets/ui/pixel-frame-grey.svg')}.market-broker-sprite{width:100%;aspect-ratio:2;background-image:url('/assets/market/broker-24.png');background-size:2400% 100%;background-repeat:no-repeat;background-position:0 0;image-rendering:pixelated;animation:market-broker-idle 4.8s steps(24,end) infinite}.market-broker-sprite.is-paused{animation-play-state:paused}.market-broker-card>#pauseMarketBroker{position:absolute;right:12px;bottom:10px;padding:3px 9px;font-size:12px;background:#10151edb!important}.is-terminal>.market-intro{display:none}@keyframes market-broker-idle{from{background-position:0% 0}to{background-position:104.347826% 0}}@media(prefers-reduced-motion:reduce){.market-broker-sprite{animation:none}}@media(max-width:1000px){.market-intro{grid-template-columns:minmax(0,1fr) minmax(240px,320px);gap:16px}.market-intro-controls #categories button{padding:9px 12px}}@media(max-width:720px){.market-intro{grid-template-columns:1fr}.market-broker-card{width:min(100%,420px);justify-self:center}.market-intro-controls>.pageheading{margin-bottom:16px}}
.market-broker-card{border:0!important;border-image:none!important;clip-path:none!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}

/* Match the newsroom arrangement: framed character left, controls right. */
.market-intro{grid-template-columns:minmax(280px,420px) minmax(0,1fr)}
.market-intro>.market-broker-card{border-style:solid!important;border-width:2px!important;border-color:transparent!important;border-image-source:url('/assets/ui/pixel-frame-grey.svg')!important;border-image-slice:10!important;border-image-width:10px!important;border-image-repeat:stretch!important;border-radius:0!important;background:#090e17!important;clip-path:polygon(8px 0,calc(100% - 8px) 0,calc(100% - 8px) 4px,calc(100% - 4px) 4px,calc(100% - 4px) 8px,100% 8px,100% calc(100% - 8px),calc(100% - 4px) calc(100% - 8px),calc(100% - 4px) calc(100% - 4px),calc(100% - 8px) calc(100% - 4px),calc(100% - 8px) 100%,8px 100%,8px calc(100% - 4px),4px calc(100% - 4px),4px calc(100% - 8px),0 calc(100% - 8px),0 8px,4px 8px,4px 4px,8px 4px)!important}
@media(max-width:1000px){.market-intro{grid-template-columns:minmax(240px,320px) minmax(0,1fr)}}@media(max-width:720px){.market-intro{grid-template-columns:1fr}}
