/* Shared research workspace. Color tokens cover both themes. */
:root{--bg:#f5f6f8;--surface:#fff;--raised:#f7f8fa;--ink:#222d3c;--muted:#74808e;--line:#e1e5ea;--blue:#42658b;--tint:#f0f4f9;--green:#39745f;--amber:#996e47;--input:#fcfdff;color:var(--ink);background:var(--bg);color-scheme:light}
:root[data-theme=dark]{--bg:#141619;--surface:#1c1f23;--raised:#22262b;--ink:#e0e4e9;--muted:#9ba4b0;--line:#32373e;--blue:#9ab8d9;--tint:#232d38;--green:#8abea6;--amber:#d1aa81;--input:#272b30;color-scheme:dark}
body{padding-left:210px;background:var(--bg);color:var(--ink);font-size:14px}header{position:fixed;inset:0 auto 0 0;width:210px;padding:32px 23px;background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:24px;z-index:10;color:var(--ink)}.brand{gap:10px}.mark{background:var(--ink);color:var(--surface);border:0;width:35px;height:35px;border-radius:4px;font-size:13px;flex-shrink:0}.brand-name{font-size:20px;letter-spacing:-.6px}.brand-sub{font-size:9px;letter-spacing:2px;color:var(--muted);margin-top:6px}.site-nav{position:fixed;left:16px;top:126px;width:178px;background:transparent;display:flex;flex-direction:column;gap:5px;border:0;padding:0;z-index:11}.site-nav a{padding:12px 13px;border:0;border-radius:4px;color:var(--muted);font-size:13px;font-weight:500;white-space:nowrap}.site-nav a[aria-current]{background:var(--tint);color:var(--blue);border:0}.site-nav a:hover{background:var(--raised);color:var(--ink)}.site-nav span{margin:26px 12px;color:var(--muted);font-size:10px;line-height:2;letter-spacing:.6px}.language-switch{margin: auto 0 0;border:1px solid var(--line);border-radius:4px;padding:3px;justify-content:center}.language-switch button{color:var(--muted);font-size:12px;min-height:30px;padding:5px 10px}.language-switch button[aria-pressed=true]{background:var(--tint);color:var(--blue)}.language-switch button:hover{background:var(--raised);color:var(--ink)}.theme-toggle{border:1px solid var(--line);background:var(--surface);color:var(--muted);padding:10px;border-radius:4px;font-size:12px}.sync-message{background:var(--surface);color:var(--muted);border-bottom:1px solid var(--line);padding:10px 34px;font-size:11px}main,main.wide,main:not(.wide){max-width:1450px;padding:30px 34px 0;margin:0 auto}h1{font-size:29px;font-weight:600;letter-spacing:-.8px;margin:5px 0}h1 span{display:none}h2{font-size:17px;font-weight:600;color:var(--ink)}.eyebrow{font-size:10px;letter-spacing:1.6px;color:var(--muted)}p,.small,.notes,.eps-notes,label,.financial-grid label,.capital label,.company-name span,#eps-status,#analyzer-status{color:var(--muted)}.title-row{margin-bottom:22px}.title-row p{font-size:13px}.panel,.company,.import-panel,.result-card{background:var(--surface);border:1px solid var(--line);border-radius:5px;box-shadow:none}.import-panel{padding:16px 20px;display:flex;align-items:center;gap:25px;margin-bottom:18px}.import-panel label{font-size:11px}.import-panel form{flex:1}.ticker-controls{gap:8px}.ticker-controls input{background:var(--input);border-color:var(--line);min-height:38px;max-width:210px}.import-panel .small{font-size:11px}.primary,.outline,input,select{border-radius:4px;min-height:36px;font-size:13px}.primary{background:#3d5e7f;border:1px solid #3d5e7f;color:white;padding:9px 15px}.primary:hover{background:#314f6e}.outline{color:var(--ink);background:var(--surface);border-color:var(--line)}input,select,.eps-fields input,.input-unit input{background:var(--input);border:1px solid var(--line);color:var(--blue)}input:focus,select:focus{outline:2px solid var(--blue)}.notice{background:var(--raised);border-color:var(--line);color:var(--muted);font-size:11px;padding:10px 15px;border-radius:4px}.notice b{color:var(--blue)}.company{padding:20px 0;margin:0 0 12px;border:0;background:transparent}.avatar{background:var(--surface);color:var(--blue);border:1px solid var(--line);border-radius:4px;font-size:14px;width:46px;height:46px}.company-controls label{font-size:11px}.company-controls{gap:12px}.company-name span{font-size:12px}.company-name h2 span{font-size:21px;color:var(--ink)}.panel-heading{padding:20px 23px;margin:0;border-bottom:1px solid var(--line)}.panel-heading h2{margin:4px 0}.panel-heading .small{font-size:11px}.page-analyzer .workspace{display:block}.page-analyzer .results{border:1px solid var(--line);border-radius:5px;background:var(--surface);margin-bottom:25px}.page-analyzer .results>.panel-heading{padding:18px 23px;border:0}.page-analyzer #cards,#eps-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.page-analyzer .result-card,#eps-results .result-card{border:0;border-right:1px solid var(--line);border-radius:0;margin:0;padding:14px 24px 25px;background:transparent}.page-analyzer .result-card:last-child,#eps-results .result-card:last-child{border-right:0}.featured,.featured .result-top,.featured .result-meta,.featured .result-meta b{background:var(--tint);color:var(--ink);box-shadow:none;border-color:var(--line)}.page-analyzer .result-card.featured,#eps-results .result-card.featured{background:var(--tint)}.result-top{font-size:10px;color:var(--muted);letter-spacing:1px}.result-top span:nth-child(2){display:none}.result-top span:first-child,.featured .result-top span:first-child{color:var(--blue)}.result-card:first-child .result-top span:first-child{color:var(--amber)}.result-card:last-child .result-top span:first-child{color:var(--green)}.result-price,.featured .result-price{font-size:clamp(27px,3vw,42px);color:var(--ink);letter-spacing:-1.3px}.result-price small{font-size:11px}.result-meta{border-color:var(--line);font-size:10px;color:var(--muted);gap:12px}.result-meta b{color:var(--ink);font-size:12px}.result-price small,.upside span,.featured .result-price small,.featured .upside span{color:var(--muted)}.positive,.featured .positive{color:var(--green)}.negative{color:var(--amber)}.upside{font-size:13px}.upside span{font-size:10px}.range-panel{padding:12px 23px;border-top:1px solid var(--line)}.range-panel>summary{font-size:11px;color:var(--muted)}.range-panel>.eyebrow{display:none}table{font-size:13px}th,td{border-color:var(--line)}thead th{background:var(--raised);color:var(--muted);font-size:11px}.inputs th:first-child{width:36%;min-width:210px}.inputs thead th:not(:first-child){width:16%;font-size:12px}.inputs .latest{text-align:right;color:var(--muted);font-size:12px}.inputs td{padding:8px 16px}.inputs td:nth-child(4),.inputs thead th:nth-child(4){background:var(--tint)}.inputs input{min-width:60px;font-weight:500}.inputs th{font-size:13px}.driver-group th{padding:20px 24px 10px!important;text-transform:uppercase;font-size:10px!important;letter-spacing:1.4px;color:var(--muted);border-bottom:0!important}.base{color:var(--blue)}.bear{color:var(--amber)}.bull{color:var(--green)}details{border-color:var(--line)}summary{font-size:13px}.bottom{margin-top:18px}.forecast-detail{padding:0}.forecast-detail>summary{padding:19px 23px}.forecast-detail .bottom{margin:0;border:0;border-top:1px solid var(--line);border-radius:0}.financial-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.total{background:var(--tint);color:var(--blue)}#sensitivity td.above{background:var(--tint);color:var(--green)}#sensitivity td.below{background:var(--raised);color:var(--amber)}#sensitivity td.selected{box-shadow:inset 0 0 0 2px var(--blue)}.track{background:var(--line)}.bar-1{background:var(--blue)}.bar-2{background:var(--green)}.bar-0{background:var(--amber)}.page-eps #eps-results{background:var(--surface);border:1px solid var(--line);border-radius:5px}.eps-layout{display:block;margin-top:24px}.eps-fields{grid-template-columns:repeat(3,minmax(0,1fr));padding-top:20px}.eps-fields .full{grid-column:auto}.computed,.eps-next,.wacc-box{background:var(--tint);color:var(--blue);border-radius:4px}.computed span,.eps-source{color:var(--muted)}.page-eps .eps-result-heading{padding:18px 0}.page-eps .eps-next{max-width:440px}.page-dcf .sheet-layout{grid-template-columns:minmax(0,1fr) 280px;gap:20px}#sheet input,#sheet .editable input{background:var(--input);color:var(--blue);border-color:var(--line)}#sheet .historical{color:var(--muted)}#sheet th:first-child{background:var(--surface);color:var(--ink)}#sheet .section-row th:first-child{background:var(--raised);color:var(--muted)}#sheet .forecast-head{background:var(--tint);color:var(--blue)}#sheet .section-row td{background:var(--raised)}.sheet-scroll{scrollbar-color:var(--line) var(--surface)}.source-section a,.eps-source a{color:var(--blue)}.input-key{font-size:11px}footer{border-color:var(--line);color:var(--muted);font-size:10px;padding:23px 0;letter-spacing:0}.author-credit{color:var(--ink)}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--blue)}
@media(max-width:1100px){body{padding-left:180px}header{width:180px;padding:28px 15px}.site-nav{left:10px;width:160px}main,main.wide,main:not(.wide){padding:24px 22px 0}.company{flex-direction:column;align-items:flex-start}.company-controls{width:auto}.page-dcf .sheet-layout{grid-template-columns:minmax(0,1fr)}.financial-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.result-meta{flex-direction:column}.import-panel{align-items:flex-start;flex-direction:column;gap:10px}}
@media(max-width:700px){body{padding-left:0}header{position:static;width:auto;padding:15px 18px;min-height:0;flex-direction:row;align-items:center;gap:10px;border-right:0;border-bottom:1px solid var(--line)}.brand-name{font-size:17px}.brand-sub{font-size:8px}.mark{width:30px;height:30px}.language-switch{margin-left:auto;margin-top:0}.language-switch button{font-size:11px;padding:4px 6px}.theme-toggle{padding:8px}.theme-toggle span{display:none}.site-nav{position:static;width:auto;flex-direction:row;padding:8px 12px;background:var(--surface);flex-wrap:nowrap;overflow:auto;gap:3px}.site-nav a{padding:10px;font-size:12px}.site-nav span{display:none}.sync-message{padding:8px 18px;font-size:10px}main,main.wide,main:not(.wide){padding:22px 16px 0}h1{font-size:25px}.title-row{gap:12px}.title-row p{font-size:12px}.title-row .outline{font-size:11px}.page-analyzer #cards,#eps-results{grid-template-columns:1fr}.page-analyzer .result-card,#eps-results .result-card{border-right:0;border-bottom:1px solid var(--line);padding:18px 22px}.result-meta{flex-direction:row}.result-price,.featured .result-price{font-size:35px}.company-controls{width:100%}.company-controls label{flex:1 1 100px}.financial-grid,.eps-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.inputs{min-width:590px}.inputs th:first-child{min-width:180px}.panel-heading{padding:17px 20px}.import-panel{padding:15px}.ticker-controls{flex-wrap:wrap}.ticker-controls input{flex:1;max-width:none}.page-analyzer .results{margin-top:0}.notice{font-size:11px}.panel-heading .small{display:none}}
@media print{body{padding-left:0}header,.site-nav,.theme-toggle{display:none}}
.site-nav{align-items:stretch}.site-nav span{margin-left:12px}#analyzer-company{color:var(--ink)!important}.capital input{background:var(--input);color:var(--blue)}#sheet .subtotal,#sheet .subtotal th:first-child{background:var(--tint)}#sheet thead th,#sheet thead th:first-child{background:var(--raised)}#import-status,#source-detail{color:var(--muted)}#sheet input.overridden{background:var(--raised);border-color:var(--amber);color:var(--amber)}
/* Arial typography and read-only long-term operating references. */
:root{font-family:Arial,"Microsoft YaHei",sans-serif;font-size:18px}body{font-size:17px}button,input,select{font-family:inherit}.site-nav a{font-size:16px}.title-row p,.small,.notice,.notes,.eps-notes,label,.financial-grid label,.capital label{font-size:15px}.eyebrow{font-size:12px}h1{font-size:34px}h2{font-size:22px}input,select,.input-unit input,.eps-fields input,.capital .input-unit input{font-size:17px}.inputs{min-width:860px}.inputs th{font-size:17px}.inputs thead th:not(:first-child){width:12%;font-size:15px}.inputs th:first-child{width:28%}.inputs .latest,.inputs .historical-average{color:var(--muted);font-size:16px;text-align:right}.inputs td:nth-child(4),.inputs thead th:nth-child(4){background:transparent}.inputs td:nth-child(6),.inputs thead th:nth-child(6){background:var(--tint)}.driver-group th{font-size:13px!important}.result-top{font-size:13px}.result-meta,.result-meta b,.upside,.upside span{font-size:14px}#sheet,#sheet th:first-child,#sheet input{font-size:16px}.panel-heading .small,.import-panel label{font-size:14px}.language-switch button,.theme-toggle{font-size:15px}@media(max-width:700px){.site-nav a{font-size:15px}.title-row p{font-size:15px}.inputs{min-width:820px}}
/* Final cross-page spacing, accessibility and small-screen behavior. */
.skip-link{position:fixed;top:-80px;left:16px;z-index:100;background:var(--surface);color:var(--ink);padding:12px 18px;border:2px solid var(--blue)}.skip-link:focus{top:12px}.site-nav a{min-height:44px}.theme-toggle{min-height:42px}button:disabled{cursor:wait;opacity:.55}.table-scroll{overscroll-behavior-x:contain}.inputs td{padding:9px 12px}.inputs input{min-height:42px}.page-eps .result-top span:nth-child(2){display:inline;color:var(--muted)}.eps-fields input[readonly]{color:var(--ink);background:var(--raised)}.capital{padding-top:18px}.company-name{min-width:0}.company-name h2{overflow-wrap:anywhere}.notes,.eps-notes{max-width:100%;line-height:1.85}.page-analyzer .range-panel{margin-top:0}.page-dcf .source-section .panel-heading{margin-bottom:14px}#sheet input:focus{position:relative;z-index:2}#sheet-error:not(:empty),#eps-error:not(:empty),#error:not(:empty){background:var(--raised);color:var(--amber);border:1px solid var(--amber);border-radius:4px}.page-eps .eps-fields .full{grid-column:1/-1}.result-meta>span{min-width:0}.footnote{line-height:1.7}.sync-message{overflow-wrap:anywhere}@media(max-width:700px){.brand-name{font-size:18px}.language-switch button{min-height:36px}.company-controls label{font-size:13px}.financial-grid,.eps-fields{gap:16px}.company-name h2 span{font-size:20px}.page-eps .result-top{gap:12px}.workbar>div{flex-wrap:wrap}.result-meta{flex-wrap:wrap}.notice{align-items:flex-start}.page-analyzer .results .panel-heading{padding:18px 20px}footer{gap:8px}}
/* Company identity stays inside its frame, including long ticker symbols. */
.company-name{flex:1;min-width:0}.company-name>div:last-child{min-width:0}.company-name h2,.company-name h2 span{overflow-wrap:anywhere;white-space:normal}.company-name .avatar{flex:0 0 56px;width:56px;min-width:56px;height:56px;padding:8px;overflow:hidden;box-sizing:border-box;font-size:13px}.company-logo img,.company-logo svg{display:block;width:100%;height:100%;object-fit:contain}.company-logo{color:var(--blue);background:var(--surface)}.insight-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:24px 0}.insight-stat{padding:20px}.insight-stat>span{font-size:13px;color:var(--muted)}.insight-stat strong{display:block;font-size:27px;margin:12px 0;overflow-wrap:anywhere}.insight-stat small{font-size:12px;margin-left:7px;color:var(--muted)}.insight-stat p{font-size:12px}.insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.insight-chart{padding:20px}.insight-chart h2{font-size:16px;line-height:1.5;min-height:24px}.insight-chart svg{width:100%;height:auto;margin-top:14px}.insight-chart rect{fill:var(--blue)}.insight-chart rect.negative-bar{fill:var(--amber)}.insight-chart svg text{fill:var(--muted);font-size:11px}.insight-chart svg line{stroke:var(--line)}.insight-sources{padding:20px 24px}.insight-sources details{padding:13px 0}.insight-sources a{color:var(--blue)}.source-facts p{font-size:12px;overflow-wrap:anywhere}.chart-missing,.empty-state{padding:40px 20px;color:var(--muted);text-align:center}.page-insights .title-row label{min-width:115px}@media(max-width:1100px){.insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.insight-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.insight-grid{grid-template-columns:1fr}.insight-summary{gap:10px}.insight-stat{padding:16px}.insight-stat strong{font-size:23px}.company-name .avatar{flex-basis:48px;width:48px;min-width:48px;height:48px}.company-controls{min-width:0}}
/* Distinct metric families with consistent, non-judgmental colors. */
.insight-chart,.insight-stat{--metric:#388ce6;border-top:3px solid var(--metric)}[data-group="Valuation"]{--metric:#8972df}[data-group="Returns"]{--metric:#24a89a}[data-group="Liquidity"]{--metric:#348dcc}[data-group="Leverage"]{--metric:#d9913d}[data-group="Capital"]{--metric:#ce699f}.insight-chart rect{fill:var(--metric)}.insight-chart rect.negative-bar{fill:#d86e78}.insight-chart svg line{stroke:var(--line)}.metric-group{font-size:11px;text-transform:uppercase;letter-spacing:1.3px;color:var(--metric)}.metric-current{display:block;font-size:26px;margin:10px 0;color:var(--ink)}.metric-current small{font-size:13px;color:var(--muted)}.insight-stat strong{color:var(--metric)}.insight-chart h2{margin-top:9px}.metric-method{padding:12px 0 0;margin-top:8px}.metric-method summary{font-size:12px;color:var(--muted)}.metric-method p{font-size:12px;line-height:1.65}.market-connection{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:15px;padding:12px 16px;background:var(--surface);border:1px solid var(--line);border-radius:5px;font-size:13px;color:var(--muted)}[data-theme="dark"] [data-group="Valuation"]{--metric:#ac94f1}[data-theme="dark"] [data-group="Returns"]{--metric:#55c9b5}[data-theme="dark"] [data-group="Liquidity"]{--metric:#6bb6eb}[data-theme="dark"] [data-group="Leverage"]{--metric:#e7b366}[data-theme="dark"] [data-group="Capital"]{--metric:#e397be}@media(max-width:700px){.market-connection{align-items:flex-start;flex-direction:column}}
/* Category color applies only to chart bars. */
.insight-chart,.insight-stat{border-top:1px solid var(--line)}.metric-group{color:var(--muted)}.insight-stat strong{color:var(--ink)}.snapshot-section{margin:28px 0}.current-valuations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}.snapshot-section>h2,.history-heading{color:var(--ink)}.current-valuations .insight-stat{min-width:0}.current-valuations .metric-method{border-top:0;padding-top:0}.current-valuations .metric-method p{font-size:12px}@media(max-width:900px){.current-valuations{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.current-valuations{grid-template-columns:1fr}}

/* Category accents apply only to chart bars. */
[data-group="Growth"]{--metric:#8972df}[data-group="Profitability"]{--metric:#24a89a}[data-group="Cash flow"]{--metric:#348dcc}
[data-theme="dark"] [data-group="Growth"]{--metric:#ac94f1}[data-theme="dark"] [data-group="Profitability"]{--metric:#55c9b5}[data-theme="dark"] [data-group="Cash flow"]{--metric:#6bb6eb}

.period-controls{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:18px 0}.period-controls label{display:flex;align-items:center;gap:10px}.period-controls select{min-width:150px;padding:9px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:4px}.period-controls p{flex:1;min-width:240px}input[readonly]{color:var(--muted)!important;background:var(--surface)!important;cursor:default}
