@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700;750;800&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#070b10;--panel:#0c1219;--panel2:#101720;--border:#202b36;--text:#eaf0f2;--muted:#8d9aa7;--faint:#536170;--green:#bbfa79;--up:#78d7a0;--red:#f16f77;--blue:#75abd5;--font:'DM Sans',Inter,system-ui,-apple-system,sans-serif;--display:'Space Grotesk',var(--font)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:var(--font)}body:before{content:'';position:fixed;inset:0 0 auto;height:500px;background:radial-gradient(ellipse at 50% -65%,rgba(91,148,70,.11),transparent 65%);pointer-events:none}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,.annotation:focus-visible,.file-choice:focus-within{outline:2px solid var(--green);outline-offset:3px}.app-shell{min-height:100vh;position:relative}.topbar{height:76px;padding:0 clamp(22px,5vw,78px);border-bottom:1px solid #1a252d;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:11px;min-width:220px}.brand-icon{width:40px;height:40px;display:grid;place-items:center;background:#bafa78;color:#111b13;border-radius:10px}.brand-icon svg{width:31px;height:31px}.brand strong{font:700 20px var(--display);letter-spacing:-.085em;display:block;line-height:1}.brand-point{color:var(--green)}.brand small{display:block;font:700 8px var(--display);color:#82928b;letter-spacing:.18em;margin-top:5px}.topbar-center{font-size:10px;font-weight:700;letter-spacing:.24em;color:#546476}.top-dot{padding:0 15px;color:#c7fc86}.top-actions{display:flex;align-items:center;gap:16px}.data-badge{display:flex;align-items:center;gap:8px;border:1px solid #45503a;color:#c0d4a8;padding:10px 12px;font-weight:750;font-size:10px;letter-spacing:.1em;border-radius:5px;white-space:nowrap}.data-badge.live{border-color:#28654b;color:#9cf2ba}.data-badge.local{border-color:#526786;color:#adc9f9}.status-dot{height:6px;width:6px;background:#c6d76e;border-radius:50%;box-shadow:0 0 12px currentColor}.data-badge.live .status-dot{background:var(--up)}.data-badge.local .status-dot{background:var(--blue)}.icon-button{border:1px solid #24323c;background:#111921;border-radius:7px;padding:9px;color:#acbac4;display:grid;place-items:center}.icon-button:hover{border-color:var(--green);color:var(--green)}.icon-button svg{height:18px;width:18px;fill:none;stroke:currentColor;stroke-width:1.5}.workspace{max-width:1730px;margin:0 auto;padding:0 clamp(20px,5vw,78px)}.heading-area{padding:46px 0 32px;display:flex;align-items:end;justify-content:space-between;gap:20px}.eyebrow{color:var(--green);letter-spacing:.19em;font-size:10px;font-weight:800;display:flex;gap:9px;align-items:center}.eyebrow-line{height:1px;width:19px;background:var(--green)}h1{font:600 clamp(30px,3.5vw,49px)/1.13 var(--display);letter-spacing:-.055em;margin:12px 0 10px}h1 i{font-weight:500;color:var(--green);font-style:normal} .heading-area p{margin:0;font-size:13px;color:#82909d}.heading-note{display:flex;align-items:center;gap:13px;color:#63717c;text-align:right;font:500 12px/1.7 var(--display);padding-bottom:2px}.heading-note strong{color:#b6c2c7;font-weight:600}.note-symbol{font:300 40px var(--display);color:var(--green)}.terminal{background:#0c1118;border:1px solid #25303b;border-radius:9px;box-shadow:0 24px 80px rgba(0,0,0,.25);overflow:hidden}.terminal-header{padding:15px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;border-bottom:1px solid #24303b;background:#111820}.market-search,.market-toolbar{display:flex;align-items:center;gap:15px}.market-search{min-width:0}.search-wrap{height:38px;width:154px;display:flex;align-items:center;gap:8px;background:#080e15;border:1px solid #344251;border-radius:5px;padding:0 10px}.search-wrap:focus-within{border-color:#92ca5d}.search-wrap svg{width:16px;height:16px;fill:none;stroke:#80919b;stroke-width:1.8;flex-shrink:0}.search-wrap form{min-width:0;flex:1}.search-wrap input{background:none;border:0;outline:0;color:#f3f8f7;font:700 14px var(--display);width:100%;text-transform:uppercase}.search-wrap kbd{font-size:13px;color:#587075}.instrument-name{color:#8a98a3;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:245px}.segmented{background:#070d14;border:1px solid #263541;padding:3px;border-radius:6px;display:flex;gap:2px}.segmented button{background:transparent;border:0;color:#7e8e9d;font:750 12px var(--display);padding:8px 13px;border-radius:3px}.segmented button.active{color:#131b13;background:var(--green)}.segmented button:hover:not(.active),.range-tabs button:hover:not(.active){color:#f5f8f8;background:#192630}.toolbar-divider{height:24px;width:1px;background:#2e3a45}.range-tabs{display:flex;gap:3px}.range-tabs button{color:#778998;border:0;background:transparent;border-radius:4px;padding:8px 10px;font:700 11px var(--display)}.range-tabs button.active{color:var(--green);background:#1d3021}.stats-bar{min-height:96px;display:flex;align-items:center;gap:clamp(24px,4vw,64px);padding:17px 26px;border-bottom:1px solid #1c2831;flex-wrap:wrap}.stat-label{font-weight:750;font-size:9px;letter-spacing:.13em;color:#7d8b9b;margin-bottom:7px;white-space:nowrap}.stat-label span{letter-spacing:normal;font-weight:500;color:#667381}.quote-price{font:650 30px var(--display);letter-spacing:-.04em}.stat-value{font:650 17px var(--display);color:#d9e2e4;letter-spacing:-.03em}.stat-value.green{color:#9cecaf}.stat-value.negative{color:var(--red)}.chart-actions{margin-left:auto;display:flex;align-items:center;gap:14px}.little-toggle{border:0;background:transparent;color:#647484;padding:6px 0;display:flex;align-items:center;gap:7px;font-size:11px;font-weight:600}.little-toggle.on{color:#c9d5d9}.indicator{width:17px;height:3px;background:#667;display:inline-block;border-radius:9px}.indicator.ma20{background:#dfb84f}.indicator.ma50{background:#67a7e8}.indicator.volume{background:#86b78b}.little-toggle:not(.on) .indicator{background:#3c4953}.chart-topline{height:42px;display:flex;align-items:center;justify-content:space-between;padding:0 21px 0 26px;background:#0a1016;border-bottom:1px solid #14202a}.chart-topline-left,.chart-topline-right{display:flex;align-items:center;gap:11px;font:750 10px var(--display);letter-spacing:.1em;color:#718292}.live-symbol{color:#d2e4db}.divider-dot{color:#344451}.line-example{height:1px;width:22px;background:#b6d98a;transform:rotate(-25deg)}.chart-topline-sep{height:15px;width:1px;background:#2b3541;margin:0 4px}.chart-topline-right button{background:#111c25;border:1px solid #263440;border-radius:4px;color:#afbfc4;width:28px;height:25px;display:grid;place-items:center}.chart-topline-right button:hover{border-color:var(--green);color:var(--green)}.chart-scroller{overflow-x:auto;overflow-y:hidden;scrollbar-color:#34444d #101821}.chart-stage{height:698px;min-width:1010px;width:100%;position:relative;background:radial-gradient(circle at 50% 110%,rgba(62,98,86,.055),transparent 60%),#0a1015;user-select:none}#chartCanvas,#leaderLayer,#annotations{position:absolute;inset:0;width:100%;height:100%}#chartCanvas{z-index:1}#leaderLayer{pointer-events:none;z-index:2;overflow:visible}#annotations{z-index:3;pointer-events:none}.annotation{position:absolute;z-index:1;text-align:left;display:block;background:rgba(12,20,27,.95);border:1px solid #344451;border-left:2px solid #a2c88a;color:#e5ecea;padding:9px 10px 8px;width:178px;min-height:55px;border-radius:3px;box-shadow:0 5px 18px rgba(0,0,0,.35);pointer-events:auto;transition:background .15s,border-color .15s,transform .15s;line-height:1.2}.annotation:hover,.annotation:focus-visible{background:#1a2931;border-color:var(--green);transform:translateY(-3px)}.annotation[data-kind="earnings"]{border-left-color:#e0b960}.annotation[data-kind="analyst"]{border-left-color:#6cafe4}.annotation[data-kind="company"]{border-left-color:#a2d47c}.annotation[data-kind="market"]{border-left-color:#c4a1e8}.annot-meta{color:#93a5ac;font-size:9px;font-weight:700;letter-spacing:.075em;display:flex;justify-content:space-between;align-items:center;gap:7px;margin-bottom:5px}.annot-title{font-size:11px;font-weight:650;color:#e6edee;line-height:1.35;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.annot-more{background:#304b32;color:#b6ef9a;border-radius:3px;padding:2px 5px;font-size:9px;font-weight:800;white-space:nowrap}.hover-tooltip{pointer-events:none;z-index:4;position:absolute;min-width:185px;background:#17212b;border:1px solid #50616a;box-shadow:0 15px 40px #0008;border-radius:5px;padding:12px 14px;color:#e5edef;font-size:11px}.hover-tooltip b{display:block;margin-bottom:7px;font-size:11px;color:var(--green)}.hover-ohlc{display:grid;grid-template-columns:1fr 1fr;gap:5px 20px}.hover-ohlc span{color:#8e9ea8}.hover-ohlc strong{color:#e4eaf0;margin-left:5px}.chart-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 24px;border-top:1px solid #1b2932;background:#0f171e;font-size:10px;color:#738592;min-height:44px}.footer-key{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.green-line,.red-line{height:3px;width:12px;border-radius:5px;background:var(--up)}.red-line{background:var(--red);margin-left:12px}.legend-dot{height:6px;width:6px;background:#b6d98a;border-radius:50%;margin-left:13px}.chart-footer-right{text-align:right}.bottom-grid{display:flex;justify-content:space-between;gap:30px;padding:28px 0 35px}.info-strip{display:flex;align-items:center;gap:17px;max-width:720px}.strip-icon{font-size:28px;color:var(--green);height:49px;width:49px;border:1px solid #28372c;border-radius:9px;display:grid;place-items:center;flex-shrink:0;background:#0b140f}.info-strip h3{font:600 16px var(--display);letter-spacing:-.03em;margin:0 0 6px}.info-strip p{font-size:12px;line-height:1.6;color:#748593;margin:0}.count-panel{border:1px solid #25323a;border-radius:7px;display:flex;align-items:center;gap:25px;padding:12px 22px;flex-shrink:0}.count-panel>div:not(.count-panel-divider){display:flex;flex-direction:column;gap:7px}.count-label{font-weight:750;letter-spacing:.12em;color:#778895;font-size:9px}.count-panel b{font:650 23px var(--display);line-height:1}.count-panel-divider{height:37px;width:1px;background:#2b3542}.density-control{display:flex;align-items:center;gap:11px}.density-control button{width:23px;height:23px;border-radius:4px;border:1px solid #32414b;color:var(--green);background:#142026;font-size:16px;line-height:1}.density-control span{font-size:11px;font-weight:750;white-space:nowrap;letter-spacing:.05em}.site-footer{padding:17px 0 27px;border-top:1px solid #1d2a33;display:flex;justify-content:space-between;gap:15px;color:#52616c;font:650 9px var(--display);letter-spacing:.08em}.site-footer b{padding:0 8px;color:var(--green)}.scrim{position:fixed;z-index:9;inset:0;background:rgba(0,0,0,.68);backdrop-filter:blur(4px)}[hidden]{display:none!important}.drawer{position:fixed;inset:0 0 0 auto;width:min(500px,100vw);z-index:10;display:flex;flex-direction:column;background:#101820;border-left:1px solid #34434c;box-shadow:-15px 0 70px #0009;transform:translateX(105%);transition:transform .27s ease;visibility:hidden}.drawer.open{transform:translateX(0);visibility:visible}.drawer-top{min-height:74px;padding:22px 28px;border-bottom:1px solid #26323b;display:flex;align-items:center;justify-content:space-between}.drawer-kicker{color:#9aa9aa;font:750 10px var(--display);letter-spacing:.16em}.drawer-kicker span{color:var(--green)}.close-button{border:1px solid #3c4a55;background:#18242e;color:#acbcc4;width:32px;height:32px;font-size:23px;display:grid;place-items:center;border-radius:5px;line-height:1}.close-button:hover{color:var(--green)}.drawer-content{padding:35px 30px;overflow-y:auto;flex:1}.drawer-category{font:800 10px var(--display);letter-spacing:.17em;color:var(--green);margin-bottom:12px}.drawer h2{font:650 31px/1.12 var(--display);letter-spacing:-.055em;margin:0 0 18px}.drawer h2 i{color:var(--green);font-style:normal}.drawer-info{color:#8595a0;font-size:12px;line-height:1.6;padding-bottom:25px;border-bottom:1px solid #2b3943}.story-list{display:flex;flex-direction:column;gap:16px;padding-top:25px}.story-card{border:1px solid #31414d;background:#15202a;padding:19px;border-radius:6px}.story-top{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#8ba09b;font-size:10px;margin-bottom:10px}.story-top .index{color:var(--green);font-weight:800;font-size:12px}.story-card h3{font:650 17px/1.35 var(--display);margin:0 0 10px;letter-spacing:-.025em}.story-card p{color:#9aabb3;line-height:1.65;font-size:12px;margin:0 0 16px}.story-link{display:inline-flex;gap:8px;color:#b6ee87;font-size:11px;font-weight:750;text-decoration:none;align-items:center}.story-link:hover{text-decoration:underline}.story-unlinked{font-size:11px;color:#b9a981}.drawer-foot{padding:20px 28px;border-top:1px solid #2c3b44;color:#728793;font-size:11px;line-height:1.6}.settings-intro{font-size:13px;line-height:1.7;color:#90a2aa;margin:0 0 30px}.settings-box{border:1px solid #33424b;padding:20px;border-radius:6px;margin-bottom:16px;background:#151f28}.settings-box>label:first-child{display:block;color:#bbd4c5;font-size:10px;font-weight:800;letter-spacing:.11em;margin-bottom:13px}.settings-box input[type="text"]{width:100%;border:1px solid #3a4b54;background:#0c151d;color:#e5eeeb;padding:12px;border-radius:5px;font-size:12px;outline:0}.settings-box p{color:#8298a4;font-size:11px;line-height:1.7}.settings-box code{color:#b8e18c}.primary-btn,.secondary-btn{padding:12px 14px;border-radius:5px;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%}.primary-btn{background:var(--green);color:#13200c;border:0;margin-top:17px}.primary-btn:hover{background:#d2ffa0}.secondary-btn{color:#c6d4d5;border:1px solid #465761;background:#15212b;margin-top:22px}.file-choice{display:block;border:1px dashed #536773;border-radius:5px;padding:12px;color:#bfe0c8;font-size:12px;cursor:pointer;margin:11px 0}.file-choice:hover{border-color:var(--green)}.file-choice input{max-width:100%;margin-top:8px;font-size:10px;color:#93a3a9}.connection-message{font-size:11px;color:#a9c1ca;line-height:1.7;margin-top:10px}.connection-message.error{color:#ef9aa5}.toast{position:fixed;right:25px;bottom:25px;z-index:20;padding:12px 20px;background:#22362b;color:#d0f7bb;border:1px solid #48765b;font-size:12px;border-radius:6px;box-shadow:0 10px 35px #0009;opacity:0;transform:translateY(10px);transition:.2s;pointer-events:none}.toast.show{opacity:1;transform:translateY(0)}
@media(max-width:1050px){.topbar-center,.heading-note{display:none}.chart-actions{width:100%;margin-left:0}.stats-bar{gap:23px}.bottom-grid{flex-direction:column}.count-panel{align-self:flex-start}.chart-footer-right{max-width:45%}}@media(max-width:670px){.topbar{padding:0 18px;height:69px}.brand{min-width:0}.brand strong{font-size:18px}.brand small{font-size:7px}.brand-icon{width:34px;height:34px}.data-badge{font-size:9px;padding:9px}.workspace{padding:0 14px}.heading-area{padding:30px 2px 26px}.heading-area h1{font-size:31px}.heading-area p{font-size:12px;line-height:1.5}.terminal-header{padding:13px;gap:13px}.market-search{width:100%;gap:10px}.search-wrap{width:114px;flex-shrink:0}.instrument-name{max-width:none;font-size:11px}.market-toolbar{width:100%;justify-content:space-between;gap:6px}.range-tabs button{padding:7px 7px}.segmented button{padding:7px 10px}.toolbar-divider{display:none}.stats-bar{padding:15px;gap:18px 27px}.quote-price{font-size:23px}.stat-value{font-size:16px}.stat-label{font-size:8px}.chart-topline{padding:0 13px;gap:8px}.chart-topline-right{gap:7px}.chart-topline-left{gap:5px;font-size:9px}.chart-footer{padding:13px;flex-direction:column;align-items:flex-start;gap:7px}.chart-footer-right{max-width:100%;text-align:left}.bottom-grid{padding:22px 0}.count-panel{width:100%;justify-content:space-between;gap:10px;padding:12px}.site-footer{flex-direction:column;font-size:8px}.drawer-content{padding:26px 20px}}

/* Newschart — flexible simple moving average toolbar */
.chart-actions{margin-left:auto;gap:18px;align-items:center;flex-wrap:wrap;max-width:100%;justify-content:flex-end}
.sma-manager{min-width:0;display:flex;flex-direction:column;gap:8px}
.sma-heading{display:flex;align-items:center;gap:14px;justify-content:space-between;color:#899da8;font-weight:750;font-size:9px;letter-spacing:.11em;text-transform:uppercase}
.sma-reset{font:inherit;color:#8fb0a1;background:transparent;border:0;cursor:pointer;text-transform:none;letter-spacing:0;padding:1px 2px}
.sma-reset:hover{color:#d3f8b1;text-decoration:underline}
.sma-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sma-chips{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.sma-chip{display:inline-flex;align-items:center;border:1px solid #33434d;border-radius:5px;background:#172129;overflow:hidden;height:29px;color:#e1edf0}
.sma-chip.off{opacity:.54}
.sma-chip-toggle,.sma-chip-remove{appearance:none;cursor:pointer;border:0;background:transparent;color:inherit;font:650 10px var(--font);height:100%;transition:background .14s}
.sma-chip-toggle{display:inline-flex;align-items:center;gap:5px;padding:0 7px}
.sma-chip-toggle:hover,.sma-chip-remove:hover{background:#30414a}
.sma-chip-toggle:focus-visible,.sma-chip-remove:focus-visible,.sma-add-form button:focus-visible,.sma-reset:focus-visible{outline:2px solid #bbfa79;outline-offset:-2px}
.sma-chip-dot{width:15px;height:3px;border-radius:5px;flex-shrink:0}
.sma-chip.off .sma-chip-dot{background:#65717d!important}
.sma-chip-remove{padding:0 8px 1px 6px;border-left:1px solid #34424a;font-size:17px;color:#9aa9ac}
.sma-add-form{display:flex;align-items:center;border:1px solid #425960;border-radius:5px;overflow:hidden;height:29px;background:#0c151b}
.sma-add-form label{font:750 9px var(--font);color:#8eaa9f;padding-left:8px}
.sma-add-form input{border:0;outline:0;background:transparent;color:#f0f4ef;width:65px;font:600 11px var(--font);padding:5px 5px 5px 6px;min-width:0}
.sma-add-form input::placeholder{color:#687b83}
.sma-add-form input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.sma-add-form input[type=number]{-moz-appearance:textfield;appearance:textfield}
.sma-add-form button{height:100%;white-space:nowrap;border:0;border-left:1px solid #425960;color:#bbfa79;background:#20312a;padding:0 8px;font:750 10px var(--font);cursor:pointer}
.sma-add-form button:hover{background:#314e37}
.sma-notice{color:#d7b97a;padding:9px 26px;font-size:10px;background:#1a1b1a;border-bottom:1px solid #3b3223;line-height:1.45}
.sma-notice[hidden]{display:none}
.sma-footer-label{color:#7c909a}
@media(max-width:1150px){.chart-actions{width:100%;justify-content:space-between;margin-left:0}.sma-manager{flex:1}}
@media(max-width:670px){.sma-manager{flex-basis:100%}.sma-heading{margin-bottom:1px}.sma-row{gap:7px}.sma-chip-toggle{padding:0 6px}.sma-notice{padding:9px 14px}.sma-footer-label{display:none}}

/* Benchmark traffic lights — separate from the stock's editable SMA overlays */
.traffic-summary{padding:14px 26px 12px;background:#111a20;border-bottom:1px solid #29333a;display:flex;gap:9px;flex-direction:column;letter-spacing:.015em}
.traffic-summary-title{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:10px;letter-spacing:.10em;font-weight:800;color:#d7e6dc}
.traffic-summary-title .muted{color:#81949d;font-size:10px;font-weight:600;margin-left:10px;letter-spacing:.025em}
.traffic-summary-title strong{color:#dceee2}
.traffic-indicator{height:9px;width:9px;border-radius:50%;background:#abf376;box-shadow:0 0 10px #86be5e99}
.traffic-details{display:flex;align-items:center;flex-wrap:wrap;gap:11px;color:#afc1bd;font-size:11px}
.traffic-badge{border-radius:4px;padding:5px 9px;font-weight:850;letter-spacing:.07em;font-size:10px;border:1px solid #3d4d56}
.traffic-badge.green{background:#163c29;color:#80e69b;border-color:#2c8152}
.traffic-badge.yellow{background:#453d1c;color:#f4dc78;border-color:#837332}
.traffic-badge.red{background:#421f2b;color:#ffa7a6;border-color:#904c5e}
.traffic-badge.unavailable{background:#25303a;color:#97aaba}
.traffic-data-tag{font-size:9px;letter-spacing:.08em;color:#9cb3a4;margin-left:auto}
.traffic-legend{display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-size:10px;color:#8c9fa8}
.traffic-legend span{display:inline-flex;align-items:center;gap:5px}
.traffic-legend small{color:#788c91;font-size:10px}
.light-dot{height:8px;width:8px;border-radius:50%;display:inline-block}
.light-dot.green{background:#45c877}.light-dot.yellow{background:#efd36b}.light-dot.red{background:#e16d79}
.traffic-notice{font-size:10px;background:#192229;color:#c3aa80;padding:9px 26px;border-bottom:1px solid #33424a}
.traffic-notice[hidden]{display:none}
.indicator.traffic{background:#a8ec8c}
.hover-light{margin-top:9px;padding:8px 0 0;border-top:1px solid #33434a;font-size:10px;color:#b1c5c0;line-height:1.6}
.hover-light.green b{color:#71d18d}.hover-light.yellow b{color:#e3cc65}.hover-light.red b{color:#f09198}
.settings-box select{width:100%;padding:11px;background:#121e26;border:1px solid #38515b;color:#e2f4e9;font:600 12px var(--font);border-radius:5px;cursor:pointer}
@media(max-width:670px){.traffic-summary{padding:13px 14px}.traffic-notice{padding:9px 14px}.traffic-legend{gap:9px}.traffic-data-tag{margin-left:0}.traffic-summary-title .muted{margin-left:0}}

/* Live-only installation: never render a fabricated chart when data cannot load. */
.data-warning{display:flex;align-items:center;flex-wrap:wrap;gap:8px 17px;padding:13px 24px;background:#18252b;color:#deeee9;border-bottom:1px solid #426163;font-size:12px}
.data-warning[hidden]{display:none}
.data-warning strong{font-size:10px;letter-spacing:.09em;color:#a5f0bf}
.data-warning span{flex:1;min-width:170px;line-height:1.5}
.data-warning button{border:1px solid #5b8474;color:#d1f5db;background:#243c36;font-size:11px;padding:8px 12px;border-radius:5px}
.data-warning button:hover{background:#326049}
.data-badge.error{border-color:#985954;color:#f5a79b}.data-badge.error .status-dot{background:#f27575}

/* simul8or renderer: preserve its attribution and native drawing interaction. */
#simul8orMount{position:absolute;z-index:1;top:190px;left:0;right:0;bottom:0;width:100%;height:calc(100% - 190px);min-width:0}
#simul8orMount .sc-chart-container{height:100%;background:#000;border-radius:0;box-shadow:none}
#simul8orMount .sc-price-chart{border:none}
#simul8orMount .sc-chart-controls-overlay{top:8px;left:8px}
#simul8orMount .sc-ticker-info-display{top:8px}
#simul8orMount .sc-indicators-dropdown{max-width:min(680px,75vw)}
#leaderLayer,#annotations{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
#leaderLayer{z-index:4}
#annotations{z-index:5}
#annotations .annotation{pointer-events:auto}
#simul8orMount .sc-chart-container.fullscreen{z-index:30}
#simul8orMount .sc-branding, #simul8orMount a[href*="simul8or"]{visibility:visible!important}
.site-footer a{color:#88aa95;text-decoration:none}.site-footer a:hover{text-decoration:underline}
@media(max-width:700px){#simul8orMount{top:165px;height:calc(100% - 165px)}.chart-stage{height:650px}}

/* Headline-source diagnostics and browseable off-chart published headlines. */
.news-discovery{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#101a22;border-top:1px solid #2a3b47;padding:14px 22px;flex-wrap:wrap;color:#97abb5;font-size:11px}
.news-discovery strong{display:block;color:#e0edeb;font-size:12px;margin-bottom:5px;font-weight:750}
#newsDiscoveryDetail{line-height:1.5;max-width:820px}
.news-discovery-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.news-discovery button{background:#1c2b34;color:#c5e3ca;padding:9px 12px;border-radius:5px;border:1px solid #47615a;font-size:11px;font-weight:700}
.news-discovery button:hover{background:#273d38}
.news-discovery button:disabled{opacity:.4;cursor:not-allowed}
#allNewsCount{border-radius:9px;background:#2e5546;color:#d4f7c4;padding:1px 7px;margin-left:6px}

/* News publisher controls and Finviz-inspired ticker headline feed */
.publisher-tools{background:#0b131b;border-top:1px solid #293a43;padding:17px 23px}
.publisher-tools-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.eyebrow-local{display:block;font-size:9px;font-weight:850;color:#bdf485;letter-spacing:.15em;margin-bottom:7px}
.publisher-tools strong{display:block;color:#e6f0ed;font-size:13px}
.publisher-tools p{margin:6px 0 0;color:#91a4ab;font-size:11px;line-height:1.5}
.publisher-tools button,.ticker-news-actions button,.block-source-row button{border:1px solid #4b605d;border-radius:5px;background:#17272c;color:#d8eddf;padding:9px 11px;font-size:11px;font-weight:750}
.publisher-tools button:hover,.ticker-news-actions button:hover{border-color:#bafa78;color:#bafa78}
#sourceToggle{flex-shrink:0}#hiddenSourceCount{margin-left:9px;color:#efb778}
.source-settings{border-top:1px solid #304048;margin-top:14px;padding-top:16px}.source-settings[hidden]{display:none}
.source-settings-actions{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:16px}
#blockPublisherForm label{display:block;font-size:10px;color:#a7bdb9;font-weight:800;margin-bottom:8px}
.block-source-row{display:flex;gap:8px;max-width:600px}
.block-source-row input{flex:1;min-width:0;background:#0a141a;border:1px solid #344952;border-radius:5px;color:#e6f2ee;padding:10px}
.source-checklist{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:9px;margin-top:16px;max-height:215px;overflow:auto}
.source-option{display:flex;align-items:center;gap:9px;padding:9px;border:1px solid #2b4049;border-radius:5px;font-size:11px;color:#dbe5e2;background:#111f27;cursor:pointer}
.source-option input{accent-color:#bafa78;width:15px;height:15px}.source-option.blocked{opacity:.58}
.source-option-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-option-count{font-size:10px;color:#8c9e9f}
.ticker-news-panel{border-top:1px solid #2b3e48;background:#0b1118;padding:22px 23px 17px}
.ticker-news-header{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:14px;flex-wrap:wrap}
.ticker-news-header h2{font-size:19px;letter-spacing:-.03em;margin:0;color:#e5f2ef;font-weight:750}
.ticker-news-header p{font-size:11px;color:#899da6;margin:7px 0 0}
.ticker-news-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ticker-news-actions label{font-size:10px;font-weight:800;letter-spacing:.09em;color:#93aba8}
.ticker-news-actions select{background:#12242d;border:1px solid #48605f;border-radius:5px;color:#e0ece7;font:700 11px var(--font);padding:9px 11px}
.news-table-scroll{overflow-x:auto;max-height:510px;overflow-y:auto;border:1px solid #223542;border-radius:6px}
.ticker-news-table{border-collapse:collapse;width:100%;min-width:630px;table-layout:fixed;text-align:left}
.ticker-news-table thead{position:sticky;top:0;z-index:1;background:#1b2a33}
.ticker-news-table th{color:#9fbcac;font-size:9px;letter-spacing:.09em;padding:11px 14px;border-bottom:1px solid #3b4e59}
.ticker-news-table th:nth-child(1){width:153px}.ticker-news-table th:nth-child(2){width:174px}
.ticker-news-table td{padding:11px 14px;border-bottom:1px solid #1f3039;vertical-align:top;color:#b2c3c6;font-size:11px;line-height:1.5}
.ticker-news-table tr:hover td{background:#17232b}
.ticker-news-table td:nth-child(1){color:#95a9ad;font-variant-numeric:tabular-nums}
.ticker-news-table td:nth-child(2){font-weight:750;color:#b2d1b9}
.ticker-news-table a{color:#e4edf0;font-weight:650;font-size:12px;text-decoration:none}
.ticker-news-table a:hover{color:#bafa78;text-decoration:underline}
.ticker-news-foot{font-size:10px;color:#84979e;line-height:1.6;margin:10px 0 0}
@media(max-width:670px){.publisher-tools,.ticker-news-panel{padding:16px 12px}.publisher-tools-head{align-items:flex-start}.publisher-tools-head p{max-width:240px}.block-source-row{flex-direction:column}.ticker-news-actions{width:100%}}

.finviz-link{font-size:10px;color:#bafa78;text-decoration:none;display:inline-block;margin-top:7px}.finviz-link:hover{text-decoration:underline}

/* Edition: event-aware space-filling headline annotations and SEC earnings markers */
#earningsLayer{position:absolute;inset:0;z-index:6;pointer-events:none}
#earningsLayer .earnings-marker{position:absolute;transform:translate(-50%,-50%);width:23px;height:23px;display:grid;place-items:center;border-radius:7px;background:#f6cc65;color:#201505;border:2px solid #4a3310;box-shadow:0 0 0 2px #f4c96a55,0 3px 12px #000a;font-size:12px;font-weight:900;cursor:pointer;pointer-events:auto;z-index:7}
#earningsLayer .earnings-marker:hover,#earningsLayer .earnings-marker:focus-visible{outline:2px solid white;outline-offset:2px;transform:translate(-50%,-50%) scale(1.15)}
.earnings-toggle{width:auto!important;min-width:95px!important;display:flex!important;align-items:center;gap:6px;padding:0 8px!important;font-size:9px!important;font-weight:800!important;letter-spacing:.045em;border-color:#7b5d28!important;color:#9b8c71!important;white-space:nowrap}
.earnings-toggle.on{color:#f2cf7d!important;background:#372b17!important}.earnings-toggle span{font-size:9px;color:#fff}
.earnings-status{min-height:32px;padding:9px 23px;border-bottom:1px solid #27323a;background:#13191a;font-size:10px;color:#bdb49e;letter-spacing:.01em}
.earnings-status a{margin-left:8px;color:#e9c67c;text-decoration:underline;text-decoration-color:#bda15b66}
.earnings-legend{font-size:13px;font-weight:900;color:#f7c766;margin-left:13px}
.major-legend{display:inline-block;width:12px;height:9px;border:3px solid #ebdfbc;border-radius:3px;margin-left:13px}
.annotation{--day-color:#b9d89c;border:2px solid var(--day-color)!important;border-left:4px solid var(--day-color)!important;width:178px;min-height:76px;max-height:76px;padding:8px 9px;box-shadow:0 4px 15px #000b,0 0 10px color-mix(in srgb, var(--day-color) 8%, transparent);background:rgba(11,18,25,.94);overflow:hidden}
.annotation-major{border-width:3px!important;border-left-width:6px!important;box-shadow:0 0 0 1px color-mix(in srgb, var(--day-color) 45%, transparent),0 5px 24px #000c}
.annotation-date{color:var(--day-color)!important}
.annotation .annot-meta{margin-bottom:6px;min-height:17px}
.annotation .annot-more{background:color-mix(in srgb, var(--day-color) 25%, #162521);color:#f8fdf7}
.annotation .impact-tag{border:1px solid #e7ca83;background:#4f3823;color:#ffe4ab;border-radius:2px;padding:2px 3px;font-size:8px;font-weight:900;margin-left:auto}
.annotation .annot-title{font-size:11px;line-height:1.35}
.no-chart-headlines{position:absolute;top:19px;right:18px;max-width:270px;color:#8fa4ad;font-size:11px;text-align:right}
@media(max-width:700px){.earnings-toggle{min-width:69px!important;font-size:8px!important}.chart-topline-right{gap:4px}.earnings-status{padding:8px 12px}}
