/* Shared analytical surfaces. Landing sets its dark chart tokens in landing-gallery.css. */
:root{--ink:#172334;--paper:#f7f9fc;--line:#d9e1eb;--muted:#54647a;--blue:#315b88;--chart-base:#a64b08;--chart-compare:#2768b0;--chart-grid:#d7e0eb;--chart-label:#53647b;--focus:#9a470b}
:root{--interface-font:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
body,button,input,select,textarea{font-family:var(--interface-font)}
.ui-icon{width:22px;height:22px;stroke-width:1.7;flex:none;display:block}
.lab-cabinet .nav-icon{display:grid;place-items:center}
.lab-cabinet .mobile-tabs .ui-icon{width:23px;height:23px}
.lab-cabinet .menu-grid .ui-icon{width:23px;height:23px}
.market-canvas{display:none;width:100%;height:405px;min-width:0}
.chart-enhanced .market-canvas{display:block}
.chart-enhanced .market-svg-fallback{display:none}
.market-chart-controls{display:none}
.chart-enhanced .market-chart-controls{display:flex}
.chart-attribution{display:none}
.chart-enhanced .chart-attribution{display:block}
.queue-jump{display:flex;align-items:center;gap:16px;width:100%;border:1px solid #9eb4d0;border-radius:10px;background:#edf3fb;color:#254365;padding:16px 18px;margin-top:20px;font:inherit;font-size:14px;text-align:left}
.queue-jump strong{margin-left:auto;font-size:22px;font-weight:600;font-variant-numeric:tabular-nums}
.queue-jump>span:last-child{font-size:22px}
.queue-more{margin-top:24px}
#operation-queue-title{scroll-margin-top:100px}
@media(max-width:700px){.market-canvas{height:315px}}
.crypto-icon{display:block;width:48px;height:48px;flex:none}
.asset-icon .crypto-icon{width:38px;height:38px}
.chart-frame,.scenario-chart{display:grid;grid-template-columns:minmax(0,1fr) 84px;gap:12px;min-width:0;align-items:stretch}
.chart-frame .chart-canvas{height:260px;position:relative;min-width:0;cursor:crosshair;padding-block:12px;touch-action:pan-y}
.chart-frame .chart-canvas svg{position:absolute;inset:12px 0;width:100%;height:calc(100% - 24px);min-height:0;max-height:none;display:block;overflow:visible;color:var(--chart-base)}
.chart-axis{position:relative;color:var(--chart-label);font-size:12px;font-variant-numeric:tabular-nums;line-height:1.3;min-width:0}
.chart-axis>div{position:absolute;inset:12px 0}
.chart-axis span{position:absolute;left:0;transform:translateY(-50%);white-space:nowrap;font-size:12px;letter-spacing:-.02em}
.chart-frame .chart-grid path{fill:none;stroke:var(--chart-grid);stroke-width:1;stroke-dasharray:2 5;vector-effect:non-scaling-stroke}
.chart-frame path.chart-line,.chart-frame path.scenario-base{stroke:var(--chart-base);fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.chart-frame path.scenario-stress{stroke:var(--chart-compare);fill:none;stroke-width:2;stroke-dasharray:5 5;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.chart-frame #scenario-area{stroke:none;fill:url(#scenario-fill)}
.chart-frame path.chart-crosshair{stroke:var(--chart-label);fill:none;stroke-width:1;stroke-dasharray:3 4;vector-effect:non-scaling-stroke;opacity:.75}
.chart-frame .chart-area{stroke:none}
.chart-legend{display:flex;gap:14px 24px;flex-wrap:wrap;color:#465a72;font-size:13px;line-height:1.6;margin:18px 0}
.chart-legend>span{display:flex;align-items:center;gap:9px}
.chart-legend i{width:20px;height:2px;border-radius:0;background:var(--chart-base)}
.chart-legend>span:nth-child(2) i{background:repeating-linear-gradient(90deg,var(--chart-compare) 0 5px,transparent 5px 8px)}
.chart-xlabels{display:flex;justify-content:space-between;gap:16px;margin:8px 96px 0 0;color:var(--chart-label);font-size:12px;line-height:1.6;font-variant-numeric:tabular-nums}
.chart-xlabels>span{max-width:48%}
.chart-xlabels>span:last-child{text-align:right}
.chart-inspector{display:grid;grid-template-columns:.6fr 1fr 1fr;gap:20px;padding:18px 0;border-block:1px solid #d7e0eb;margin-bottom:16px}
.chart-inspector>div{min-width:0}
.chart-inspector span{display:block;font-size:12px;color:#53647b;line-height:1.5}
.chart-inspector strong{font-variant-numeric:tabular-nums;font-size:22px;font-weight:550;letter-spacing:-.025em;display:block;margin-top:5px;overflow-wrap:anywhere}
.chart-probe{display:grid;grid-template-columns:minmax(150px,.4fr) minmax(0,1fr);align-items:center;gap:20px;border-top:1px solid #d7e0eb;margin-top:20px;padding:12px 0;min-width:0}
.chart-probe label{font-size:12px;color:var(--chart-label);line-height:1.6}
.chart-probe input[type=range]{width:100%;min-width:0;min-height:44px;border:0;padding:0;accent-color:var(--chart-compare);background:transparent;cursor:pointer}
.chart-values{border-top:1px solid #d7e0eb;padding-top:12px;font-size:13px;color:#435b76}
.chart-values summary{min-height:44px;display:list-item;line-height:1.7;padding-block:10px;cursor:pointer}
.chart-method{font-size:13px;color:#53647b;line-height:1.8;margin-top:16px}
.income-chart-caption{display:flex;justify-content:space-between;gap:14px;align-items:baseline;color:var(--chart-label);font-size:12px;line-height:1.5;margin:22px 0 14px}
.income-chart-caption>span:first-child{display:flex;gap:8px;align-items:center}
.income-chart-caption i{display:block;width:14px;height:2px;background:var(--chart-base);flex:none}
.income-chart-caption>span:last-child{white-space:nowrap;font-size:10px;letter-spacing:.05em}
.terminal-income .chart-canvas{cursor:default;height:225px}
.product-window .terminal-income .chart-canvas{height:195px}
.product-window .terminal-income .chart-axis span{font-size:11px}
.calculator-result{background:radial-gradient(ellipse at 95% 0,#36577770,transparent 65%),#1c2a3d;color:#f3f7fd}
.calculator-result>.eyebrow{color:#bbcde3}
.calculator-result h2{color:#dae6f5}
.calculator-result>span:not(.eyebrow){color:#b8cbe2}
.calculator-result .result-line{border-bottom-color:#53677f}
.calculator-result .result-line strong{color:#dceafa}
.calculator-result>p,.calculator-result .scenario-comparison>p{color:#c0d0e4}
.calculator-result .scenario-comparison{border-color:#5f7a96;background:#162536}
.calculator-result .scenario-comparison>span{color:#c0d0e4}
.calculator-result .scenario-comparison strong{color:#f1f6fd}
.lab-form input[type=range]{accent-color:#315b88}
.lab-form output{color:#315b88}
.lab-cabinet{background:#f1f5fa;color:#172334}
.lab-cabinet .sidebar{background:#fff;border-right-color:#d3deeb}
.lab-cabinet .sidebar,.lab-cabinet .sidebar .brand{color:#172334}
.lab-cabinet .sidebar-label,.lab-cabinet .back-to-site,.lab-cabinet .sidebar nav a{color:#4b607b}
.lab-cabinet .sidebar-bottom{border-color:#ccd8e8}
.lab-cabinet .sidebar-bottom .back-to-site{color:#4b607b}
.lab-cabinet .sidebar .avatar{background:#e6eef8;color:#385574}
.lab-cabinet .sidebar .demo-profile strong{color:#243e5f}
.lab-cabinet .sidebar .demo-profile div>span{color:#536881}
.lab-cabinet .sidebar nav a[aria-current=page]{border-color:#b6c9df}
.lab-cabinet .mobile-tabs{background:#142236f8;color:#bbcde4;border-top-color:#5c7696}
.lab-cabinet .mobile-tabs [aria-current=page]{background:#355477;color:#fff}
.lab-cabinet .mobile-tabs :focus-visible{outline:3px solid #ffca8a;outline-offset:2px}
.lab-cabinet .profile-welcome{background:#eaf1f9;border-color:#c3d3e6}
.lab-cabinet .profile-welcome p{color:#4b607b}
.lab-cabinet .sidebar :focus-visible{outline:3px solid #9a470b;outline-offset:4px}
.lab-cabinet .panel,.lab-cabinet .metric-card{background:#fff;border-color:#d7e0eb;box-shadow:0 6px 24px -20px #22364c35}
.lab-cabinet .dashboard-demo-note{background:#e9eff7;color:#3f536f;border-color:#becfe2}
.lab-cabinet .dashboard-demo-note>b{border-color:#778da7;color:#344b68}
.lab-cabinet .balance-card{background:radial-gradient(ellipse at 95% 0,#354f72,transparent 70%),#152437;border:1px solid #3e5675}
.lab-cabinet .balance-card>span{color:#bccfe7}
.lab-cabinet .balance-label{color:#d2dfef}
.lab-cabinet .balance-bottom{color:#c8d8ee;border-color:#4e6481}
.lab-cabinet .balance-mark{color:#94aecb66}
.lab-cabinet .asset-icon{background:#eff3fa;border:1px solid #d1ddea;box-shadow:none;display:grid;place-items:center}
.lab-cabinet .button-dark{background:#253e5c;color:#fff}
.lab-cabinet .button-outline{color:#284666;border-color:#94a9c1}
.lab-cabinet .sidebar nav a[aria-current=page],.lab-cabinet .sidebar-link.active{color:#223d5e;background:#e9f0f9}
.lab-cabinet .period-switch button[aria-pressed=true]{background:#243f60;color:#fff}
.lab-cabinet .ledger-table th{background:#edf2f8;color:#485f79}
.lab-cabinet .ledger-table td,.lab-cabinet .ledger-table th{border-color:#d7e0eb}
.lab-cabinet .progress-track{background:#e2eaf4}
.lab-cabinet .progress-track>span{background:#527da9}
.lab-cabinet .crypto-wallet-card{background:radial-gradient(ellipse at 100% 0,#344e6c70,transparent 65%),#19293d;border-color:#456180}
.lab-cabinet .wallet-card-header div>span,.lab-cabinet .wallet-card-label{color:#c1d2e6}
.lab-cabinet .wallet-card-actions .button{background:#d7e6f8;color:#192e46;border-color:#adc7e7}
.lab-cabinet .wallet-card-actions .button-outline{background:none;color:#dceafd;border-color:#8ba7c8}
.lab-cabinet :focus-visible{outline:3px solid #9a470b;outline-offset:4px}
.lab-cabinet .crypto-wallet-card :focus-visible,.calculator-result :focus-visible{outline-color:#ffca8a}
.calculator-chart-panel .chart-xlabels{margin-left:0}
@media(hover:hover) and (pointer:fine){.lab-cabinet .sidebar nav a:hover{background:#dce8f7;color:#243f60}}
@media(max-width:700px){
  .chart-frame,.scenario-chart{grid-template-columns:minmax(0,1fr) 68px;gap:8px}
  .chart-axis span{font-size:10px}
  .chart-xlabels{margin-right:76px;font-size:11px;gap:8px}
  .chart-frame .chart-canvas{height:230px}
  .terminal-income .chart-canvas,.product-window .terminal-income .chart-canvas{height:180px}
  .chart-inspector{gap:15px;grid-template-columns:.5fr 1fr 1fr}
  .chart-inspector span{font-size:11px}
  .chart-inspector strong{font-size:18px}
  .chart-probe{grid-template-columns:1fr;gap:0;margin-top:15px;padding:12px 0 4px}
  .income-chart-caption{align-items:flex-start;margin-top:20px}
}
@media(max-width:380px){.chart-inspector{grid-template-columns:1fr 1fr;gap:12px}.chart-inspector>div:first-child{grid-column:1/-1;display:flex;align-items:center;gap:8px}.chart-inspector>div:first-child strong{margin-top:0}.income-chart-caption{flex-wrap:wrap}}
@media(prefers-contrast:more){:root{--chart-grid:#77899e;--chart-label:#263d59}.chart-frame .chart-line,.chart-frame .scenario-base,.chart-frame path.scenario-stress{stroke-width:3}}
@media(prefers-reduced-motion:reduce){.calculator-chart-panel .scenario-chart{animation:none}.chart-frame *{transition:none!important}}

/* Measure the visible canvas before creating the progressive enhancement. */
.chart-mounting .market-canvas{display:block}

.crypto-symbol .crypto-icon{width:36px;height:36px;display:block}
