/* AP Investments / Terminal AP
   Product tokens → shared primitives → research modules → responsive shell.
   Chart interaction geometry and calculation components remain in styles.css. */
html {font-size:16px;scroll-behavior:smooth;scroll-padding-top:100px}
body {background:var(--bg);color:var(--text);font:1rem/1.6 var(--sans);padding:0}
h1,h2,h3,h4,p,dd {overflow-wrap:anywhere}
h1,h2,h3,h4 {font-family:var(--sans);font-weight:600;line-height:1.3;letter-spacing:-.025em}
h1 {font-size:1.75rem} h2 {font-size:var(--type-heading)} h3 {font-size:var(--type-subheading)} h4 {font-size:var(--type-body)}
button,input,select {font-family:var(--sans);font-size:var(--type-label)}
button,input,select,summary,a {touch-action:manipulation}
button,a {transition:background-color var(--motion-fast),color var(--motion-fast),border-color var(--motion-fast)}
button:hover {filter:none}button:disabled {cursor:default}
button:focus-visible,a:focus-visible,summary:focus-visible {outline:2px solid var(--cyan);outline-offset:4px}
input,select {border:1px solid var(--border-control);border-radius:var(--control-radius);background:#0c1521;padding:10px 12px;min-height:44px;max-width:100%;font-size:var(--type-body)}
input[type=checkbox] {min-height:0;width:16px;height:16px;accent-color:var(--mint);flex-shrink:0}
input::placeholder {color:#8595aa}
.ap-icon {width:var(--icon-size);height:var(--icon-size);flex-shrink:0;fill:none;stroke:currentColor;stroke-width:var(--icon-stroke);stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
[data-icon] {display:inline-flex}
.positive,.bullish {color:var(--mint)}.negative,.bearish {color:var(--red)}.neutral {color:var(--muted)}
.muted {color:var(--muted)}
.primary,.quiet-button,.text-button,.header-link,.icon-button {min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:var(--type-label);line-height:1.35;border-radius:var(--control-radius)}
.primary {height:auto;background:var(--mint);color:#0c2921;padding:12px 18px;font-weight:650;border:1px solid transparent;white-space:normal}
.primary:hover {background:#9beaCE}
.quiet-button {border:1px solid var(--border);background:var(--panel2);color:#d7e2f1;padding:10px 14px;white-space:normal}
.quiet-button:hover {background:#213045;border-color:#40566e}
.quiet-button.small {font-size:var(--type-label);min-height:44px;padding:9px 12px}
.quiet-button.small svg {width:18px;height:18px}
.text-button,.header-link {color:var(--muted);padding:8px}
.text-button:hover,.header-link:hover {color:var(--text);background:var(--panel2)}
.icon-button {height:44px;width:44px;border:1px solid var(--border);color:var(--muted);padding:0;flex-shrink:0}
.badge,.tiny-label,.eyebrow,.topic-label {font-family:var(--sans);font-size:var(--type-caption);line-height:1.5;color:var(--muted)}
.eyebrow {letter-spacing:.08em;text-transform:uppercase;font-weight:600}
.badge {padding:3px 7px;border:1px solid var(--border);border-radius:5px;letter-spacing:0}
.panel {background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);overflow:hidden;min-width:0}
.panel-title {height:auto;min-height:68px;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:20px var(--space);border-bottom:1px solid var(--border);flex-wrap:wrap}
.panel-title h3 {margin:0;font:600 1.0625rem/1.4 var(--sans);letter-spacing:-.02em}
.panel-title>div {display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.panel-title .tiny-label {font-size:var(--type-caption)}
.rating,.bias {display:inline-flex;align-items:center;font:600 .875rem/1.4 var(--sans);padding:5px 10px;border-radius:6px;text-transform:none;letter-spacing:0}
.rating.bullish,.bias.bullish {color:var(--mint);background:var(--surface-bullish);border-color:var(--surface-bullish)}
.rating.bearish,.bias.bearish {color:var(--red);background:var(--surface-bearish);border-color:var(--surface-bearish)}
.rating.neutral,.bias.neutral {color:var(--color-neutral);background:var(--surface-neutral);border-color:var(--surface-neutral)}
.rating.unrated {color:var(--muted);background:#253042}
.segmented {display:flex;gap:4px;background:#101a27;border:1px solid var(--border);padding:4px;border-radius:10px;max-width:100%}
.segmented button {font-size:var(--type-label);min-height:40px;padding:8px 14px;color:var(--muted);border-radius:6px;white-space:nowrap}
.segmented button[aria-pressed=true] {background:#293a50;color:var(--text);box-shadow:0 1px 3px #0003}
.segmented button:hover {color:var(--text)}
.skip-link {position:fixed;top:-100px;left:16px;z-index:100;background:var(--mint);color:#10271d;padding:12px 18px;border-radius:var(--radius-control)}
.skip-link:focus {top:12px}
/* Shared shell */
.topbar {position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:32px;height:80px;padding:0 max(28px,calc((100vw - 1496px)/2));background:#0e1622;border-bottom:1px solid var(--border)}
.brand {gap:12px;font:700 1.0625rem/1.3 var(--sans);letter-spacing:-.02em;flex-shrink:0}
.brand img {width:36px;height:36px;border-radius:var(--radius-control)}
.brand small {font:500 .75rem/1.3 var(--sans);letter-spacing:.1em;color:var(--muted);margin-top:4px;text-transform:uppercase}
#header-search {flex:1;max-width:560px;min-width:180px;margin:auto}
.search {margin:0;min-width:0;width:100%;min-height:48px;height:auto;background:#172231;border:1px solid #324156;border-radius:10px;padding:4px;gap:10px}
.search input {font-size:var(--type-body);min-height:40px;padding:4px 0;line-height:1.4;flex:1;min-width:0;width:100%;border:0;box-shadow:none}
.search input:focus {outline:0}
.search:focus-within {border-color:var(--cyan);box-shadow:0 0 0 2px #91bcff20}
.search .primary {min-height:38px;padding:8px 14px;font-size:var(--type-label);flex-shrink:0}
.search-icon {margin-left:10px;color:var(--muted)}
.search-results {position:absolute;top:calc(100% + 8px);left:0;right:0;background:#162230;border:1px solid #40516a;border-radius:10px;box-shadow:0 16px 40px #0007;padding:6px;max-height:min(60vh,440px);overflow:auto;z-index:60}
.search-results button {display:flex;align-items:center;gap:14px;min-height:56px;width:100%;padding:12px;text-align:left;border-radius:6px}
.search-results button:hover,.search-results button:focus {background:#25364c}
.search-results b {font:600 .875rem var(--mono);color:var(--mint);min-width:64px}
.search-results span {font-size:var(--type-label);line-height:1.5}.search-results small {display:block;font-size:var(--type-caption);color:var(--muted)}
.top-actions {gap:8px;display:flex;align-items:center}
.header-link {padding:10px;font-size:var(--type-label)}
main {max-width:1552px;margin:0 auto;padding:0 var(--page-padding);min-width:0}
.intro {padding:22px 0 0;display:flex;align-items:center;gap:12px;justify-content:space-between}
.intro h1 {font:500 .875rem var(--sans);color:var(--muted);letter-spacing:0;margin:0}
.workspace-note {font-size:var(--type-caption);color:#899bb2}
.watchlist {display:flex;align-items:center;gap:14px;min-height:65px;margin:0;border-bottom:1px solid var(--border);min-width:0}
.watchlist>span {font:500 .75rem var(--sans);color:var(--muted);letter-spacing:0}
.watchlist>div {display:flex;flex:1;min-width:0;gap:4px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#314153 transparent}
.watchlist .chip {min-height:38px;padding:7px 10px;font:500 .875rem var(--mono);border:1px solid transparent;border-radius:6px;white-space:nowrap;flex-shrink:0;background:transparent}
.watchlist .chip.active {background:#19372f;border-color:#2b5346;color:var(--mint)}
.watchlist .chip:hover {background:#1e2d40}.watchlist .text-button {white-space:nowrap;flex-shrink:0}
.quote-header {display:grid;grid-template-columns:minmax(220px,1.1fr) minmax(270px,1.3fr) auto auto;gap:28px;align-items:center;padding:30px 0;border:0;min-width:0;scroll-margin-top:90px}
.stock-id {display:flex;gap:16px;min-width:0;align-items:center}
.ticker-monogram {height:60px;width:64px;flex-shrink:0;background:#1c2a3d;border:1px solid #35455d;border-radius:var(--radius-card);font:650 .875rem var(--mono);color:#d5e3f8;letter-spacing:-.02em;overflow-wrap:anywhere;text-align:center;padding:4px}
.stock-title {display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.stock-title h2 {font:650 2rem/1.2 var(--sans);letter-spacing:-.04em;margin:0}
.stock-id p {font-size:var(--type-label);color:var(--muted);margin:5px 0 0;max-width:320px}
.quote-block {margin:0;min-width:0}
.price-line {display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.price-line strong {font:550 2.5rem/1.2 var(--sans);letter-spacing:-.045em;font-variant-numeric:tabular-nums}
.price-line>span {font:500 .875rem var(--mono);white-space:normal}
.quote-block p {font-size:var(--type-caption);line-height:1.6;color:var(--muted);margin:6px 0 0;max-width:370px}
.feed-controls {display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.session-label {font:.875rem var(--sans);gap:8px;white-space:normal;line-height:1.5}
.session-label i {width:5px;height:5px;flex-shrink:0;box-shadow:none}
.score-header {display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:4px 0 4px 22px;border-left:1px solid var(--border);gap:4px;min-width:130px;border-radius:0}
.score-header>span:first-child {font:600 .75rem var(--sans);letter-spacing:.07em;color:var(--muted)}
.score-header strong {font:600 2rem/1.15 var(--sans);font-variant-numeric:tabular-nums;color:var(--text)}
.score-header small {font-size:var(--type-label);color:var(--muted);font-weight:400;padding-left:3px}
.score-header>span:last-child {font-size:var(--type-label)}
.score-header:hover {background:#132030}
.data-ribbon {margin-bottom:0;display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:transparent;border:0;border-top:1px solid var(--border);border-radius:0;padding:12px 0;font:.75rem/1.5 var(--sans);color:var(--muted)}
.data-ribbon>span:nth-child(2) {margin:0}.ribbon-source {display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ribbon-source b {font-weight:500}
.ribbon-divider {margin:0 4px;color:#55687d}.amber-dot {display:none}
.auto-select {margin-left:auto;display:flex;align-items:center;gap:6px;white-space:nowrap;font-size:var(--type-caption)}
.auto-select select {font-size:var(--type-caption);border-color:transparent;background:transparent;min-height:34px;padding:4px;max-width:150px}
#countdown {font-size:var(--type-caption);width:34px;display:inline-block;font-variant-numeric:tabular-nums}
.stock-navigation {display:flex;gap:18px;align-items:center;border-bottom:1px solid var(--border);min-width:0}
.workspace-nav {display:flex;align-items:stretch;flex-wrap:nowrap;flex:1;min-width:0;gap:16px;overflow-x:auto;margin:0;border:0;padding:0;scrollbar-width:thin;scrollbar-color:#3b4c63 transparent}
.workspace-nav>button {font-size:var(--type-label);font-weight:500;color:var(--muted);min-height:60px;display:flex;align-items:center;gap:7px;flex-shrink:0;padding:12px 2px;border:0;border-bottom:2px solid transparent;border-radius:0;white-space:nowrap}
.workspace-nav>button[aria-selected=true] {color:var(--mint);border-bottom-color:var(--mint)}
.workspace-nav>button:hover {color:var(--text)}.workspace-nav .ap-icon {width:17px;height:17px}
.stock-navigation>.quiet-button {flex-shrink:0;background:transparent;border:0}
.view-controls {display:flex;align-items:center;justify-content:flex-end;gap:12px;margin:20px 0}
.view-label {font-size:var(--type-caption);color:var(--muted)}.depth-switch button {min-height:36px;padding:7px 15px}
.mobile-nav {display:none}
/* Progressive disclosure primitives: one border, clear hierarchy, no locked depth. */
details {min-width:0}
details summary {cursor:pointer;color:#c3d0e3;line-height:1.5;min-height:36px;font-size:var(--type-label);padding-block:6px}
details[open]>summary {margin-bottom:12px}
details p {font-size:var(--type-body);line-height:1.75;color:var(--muted)}
.disclosure {margin:14px 0;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);overflow:hidden;min-width:0}
.disclosure>summary {display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:76px;padding:18px var(--space);list-style:none;color:var(--text);font-size:var(--type-body);font-weight:550}
.disclosure>summary::-webkit-details-marker {display:none}
.disclosure>summary::after {content:'';width:8px;height:8px;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:rotate(45deg);flex-shrink:0;margin-right:4px;transition:transform var(--motion-fast)}
.disclosure[open]>summary::after {transform:rotate(225deg)}
.disclosure>summary small {display:block;font-size:var(--type-secondary);color:var(--muted);font-weight:400;line-height:1.6;margin-top:3px}
.disclosure>summary:hover {background:#172332}
.disclosure[open]>summary {margin:0;border-bottom:1px solid var(--border)}
.disclosure-content {padding:var(--space);min-width:0}
.disclosure-content>.panel,.disclosure-content>section {border:0;box-shadow:none;background:transparent;margin:0;border-radius:0}
.disclosure-content>.panel>.panel-title {padding:0 0 20px;border:0;min-height:0}
.disclosure-content .data-table-wrap:last-child,.disclosure-content>.metric-strip {margin-bottom:0}
.section-disclosure .disclosure-content .panel-title:has(h3) {margin-bottom:4px}
.context-explanation {font-size:var(--type-label);color:var(--muted);margin-top:8px}
.context-explanation>summary {color:#b8cce7}.context-explanation p {font-size:var(--type-label);max-width:80ch;margin:12px 0}
/* Overview: answer → evidence → raw inputs. */
.research-status {font-size:var(--type-label);color:var(--gold);margin:0 0 16px}.research-status:empty {display:none}
.overview-hero {display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);min-height:360px}
.outlook-panel {padding:32px;min-width:0}.outlook-heading {display:flex;align-items:center;justify-content:space-between;gap:12px}
.outlook-title {display:flex;align-items:center;gap:10px;font-size:var(--type-title);letter-spacing:-.04em;margin:9px 0 0}
.outlook-title .ap-icon {width:28px;height:28px}.analysis-basis {font-size:var(--type-caption);color:var(--muted);align-self:flex-start}
.outlook-reason {font-size:var(--type-body);color:#ccd7e6;margin:16px 0 22px;line-height:1.65}
.outlook-signals {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 24px}
.outlook-signals dt,.outlook-levels span {font-size:var(--type-secondary);color:var(--muted);margin-bottom:4px}
.outlook-signals dd {font-size:1.125rem;font-weight:550;margin:0}
.outlook-levels {display:flex;flex-wrap:wrap;gap:var(--space-6) 38px;padding:18px 0 4px;border-top:1px solid var(--border)}
.outlook-levels span {display:block}.outlook-levels b {font:500 1.125rem var(--mono);color:var(--text)}
.outlook-actions {display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px 20px;margin-top:20px}
.outlook-actions .context-explanation {flex:1;min-width:160px;margin:0}
.outlook-actions .context-explanation summary {min-height:44px;display:flex;align-items:center}
.context-panel {padding:28px 30px;border-left:1px solid var(--border);background:#0e1723;min-width:0}
.context-panel .panel-title {padding:0;min-height:32px;border:0;gap:10px;align-items:flex-start}
.context-panel .panel-title h3 {font-size:var(--type-body)}
.research-brief {padding:0}.research-brief>p:first-child {font-size:var(--type-body);color:var(--muted);line-height:1.8;margin:18px 0 24px}
.brief-facts {display:grid;grid-template-columns:1fr;gap:18px;margin-top:18px}
.brief-fact {padding:0;background:transparent;border:0;min-width:0}
.brief-fact span {display:block;font-size:var(--type-secondary);color:var(--muted)}
.brief-fact b {display:block;font:550 1.25rem var(--sans);color:var(--text);margin:4px 0}
.brief-fact small {font-size:var(--type-caption);color:var(--muted);line-height:1.6}
.overview-details {margin-top:24px}
.score-panel {padding:0}.score-panel .panel-title {padding:0;border:0;min-height:0}
.score-hero {display:flex;align-items:center;gap:var(--space-6);padding:var(--space-6) 0}
.score-ring {width:106px;height:106px;flex-shrink:0;border-radius:50%;background:conic-gradient(var(--mint) calc(var(--score,0)*1%),#293849 0);position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center}
.score-ring::before {content:'';position:absolute;inset:5px;border-radius:50%;background:var(--panel)}
.score-ring>* {position:relative}.score-ring strong {font-size:var(--type-title);font-weight:550;line-height:1.2}.score-ring span {font-size:var(--type-caption);color:var(--muted)}
.score-hero p {font-size:var(--type-label);color:var(--muted);margin:10px 0 0;max-width:540px}
.score-categories {display:grid;grid-template-columns:1fr 1fr;gap:16px 40px;padding:0}
.score-row {display:grid;grid-template-columns:110px 1fr 35px;gap:14px;align-items:center;color:var(--muted);font-size:var(--type-label)}
.score-row b {color:var(--text);font:500 .875rem var(--mono);text-align:right}
.score-track {height:5px;border-radius:6px;background:#2b394b;overflow:hidden}.score-track i {display:block;height:100%;background:var(--mint);border-radius:6px}
#score-method {padding-top:20px;margin:24px 0 0;border-top:1px solid var(--border);color:var(--muted)}
#score-method p {font-size:var(--type-label)}#score-method-table {columns:2;column-gap:40px}#score-method-table p {break-inside:avoid;margin-top:0;padding-top:12px}#score-method-table b {color:var(--text)}
.metric-strip {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6);background:transparent;border:0;border-radius:0;overflow:visible;margin:0 0 24px}
.metric-cell {min-width:0;padding:0 0 16px;background:transparent;border-bottom:1px solid var(--border)}
.metric-cell>span {font-size:var(--type-label);color:var(--muted);display:block;text-transform:none;letter-spacing:0}
.metric-cell strong {display:block;font:500 1.25rem var(--mono);color:var(--text);margin-top:7px;letter-spacing:-.025em;overflow-wrap:anywhere}
.metric-cell small {font-size:var(--type-caption);color:var(--muted)}
.metric-cell details {font-size:var(--type-secondary);color:var(--muted);margin-top:8px}.metric-cell summary {font-size:var(--type-caption);min-height:32px}
.profile-layout {display:grid;grid-template-columns:1.2fr 1fr;gap:40px;padding:0}
.profile-layout>p {font-size:var(--type-body);line-height:1.85;color:var(--muted);margin:0}
.profile-facts {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px;margin:0}
.profile-facts dt {font-size:var(--type-secondary);color:var(--muted);margin-bottom:5px}.profile-facts dd {font-size:var(--type-label);color:var(--text);margin:0}
.profile-facts a {color:var(--cyan);text-decoration:underline;text-underline-offset:3px}
.profile-metrics {padding:28px 0 0}.profile-metrics .metric-strip {grid-template-columns:repeat(4,minmax(0,1fr));margin:0}
/* Technical workspace */
.technical-brief {padding:var(--space-6) 28px;margin-bottom:20px}
.technical-brief #chart-outlook {display:grid;grid-template-columns:1fr 1fr;gap:6px 40px;align-items:center}
.technical-brief .outlook-heading {grid-column:1;grid-row:1}.technical-brief .outlook-title {font-size:var(--type-heading)}
.technical-brief .outlook-reason {grid-column:1;grid-row:2;margin:4px 0}
.technical-brief .outlook-signals {grid-column:2;grid-row:1/3;margin:0}.technical-brief .data-note {grid-column:1/-1}
.technical-brief .analysis-basis {display:none}
.workspace {display:grid;grid-template-columns:minmax(0,1fr) 316px;gap:20px;margin:0;align-items:start}
.chart-panel .panel-title {padding:18px 20px}.chart-actions {display:flex;gap:8px;flex-wrap:wrap}
.chart-toolbar {display:flex;justify-content:space-between;align-items:center;padding:14px 20px;gap:16px;flex-wrap:wrap}
.ranges {display:flex;gap:3px;flex-wrap:wrap}.ranges button {min-height:40px;min-width:38px;padding:8px;font-size:var(--type-label);font-family:var(--mono);border-radius:6px}
.ranges button.active {background:#293e54;color:var(--text);border-color:#4b6885}
.interval-control {font-size:var(--type-label);display:flex;gap:10px;align-items:center}
.interval-control label {font-size:var(--type-label)}.interval-control select {font-size:var(--type-label);min-height:40px;padding:7px 10px}
.chart-indicator-menu {margin:0;border:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);border-radius:0;box-shadow:none}
.chart-indicator-menu>summary {min-height:48px;padding:12px 20px;font-size:var(--type-label)}
.chart-legend {display:flex;flex-wrap:wrap;gap:8px 18px;padding:18px 20px 4px;border:0;font-size:var(--type-label)}
.chart-legend label {min-height:38px;display:flex;align-items:center;gap:7px;cursor:pointer}
.chart-legend .extended-toggle {margin:0}
.chart-tools {display:flex;align-items:center;flex-wrap:wrap;padding:0 20px 14px;gap:10px}
.chart-tools>span {font-size:var(--type-caption);line-height:1.6;min-width:180px;color:var(--muted)}
.chart-tools .quiet-button {font-size:var(--type-label);min-height:44px}
.advanced-controls {display:flex;gap:20px;flex-wrap:wrap;padding:14px 20px 0}
.advanced-controls>div {display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;min-width:0}
.advanced-controls label {display:flex;flex-direction:column;gap:7px;font-size:var(--type-label);color:var(--muted);min-width:0}
.advanced-controls select {max-width:240px;font-size:var(--type-label)}
#drawing-help {font-size:var(--type-secondary);margin:16px 20px 20px;color:var(--muted)}
.chart-wrap {height:490px;width:100%;min-width:0;margin:0;position:relative}.chart-wrap canvas {width:100%;height:100%}
.chart-tooltip {font-size:var(--type-caption);background:#101c2cf5;border-color:#455875;max-width:calc(100% - 20px)}
.chart-zoom {gap:4px;opacity:1}.chart-zoom button {display:grid;place-items:center;width:44px;height:44px;border-radius:6px;background:#17283f;border:1px solid #344c68}
.chart-caption {font-size:var(--type-caption);line-height:1.6;padding:12px 20px;gap:12px;flex-wrap:wrap}
.takeaway {padding:16px 20px;background:#12232d;border-top:1px solid var(--border);gap:12px}.takeaway-icon {background:none;color:var(--mint);width:26px;height:26px;flex-shrink:0}
.takeaway span {font-size:var(--type-caption);color:#acc9c1;letter-spacing:.05em}.takeaway p {font-size:var(--type-label);color:#d0e1e0;line-height:1.7}
.levels-panel {display:block}.levels-panel #resistance-levels {border-left:0}.levels-panel .panel-title {padding:20px;height:auto}.panel-intro {margin:0;padding:14px 20px;font-size:var(--type-label);color:var(--muted)}
.level {padding:16px 20px;border-top:1px solid var(--border)}.level-top {gap:10px;flex-wrap:wrap;font-size:var(--type-caption);margin:0 0 8px}.level-label,.level-distance {font-size:var(--type-caption);letter-spacing:0}
.level-body {display:flex;align-items:flex-start;flex-direction:column;gap:6px}.level-body strong {font:500 1.0625rem var(--mono);white-space:normal;overflow-wrap:anywhere}.touches {font-size:var(--type-caption)}
.level details {font-size:var(--type-secondary);color:var(--muted);margin-top:10px}.level details p {font-size:var(--type-secondary);margin:8px 0}.level summary {font-size:var(--type-secondary);min-height:32px}
.current-marker {padding:14px 20px;background:#17273a;border:0}.current-marker span {font-size:var(--type-caption)}.current-marker b {font-size:var(--type-body)}
.manual-level {padding:20px;background:transparent;border-top:1px solid var(--border);display:block}.manual-title {font:500 .75rem var(--sans);gap:8px}.manual-title .tiny-label {font-size:var(--type-caption)}
.manual-level input {font-size:var(--type-body);min-height:44px;background:#0c1521;border-color:var(--border-control);border-radius:var(--radius-control)}
.manual-level form button {min-width:44px;display:grid;place-items:center;border-radius:var(--radius-control)}
.custom-level {grid-template-columns:minmax(0,1fr) 90px 38px;font-size:var(--type-label);gap:6px}.custom-level .level-custom-distance {font-size:var(--type-caption)}.custom-level input {max-width:100%;font-size:var(--type-label)}.custom-level button {display:grid;place-items:center;min-height:44px}
.empty-levels {font-size:var(--type-label);color:var(--muted);padding:0 20px}
.section-heading {display:flex;justify-content:space-between;gap:14px;margin:0 0 20px;flex-wrap:wrap}.section-heading h3 {margin:0}.section-heading>span {font:.75rem var(--sans);color:var(--muted)}
.scenarios {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.scenario {border:0;border-top:2px solid var(--accent);background:#132030;border-radius:var(--radius-control);padding:20px;min-width:0}.scenario::after {display:none}
.scenario .case-title {font:600 .875rem var(--sans);letter-spacing:0;text-transform:none}.scenario .case-icon {display:flex}.scenario h4 {font:550 1.1875rem/1.5 var(--sans);letter-spacing:-.02em;margin:16px 0 12px}
.scenario p {font-size:var(--type-label);color:var(--muted);line-height:1.8}.scenario .case-note {font:.75rem/1.6 var(--sans);color:var(--muted)}
.scenario-research {margin-top:18px;border-top:1px solid var(--border);padding-top:6px}.scenario-research details {font-size:var(--type-label)}.scenario-research p {font-size:var(--type-label)}
.pattern-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:0}.pattern-card {background:#132030;border:1px solid var(--border);padding:20px;border-radius:var(--radius-control);min-width:0}
.pattern-card h4 {margin:0 0 10px}.pattern-card>span {font-size:var(--type-secondary);color:var(--cyan)}.pattern-card p {font-size:var(--type-label);color:var(--muted);margin:12px 0}.pattern-card .quiet-button {margin-top:16px;display:flex}
#patterns-pane>details {margin-top:20px}.timeframe-panel,.planner-panel {margin-top:0}
.overview-summary {font-size:var(--type-body);margin:0 0 20px;color:#d3dfef}.timeframe-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:0}
.timeframe-card {border:1px solid var(--border);border-radius:var(--radius-control);background:#132030;padding:20px;min-width:0}.timeframe-heading h4,.timeframe-card>h4 {font-size:var(--type-subheading)}
.timeframe-structure {font-size:var(--type-label)}.timeframe-values {font-size:var(--type-label)}.timeframe-card .bias {font-size:var(--type-label)}.timeframe-meta,.timeframe-session {font-size:var(--type-caption);color:var(--muted);line-height:1.7}
.timeframe-session {margin:20px 0 0}.timeframe-card .quiet-button {font-size:var(--type-label);min-height:44px}
.indicators {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:0;background:transparent;margin:0;border-radius:0}
.indicator {padding:8px 20px;min-width:0}.indicator:first-child {padding-left:0}.indicator>span,.indicator small,.indicator p {font:.75rem/1.6 var(--sans);color:var(--muted)}.indicator>strong {font:550 1.5rem var(--mono);white-space:normal}
.analysis-footnote {font:.75rem/1.8 var(--sans);color:var(--muted);padding:8px 0 0}
/* Reusable data, research and loading surfaces */
.research-heading {display:flex;align-items:center;justify-content:space-between;gap:20px;margin:8px 0 24px;flex-wrap:wrap}.research-heading h2 {margin:0}.research-heading p {color:var(--muted);font-size:var(--type-body)}
.data-note {font-size:var(--type-secondary)!important;line-height:1.75!important;color:var(--muted);margin:16px 0 0}
.source-link {font-size:var(--type-secondary);font-family:var(--sans);color:var(--cyan);text-decoration:underline;text-underline-offset:3px}
.research-sources {margin:22px 0;color:var(--muted)}.research-sources summary {font-size:var(--type-secondary)}.research-sources p {font-size:var(--type-label)}
.research-empty {padding:var(--space-6);border:1px solid var(--border);border-radius:10px;background:#13202e;color:var(--muted)}.research-empty h3 {margin:0 0 8px;color:#d9e4f3}.research-empty p {font-size:var(--type-label);line-height:1.8;margin:0}
.research-error {padding:var(--space-6);border:1px solid #643846;border-radius:10px;background:#281d29;color:#edb8c2}.research-error p {font-size:var(--type-body)}.research-error button {margin-top:10px}
.error {border-radius:10px;font-size:var(--type-body);padding:20px 24px;line-height:1.7}
.data-table-wrap {max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;border:1px solid var(--border);border-radius:var(--radius-control);margin:20px 0;scrollbar-width:thin;scrollbar-color:#475d79 transparent}
.data-table {border-collapse:collapse;width:100%;font-size:var(--type-label);white-space:nowrap;text-align:left;line-height:1.6}
.data-table th,.data-table td {padding:14px 18px;border-bottom:1px solid var(--border);vertical-align:top}
.data-table thead th {font:500 .75rem var(--sans);color:var(--muted);background:#0f1926;text-transform:none;letter-spacing:0}
.data-table tbody th {font-weight:500;text-align:left}.data-table td {font:400 .875rem/1.6 var(--mono)}
.data-table tr:last-child>* {border-bottom:0}.data-table tbody tr:hover {background:#172535}.data-table small {font-size:var(--type-caption);color:var(--muted)}
.data-table .wrap-cell {display:block;white-space:normal;min-width:180px;max-width:360px;line-height:1.6;font-family:var(--sans)}
.stat-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-6);margin:0 0 24px}
.stat-card {padding:18px 0;background:transparent;border:0;border-bottom:1px solid var(--border);min-width:0}
.stat-card>span {font-size:var(--type-label);color:var(--muted);display:block}.stat-card strong {display:block;font:550 1.5rem/1.4 var(--sans);letter-spacing:-.03em;margin:8px 0;overflow-wrap:anywhere}.stat-card small {font-size:var(--type-caption);color:var(--muted);line-height:1.7}
#financials-pane>.panel,#catalysts-pane>.panel {margin-bottom:20px}#valuation-panel,#financial-content,#catalysts-content {padding:var(--space)}
#valuation-panel>h3,#financial-content>h3 {margin-top:0}#valuation-panel .metric-strip {margin-bottom:0}
.financial-charts {display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6);margin:24px 0}
.mini-plot {background:transparent;border:0;min-width:0;padding:0}.mini-plot h4 {font-size:var(--type-label);margin:0 0 14px;color:#d4e0f0}.mini-plot svg {width:100%;height:auto;fill:none;stroke:none;display:block}.mini-plot p {font-size:var(--type-caption);color:var(--muted);margin:4px 0}
.analyst-grid {display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0}.analyst-grid>.panel {padding:var(--space-6)}.analyst-grid h3 {margin:0 0 24px}
.consensus-row {display:grid;grid-template-columns:100px 1fr 32px;gap:16px;align-items:center;font-size:var(--type-label);margin:18px 0}.consensus-row b {font-family:var(--mono);font-size:var(--type-label);text-align:right}
.consensus-row .bar {height:6px;background:#29374a;border-radius:5px;overflow:hidden}.consensus-row i {display:block;height:100%;border-radius:5px}
.analyst-band {padding:20px 0}.analyst-band .range {height:6px;border-radius:6px;background:#668ea9}.analyst-band .labels {display:flex;justify-content:space-between;font:.875rem var(--mono);margin-top:16px}
.signal-strip {display:flex;align-items:center;gap:10px;flex-wrap:wrap}.signal-pill {font-size:var(--type-secondary);color:var(--muted)}
.news-brief {padding:var(--space-6);margin-bottom:24px;border:0;background:transparent;border-left:2px solid var(--cyan);border-radius:0;box-shadow:none}.news-brief h3 {margin:0 0 12px}.news-brief p {margin:0;font-size:var(--type-body);line-height:1.8}
.news-grid {display:grid;grid-template-columns:1fr 1fr;gap:20px}.news-card {padding:var(--space-6);display:flex;flex-direction:column}.news-meta {display:flex;gap:12px;align-items:center;flex-wrap:wrap}.news-card h3 {font-size:1.125rem;line-height:1.6;margin:18px 0 24px}.news-card a:hover {color:var(--cyan)}.news-card footer {margin-top:auto;padding:16px 0 0;display:flex;flex-wrap:wrap;gap:8px 16px;font:.75rem var(--sans);color:var(--muted);border-color:var(--border)}
.loading {height:auto;min-height:540px;display:block;padding:0;margin-top:28px;border:0;background:none}.loading p {font-size:var(--type-label);color:var(--muted)}
.skeleton {height:130px;background:#182434;border:1px solid #253448;border-radius:10px;animation:skeleton-pulse 1.6s ease-in-out infinite}
.skeleton-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.skeleton-quote {height:100px;margin-bottom:28px}.skeleton-chart {height:280px;margin-top:20px}
@keyframes skeleton-pulse {50% {opacity:.55}}
/* Earnings: headline reaction, report evidence, raw price checks. */
.earnings-panel {padding:var(--space-6);border:0;background:transparent;box-shadow:none;overflow:visible}
.earnings-heading {display:flex;justify-content:space-between;gap:20px;align-items:center;padding:0;flex-wrap:wrap}.earnings-heading h2 {font-size:var(--type-heading);margin:0 0 6px}.earnings-heading p {font-size:var(--type-label);color:var(--muted);margin:0}
.earnings-actions {display:flex;gap:10px;flex-wrap:wrap}.earnings-actions .primary,.earnings-actions .quiet-button {font-size:var(--type-label);min-height:44px}
.earnings-outlook {padding:var(--space-6);margin:24px 0}.earnings-outlook h3 {margin:0 0 20px}.earnings-outlook .stat-grid {margin-bottom:0}.earnings-outlook p {font-size:var(--type-label);color:var(--muted)}
.earnings-status {font-size:var(--type-secondary);color:var(--muted);line-height:1.8;margin:20px 0}.earnings-status.has-error {font-size:var(--type-body);padding:20px;border:1px solid #6c3949;border-radius:10px;background:#2a1b29;color:#edb9c4}
.earnings-summary {background:none;border:0;border-radius:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6);margin:0 0 24px}.earnings-summary>div {padding:18px 0;background:none;border:0;border-bottom:1px solid var(--border);border-radius:0}
.earnings-summary span {font-size:var(--type-label);color:var(--muted)}.earnings-summary strong {font:550 1.75rem var(--sans);display:block;margin:8px 0}.earnings-summary small {font-size:var(--type-caption);color:var(--muted)}
.earnings-grid {margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6)}.earnings-card {background:var(--panel);border:1px solid var(--border);border-top:2px solid var(--muted);padding:var(--space-6);border-radius:var(--radius-card);min-width:0;box-shadow:var(--shadow-card)}
.earnings-card.positive {border-top-color:var(--mint)}.earnings-card.negative {border-top-color:var(--red)}
.earnings-card-heading {display:block;padding:0;border:0}.earnings-card-heading h3 {font:600 1.25rem var(--sans);margin:6px 0;color:var(--text)}.earnings-quarter {font-size:var(--type-label);color:var(--muted)}.earnings-timing {font-size:var(--type-caption);color:var(--muted)}
.earnings-reaction {margin:24px 0 0;padding:0}.earnings-reaction strong {font:550 2.5rem var(--sans);letter-spacing:-.04em}.earnings-reaction>span {font-size:var(--type-label);color:var(--muted);display:block;margin-top:5px}.earnings-session {font-size:var(--type-caption);color:var(--muted);margin:8px 0 16px}
.earnings-chart {height:auto;max-height:none;margin:0;aspect-ratio:320/170}.earnings-chart svg {height:auto;width:100%;display:block;stroke:none}.earnings-chart p {font-size:var(--type-label);color:var(--muted);padding:20px 0;line-height:1.7}
.earnings-metrics {padding:0;display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:0 0 20px}.earnings-metrics>div {padding:0;background:none;border:0}.earnings-metrics span {min-height:0;font-size:var(--type-caption);color:var(--muted)}.earnings-metrics strong {font:550 1.375rem var(--sans);color:var(--text)}.earnings-metrics small {font-size:var(--type-secondary);color:var(--muted)}.earnings-metrics b {font-size:var(--type-label);line-height:1.6}
.earnings-observation {font-size:var(--type-label);line-height:1.8;color:var(--muted);background:none;border:0;padding:0;margin:20px 0}
.earnings-price-check {font:.8125rem/1.6 var(--sans);color:var(--muted);border:0;margin:0}.earnings-price-check>div {padding:10px 0;gap:20px}.earnings-price-check dd {color:var(--text);font-family:var(--mono)}
.earnings-card details {margin-top:20px}.earnings-card details p {font-size:var(--type-label)}.earnings-takeaway {padding:20px 24px;border-left:2px solid var(--mint);background:var(--panel);margin:24px 0;border-radius:0}.earnings-takeaway>span {font-size:var(--type-caption);color:var(--mint);letter-spacing:.05em}.earnings-takeaway p {font-size:var(--type-body);color:#d2e1ed;line-height:1.8;margin:8px 0 0}.earnings-method {font-size:var(--type-label);color:var(--muted);margin-top:24px}.earnings-method p {font-size:var(--type-label)}
/* Trade tools and device-local workspace */
.planner-layout {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:0;border-top:0}.plan-form,.plan-results {padding:28px;min-width:0}.plan-results {border-left:1px solid var(--border);background:#0e1825}
.plan-fields {gap:20px}.plan-field {font-size:var(--type-label);gap:8px}.plan-field .plan-unit,.plan-currency {font-size:var(--type-caption);color:var(--muted)}.plan-field input {border-radius:var(--radius-control);font:1rem var(--mono);min-height:48px;border-color:#3b4f68;background:#0b1522}.plan-field input::placeholder {font: .875rem var(--sans);color:#8a9bb0}
.plan-budget-note,.plan-fx-status,.plan-local-note,.plan-assumptions {font-size:var(--type-secondary);line-height:1.8;color:var(--muted)}.plan-check {font-size:var(--type-label);line-height:1.6;gap:9px}.plan-fee-toggle {align-items:flex-start}.plan-check input {margin-top:3px}
.plan-options {margin:20px 0}.plan-options summary {font-size:var(--type-label)}.plan-result-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.plan-result {padding:0 0 20px;background:none;border:0;border-bottom:1px solid var(--border);border-radius:0}.plan-result>span {font-size:var(--type-label);color:var(--muted)}.plan-result strong {font:550 1.625rem var(--sans);margin:10px 0;overflow-wrap:anywhere}.plan-result small {font-size:var(--type-caption);color:var(--muted);line-height:1.7}
.plan-position {font-size:var(--type-body);line-height:1.8}.plan-track-labels {font-size:var(--type-secondary)}.plan-track-labels b {font-size:var(--type-label)}.plan-fee-details {font-size:var(--type-label);margin:0}.plan-fee-details>div {padding:12px 0;gap:12px;flex-wrap:wrap}.plan-fee-details dd {font-size:var(--type-label);color:var(--text)}.plan-validation {font-size:var(--type-label);line-height:1.7}.plan-shortcuts {gap:10px}.plan-shortcuts .quiet-button {font-size:var(--type-label)}
#planner-costs .disclosure-content {padding:8px 20px}#planner-costs summary {min-height:68px;font-size:var(--type-label)}
.tools-grid {display:grid;grid-template-columns:1fr 1fr;gap:28px}.tools-grid>.panel {padding:0;border:0;box-shadow:none;background:none;border-radius:0}.tools-grid>.panel>.panel-title {padding:0 0 16px;border:0;min-height:48px}.tools-grid>.panel>p,.tools-grid>.panel>form,.tools-grid>.panel>div:not(.panel-title) {margin:16px 0;font-size:var(--type-label)}
.tool-fields {display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}.tool-fields label {display:flex;flex-direction:column;gap:8px;flex:1 1 180px;min-width:0;color:var(--muted);font-size:var(--type-label)}.tool-fields input,.tool-fields select {font-size:var(--type-body);width:100%;min-height:46px}
#sizing-result {line-height:1.8}.global-pane {padding-top:30px}.global-pane>.research-heading .eyebrow {display:none}.global-pane .research-heading {margin-bottom:26px}
.market-grid {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.market-card {padding:20px}.market-card>span {font-size:var(--type-label);color:var(--muted)}.market-card strong {font:550 1.625rem var(--sans);display:block;margin:10px 0;overflow-wrap:anywhere}.market-card small {font:.875rem var(--mono)}.market-card p {font-size:var(--type-caption);color:var(--muted);line-height:1.7}
.market-regime {padding:var(--space-6);margin:24px 0}.market-regime h3 {margin:0 0 12px}.market-regime p {font-size:var(--type-label);color:var(--muted);line-height:1.8}
.setup-filters {display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap;margin:24px 0}.setup-filters label {display:flex;flex-direction:column;gap:8px;font-size:var(--type-label);color:var(--muted)}.setup-filters select {font-size:var(--type-label)}.watch-actions {display:flex;gap:6px}.watch-actions button {min-width:44px}
/* Trust, utility and offline routes share the same system. */
footer {border-top:1px solid var(--border);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;padding:28px 0;margin-top:40px;font:.75rem/1.6 var(--sans);color:var(--muted)}
.footer-brand {font:650 .875rem var(--sans);color:#d4deec;letter-spacing:0}.footer-brand>span {font: .75rem var(--sans);color:var(--muted);display:block;margin:4px 0 0}.legal-links {display:flex;flex-wrap:wrap;gap:10px 20px;font-size:var(--type-secondary)}.legal-links a {min-height:36px;display:flex;align-items:center}.legal-links a:hover {color:var(--text)}
footer .text-button {font-size:var(--type-secondary)}#retrieved {font-size:var(--type-caption)}
dialog {max-width:760px;width:calc(100% - 32px);max-height:calc(100dvh - 40px);padding:32px;border:1px solid #3a4b63;border-radius:var(--radius-dialog);background:var(--surface-raised);box-shadow:var(--shadow-overlay);color:var(--text);overscroll-behavior:contain}
dialog::backdrop {background:#020815b8}dialog h2 {font-size:1.625rem}dialog h3 {font-size:var(--type-subheading);margin-top:28px}dialog p {font-size:var(--type-body);color:var(--muted);line-height:1.8}.dialog-heading {display:flex;align-items:center;justify-content:space-between;gap:18px}.method-links {display:flex;flex-wrap:wrap;gap:16px;font-size:var(--type-label);color:var(--cyan);margin-top:24px}.method-links a {text-decoration:underline;text-underline-offset:4px}
#chart-dialog {padding:0;width:100vw;height:100dvh;max-width:none;max-height:none;border:0;border-radius:0;background:var(--bg)}
#chart-dialog .chart-panel {height:100%;width:100%;border-radius:0;overflow:auto}#chart-dialog .chart-wrap {min-height:280px;flex:1 0 280px;margin:0}#chart-dialog .chart-caption {flex-shrink:0}
#share-dialog {max-width:580px}#share-dialog h2 {margin-top:16px}
.toast {font: .875rem/1.6 var(--sans);background:#21364b;border:1px solid #425b76;border-radius:10px;color:var(--text);max-width:calc(100% - 32px);box-shadow:0 8px 25px #0004;padding:14px 20px}
/* Responsive layout is structural; text stays readable at every viewport. */
@media(min-width:1500px) {.workspace {grid-template-columns:minmax(0,1fr) 340px}.chart-wrap {height:570px}.overview-hero {grid-template-columns:minmax(0,1.6fr) minmax(330px,1fr)}}
@media(max-width:1200px) {
 .topbar {gap:20px}.header-link {padding:8px}.top-actions .header-link .ap-icon {display:none}
 .quote-header {grid-template-columns:minmax(200px,1fr) minmax(240px,1.2fr) auto;gap:var(--space-6)}.feed-controls {grid-column:2;grid-row:2;flex-direction:row;align-items:center;gap:16px}.score-header {grid-column:3;grid-row:1/3}.quote-header {padding:var(--space-6) 0}.quote-block {grid-column:2;grid-row:1}.stock-id {grid-row:1/3}
 .workspace-nav {gap:16px}.workspace-nav .ap-icon {display:none}.stock-navigation {gap:8px}
 .overview-hero {grid-template-columns:minmax(0,1.25fr) minmax(270px,1fr)}.outlook-panel {padding:28px}.context-panel {padding:28px 24px}.analysis-basis {display:none}
 .workspace {grid-template-columns:minmax(0,1fr) 285px}.chart-panel .panel-title {gap:12px}.chart-panel .panel-title>div {flex-wrap:wrap}.chart-toolbar {gap:10px}.chart-actions .quiet-button {padding:9px 10px}
 .stat-grid {grid-template-columns:repeat(2,minmax(0,1fr))}.market-grid {grid-template-columns:repeat(3,minmax(0,1fr))}.scenarios,.pattern-grid,.timeframe-grid {grid-template-columns:repeat(2,minmax(0,1fr))}.scenarios>.scenario:last-child {grid-column:1/-1}
 .plan-result-grid {grid-template-columns:1fr 1fr}.plan-ratio {grid-column:1/-1}.indicators {grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6) 0}.indicator {border-right:1px solid var(--border)}.indicator:first-child {padding-left:20px}
}
@media(max-width:960px) {
 .topbar {flex-wrap:wrap;height:auto;min-height:136px;padding:16px 24px;gap:16px}.brand {margin-right:auto}#header-search {order:3;width:100%;max-width:none;flex-basis:100%;margin:0}.search {min-height:48px}.top-actions {margin:0}
 main {padding:0 24px}.intro {padding-top:18px}.quote-header {grid-template-columns:1fr auto;gap:20px}.stock-id {grid-column:1;grid-row:1}.score-header {grid-column:2;grid-row:1/3;align-self:stretch;justify-content:center;min-width:122px}.quote-block {grid-column:1;grid-row:2}.feed-controls {grid-column:1/-1;grid-row:3;flex-direction:row;gap:18px}.data-ribbon {gap:8px 18px}.auto-select {margin-left:0}
 .overview-hero {grid-template-columns:1fr}.context-panel {border-left:0;border-top:1px solid var(--border);padding:var(--space-6) 28px}.research-brief>p:first-child {margin:16px 0}.brief-facts {grid-template-columns:1fr 1fr}.overview-details {margin-top:20px}
 .workspace {grid-template-columns:1fr}.levels-panel #support-levels,.levels-panel #resistance-levels {display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.levels-panel .level {padding:18px}.levels-panel .manual-level {padding:20px 24px}.manual-level form {max-width:420px}.manual-level #custom-levels {max-width:600px}
 .chart-wrap {height:460px}.score-categories {column-gap:var(--space-6)}.profile-layout {grid-template-columns:1fr;gap:28px}.profile-metrics .metric-strip {grid-template-columns:repeat(2,minmax(0,1fr))}.planner-layout,.tools-grid {grid-template-columns:1fr}.plan-results {border-left:0;border-top:1px solid var(--border)}.plan-result-grid {grid-template-columns:repeat(3,minmax(0,1fr))}.plan-ratio {grid-column:auto}.tools-grid>.panel+.panel {border-top:1px solid var(--border);padding-top:24px}
 .earnings-panel {padding:0}.technical-brief #chart-outlook {grid-template-columns:1fr}.technical-brief .outlook-signals {grid-column:1;grid-row:3;margin-top:16px}.technical-brief .data-note {grid-row:4}.technical-brief {padding:var(--space-6)}
 html {scroll-padding-top:160px}.quote-header {scroll-margin-top:155px}
}
@media(max-width:700px) {
 .topbar {padding:14px 18px;gap:13px;min-height:130px}.brand {font-size:var(--type-body)}.brand img {width:32px;height:32px}.top-actions [data-global] {display:none}.top-actions .icon-button {border:0;background:transparent}.brand small {font-size:var(--type-caption)}
 main {padding:0 18px}.intro {padding-top:18px}.workspace-note {display:none}.watchlist {gap:8px;min-height:65px}.watchlist>span {display:none}.watchlist .text-button {padding-inline:5px}.watchlist .text-button .ap-icon {display:none}.watchlist .chip {min-height:44px}
 .quote-header {gap:22px 16px;padding:var(--space-6) 0}.ticker-monogram {width:52px;height:52px;font-size:var(--type-secondary)}.stock-id {gap:12px}.stock-title {gap:6px}.stock-title h2 {font-size:1.75rem}.stock-title .badge {font-size:var(--type-caption);max-width:130px;overflow-wrap:anywhere}.stock-id p {font-size:var(--type-label);line-height:1.5;max-width:none}.stock-title {flex-direction:column;align-items:flex-start}.score-header {min-width:95px;padding-left:16px;grid-row:1;align-self:center}.score-header strong {font-size:1.75rem}.score-header>span:last-child {font-size:var(--type-secondary)}.quote-block {grid-column:1/-1;grid-row:2}.price-line strong {font-size:var(--type-display)}.price-line>span {font-size:var(--type-label)}.quote-block p {max-width:none;font-size:var(--type-caption)}.feed-controls {grid-row:3;justify-content:space-between}.session-label {font-size:var(--type-label)}
 .data-ribbon {font-size:var(--type-caption);padding:12px 0 6px;row-gap:6px}.data-ribbon>span:nth-child(2) {width:100%;font-size:var(--type-caption)}.auto-select {flex-wrap:wrap}.auto-select select {font-size:var(--type-caption)}
 .stock-navigation {gap:0;margin-inline:-18px;padding-inline:18px}.workspace-nav {gap:22px;scrollbar-width:none}.workspace-nav>button {min-height:56px;font-size:var(--type-label)}.stock-navigation>.quiet-button {padding:10px 8px;min-width:44px;margin-left:12px}.stock-navigation>.quiet-button>span:last-child {display:none}
 .view-controls {margin:16px 0;justify-content:space-between}.depth-switch {padding:3px}.depth-switch button {font-size:var(--type-label);min-height:40px;padding:7px 12px}.view-label {font-size:var(--type-caption)}
 .outlook-panel {padding:var(--space-6) 20px}.outlook-title {font-size:1.875rem}.outlook-reason {font-size:var(--type-body);margin:16px 0 20px}.outlook-signals {gap:14px}.outlook-signals dd {font-size:var(--type-body)}.outlook-signals dt {font-size:var(--type-secondary)}.outlook-levels {gap:20px;justify-content:space-between}.outlook-levels b {font-size:var(--type-subheading)}.outlook-actions {gap:12px;flex-direction:column}.outlook-actions .primary {width:100%;min-height:48px}.outlook-actions .context-explanation {width:100%}.outlook-actions .context-explanation summary {min-height:36px}.context-panel {padding:22px 20px}.context-panel .panel-title {gap:10px}.research-brief>p:first-child {font-size:var(--type-body)}.brief-facts {gap:22px 16px}.brief-fact b {font-size:1.125rem}
 .disclosure>summary {padding:18px 20px;min-height:78px;font-size:var(--type-body)}.disclosure-content {padding:20px}.disclosure>summary small {font-size:var(--type-secondary)}.metric-strip {grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.metric-cell strong {font-size:1.125rem}.metric-cell>span {font-size:var(--type-label)}.score-categories {grid-template-columns:1fr;gap:16px}.score-row {grid-template-columns:110px 1fr 30px;gap:10px}.score-hero {gap:20px;align-items:flex-start}.score-ring {width:88px;height:88px}.score-hero p {font-size:var(--type-label)}#score-method-table {columns:1}.profile-facts {gap:20px}.profile-layout p {font-size:var(--type-body)}
 .technical-brief {padding:20px}.chart-panel .panel-title {padding:18px;gap:14px;align-items:flex-start}.chart-panel .panel-title h3 {font-size:var(--type-body)}.chart-actions {width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}.chart-actions .quiet-button {font-size:var(--type-label);min-height:44px}.chart-toolbar {padding:14px;gap:16px}.ranges {width:100%;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:1px}.ranges button {min-width:0;min-height:42px;padding:7px 2px;font-size:var(--type-secondary)}.interval-control {width:100%;justify-content:space-between}.interval-control label,.interval-control select {font-size:var(--type-label)}.chart-tools {padding:0 14px 14px;gap:8px}.chart-tools>span {width:100%;flex-basis:100%;font-size:var(--type-caption)}.chart-tools .quiet-button {font-size:var(--type-label)}.chart-indicator-menu>summary {font-size:var(--type-label);min-height:48px;padding:14px}.chart-legend {padding:14px;gap:4px 14px;font-size:var(--type-label)}.chart-legend label {min-height:40px}.advanced-controls {padding:0 14px;display:block}.advanced-controls>div {display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0}.advanced-controls label {font-size:var(--type-secondary)}.advanced-controls select {font-size:var(--type-label);width:100%;max-width:none;min-width:0}#drawing-help {margin:14px;font-size:var(--type-secondary)}
 .chart-wrap {height:380px}.chart-caption {font-size:var(--type-caption);padding:12px 14px;gap:3px;flex-direction:column}.takeaway {padding:16px 18px}.takeaway-icon {display:none}.takeaway p {font-size:var(--type-label)}.chart-tooltip {font-size:var(--type-caption);max-width:calc(100% - 16px)}
 .levels-panel #support-levels,.levels-panel #resistance-levels {grid-template-columns:1fr}.level {padding:18px 20px}.level-body {flex-direction:row!important;align-items:center;flex-wrap:wrap;gap:8px}.level-body strong {font-size:var(--type-subheading)}.level-top {font-size:var(--type-caption)}.level details summary {min-height:38px}.levels-panel {display:block}.levels-panel #resistance-levels {border-left:0}.levels-panel .panel-title {padding:20px;height:auto}.manual-level {padding:20px}.manual-title {font-size:var(--type-caption)}.manual-level input {font-size:var(--type-body)}
 .scenarios,.pattern-grid,.timeframe-grid {grid-template-columns:1fr}.scenarios>.scenario:last-child {grid-column:auto}.scenario {padding:20px}.scenario .case-title {font-size:var(--type-label)}.scenario h4 {font-size:1.1875rem}.scenario p {font-size:var(--type-body)}.scenario .case-note {font-size:var(--type-caption)}.scenario-research p {font-size:var(--type-label)}.section-heading {flex-direction:column;gap:8px}.pattern-card {padding:20px}.timeframe-card {padding:20px}.timeframe-card h4 {font-size:var(--type-subheading)}.timeframe-values {font-size:var(--type-label)}.timeframe-structure {font-size:var(--type-body)}.timeframe-meta {font-size:var(--type-caption)}.indicators {grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 0}.indicator {padding:4px 14px!important}.indicator>strong {font-size:1.375rem}.indicator:last-child {grid-column:1/-1;min-height:0;display:block}.indicator>span,.indicator small,.indicator p {font-size:var(--type-caption)}
 .research-heading h2,.earnings-heading h2 {font-size:1.375rem}.research-heading {margin:10px 0 22px}.financial-charts,.analyst-grid,.news-grid {grid-template-columns:1fr}.stat-grid {gap:16px}.stat-card {padding:12px 0}.stat-card strong {font-size:1.375rem}.stat-card>span {font-size:var(--type-label)}.stat-card small {font-size:var(--type-caption)}.data-table th,.data-table td {padding:12px 14px}.data-table td {font-size:var(--type-label)}.data-table thead th {font-size:var(--type-caption)}.analyst-grid>.panel {padding:20px}.news-card,.news-brief {padding:20px}.news-card h3 {font-size:1.125rem}.news-card footer {font-size:var(--type-caption)}.news-brief p {font-size:var(--type-body)}
 .earnings-grid {grid-template-columns:1fr}.earnings-summary {grid-template-columns:1fr 1fr;gap:20px}.earnings-summary>div:first-child {grid-column:1/-1}.earnings-summary strong {font-size:1.625rem}.earnings-summary span {font-size:var(--type-label)}.earnings-summary small {font-size:var(--type-caption)}.earnings-card {padding:20px}.earnings-reaction strong {font-size:var(--type-display)}.earnings-outlook {padding:20px}.earnings-heading {gap:16px}.earnings-actions {display:grid;grid-template-columns:1fr 1fr;width:100%;gap:8px}.earnings-actions .primary,.earnings-actions .quiet-button {font-size:var(--type-label);padding:10px}.earnings-metrics {gap:16px}
 .plan-form,.plan-results {padding:20px}.plan-fields {gap:18px 14px}.plan-field {font-size:var(--type-label)}.plan-field input {font-size:var(--type-body);padding:12px 10px}.plan-field input::placeholder {font-size:var(--type-label)}.plan-result-grid {grid-template-columns:1fr 1fr;gap:20px}.plan-ratio {grid-column:1/-1}.plan-result strong {font-size:1.625rem}.plan-result>span {font-size:var(--type-label)}.plan-result small {font-size:var(--type-caption)}.plan-check {font-size:var(--type-label)}.plan-track-labels {font-size:var(--type-caption)}.plan-track-labels b {font-size:var(--type-secondary)}.plan-fee-details {font-size:var(--type-label)}.tool-fields label {flex-basis:140px;font-size:var(--type-label)}.tool-fields input {font-size:var(--type-body)}.tools-grid {gap:var(--space-6)}
 .market-grid {grid-template-columns:1fr 1fr;gap:14px}.market-card {padding:18px}.market-card strong {font-size:1.375rem}.market-card p {font-size:var(--type-caption)}.market-card:last-child {grid-column:1/-1}.setup-filters {gap:14px}.setup-filters label {width:100%}.setup-filters .quiet-button {flex:1}.market-regime {padding:20px}
 .mobile-nav {position:fixed;bottom:0;left:0;right:0;z-index:35;height:calc(70px + env(safe-area-inset-bottom));padding:4px 8px env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:#101b29;border-top:1px solid #354459}
 .mobile-nav button {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:54px;color:var(--muted);font-size:var(--type-caption);padding:4px 1px;border-radius:var(--radius-control)}.mobile-nav .ap-icon {width:21px;height:21px}.mobile-nav button>span {font-size:var(--type-caption);line-height:1.3}.mobile-nav button[aria-current=page] {background:#1a302e;color:var(--mint)}
 body {padding-bottom:calc(86px + env(safe-area-inset-bottom))}.toast {bottom:90px;font-size:var(--type-label)}.legal-links {font-size:var(--type-secondary);gap:6px 18px}footer {margin-top:28px;padding:var(--space-6) 0;align-items:flex-start;gap:18px}.footer-brand {font-size:var(--type-label)}.footer-brand>span {display:block;font-size:var(--type-caption)}.footer-brand+div {display:flex;gap:10px;flex-wrap:wrap;align-items:center}footer .text-button {font-size:var(--type-secondary)}
 .loading {min-height:460px}.skeleton-grid {grid-template-columns:1fr 1fr;gap:14px}.skeleton-chart {height:250px}.skeleton-quote {height:130px}dialog {padding:var(--space-6);width:calc(100% - 24px)}dialog h2 {font-size:var(--type-heading)}dialog p {font-size:var(--type-body)}
}
@media(max-width:380px) {
 .topbar {padding-inline:14px}main {padding-inline:14px}.stock-navigation {margin-inline:-14px;padding-inline:14px}.view-label {max-width:65px;line-height:1.5}.depth-switch button {padding-inline:10px}.stock-title h2 {font-size:var(--type-heading)}.ticker-monogram {width:44px;height:44px;font-size:var(--type-caption)}.stock-id {gap:10px}.score-header {min-width:85px;padding-left:12px}.price-line strong {font-size:2.25rem}.plan-fields {grid-template-columns:1fr}.brief-facts {grid-template-columns:1fr}.outlook-signals {gap:10px}.outlook-signals dd {font-size:var(--type-label)}
}
@media(prefers-reduced-motion:reduce) {html {scroll-behavior:auto}*,*::before,*::after {animation:none!important;transition:none!important}}
/* Device-specific watchlist presentation reuses the same saved records. */
.business-snapshot {grid-template-columns:repeat(3,minmax(0,1fr))}
#valuation-panel>.disclosure {margin-bottom:0}
#valuation-panel .disclosure .metric-strip {margin-top:24px}
.watch-mobile-list {display:none}
#earnings-extra .earnings-summary {margin:0}
@media(max-width:700px) {
 .business-snapshot {grid-template-columns:1fr;gap:8px}
 #watch-table>.data-table-wrap {display:none}
 .watch-mobile-list {display:grid;gap:16px}
 .watch-mobile-item {padding:20px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);min-width:0}
 .watch-mobile-heading {display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
 .watch-mobile-heading>button {display:flex;flex:1;min-width:0;flex-direction:column;align-items:flex-start;text-align:left;min-height:48px;padding:0}
 .watch-mobile-heading b {font:600 1.0625rem var(--mono);color:var(--text)}
 .watch-mobile-heading>button>span {font-size:var(--type-secondary);color:var(--muted);line-height:1.6;margin-top:5px}
 .watch-mobile-heading>div {display:flex;flex-direction:column;align-items:flex-end;gap:5px;font-size:var(--type-label);max-width:50%;overflow-wrap:anywhere}
 .watch-mobile-heading strong {font:500 1.0625rem var(--mono)}
 .watch-mobile-score {display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--border);margin-top:16px;padding:14px 0 0;font-size:var(--type-label);color:var(--muted);text-transform:capitalize}
 .watch-mobile-score b {color:var(--text);font-weight:500}
 .watch-mobile-item details {margin-top:10px}.watch-mobile-item summary {min-height:44px;font-size:var(--type-label)}.watch-mobile-item details p {font-size:var(--type-label)}
}
