:root{color-scheme:light;--navy:#102b46;--blue:#1766a5;--gold:#d7a62a;--green:#0a9a55;--red:#df4350;--ink:#18212a;--muted:#68737e;--line:#dce3e9;--surface:#fff;--page:#f3f6f8}
*{box-sizing:border-box} [hidden]{display:none!important} html{min-height:100%;background:var(--page)} body{min-height:100vh;margin:0;color:var(--ink);background:radial-gradient(circle at 12% 8%,rgba(23,102,165,.10),transparent 28%),radial-gradient(circle at 88% 16%,rgba(215,166,42,.10),transparent 25%),var(--page);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif}
button,input{font:inherit}.stock-loader{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;background:rgba(245,248,250,.97);transition:opacity .28s,visibility .28s}.stock-loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.loader-brand{display:grid;justify-items:center;gap:10px}.loader-mark,.login-mark{display:grid;place-items:center;border-radius:23px;color:#fff;background:linear-gradient(145deg,var(--navy),var(--blue) 58%,var(--gold));font-weight:950;box-shadow:0 16px 34px rgba(16,43,70,.23)}.loader-mark{width:92px;height:92px;font-size:3.2rem}.loader-brand strong{font-size:1.55rem;letter-spacing:-.04em}.loader-brand small{color:var(--muted);font-weight:750}.loader-brand i{width:28px;height:28px;border:3px solid rgba(23,102,165,.18);border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.stock-header{position:sticky;z-index:50;top:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:78px;padding:10px max(20px,env(safe-area-inset-left));border-bottom:1px solid rgba(16,43,70,.12);background:rgba(255,255,255,.92);backdrop-filter:blur(18px);box-shadow:0 5px 24px rgba(25,48,70,.06)}.preview-badge{justify-self:start;border:1px solid rgba(215,166,42,.38);border-radius:999px;padding:7px 11px;color:#8a650c;background:#fff8df;font-size:.67rem;font-weight:900;letter-spacing:.11em}.stock-brand{position:relative;display:flex;align-items:baseline;padding-bottom:7px;color:inherit;font-size:clamp(1.7rem,4vw,2.4rem);font-style:italic;font-weight:950;letter-spacing:-.08em;text-decoration:none;transform:skew(-5deg)}.brand-stock{color:var(--navy)}.brand-bull{color:var(--green)}.stock-brand i{position:absolute;right:-11px;bottom:2px;left:-2px;height:5px;border-radius:999px;background:linear-gradient(90deg,var(--gold) 0 47%,var(--green) 72%);transform:rotate(-3deg);transform-origin:left center}.stock-brand i::after{position:absolute;right:-1px;top:-7px;width:12px;height:12px;border-top:5px solid var(--green);border-right:5px solid var(--green);border-radius:2px;content:"";transform:rotate(-7deg)}.theme-toggle{justify-self:end;width:44px;height:44px;border:1px solid #cdd8e0;border-radius:13px;color:var(--gold);background:#fff;box-shadow:0 5px 14px rgba(18,45,70,.10);font-size:1.25rem;cursor:pointer}
main{width:min(1320px,calc(100% - 32px));margin:28px auto 70px}.login-panel{display:grid;grid-template-columns:auto 1fr;gap:20px 22px;align-items:center;max-width:720px;margin:70px auto;border:1px solid var(--line);border-radius:28px;padding:30px;background:rgba(255,255,255,.94);box-shadow:0 24px 60px rgba(16,43,70,.13)}.login-mark{width:64px;height:64px;font-size:2rem}.login-panel h1,.login-panel p{margin:0}.login-panel h1{font-size:1.65rem}.login-panel>div>p:last-child{margin-top:6px;color:var(--muted)}.login-panel form{grid-column:1/-1}.login-panel label{display:block;margin-bottom:8px;font-weight:850}.login-row{display:grid;grid-template-columns:1fr auto;gap:9px}.login-row input{min-width:0;height:52px;border:1px solid #bdc9d2;border-radius:14px;padding:0 15px;background:#fff;color:var(--ink);outline:none}.login-row input:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(23,102,165,.12)}.login-row button{border:0;border-radius:14px;padding:0 25px;color:#fff;background:linear-gradient(135deg,var(--navy),var(--blue));font-weight:900}.message{min-height:1.3em;margin:9px 0 0!important;color:var(--red)!important;font-size:.83rem;font-weight:800}
.market-hero{display:flex;align-items:center;justify-content:space-between;gap:26px;border:1px solid rgba(16,43,70,.13);border-radius:28px;padding:27px 30px;background:linear-gradient(135deg,rgba(255,255,255,.97),rgba(244,249,253,.94));box-shadow:0 18px 46px rgba(16,43,70,.09)}.kicker{margin:0 0 6px;color:var(--blue);font-size:.7rem;font-weight:950;letter-spacing:.19em}.market-hero-title{margin:0;font-size:clamp(1.45rem,3.8vw,2.45rem);font-weight:950;letter-spacing:-.045em}.hero-copy{margin:8px 0 0;color:var(--muted);font-weight:650}.session-card{display:flex;align-items:center;gap:12px;min-width:220px;border:1px solid var(--line);border-radius:18px;padding:15px 17px;background:#fff}.session-card>span{width:12px;height:12px;border-radius:50%;background:#a6afb6;box-shadow:0 0 0 5px rgba(166,175,182,.15)}.session-card>span.is-live{background:var(--green);box-shadow:0 0 0 5px rgba(10,154,85,.14)}.session-card small,.session-card strong,.session-card time{display:block}.session-card small{color:var(--muted);font-size:.62rem;font-weight:900;letter-spacing:.1em}.session-card strong{margin-top:2px}.session-card time{margin-top:2px;color:var(--muted);font-size:.72rem}
.category-tabs,.range-tabs{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-top:18px}.category-tabs button,.range-tabs button{min-height:44px;border:1px solid #cbd6de;border-radius:13px;color:#596672;background:#fff;font-weight:850;cursor:pointer}.category-tabs button{position:relative;display:flex;align-items:center;justify-content:center;gap:7px;padding:7px 9px;white-space:nowrap}.category-tabs button>span{font-size:1.05rem}.category-tabs button>small{min-width:22px;padding:2px 5px;border-radius:999px;color:#087c3d;background:#e8f8ee;font-size:.61rem;font-weight:950}.category-tabs button[aria-pressed="true"],.range-tabs button[aria-selected="true"]{color:#fff;border-color:var(--blue);background:linear-gradient(135deg,var(--navy),var(--blue));box-shadow:0 8px 18px rgba(23,102,165,.18)}.category-tabs button[aria-pressed="true"]>small{color:#fff;background:rgba(255,255,255,.2)}.range-tabs{grid-template-columns:repeat(4,1fr);margin:14px 0}.board-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:25px 2px 12px}.board-heading h2{margin:0;font-size:1.5rem}.board-heading>p{margin:0;color:var(--muted);font-size:.78rem;font-weight:700}
.market-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.market-card{position:relative;overflow:hidden;min-width:0;border:1px solid var(--line);border-radius:20px;padding:15px;background:linear-gradient(155deg,#fff,#f8fafc);box-shadow:0 9px 24px rgba(18,45,70,.07);cursor:pointer;transition:transform .18s,box-shadow .18s}.market-card:focus-visible{outline:3px solid rgba(215,166,42,.58);outline-offset:2px}.market-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.market-card-region{display:flex;align-items:center;gap:7px;margin:0 0 3px;color:var(--muted);font-size:.67rem;font-weight:850}.market-card-region i{display:block;width:8px;height:8px;border-radius:50%;background:var(--blue)}.market-card[data-kind="commodity"] .market-card-region i{background:var(--gold)}.market-card[data-kind="forex"] .market-card-region i{background:var(--green)}.market-card h3{overflow:hidden;margin:0;font-size:1.05rem;text-overflow:ellipsis;white-space:nowrap}.market-state{border-radius:999px;padding:4px 7px;color:#697580;background:#eef2f5;font-size:.58rem;font-weight:850;white-space:nowrap}.market-quote{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-top:9px}.market-price{font-size:clamp(1.25rem,2.7vw,1.75rem);font-weight:950;letter-spacing:-.04em;white-space:nowrap}.market-change{font-size:.9rem;font-weight:900;white-space:nowrap}.is-up{color:var(--green)}.is-down{color:var(--red)}.mini-chart{height:112px;margin:7px -3px 0}.mini-chart svg,.detail-chart svg{display:block;width:100%;height:100%}.market-footer{display:flex;justify-content:space-between;gap:8px;margin-top:2px;color:var(--muted);font-size:.66rem;font-weight:700}.market-message{min-height:1.3em;color:var(--red);font-weight:800}
.detail-panel{margin-top:18px;border:1px solid rgba(23,102,165,.23);border-radius:24px;padding:20px;background:linear-gradient(150deg,#fff,#f4f8fb);box-shadow:0 16px 38px rgba(16,43,70,.10)}.detail-head{display:flex;align-items:flex-start;justify-content:space-between}.detail-head h2,.detail-region{margin:0}.detail-region{color:var(--blue);font-size:.72rem;font-weight:900;letter-spacing:.12em}.detail-head button{width:42px;height:42px;border:1px solid var(--line);border-radius:12px;color:var(--muted);background:#fff;font-size:1.4rem}.detail-quote{display:flex;align-items:baseline;gap:14px;margin-top:8px}.detail-quote strong{font-size:clamp(1.8rem,5vw,3rem)}.detail-quote span{font-weight:900}.detail-chart{height:330px;border:1px solid var(--line);border-radius:18px;padding:8px;background:#fff}.detail-note{margin:9px 3px 0;color:var(--muted);font-size:.73rem}.coming-soon{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}.coming-soon>div{border:1px dashed #bbc9d3;border-radius:20px;padding:20px;background:rgba(255,255,255,.66)}.coming-soon span{color:var(--gold);font-size:.68rem;font-weight:950;letter-spacing:.12em}.coming-soon h2{margin:5px 0 6px;font-size:1.15rem}.coming-soon p{margin:0;color:var(--muted);font-size:.83rem;line-height:1.6}footer{display:flex;justify-content:space-between;gap:20px;margin-top:26px;border-top:1px solid var(--line);padding:20px 2px;color:var(--muted);font-size:.75rem}footer p{margin:0}footer a{color:var(--blue);font-weight:900}
html[data-theme="dark"]{color-scheme:dark;--ink:#edf3f6;--muted:#a6b0b8;--line:#33414b;--surface:#151c22;--page:#0b1015}html[data-theme="dark"] body{background:radial-gradient(circle at 12% 8%,rgba(23,102,165,.18),transparent 28%),#0b1015}html[data-theme="dark"] .stock-loader{background:rgba(9,14,18,.98)}html[data-theme="dark"] .stock-header{border-color:#2a3741;background:rgba(12,17,22,.94)}html[data-theme="dark"] .brand-stock{color:#e9f1f6}html[data-theme="dark"] .theme-toggle,html[data-theme="dark"] .session-card,html[data-theme="dark"] .category-tabs button,html[data-theme="dark"] .range-tabs button,html[data-theme="dark"] .detail-head button{border-color:#3a4852;background:#182028}html[data-theme="dark"] .market-hero,html[data-theme="dark"] .login-panel,html[data-theme="dark"] .detail-panel{border-color:#30404b;background:linear-gradient(145deg,#192229,#11181e)}html[data-theme="dark"] .login-row input,html[data-theme="dark"] .detail-chart{border-color:#35434d;color:var(--ink);background:#11181e}html[data-theme="dark"] .market-card{border-color:#303d47;background:linear-gradient(155deg,#1a232a,#12191f)}html[data-theme="dark"] .market-state{color:#aab5bd;background:#26323b}html[data-theme="dark"] .coming-soon>div{border-color:#46545e;background:rgba(22,30,36,.75)}
@media(max-width:980px){.market-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){main{width:min(100% - 18px,660px);margin-top:14px}.stock-header{min-height:66px;padding:8px 10px}.preview-badge{font-size:.55rem;padding:6px 8px}.stock-brand{font-size:1.65rem}.theme-toggle{width:40px;height:40px}.market-hero{display:block;border-radius:21px;padding:21px 18px}.session-card{margin-top:16px}.category-tabs{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(108px,42%);grid-template-columns:none;gap:6px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:inline proximity;padding:0 0 6px}.category-tabs button{min-height:42px;scroll-snap-align:start}.board-heading{align-items:flex-start}.board-heading>p{max-width:160px;text-align:right}.market-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.market-card{border-radius:16px;padding:11px 10px}.market-card h3{font-size:.9rem}.market-price{font-size:1.18rem}.market-change{font-size:.72rem}.mini-chart{height:90px}.market-footer{font-size:.58rem}.detail-panel{border-radius:19px;padding:15px 10px}.detail-chart{height:250px}.coming-soon{grid-template-columns:1fr}.login-panel{grid-template-columns:1fr;margin:38px auto;padding:23px}.login-mark{width:54px;height:54px}.login-panel form{grid-column:1}.login-row{grid-template-columns:1fr}.login-row button{min-height:48px}footer{display:block}footer a{display:inline-block;margin-top:13px}}
@media(max-width:380px){.preview-badge{max-width:72px;text-align:center}.market-card h3{font-size:.82rem}.market-price{font-size:1.05rem}.market-change{font-size:.66rem}}

footer nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 16px}footer nav a{white-space:nowrap}@media(max-width:720px){footer nav{justify-content:flex-start;margin-top:13px}footer nav a{margin-top:0}}

/* BitBull-style market cards */
.market-card{border:1px solid var(--line);border-radius:7px;padding:12px 11px 9px;background:#fff;box-shadow:2px 2px 2px rgba(27,31,36,.24),5px 8px 14px rgba(27,31,36,.22)}
.market-card-head{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;justify-content:initial;gap:10px}
.market-card-title{min-width:0}
.market-card h3{display:flex;align-items:center;color:#10151a;font-size:clamp(1.15rem,2.4vw,1.65rem);font-weight:950;letter-spacing:-.04em}
.trend-arrow{margin-left:6px;font-size:1.55em;font-weight:950;line-height:.7;text-shadow:0 2px 6px currentColor}
.market-state{display:inline-block;margin-top:3px;padding:3px 7px;font-size:.56rem}
.market-icon{position:relative;display:grid;place-items:center;width:62px;aspect-ratio:1;border:2px solid rgba(255,255,255,.9);border-radius:14px;background:linear-gradient(145deg,#f2f6fa,#dce5ed);box-shadow:0 3px 9px rgba(18,45,70,.20),inset 0 0 0 1px rgba(16,43,70,.10)}
.market-icon b{font-size:1.75rem;line-height:1}.market-icon small{position:absolute;right:4px;bottom:3px;border-radius:5px;padding:1px 4px;color:#fff;background:rgba(16,43,70,.82);font-size:.48rem;font-weight:950;letter-spacing:.04em}
.market-icon.is-us{background:linear-gradient(145deg,#eef6ff,#cfe0f4)}.market-icon.is-jp{background:linear-gradient(145deg,#fff,#f0f0f0)}
.market-icon.is-gold{background:linear-gradient(145deg,#fff3a8,#d9a814)}.market-icon.is-gold b{color:#fff0a0;font-size:2.15rem;text-shadow:0 2px 5px #8d6500}
.market-icon.is-oil{background:linear-gradient(145deg,#434a50,#090b0c)}.market-icon.is-oil b{color:#15191c;font-size:2.4rem;text-shadow:0 0 0 5px #aeb6bc}
.market-icon.is-fx{grid-template-columns:1fr 1fr;gap:0;padding:5px;background:linear-gradient(145deg,#fff,#e8edf1)}.market-icon.is-fx b{font-size:1.35rem}
.market-card>.market-change{margin:5px 0 -4px;padding:2px 5px;text-align:center;background:linear-gradient(90deg,rgba(210,255,61,.05),rgba(210,255,61,.82),rgba(210,255,61,.05));font-size:clamp(1.55rem,3.6vw,2.5rem);font-weight:950;letter-spacing:-.05em;line-height:1.05}
.market-card>.market-change.is-down{background:linear-gradient(90deg,rgba(255,225,67,.03),rgba(255,225,67,.72),rgba(255,225,67,.03))}
.mini-chart{position:relative;height:146px;margin:2px -4px 0}.baseline-price{position:absolute;right:5px;bottom:4px;color:#cf2938;font-size:.68rem;font-weight:950;text-shadow:0 1px #fff}
.market-price-row{display:flex;align-items:baseline;justify-content:center;gap:5px;margin-top:-1px;color:#0f1418}.market-price-row .market-price{font-size:clamp(1.55rem,3.2vw,2.35rem);line-height:1}.market-price-row small{color:#6e7881;font-size:.58rem;font-weight:900}
html[data-theme="dark"] .market-card{border-color:#3c4a54;background:#f8fafb}html[data-theme="dark"] .market-card h3,html[data-theme="dark"] .market-price-row{color:#10151a}
@media(max-width:720px){.market-grid{gap:9px}.market-card{border-radius:9px;padding:8px 7px 7px}.market-icon{width:46px;border-radius:11px}.market-icon b{font-size:1.3rem}.market-icon.is-fx b{font-size:.95rem}.market-icon small{right:2px;bottom:2px;font-size:.4rem}.market-card h3{font-size:.88rem}.trend-arrow{margin-left:3px}.market-card>.market-change{font-size:1.45rem}.mini-chart{height:105px}.market-price-row .market-price{font-size:1.25rem}}
@media(max-width:380px){.market-icon{width:41px}.market-card h3{font-size:.78rem}.market-card>.market-change{font-size:1.25rem}.market-price-row .market-price{font-size:1.08rem}}

/* Frameless icons and the same chart language as BitBull */
.market-icon,.market-icon.is-us,.market-icon.is-jp,.market-icon.is-gold,.market-icon.is-oil,.market-icon.is-fx{display:grid;width:72px;aspect-ratio:1;place-items:center;border:0;border-radius:0;padding:0;background:none;box-shadow:none;font-size:3.65rem;line-height:1;filter:drop-shadow(0 4px 5px rgba(18,45,70,.20))}
.market-icon.is-gold,.market-icon.is-oil,.market-icon.is-fx{font-size:3.8rem}.market-icon b,.market-icon small{display:none}
.mini-chart{height:auto;aspect-ratio:390/220;margin:0;overflow:visible}.stock-sparkline{display:block;width:100%;height:auto;overflow:visible}
.stock-sparkline .plot-fill{opacity:.7}.stock-sparkline .plot-fill-down{opacity:1}.stock-sparkline .price-line{fill:none;stroke:#153fe5;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.stock-sparkline .candle-wick{stroke-width:1.15;vector-effect:non-scaling-stroke}.stock-sparkline .candle-body{stroke-width:.8;vector-effect:non-scaling-stroke}.stock-sparkline .candle-up{fill:#16a85b;stroke:#078846}.stock-sparkline .candle-down{fill:#ef4050;stroke:#cf2637}.stock-sparkline .candle-flat{fill:#f5b62d;stroke:#cf8c13}.stock-sparkline .change-candle{stroke-width:0}
.stock-sparkline .grid-line{stroke:#45c8e8;stroke-width:1.3;opacity:.88;vector-effect:non-scaling-stroke}.stock-sparkline .baseline-line{stroke:#ef2b2d;stroke-width:2.2;vector-effect:non-scaling-stroke}
.stock-sparkline{overflow:visible}.stock-sparkline .baseline-label{fill:#d93025;stroke:#fff;stroke-width:3px;paint-order:stroke fill;font-size:16px;font-weight:900}.stock-sparkline .grid-label{fill:#3189a3;font-size:18px;font-weight:900}.stock-sparkline .grid-label.grid-label--crowded{font-size:16px}.stock-sparkline .nonpositive-label{fill:#d82224}.stock-sparkline .current-pointer{stroke:none;stroke-linejoin:round;filter:drop-shadow(0 0 1.5px currentColor)}
.stock-sparkline .extrema-line{stroke-width:1;stroke-linecap:round;opacity:.9;pointer-events:none;vector-effect:non-scaling-stroke}.stock-sparkline .extrema-line-high{stroke:#21e875}.stock-sparkline .extrema-line-low{stroke:#ff42ad}.stock-sparkline .extrema-label{stroke:#fff;stroke-width:2.5px;paint-order:stroke fill;font-size:14px;font-weight:800;letter-spacing:-.02em;pointer-events:none}.stock-sparkline .extrema-label-high{fill:#14b95c}.stock-sparkline .extrema-label-low{fill:#dc268c}
.stock-sparkline .stock-time-tick{stroke:#aeb9c1;stroke-width:1;vector-effect:non-scaling-stroke}.stock-sparkline .stock-time-label{fill:#74818a;font-size:10px;font-weight:800}
.stock-sparkline .current-pointer.pointer-up{fill:#21e875;color:#21e875}.stock-sparkline .current-pointer.pointer-down{fill:#ff42ad;color:#ff42ad}.stock-sparkline .current-pointer.pointer-flat{fill:#35d9f3;color:#35d9f3}
html[data-theme="dark"] .stock-sparkline .grid-label{fill:#70d8ec}html[data-theme="dark"] .stock-sparkline .nonpositive-label{fill:#ff6269}
.stock-brand{padding-bottom:9px;font-family:Arial Black,Arial,sans-serif;font-weight:900;letter-spacing:-.105em;text-shadow:0 1px 0 rgba(255,255,255,.8);transform:skew(-9deg)}.stock-brand i{right:-5px;bottom:2px;left:0;height:5px;border-radius:80% 12px 12px 70%;background:linear-gradient(90deg,#e3a516 0 42%,#08a851 72%);transform:rotate(-3.3deg)}.stock-brand i::after{right:-1px;top:-8px;width:13px;height:13px;border-width:5px}
@media(max-width:720px){.market-icon,.market-icon.is-us,.market-icon.is-jp,.market-icon.is-gold,.market-icon.is-oil,.market-icon.is-fx{width:52px;font-size:2.7rem}.market-icon.is-gold,.market-icon.is-oil,.market-icon.is-fx{font-size:2.85rem}.mini-chart{height:auto}.stock-sparkline .baseline-label{font-size:16px}.stock-brand{font-size:1.75rem}}
@media(max-width:380px){.market-icon,.market-icon.is-us,.market-icon.is-jp,.market-icon.is-gold,.market-icon.is-oil,.market-icon.is-fx{width:46px;font-size:2.35rem}.market-icon.is-gold,.market-icon.is-oil,.market-icon.is-fx{font-size:2.5rem}}

/* Shared BitBull card behaviour */
.market-card{--change-bg:#f3f4f6;content-visibility:auto;contain-intrinsic-size:auto 360px}.change-strip{display:flex;align-items:center;justify-content:flex-end;min-height:clamp(52px,4.5vw,64px);margin:-45px -11px 0 84px;padding:3px clamp(12px,1.4vw,20px);background:var(--change-bg)}
.mini-chart[data-chart-pending="true"]{background:linear-gradient(180deg,transparent 49%,rgba(69,200,232,.22) 50%,transparent 51%)}
.change-strip .market-change{margin:0;padding:0;background:none;font-size:clamp(2.05rem,3.4vw,3.05rem);font-weight:900;letter-spacing:-.045em;line-height:1;text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff}.positive .market-change{color:#078b36}.negative .market-change{color:#d51d23}
.positive[data-band-level="high"] .market-change{color:#006f4e}.positive[data-band-level="extreme"] .market-change{color:#005d68;filter:drop-shadow(0 0 4px rgba(53,232,255,.42))}.negative[data-band-level="high"] .market-change,.negative[data-band-level="extreme"] .market-change{color:#fff;text-shadow:-1px -1px 0 #64152f,1px -1px 0 #64152f,-1px 1px 0 #64152f,1px 1px 0 #64152f}.negative[data-band-level="extreme"] .market-change{filter:drop-shadow(0 0 4px rgba(255,73,119,.36))}
.market-card.unavailable .market-change{color:#6f7a82;font-size:clamp(.9rem,2vw,1.15rem);letter-spacing:.03em;text-shadow:none}.market-card.unavailable .mini-chart{color:#7a858d}
.tick-arrow{display:block;width:clamp(22px,2.15vw,34px);height:clamp(25px,2.6vw,39px);margin-left:7px;flex:0 0 auto;opacity:0;background:currentColor;clip-path:polygon(50% 0,100% 45%,72% 45%,72% 100%,28% 100%,28% 45%,0 45%);pointer-events:none;will-change:transform,opacity,filter}.market-card.tick-up .tick-arrow{color:#20f578;animation:stockTickUp .8s ease-out both}.market-card.tick-down .tick-arrow{color:#ff3155;clip-path:polygon(28% 0,72% 0,72% 55%,100% 55%,50% 100%,0 55%,28% 55%);animation:stockTickDown .8s ease-out both}.market-card.tick-up .market-change{animation:stockFlashUp .8s ease-out}.market-card.tick-down .market-change{animation:stockFlashDown .8s ease-out}
@keyframes stockTickUp{0%{opacity:0;transform:translateY(12px) scale(.7);filter:drop-shadow(0 0 0 #20f578)}35%{opacity:1;transform:translateY(-4px) scale(1.16);filter:drop-shadow(0 0 7px #20f578)}100%{opacity:0;transform:translateY(-18px) scale(.88)}}@keyframes stockTickDown{0%{opacity:0;transform:translateY(-12px) scale(.7);filter:drop-shadow(0 0 0 #ff3155)}35%{opacity:1;transform:translateY(4px) scale(1.16);filter:drop-shadow(0 0 7px #ff3155)}100%{opacity:0;transform:translateY(18px) scale(.88)}}@keyframes stockFlashUp{35%{color:#00c957;filter:drop-shadow(0 0 5px rgba(32,245,120,.62))}}@keyframes stockFlashDown{35%{color:#ff174b;filter:drop-shadow(0 0 5px rgba(255,49,85,.58))}}
.stock-controls{display:flex;justify-content:flex-start;margin:10px 0 0}.power-save-control{display:inline-flex;min-height:36px;padding:5px 9px;align-items:center;gap:7px;border:1px solid rgba(8,126,66,.2);border-radius:999px;color:#47504b;background:#f5f7f6;box-shadow:0 2px 7px rgba(32,54,42,.08);font-size:.72rem;font-weight:950}.power-save-toggle{position:relative;width:48px;height:28px;padding:0;border:0;border-radius:999px;background:#b8bec2;box-shadow:inset 0 1px 3px rgba(26,34,30,.2);cursor:pointer}.power-save-toggle span{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(17,29,23,.3);transition:transform .22s cubic-bezier(.2,.75,.25,1)}.power-save-toggle[aria-checked="true"]{background:#0aa357}.power-save-toggle[aria-checked="true"] span{transform:translateX(20px)}.power-save-control b{min-width:23px;color:#68716c;font-size:.69rem;text-align:center}.power-save-toggle[aria-checked="true"]+b{color:#078442}
html[data-power-save="true"] .tick-arrow{opacity:0!important}html[data-power-save="true"] .market-card{box-shadow:2px 2px 2px rgba(31,45,38,.22),5px 8px 12px rgba(31,45,38,.19)}html[data-power-save="true"] .market-card *{animation:none!important}.motion-paused *{animation-play-state:paused!important}.page-hidden *{animation-play-state:paused!important}
@media(max-width:720px){.change-strip{min-height:42px;margin:-33px -7px 0 59px;padding:2px 8px}.change-strip .market-change{font-size:clamp(1.3rem,6.2vw,1.75rem)}.tick-arrow{width:18px;height:22px;margin-left:4px}.stock-controls{margin-top:7px}}

/* Match the BitBull card proportions exactly: icon size controls the colour band. */
.market-card{--stock-icon-size:clamp(82px,7vw,108px)}
.market-icon,.market-icon.is-us,.market-icon.is-jp,.market-icon.is-gold,.market-icon.is-oil,.market-icon.is-fx{
  width:var(--stock-icon-size);
  font-size:clamp(4.15rem,6.35vw,5.55rem);
}
.market-icon.is-gold,.market-icon.is-oil{font-size:clamp(4.15rem,6.35vw,5.55rem)}
.market-icon.is-fx{
  color:#fff9cf;
  border:max(2px,calc(var(--stock-icon-size) * .035)) solid #e3a500;
  border-radius:50%;
  background:linear-gradient(145deg,#ffe96a 0%,#ffc400 44%,#e59400 100%);
  box-shadow:
    inset 0 0 0 max(3px,calc(var(--stock-icon-size) * .075)) rgba(255,225,55,.6),
    inset 0 0 0 max(5px,calc(var(--stock-icon-size) * .105)) rgba(177,105,0,.25),
    0 3px 8px rgba(166,102,0,.24);
  filter:none;
  font-family:Arial,Helvetica,sans-serif;
  font-size:calc(var(--stock-icon-size) * .56);
  font-weight:900;
  line-height:1;
  text-shadow:0 2px 2px rgba(132,79,0,.45),0 -1px 0 rgba(255,255,255,.62);
}
.market-icon.is-fx-pair{
  position:relative;
  display:block;
  overflow:visible;
  border:0;
  border-radius:0;
  background:none;
  box-shadow:none;
  filter:none;
}
.market-icon.is-fx-pair .fx-flag{
  position:absolute;
  display:grid;
  width:78%;
  height:64%;
  place-items:center;
  overflow:visible;
  border:0;
  border-radius:0;
  background:none;
  box-shadow:none;
  font-size:calc(var(--stock-icon-size) * .66);
  filter:drop-shadow(0 0 1px #fff) drop-shadow(0 0 1px #fff) drop-shadow(0 4px 4px rgba(20,43,60,.24));
  line-height:1;
}
.market-icon.is-fx-pair .fx-flag-base{top:-2%;left:-4%;z-index:1;transform:rotate(-6deg)}
.market-icon.is-fx-pair .fx-flag-quote{right:-4%;bottom:-2%;z-index:2;transform:rotate(6deg)}
.change-strip{
  margin:calc(var(--stock-icon-size) * -.62) -11px 0 calc(var(--stock-icon-size) + 12px);
}

/* A thin rising swoosh, matching the BitBull wordmark instead of a hooked bar. */
.stock-brand{padding-bottom:10px;transform:skew(-9deg) rotate(-.35deg)}
.stock-brand i{
  right:-3px;
  bottom:2px;
  left:-1px;
  height:3px;
  border-radius:75% 999px 999px 65%;
  background:linear-gradient(90deg,#f39a00 0%,#e6aa12 43%,#10aa4e 72%,#08a851 100%);
  transform:rotate(-3.6deg);
}
.stock-brand i::after{
  right:-4px;
  top:-5px;
  width:14px;
  height:10px;
  border:0;
  border-radius:0;
  background:#08a851;
  clip-path:polygon(0 58%,100% 0,77% 100%);
  transform:rotate(-10deg);
}

@media(max-width:720px){
  .market-card{--stock-icon-size:clamp(62px,17vw,76px)}
  .market-icon,.market-icon.is-us,.market-icon.is-jp,.market-icon.is-gold,.market-icon.is-oil{
    font-size:clamp(3.25rem,15.5vw,4.05rem);
  }
  .market-icon.is-fx{font-size:calc(var(--stock-icon-size) * .56)}
  .change-strip{
    min-height:clamp(38px,10.8vw,44px);
    margin:calc(var(--stock-icon-size) * -.6) -7px 0 calc(var(--stock-icon-size) + 7px);
    padding:2px clamp(5px,1.8vw,8px);
  }
}

@media(max-width:380px){
  .market-card{--stock-icon-size:46px}
  .market-icon,.market-icon.is-us,.market-icon.is-jp,.market-icon.is-gold,.market-icon.is-oil{font-size:2.5rem}
  .market-icon.is-fx{font-size:calc(var(--stock-icon-size) * .56)}
}

/* Stock cards now use the same internal geometry as BitBull cards. */
.market-card{--icon-size:clamp(82px,7vw,108px);padding:clamp(10px,1.25vw,16px);padding-bottom:6px}
.coin-heading{position:relative;z-index:2;display:flex;min-height:var(--icon-size);align-items:flex-start;justify-content:space-between;gap:12px}
.coin-identity{position:relative;z-index:0;display:flex;width:100%;min-width:0;align-items:flex-start;gap:14px;overflow:visible;isolation:isolate}
.coin-identity>div:last-child{min-width:0;flex:1;padding-top:3px}
.coin-symbol-row{position:relative;display:flex;width:100%;min-width:0;align-items:center;justify-content:flex-end;gap:clamp(4px,.45vw,7px);overflow:visible}
.market-status-dot{display:block;width:10px;height:10px;flex:0 0 auto;border-radius:50%}.market-status-dot.is-live{background:#13b95c;box-shadow:0 0 0 0 rgba(19,185,92,.48);animation:marketLivePulse 1.8s ease-out infinite}.market-card .market-status-dot.is-live{animation:none;box-shadow:0 0 0 2px rgba(19,185,92,.13)}.market-status-dot.is-closed{background:#df3543;box-shadow:0 0 0 2px rgba(223,53,67,.12)}
.market-status-dot.is-reference{background:#89949c;box-shadow:0 0 0 2px rgba(137,148,156,.16);animation:none}.yield-card .change-strip{justify-content:space-between;gap:7px}.yield-period-badge{flex:0 0 auto;border:1px solid rgba(65,82,92,.18);border-radius:999px;padding:3px 7px;color:#5f6b73;background:rgba(255,255,255,.72);font-size:.62rem;font-weight:900}.yield-card .change-strip .market-change{letter-spacing:-.02em;white-space:nowrap}
@keyframes marketLivePulse{0%{box-shadow:0 0 0 0 rgba(19,185,92,.52)}65%{box-shadow:0 0 0 7px rgba(19,185,92,0)}100%{box-shadow:0 0 0 0 rgba(19,185,92,0)}}
.market-card h3.coin-symbol{max-width:100%;margin:0;padding:0;overflow:hidden;color:#10151a;font-size:clamp(2rem,2.7vw,2.65rem);font-weight:1000;letter-spacing:-.05em;line-height:1;text-align:right;text-overflow:clip;white-space:nowrap;transform:skewX(-12deg);transform-origin:right center}
.coin-icon-shell.market-icon{position:relative;z-index:3;width:var(--icon-size);height:var(--icon-size);flex:0 0 auto;overflow:hidden;border:0;border-radius:0;background:none;box-shadow:none;font-size:clamp(4.15rem,6.35vw,5.55rem);filter:drop-shadow(0 4px 5px rgba(18,45,70,.2))}
.coin-icon-shell.market-icon.is-market-flag-art{display:block;overflow:visible;font-size:0;filter:drop-shadow(0 4px 5px rgba(18,45,70,.18))}
.market-flag-art-image{display:block;width:100%;height:100%;object-fit:contain}
.coin-icon-shell.market-icon.dollar-icon{
  display:grid;place-items:center;overflow:hidden;
  color:#fff9cf;
  font-family:Arial,Helvetica,sans-serif;
  font-size:calc(var(--icon-size) * .56);
  font-weight:900;
  line-height:1;
  text-shadow:0 2px 2px rgba(132,79,0,.45),0 -1px 0 rgba(255,255,255,.62);
  border:max(2px,calc(var(--icon-size) * .035)) solid #e3a500;
  border-radius:50%;
  background:linear-gradient(145deg,#ffe96a 0%,#ffc400 44%,#e59400 100%);
  box-shadow:inset 0 0 0 max(3px,calc(var(--icon-size) * .075)) rgba(255,225,55,.6),inset 0 0 0 max(5px,calc(var(--icon-size) * .105)) rgba(177,105,0,.25),0 3px 8px rgba(166,102,0,.24);
  filter:none;
}
.coin-icon-shell.market-icon.commodity-symbol-icon{display:grid;place-items:center;overflow:visible;font-size:calc(var(--icon-size) * .7);line-height:1;filter:drop-shadow(0 4px 5px rgba(18,45,70,.2))}
.coin-icon-shell.market-icon.dollar-icon.is-dollar-index{font-size:calc(var(--icon-size) * .27);letter-spacing:-.04em}
.change-strip{position:relative;min-height:clamp(52px,4.5vw,64px);margin:calc(var(--icon-size) * -.62) calc(clamp(10px,1.25vw,16px) * -1) 0 calc(var(--icon-size) + 12px);padding:3px clamp(12px,1.4vw,20px)}
.change-strip .market-change{font-size:clamp(2.23rem,3.7vw,3.32rem)}
.tick-arrow{position:absolute;z-index:7;right:auto;left:clamp(4px,.65vw,10px);top:0;bottom:0;width:clamp(22px,2.15vw,34px);height:clamp(28px,3.1vw,46px);margin:auto 0}
.market-card.tick-up .tick-arrow{animation:tickArrowUp .8s ease-out both}
.market-card.tick-down .tick-arrow{animation:tickArrowDown .8s ease-out both}
.market-card.tick-up .change{animation:changeFlashUp .8s ease-out}
.market-card.tick-down .change{animation:changeFlashDown .8s ease-out}
@keyframes tickArrowUp{0%{opacity:0;transform:translateY(10px) scale(.72);filter:drop-shadow(0 0 0 transparent)}18%,58%{opacity:1;transform:translateY(-2px) scale(1.12);filter:drop-shadow(0 0 7px #20f578)}100%{opacity:0;transform:translateY(-13px) scale(.92);filter:drop-shadow(0 0 2px rgba(32,245,120,.2))}}
@keyframes tickArrowDown{0%{opacity:0;transform:translateY(-10px) scale(.72);filter:drop-shadow(0 0 0 transparent)}18%,58%{opacity:1;transform:translateY(2px) scale(1.12);filter:drop-shadow(0 0 7px #ff3155)}100%{opacity:0;transform:translateY(13px) scale(.92);filter:drop-shadow(0 0 2px rgba(255,49,85,.2))}}
@keyframes changeFlashUp{0%,100%{filter:none}28%,58%{color:#20f578;filter:drop-shadow(0 0 7px rgba(32,245,120,.95));transform:scale(1.035)}}
@keyframes changeFlashDown{0%,100%{filter:none}28%,58%{color:#ff3155;filter:drop-shadow(0 0 7px rgba(255,49,85,.9));transform:scale(1.035)}}
.stock-brand{display:block;width:clamp(176px,18vw,255px);height:auto;padding:0;transform:none}
.stock-brand img{display:block;width:100%;height:auto}
.stock-brand i{display:none}
@media(max-width:720px){
  .market-card{--icon-size:clamp(62px,17vw,76px);padding:clamp(8px,2.4vw,10px);padding-bottom:5px}
  .market-card:not(.equity-card) .coin-icon-shell.market-icon:not(.dollar-icon){overflow:visible}
  .coin-heading{gap:0}
  .coin-identity{gap:clamp(5px,1.6vw,8px)}
  .coin-identity>div:last-child{padding-top:2px}
  .market-card h3.coin-symbol{max-width:100%;overflow:hidden;padding-right:0;font-size:clamp(1.25rem,5.8vw,1.65rem);letter-spacing:-.035em;text-overflow:clip}
  .change-strip{min-height:clamp(38px,10.8vw,44px);margin:calc(var(--icon-size) * -.6) calc(clamp(8px,2.4vw,10px) * -1) 0 calc(var(--icon-size) + 7px);padding:2px clamp(5px,1.8vw,8px)}
  .change-strip .market-change{font-size:clamp(1.42rem,6.75vw,1.91rem)}
  .tick-arrow{right:auto;left:4px;width:clamp(18px,5vw,23px);height:clamp(22px,6.8vw,30px)}
  .market-status-dot{width:8px;height:8px}
  .stock-brand{width:clamp(145px,42vw,180px)}
}
html[data-power-save="true"] .market-status-dot.is-live{animation:none;box-shadow:0 0 0 2px rgba(19,185,92,.13)}
@media(max-width:380px){.market-card{--icon-size:46px;padding:7px}.market-card h3.coin-symbol{font-size:1.2rem}}

/* Reference cards inherit BitBull's deliberately compact pair symbol. */
.reference-card .coin-symbol{font-size:clamp(2rem,2.7vw,2.65rem);letter-spacing:-.05em}
.reference-card .coin-symbol-row{gap:2px}

/* Keep the original BitBull Bull lettering, arrow tips and underline image.
   Only the left word is replaced, so the family mark cannot drift. */
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.stock-brand{position:relative;display:block;width:clamp(190px,19vw,272px);aspect-ratio:3/1;overflow:visible;padding:0;transform:none}
.stock-brand-base{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain}
.stock-brand-mask{position:absolute;z-index:1;inset:0 auto 0 -2%;width:44.5%;background:#fff}
.stock-brand-line{position:absolute;z-index:2;inset:0;display:block;width:100%;height:100%;object-fit:contain;clip-path:polygon(18% 83%,88% 63%,88% 80%,18% 94%)}
.stock-brand-word{position:absolute;z-index:3;top:7%;left:-1%;color:#102b46;font-family:"Arial Black",Impact,"Helvetica Neue",Arial,sans-serif;font-size:clamp(2.24rem,4.72vw,3.9rem);font-style:italic;font-weight:1000;letter-spacing:-.105em;line-height:1;-webkit-text-stroke:1px #102b46;text-shadow:1px 0 0 #102b46,-.35px 0 0 #102b46;transform:skew(-7deg) scaleX(.89);transform-origin:left center}

/* The original curve is preserved in an image whose orange pixels alone are navy. */

/* The BitBull reference coin is visually smaller than the full flag/commodity marks. */
.reference-card .coin-icon-shell.market-icon.dollar-icon{transform:none;filter:none}

/* Lock the low-change band to the same visible colour balance as BitBull. */
.change-strip{background-image:var(--change-bg);background-color:#fff;background-repeat:no-repeat;background-size:100% 100%}

@media(max-width:720px){
  .reference-card .coin-symbol{max-width:100%;overflow:hidden;font-size:clamp(1.25rem,5.8vw,1.65rem);letter-spacing:-.035em;text-overflow:clip}
  .stock-brand{width:clamp(160px,43vw,194px)}
  .stock-brand-word{font-size:clamp(2rem,9.2vw,2.65rem)}
}

/* Final logo artwork is a single transparent image—no masks or text overlays. */
.stock-brand{position:relative;display:block;width:clamp(190px,19vw,272px);aspect-ratio:3/1;overflow:visible;padding:0;transform:none}
.stock-brand-final{display:block;width:100%;height:100%;object-fit:contain}
.stock-brand-motion,.stock-brand-wave-slice,.stock-brand-wave-slice img{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none}
.stock-brand-motion{z-index:2;overflow:visible;opacity:0}
.stock-brand-wave-slice{overflow:visible;clip-path:inset(0 var(--slice-right) 0 var(--slice-left));transform:scaleY(1);transform-origin:50% var(--line-anchor)}
.stock-brand-wave-slice img{object-fit:contain}
.stock-brand.logo-intro{animation:stockBrandCatch 2.65s cubic-bezier(.22,.61,.36,1) both;will-change:transform}
.stock-brand.logo-intro .stock-brand-final{animation:stockBrandBaseReveal 2.65s steps(1,end) both}
.stock-brand.logo-intro .stock-brand-motion{animation:stockBrandMotionReveal 2.65s steps(1,end) both}
.stock-brand.logo-intro .stock-brand-wave-slice{animation:stockBrandLetterFlow 1.65s cubic-bezier(.22,.61,.36,1) var(--letter-delay) 1 both;will-change:transform}
.stock-brand.logo-intro::after{position:absolute;z-index:4;inset:0;content:"";background:linear-gradient(100deg,transparent 37%,rgba(255,255,255,.96) 49%,rgba(109,255,174,.62) 53%,transparent 63%);background-position:-55% 0;background-repeat:no-repeat;background-size:36% 100%;mix-blend-mode:screen;opacity:0;pointer-events:none;-webkit-mask:url('/optimized/stockbull-logo-light-v3.webp') center/contain no-repeat;mask:url('/optimized/stockbull-logo-light-v3.webp') center/contain no-repeat;animation:stockBrandShine 2.65s ease-in-out 1 both}
@keyframes stockBrandLetterFlow{0%,4%{transform:scaleY(1)}22%{transform:scaleY(1.13)}42%{transform:scaleY(.985)}58%,100%{transform:scaleY(1)}}
/* The first wave slice stays at scale 1 for 66ms. Retain the base for the
   first 53ms so Safari can paint the decoded slices without a blank frame. */
@keyframes stockBrandBaseReveal{0%,1.5%{opacity:1}2%,49%{opacity:0}50%,100%{opacity:1}}
@keyframes stockBrandMotionReveal{0%,49%{opacity:1}50%,100%{opacity:0}}
@keyframes stockBrandCatch{0%,50%{transform:translateY(0) rotate(0)}55%{transform:translateY(1px) rotate(1.05deg)}59%{transform:translateY(-1px) rotate(-.65deg)}63%{transform:translateY(.5px) rotate(.32deg)}68%,100%{transform:translateY(0) rotate(0)}}
@keyframes stockBrandShine{0%,58%{background-position:-55% 0;opacity:0}62%{opacity:.5}70%{background-position:155% 0;opacity:.82}76%,100%{background-position:155% 0;opacity:0}}
@media(prefers-reduced-motion:reduce){.stock-brand.logo-intro,.stock-brand.logo-intro::after,.stock-brand.logo-intro .stock-brand-wave-slice,.stock-brand.logo-intro .stock-brand-final,.stock-brand.logo-intro .stock-brand-motion{animation:none!important}.stock-brand.logo-intro .stock-brand-final{opacity:1}.stock-brand.logo-intro .stock-brand-motion{display:none}}
.stock-brand-base,.stock-brand-mask,.stock-brand-line,.stock-brand-word{display:none}
@media(max-width:720px){.stock-brand{width:clamp(160px,43vw,194px)}}

/* Phase 2: individual equities, ranking and device-local MY chart. */
.phase-two-nav{position:sticky;z-index:40;top:88px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:14px 0 22px;padding:9px;border:1px solid rgba(16,43,70,.12);border-radius:18px;background:rgba(245,248,250,.92);box-shadow:0 8px 24px rgba(16,43,70,.09);backdrop-filter:blur(16px)}
.phase-two-nav a{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px;min-height:48px;padding:8px 11px;border:1px solid rgba(16,43,70,.13);border-radius:13px;color:var(--ink);background:var(--surface);text-decoration:none;box-shadow:0 3px 10px rgba(16,43,70,.06)}
.phase-two-nav a.counted{grid-template-columns:auto minmax(0,1fr) auto}
.phase-two-nav a>span{font-size:1.15rem}.phase-two-nav strong{overflow:hidden;font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.phase-two-nav small{padding:3px 6px;border-radius:999px;color:#087c3d;background:#e8f8ee;font-size:.64rem;font-weight:950;white-space:nowrap}
.my-stock-section,.ranking-section,.equity-section{scroll-margin-top:170px}
.equity-section{margin-top:clamp(14px,2vw,24px)}
.equity-section+.equity-section{margin-top:clamp(12px,1.6vw,20px)}
.market-category-section{padding-top:clamp(4px,1vw,10px)}
.ranking-section,.my-stock-section{margin-top:clamp(30px,5vw,58px)}
.equity-grid{margin-top:14px}
.stock-letter-icon{position:relative;display:grid!important;place-items:center!important;border-radius:50%!important;color:#fff!important;background:linear-gradient(145deg,#244d73,#102b46)!important;box-shadow:inset 0 0 0 4px rgba(255,255,255,.3),0 4px 9px rgba(16,43,70,.22)!important;font-size:calc(var(--icon-size) * .27)!important;font-weight:1000!important;letter-spacing:-.06em;text-shadow:0 2px 3px rgba(0,0,0,.25)}
.stock-letter-icon.is-jp-stock{background:linear-gradient(145deg,#ee5b68,#b6112b)!important}
.stock-letter-icon.has-stock-logo{overflow:hidden!important;border:1.25px solid #d9dee3!important;border-radius:22%!important;background:#fff!important;box-shadow:0 5px 12px rgba(16,43,70,.22)!important;filter:none!important;transform:translateZ(0);backface-visibility:hidden;isolation:isolate}
.stock-letter-icon.has-stock-logo.is-logo-fallback{border:0!important;background:linear-gradient(145deg,#244d73,#102b46)!important;box-shadow:inset 0 0 0 4px rgba(255,255,255,.3),0 4px 9px rgba(16,43,70,.22)!important}
.stock-letter-icon.has-stock-logo.is-logo-fallback.is-jp-stock{background:linear-gradient(145deg,#ee5b68,#b6112b)!important}
.stock-letter-icon b{font:inherit}.stock-logo-image{position:absolute;z-index:1;inset:0;width:100%;height:100%;border-radius:0;object-fit:contain;background:#fff;image-rendering:auto}.stock-letter-icon:not(.is-logo-fallback) b{visibility:hidden}.stock-letter-icon.is-logo-fallback .stock-logo-image{display:none}.stock-region-mark{position:absolute;z-index:2;right:1px;bottom:1px;display:grid;width:29%;height:29%;place-items:center;border:1px solid #d9dee3;border-radius:50%;background:#fff;font-size:calc(var(--icon-size) * .18);line-height:1;text-shadow:none}
.softbank-symbol-icon{display:grid!important;place-items:center}.softbank-symbol-icon .stock-logo-image{padding:3%;object-fit:contain}
.logo-jp_toyota,.logo-jp_mufg,.logo-jp_smfg,.logo-jp_tokyoelectron,.softbank-symbol-icon{box-shadow:0 5px 12px rgba(16,43,70,.22)!important}
.logo-jp_toyota{border:0!important}
.logo-jp_toyota .stock-logo-image{transform:scale(1.28);transform-origin:center}
.softbank-symbol-icon{border:0!important}
.softbank-symbol-icon .stock-logo-image{padding:0;object-fit:cover;transform:scale(1.045);transform-origin:center}
.logo-us_alphabet .stock-logo-image{padding:12%;object-fit:contain}
.logo-us_apple .stock-logo-image{transform:scale(1.55);transform-origin:center}
.coin-icon-shell.market-icon.is-bullion{overflow:visible;filter:none}
.bullion-bars-icon{display:block;width:100%;height:100%;object-fit:contain;transform:scale(1.18);transform-origin:center}
.coin-icon-shell.market-icon.is-commodity-art{overflow:visible;filter:none}
.commodity-art-image{display:block;width:100%;height:100%;object-fit:contain;transform-origin:center}
.natural-gas-flame-icon{transform:scale(1.08);filter:drop-shadow(0 4px 6px rgba(13,94,180,.2))}
.bullion-gold{filter:drop-shadow(0 5px 6px rgba(126,82,0,.26))}
.bullion-silver{filter:drop-shadow(0 5px 6px rgba(73,88,102,.24))}
.bullion-platinum{filter:drop-shadow(0 5px 6px rgba(36,61,82,.27))}
.bullion-copper{filter:drop-shadow(0 5px 6px rgba(132,55,21,.27))}
.berkshire-symbol-icon{border:0!important;border-radius:22%!important;background:#303793!important;box-shadow:0 5px 12px rgba(16,43,70,.22)!important}
.berkshire-symbol-icon .stock-logo-image{object-fit:cover;background:#303793}
.equity-card .coin-heading{z-index:4}
.equity-card .coin-symbol{font-size:clamp(1.35rem,2.1vw,2rem)}
.favorite-stock-button{position:absolute;z-index:6;top:-7px;right:-7px;width:38px;height:38px;padding:0;border:1px solid rgba(215,166,42,.35);border-radius:50%;color:#b28510;background:rgba(255,255,255,.92);box-shadow:0 3px 9px rgba(16,43,70,.12);font-size:1.45rem;line-height:1;cursor:pointer}
.favorite-stock-button[aria-pressed="true"]{color:#e0a900;background:#fff8d9}
.stock-empty{margin-top:14px;border:1px dashed #c9d3da;border-radius:18px;padding:22px;color:var(--muted);background:rgba(255,255,255,.55);font-weight:800;text-align:center}
.stock-ranking{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0 0;padding:0;list-style:none}
.stock-ranking button{display:grid;width:100%;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:9px;min-height:52px;padding:8px 12px;border:1px solid var(--line);border-radius:14px;color:var(--ink);background:var(--surface);box-shadow:0 4px 12px rgba(16,43,70,.07);text-align:left;cursor:pointer}
.ranking-number{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(145deg,var(--navy),var(--blue));font-size:.78rem;font-weight:1000}
.stock-ranking li:first-child .ranking-number{color:#6f4e00;background:linear-gradient(145deg,#fff5a8,#e3a817)}
.ranking-region{font-size:1.15rem}.stock-ranking strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stock-ranking .is-up{color:#078b36;font-weight:1000}.stock-ranking .is-down{color:#d51d23;font-weight:1000}
html[data-theme="dark"] .phase-two-nav{border-color:#30404b;background:rgba(11,16,21,.92)}html[data-theme="dark"] .phase-two-nav a{border-color:#33414b;background:#151c22}html[data-theme="dark"] .phase-two-nav small{color:#7fe6aa;background:#173425}html[data-theme="dark"] .stock-empty{background:rgba(21,28,34,.7)}html[data-theme="dark"] .stock-ranking button{background:#151c22}html[data-theme="dark"] .favorite-stock-button{border-color:#5d5130;background:#20262b}
@media(max-width:720px){
  .phase-two-nav{position:relative;top:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:10px;padding:7px}
  .phase-two-nav a{min-height:44px;padding:7px 8px}.phase-two-nav strong{font-size:.75rem}.phase-two-nav small{font-size:.58rem}
  .my-stock-section,.ranking-section,.equity-section{scroll-margin-top:82px}
  .equity-section{margin-top:14px}.equity-section+.equity-section{margin-top:12px}.ranking-section,.my-stock-section{margin-top:30px}
  .equity-card .coin-symbol{font-size:clamp(.9rem,4.2vw,1.2rem)}
  .favorite-stock-button{top:-11px;right:-5px;width:31px;height:31px;font-size:1.15rem}
  .coin-icon-shell.market-icon.is-bullion{padding:1px}
  .stock-ranking{grid-template-columns:1fr}
  .stock-ranking button{min-height:47px}
}
@media(min-width:721px) and (max-width:1050px){.phase-two-nav{top:82px;grid-template-columns:repeat(2,minmax(0,1fr))}.my-stock-section,.ranking-section,.equity-section{scroll-margin-top:220px}}

/* Long-term asset: All Country fund. */
.fund-icon{overflow:hidden!important;border-radius:22%!important;filter:drop-shadow(0 4px 7px rgba(16,43,70,.18))!important}
.fund-icon img{display:block;width:100%;height:100%;object-fit:cover}
.long-asset-section{padding:clamp(12px,2vw,20px);border:1px solid rgba(16,43,70,.12);border-radius:22px;background:linear-gradient(135deg,rgba(230,240,250,.82),rgba(240,252,244,.78));box-shadow:0 10px 28px rgba(16,43,70,.07)}
.long-asset-section .market-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.fund-message{margin:10px 0 0;color:var(--muted);font-size:.82rem;font-weight:800}
html[data-theme="dark"] .long-asset-section{border-color:#30404b;background:linear-gradient(135deg,rgba(16,43,70,.54),rgba(16,62,42,.4))}
@media(max-width:720px){.long-asset-section{padding:9px}.long-asset-section .market-grid{grid-template-columns:1fr}.phase-two-nav{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Independent Japan/US market sessions and a restrained dark-logo outline. */
.session-card{display:grid;grid-template-columns:1fr;gap:7px;min-width:238px;padding:14px 17px}
.session-card>small{display:block;color:var(--muted);font-size:.62rem;font-weight:900;letter-spacing:.1em}
.session-row{display:grid;grid-template-columns:10px minmax(0,1fr);align-items:center;gap:9px}
.session-row>span{width:10px;height:10px;border-radius:50%;background:#df3543;box-shadow:0 0 0 4px rgba(223,53,67,.12)}
.session-row>span.is-live{background:var(--green);box-shadow:0 0 0 4px rgba(10,154,85,.14)}
.session-row strong{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0;font-size:.8rem}
.session-row em{color:var(--muted);font-size:.72rem;font-style:normal;white-space:nowrap}
.session-card>time{display:block;margin:0 0 0 19px;color:var(--muted);font-size:.68rem}
html[data-theme="dark"] .stock-brand-final{filter:none}

/* Unified navigation icons. */
.ranking-tab-icon{width:22px;height:21px;flex:0 0 auto;overflow:visible;fill:none;stroke:#08a84f;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
.ranking-tab-icon .ranking-tab-arrow{fill:#08a84f;stroke:none}

/* StockBull opening screen. */
.stock-loader{background:rgba(250,252,253,.965);backdrop-filter:blur(7px)}
.stock-loader .loader-brand{width:min(88vw,620px);gap:clamp(10px,1.8vh,18px)}
.stock-loader-logo{display:block;width:min(72vw,470px);height:auto;object-fit:contain;filter:drop-shadow(0 8px 14px rgba(16,43,70,.08))}
.stock-loader-icon{display:block;width:clamp(130px,18vw,190px);height:clamp(130px,18vw,190px);border-radius:24%;object-fit:cover;box-shadow:0 15px 34px rgba(16,43,70,.14)}
.stock-loader-dots{display:flex;align-items:center;justify-content:center;gap:58px;height:18px}
.stock-loader-dots i{display:block;width:13px;height:13px;border:0;border-radius:50%;background:var(--navy);box-shadow:0 0 0 6px rgba(16,43,70,.08);animation:stockLoaderPulse 1.25s ease-in-out infinite}
.stock-loader-dots i+ i{background:var(--green);box-shadow:0 0 0 6px rgba(10,154,85,.09);animation-delay:.22s}
.stock-loader .loader-brand>strong{color:#34434d;font-size:clamp(.93rem,2vw,1.16rem);font-weight:900;letter-spacing:.01em}
@keyframes stockLoaderPulse{0%,100%{opacity:.42;transform:scale(.72)}50%{opacity:1;transform:scale(1.08)}}
@media(max-width:720px){.stock-loader-logo{width:min(82vw,360px)}.stock-loader-icon{width:132px;height:132px}.stock-loader-dots{gap:46px}}

/* Reciprocal BitBull board switch. */
.stock-header-switch{justify-self:start;display:flex;min-width:0;align-items:center;gap:8px}
.bitbull-switch-link{display:inline-flex;width:128px;height:44px;min-width:0;align-items:center;justify-content:center;gap:7px;padding:5px 10px;border:1px solid rgba(91,108,101,.25);border-radius:13px;color:var(--ink);background:rgba(255,255,255,.92);box-shadow:0 4px 13px rgba(16,43,70,.08),0 0 0 1px rgba(10,154,85,.04),0 0 15px rgba(10,154,85,.12);font-size:.72rem;text-decoration:none}
.bitbull-switch-link>span{color:var(--green);font-size:1rem;font-weight:1000}
.bitbull-switch-link img{display:block;width:88px;height:29px;object-fit:contain}
.bitbull-switch-link strong{font-size:.69rem;font-weight:900;white-space:nowrap}
.stock-header-switch .preview-badge{font-size:.55rem;padding:5px 7px}
html[data-theme="dark"] .bitbull-switch-link{border-color:#425049;background:#151c22;box-shadow:0 4px 14px rgba(0,0,0,.2),0 0 14px rgba(49,177,108,.11)}
@media(max-width:720px){.stock-header-switch{gap:3px}.bitbull-switch-link{width:96px;height:40px;gap:4px;padding:4px 6px}.bitbull-switch-link img{width:66px;height:25px}.bitbull-switch-link>span{font-size:.88rem}}

/* Device-local MY chart ordering for every asset class. */
.my-chart-reorder{position:relative;z-index:7;display:none;width:100%;min-height:42px;margin:0 0 9px;padding:6px 9px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid rgba(16,43,70,.16);border-radius:12px;color:var(--navy);background:linear-gradient(135deg,#f8fbfd,#edf4f8);box-shadow:0 3px 9px rgba(16,43,70,.1);line-height:1;cursor:grab;touch-action:none}
.my-chart-reorder>span{display:grid;width:28px;height:28px;place-items:center;border-radius:8px;color:#fff;background:linear-gradient(145deg,var(--navy),var(--blue));font-size:1.1rem;font-weight:1000}.my-chart-reorder>strong{overflow:hidden;font-size:.86rem;text-align:left;text-overflow:ellipsis;white-space:nowrap}.my-chart-reorder>small{color:var(--muted);font-size:.58rem;font-weight:900}
.my-stock-section.is-editing .my-chart-reorder{display:block}
.my-chart-reorder:active,.market-card.is-reordering .my-chart-reorder{cursor:grabbing}
.market-card.is-reordering{z-index:20;opacity:.88;border:3px solid #1976ed!important;transform:scale(.975);box-shadow:0 18px 38px rgba(16,43,70,.22),0 0 0 3px rgba(25,118,237,.15)}
.market-card.is-drop-target{border:3px solid #ee3e48!important;box-shadow:0 0 0 3px rgba(238,62,72,.15),0 12px 30px rgba(16,43,70,.15)}
body.is-reordering-my-chart{overscroll-behavior:none;user-select:none}
.my-stock-heading-actions{display:flex;align-items:center;gap:10px}.my-stock-heading-actions>p{margin:0;color:var(--muted);font-size:.78rem;font-weight:700;text-align:right}.my-reorder-toggle{display:inline-flex;min-height:40px;align-items:center;gap:6px;padding:6px 11px;border:1px solid rgba(10,154,85,.3);border-radius:12px;color:#087f45;background:#fff;box-shadow:0 4px 12px rgba(16,43,70,.08);font-size:.74rem;font-weight:900;cursor:pointer}.my-reorder-toggle>span{font-size:1rem}.my-reorder-toggle[aria-pressed="true"]{border-color:#f39800;color:#fff;background:linear-gradient(135deg,#f7a719,#f08700)}
html[data-theme="dark"] .my-chart-reorder{border-color:#46545e;color:#d8e7f2;background:linear-gradient(135deg,#202a31,#182027)}
html[data-theme="dark"] .my-reorder-toggle{border-color:#345044;color:#7ce5ab;background:#18211e}html[data-theme="dark"] .my-reorder-toggle[aria-pressed="true"]{border-color:#f39800;color:#fff;background:linear-gradient(135deg,#f7a719,#f08700)}
.my-stock-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.my-favorite-toggle{display:inline-flex;min-height:40px;align-items:center;gap:6px;padding:7px 11px;border:1px solid rgba(8,142,67,.32);border-radius:11px;color:#087f47;background:linear-gradient(145deg,#fff,#eefaf3);font-weight:900;cursor:pointer}.my-favorite-toggle>span{color:#c59311;font-size:1.15rem}.my-favorite-toggle.is-open{color:#fff;background:linear-gradient(135deg,#086da0,#08a95b)}.my-favorite-toggle.is-open>span{color:#ffe15b}.my-favorite-picker{margin:0 0 13px;padding:12px;border:1px solid rgba(8,142,67,.2);border-radius:15px;background:linear-gradient(145deg,#f8fbfd,#eef9f3);box-shadow:0 7px 20px rgba(12,50,70,.08)}.my-favorite-picker-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:9px}.my-favorite-picker-head strong{font-size:.9rem}.my-favorite-picker-head small{color:var(--muted);font-weight:750}.my-favorite-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:6px}.my-favorite-options button{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:0 6px;min-height:48px;padding:6px 8px;border:1px solid #d8e1e5;border-radius:10px;color:#26343e;background:#fff;text-align:left;cursor:pointer}.my-favorite-options button>span{grid-row:1/3;color:#a3adb4;font-size:1.25rem}.my-favorite-options button>strong{overflow:hidden;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.my-favorite-options button>small{color:#7b878f;font-size:.58rem;font-weight:750}.my-favorite-options button[aria-pressed="true"]{border-color:#e2b72d;color:#0c653d;background:linear-gradient(135deg,#fffbed,#effbdc);box-shadow:inset 0 0 0 1px rgba(226,183,45,.18)}.my-favorite-options button[aria-pressed="true"]>span{color:#e1aa00}html[data-theme="dark"] .my-favorite-toggle{border-color:#345044;color:#7ce5ab;background:#18211e}html[data-theme="dark"] .my-favorite-picker{border-color:#30463c;background:linear-gradient(145deg,#182229,#14201b)}html[data-theme="dark"] .my-favorite-options button{border-color:#34434b;color:#eaf2ef;background:#1b252b}
@media(max-width:720px){.my-chart-reorder{min-height:38px;margin-bottom:7px;padding:5px 7px;gap:6px}.my-chart-reorder>span{width:25px;height:25px;font-size:.95rem}.my-chart-reorder>strong{font-size:.76rem}.my-chart-reorder>small{font-size:.5rem}.my-stock-heading-actions{display:grid;justify-items:end;gap:5px}.my-stock-heading-actions>p{max-width:150px;font-size:.68rem}.my-reorder-toggle{min-height:36px;padding:5px 9px;font-size:.68rem}}

/* Keep unified-tab artwork inside its button on narrow screens. */
.category-tabs button{overflow:hidden}.category-tabs button>span{display:grid;width:1.18em;height:1.18em;flex:0 0 auto;place-items:center;overflow:hidden;font-size:.94rem;line-height:1}.ranking-tab-icon{width:19px;height:18px}
@media(max-width:720px){.category-tabs button{gap:4px;padding-inline:7px}.category-tabs button>span{width:1.15em;height:1.15em;overflow:visible;font-size:.78rem}.category-tabs .ranking-tab-icon{width:15px;height:15px;stroke-width:3.5}.category-tabs button[data-filter="my"]>small,.category-tabs button[data-filter="ranking"]>small{display:none}}
.category-tabs .category-bullion-icon{display:grid;width:1.45em;height:1.45em;place-items:center;overflow:visible;flex:0 0 auto}
.category-tabs .category-bullion-icon img{display:block;width:116%;height:116%;max-width:none;object-fit:contain;filter:drop-shadow(0 2px 2px rgba(126,82,0,.24));transform:translate(-9%,-7%)}
@media(max-width:720px){.category-tabs .category-bullion-icon{width:1.32em;height:1.32em}.category-tabs .category-bullion-icon img{width:120%;height:120%;transform:translate(-10%,-8%)}}
.stock-board-heading-tools{display:flex;align-items:center;gap:9px}.stock-board-heading-tools>p{margin:0;color:var(--muted);font-size:.78rem;font-weight:700;text-align:right}.stock-chart-mode{display:flex;flex:0 0 auto;overflow:hidden;border:1px solid rgba(8,142,67,.28);border-radius:8px;background:#fff;box-shadow:0 3px 9px rgba(7,133,62,.1)}.stock-chart-mode button{display:grid;width:38px;height:34px;padding:5px;place-items:center;border:0;border-right:1px solid #e1e4e8;color:#60676d;background:#fff;cursor:pointer}.stock-chart-mode button:last-child{border-right:0}.stock-chart-mode button[aria-pressed="true"]{color:#fff;background:linear-gradient(145deg,#08a65b,#087b43)}.stock-chart-mode svg{width:25px;height:21px;overflow:visible;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.stock-chart-mode rect{fill:currentColor;stroke-width:1.5}.stock-column-picker{position:relative;display:flex;flex:0 0 auto}.stock-column-picker button{width:34px;height:34px;border:0;border-right:1px solid #e1e4e8;color:#60656d;background:#fff;font-size:.82rem;font-weight:800;cursor:pointer}.stock-column-picker-options{position:absolute;z-index:30;right:38px;top:0;display:none;overflow:hidden;border:1px solid rgba(8,142,67,.28);border-radius:8px;background:#fff;box-shadow:0 7px 20px rgba(7,48,32,.2)}.stock-column-picker.is-open .stock-column-picker-options{display:flex}.stock-column-picker button.active{color:#fff;background:#24272c}.stock-column-picker .stock-column-toggle{border:1px solid rgba(8,142,67,.28);border-radius:8px;background:linear-gradient(145deg,#fff 24%,#f3fbf6 100%);box-shadow:0 3px 9px rgba(7,133,62,.1);font-weight:900}
html[data-theme="dark"] .stock-chart-mode{border-color:#2d6550;background:#1b2426}html[data-theme="dark"] .stock-chart-mode button{border-color:#3a4548;color:#d7dfdf;background:#202a2c}html[data-theme="dark"] .stock-chart-mode button[aria-pressed="true"]{color:#fff;background:linear-gradient(145deg,#0bb565,#087b43)}
@media(max-width:720px){.stock-board-heading-tools>p{max-width:130px;font-size:.68rem}.stock-column-picker-options [data-stock-columns="5"]{display:none}}
@media(max-width:600px){.stock-board-heading-tools>p{display:none}.stock-board-heading-tools{gap:6px}.stock-chart-mode button{width:34px}}
@media(max-width:720px) and (orientation:portrait){.stock-column-picker-options [data-stock-columns="4"]{display:none}}
@media(max-height:720px) and (orientation:landscape){.stock-column-picker-options [data-stock-columns="5"]{display:none}}
.market-grid{grid-template-columns:repeat(var(--stock-columns,4),minmax(0,1fr))}
@media(max-width:980px){.market-grid{grid-template-columns:repeat(var(--stock-columns,3),minmax(0,1fr))}}
@media(max-width:720px){
  .market-grid,.long-asset-section .market-grid{grid-template-columns:repeat(var(--stock-columns,2),minmax(0,1fr))}
  html[data-stock-columns="3"] .market-card{--icon-size:46px;padding:6px 5px 4px}
  html[data-stock-columns="3"] .market-card h3.coin-symbol{font-size:clamp(.86rem,3.9vw,1.05rem)}
  html[data-stock-columns="3"] .change-strip{min-height:32px;margin:-28px -5px 0 51px;padding-inline:3px}
  html[data-stock-columns="3"] .change-strip .market-change{font-size:clamp(.9rem,4.1vw,1.1rem)}
  html[data-stock-columns="3"] .market-price-row .market-price{font-size:clamp(.9rem,4vw,1.06rem)}
  html[data-stock-columns="4"] .market-grid{gap:5px}
  html[data-stock-columns="4"] .market-card{--icon-size:31px;padding:4px 3px 3px;border-radius:6px}
  html[data-stock-columns="4"] .coin-identity{gap:2px}
  html[data-stock-columns="4"] .market-status-dot{width:5px;height:5px}
  html[data-stock-columns="4"] .market-card h3.coin-symbol{font-size:clamp(.6rem,2.7vw,.76rem);letter-spacing:-.06em}
  html[data-stock-columns="4"] .favorite-stock-button{top:-3px;right:-2px;width:18px;height:18px;font-size:.7rem}
  html[data-stock-columns="4"] .change-strip{min-height:24px;margin:-19px -3px 0 34px;padding:1px 2px}
  html[data-stock-columns="4"] .change-strip .market-change{font-size:clamp(.66rem,2.9vw,.8rem)}
  html[data-stock-columns="4"] .tick-arrow{right:auto;left:2px;width:12px;height:17px}
  html[data-stock-columns="3"] .stock-sparkline .baseline-label{font-size:16px}
  html[data-stock-columns="4"] .stock-sparkline .baseline-label{font-size:16px}
  html[data-stock-columns="4"] .market-price-row{gap:2px}
  html[data-stock-columns="4"] .market-price-row .market-price{font-size:clamp(.66rem,2.9vw,.8rem)}
  html[data-stock-columns="4"] .market-price-row small{font-size:.42rem}
}
/* Match BitBull's icon and type scaling at each density. */
html[data-stock-columns="3"] .market-card{--icon-size:clamp(40px,6.2vw,68px)}
html[data-stock-columns="4"] .market-card{--icon-size:clamp(38px,5.4vw,58px)}
html[data-stock-columns="5"] .market-card{--icon-size:clamp(34px,4.4vw,50px)}
html[data-stock-columns="3"] .market-card h3.coin-symbol{font-size:clamp(1rem,2.25vw,1.55rem)}
html[data-stock-columns="4"] .market-card h3.coin-symbol{font-size:clamp(.88rem,1.75vw,1.3rem)}
html[data-stock-columns="5"] .market-card h3.coin-symbol{font-size:clamp(.78rem,1.4vw,1.08rem)}
html[data-stock-columns="3"] .change-strip .market-change{font-size:clamp(1.15rem,2.7vw,1.8rem)}
html[data-stock-columns="4"] .change-strip .market-change{font-size:clamp(.98rem,2vw,1.45rem)}
html[data-stock-columns="5"] .change-strip .market-change{font-size:clamp(.85rem,1.6vw,1.2rem)}
html[data-stock-columns="3"] .market-price-row .market-price{font-size:clamp(1rem,2.45vw,1.55rem)}
html[data-stock-columns="4"] .market-price-row .market-price{font-size:clamp(.88rem,1.8vw,1.28rem)}
html[data-stock-columns="5"] .market-price-row .market-price{font-size:clamp(.78rem,1.45vw,1.08rem)}
html[data-stock-columns="3"] .market-price-row small{font-size:.56rem}
html[data-stock-columns="4"] .market-price-row small,html[data-stock-columns="5"] .market-price-row small{font-size:.48rem}
@media(max-width:720px){.session-card{min-width:0}.session-row strong{font-size:.78rem}.session-row em{font-size:.68rem}}

/* First-visit app installation guide. */
.stock-install-prompt{position:fixed;z-index:90;left:50%;bottom:max(18px,env(safe-area-inset-bottom));display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;width:min(680px,calc(100% - 28px));padding:12px 14px;border:1px solid rgba(0,154,86,.25);border-radius:18px;background:rgba(255,255,255,.97);box-shadow:0 16px 42px rgba(7,42,61,.22),inset 0 0 18px rgba(0,181,99,.05);backdrop-filter:blur(15px);transform:translate(-50%,calc(100% + 40px));opacity:0;transition:transform .35s ease,opacity .35s ease}
.stock-install-prompt[hidden]{display:none}.stock-install-prompt.is-visible{transform:translate(-50%,0);opacity:1}.stock-install-prompt>img{width:48px;height:48px;border-radius:13px;box-shadow:0 5px 13px rgba(5,48,75,.17)}
.stock-install-prompt-copy{display:grid;gap:2px}.stock-install-prompt-copy strong{color:#071a2b;font-size:.94rem}.stock-install-prompt-copy span{color:#667481;font-size:.76rem;font-weight:750}.stock-install-prompt-actions{display:flex;align-items:center;gap:7px}.stock-install-prompt-actions button{min-height:38px;padding:7px 12px;border-radius:11px;font-size:.76rem;font-weight:900;cursor:pointer}.stock-install-prompt-actions button:first-child{border:1px solid #058e56;color:#fff;background:linear-gradient(135deg,#063a61,#08aa5b)}.stock-install-prompt-actions button:last-child{border:0;color:#64717b;background:transparent}
.stock-install-dialog{width:min(540px,calc(100% - 24px));padding:0;border:0;border-radius:22px;color:#101c27;background:#fff;box-shadow:0 28px 80px rgba(7,29,44,.38)}.stock-install-dialog::backdrop{background:rgba(9,23,34,.58);backdrop-filter:blur(4px)}.stock-install-dialog-card{position:relative;padding:24px 24px 21px;text-align:center;overflow:hidden}.stock-install-dialog-card::before{content:"";position:absolute;inset:0 0 auto;height:7px;background:linear-gradient(90deg,#062f52,#076ba1 42%,#08ad5c 72%,#00c743)}.stock-install-close{position:absolute;top:14px;right:14px;width:38px;height:38px;border:0;border-radius:50%;color:#65727c;background:#eef3f5;font-size:1.45rem;cursor:pointer}.stock-install-dialog-icon{display:block;width:72px;height:72px;margin:5px auto 10px;border-radius:20px;box-shadow:0 8px 22px rgba(5,48,75,.2)}.stock-install-kicker{margin:0 0 5px;color:#08764c;font-size:.74rem;font-weight:950;letter-spacing:.16em}.stock-install-dialog h2{margin:0;font-size:clamp(1.3rem,4vw,1.7rem)}.stock-install-lead{margin:8px 0 16px;color:#64727d;font-weight:700}.stock-install-steps{display:grid;gap:8px;margin:0;padding:0;counter-reset:step;list-style:none;text-align:left}.stock-install-steps li{position:relative;padding:12px 12px 12px 48px;border:1px solid #dce5e8;border-radius:13px;background:#f7fafb;font-weight:800}.stock-install-steps li::before{counter-increment:step;content:counter(step);position:absolute;left:12px;top:50%;display:grid;width:26px;height:26px;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(135deg,#07547b,#08a95b);transform:translateY(-50%)}.stock-install-note{margin:13px 0 4px;color:#687680;font-size:.82rem;font-weight:700;line-height:1.55}.stock-install-native button{width:100%;min-height:48px;border:0;border-radius:14px;color:#fff;background:linear-gradient(135deg,#06486c,#08aa5b);font-weight:950;cursor:pointer}.stock-install-native p{margin:8px 0 14px;color:#687680;font-size:.78rem}.stock-install-never{margin-top:14px;border:0;color:#687680;background:transparent;text-decoration:underline;cursor:pointer}
html[data-theme="dark"] .stock-install-prompt{border-color:rgba(42,200,121,.35);background:rgba(14,24,31,.97);box-shadow:0 16px 42px rgba(0,0,0,.52),inset 0 0 17px rgba(38,206,119,.06)}html[data-theme="dark"] .stock-install-prompt-copy strong{color:#f2f7f5}html[data-theme="dark"] .stock-install-prompt-copy span{color:#aab7b3}html[data-theme="dark"] .stock-install-dialog{color:#eef5f2;background:#131e25}html[data-theme="dark"] .stock-install-close{color:#b7c2be;background:#26333a}html[data-theme="dark"] .stock-install-lead,html[data-theme="dark"] .stock-install-note,html[data-theme="dark"] .stock-install-never,html[data-theme="dark"] .stock-install-native p{color:#aab7b3}html[data-theme="dark"] .stock-install-steps li{border-color:#34454c;background:#1c2a31}
@media(max-width:600px){.stock-install-prompt{grid-template-columns:42px minmax(0,1fr);gap:8px;padding:10px}.stock-install-prompt>img{width:42px;height:42px;border-radius:12px}.stock-install-prompt-copy strong{font-size:.84rem}.stock-install-prompt-copy span{font-size:.7rem}.stock-install-prompt-actions{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto}.stock-install-dialog-card{padding:22px 17px 18px}.stock-install-dialog-icon{width:64px;height:64px}.stock-install-steps li{font-size:.88rem}}

/* Compact fixed bar and taller quote cards, aligned with BitBull density. */
.stock-header{min-height:62px;padding-block:5px}
.stock-brand{width:clamp(154px,15vw,214px)}
.theme-toggle{width:40px;height:40px}
.mini-chart{aspect-ratio:18/12}
.market-price-row{min-height:0;gap:7px;margin-top:0;line-height:1}
.market-price-row .market-price{font-size:clamp(1.8rem,3vw,2.7rem);line-height:1;letter-spacing:-.045em}
.market-price-row small{font-size:.7rem}
.phase-two-nav{top:70px}
@media(max-width:720px){
  .stock-header{min-height:54px;padding:4px 9px}
  .stock-brand{width:clamp(126px,35vw,150px)}
  .bitbull-switch-link{height:36px}
  .theme-toggle{width:36px;height:36px;border-radius:11px}
  .mini-chart{aspect-ratio:18/12}
  .market-price-row{min-height:0;gap:4px}
  .market-price-row .market-price{font-size:clamp(1.28rem,5.7vw,1.65rem)}
  .market-price-row small{font-size:.62rem}
  .phase-two-nav{top:60px}
}
@media(max-width:370px){.market-price-row .market-price{font-size:1.2rem}}

/* StockBull demo trade */
.market-pulse-entry{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;min-height:82px;margin-bottom:10px;overflow:hidden;border:1px solid rgba(40,194,133,.48);border-radius:18px;padding:9px 18px;color:#fff;background:linear-gradient(104deg,#071d36 0%,#0a4b59 49%,#0aa158 100%);box-shadow:0 10px 27px rgba(7,50,55,.2),inset 0 1px 0 rgba(255,255,255,.2);text-decoration:none}.market-pulse-entry:hover{filter:brightness(1.06);transform:translateY(-1px)}.market-pulse-entry:focus-visible{outline:3px solid rgba(52,226,131,.45);outline-offset:3px}.market-pulse-entry-icon{display:grid;width:58px;height:58px;place-items:center;border:2px solid rgba(255,255,255,.86);border-radius:50%;background:rgba(255,255,255,.12);box-shadow:0 5px 15px rgba(0,0,0,.15)}.market-pulse-entry-icon svg{width:51px;height:51px;overflow:visible;fill:none;stroke:#fff;stroke-width:4.4;stroke-linecap:round;stroke-linejoin:round}.market-pulse-entry-icon svg path{filter:drop-shadow(0 0 4px rgba(99,255,176,.62))}.market-pulse-entry-copy{display:grid;min-width:0;text-align:left}.market-pulse-entry-copy small{font-size:.66rem;font-weight:950;letter-spacing:.2em;opacity:.86}.market-pulse-entry-copy strong{font-size:1.6rem;font-weight:1000;letter-spacing:.035em;line-height:1.05}.market-pulse-entry-copy>span{margin-top:3px;font-size:.75rem;font-weight:850;opacity:.9}.market-pulse-entry>.stock-flow-arrow{justify-self:end}@media(max-width:720px){.market-pulse-entry{gap:9px;min-height:62px;margin-bottom:8px;border-radius:15px;padding:6px 10px}.market-pulse-entry-icon{width:46px;height:46px}.market-pulse-entry-icon svg{width:41px;height:41px;stroke-width:4.2}.market-pulse-entry-copy small{font-size:.52rem}.market-pulse-entry-copy strong{font-size:1.12rem}.market-pulse-entry-copy>span{font-size:.61rem}}@media(max-width:390px){.market-pulse-entry{grid-template-columns:auto minmax(0,1fr) auto;padding-inline:8px}.market-pulse-entry-copy strong{font-size:1rem}.market-pulse-entry>.stock-flow-arrow{display:block!important}}
.stock-demo-trade{margin-top:16px}.stock-demo-toggle{display:grid;grid-template-columns:auto minmax(120px,.72fr) minmax(300px,1.45fr) auto;align-items:center;gap:12px;width:100%;min-height:82px;border:1px solid rgba(10,154,85,.42);border-radius:18px;padding:10px 14px;color:#fff;background:linear-gradient(110deg,#071d36 0%,#0b3d4d 45%,#07954e 100%);box-shadow:0 10px 27px rgba(7,50,55,.2),inset 0 1px 0 rgba(255,255,255,.18);cursor:pointer}.stock-demo-toggle:hover{filter:brightness(1.04);transform:translateY(-1px)}.stock-demo-toggle:focus-visible,.stock-demo-side:focus-visible,.stock-demo-close:focus-visible,.stock-demo-retry:focus-visible{outline:3px solid rgba(52,226,131,.45);outline-offset:3px}.stock-demo-toggle>img{width:54px;height:54px;border:2px solid rgba(255,255,255,.78);border-radius:15px;background:#fff;object-fit:contain;box-shadow:0 5px 15px rgba(0,0,0,.2)}.stock-demo-copy{display:grid;min-width:0;text-align:left}.stock-demo-copy small{font-size:.65rem;font-weight:950;letter-spacing:.16em}.stock-demo-copy strong{font-size:1.08rem;font-weight:1000}.stock-demo-copy span{overflow:hidden;margin-top:2px;font-size:.69rem;font-weight:800;opacity:.88;text-overflow:ellipsis;white-space:nowrap}.stock-demo-figures{display:grid;grid-template-columns:.9fr 1.2fr;overflow:hidden;min-height:57px;border-radius:12px;background:rgba(255,255,255,.13)}.stock-demo-pnl,.stock-demo-balance{display:grid;align-content:center;justify-items:center;padding:6px 10px}.stock-demo-pnl{border-right:1px solid rgba(255,255,255,.16)}.stock-demo-pnl small{font-size:.61rem;font-weight:800;opacity:.82}.stock-demo-pnl strong{font-size:clamp(1.15rem,2vw,1.65rem);font-weight:1000;white-space:nowrap}.stock-demo-pnl.is-profit strong{color:#64ffae}.stock-demo-pnl.is-loss strong{color:#ff8791}.stock-demo-balance{background:rgba(255,255,255,.91)}.stock-demo-balance strong{color:#092d48;font-size:clamp(1.65rem,3vw,2.7rem);font-weight:1000;letter-spacing:-.05em;white-space:nowrap}.stock-demo-arrow{font-size:1.45rem;font-weight:900;transition:transform .2s}.stock-demo-trade.is-open .stock-demo-toggle{border-radius:18px 18px 0 0}.stock-demo-trade.is-open .stock-demo-arrow{transform:rotate(180deg)}.stock-demo-panel{border:1px solid rgba(10,154,85,.28);border-top:0;border-radius:0 0 18px 18px;padding:17px;background:linear-gradient(145deg,#fff 35%,#edf9f3);box-shadow:0 14px 28px rgba(16,43,55,.14)}.stock-demo-heading{text-align:center}.stock-demo-heading small{color:#0a8d4c;font-size:.65rem;font-weight:1000;letter-spacing:.15em}.stock-demo-heading h2{margin:3px 0 13px;font-size:clamp(1.05rem,2vw,1.4rem)}.stock-demo-summary{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:9px;margin-bottom:13px}.stock-demo-summary>div{padding:9px;border:1px solid #dce7e1;border-radius:11px;background:#fff;text-align:center}.stock-demo-summary small,.stock-demo-price small,.stock-demo-position small{display:block;color:#727c82;font-size:.67rem;font-weight:800}.stock-demo-summary strong{display:block;margin-top:3px;font-weight:1000}.stock-demo-current strong{color:#0c6948;font-size:1.5rem}.stock-demo-order{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(330px,1.7fr) minmax(150px,.8fr);gap:12px}.stock-demo-side{display:grid;min-height:116px;align-content:center;justify-items:center;border:0;border-radius:14px;color:#fff;box-shadow:0 7px 17px rgba(20,40,48,.17);cursor:pointer}.stock-demo-side small{font-size:.7rem;font-weight:800;opacity:.85}.stock-demo-side strong{font-size:1.55rem;font-weight:1000}.stock-demo-side span{font-size:.67rem;font-weight:900}.stock-demo-side:disabled{filter:grayscale(.4);opacity:.5;cursor:not-allowed}.stock-demo-sell{background:linear-gradient(145deg,#ff4b59,#d51d32)}.stock-demo-buy{background:linear-gradient(145deg,#18bd68,#078640)}.stock-demo-controls{display:grid;grid-template-columns:1.35fr .75fr;gap:9px;padding:11px;border:1px solid #dce5e0;border-radius:14px;background:#fff}.stock-demo-controls label{display:grid;gap:4px;color:#626c72;font-size:.7rem;font-weight:900}.stock-demo-controls select{width:100%;height:42px;border:1px solid #ccd7d1;border-radius:9px;padding:0 9px;background:#fff;color:#18212a;font-weight:900}.stock-demo-price{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px;border-radius:9px;padding:8px 10px;background:#eef4f1}.stock-demo-price strong{font-weight:1000}.stock-demo-position{padding:14px;border:1px solid #dce5e0;border-radius:14px;background:#fff}.stock-demo-position-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.stock-demo-position-head>div>strong{display:block;margin-top:2px;font-size:1.25rem}.stock-demo-unrealized{text-align:right}.stock-demo-unrealized strong{font-size:1.35rem}.stock-demo-unrealized.is-profit strong{color:var(--green)}.stock-demo-unrealized.is-loss strong{color:var(--red)}.stock-demo-details{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.stock-demo-details>div{padding:9px;border-radius:9px;background:#f1f5f3;text-align:center}.stock-demo-details dt{color:#737d83;font-size:.67rem;font-weight:800}.stock-demo-details dd{margin:3px 0 0;font-size:.9rem;font-weight:1000}.stock-demo-close,.stock-demo-retry{width:100%;min-height:44px;border:0;border-radius:10px;color:#fff;background:linear-gradient(135deg,#0d5271,#087f50);font-weight:1000;cursor:pointer}.stock-demo-retry{margin-top:10px;background:linear-gradient(135deg,#1766a5,#0a9a55)}.stock-demo-result{margin:10px 0 0;border:1px solid #afd9c3;border-radius:10px;padding:10px;color:#076f3b;background:#eafaf1;font-size:.82rem;font-weight:900;text-align:center}.stock-demo-note{margin:10px 2px 0;color:#747d83;font-size:.68rem;font-weight:700;line-height:1.55;text-align:center}.market-slogan{margin:18px 0 4px;border:1px solid rgba(10,154,85,.2);border-radius:22px;padding:clamp(22px,4vw,34px);background:linear-gradient(125deg,rgba(7,28,52,.98),rgba(9,70,70,.96) 56%,rgba(7,151,72,.9));box-shadow:0 14px 34px rgba(10,46,62,.18);color:#fff;text-align:center}.market-slogan .kicker{color:#56f7a1}.market-slogan h1{margin:0;font-size:clamp(1.9rem,5vw,3.4rem);letter-spacing:-.055em}.market-slogan>p:last-child{margin:9px 0 0;font-weight:750;opacity:.86}
html[data-theme="dark"] .stock-demo-panel{border-color:#304c40;background:linear-gradient(145deg,#172129,#101a1a)}html[data-theme="dark"] .stock-demo-summary>div,html[data-theme="dark"] .stock-demo-controls,html[data-theme="dark"] .stock-demo-position{border-color:#34463d;background:#172129}html[data-theme="dark"] .stock-demo-controls select{border-color:#43534b;background:#10181d;color:#eef4f2}html[data-theme="dark"] .stock-demo-price,html[data-theme="dark"] .stock-demo-details>div{background:#202d29}
.stock-demo-trade.is-profit .stock-demo-balance{background:#e8f4ed}.stock-demo-trade.is-profit .stock-demo-balance strong,.stock-demo-trade.is-profit .stock-demo-current strong,.stock-demo-trade.is-profit #stock-demo-equity{color:#078f42}.stock-demo-trade.is-profit .stock-demo-current{border-color:rgba(7,143,66,.28);background:rgba(7,143,66,.06)}
.stock-demo-trade.is-loss .stock-demo-balance{background:#f9e8ea}.stock-demo-trade.is-loss .stock-demo-balance strong,.stock-demo-trade.is-loss .stock-demo-current strong,.stock-demo-trade.is-loss #stock-demo-equity{color:#dc2535}.stock-demo-trade.is-loss .stock-demo-current{border-color:rgba(220,37,53,.28);background:rgba(220,37,53,.055)}
#stock-demo-pnl strong,#stock-demo-balance-compact,#stock-demo-balance,#stock-demo-equity,#stock-demo-unrealized strong{transition:color .18s ease,filter .18s ease,transform .18s ease}
.stock-demo-flash-up{animation:stockDemoValueFlashUp .52s ease!important}.stock-demo-flash-down{animation:stockDemoValueFlashDown .52s ease!important}
@keyframes stockDemoValueFlashUp{0%,100%{filter:none;transform:scale(1)}24%,62%{color:#20f578;filter:drop-shadow(0 0 8px rgba(32,245,120,.9));transform:scale(1.055)}}
@keyframes stockDemoValueFlashDown{0%,100%{filter:none;transform:scale(1)}24%,62%{color:#ff3155;filter:drop-shadow(0 0 8px rgba(255,49,85,.86));transform:scale(1.055)}}
html[data-theme="dark"] .stock-demo-trade.is-profit .stock-demo-balance{background:#183126}html[data-theme="dark"] .stock-demo-trade.is-loss .stock-demo-balance{background:#3a2025}
@media(max-width:720px){.stock-demo-toggle{grid-template-columns:auto minmax(0,1fr) auto;gap:8px;min-height:72px;padding:8px 10px}.stock-demo-toggle>img{width:48px;height:48px}.stock-demo-figures{grid-column:2/4;grid-row:2;min-height:50px}.stock-demo-arrow{grid-column:3;grid-row:1}.stock-demo-panel{padding:11px}.stock-demo-summary{grid-template-columns:1.2fr 1fr 1fr;gap:6px}.stock-demo-summary>div{padding:7px 4px}.stock-demo-current strong{font-size:1.15rem}.stock-demo-order{grid-template-columns:1fr 1fr;gap:8px}.stock-demo-controls{grid-column:1/-1;grid-row:1}.stock-demo-side{min-height:88px}.stock-demo-sell{grid-column:1}.stock-demo-buy{grid-column:2}.stock-demo-details{gap:5px}.stock-demo-details>div{padding:8px 4px}.market-slogan{border-radius:18px}.market-slogan h1{font-size:clamp(1.2rem,6.25vw,1.9rem);letter-spacing:-.065em;white-space:nowrap}}

/* Compact top layout: demo first, market status beside power saving. */
.stock-demo-trade{margin-top:0}
.stock-feature-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.stock-feature-link{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:66px;overflow:hidden;border:1px solid rgba(20,73,109,.26);border-radius:17px;padding:8px 16px;color:#fff;text-decoration:none;box-shadow:0 9px 22px rgba(10,47,70,.14);cursor:pointer}.stock-feature-my{background:linear-gradient(100deg,#071d36 0%,#0b385a 48%,#176ca1 100%)}.stock-feature-portfolio{border-color:rgba(10,154,85,.38);background:linear-gradient(260deg,#087f47 0%,#0ba05a 48%,#dff8eb 145%)}.stock-feature-icon{display:grid;width:44px;height:44px;place-items:center;border:2px solid rgba(255,255,255,.75);border-radius:50%;font-size:1.65rem;font-weight:1000;background:rgba(255,255,255,.14)}.stock-feature-ring{font-size:1.38rem}.stock-feature-link>span:nth-child(2){display:grid;min-width:0;text-align:left}.stock-feature-link small{font-size:.65rem;font-weight:850;opacity:.82}.stock-feature-link strong{font-size:1.05rem;font-weight:1000}.stock-feature-link>b{font-size:2rem;line-height:1}.stock-feature-link:hover{filter:brightness(1.07);transform:translateY(-1px)}.stock-feature-link:focus-visible{outline:3px solid rgba(21,178,104,.38);outline-offset:3px}
html[data-theme="dark"] .stock-feature-link{box-shadow:0 10px 24px rgba(0,0,0,.28)}
@media(max-width:720px){.stock-feature-row{gap:7px;margin-top:8px}.stock-feature-link{gap:7px;min-height:58px;border-radius:14px;padding:7px 9px}.stock-feature-icon{width:38px;height:38px;font-size:1.35rem}.stock-feature-link small{font-size:.56rem}.stock-feature-link strong{font-size:.88rem}.stock-feature-link>b{font-size:1.5rem}}
@media(max-width:390px){.stock-feature-link{grid-template-columns:auto minmax(0,1fr);padding-inline:7px}.stock-feature-link>b{display:none}.stock-feature-icon{width:34px;height:34px}.stock-feature-link strong{font-size:.78rem}}
.stock-controls{align-items:stretch;justify-content:space-between;gap:10px}
.session-card.session-card-compact{grid-template-columns:auto minmax(132px,1fr) minmax(132px,1fr) auto;align-items:center;gap:8px;min-width:0;margin:0 0 0 auto;padding:6px 10px;border-radius:14px}
.session-card-compact>small{font-size:.55rem;white-space:nowrap}
.session-card-compact .session-row{gap:6px}
.session-card-compact .session-row strong{gap:7px;font-size:.7rem}
.session-card-compact .session-row em{font-size:.64rem}
.session-card-compact>time{margin:0;font-size:.62rem;white-space:nowrap}
@media(max-width:820px){
  .stock-demo-toggle{grid-template-columns:44px minmax(0,1fr) minmax(108px,.72fr) auto;gap:7px;min-height:62px;padding:6px 9px}
  .stock-demo-toggle>img{width:42px;height:42px;border-radius:12px}
  .stock-demo-copy small{font-size:.56rem}.stock-demo-copy strong{font-size:.94rem}.stock-demo-copy span{font-size:.6rem}
  .stock-demo-figures{grid-column:3;grid-row:1;min-height:43px;grid-template-columns:1fr}
  .stock-demo-pnl{display:none}
  .stock-demo-balance{padding:5px 7px}
  .stock-demo-balance strong{font-size:clamp(1.12rem,4.8vw,1.55rem)}
  .stock-demo-arrow{grid-column:4;grid-row:1;font-size:1.15rem}
  .stock-controls{gap:7px}
  .power-save-control{flex:0 0 auto;padding-inline:7px}
  .session-card.session-card-compact{grid-template-columns:1fr 1fr auto;flex:1;gap:5px;padding:5px 7px}
  .session-card-compact>small{display:none}
  .session-card-compact .session-row strong{display:grid;justify-content:start;gap:0;font-size:.65rem}
  .session-card-compact .session-row em{font-size:.57rem}
  .session-card-compact>time{font-size:.58rem}
}
@media(max-width:480px){
  .stock-demo-toggle{grid-template-columns:40px minmax(0,1fr) minmax(86px,.65fr) auto;padding-inline:7px}
  .stock-demo-toggle>img{width:39px;height:39px}
  .stock-demo-copy span{max-width:118px}
  .stock-demo-balance strong{font-size:1.08rem}
  .power-save-control>span{font-size:.64rem}.power-save-toggle{width:42px;height:26px}.power-save-toggle span{width:20px;height:20px}.power-save-toggle[aria-checked="true"] span{transform:translateX(16px)}
  .session-card.session-card-compact{grid-template-columns:1fr 1fr;padding-inline:6px}
  .session-card-compact>time{display:none}
}
@media(orientation:landscape) and (min-width:560px) and (max-width:820px){
  .stock-demo-toggle{grid-template-columns:44px minmax(118px,.72fr) minmax(250px,1.45fr) auto}
  .stock-demo-figures{grid-column:3;grid-row:1;grid-template-columns:.9fr 1.2fr;min-height:46px}
  .stock-demo-pnl{display:grid;padding:5px 7px}
  .stock-demo-pnl small{font-size:.56rem}
  .stock-demo-pnl strong{font-size:clamp(1rem,2.4vw,1.35rem)}
  .stock-demo-balance strong{font-size:clamp(1.15rem,3vw,1.65rem)}
}

/* Held-position icon and flame for StockBull demo trade. */
.stock-demo-icon-shell{position:relative;display:grid;width:54px;height:54px;flex:0 0 54px;place-items:center;overflow:visible;isolation:isolate}
.stock-demo-icon-content{position:relative;z-index:3;display:grid;width:54px;height:54px;place-items:center;overflow:hidden;border:2px solid rgba(255,255,255,.78);border-radius:15px;background:#fff;box-shadow:0 5px 15px rgba(0,0,0,.2)}
.stock-demo-icon-content.has-market-icon{overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}
.stock-demo-icon-content>img{display:block;width:100%;height:100%;object-fit:contain}

/* Match the compact P/L card to the balance card for clearer contrast. */
.stock-demo-figures{gap:7px;overflow:visible;background:transparent}
.stock-demo-pnl,.stock-demo-balance{
  border:1px solid rgba(9,65,74,.18);
  border-radius:12px;
  background:rgba(255,255,255,.94);
  box-shadow:0 2px 7px rgba(0,34,48,.12);
}
.stock-demo-pnl small{color:#626d75;opacity:1}
.stock-demo-pnl strong{color:#126cb1}
.stock-demo-pnl.is-profit strong{color:#078f42}
.stock-demo-pnl.is-loss strong{color:#dc2535}

/* Keep the virtual balance fully visible during its scale/glow animation. */
.stock-demo-balance,
.stock-demo-current{
  overflow:visible;
}
#stock-demo-balance-compact,
#stock-demo-balance{
  display:inline-block;
  width:auto;
  max-width:calc(100% - 16px);
  padding:7px 8px;
  margin:-7px -8px;
  transform-origin:center;
}
html[data-theme="dark"] .stock-demo-pnl,
html[data-theme="dark"] .stock-demo-balance{
  border-color:#344851;
  background:#1b2930;
  box-shadow:0 2px 7px rgba(0,0,0,.25);
}
html[data-theme="dark"] .stock-demo-pnl small{color:#aab5af}

/* Learning hub: shown after every market/chart section. */
.stock-learning-hub{margin:30px 0 18px;padding:clamp(20px,3vw,32px);border:1px solid rgba(12,74,119,.2);border-radius:25px;background:linear-gradient(145deg,#fff,#eff8f4);box-shadow:0 11px 30px rgba(12,48,72,.1)}
.stock-learning-toggle{display:flex;width:100%;align-items:center;gap:18px;padding:0;border:0;color:inherit;background:transparent;font:inherit;text-align:left;cursor:pointer}.stock-learning-toggle:focus-visible{outline:3px solid rgba(9,151,76,.3);outline-offset:7px;border-radius:10px}.stock-learning-heading{display:flex;min-width:0;flex:1;align-items:end;justify-content:space-between;gap:22px}.stock-learning-heading .kicker{display:block}.stock-learning-title{display:block;margin-top:4px;font-size:clamp(1.35rem,3vw,1.9rem);font-weight:950;letter-spacing:-.035em}.stock-learning-description{max-width:460px;color:var(--muted);font-size:.9rem;font-weight:750;line-height:1.7}.stock-learning-toggle-meta{display:flex;flex:0 0 auto;align-items:center;gap:10px;color:#078a4c;font-size:.76rem;font-weight:950;white-space:nowrap}.stock-learning-chevron{display:grid;width:32px;height:32px;place-items:center;border-radius:50%;background:rgba(9,151,76,.1);transition:transform .25s ease,background .2s ease}.stock-learning-toggle:hover .stock-learning-chevron{background:rgba(9,151,76,.17)}.stock-learning-collapse{display:grid;grid-template-rows:1fr;opacity:1;transition:grid-template-rows .28s ease,opacity .22s ease}.stock-learning-collapse-inner{min-height:0;overflow:hidden}.stock-learning-grid{margin-top:18px}.stock-learning-hub.is-collapsed .stock-learning-collapse{grid-template-rows:0fr;opacity:0}.stock-learning-hub.is-collapsed .stock-learning-chevron{transform:rotate(-90deg)}
.stock-learning-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.stock-learning-card{display:flex;min-width:0;min-height:112px;align-items:center;gap:13px;padding:15px;border:1px solid rgba(12,74,119,.15);border-radius:16px;color:var(--ink);background:linear-gradient(145deg,#fff,#f7fafc);box-shadow:0 5px 14px rgba(12,48,72,.06);text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.stock-learning-card:hover{transform:translateY(-2px);border-color:rgba(9,151,76,.42);box-shadow:0 10px 22px rgba(12,48,72,.12)}.stock-learning-card>span{display:grid;width:45px;height:45px;flex:0 0 45px;place-items:center;border-radius:14px;color:#fff;background:linear-gradient(145deg,#082d54,#09a653);box-shadow:0 5px 13px rgba(7,77,67,.2);font-size:1.25rem;font-weight:950}.stock-learning-card>div{min-width:0}.stock-learning-card small,.stock-learning-card strong,.stock-learning-card em{display:block}.stock-learning-card small{color:#078a4c;font-size:.67rem;font-weight:950;letter-spacing:.06em}.stock-learning-card strong{margin-top:4px;font-size:.96rem;line-height:1.4}.stock-learning-card em{margin-top:4px;color:var(--muted);font-size:.75rem;font-style:normal;line-height:1.5}.stock-learning-featured{background:linear-gradient(135deg,#eef7ff,#effcf4)}
html[data-theme="dark"] .stock-learning-hub{border-color:#30404b;background:linear-gradient(145deg,#172129,#101918);box-shadow:0 10px 28px rgba(0,0,0,.3)}html[data-theme="dark"] .stock-learning-card{border-color:#33444b;background:linear-gradient(145deg,#19242a,#131b1e)}
@media(max-width:980px){.stock-learning-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.stock-learning-hub{margin-top:22px;padding:17px 12px}.stock-learning-toggle{align-items:flex-start;gap:9px}.stock-learning-heading{display:block}.stock-learning-description{display:block;margin-top:8px}.stock-learning-toggle-meta>span:first-child{display:none}.stock-learning-chevron{width:30px;height:30px}.stock-learning-grid{grid-template-columns:1fr;gap:8px}.stock-learning-card{min-height:88px;padding:12px}.stock-learning-card>span{width:41px;height:41px;flex-basis:41px}}
@media(prefers-reduced-motion:reduce){.stock-learning-collapse,.stock-learning-chevron{transition:none}}

/* Helpful partner path after the learning hub. */
.stock-partner-card{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:clamp(18px,3vw,34px);align-items:center;margin:18px 0 22px;padding:clamp(20px,3vw,30px);overflow:hidden;border:1px solid rgba(10,112,70,.24);border-radius:25px;background:linear-gradient(135deg,#f9fcff 0%,#f4fbf7 52%,#e8f8ef 100%);box-shadow:0 11px 30px rgba(12,48,72,.1)}
.stock-partner-card::after{content:"";position:absolute;right:-75px;bottom:-105px;width:230px;height:230px;border:38px solid rgba(4,151,78,.06);border-radius:50%;pointer-events:none}
.stock-partner-copy,.stock-partner-actions,.stock-partner-note{position:relative;z-index:1}.stock-partner-kicker{display:flex;align-items:center;gap:9px;margin:0 0 7px;color:#0a7548;font-size:.71rem;font-weight:950;letter-spacing:.12em}.stock-partner-kicker span{display:inline-grid;min-width:35px;height:24px;padding:0 8px;place-items:center;border-radius:7px;color:#fff;background:#092f55;font-size:.68rem;letter-spacing:.08em}.stock-partner-copy h2{margin:0;color:#102434;font-size:clamp(1.25rem,2.6vw,1.75rem);letter-spacing:-.035em}.stock-partner-copy>p:last-child{max-width:680px;margin:10px 0 0;color:var(--muted);font-size:.9rem;font-weight:700;line-height:1.75}
.stock-partner-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stock-partner-link{display:flex;min-width:0;min-height:78px;align-items:center;gap:10px;padding:12px 14px;border:1px solid rgba(10,74,119,.16);border-radius:16px;color:#fff;background:linear-gradient(135deg,#0b345d,#087849);box-shadow:0 7px 17px rgba(7,55,65,.16);text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.stock-partner-link.is-us{background:linear-gradient(135deg,#0a315a,#0a6658)}.stock-partner-link.is-monex{background:linear-gradient(135deg,#123e70,#1475a5)}.stock-partner-link.is-monex.is-us{background:linear-gradient(135deg,#173d67,#d66a28)}.stock-partner-link:hover{transform:translateY(-2px);box-shadow:0 11px 22px rgba(7,55,65,.23);filter:saturate(1.08)}.stock-partner-link:focus-visible{outline:3px solid rgba(9,166,83,.38);outline-offset:3px}.stock-partner-flag{font-size:1.55rem;filter:drop-shadow(0 2px 3px rgba(0,0,0,.14))}.stock-partner-link>span:nth-child(2){min-width:0}.stock-partner-link small,.stock-partner-link strong{display:block}.stock-partner-link small{font-size:.64rem;font-weight:800;letter-spacing:.05em;opacity:.82}.stock-partner-link strong{margin-top:3px;font-size:.88rem;line-height:1.35}.stock-partner-link img{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.stock-partner-note{grid-column:1/-1;margin:-8px 0 0;color:#68766f;font-size:.7rem;font-weight:650;line-height:1.6}
html[data-theme="dark"] .stock-partner-card{border-color:#2c5448;background:linear-gradient(135deg,#17232b,#111d1a 58%,#13251e);box-shadow:0 10px 28px rgba(0,0,0,.3)}html[data-theme="dark"] .stock-partner-copy h2{color:#f4f8f6}html[data-theme="dark"] .stock-partner-note{color:#aebbb5}
@media(max-width:980px){.stock-partner-card{grid-template-columns:1fr}.stock-partner-copy>p:last-child{max-width:none}.stock-partner-note{margin-top:-4px}}
@media(max-width:620px){.stock-partner-card{margin-top:12px;padding:17px 12px;border-radius:20px}.stock-partner-actions{grid-template-columns:1fr}.stock-partner-link{min-height:66px;padding:10px 14px}.stock-partner-copy h2{font-size:1.23rem}.stock-partner-copy>p:last-child{font-size:.82rem}.stock-partner-note{font-size:.66rem}}

/* Compact centered partner buttons across split-screen and mobile layouts. */
.stock-partner-actions{width:100%;max-width:650px;justify-self:end}
.stock-partner-link{min-height:64px;justify-content:center;padding:10px 14px;text-align:center}
.stock-partner-flag{flex:0 0 auto}
@media(max-width:980px){.stock-partner-actions{justify-self:center}}
@media(max-width:620px){.stock-partner-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stock-partner-link{min-height:58px;gap:7px;padding:8px 10px}.stock-partner-flag{font-size:1.28rem}.stock-partner-link strong{font-size:.82rem}}
@media(max-width:420px){.stock-partner-actions{grid-template-columns:1fr;max-width:320px}.stock-partner-link{min-height:56px}}
.stock-demo-icon-content>.market-icon{display:grid!important;width:100%!important;height:100%!important;min-width:0!important;flex:0 0 100%!important;place-items:center!important;border:0!important;border-radius:13px!important;font-size:2rem!important;box-shadow:none!important}
.stock-demo-icon-content>.market-icon img{max-width:88%;max-height:88%;object-fit:contain}
.stock-demo-icon-content>.stock-letter-icon b{font-size:.78rem}.stock-demo-icon-content>.stock-letter-icon small{font-size:.46rem}
.stock-demo-flame{position:absolute;z-index:2;inset:-20px -15px -10px;display:none;background-image:url("/demo-position-fire-v2.webp");background-repeat:no-repeat;background-position:0 0;background-size:400% 200%;filter:drop-shadow(0 2px 4px rgba(255,70,0,.46));pointer-events:none;transform-origin:50% 76%;backface-visibility:hidden;contain:paint;will-change:background-position,transform}
.stock-demo-trade.has-position .stock-demo-flame{display:block;animation:stockDemoFlameSprite 1s steps(1,end) infinite,stockDemoFlameBreathe 2.4s steps(12,end) infinite alternate}
.stock-demo-trade.has-position .stock-demo-icon-content:not(.has-market-icon){border-radius:50%}
@keyframes stockDemoFlameSprite{0%{background-position:0 0}12.5%{background-position:33.333% 0}25%{background-position:66.666% 0}37.5%{background-position:100% 0}50%{background-position:0 100%}62.5%{background-position:33.333% 100%}75%{background-position:66.666% 100%}87.5%,100%{background-position:100% 100%}}
@keyframes stockDemoFlameBreathe{from{transform:translateY(1px) scale(.98,.96)}to{transform:translateY(-2px) scale(1.02,1.055)}}
html[data-power-save="true"] .stock-demo-trade.has-position .stock-demo-flame{display:block!important;animation:none!important;background-position:0 0!important}
@media(max-width:820px){.stock-demo-icon-shell,.stock-demo-icon-content{width:42px;height:42px;flex-basis:42px}.stock-demo-icon-content{border-radius:12px}.stock-demo-icon-content>.market-icon{border-radius:10px!important;font-size:1.55rem!important}.stock-demo-flame{inset:-16px -13px -9px}}
@media(max-width:480px){.stock-demo-icon-shell,.stock-demo-icon-content{width:39px;height:39px;flex-basis:39px}}

/* Flame follows the held demo position onto every matching quote card. */
.stock-card-demo-flame{position:absolute;z-index:2;top:calc(var(--icon-size) * -.4);left:calc(var(--icon-size) * -.28);display:none;width:calc(var(--icon-size) * 1.58);aspect-ratio:1;background-image:url("/demo-position-fire-v2.webp");background-repeat:no-repeat;background-position:0 0;background-size:400% 200%;filter:drop-shadow(0 2px 5px rgba(255,70,0,.46));pointer-events:none;transform-origin:50% 76%;backface-visibility:hidden;contain:paint;will-change:background-position,transform}
.market-card.has-demo-position{z-index:4;overflow:visible;content-visibility:visible;contain:none}
.market-card.has-demo-position .stock-card-demo-flame{display:block;animation:stockDemoFlameSprite 1s steps(1,end) infinite,stockDemoFlameBreathe 2.4s steps(12,end) infinite alternate}
html[data-power-save="true"] .market-card.has-demo-position .stock-card-demo-flame{display:block!important;animation:none!important;background-position:0 0!important}

/* Light mode: shared frosted-titanium base with StockBull's navy/green light. */
html:not([data-theme="dark"]),html:not([data-theme="dark"]) body{
  background-color:#edf3f5;
  background-image:
    radial-gradient(circle at 8% 7%,rgba(7,47,82,.12) 0,rgba(7,47,82,0) 27%),
    radial-gradient(circle at 92% 12%,rgba(7,169,87,.11) 0,rgba(7,169,87,0) 31%),
    linear-gradient(rgba(20,67,83,.027) 1px,transparent 1px),
    linear-gradient(90deg,rgba(20,67,83,.027) 1px,transparent 1px),
    linear-gradient(145deg,#f9fbfc 0%,#ebf1f4 48%,#f3faf6 100%);
  background-size:auto,auto,56px 56px,56px 56px,auto;
  background-attachment:scroll;
}
html:not([data-theme="dark"]) .stock-header{
  background:rgba(255,255,255,.97);
  box-shadow:0 5px 22px rgba(12,42,58,.10);
}
html:not([data-theme="dark"]) main{margin-top:10px}
html:not([data-theme="dark"]) .market-card{
  border-color:rgba(47,79,94,.23);
  background:linear-gradient(160deg,rgba(255,255,255,.995),rgba(248,251,252,.985));
  box-shadow:
    0 3px 5px rgba(9,29,42,.31),
    0 16px 30px rgba(9,42,57,.25),
    inset 0 1px 0 rgba(255,255,255,.98);
}

@media(max-width:720px){html:not([data-theme="dark"]) main{margin-top:8px}}

/* Keep the upper controls on the same compact rhythm as BitBull.
   Removing the oversized tab gap also aligns the first chart row. */
.stock-feature-row{margin-top:7px}
.stock-feature-row + .category-tabs{margin-top:4px}
@media(max-width:720px){
  .category-tabs button{min-height:44px}
}

/* Mirror BitBull's upper-row rhythm so both boards reach their charts together. */
.stock-demo-toggle{min-height:78px;padding:7px 15px;border-radius:15px}
.stock-demo-trade.is-open .stock-demo-toggle{border-radius:15px 15px 0 0}
.stock-demo-icon-shell,.stock-demo-icon-content{width:48px;height:48px;flex-basis:48px}
.stock-demo-icon-content{border-radius:14px}
.stock-feature-row{gap:clamp(8px,1.2vw,14px);margin-top:7px}
.stock-feature-link{min-height:54px;padding:5px 15px;border-radius:15px}
.stock-feature-icon{width:38px;height:38px;font-size:1.4rem}
.stock-status-strip{margin-top:7px}
.stock-status-strip .session-card.session-card-compact{
  display:grid;
  grid-template-columns:auto minmax(180px,1fr) minmax(180px,1fr) auto;
  width:100%;
  min-height:46px;
  margin:0;
  padding:4px 14px;
  border-radius:13px;
  box-shadow:0 4px 11px rgba(16,43,70,.1),inset 0 1px 0 rgba(255,255,255,.88);
}
.stock-status-strip .session-row{justify-content:center}
.stock-status-strip .session-row strong{justify-content:center;gap:9px;font-size:.78rem}
.stock-status-strip .session-row em{font-size:.7rem}
.stock-status-strip .session-card>time{margin:0;font-size:.66rem}
.stock-utility-row{display:flex;min-width:0;align-items:stretch;gap:7px;margin-top:7px}
.stock-utility-row .power-save-control{
  min-height:44px;
  margin:0;
  padding:5px 9px;
  flex:0 0 auto;
  border-radius:11px;
}
.stock-utility-row .category-tabs{
  display:grid;
  min-width:0;
  margin:0;
  padding:0;
  flex:1 1 auto;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:7px;
  overflow:visible;
}
.stock-utility-row .category-tabs button{min-height:44px;padding:6px 8px;border-radius:11px}
.stock-overview-line{
  display:flex;
  min-height:20px;
  align-items:flex-end;
  margin-top:7px;
  padding:0 2px;
  color:var(--blue);
  font-size:.7rem;
  font-weight:950;
  letter-spacing:.19em;
}
.stock-market-heading{min-height:42px;align-items:center;margin:0 2px 8px}
.stock-market-heading h2{margin:0;font-size:1.5rem}
.stock-market-heading .stock-board-heading-tools{align-items:center}

@media(max-width:820px){
  .stock-demo-toggle{min-height:59px;padding:5px 9px;border-radius:13px}
  .stock-demo-trade.is-open .stock-demo-toggle{border-radius:13px 13px 0 0}
  .stock-demo-icon-shell,.stock-demo-icon-content{width:38px;height:38px;flex-basis:38px}
  .stock-demo-icon-content{border-radius:10px}
  .stock-feature-row{gap:6px;margin-top:6px}
  .stock-feature-link{min-height:47px;gap:5px;padding:3px 7px;border-radius:13px}
  .stock-feature-icon{width:28px;height:28px;font-size:1.05rem}
  .stock-feature-link small{font-size:.52rem}
  .stock-feature-link strong{font-size:.84rem}
  .stock-status-strip{margin-top:6px}
  .stock-status-strip .session-card.session-card-compact{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;
    min-height:44px;
    gap:5px;
    padding:4px 7px;
    border-radius:12px;
  }
  .stock-status-strip .session-card>small{display:none}
  .stock-status-strip .session-row strong{display:flex;justify-content:center;gap:5px;font-size:.65rem}
  .stock-status-strip .session-row em{font-size:.57rem}
  .stock-status-strip .session-card>time{display:block;font-size:.58rem}
  .stock-utility-row{gap:6px;margin-top:6px}
  .stock-utility-row .power-save-control{min-height:44px;padding-inline:7px;border-radius:10px}
  .stock-utility-row .category-tabs{
    grid-auto-flow:column;
    grid-auto-columns:minmax(92px,34%);
    grid-template-columns:none;
    gap:6px;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:inline proximity;
    scrollbar-width:none;
  }
  .stock-utility-row .category-tabs::-webkit-scrollbar{display:none}
  .stock-utility-row .category-tabs button{min-height:44px;scroll-snap-align:start}
  .stock-overview-line{min-height:18px;margin-top:6px;font-size:.64rem}
  .stock-market-heading{min-height:40px;margin:0 2px 7px}
  .stock-market-heading h2{font-size:1.35rem}
}

@media(max-width:480px){
  .stock-status-strip .session-card>time{display:none}
  .stock-utility-row .power-save-control{gap:5px;padding-inline:6px}
  .stock-utility-row .power-save-control>span{font-size:.64rem}
  .stock-utility-row .category-tabs{grid-auto-columns:minmax(86px,39%)}
  .stock-market-heading .stock-board-heading-tools>p{display:none}
}

html[data-theme="dark"] .stock-status-strip .session-card{box-shadow:0 4px 12px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.04)}

/* Final paired-board alignment: full-width category scroller and centered power control. */
.stock-utility-row{display:block}
.stock-utility-row .category-tabs{width:100%}
.stock-market-heading{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;
}
.stock-market-heading>h2{grid-column:2;justify-self:center;text-align:center}
.stock-heading-left-tools{grid-column:1;grid-row:1;justify-self:start}
.stock-heading-right-tools{grid-column:3;grid-row:1;justify-self:end}
.stock-heading-power{justify-self:center}
.stock-market-heading .stock-board-heading-tools{justify-self:end}
.stock-heading-power .power-save-control{min-height:34px;padding:3px 8px;border-radius:10px;background:rgba(255,255,255,.88)}
.stock-heading-power .power-save-toggle{width:44px;height:26px}
.stock-heading-power .power-save-toggle span{width:20px;height:20px}
.stock-heading-power .power-save-toggle[aria-checked="true"] span{transform:translateX(18px)}
html[data-theme="dark"] .stock-heading-power .power-save-control{background:rgba(23,30,33,.9)}

@media(max-width:820px){
  .stock-utility-row .category-tabs{
    padding-right:22px;
    -webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 18px),transparent 100%);
    mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 18px),transparent 100%);
  }
}
@media(max-width:720px){
  .stock-overview-line{margin-top:4px}
  .stock-market-heading{min-height:38px;margin-bottom:3px;gap:6px}
  .stock-market-heading h2{font-size:1.28rem}
  .stock-heading-power .power-save-control{min-height:34px;gap:5px;padding:3px 6px}
  .stock-heading-power .power-save-control>span{font-size:.64rem}
  .stock-heading-power .power-save-control>b{font-size:.62rem}
}
@media(max-width:380px){
  .stock-market-heading h2{font-size:1.08rem}
  .stock-heading-power .power-save-control>span{display:none}
}

/* Final paired-board emphasis and centered section axis. */
.stock-feature-portfolio{
  border-color:rgba(7,117,65,.48);
  background:linear-gradient(100deg,#055a37 0%,#078249 50%,#0eb461 100%);
}
.stock-status-strip .session-row strong{gap:10px;font-size:.92rem}
.stock-status-strip .session-row em{font-size:.82rem}
.stock-utility-row .category-tabs button{justify-content:center;text-align:center}
.stock-market-heading>h2{justify-self:center;text-align:center}
.stock-heading-power{justify-self:start}
.equity-section>.board-heading{position:relative;min-height:42px;align-items:center;justify-content:flex-end}
.equity-section>.board-heading>div{position:absolute;left:50%;text-align:center;transform:translateX(-50%)}
.equity-section>.board-heading>p{margin-left:auto}

@media(max-width:820px){
  .stock-status-strip .session-row strong{gap:6px;font-size:.8rem}
  .stock-status-strip .session-row em{font-size:.72rem}
}
@media(max-width:720px){
  .stock-status-strip .session-row strong{font-size:.76rem}
  .stock-status-strip .session-row em{font-size:.7rem}
  .equity-section>.board-heading>p{display:none}
}
@media(max-width:380px){
  .stock-heading-power .power-save-control>span{display:none}
  .stock-market-heading h2{font-size:1.06rem}
}

/* Final shared control scale and compact market-status grouping. */
.stock-overview-line{justify-content:center;text-align:center}
.stock-heading-power .power-save-control{min-height:38px;padding:4px 8px}
.stock-heading-power .power-save-toggle{width:48px;height:30px}
.stock-heading-power .power-save-toggle span{width:24px;height:24px}
.stock-heading-power .power-save-toggle[aria-checked="true"] span{transform:translateX(18px)}
.stock-status-strip .session-row{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
}
.stock-status-strip .session-row strong{display:flex;flex:0 0 auto;justify-content:flex-start;gap:5px;font-size:1rem}
.stock-status-strip .session-row em{font-size:.9rem}

@media(max-width:820px){
  .stock-heading-power .power-save-control{min-height:38px;padding:4px 7px}
  .stock-status-strip .session-row{gap:5px}
  .stock-status-strip .session-row strong{gap:4px;font-size:.9rem}
  .stock-status-strip .session-row em{font-size:.82rem}
}
@media(max-width:380px){
  .stock-status-strip .session-row strong{font-size:.82rem}
  .stock-status-strip .session-row em{font-size:.76rem}
}

/* Six category controls: give Ranking enough room for its chart mark and label. */
.category-tabs .ranking-tab-icon{flex:0 0 auto;overflow:visible}
.stock-utility-row .category-tabs button[data-filter="ranking"]{min-width:132px}
@media(min-width:821px){
  .stock-utility-row .category-tabs{grid-template-columns:repeat(5,minmax(0,1fr)) minmax(132px,1.2fr)}
}

/* Match BitBull's expanded four-column icon proportion on tablets/desktops. */
@media(min-width:721px){
  html[data-stock-columns="4"] .market-card{--icon-size:clamp(78px,5.7vw,94px)}
}

/* Pair the transparent StockBull mark with the animated wordmark. */
.stock-brand{
  --stock-brand-icon-size:56px;
  --stock-brand-gap:2px;
  width:264px;
  height:60px;
  aspect-ratio:auto;
  padding:0;
}
.stock-brand img.stock-brand-icon{
  position:absolute;
  z-index:5;
  top:50%;
  left:0;
  display:block;
  width:var(--stock-brand-icon-size);
  height:var(--stock-brand-icon-size);
  object-fit:contain;
  filter:drop-shadow(0 4px 7px rgba(16,43,70,.17));
  transform:translateY(-50%);
  pointer-events:none;
}
.stock-brand .stock-brand-final{
  position:absolute;
  inset:0 0 0 calc(var(--stock-brand-icon-size) + var(--stock-brand-gap));
  width:auto;
  height:100%;
}
.stock-brand .stock-brand-logo-dark{display:none}
html[data-theme="dark"] .stock-brand .stock-brand-logo-light{display:none}
html[data-theme="dark"] .stock-brand .stock-brand-logo-dark{display:block}
.stock-brand .stock-brand-motion{
  inset:0 0 0 calc(var(--stock-brand-icon-size) + var(--stock-brand-gap));
  width:auto;
  height:100%;
}
.stock-brand.logo-intro::after{
  inset:0 0 0 calc(var(--stock-brand-icon-size) + var(--stock-brand-gap));
  width:auto;
}
html[data-theme="dark"] .stock-brand.logo-intro .stock-brand-final{animation:none;opacity:1}
html[data-theme="dark"] .stock-brand.logo-intro .stock-brand-motion{display:none}
html[data-theme="dark"] .stock-brand.logo-intro::after{display:none}
@media(max-width:720px){
  .stock-brand{--stock-brand-icon-size:37px;width:clamp(150px,46vw,180px);height:48px}
  .bitbull-switch-link{width:88px;gap:3px;padding-inline:5px}
  .bitbull-switch-link img{width:58px}
}
@media(max-width:430px){
  .stock-brand{--stock-brand-icon-size:34px;width:164px;height:46px}
}
@media(max-width:360px){
  .stock-header{gap:4px;padding-inline:8px}
  .bitbull-switch-link{width:72px;padding-inline:3px}
  .bitbull-switch-link img{width:46px}
  .bitbull-switch-link>span{font-size:.78rem}
  .stock-brand{--stock-brand-icon-size:31px;width:142px;height:43px}
  .theme-toggle{width:38px;height:38px}
}

/* Match BitBull's phone-only landscape compact mode. */
@media (orientation:landscape) and (max-height:520px) and (hover:none) and (pointer:coarse) {
  html { scroll-padding-top:56px; }
  .stock-header {
    min-height:50px;
    gap:5px;
    padding-top:max(3px,env(safe-area-inset-top));
    padding-right:max(9px,env(safe-area-inset-right));
    padding-bottom:3px;
    padding-left:max(9px,env(safe-area-inset-left));
  }
  .bitbull-switch-link { width:88px;height:34px;gap:4px;padding:3px 6px;border-radius:10px; }
  .bitbull-switch-link img { width:60px;height:22px; }
  .bitbull-switch-link>span { font-size:.82rem; }
  .stock-brand { --stock-brand-icon-size:34px;width:166px;height:40px; }
  .theme-toggle { width:34px;height:34px;border-radius:10px; }
  html[data-stock-columns="2"] main {
    width:min(90%,1320px);
    margin-top:6px;
    margin-inline:auto;
  }
  html[data-stock-columns="2"] .market-grid { gap:7px; }
  html[data-stock-columns="2"] .market-card {
    --icon-size:clamp(62px,8vw,76px);
    scroll-margin-top:56px;
    padding:8px 9px 4px;
  }
  html[data-stock-columns="2"] .coin-identity { gap:8px; }
  html[data-stock-columns="2"] .market-card h3.coin-symbol { font-size:clamp(1.55rem,4vw,2.05rem); }
  html[data-stock-columns="2"] .change-strip {
    min-height:40px;
    margin:calc(var(--icon-size) * -.58) -9px 0 calc(var(--icon-size) + 8px);
    padding:2px 8px;
  }
  html[data-stock-columns="2"] .change-strip .market-change { font-size:clamp(1.7rem,4.6vw,2.3rem); }
  html[data-stock-columns="2"] .mini-chart { aspect-ratio:18 / 10; }
  html[data-stock-columns="2"] .market-price-row .market-price { font-size:clamp(1.55rem,4vw,2rem); }
}

/* Light-mode StockBull controls below the feature row use one restrained
   navy glass surface. Selected controls switch to solid navy with white. */
html:not([data-theme="dark"]) .stock-utility-row .category-tabs button,
html:not([data-theme="dark"]) .range-tabs button,
html:not([data-theme="dark"]) .stock-heading-power .power-save-control,
html:not([data-theme="dark"]) .stock-chart-mode,
html:not([data-theme="dark"]) .stock-column-picker .stock-column-toggle,
html:not([data-theme="dark"]) .my-favorite-toggle,
html:not([data-theme="dark"]) .my-reorder-toggle {
  border-color:rgba(10,55,94,.25);
  color:#0b416d;
  background:linear-gradient(145deg,rgba(255,255,255,.95) 16%,rgba(228,240,249,.92) 100%);
  box-shadow:0 4px 12px rgba(10,52,88,.12),inset 0 0 4px rgba(44,119,174,.12),inset 0 0 13px rgba(44,119,174,.07),inset 0 1px 0 rgba(255,255,255,.96);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
}
html:not([data-theme="dark"]) .stock-heading-power .power-save-control b,
html:not([data-theme="dark"]) .stock-heading-power .power-save-control>span {
  color:#0b416d;
}
html:not([data-theme="dark"]) .stock-chart-mode button,
html:not([data-theme="dark"]) .stock-column-picker button,
html:not([data-theme="dark"]) .stock-column-picker-options {
  border-color:rgba(10,55,94,.17);
  color:#0b416d;
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(232,242,250,.94));
}
html:not([data-theme="dark"]) .stock-column-picker-options {
  box-shadow:0 8px 22px rgba(8,39,67,.2),inset 0 1px 0 rgba(255,255,255,.96);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
}
html:not([data-theme="dark"]) .stock-utility-row .category-tabs button[aria-pressed="true"],
html:not([data-theme="dark"]) .range-tabs button[aria-selected="true"],
html:not([data-theme="dark"]) .stock-chart-mode button[aria-pressed="true"],
html:not([data-theme="dark"]) .stock-column-picker button.active,
html:not([data-theme="dark"]) .my-favorite-toggle.is-open,
html:not([data-theme="dark"]) .my-reorder-toggle[aria-pressed="true"] {
  border-color:#0b416d;
  color:#fff;
  background:linear-gradient(135deg,#0a3459,#176aa1);
  box-shadow:0 5px 13px rgba(10,52,88,.24),inset 0 1px 0 rgba(255,255,255,.2);
}

/* StockBull uses BitBull's animated sun/moon artwork on a navy glass shell. */
.stock-header>.theme-toggle {
  display:inline-grid;
  width:44px;
  height:44px;
  padding:0;
  place-items:center;
  border:1px solid rgba(10,55,94,.3);
  border-radius:13px;
  color:#f39800;
  background:linear-gradient(145deg,rgba(255,255,255,.96) 16%,rgba(228,240,249,.94) 100%);
  box-shadow:0 4px 12px rgba(10,52,88,.14),inset 0 0 4px rgba(44,119,174,.13),inset 0 0 13px rgba(44,119,174,.08),inset 0 1px 0 rgba(255,255,255,.98);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
}
.stock-header>.theme-toggle .theme-icon{grid-area:1/1;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:opacity .18s ease,transform .22s ease}
.stock-header>.theme-toggle .theme-icon-sun circle{fill:currentColor;stroke:none}
.stock-header>.theme-toggle .theme-icon-moon{opacity:0;transform:rotate(-24deg) scale(.62)}
.stock-header>.theme-toggle[aria-pressed="true"] .theme-icon-sun{opacity:0;transform:rotate(28deg) scale(.62)}
.stock-header>.theme-toggle[aria-pressed="true"] .theme-icon-moon{opacity:1;transform:rotate(0) scale(1)}
html[data-theme="dark"] .stock-header>.theme-toggle{border-color:rgba(69,128,174,.46);color:#ffd260;background:linear-gradient(145deg,#172735,#0d1924);box-shadow:0 4px 12px rgba(0,0,0,.34),inset 0 0 4px rgba(56,137,197,.16),inset 0 0 13px rgba(56,137,197,.08),inset 0 1px 0 rgba(255,255,255,.05)}
@media(max-width:720px){.stock-header>.theme-toggle{width:40px;height:40px;border-radius:11px}}
@media(orientation:landscape) and (max-height:520px) and (hover:none) and (pointer:coarse){.stock-header>.theme-toggle{width:34px;height:34px;border-radius:10px}.stock-header>.theme-toggle .theme-icon{width:19px;height:19px}}

/* Device-local ordering for the five StockBull market groups. */
body.is-reordering-stock-board{overscroll-behavior:none;user-select:none}
.market-card.is-reorder-editing .my-chart-reorder{display:grid}
.stock-board-reorder-toggle{display:inline-flex;height:34px;align-items:center;gap:5px;padding:0 9px;border:1px solid rgba(10,55,94,.25);border-radius:8px;color:#0b416d;background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(231,242,250,.82));box-shadow:0 3px 9px rgba(7,55,92,.1);font-size:.7rem;font-weight:900;cursor:pointer}.stock-board-reorder-toggle>span{font-size:1rem}.stock-board-reorder-toggle[aria-pressed="true"]{color:#fff;border-color:#0b416d;background:linear-gradient(135deg,#0b416d,#087f61)}
html[data-theme="dark"] .stock-board-reorder-toggle{border-color:#34546c;color:#9bd7ff;background:linear-gradient(145deg,#172735,#0d1924)}html[data-theme="dark"] .stock-board-reorder-toggle[aria-pressed="true"]{color:#fff;background:linear-gradient(135deg,#0b416d,#087f61)}
@media(max-width:600px){.stock-board-reorder-toggle{width:34px;padding:0;justify-content:center}.stock-board-reorder-toggle>strong{display:none}}

/* Shared reorder language: BitBull interaction, StockBull navy skin. */
.stock-board-reorder-toggle{
  display:inline-flex;
  height:34px;
  min-width:104px;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:0 11px 0 8px;
  border:1px solid rgba(10,55,94,.34);
  border-radius:9px;
  color:#0b416d;
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(228,240,249,.92));
  box-shadow:0 4px 10px rgba(10,52,88,.13),inset 0 0 4px rgba(44,119,174,.12),inset 0 1px 0 rgba(255,255,255,.96);
  cursor:pointer;
  font-size:.72rem;
  font-weight:950;
  transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
.stock-board-reorder-toggle:hover{transform:translateY(-1px);border-color:rgba(10,55,94,.54);box-shadow:0 6px 13px rgba(10,52,88,.18),inset 0 1px 0 rgba(255,255,255,.96)}
.stock-board-reorder-toggle:focus-visible{outline:3px solid rgba(23,106,161,.24);outline-offset:2px}
.stock-reorder-button-icon{display:grid;width:24px;height:24px;flex:0 0 24px;place-items:center}
.stock-reorder-button-icon svg{display:block;width:100%;height:100%}
.stock-board-reorder-toggle .done-glyph{display:none}
.stock-board-reorder-toggle[aria-pressed="true"]{border-color:#0b416d;color:#fff;background:linear-gradient(135deg,#0b416d,#176aa1);box-shadow:0 5px 13px rgba(10,52,88,.25),inset 0 1px 0 rgba(255,255,255,.2)}
.stock-board-reorder-toggle[aria-pressed="true"] .sort-glyph{display:none}
.stock-board-reorder-toggle[aria-pressed="true"] .done-glyph{display:block}

.stock-reorder-toolbar{
  position:fixed;
  z-index:9000;
  top:max(9px,env(safe-area-inset-top));
  left:50%;
  display:flex;
  width:min(430px,calc(100% - 24px));
  min-height:56px;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:6px 7px 6px 16px;
  border:1px solid rgba(10,55,94,.44);
  border-radius:16px;
  background:rgba(248,252,255,.97);
  box-shadow:0 8px 24px rgba(8,43,72,.22),inset 0 1px 0 rgba(255,255,255,.95);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
  transform:translateX(-50%);
  animation:stockReorderToolbarIn .28s cubic-bezier(.2,.78,.24,1) both;
}
.stock-reorder-toolbar[hidden]{display:none}
.stock-reorder-toolbar-status{display:inline-flex;min-width:0;align-items:center;gap:8px;color:#123f64;font-size:.92rem;font-weight:950;white-space:nowrap}
.stock-reorder-toolbar-grip{color:#176aa1;font-size:1.35rem;line-height:1;transform:rotate(90deg)}
.stock-reorder-done{display:inline-flex;min-width:132px;height:44px;align-items:center;justify-content:center;gap:7px;padding:0 19px;border:1px solid #0b416d;border-radius:12px;color:#fff;background:linear-gradient(135deg,#176aa1,#0b416d);box-shadow:0 5px 13px rgba(10,52,88,.3),inset 0 1px 0 rgba(255,255,255,.22);cursor:pointer;font-size:1rem;font-weight:1000}
.stock-reorder-done svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}
.stock-reorder-done:hover{background:linear-gradient(135deg,#1b79b8,#082f50);box-shadow:0 7px 16px rgba(10,52,88,.36),inset 0 1px 0 rgba(255,255,255,.25)}
.stock-reorder-done:focus-visible{outline:3px solid rgba(243,152,0,.45);outline-offset:2px}
.stock-reorder-toolbar.is-dirty .stock-reorder-done{box-shadow:0 0 0 3px rgba(23,106,161,.16),0 7px 18px rgba(10,52,88,.36),inset 0 1px 0 rgba(255,255,255,.25)}
.stock-reorder-done.attention{animation:stockReorderDoneCue .62s cubic-bezier(.2,.78,.24,1)}

.market-card.is-reorder-editing{padding-top:50px;transform:translateY(-1px);box-shadow:2px 3px 3px rgba(16,43,70,.24),7px 11px 17px rgba(16,43,70,.24)}
.market-card.is-reorder-editing .my-chart-reorder{
  position:absolute;
  z-index:8;
  top:8px;
  left:50%;
  display:flex;
  width:54px;
  height:36px;
  min-height:0;
  margin:0;
  padding:0;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(10,55,94,.34);
  border-radius:11px;
  color:#0b416d;
  background:linear-gradient(145deg,#fff,#e4f0f8);
  box-shadow:0 4px 10px rgba(10,52,88,.15),inset 0 1px 0 #fff;
  cursor:grab;
  touch-action:none;
  user-select:none;
  transform:translateX(-50%);
}
.my-chart-reorder svg{display:block;width:23px;height:23px;fill:currentColor}
.my-chart-reorder:active,.market-card.is-reordering .my-chart-reorder{cursor:grabbing;transform:translateX(-50%) scale(.95);background:#dcecf6}
.market-card.is-reordering{z-index:20;opacity:.88;transform:translateY(-3px) scale(1.015)!important;border-color:#1769e8!important;outline:4px solid #1769e8;outline-offset:-4px;box-shadow:inset 0 0 0 4px #1769e8,2px 3px 3px rgba(23,105,232,.3),6px 11px 22px rgba(23,105,232,.28)!important}
.market-card.is-drop-target{z-index:19;border-color:#ef4c3e!important;outline:4px solid #ef4c3e;outline-offset:-4px;box-shadow:inset 0 0 0 4px #ef4c3e,0 8px 24px rgba(239,76,62,.2)!important}

@keyframes stockReorderToolbarIn{from{opacity:0;transform:translate(-50%,-12px) scale(.97)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
@keyframes stockReorderDoneCue{0%,100%{transform:scale(1)}38%{transform:scale(1.075);box-shadow:0 0 0 7px rgba(23,106,161,.16),0 9px 20px rgba(10,52,88,.4)}}

html[data-theme="dark"] .stock-reorder-toolbar{border-color:rgba(69,128,174,.5);background:rgba(13,25,36,.97);box-shadow:0 9px 26px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.06)}
html[data-theme="dark"] .stock-reorder-toolbar-status{color:#e1f1fc}
html[data-theme="dark"] .stock-reorder-toolbar-grip{color:#74b9e8}
html[data-theme="dark"] .stock-reorder-done{border-color:#287eb7;background:linear-gradient(135deg,#176aa1,#0b416d);box-shadow:0 5px 15px rgba(0,0,0,.4),0 0 13px rgba(40,126,183,.16)}
html[data-theme="dark"] .market-card.is-reorder-editing .my-chart-reorder{border-color:rgba(69,128,174,.5);color:#9bd7ff;background:linear-gradient(145deg,#172735,#0d1924);box-shadow:0 5px 13px rgba(0,0,0,.34)}

@media(max-width:600px){
  .stock-board-reorder-toggle{width:34px;min-width:34px;padding:0}
  .stock-board-reorder-toggle>strong{display:none}
  .stock-reorder-button-icon{width:23px;height:23px;flex-basis:23px}
  .stock-reorder-toolbar{top:max(7px,env(safe-area-inset-top));width:calc(100% - 18px);min-height:54px;padding:5px 6px 5px 13px;border-radius:15px}
  .stock-reorder-toolbar-status{gap:6px;font-size:.84rem}
  .stock-reorder-toolbar-grip{font-size:1.22rem}
  .stock-reorder-done{min-width:118px;height:44px;padding-inline:16px;font-size:.96rem}
}
@media(prefers-reduced-motion:reduce){.stock-reorder-toolbar,.stock-reorder-done.attention{animation:none!important}}

/* Phone three-column cards: keep pictograms inside the same visual footprint as
   the TOYOTA logo. Emoji flags and oil barrels otherwise paint outside their
   layout box and cover the title/change strip. Other densities stay untouched. */
@media(max-width:720px){
  html[data-stock-columns="3"] .market-card:not(.equity-card) .coin-icon-shell.market-icon:not(.commodity-symbol-icon):not(.is-bullion):not(.is-commodity-art):not(.is-fx-pair):not(.dollar-icon):not(.fund-icon):not(.is-market-flag-art){
    font-size:calc(var(--icon-size) * .95);
  }
  html[data-stock-columns="3"] .market-card .coin-icon-shell.market-icon.is-oil{
    font-size:calc(var(--icon-size) * .88);
  }
}

/* Phone portrait / three columns: keep bond names and point changes readable.
   The detailed 1-year range moves to a compact second-row pill. */
@media(max-width:720px) and (orientation:portrait){
  html[data-stock-columns="2"] .yield-card .change-strip .market-change{
    position:relative;
    left:clamp(-18px,-4.5vw,-14px);
  }
  html[data-stock-columns="3"] .yield-card{
    display:grid;
    grid-template-columns:36px minmax(0,1fr) auto;
    grid-template-rows:22px 29px auto auto;
    column-gap:3px;
  }
  html[data-stock-columns="3"] .yield-card::before{
    content:"";
    position:absolute;
    z-index:0;
    top:6px;
    right:5px;
    left:5px;
    height:22px;
    background:var(--change-bg);
  }
  html[data-stock-columns="3"] .yield-card .coin-heading,
  html[data-stock-columns="3"] .yield-card .coin-identity,
  html[data-stock-columns="3"] .yield-card .market-card-title,
  html[data-stock-columns="3"] .yield-card .coin-symbol-row,
  html[data-stock-columns="3"] .yield-card .change-strip{
    display:contents;
  }
  html[data-stock-columns="3"] .yield-card .market-status-dot,
  html[data-stock-columns="3"] .yield-card .tick-arrow{
    display:none;
  }
  html[data-stock-columns="3"] .yield-card .coin-icon-shell.market-icon{
    grid-column:1;
    grid-row:2;
    align-self:center;
    width:34px;
    height:34px;
    font-size:32px;
  }
  html[data-stock-columns="3"] .yield-card h3.coin-symbol{
    z-index:1;
    grid-column:1 / 3;
    grid-row:1;
    align-self:center;
    justify-self:start;
    max-width:100%;
    font-size:clamp(.72rem,3.15vw,.82rem);
    letter-spacing:-.065em;
    text-align:left;
  }
  html[data-stock-columns="3"] .yield-card .change-strip .market-change{
    z-index:1;
    grid-column:3;
    grid-row:1;
    align-self:center;
    justify-self:end;
    font-size:clamp(.72rem,3.15vw,.84rem);
    letter-spacing:-.045em;
  }
  html[data-stock-columns="3"] .yield-card .yield-period-badge{
    z-index:1;
    grid-column:2 / 4;
    grid-row:2;
    align-self:center;
    justify-self:start;
    padding:2px 7px;
    font-size:.54rem;
    line-height:1.25;
  }
  html[data-stock-columns="3"] .yield-card .mini-chart{
    grid-column:1 / -1;
    grid-row:3;
  }
  html[data-stock-columns="3"] .yield-card .market-price-row{
    grid-column:1 / -1;
    grid-row:4;
  }
}

/* Optional StockBull + BitBull split view, beside the theme control. */
.stock-header-actions{justify-self:end;display:flex;align-items:center;gap:7px}
.stock-header-actions .header-power-save{min-height:48px;padding:5px 9px;border-radius:14px;background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(228,240,249,.94));box-shadow:0 4px 12px rgba(10,52,88,.14),inset 0 1px #fff}
.stock-header-actions .header-power-save .power-save-toggle{width:44px;height:26px}
.stock-header-actions .header-power-save .power-save-toggle span{width:20px;height:20px}
.stock-header-actions .header-power-save .power-save-toggle[aria-checked="true"] span{transform:translateX(18px)}
html[data-theme="dark"] .stock-header-actions .header-power-save{border-color:#3a4852;color:#d6ded9;background:linear-gradient(145deg,#172735,#0d1924);box-shadow:0 4px 12px rgba(0,0,0,.34)}
.stock-header-actions .split-view-button{display:inline-grid;width:98px;height:48px;padding:4px 8px;place-items:center;border:1px solid rgba(10,55,94,.3);border-radius:14px;color:#0b416d;background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(228,240,249,.94));box-shadow:0 4px 12px rgba(10,52,88,.14),inset 0 0 13px rgba(44,119,174,.08),inset 0 1px 0 rgba(255,255,255,.98);cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.stock-header-actions .split-view-button img{display:block;width:82px;height:31px;object-fit:contain}
.stock-header-actions .split-view-button svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.stock-header-actions .split-view-button:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(10,52,88,.2),inset 0 1px 0 #fff}
.stock-header-actions .split-view-button:focus-visible{outline:3px solid rgba(23,106,161,.24);outline-offset:2px}
.stock-header-actions .theme-toggle{display:inline-grid;width:48px;height:48px;padding:0;place-items:center;border:1px solid rgba(10,55,94,.3);border-radius:14px;color:#f39800;background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(228,240,249,.94));box-shadow:0 4px 12px rgba(10,52,88,.14),inset 0 0 13px rgba(44,119,174,.08),inset 0 1px 0 rgba(255,255,255,.98)}
.stock-header-actions .theme-toggle .theme-icon{grid-area:1/1;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:opacity .18s ease,transform .22s ease}
.stock-header-actions .theme-toggle .theme-icon-sun circle{fill:currentColor;stroke:none}
.stock-header-actions .theme-toggle .theme-icon-moon{opacity:0;transform:rotate(-24deg) scale(.62)}
.stock-header-actions .theme-toggle[aria-pressed="true"] .theme-icon-sun{opacity:0;transform:rotate(28deg) scale(.62)}
.stock-header-actions .theme-toggle[aria-pressed="true"] .theme-icon-moon{opacity:1;transform:rotate(0) scale(1)}
html[data-theme="dark"] .stock-header-actions .split-view-button{border-color:rgba(69,128,174,.46);color:#9bd7ff;background:linear-gradient(145deg,#172735,#0d1924);box-shadow:0 4px 12px rgba(0,0,0,.34),inset 0 0 13px rgba(56,137,197,.08)}
html[data-theme="dark"] .stock-header-actions .theme-toggle{border-color:rgba(69,128,174,.46);color:#ffd260;background:linear-gradient(145deg,#172735,#0d1924);box-shadow:0 4px 12px rgba(0,0,0,.34),inset 0 0 13px rgba(56,137,197,.08)}
@media(max-width:759px){.stock-header-actions .split-view-button{display:none}.stock-header-actions{gap:5px}.stock-header-actions .header-power-save{min-height:44px;padding:4px 6px;border-radius:12px}.stock-header-actions .header-power-save>span{display:none}.stock-header-actions .header-power-save b{font-size:.62rem}.stock-header-actions .theme-toggle{width:44px;height:44px;border-radius:12px}}
@media(orientation:landscape) and (min-width:760px) and (max-height:520px){.stock-header-actions{gap:5px}.stock-header-actions .split-view-button{display:inline-grid;width:88px;height:40px;padding:3px 7px;border-radius:11px}.stock-header-actions .split-view-button img{width:73px;height:28px}.stock-header-actions .theme-toggle{display:inline-grid;width:40px;height:40px;border-radius:11px}.stock-header-actions .split-view-button svg,.stock-header-actions .theme-toggle .theme-icon{width:21px;height:21px}}
html[data-split-pane="true"] .stock-header-actions .split-view-button{display:inline-grid;width:48px;height:48px;padding:0}
html[data-split-pane="true"] .stock-header-actions .split-view-button img{display:none}
html[data-split-pane="true"] .stock-header-actions .header-power-save>span{display:none}
@media(max-width:430px){.stock-header-actions .header-power-save b{display:none}.stock-header-actions .header-power-save{padding-inline:5px}}
html[data-split-pane="true"] .stock-install-prompt,
html[data-split-pane="true"] .stock-install-overlay{display:none!important}

/* Match BitBull's denser overview cards. The SVG keeps its existing aspect
   ratio; only unused space between header/chart/price is collapsed. */
.market-card:not(.is-loading) .mini-chart{
  margin-top:-8px;
  margin-bottom:-4px;
}
.market-card:not(.is-loading) .market-price-row{
  margin-top:-5px;
}
@media(max-width:720px){
  .market-card:not(.is-loading) .mini-chart{
    margin-top:-6px;
    margin-bottom:-3px;
  }
  .market-card:not(.is-loading) .market-price-row{
    margin-top:-4px;
  }
  html[data-stock-columns="3"] .market-card.has-demo-position .stock-card-demo-flame{
    top:calc(var(--icon-size) * -.36);
    left:calc(var(--icon-size) * -.23);
    width:calc(var(--icon-size) * 1.45);
  }
}

.stock-header-actions .split-view-button.is-expand-button .expand-corners-icon{fill:currentColor;stroke:none}

/* Use the outer phone orientation, even when each iframe is portrait. */
html[data-phone-landscape-split="true"] .market-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
html[data-phone-landscape-split="true"] .stock-column-picker{display:none}
html[data-phone-landscape-split="true"] .stock-header{grid-template-columns:88px minmax(0,1fr) auto;gap:5px;padding-inline:9px}
html[data-phone-landscape-split="true"] .stock-brand{justify-self:start;min-width:0;width:min(166px,100%);height:40px;--stock-brand-icon-size:30px}
html[data-phone-landscape-split="true"] .bitbull-switch-link{width:88px;height:34px}
html[data-phone-landscape-split="true"] .stock-header-actions{gap:4px}
html[data-phone-landscape-split="true"] .stock-header-actions .split-view-button,
html[data-phone-landscape-split="true"] .stock-header-actions .theme-toggle{width:40px;height:40px;border-radius:11px}

/* Group affiliate links by brokerage so each provider's choices are clear. */
.stock-partner-actions{display:grid;grid-template-columns:1fr;gap:11px;max-width:650px}
.stock-partner-provider{min-width:0;overflow:hidden;border:2px solid rgba(10,74,119,.28);border-radius:17px;background:rgba(255,255,255,.78);box-shadow:0 5px 15px rgba(10,47,73,.1),inset 0 0 0 1px rgba(255,255,255,.72);transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease}
.stock-partner-provider.is-matsui{border-color:rgba(4,122,72,.34)}.stock-partner-provider.is-monex{border-color:rgba(31,91,139,.36)}
.stock-partner-provider.is-open{border-color:rgba(4,137,75,.62);box-shadow:0 11px 25px rgba(8,63,64,.18),inset 0 0 0 1px rgba(255,255,255,.76);transform:translateY(-1px)}
.stock-partner-provider-toggle{display:flex;width:100%;min-height:64px;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;border:0;color:#15344b;background:linear-gradient(110deg,rgba(9,48,85,.07),rgba(7,153,76,.08));font:inherit;text-align:left;cursor:pointer;transition:background .2s ease,color .2s ease}
.stock-partner-provider.is-monex .stock-partner-provider-toggle{background:linear-gradient(110deg,rgba(18,62,112,.09),rgba(214,106,40,.09))}
.stock-partner-provider-toggle:hover{background:linear-gradient(110deg,rgba(9,48,85,.12),rgba(7,153,76,.14))}.stock-partner-provider.is-monex .stock-partner-provider-toggle:hover{background:linear-gradient(110deg,rgba(18,62,112,.14),rgba(214,106,40,.14))}
.stock-partner-provider-toggle:focus-visible{position:relative;z-index:2;outline:3px solid rgba(9,166,83,.38);outline-offset:-3px}
.stock-partner-provider-heading{display:flex;min-width:0;align-items:baseline;gap:12px}.stock-partner-provider-heading strong{font-size:1rem;font-weight:950;letter-spacing:.01em}.stock-partner-provider-heading small{color:#567080;font-size:.74rem;font-weight:850}
.stock-partner-provider-chevron{display:grid;width:28px;height:28px;flex:0 0 auto;place-items:center;border-radius:0;color:#0b4763;background:transparent;font-size:.68rem;transition:transform .24s ease,color .2s ease}.stock-partner-provider.is-open .stock-partner-provider-chevron{color:#07884d;transform:rotate(180deg);background:transparent}
.stock-partner-provider-collapse{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .26s ease,visibility 0s linear .26s}.stock-partner-provider.is-open .stock-partner-provider-collapse{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .26s ease}.stock-partner-provider-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-height:0;overflow:hidden;padding:0 10px;transition:padding .26s ease}.stock-partner-provider.is-open .stock-partner-provider-links{padding:10px}
.stock-partner-provider .stock-partner-link{min-height:54px;gap:7px;padding:8px;text-align:center}
.stock-partner-provider .stock-partner-link strong{margin:0;font-size:.76rem;line-height:1.3}
.stock-partner-provider .stock-partner-flag{font-size:1.2rem}
.stock-partner-external{flex:0 0 auto;font-size:.88rem;font-weight:950;line-height:1}
html[data-theme="dark"] .stock-partner-provider{border-color:rgba(173,204,220,.32);background:rgba(255,255,255,.045);box-shadow:0 7px 17px rgba(0,0,0,.24)}
html[data-theme="dark"] .stock-partner-provider.is-open{border-color:rgba(50,205,129,.44);box-shadow:0 12px 26px rgba(0,0,0,.3)}html[data-theme="dark"] .stock-partner-provider-toggle{color:#e8f2f7;background:linear-gradient(110deg,rgba(23,70,109,.55),rgba(7,122,71,.32))}html[data-theme="dark"] .stock-partner-provider.is-monex .stock-partner-provider-toggle{background:linear-gradient(110deg,rgba(20,77,126,.55),rgba(151,71,30,.3))}html[data-theme="dark"] .stock-partner-provider-heading small{color:#b4c7d1}
html[data-theme="dark"] .stock-partner-provider-chevron{color:#8ce8b4}html[data-theme="dark"] .stock-partner-provider.is-open .stock-partner-provider-chevron{color:#60f4a2}
@media(max-width:420px){.stock-partner-actions{max-width:100%}.stock-partner-provider-toggle{min-height:60px;padding:10px 12px}.stock-partner-provider-heading{display:grid;gap:1px}.stock-partner-provider-heading strong{font-size:.94rem}.stock-partner-provider-heading small{font-size:.68rem}.stock-partner-provider .stock-partner-link{min-height:52px;gap:5px;padding:7px 5px}.stock-partner-provider .stock-partner-link strong{font-size:.69rem}.stock-partner-external{font-size:.76rem}}
@media(prefers-reduced-motion:reduce){.stock-partner-provider,.stock-partner-provider-chevron,.stock-partner-provider-collapse,.stock-partner-provider-links{transition:none}}

/* Phone landscape / three columns: emoji artwork can paint beyond its CSS box.
   Keep the card geometry unchanged and shrink only the requested pictograms so
   their flags and barrels remain fully visible inside the clipped card. */
html[data-stock-phone-landscape="true"][data-stock-columns="3"] #market-grid .coin-icon-shell.market-icon,
html[data-stock-phone-landscape="true"][data-stock-columns="3"] #forex-grid .coin-icon-shell.market-icon{
  overflow:visible;
  transform:scale(.90);
  transform-origin:top left;
}
html[data-stock-phone-landscape="true"][data-stock-columns="3"] #commodity-grid .coin-icon-shell.market-icon.is-oil{
  overflow:visible;
  transform:scale(.86);
  transform-origin:top left;
}

/* Safari fallback: some standalone/home-screen sessions keep the previous JS
   through page cache, so also key the same correction directly to the visual
   viewport used by phone landscape. */
@media (orientation:landscape) and (max-width:1180px){
  html[data-stock-columns="3"] #market-grid .coin-icon-shell.market-icon,
  html[data-stock-columns="3"] #forex-grid .coin-icon-shell.market-icon{
    overflow:visible;
    transform:scale(.90);
    transform-origin:top left;
  }
  html[data-stock-columns="3"] #commodity-grid .coin-icon-shell.market-icon.is-oil{
    overflow:visible;
    transform:scale(.86);
    transform-origin:top left;
  }
}

/* Full dark card treatment: keep StockBull visually aligned with BitBull. */
html[data-theme="dark"] .market-card{
  border-color:#2d3a42;
  background:linear-gradient(165deg,#171f24 0%,#11181d 100%);
  box-shadow:2px 2px 2px rgba(0,0,0,.72),5px 8px 14px rgba(0,0,0,.56);
}

html[data-theme="dark"] .market-card h3,
html[data-theme="dark"] .market-card h3.coin-symbol,
html[data-theme="dark"] .market-price-row{color:#f4f8f6}
html[data-theme="dark"] .market-price-row small{color:#9ca8a3}
html[data-theme="dark"] .change-strip{background-color:#151c1f}
html[data-theme="dark"] .change-strip .market-change{
  text-shadow:-1px -1px 0 rgba(6,10,12,.92),1px -1px 0 rgba(6,10,12,.92),-1px 1px 0 rgba(6,10,12,.92),1px 1px 0 rgba(6,10,12,.92),0 2px 7px rgba(0,0,0,.36);
}
html[data-theme="dark"] .positive .market-change{color:#20c963}
html[data-theme="dark"] .negative .market-change{color:#ff4d58}
html[data-theme="dark"] .positive[data-band-level="high"] .market-change{color:#45e69a}
html[data-theme="dark"] .positive[data-band-level="extreme"] .market-change{color:#8af4ff}
html[data-theme="dark"] .negative[data-band-level="high"] .market-change,
html[data-theme="dark"] .negative[data-band-level="extreme"] .market-change{color:#fff}
html[data-theme="dark"] .market-card.unavailable .market-change{color:#9ba6ac;text-shadow:none}
html[data-theme="dark"] .yield-period-badge{border-color:#46545b;color:#d2dcda;background:rgba(17,24,29,.82)}
html[data-theme="dark"] .stock-sparkline .price-line{stroke:#5c7fff}
html[data-theme="dark"] .stock-sparkline .candle-wick.candle-up,
html[data-theme="dark"] .stock-sparkline .candle-body.candle-up{stroke:#20b867;fill:#35d87c}
html[data-theme="dark"] .stock-sparkline .candle-wick.candle-down,
html[data-theme="dark"] .stock-sparkline .candle-body.candle-down{stroke:#ed4451;fill:#ff6570}
html[data-theme="dark"] .stock-sparkline .baseline-label{stroke:#151b1e}
html[data-theme="dark"] .stock-sparkline .extrema-label{stroke:#151b1e}
html[data-theme="dark"] .stock-sparkline .extrema-label-high{fill:#42f693}
html[data-theme="dark"] .stock-sparkline .extrema-label-low{fill:#ff69be}
html[data-theme="dark"] .stock-sparkline .stock-time-tick{stroke:#566570}
html[data-theme="dark"] .stock-sparkline .stock-time-label{fill:#aab6be}

/* Match BitBull: preserve the percentage size and slim only its color band. */
.change-strip{
  background-color:transparent;
  background-position:center;
  background-size:100% calc(100% - clamp(4px,.65vw,8px));
}

/* Leave a small outside gap above every chart grid so demo flames can clear
   the controls. This does not change the padding inside any chart card. */
main{
  margin-top:5px;
}
html[data-theme="dark"] .stock-sparkline .current-pointer.pointer-up{fill:#42f693;color:#42f693}
html[data-theme="dark"] .stock-sparkline .current-pointer.pointer-down{fill:#ff69be;color:#ff69be}
html[data-theme="dark"] .stock-sparkline .current-pointer.pointer-flat{fill:#70e9ff;color:#70e9ff}

/* Unified action arrows: match the BitBull MY buttons and respect power saving. */
@keyframes stockButtonArrowTrailX{
  0%,12%,100%{opacity:0;transform:translateX(-15px)}
  24%{opacity:.34;transform:translateX(-13px)}
  35%{opacity:.08;transform:translateX(-11px)}
  47%{opacity:.7;transform:translateX(-8px)}
  57%{opacity:.12;transform:translateX(-6px)}
  68%{opacity:.86;transform:translateX(-3px)}
  78%,90%{opacity:0;transform:translateX(0)}
}
@keyframes stockButtonArrowTrailY{
  0%,12%,100%{opacity:0;transform:translateY(-15px)}
  24%{opacity:.34;transform:translateY(-13px)}
  35%{opacity:.08;transform:translateY(-11px)}
  47%{opacity:.68;transform:translateY(-8px)}
  57%{opacity:.12;transform:translateY(-6px)}
  68%{opacity:.82;transform:translateY(-3px)}
  78%,90%{opacity:0;transform:translateY(0)}
}
.stock-demo-arrow{
  position:relative;
  display:block;
  width:28px;
  font-size:1.9rem;
  font-weight:700;
  line-height:1;
  text-align:center;
  transform:scaleX(1.12);
  transform-origin:center;
}
.stock-demo-trade.is-open .stock-demo-arrow{transform:rotate(180deg) scaleX(1.12)}
.stock-demo-arrow::before,
.stock-learning-chevron::before,
.stock-partner-provider-chevron::before{
  content:"⌄";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:currentColor;
  font-weight:300;
  opacity:0;
  pointer-events:none;
  will-change:transform,opacity;
}
.stock-feature-link>.stock-flow-arrow,
.market-pulse-entry>.stock-flow-arrow,
.stock-partner-external{
  position:relative;
  display:block;
  flex:0 0 auto;
  width:30px;
  color:currentColor;
  font-size:2rem;
  font-weight:700;
  line-height:1;
  text-align:right;
  transform:scaleX(1.12);
  transform-origin:right center;
}
.stock-feature-link>.stock-flow-arrow::before,
.market-pulse-entry>.stock-flow-arrow::before,
.stock-partner-external::before{
  content:"›";
  position:absolute;
  inset:0;
  color:currentColor;
  font-weight:300;
  opacity:0;
  pointer-events:none;
  text-align:right;
  will-change:transform,opacity;
}
.stock-learning-chevron,
.stock-partner-provider-chevron{position:relative;font-size:1.45rem;font-weight:700;line-height:1}
.stock-partner-provider-chevron,
.stock-partner-provider-chevron::before{
  font-size:1.55rem;
  font-weight:1000;
  -webkit-text-stroke:.75px currentColor;
}
html[data-power-save="false"] .stock-demo-arrow::before,
html[data-power-save="false"] .stock-learning-chevron::before,
html[data-power-save="false"] .stock-partner-provider-chevron::before{animation:stockButtonArrowTrailY 1.65s linear infinite}
html[data-power-save="false"] .stock-feature-link>.stock-flow-arrow::before,
html[data-power-save="false"] .market-pulse-entry>.stock-flow-arrow::before,
html[data-power-save="false"] .stock-partner-external::before{animation:stockButtonArrowTrailX 1.65s linear infinite}
html[data-power-save="true"] .stock-demo-arrow::before,
html[data-power-save="true"] .stock-learning-chevron::before,
html[data-power-save="true"] .stock-partner-provider-chevron::before,
html[data-power-save="true"] .stock-feature-link>.stock-flow-arrow::before,
html[data-power-save="true"] .market-pulse-entry>.stock-flow-arrow::before,
html[data-power-save="true"] .stock-partner-external::before{display:none!important}

/* Compact mobile power-save control. Desktop keeps the full labelled switch. */
.mobile-power-glyph{display:none!important}
.power-save-notice{display:none;position:fixed;top:calc(env(safe-area-inset-top) + 62px);left:50%;z-index:10000;min-width:max-content;padding:8px 13px;border:1px solid rgba(20,91,137,.22);border-radius:999px;color:#173247;background:rgba(255,255,255,.96);box-shadow:0 8px 24px rgba(7,49,80,.2);font-size:.74rem;font-weight:950;opacity:0;pointer-events:none;transform:translate(-50%,-8px);transition:opacity .18s ease,transform .18s ease}.power-save-notice.is-visible{opacity:1;transform:translate(-50%,0)}html[data-theme="dark"] .power-save-notice{border-color:#3a4852;color:#eef7fc;background:rgba(13,25,36,.96)}
@media(max-width:759px){
  .stock-header-actions .header-power-save{width:44px;height:44px;min-height:44px;padding:0;border:0;background:transparent;box-shadow:none}
  .stock-header-actions .header-power-save>span,.stock-header-actions .header-power-save>b{display:none}
  .stock-header-actions .header-power-save .power-save-toggle{display:grid;width:44px;height:44px;place-items:center;border:1px solid rgba(20,91,137,.28);border-radius:12px;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(228,240,249,.94));box-shadow:0 4px 12px rgba(10,52,88,.14),inset 0 1px #fff;color:#52606a}
  .stock-header-actions .header-power-save .power-save-toggle>span:not(.mobile-power-glyph){display:none}
  .stock-header-actions .header-power-save .power-save-toggle>.mobile-power-glyph{display:block!important;position:static;width:auto;height:auto;border-radius:0;background:transparent;box-shadow:none;color:inherit;font-size:.78rem;font-weight:1000;line-height:1;letter-spacing:-.04em;text-transform:lowercase;transform:none}
  .stock-header-actions .header-power-save .power-save-toggle[aria-checked="true"]{color:#fff;background:linear-gradient(145deg,#078f51,#12bd68);box-shadow:0 0 0 1px rgba(4,175,92,.22),0 0 14px rgba(11,211,111,.3),inset 0 1px rgba(255,255,255,.35)}
  .stock-header-actions .header-power-save .power-save-toggle[aria-checked="true"]>.mobile-power-glyph{transform:none}
  html[data-theme="dark"] .stock-header-actions .header-power-save .power-save-toggle{border-color:#3a4852;background:linear-gradient(145deg,#172735,#0d1924);box-shadow:0 4px 12px rgba(0,0,0,.34);color:#cbd6dd}
  html[data-theme="dark"] .stock-header-actions .header-power-save .power-save-toggle[aria-checked="true"]{color:#fff;background:linear-gradient(145deg,#078d4f,#10b961);box-shadow:0 0 14px rgba(13,207,107,.26)}
  .power-save-notice{display:block}
}
@media(max-width:720px){.stock-demo-arrow{font-size:1.65rem}.stock-feature-link>.stock-flow-arrow{width:22px;font-size:1.85rem}}
@media(max-width:390px){.stock-feature-link>.stock-flow-arrow{display:block;width:14px;font-size:1.45rem}}
@media(prefers-reduced-motion:reduce){
  .stock-demo-arrow::before,
  .stock-learning-chevron::before,
  .stock-partner-provider-chevron::before,
  .stock-feature-link>.stock-flow-arrow::before,
  .stock-partner-external::before{display:none!important}
}

/* Reduce only the blank space inside the top of every chart card. */
.market-card{
  padding-top:clamp(5px,.625vw,8px);
}
.market-card.is-reorder-editing{
  padding-top:50px;
}
@media(max-width:720px){
  .market-card{padding-top:4px}
  html[data-stock-columns="3"] .market-card{padding-top:3px}
  html[data-stock-columns="4"] .market-card{padding-top:2px}
}

/* Carry BitBull's finished phone-card balance across to StockBull. Keep the
   price footer compact, but reserve enough space above the chart for a high
   previous-close label in every density. */
.market-card:not(.is-loading) .mini-chart{
  margin-top:4px;
  margin-bottom:-4px;
}
@media(max-width:720px){
  .market-card:not(.is-loading) .mini-chart{
    margin-top:3px;
    margin-bottom:-3px;
  }
}

@media (orientation:landscape) and (max-height:520px) and (hover:none) and (pointer:coarse){
  html[data-stock-columns="2"] .market-card{
    --icon-size:clamp(76px,10vw,92px);
  }
  html[data-stock-columns="2"] .change-strip{
    min-height:clamp(52px,14vh,58px);
    padding-block:3px;
  }
  html[data-stock-columns="2"] .change-strip .market-change{
    font-size:clamp(2.2rem,9.5vh,2.6rem);
  }
  html[data-stock-columns="2"] .mini-chart{
    margin-right:0;
  }

  html[data-stock-columns="3"] .market-card{
    --icon-size:clamp(58px,7.5vw,72px);
  }
  html[data-stock-columns="3"] .change-strip{
    margin-top:calc(var(--icon-size) * -.66);
    min-height:clamp(36px,9.5vh,42px);
    padding-block:2px;
  }
  html[data-stock-columns="3"] .change-strip .market-change{
    font-size:clamp(1.55rem,7vh,1.8rem);
  }
  html[data-stock-columns="3"] .stock-sparkline .baseline-label{
    font-size:16px;
  }

  html:not([data-split-pane="true"])[data-stock-columns="4"] .change-strip{
    margin-top:calc(var(--icon-size) * -.70);
    margin-left:calc(var(--icon-size) * .78);
    min-height:clamp(31px,8.2vh,34px);
    padding-block:1px;
  }
  html:not([data-split-pane="true"])[data-stock-columns="4"] .market-card{
    --icon-size:clamp(48px,6.5vw,56px);
  }
  html:not([data-split-pane="true"])[data-stock-columns="4"] .market-card:not(.equity-card) .coin-icon-shell.market-icon:not(.commodity-symbol-icon):not(.is-bullion):not(.is-commodity-art):not(.is-fx-pair):not(.dollar-icon):not(.fund-icon):not(.is-market-flag-art){
    overflow:visible;
    font-size:calc(var(--icon-size) * .92);
  }
  html:not([data-split-pane="true"])[data-stock-columns="4"] .mini-chart{
    aspect-ratio:18/10.5;
  }
  html:not([data-split-pane="true"])[data-stock-columns="4"] .change-strip .market-change{
    font-size:clamp(1.24rem,6vh,1.5rem);
  }
  html:not([data-split-pane="true"])[data-stock-columns="4"] .stock-sparkline .baseline-label{
    font-size:16px;
  }
}

/* Oil-barrel emoji has a taller, right-heavy painted area than the other
   commodity artwork. Balance only the two oil cards without moving titles. */
#commodity-grid .coin-icon-shell.market-icon.is-oil{
  left:calc(var(--icon-size) * -.06);
  font-size:calc(var(--icon-size) * .78);
}

/* Shared 360 x 384 BitBull proportions at every StockBull density. */
html[data-stock-card-layout="proportional"][data-stock-columns] .market-grid{grid-template-columns:repeat(var(--stock-columns,4),minmax(0,1fr));gap:8px;align-items:start}
html[data-stock-card-layout="proportional"][data-stock-columns] .market-card{position:relative;display:block;container-type:inline-size;aspect-ratio:360/384;padding:0;min-height:0;min-width:0;--icon-size:25cqw;--stock-icon-size:25cqw;--card-edit-offset:0cqw;contain-intrinsic-size:none}
html[data-stock-card-layout="proportional"][data-stock-columns] .market-card.is-reorder-editing{aspect-ratio:360/430;--card-edit-offset:12.778cqw;padding:0}
html[data-stock-card-layout="proportional"][data-stock-columns] .market-card .coin-heading{position:absolute;display:flex;top:calc(3.333cqw + var(--card-edit-offset));left:3.333cqw;right:3.333cqw;height:25cqw;min-height:0;margin:0}
html[data-stock-card-layout="proportional"][data-stock-columns] .market-card .coin-identity{position:relative;display:flex;width:100%;height:100%;align-items:flex-start;gap:3.889cqw}
html[data-stock-card-layout="proportional"][data-stock-columns] .market-card .market-card-title{position:absolute;display:block;top:0;left:28.889cqw;right:0;min-width:0;padding:0}
html[data-stock-card-layout="proportional"][data-stock-columns] .market-card .coin-symbol-row{display:flex;justify-content:flex-end;align-items:center;gap:1.389cqw;height:10cqw}
html[data-stock-card-layout="proportional"][data-stock-columns] .market-card h3.coin-symbol{position:static;display:block;min-width:0;max-width:100%;margin:0;font-size:9.444cqw;line-height:1;letter-spacing:-.035em;white-space:nowrap}
html[data-stock-card-layout="proportional"][data-stock-columns] .market-card .market-status-dot{display:inline-block;position:static;width:3cqw;height:3cqw;flex:none;margin:0}
html[data-stock-card-layout="proportional"][data-stock-columns] .market-card .coin-heading .coin-identity .coin-icon-shell.market-icon{position:relative;top:0;left:0;width:25cqw;height:25cqw;flex:none;font-size:23cqw}
html[data-stock-card-layout="proportional"][data-stock-columns] .market-card .coin-heading .coin-icon-shell.is-oil{left:-1.5cqw;font-size:19.5cqw}
html[data-stock-card-layout="proportional"][data-stock-columns] .market-card .coin-heading .coin-icon-shell.is-fx{font-size:14cqw}
html[data-stock-card-layout="proportional"][data-stock-columns] .market-card .change-strip{position:absolute;display:flex;top:calc(13.333cqw + var(--card-edit-offset));left:31.111cqw;right:0;height:14.444cqw;min-height:0;margin:0;padding:.833cqw 3.333cqw;align-items:center;justify-content:flex-end;gap:1cqw}
html[data-stock-card-layout="proportional"][data-stock-columns] .market-card .change-strip .market-change{position:static;display:block;margin:0;padding:0;font-size:10cqw;line-height:1;letter-spacing:-.045em;white-space:nowrap;min-width:0}
html[data-stock-card-layout="proportional"][data-stock-columns] .market-card .yield-period-badge{position:static;display:inline-block;flex:none;margin:0;padding:.556cqw 1.111cqw;font-size:2.778cqw;line-height:1.25;border-radius:3cqw}
html[data-stock-card-layout="proportional"][data-stock-columns] .market-card .tick-arrow{position:absolute;left:1.111cqw;width:6.111cqw;height:7.778cqw;margin:0}
html[data-stock-card-layout="proportional"][data-stock-columns] .market-card .mini-chart{position:absolute;top:calc(30.833cqw + var(--card-edit-offset));left:3.333cqw;right:3.333cqw;height:62.222cqw;min-height:0;aspect-ratio:auto;margin:0}
html[data-stock-card-layout="proportional"][data-stock-columns] .market-card .stock-sparkline{width:100%;height:100%;aspect-ratio:auto;overflow:visible}
html[data-stock-card-layout="proportional"][data-stock-columns] .market-card .market-price-row{position:absolute;display:flex;top:calc(93.889cqw + var(--card-edit-offset));left:3.333cqw;right:3.333cqw;height:12.222cqw;margin:0;gap:1.944cqw;align-items:center;justify-content:center;line-height:1}
html[data-stock-card-layout="proportional"][data-stock-columns] .market-card .market-price{font-size:10.417cqw;line-height:1;font-weight:900;letter-spacing:-.045em;white-space:nowrap}
html[data-stock-card-layout="proportional"][data-stock-columns] .market-card .market-price-row small{font-size:3.333cqw}
html[data-stock-card-layout="proportional"][data-stock-columns] .market-card .market-price-row small:empty{display:none}
html[data-stock-card-layout="proportional"][data-stock-columns] .market-card.yield-card::before{display:none}
html[data-stock-card-layout="proportional"][data-stock-columns] .market-card .my-chart-reorder{top:1.667cqw;width:15cqw;height:10cqw;border-radius:3cqw}
html[data-stock-card-layout="proportional"][data-stock-columns] .market-card .my-chart-reorder svg{width:6.389cqw;height:6.389cqw}
html[data-stock-card-layout="proportional"][data-stock-columns] .stock-column-picker-options [data-stock-columns]{display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:1}
html[data-stock-card-layout="proportional"][data-stock-columns] .market-card .stock-sparkline :is(line,path,rect){vector-effect:none}
html[data-stock-card-layout="proportional"][data-stock-columns] .market-card .stock-sparkline .price-line{stroke-width:1.73}
html[data-stock-card-layout="proportional"][data-stock-columns] .market-card .stock-sparkline .candle-wick{stroke-width:1.59}
html[data-stock-card-layout="proportional"][data-stock-columns] .market-card .stock-sparkline .candle-body{stroke-width:1.11}
html[data-stock-card-layout="proportional"][data-stock-columns] .market-card .stock-sparkline .grid-line{stroke-width:1.38}
html[data-stock-card-layout="proportional"][data-stock-columns] .market-card .stock-sparkline .baseline-line{stroke-width:3.05}
html[data-stock-card-layout="proportional"][data-stock-columns] .market-card .stock-sparkline .extrema-line{stroke-width:1.38}
html[data-stock-card-layout="proportional"],html[data-stock-card-layout="proportional"] body{width:100%;max-width:100%;min-width:0;overflow-x:clip}

/* Match the grid row height to the proportional card at every settled width. */
html[data-stock-card-layout="proportional"][data-stock-columns] .market-grid{container-type:inline-size;--card-row-width:calc((100cqw - (var(--stock-columns,4) - 1)*8px)/var(--stock-columns,4))}
html[data-stock-card-layout="proportional"][data-stock-columns] .market-card{height:calc(var(--card-row-width)*384/360)}
html[data-stock-card-layout="proportional"][data-stock-columns] .market-card.is-reorder-editing{height:calc(var(--card-row-width)*430/360)}

/* Match BitBull's mobile arrow columns, including narrow phones. */
@media(max-width:720px) {
  .stock-feature-link { grid-template-columns:28px minmax(0,1fr) 22px; }
  .stock-feature-link>.stock-flow-arrow { display:block; grid-column:3; grid-row:1; align-self:center; justify-self:end; width:22px; font-size:1.85rem; }
  .stock-demo-toggle { grid-template-columns:40px minmax(0,1fr) minmax(118px,44%) 26px; }
  .stock-demo-figures { min-width:0; }
  .stock-demo-arrow { grid-column:4; grid-row:1; align-self:center; justify-self:center; width:26px; }
}

/* Match BitBull's two-candle mark; the line arrow follows button color. */
.stock-chart-mode .chart-mode-color-candles { width:22px; height:22px; filter:drop-shadow(0 1px 1px rgba(0,0,0,.25)); }
.stock-chart-mode .chart-mode-color-candles rect { stroke:#fff; stroke-width:.9; }
.stock-chart-mode .icon-body-down { fill:#ef3d49; }
.stock-chart-mode .icon-body-up { fill:#10ad55; }
html[data-theme="dark"] .stock-chart-mode .icon-body-down { fill:#ff6570; }
html[data-theme="dark"] .stock-chart-mode .icon-body-up { fill:#35d87c; }
html[data-theme="dark"] .stock-chart-mode .icon-wick-down { stroke:#ff6570; }
html[data-theme="dark"] .stock-chart-mode .icon-wick-up { stroke:#35d87c; }

.stock-sparkline.reverse-risk-colors .current-pointer.pointer-down { fill:#ef4050; color:#ef4050; }
html[data-theme="dark"] .stock-sparkline.reverse-risk-colors .current-pointer.pointer-down { fill:#ff6570; color:#ff6570; }

/* DXY is text inside a coin: retain its fitted type in proportional cards. */
html[data-stock-card-layout="proportional"][data-stock-columns] .market-card .coin-heading .coin-identity .coin-icon-shell.market-icon.is-dollar-index{font-size:6.75cqw;letter-spacing:-.04em;aspect-ratio:1}

/* Fit the long mobile feature titles on one line, like BitBull. */
@media(max-width:720px){
  #stock-app .comparison-entry-row>.market-pulse-entry,
  #stock-app .stock-feature-row>.stock-feature-link{container-type:inline-size}
  #stock-app .comparison-entry-row .market-pulse-entry-copy strong{font-size:clamp(8px,6.3cqw,14px);line-height:1.1;letter-spacing:0;white-space:nowrap}
  #stock-app .comparison-entry-row .market-pulse-entry-copy small{font-size:clamp(6px,4.3cqw,9px);line-height:1.2;letter-spacing:.025em}
  #stock-app .comparison-entry-row .market-pulse-entry-copy>span{font-size:clamp(6px,4.3cqw,9px);line-height:1.2;white-space:nowrap}
  #stock-app .stock-feature-portfolio>span:nth-child(2)>strong{font-size:clamp(9px,6.6cqw,16px);line-height:1.1;white-space:nowrap}
  #stock-app .stock-feature-portfolio>span:nth-child(2)>small{font-size:clamp(7px,4.3cqw,10px);line-height:1.2;white-space:nowrap}
}

/* Idle and zero-P&L balances use BitBull's blue; profit/loss keep their colors. */
html[data-theme="dark"] #stock-demo-trade:not(.is-profit):not(.is-loss) .stock-demo-balance strong,
html[data-theme="dark"] #stock-demo-trade:not(.is-profit):not(.is-loss) .stock-demo-current strong{color:#126cb1}

/* The ordinary-list reset follows the BitBull toolbar layout. */
.stock-reorder-toolbar.has-reset{width:min(610px,calc(100% - 24px))}
.stock-reorder-toolbar-status > span:last-child{overflow:hidden;text-overflow:ellipsis}
.stock-reorder-toolbar-actions{display:inline-flex;flex:0 0 auto;align-items:center;gap:8px}
.stock-reorder-reset{display:inline-flex;min-width:136px;height:44px;align-items:center;justify-content:center;gap:6px;padding:0 14px;border:1px solid rgba(10,55,94,.5);border-radius:12px;color:#0b416d;background:linear-gradient(145deg,#fff,#eef6fc);box-shadow:0 4px 11px rgba(10,52,88,.12),inset 0 1px 0 rgba(255,255,255,.95);cursor:pointer;font-size:.9rem;font-weight:950}
.stock-reorder-reset[hidden]{display:none}
.stock-reorder-reset svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.stock-reorder-reset:hover{border-color:#0b416d;background:#e8f4fc}
.stock-reorder-reset:focus-visible{outline:3px solid rgba(243,152,0,.45);outline-offset:2px}
.stock-reorder-reset.is-selected{border-color:#0b416d;color:#fff;background:linear-gradient(135deg,#176aa1,#0b416d);box-shadow:0 0 0 3px rgba(23,106,161,.14),0 5px 14px rgba(10,52,88,.27),inset 0 1px 0 rgba(255,255,255,.2)}
.stock-reorder-toolbar.has-reset .stock-reorder-done{min-width:112px}
html[data-theme="dark"] .stock-reorder-reset{border-color:rgba(69,128,174,.6);color:#9bd7ff;background:linear-gradient(145deg,#172735,#0d1924);box-shadow:0 4px 12px rgba(0,0,0,.28)}
html[data-theme="dark"] .stock-reorder-reset.is-selected{border-color:#4b9cd4;color:#fff;background:linear-gradient(135deg,#176aa1,#0b416d);box-shadow:0 0 0 3px rgba(40,126,183,.14),0 5px 15px rgba(0,0,0,.34)}
@media(max-width:600px){
 .stock-reorder-toolbar.has-reset{width:calc(100% - 18px);gap:7px;padding-left:11px}
 .stock-reorder-toolbar-actions{gap:5px}
 .stock-reorder-reset{min-width:116px;height:44px;padding-inline:9px;font-size:.8rem}
 .stock-reorder-reset svg{width:17px;height:17px}
 .stock-reorder-toolbar.has-reset .stock-reorder-done{min-width:92px;padding-inline:12px;font-size:.94rem}
}

.stock-timeframe-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin:12px 0 4px;color:var(--text,#173b50);font-weight:800}
.stock-timeframe-toolbar select{max-width:100%;font:inherit;color:inherit;background:var(--card,#fff);border:1px solid #a9becb;border-radius:12px;padding:10px 12px;min-height:44px}
.stock-timeframe-toolbar small{flex-basis:100%;text-align:right;font-size:.72rem;font-weight:600;color:var(--muted,#637583)}
html[data-theme="dark"] .stock-timeframe-toolbar{color:#e5f3ff}
html[data-theme="dark"] .stock-timeframe-toolbar select{background:#162b3a;color:#e5f3ff;border-color:#4d6d82}

/* Detail charts get their own full-width stage, independent of TOP card sizing. */
/* Center through layout margins: ux-panel-reveal owns transform while open.
   Positioning with left:50%/translateX is broken by its persistent fill mode. */
.detail-panel{--detail-stage-width:min(1680px,calc(100vw - 24px));box-sizing:border-box;width:var(--detail-stage-width);max-width:none;position:relative;left:auto;transform:none;margin-inline:calc((100% - var(--detail-stage-width)) / 2);padding:24px;scroll-margin-top:100px}
.detail-panel .detail-chart{box-sizing:border-box;width:100%;height:clamp(300px,34vw,520px);padding:6px;min-width:0}
.detail-panel .detail-head>div{min-width:0}
.detail-panel .detail-head h2{overflow-wrap:anywhere}
.detail-panel .detail-head>button{flex-shrink:0;margin-left:12px}
.detail-panel .detail-quote{flex-wrap:wrap;gap:6px 18px}
.detail-panel .range-tabs{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin:20px 0 10px}
.detail-panel .range-tabs[data-period-count="5"]{grid-template-columns:repeat(5,minmax(0,1fr))}
.detail-panel .range-tabs button{min-height:48px;padding:8px 4px}
.detail-panel .range-tabs button[hidden]{display:none}
.detail-chart-frequency{margin:12px 8px 8px;color:var(--blue);font-size:.8rem;font-weight:900}
html[data-theme="dark"] .detail-chart-frequency{color:#8fcbf6}
.detail-panel .stock-sparkline .candle-body{stroke-width:1.2}
.detail-panel .stock-sparkline .candle-wick{stroke-width:1.4}
@media(max-width:640px){
 .detail-panel{--detail-stage-width:calc(100vw - 12px);padding:16px 8px;border-radius:20px}
 .detail-panel .detail-chart{height:clamp(250px,70vw,340px);border-radius:16px;padding:6px}
 .detail-panel .range-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:14px}
 .detail-panel .range-tabs[data-period-count="5"]{grid-template-columns:repeat(3,minmax(0,1fr))}
 .detail-panel .detail-head h2{font-size:clamp(1.1rem,5vw,1.5rem)}
}

.detail-panel .stock-sparkline .stock-time-label{font-size:12px}

/* Detail studies follow the BitBull MY-chart controls and panel order. */
.stock-detail-indicators{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0 16px}
.stock-detail-indicators button{min-height:52px;padding:12px 8px;border:1px solid #bdc7c3;border-radius:12px;background:#fff;color:#535d58;font-family:inherit;font-size:16px;font-weight:900;line-height:1.3;cursor:pointer}
.stock-detail-indicators button[aria-pressed="true"]{border-color:#25914d;background:linear-gradient(130deg,#e9fff4,#d4fae5);color:#19783f;box-shadow:0 5px 14px #118a4320}
.stock-detail-indicators button:focus-visible{outline:3px solid #2672b3;outline-offset:3px}
.stock-study-settings{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.stock-study-settings:empty,.stock-study-status:empty,.stock-study-frequency:empty{display:none}
.stock-study-settings span{border:1px solid #d4dad7;border-radius:999px;padding:5px 12px;background:#f5f8f6;color:#626c67;font-size:14px;font-weight:800}
.stock-study-status{color:#66776f;font-size:13px;margin:8px 0}
.stock-detail-ohlc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px;margin:12px 8px 16px;color:#535f59}
.stock-detail-ohlc[hidden]{display:none}
.stock-detail-ohlc small,.stock-detail-ohlc strong{display:block}.stock-detail-ohlc small{color:#7c8881;font-size:12px}.stock-detail-ohlc strong{font-size:18px;font-weight:900}
.stock-study-panel{margin:14px 0 0;padding:14px 6px 4px;border:1px solid #d7dedb;border-radius:16px;background:#fff;overflow:hidden}
.stock-study-heading{display:flex;justify-content:space-between;padding:0 12px;color:#258647;font-size:16px;font-weight:800}.stock-study-heading span{color:#68756e;font-size:14px}
.stock-study-panel svg{display:block;width:100%;height:auto}.stock-study-axis{fill:#7a8780;font-size:12px;font-weight:800}.stock-volume-panel .stock-study-heading{color:#747f78}
.stock-detail-overlays{pointer-events:none}
html[data-theme="dark"] .stock-detail-indicators button{background:#203633;color:#d0dfd7;border-color:#49625a}
html[data-theme="dark"] .stock-detail-indicators button[aria-pressed="true"]{background:#124d35;color:#c9fadd;border-color:#48be78}
html[data-theme="dark"] .stock-study-panel{background:#152923;border-color:#395449}
html[data-theme="dark"] .stock-study-settings span{background:#233c32;color:#cadbd2;border-color:#466154}
@media(max-width:640px){.stock-detail-indicators{gap:10px;margin-top:16px}.stock-detail-indicators button{min-height:46px;font-size:14px}.stock-study-settings span{font-size:12px;padding:5px 9px}.stock-study-panel{padding-top:12px}.stock-detail-ohlc strong{font-size:16px}}


/* Expand detail plots to the percent signs; prices may overlay the baseline. */
.detail-panel .detail-chart{padding:2px}
/* Match BitBull's 1000×125 / 210 / 190 study canvases and heading footprint. */
.stock-study-panel{position:relative;margin-top:8px;padding:0;border-radius:12px}
.stock-study-heading{align-items:center;padding:8px 12px 0;font-size:.72rem;line-height:normal}
.stock-study-heading strong{font-size:.8rem;letter-spacing:.04em}
.stock-study-heading span{font-size:.72rem}
.stock-volume-panel .stock-study-heading{position:absolute;top:8px;left:11px;padding:0;font-size:.75rem}
.stock-volume-panel .stock-study-heading strong{font-size:inherit;letter-spacing:normal}
.stock-volume-panel svg{aspect-ratio:1000 / 125}

.stock-study-panel path{vector-effect:non-scaling-stroke;stroke-width:1.5}
.stock-study-panel .stock-study-axis{font-size:17px}

.detail-panel .range-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}
.detail-panel .range-tabs[data-period-count="4"],.detail-panel .range-tabs[data-period-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}

/* Detail identity uses the overview card lettering and the same market assets. */
.detail-identity{display:flex;align-items:center;gap:14px;flex:1;min-width:0}
.detail-title-copy{min-width:0;flex:1;padding-inline:4px}
.detail-panel .detail-head h2{font-weight:1000;letter-spacing:-.035em;line-height:1.2;transform:skewX(-12deg);transform-origin:left center;padding-inline:.12em;overflow-wrap:anywhere}
.detail-icon{--icon-size:56px;--stock-icon-size:56px;display:block;width:56px;height:56px;flex:0 0 56px}
.detail-icon .coin-icon-shell.market-icon{width:100%;height:100%;font-size:48px;line-height:1}
@media(max-width:640px){.detail-identity{gap:10px}.detail-icon{--icon-size:44px;--stock-icon-size:44px;width:44px;height:44px;flex-basis:44px}.detail-icon .coin-icon-shell.market-icon{font-size:38px}.detail-panel .detail-head h2{font-size:clamp(1.1rem,4.5vw,1.5rem)}}

/* Current quote follows the TOP chart card price typography. */
.detail-quote strong{font-weight:900;letter-spacing:-.045em}

/* Match BitBull's feature icon shapes, keeping StockBull's blue/green palette. */
.market-pulse-entry-icon svg { width:70%;height:70%;stroke-width:6; }
.market-pulse-entry-icon svg path { filter:none; }
.stock-feature-icon svg { display:block;width:76%;height:76%;overflow:visible; }
.stock-my-chart-icon .my-chart-star { fill:#eef7ff;stroke:#fff;stroke-width:1.4;stroke-linejoin:round; }
.stock-my-chart-icon .my-chart-line { fill:none;stroke:#0b4b76;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round; }
.stock-feature-ring svg { transform:rotate(-90deg); }
.stock-feature-ring .portfolio-donut-base { fill:none;stroke:#fff;stroke-width:8; }
.stock-feature-ring .portfolio-donut-segment { fill:none;stroke:#baf6d3;stroke-width:8;stroke-dasharray:29 71;stroke-linecap:butt; }
.stock-feature-ring .portfolio-donut-core { fill:#0a9d51;stroke:rgba(255,255,255,.68);stroke-width:1; }

/* BitBull-style icon depth with StockBull's existing blue/green colors. */
.market-pulse-entry-icon {
  border-color:rgba(255,255,255,.88);
  background:linear-gradient(145deg,#24789b,#103d60);
  box-shadow:0 5px 14px rgba(0,0,0,.14),inset 0 0 0 5px rgba(255,255,255,.1);
}
.stock-my-chart-icon {
  border-color:rgba(255,255,255,.92);
  background:linear-gradient(145deg,#277eac,#103e68);
  box-shadow:0 0 0 3px rgba(255,255,255,.48),0 4px 12px rgba(7,39,72,.28);
}
.stock-feature-ring {
  border-color:rgba(255,255,255,.92);
  background:linear-gradient(145deg,#18bd69,#078c46);
  box-shadow:0 0 0 3px rgba(255,255,255,.48),0 4px 12px rgba(5,126,63,.3);
}
@media(max-width:720px) {
  .stock-my-chart-icon { box-shadow:0 0 0 2px rgba(255,255,255,.42),0 3px 9px rgba(7,39,72,.25); }
  .stock-feature-ring { box-shadow:0 0 0 2px rgba(255,255,255,.42),0 3px 9px rgba(5,126,63,.27); }
}

/* The main SVG sits inside 2px horizontal padding; studies use the same box. */
.stock-study-panel svg { width:calc(100% - 4px);margin-left:2px;margin-right:2px; }
/* Publication dates sit visually outside the unchanged yield card surface. */
html body .market-grid .market-card.yield-card{overflow:visible;content-visibility:visible;margin-bottom:38px}
html body .market-card .yield-publication-note{position:absolute;top:calc(100% + 6px);left:0;right:0;display:block;margin:0;padding:0 2px;color:var(--muted,#64716a);background:none;font-size:clamp(9px,2.8cqw,12px);font-weight:500;font-style:normal;line-height:1.45;letter-spacing:0;white-space:normal;overflow-wrap:anywhere;text-align:left;pointer-events:none}
html body .market-card .yield-period-badge[hidden]{display:none!important}
html[data-stock-card-layout="proportional"][data-stock-columns] .market-card.yield-card .market-price-row{align-items:baseline;gap:.7cqw}
html[data-stock-card-layout="proportional"][data-stock-columns] .market-card.yield-card .market-price-row small{font-size:5.208cqw;line-height:1}

/* Unified gold/silver/copper cutouts share framing; no legacy enlargement. */
.bullion-bars-icon.bullion-gold,.bullion-bars-icon.bullion-silver,.bullion-bars-icon.bullion-copper{transform:scale(1)}

/* Platinum now uses the same complete framing as the other bullion cutouts. */
.bullion-bars-icon.bullion-platinum{transform:scale(1)}

/* Match the existing responsive icon rectangle without moving the wordmark. */
.stock-brand .stock-header-bull-canvas{position:absolute;z-index:6;top:50%;left:0;display:block;width:var(--bull-brand-icon-fit,var(--stock-brand-icon-size));height:var(--bull-brand-icon-fit,var(--stock-brand-icon-size));transform:translateY(-50%);filter:drop-shadow(0 4px 7px rgba(16,43,70,.17));pointer-events:none}
.stock-brand.stock-bull-active img.stock-brand-icon{visibility:hidden}
@media(prefers-reduced-motion:reduce){.stock-brand .stock-header-bull-canvas{display:none}.stock-brand.stock-bull-active img.stock-brand-icon{visibility:visible}}
