/* Personal stock component paint rules. Preserve existing geometry and breakpoints. */
.psfx {
    --psfx-text: #24364b;
    --psfx-line: #dce5ee;
    --psfx-surface: #ffffff;
    --psfx-stripe: #f1f6fb;
    --psfx-hover: #e8f1fa;
    --psfx-head: #e9eff6;
    --psfx-accent: #226ba8;
    --psfx-red: #c8314b;
    --psfx-green: #17805e;
    --psfx-red-bg: #c8314b;
    --psfx-green-bg: #17805e;
    --psfx-focus: #307ac1;
}
[data-theme="dark"] .psfx {
    --psfx-text: #e5edf8;
    --psfx-line: #344359;
    --psfx-surface: #192536;
    --psfx-stripe: #202d40;
    --psfx-hover: #293d56;
    --psfx-head: #27374d;
    --psfx-accent: #9dcaf7;
    --psfx-red: #ff8b9c;
    --psfx-green: #68d6ad;
    --psfx-red-bg: #92324b;
    --psfx-green-bg: #226b54;
    --psfx-focus: #86bfff;
}
.psfx #tradeTable0 { color: var(--psfx-text); }
.psfx #tradeTable0 > p { color: var(--psfx-text); }
.psfx #tradeTable0 > p span:first-child { color: var(--psfx-accent); }
.psfx #tradeTable0 .table { border-color: var(--psfx-line); color: var(--psfx-text); }
.psfx #tradeTable0 thead { background: var(--psfx-head); color: var(--psfx-text); }
.psfx #tradeTable0 thead th { border-color: var(--psfx-line); box-shadow: inset 0 -1px 0 var(--psfx-line); }
.psfx #tradeTable0 thead span { color: var(--psfx-text); }
.psfx #tradeTable0 tr.odd { background-color: var(--psfx-stripe); }
.psfx #tradeTable0 tr.even { background-color: var(--psfx-surface); }
.psfx #tradeTable0 tbody td { border-color: var(--psfx-line); }
.psfx #tradeTable0 tbody tr:hover,
.psfx #tradeTable0 tbody tr:focus-within { background-color: var(--psfx-hover); }
.psfx #tradeTable0 tbody tr.selected { background-color: var(--psfx-hover); box-shadow: inset 3px 0 0 var(--psfx-accent); }
.psfx .contraction-area,.psfx .contraction-span { color: var(--psfx-text); }
.psfx .td-fcolor-red { color: var(--psfx-red) !important; }
.psfx .td-fcolor-green { color: var(--psfx-green) !important; }
.psfx .td-bcolor-red { background-color: var(--psfx-red-bg) !important; }
.psfx .td-bcolor-green { background-color: var(--psfx-green-bg) !important; }
.psfx .td-fcolor-white,.psfx .td-fcolor-white a { color: #fff !important; }
.psfx .consecutive-red { color: var(--psfx-red); background: color-mix(in srgb,var(--psfx-red) 9%,transparent); border-color: color-mix(in srgb,var(--psfx-red) 40%,transparent); border-radius: 4px; }
.psfx .consecutive-green { color: var(--psfx-green); background: color-mix(in srgb,var(--psfx-green) 9%,transparent); border-color: color-mix(in srgb,var(--psfx-green) 40%,transparent); border-radius: 4px; }
.psfx .consecutive-orange { background: #fff0d9; color: #a56310; border-radius: 4px; }
.psfx .actionType-select { color: var(--psfx-text); background-color: var(--psfx-surface); border-color: var(--psfx-line); border-radius: 5px; box-shadow: 0 1px 3px #162d4612; }
.psfx .actionType-select:hover { border-color: var(--psfx-accent); }
.psfx a:focus-visible,.psfx button:focus-visible,.psfx select:focus-visible,.psfx input:focus-visible { outline: 2px solid var(--psfx-focus); outline-offset: 2px; }
.psfx a:hover { text-decoration: underline; text-underline-offset: 3px; }
.psfx .stockDataChart { background-color: var(--psfx-surface); border-radius: 6px; box-shadow: 0 0 0 1px var(--psfx-line); }
.psfx .chart-message-text { color: var(--psfx-accent); }
.psfx .edit-image-area { color: var(--psfx-accent); border-radius: 5px; box-shadow: 0 0 0 1px var(--psfx-line); }
.psfx .delete-stock-btn { background: var(--psfx-surface); border-color: var(--psfx-line); border-radius: 5px; }
.psfx .delete-stock-btn:hover { box-shadow: 0 0 0 2px var(--psfx-red); }
.psfx .read-more-text { color: var(--psfx-accent); }
.psfx [class$="-window"] { border-color: var(--psfx-line); border-radius: 8px; box-shadow: 0 12px 36px #101f3a30; }
.psfx [class$="-header"] { background-color: var(--psfx-head); color: var(--psfx-text); }
/* Group tabs live in the shared header. Limit effects to the personal stock page. */
body:has(.psfx) .header-div { color: #226ba8; border-radius: 5px; text-decoration: none; }
body:has(.psfx) .header-div.active { color: #c8314b; background-color: #c8314b0c; box-shadow: inset 0 -2px 0 #c8314b; }
[data-theme="dark"] body:has(.psfx) .header-div { color: #9dcaf7; }
[data-theme="dark"] body:has(.psfx) .header-div.active { color: #ff8b9c; background-color: #ff8b9c0c; box-shadow: inset 0 -2px 0 #ff8b9c; }
body:has(.psfx) .header-div:hover { background-color: #226ba812; box-shadow: inset 0 -2px 0 #226ba8; }
body:has(.psfx) .header-div:focus-visible { outline: 2px solid #307ac1; outline-offset: 2px; }
@media(prefers-reduced-motion:no-preference) {
    .psfx #tradeTable0 tbody tr,.psfx .actionType-select,.psfx .delete-stock-btn { transition: background-color 140ms ease,box-shadow 140ms ease,border-color 140ms ease; }
}

/* Keep the original 10px image boxes and badge geometry; replace raster artwork. */
.psfx .chain-img { content: url("../icons/rank-effects/chain.svg?v=2"); }
.psfx .video-img { content: url("../icons/rank-effects/video.svg"); }
.psfx .chain-img,.psfx .video-img { filter: none; cursor: pointer; }
.psfx .stockNewsSpan {
    color: #226ba8;
    background-color: #e5f0fc;
    border-radius: 3px;
    box-shadow: inset 0 0 0 1px #226ba82e;
    cursor: pointer;
}
.psfx .stockNewsSpan2,.psfx .chain-span,.psfx .video-span {
    color: #fff;
    background: linear-gradient(180deg,#dc425d,#bf2945);
    border-radius: 3px;
    box-shadow: inset 0 1px 0 #ffffff2e,0 1px 2px #152b431a;
    font-weight: 600;
    cursor: pointer;
}
[data-theme="dark"] .psfx .stockNewsSpan {
    color: #b9dafc;
    background-color: #274764;
    box-shadow: inset 0 0 0 1px #9dcaf74d;
}
[data-theme="dark"] .psfx .stockNewsSpan2,
[data-theme="dark"] .psfx .chain-span,
[data-theme="dark"] .psfx .video-span { background: linear-gradient(180deg,#e4516c,#c73452); }
.psfx .stockNewsSpan:hover { color: var(--psfx-accent); background-color: var(--psfx-hover); }
.psfx .stockNewsSpan2:hover,.psfx .chain-span:hover,.psfx .video-span:hover { box-shadow: inset 0 0 0 1px #ffffff80,0 1px 3px #152b4340; }
