.ticker-report-page,.ticker-report__heatmap-host{--tr-navy:#1c3964;--tr-blue:#30679c;--tr-light:#e6ebf3;--tr-very-light:#f5f7fb;--tr-text:#1a2438;--tr-text-soft:#4a5568;--tr-text-muted:#718096;--tr-border:#d8dde7;--tr-positive:#2e7d32;--tr-negative:#c62828;--tr-panel:#ffffff;--tr-sidebar:#f8fafc}.ticker-report-page{width:min(1600px,100%);margin:0 auto;padding:12px 14px 34px;box-sizing:border-box;color:var(--tr-text)}html[data-theme=dark] .ticker-report-page,html[data-theme=dark] .ticker-report__heatmap-host{--tr-navy:#e2e8f0;--tr-blue:#93c5fd;--tr-light:rgba(148,163,184,0.2);--tr-very-light:rgba(15,23,42,0.5);--tr-text:#f1f5f9;--tr-text-soft:#cbd5e1;--tr-text-muted:#94a3b8;--tr-border:rgba(148,163,184,0.35);--tr-positive:#4ade80;--tr-negative:#f87171;--tr-panel:rgba(15,23,42,0.65);--tr-sidebar:rgba(15,23,42,0.85)}.ticker-report-page__toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:16px}.ticker-report-page__symbol-wrap{display:flex;flex-direction:column;gap:6px;min-width:200px}.ticker-report-page__symbol-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--tr-text-muted)}.ticker-report-page__export-actions{display:flex;flex-wrap:wrap;gap:8px}.ticker-report-page__export-btn{height:36px;padding:0 14px;border-radius:6px;border:1px solid var(--tr-border);background:var(--tr-panel);color:var(--tr-text);font-size:13px;font-weight:600;cursor:pointer}.ticker-report-page__export-btn:hover{border-color:var(--tr-blue);color:var(--tr-blue)}.ticker-report-page__export-btn--primary{background:var(--tr-blue);border-color:var(--tr-blue);color:#fff}html[data-theme=dark] .ticker-report-page__export-btn--primary{background:#2563eb;border-color:#2563eb}.ticker-report-page__export-btn--primary:hover{filter:brightness(1.08);color:#fff}.ticker-report-page__export-btn:disabled{opacity:.6;cursor:not-allowed}.ticker-report-page__demo-note{margin:0 0 12px;padding:10px 12px;border-radius:6px;border:1px solid var(--tr-border);background:var(--tr-very-light);font-size:13px;color:var(--tr-text-soft)}.ticker-report-page__layout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:20px;align-items:start;min-width:0}@media (min-width:1200px){.ticker-report-page__layout{grid-template-columns:220px minmax(0,1fr);gap:24px}}@media (max-width:900px){.ticker-report-page__layout{grid-template-columns:1fr;gap:14px}}.ticker-report-page__period-nav{position:sticky;top:12px;border:1px solid var(--tr-border);border-radius:8px;padding:12px 10px;min-width:0}.ticker-report-page__months-scroll,.ticker-report-page__years-scroll{min-width:0}.ticker-report-page__months-scroll{margin-top:10px;padding-top:10px;border-top:1px solid var(--tr-border)}.ticker-report-page__period-nav-title{margin:0 0 10px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--tr-text-muted)}.ticker-report-page__years{list-style:none;margin:0;padding:0}.ticker-report-page__year-item{margin-bottom:4px}.ticker-report-page__year-btn{width:100%;text-align:left;border:0;background:transparent;color:var(--tr-text);font-size:14px;font-weight:700;padding:8px 10px;border-radius:6px;cursor:pointer}.ticker-report-page__year-tag{margin-left:6px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--tr-text-muted)}.ticker-report-page__year-btn.is-active,.ticker-report-page__year-btn.is-active-year,.ticker-report-page__year-btn:hover{background:var(--tr-light);color:var(--tr-navy)}html[data-theme=dark] .ticker-report-page__year-btn.is-active-year{color:var(--tr-text)}.ticker-report-page__months{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.ticker-report-page__month-btn{border:1px solid transparent;background:transparent;color:var(--tr-text-soft);font-size:12px;font-weight:600;padding:6px 4px;border-radius:4px;cursor:pointer}.ticker-report-page__month-btn:hover{border-color:var(--tr-border);color:var(--tr-text)}.ticker-report-page__month-btn.is-active{background:var(--tr-blue);border-color:var(--tr-blue);color:#fff}.ticker-report-page__main{border:1px solid var(--tr-border);border-radius:10px;padding:8px 0;min-width:0;overflow:hidden}.ticker-report-page__empty{padding:24px;color:var(--tr-text-muted)}.ticker-report__article{max-width:100%;padding:24px 20px 48px;font-size:15px;line-height:1.65;color:var(--tr-text)}.ticker-report__header{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--tr-light);padding-bottom:16px;margin-bottom:24px}.ticker-report__logo{height:48px;width:auto}.ticker-report__header-brand .odin-brand-beta{font-size:7px}.ticker-report__header-meta{font-size:12px;color:var(--tr-text-muted);text-align:right;line-height:1.4}.ticker-report__title{font-size:28px;font-weight:700;line-height:1.2;color:var(--tr-navy);margin:0 0 10px}.ticker-report__subtitle{font-size:16px;color:var(--tr-text-soft);margin:0 0 8px}.ticker-report__narrative{margin:0 0 14px;color:var(--tr-text-soft);font-size:15px;line-height:1.65}.ticker-report__summaries{margin:0 0 8px}.ticker-report__summary{margin:0 0 20px;font-size:15px;line-height:1.7;color:var(--tr-text)}.ticker-report__summary:last-child{margin-bottom:28px}.ticker-report__byline{font-size:13px;color:var(--tr-text-muted);margin:0 0 24px;padding-bottom:14px;border-bottom:1px solid var(--tr-border)}.ticker-report__takeaways{background:var(--tr-very-light);border-left:4px solid var(--tr-blue);padding:16px 18px;margin:0 0 24px;border-radius:4px}.ticker-report__takeaways h2{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--tr-navy);margin:0 0 10px}.ticker-report__takeaways ul{margin:0;padding-left:18px}.ticker-report__takeaways li{margin-bottom:8px}.ticker-report__stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 24px}@media (max-width:640px){.ticker-report__stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.ticker-report__stat-card{border:1px solid var(--tr-border);border-radius:8px;padding:12px;text-align:center;background:var(--tr-panel)}.ticker-report__stat-k{margin:0;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--tr-text-muted);font-weight:600}.ticker-report__stat-v{margin:6px 0 0;font-size:20px;font-weight:700;color:var(--tr-navy)}.ticker-report__article .ticker-report__stat-v.app-num--down,.ticker-report__article .ticker-report__stat-v.app-num--up{font-weight:700}.ticker-report__article .ticker-report__th-num.app-num--down,.ticker-report__article .ticker-report__th-num.app-num--up{font-weight:600}.ticker-report__article h2{font-size:22px;color:var(--tr-navy);margin:36px 0 8px;padding-bottom:8px;border-bottom:2px solid var(--tr-light)}.ticker-report__article h3{font-size:17px;color:var(--tr-navy);margin:20px 0 8px}.ticker-report__article p{margin:12px 0;color:var(--tr-text)}.ticker-report__section-num{color:var(--tr-blue);margin-right:8px;font-weight:500}.ticker-report__heatmap-wrap,.ticker-report__table-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:16px 0}.ticker-report__heatmap-wrap .ticker-report__heatmap,.ticker-report__table-wrap .ticker-report__table{margin:0}.ticker-report__table{width:100%;min-width:520px;border-collapse:collapse;font-size:13px}.ticker-report__table thead{background:var(--tr-navy);color:#fff}html[data-theme=dark] .ticker-report__table thead{background:#1e3a5f}.ticker-report__table th{text-align:left;padding:8px 10px;font-weight:600;font-size:11px;text-transform:uppercase}.ticker-report__table td.ticker-report__th-num,.ticker-report__table th.ticker-report__th-num{text-align:right}.ticker-report__table td{padding:8px 10px;border-bottom:1px solid var(--tr-border)}.ticker-report__label{color:var(--tr-text-soft)}.ticker-report__label-bold{color:var(--tr-navy);font-weight:700}.ticker-report__article .app-num--up,.ticker-report__num--pos{color:var(--app-positive,var(--tr-positive))!important;font-weight:600}.ticker-report__article .app-num--down,.ticker-report__num--neg{color:var(--app-negative,var(--tr-negative))!important;font-weight:600}.ticker-report__split-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;min-width:0}.ticker-report__split-cols>*{min-width:0}@media (max-width:700px){.ticker-report__split-cols{grid-template-columns:1fr}}.ticker-report__table-wrap--fit{overflow-x:visible}.ticker-report__table--compact{min-width:0;width:100%;table-layout:fixed}.ticker-report__table--compact td:first-child,.ticker-report__table--compact th:first-child{width:62%;word-break:break-word;hyphens:auto;line-height:1.35}.ticker-report__table--compact td:last-child,.ticker-report__table--compact th:last-child{width:38%;white-space:nowrap;text-align:right}.ticker-report__split-cols--monthly-stats .ticker-report__table-wrap{margin:0}@media (max-width:640px){.ticker-report__split-cols--monthly-stats{gap:12px}.ticker-report__table--compact{font-size:11px}.ticker-report__table--compact td,.ticker-report__table--compact th{padding:6px}.ticker-report__table--compact th{font-size:9px;letter-spacing:.04em}.ticker-report__table--compact td:first-child,.ticker-report__table--compact th:first-child{width:58%}.ticker-report__table--compact td:last-child,.ticker-report__table--compact th:last-child{width:42%}}@media (max-width:400px){.ticker-report__table--compact{font-size:10.5px}.ticker-report__table--compact td,.ticker-report__table--compact th{padding:5px 4px}}@media (max-width:640px){.ticker-report__table-wrap--fit-mobile{overflow-x:visible}.ticker-report__table--compact-mobile{min-width:0;width:100%;table-layout:fixed;font-size:11px}.ticker-report__table--compact-mobile td,.ticker-report__table--compact-mobile th{padding:6px}.ticker-report__table--compact-mobile th{font-size:9px;letter-spacing:.04em}.ticker-report__table--compact-mobile td:first-child,.ticker-report__table--compact-mobile th:first-child{width:58%;word-break:break-word;hyphens:auto;line-height:1.35}.ticker-report__table--compact-mobile td:last-child,.ticker-report__table--compact-mobile th:last-child{width:42%;white-space:nowrap;text-align:right}}@media (max-width:400px){.ticker-report__table--compact-mobile{font-size:10.5px}.ticker-report__table--compact-mobile td,.ticker-report__table--compact-mobile th{padding:5px 4px}}.ticker-report__chart{margin:20px 0}.ticker-report__chart-canvas{height:280px;position:relative}.ticker-report__chart-canvas--bar{height:260px}.ticker-report__chart figcaption{text-align:center;font-size:12px;color:var(--tr-text-muted);font-style:italic;margin-top:6px}.ticker-report__heatmap{width:100%;min-width:640px;border-collapse:collapse;font-size:11px}.ticker-report__heatmap td,.ticker-report__heatmap th{padding:6px 4px;text-align:center;border:1px solid var(--tr-border)}.ticker-report__heatmap thead th{background:var(--tr-navy);color:#fff;font-size:10px}.ticker-report__heatmap tbody th{background:var(--tr-light);color:var(--tr-navy);font-weight:600}.ticker-report__heat--pos-strong{background:#5fae5f;color:#fff}.ticker-report__heat--pos{background:#a6d6a6}.ticker-report__heat--pos-soft{background:#e5f2e5}.ticker-report__heat--neg-soft{background:#ffebeb}.ticker-report__heat--neg{background:#f88;color:#fff}.ticker-report__heat--empty{color:var(--tr-text-muted)}html[data-theme=dark] .ticker-report__heat--pos-soft{background:rgba(46,125,50,.35)}html[data-theme=dark] .ticker-report__heat--neg-soft{background:rgba(198,40,40,.35)}.ticker-report__heat-avg{background:var(--tr-light)!important;font-weight:700;color:var(--tr-navy)}.ticker-report__heat-avg.app-num--up{color:var(--app-positive,var(--tr-positive))!important}.ticker-report__heat-avg.app-num--down{color:var(--app-negative,var(--tr-negative))!important}.ticker-report__scorecard{background:var(--tr-very-light);border-radius:8px;padding:14px 16px;margin:12px 0}.ticker-report__score-row{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-size:13px}.ticker-report__score-row:last-child{margin-bottom:0}.ticker-report__score-lbl{width:110px;flex-shrink:0;color:var(--tr-text-soft)}.ticker-report__score-bar-wrap{flex:1;height:12px;background:var(--tr-light);border-radius:4px;overflow:hidden}.ticker-report__score-bar{display:block;height:100%;background:linear-gradient(90deg,var(--tr-blue),var(--tr-navy));border-radius:4px}.ticker-report__score-val{width:72px;text-align:right;font-weight:700;color:var(--tr-navy);flex-shrink:0}.ticker-report__score-tier{width:auto;color:var(--tr-blue)}.ticker-report__faq{border-bottom:1px solid var(--tr-border);padding:14px 0}.ticker-report__faq-q{margin:0 0 6px;font-size:15px;font-weight:600;color:var(--tr-navy)}.ticker-report__faq-a{margin:0;font-size:14px;color:var(--tr-text)}.ticker-report__related ul{padding-left:20px;line-height:1.8}.ticker-report__related a{color:var(--tr-blue)}.ticker-report__disclosure{margin-top:40px;padding:16px;background:var(--tr-very-light);border-radius:8px;font-size:12px;color:var(--tr-text-muted)}.ticker-report__footer{margin-top:24px;text-align:center;font-size:12px;color:var(--tr-text-muted)}.ticker-report-price-chart__plot{position:relative;width:100%;overflow:hidden}.ticker-report-price-chart__canvas{position:relative;z-index:2;width:100%}.ticker-report-price-chart__band{position:absolute;left:0;right:72px;z-index:1;pointer-events:none}.ticker-report-price-chart__legend{position:absolute;top:10px;left:12px;z-index:4;display:flex;flex-wrap:wrap;gap:12px;font-size:11px;color:var(--tr-text-muted);pointer-events:none}.ticker-report-price-chart__legend-item{display:inline-flex;align-items:center;gap:6px}.ticker-report-price-chart__swatch{display:inline-block;width:22px;height:0;border-top-width:2px;border-top-style:solid}.ticker-report-price-chart__swatch--price{border-color:var(--tr-navy)}.ticker-report-price-chart__swatch--ma{border-color:var(--tr-blue);border-top-style:dashed}.ticker-report-price-chart__range-label{position:absolute;right:10px;z-index:4;font-size:11px;color:var(--tr-text-muted);text-align:right;pointer-events:none}.ticker-report-price-chart__range-label strong{color:var(--tr-text-soft);font-weight:600}.ticker-report-price-chart__last{position:absolute;right:10px;z-index:4;font-size:13px;font-weight:700;color:var(--tr-navy);pointer-events:none}.ticker-report-price-chart__status{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--tr-text-muted);background:rgba(255,255,255,.72);pointer-events:none}html[data-theme=dark] .ticker-report-price-chart__status{background:rgba(15,23,42,.72)}.ticker-report-price-chart__status--err{color:var(--tr-negative)}.ticker-report-drawdown-chart__plot{position:relative;width:100%;overflow:hidden}.ticker-report-drawdown-chart__canvas{position:relative;z-index:2;width:100%}.ticker-report-drawdown-chart__legend{position:absolute;top:10px;left:12px;z-index:4;padding:6px 10px;border-radius:3px;background:rgba(255,255,255,.92);font-size:11px;font-weight:600;color:var(--tr-text);pointer-events:none;box-shadow:0 0 0 1px rgba(15,23,42,.06)}html[data-theme=dark] .ticker-report-drawdown-chart__legend{background:rgba(15,23,42,.88);color:var(--tr-text)}.ticker-report-drawdown-chart__max-label{position:absolute;z-index:4;transform:translateX(-50%);text-align:center;pointer-events:none;line-height:1.25}.ticker-report-drawdown-chart__max-date{display:block;font-size:10px;color:var(--tr-text-muted)}.ticker-report-drawdown-chart__max-label strong{display:block;font-size:10.5px;font-weight:700;color:var(--app-negative,var(--tr-negative))}.ticker-report-rs-chart__plot{position:relative;width:100%;overflow:hidden}.ticker-report-rs-chart__canvas{position:relative;z-index:2;width:100%}.ticker-report-rs-chart__legend{position:absolute;top:10px;left:12px;z-index:4;max-width:calc(100% - 24px);padding:8px 12px;border-radius:4px;background:rgba(255,255,255,.94);pointer-events:none;box-shadow:0 0 0 1px rgba(15,23,42,.08)}html[data-theme=dark] .ticker-report-rs-chart__legend{background:rgba(15,23,42,.9);box-shadow:0 0 0 1px rgba(148,163,184,.15)}.ticker-report-rs-chart__legend-title{font-size:11.5px;font-weight:700;color:var(--tr-text);line-height:1.35}.ticker-report-rs-chart__legend-metrics{display:flex;flex-wrap:wrap;gap:10px 14px;margin-top:6px;font-size:11px;line-height:1.35}.ticker-report-rs-chart__metric{display:inline-flex;align-items:baseline;gap:5px}.ticker-report-rs-chart__metric-val{font-weight:700}.ticker-report-rs-chart__metric-val--peak{color:var(--app-positive,#2e7d32)}.ticker-report-rs-chart__metric-val--trough{color:var(--app-negative,#c62828)}.ticker-report-rs-chart__metric-val--now{color:var(--tr-navy)}.ticker-report-rs-chart__metric-date{color:var(--tr-text-muted);font-weight:400}.ticker-report-rs-chart__even-label{position:absolute;right:10px;z-index:4;font-size:10.5px;color:var(--tr-text-muted);pointer-events:none}@media (max-width:900px){.ticker-report-page{padding:10px 12px 28px}.ticker-report-page__period-nav{position:static;padding:10px}.ticker-report-page__months-scroll,.ticker-report-page__years-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;margin-left:-2px;margin-right:-2px;padding:0 2px 2px}.ticker-report-page__years{display:flex;flex-wrap:nowrap;gap:6px;width:max-content;min-width:100%}.ticker-report-page__year-item{margin-bottom:0;flex:0 0 auto}.ticker-report-page__year-btn{width:auto;white-space:nowrap;padding:8px 12px}.ticker-report-page__months{display:flex;flex-wrap:nowrap;gap:6px;width:max-content;min-width:100%;margin-top:10px}.ticker-report-page__months li{flex:0 0 auto}.ticker-report-page__month-btn{min-width:44px;padding:8px 10px}.ticker-report-page__main{border-radius:8px}.ticker-report__article{padding:18px 16px 36px}.ticker-report__header{flex-direction:column;align-items:flex-start;gap:12px}.ticker-report__header-meta{text-align:left}.ticker-report__title{font-size:clamp(1.35rem,5vw,1.75rem)}.ticker-report__subtitle{font-size:15px}.ticker-report__article h2{font-size:19px;margin-top:28px}}@media (max-width:640px){.ticker-report-page{padding:8px 10px 24px}.ticker-report-page__toolbar{flex-direction:column;align-items:stretch;gap:10px;margin-bottom:12px}.ticker-report-page__symbol-wrap{min-width:0;width:100%}.ticker-report-page__symbol-wrap .ticker-symbol-search{width:100%}.ticker-report-page__symbol-wrap .ticker-symbol-search__input{width:100%;box-sizing:border-box}.ticker-report-page__export-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}.ticker-report-page__export-btn{width:100%;min-height:40px;height:auto;padding:8px 10px;font-size:12px}.ticker-report-page__demo-note{font-size:12px;line-height:1.45}.ticker-report__article{padding:14px 12px 28px;font-size:14px}.ticker-report__title{font-size:clamp(1.2rem,6.2vw,1.5rem);line-height:1.25}.ticker-report__byline{font-size:12px;line-height:1.55;word-break:break-word}.ticker-report__stats-grid{grid-template-columns:1fr;gap:8px}.ticker-report__stat-v{font-size:18px}.ticker-report__takeaways{padding:12px 14px}.ticker-report__table{min-width:480px;font-size:12px}.ticker-report__table--compact,.ticker-report__table--compact-mobile{min-width:0;width:100%}.ticker-report__table-wrap--fit,.ticker-report__table-wrap--fit-mobile{overflow-x:visible}.ticker-report__table td,.ticker-report__table th{padding:7px 8px}.ticker-report__heatmap{min-width:580px;font-size:10px}.ticker-report__score-row{flex-wrap:wrap;gap:6px 8px}.ticker-report__score-lbl{width:100%}.ticker-report__score-bar-wrap{flex:1 1 auto;min-width:0}.ticker-report__score-val{width:auto;min-width:48px}.ticker-report__chart figcaption{font-size:11px;line-height:1.45;padding:0 4px}.ticker-report-price-chart__legend{flex-direction:column;align-items:flex-start;gap:6px;max-width:calc(100% - 80px);font-size:10px}.ticker-report-rs-chart__legend{max-width:calc(100% - 16px);padding:6px 10px}.ticker-report-rs-chart__legend-title{font-size:10.5px}.ticker-report-rs-chart__legend-metrics{flex-direction:column;align-items:flex-start;gap:4px;font-size:10px}.ticker-report-price-chart__last,.ticker-report-price-chart__range-label,.ticker-report-rs-chart__even-label{font-size:10px}.ticker-report-drawdown-chart__legend{font-size:10px;max-width:calc(100% - 24px)}}@media (max-width:400px){.ticker-report-page__export-actions{grid-template-columns:1fr}.ticker-report__section-num{display:block;margin:0 0 4px}}@media (min-width:901px) and (max-width:1100px){.ticker-report-page{padding:12px 16px 30px}.ticker-report__article{padding:20px 18px 40px}.ticker-report__stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media print{.ticker-report-page__demo-note,.ticker-report-page__period-nav,.ticker-report-page__toolbar{display:none!important}.ticker-report-page__layout{grid-template-columns:1fr}.ticker-report-page__main{border:none}.ticker-report__disclosure,.ticker-report__faq,.ticker-report__heatmap-wrap,.ticker-report__related,.ticker-report__scorecard,.ticker-report__split-cols,.ticker-report__stats-grid,.ticker-report__summaries,.ticker-report__summary,.ticker-report__table-wrap,.ticker-report__takeaways,figure.ticker-report__chart{break-inside:avoid;page-break-inside:avoid}.ticker-report__article h2,.ticker-report__article h3{break-after:avoid;page-break-after:avoid}}