/* Shared typography, accessible palette and responsive component defaults. */
:root {
  --paper:#f4f1f8; --card:#ffffff; --ink:#211a2c; --muted:#62576f;
  --line:#ded6e7; --control:#877491; --lime:#d9c9ff; --soft-lime:#eee5f8;
  --accent-ink:#654096; --red:#9e3049; --dark:#17131e;
  --ui-font:Arial,Helvetica,sans-serif;
  --ease-out:cubic-bezier(.23,1,.32,1);
}
[data-theme="dark"] {
  --paper:#08080b; --card:#17131e; --ink:#faf9fc; --muted:#c5bdcf;
  --line:#3f354d; --control:#84738f; --lime:#d9c9ff; --soft-lime:#241b32;
  --accent-ink:#d9c9ff; --red:#ffabba; --dark:#17131e;
}
/* Override legacy font shorthands, including labels, charts and dialog controls. */
html,body,body *,body *::before,body *::after {font-family:var(--ui-font)!important}
body {font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4 {text-wrap:balance;line-height:1.18}
p {text-wrap:pretty}
button,input,select,textarea {font-size:16px}
button,a,summary,input,select,textarea {touch-action:manipulation}
button,summary,.secondary-action {min-height:44px}
button,a {text-underline-offset:4px}
button:disabled {opacity:1;background:var(--line);color:var(--ink)}
:focus-visible {outline:3px solid var(--accent-ink);outline-offset:4px}
input,select,textarea {border-color:var(--control)!important;accent-color:var(--accent-ink)}
::placeholder {color:var(--muted);opacity:1}
.skip-link {position:fixed;top:8px;left:16px;z-index:1001;transform:translateY(-180%);padding:12px 18px;background:var(--lime);color:#18251d;font-weight:700}
.skip-link:focus {transform:none}
.page-top {width:min(1180px,calc(100% - 64px));padding-top:28px}
.rail {width:224px;padding:30px 20px}
main {margin-left:224px;width:calc(100% - 224px)}
.rail nav {margin-top:48px;gap:8px}
.rail-link {font-size:14px;min-height:48px;gap:13px;border-radius:6px}
.rail-link::after {font-size:12px;opacity:1;color:var(--muted)}
.rail-link>span {opacity:1}
.rail-link.active {font-weight:700;box-shadow:inset 3px 0 var(--accent-ink)}
.rail-link.active>span {background:var(--accent-ink)}
.rail-link::before {display:none}
.brand {font-size:17px;letter-spacing:-.4px}
.profile {font-size:14px;min-height:60px}.profile span {font-size:12px;width:32px;height:32px}
.quiet-button {font-size:13px;padding:10px 4px;min-height:44px}
.location-bar {font-size:13px;padding:14px 32px;min-height:54px}
.location-bar b {margin-left:6px}
.topbar h1 {font-size:23px;letter-spacing:-.6px}
.topbar .kicker,.chain-status span,.chain-status b {font-size:11px;letter-spacing:.5px}
.topbar .action-button {background:transparent;color:var(--ink);border:1px solid var(--control)}
.chain-status {flex-wrap:wrap;gap:7px;line-height:1.6}
.chain-status i {background:var(--accent-ink)}
.kicker,.card-label,.eyebrow,.desk-divider,.hero-footnote,.photo-code {font-size:12px;line-height:1.6;letter-spacing:.7px;font-weight:600}
.action-button {padding:12px 18px;font-size:14px;line-height:1.4;border-radius:6px;background:var(--lime);color:#18251d;font-weight:700;min-height:46px;box-shadow:none}
.action-button span {color:inherit}
.action-button:hover {background:#d6ffa0;transform:none}
.text-action {font-size:14px;line-height:1.5;display:inline-flex;align-items:center;gap:8px;color:var(--accent-ink);min-height:44px;font-weight:700;text-decoration:underline;text-decoration-thickness:1px}
.secondary-action {font-size:14px;font-weight:600;padding:10px 0;display:inline-flex;align-items:center;color:var(--ink);text-decoration:underline}
.desk-hero {grid-template-columns:1.2fr .85fr;gap:32px;min-height:390px;margin:28px 0 32px;padding-bottom:32px;align-items:stretch}
.hero-copy {padding:20px 0;display:flex;flex-direction:column;justify-content:center;min-width:0}
.hero-copy h2 {font-size:clamp(38px,4.2vw,64px);letter-spacing:-2.3px;line-height:1.07;font-weight:750;margin:24px 0 20px}
.hero-copy h2 em {font-style:normal;font-weight:inherit;color:var(--accent-ink);letter-spacing:inherit}
.hero-copy>p:not(.eyebrow) {font-size:16px;line-height:1.65;max-width:480px}
.hero-copy>.hero-footnote {font-size:13px!important;letter-spacing:0;font-weight:400;margin:0}
.hero-actions {flex-wrap:wrap;gap:16px;margin:24px 0 12px}
.hero-actions a {font-size:14px}
.hero-visual {min-height:390px;border-radius:8px}
.hero-visual img {object-position:50% 48%;filter:none}
.hero-visual figcaption {font-size:12px;font-weight:600;letter-spacing:.5px;color:#fff;bottom:20px;left:20px}
.hero-visual::after {inset:45% 0 0;background:linear-gradient(transparent,#101712 95%)}
.image-brand {opacity:1;color:#e5ffd0}
.practice-path {padding:26px;background:var(--card);border:1px solid var(--line);border-radius:8px}
.path-heading {display:flex;align-items:center;justify-content:space-between;gap:18px}
.path-heading h3 {font-size:22px;letter-spacing:-.5px;margin:8px 0}
#path-progress {font-size:13px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.path-steps {padding:0;margin:24px 0 0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.path-steps li {display:flex;gap:12px;align-items:start;min-width:0}


.path-steps h4 {font-size:16px;margin:4px 0 8px;letter-spacing:-.2px}
.path-steps p {font-size:14px;color:var(--muted);margin:0;line-height:1.6}
.path-steps .text-action {font-size:13px;margin-top:5px}
.path-footnote {font-size:13px;color:var(--muted);margin:22px 0 0;padding-top:16px;border-top:1px solid var(--line)}
.desk-divider {margin:32px 0 16px;font-size:12px}
.overview-grid {gap:20px}.balance-card,.coach-card {padding:24px;border-radius:8px}
.balance-value {font-size:36px;letter-spacing:-1px;font-variant-numeric:tabular-nums}
.balance-card p,.coach-card p:not(.card-label),.traction-grid p:not(.card-label) {font-size:14px;line-height:1.65;color:var(--muted)}
.coach-card h2,.traction-grid h2 {font-size:22px;line-height:1.3;letter-spacing:-.6px;font-weight:700}
.traction-grid {margin-top:22px}.traction-grid>article {padding:22px}
.coach-icon {color:var(--accent-ink)}
.proof-card .action-button {font-size:14px;text-decoration:underline;color:var(--accent-ink);min-height:44px}
.section-heading {align-items:center;margin-bottom:18px}
.section-heading h2 {font-size:36px;font-weight:700;letter-spacing:-1px;line-height:1.2}
.section-heading .kicker {font-size:12px}
.page-section+.page-section {padding-top:50px}
.page-section+.page-section::before {font-size:12px;color:var(--accent-ink);letter-spacing:1px}
.section-intro,.source-note,#news-status {font-size:14px;line-height:1.7;color:var(--muted)}
.section-intro {max-width:680px;margin:0 0 24px}
.market-photo {position:relative;overflow:hidden;margin:24px 0;border-radius:8px;height:210px;background:#101712}
.market-photo img {width:100%;height:100%;object-fit:cover;object-position:45% 45%}
.market-photo figcaption {position:absolute;bottom:0;left:0;right:0;background:#101712eb;color:#fff;padding:14px 20px;font-size:16px;font-weight:600;display:flex;justify-content:space-between;gap:12px}
.market-photo figcaption span {font-size:12px;font-weight:400;color:#d2dfd1}
.watchdesk {border-radius:8px;overflow:hidden}
.watch-toolbar {padding:20px}.watch-toolbar h3 {font-size:24px;font-weight:700}.watch-toolbar a {font-size:14px}
.watch-chip {border-color:var(--control);border-radius:5px;overflow:hidden}
.watch-chip button {font-size:14px;padding:10px 12px;min-width:44px}
.watch-chip.active {border-color:var(--accent-ink)}
.watch-chip.active button:first-child {font-weight:700;color:var(--accent-ink)}
.watch-form {gap:12px}.watch-form label {font-size:14px;gap:8px}.watch-form input {font-size:16px;border-radius:5px;min-height:46px}
.watch-message,.chart-disclosure {font-size:13px;line-height:1.65}
.chart-consent {padding:36px 20px}.chart-consent h3 {font-size:26px;font-weight:700}.chart-consent p {font-size:15px;line-height:1.65}
.chart-consent .checkpoint-star {color:var(--accent-ink)}
.research-heading {margin-top:36px}.research-heading h3 {font-size:27px;font-style:normal;font-weight:700;letter-spacing:-.6px}.research-heading p {font-size:14px}
.research-photo {height:240px;border-radius:8px;isolation:isolate}.research-photo img {filter:none}
.research-photo::after {content:"";position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#101712cc)}
.photo-code {background:#101712;color:#f1f5ed;padding:4px 8px;border-radius:3px;z-index:1;font-size:12px}
.research-copy h3 {font-size:25px;font-weight:700;letter-spacing:-.6px;line-height:1.3}
.research-copy>p:not(.kicker),.chain-note p {font-size:15px;line-height:1.65}
.chain-note b {font-size:17px;font-weight:700}
.pulse-grid {gap:20px}.pulse-card strong {font-size:24px}.pulse-card p {font-size:15px;min-height:0;line-height:1.6}.pulse-card .card-label {font-size:12px}
.pulse-card {border-radius:0;align-content:start}
.trader-glossary {border:1px solid var(--line);border-radius:8px;background:var(--card);margin:24px 0;padding:6px 20px}
.trader-glossary summary {padding:12px 0;font-size:15px;font-weight:600;color:var(--ink)}
.trader-glossary summary span {float:right;color:var(--accent-ink)}
.trader-glossary dl {display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:10px 0 20px}
.trader-glossary dt {font-weight:700;font-size:15px}.trader-glossary dd {margin:6px 0 0;font-size:14px;line-height:1.7;color:var(--muted)}
.journal-card,.calendar-panel,.equity-card {border-radius:8px;padding:24px}
.card-head strong {font-size:18px;letter-spacing:-.3px}.journal-card .card-head {align-items:center}
#journal-summary {font-size:13px;color:var(--muted);padding:14px 0}
.empty-state {padding:24px 12px}.empty-state h3 {font-size:21px;color:var(--ink)}.empty-state p {font-size:15px;max-width:520px;margin:12px auto}
.empty-state>span {color:var(--accent-ink)}
.trade-row {font-size:15px;gap:12px;grid-template-columns:32px minmax(0,1fr) auto 38px;padding:16px 0}
.trade-row small {font-size:12px;line-height:1.5}.trade-row>strong {font-size:14px;font-variant-numeric:tabular-nums}.trade-row i {font-size:12px;font-style:normal}.trade-row .grade {font-size:12px;color:var(--accent-ink)}
.trade-note {font-size:14px}.trade-entry summary {position:relative;padding-right:18px}
.trade-entry summary::after {content:"+";position:absolute;right:0;color:var(--muted)}.trade-entry[open] summary::after {content:"−"}
.up,[data-theme="dark"] .up {color:var(--accent-ink)}.down {color:var(--red)}
.calendar-day {border-color:var(--control);min-height:98px}.calendar-day span,.calendar-week {font-size:13px}.calendar-day small {font-size:12px}.calendar-day b {font-size:13px;line-height:1.4;font-variant-numeric:tabular-nums}
.calendar-day.selected {outline-color:var(--accent-ink)}
.calendar-controls button,.news-filters button,.period-button,.curve-period {font-size:14px;padding:10px 13px;border-radius:4px}
.news-filters button {border-color:var(--control)}.news-filters button.active {border-color:var(--accent-ink);color:var(--accent-ink);font-weight:700}
.curve-period.active,.period-button.active {color:var(--ink);font-weight:700}
#day-detail h3 {font-size:17px}.metric-grid span {font-size:12px}.metric-grid small {font-size:13px;line-height:1.6;display:block}.metric-grid strong {font-size:28px;font-variant-numeric:tabular-nums;letter-spacing:-.6px}
.axis,.curve-summary {font-size:12px}.chart-line {stroke:var(--accent-ink)}
.perspective-card {display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;margin:28px 0;background:var(--card);border:1px solid var(--line);border-radius:8px;overflow:hidden;align-items:center}
.perspective-card figure {margin:0;background:#f4f4f4;align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.perspective-card img {width:100%;height:auto;display:block}.perspective-card figcaption {padding:10px 16px;font-size:12px;color:#39473d;text-align:center}
.perspective-card>div {padding:26px 26px 26px 0}.perspective-card h3 {font-size:27px;letter-spacing:-.6px;margin:12px 0}.perspective-card p:not(.kicker) {font-size:15px;line-height:1.7;color:var(--muted)}
.news-grid h3 {font-size:21px;font-weight:700;letter-spacing:-.4px}.news-grid p {font-size:15px;line-height:1.65}.news-grid .source-link {font-size:14px;min-height:44px;display:inline-flex;align-items:center;color:var(--accent-ink)}
.news-category,.ai-label {font-size:12px;letter-spacing:0}.news-category {color:var(--muted)}
.news-method,.impact-toggle {font-size:14px}.impact-toggle {display:flex;align-items:center;gap:10px;min-height:44px}.impact-toggle input {width:20px;height:20px}
.product-footer {font-size:13px;padding-top:24px;padding-bottom:24px}.product-footer a {display:inline-flex;align-items:center;min-height:44px;text-decoration:underline}
.legal-page {font-size:16px}.legal-page h1 {font-size:38px}.legal-page a {color:var(--accent-ink)}
dialog {border-radius:10px;border:1px solid var(--control)}
.dialog-heading h2,.research-dialog-inner h2 {font-size:30px;font-weight:700;letter-spacing:-.7px;line-height:1.2}
.form-grid label,.notes,.asset-match,.form-disclaimer,.review-fieldset legend,.review-options label {font-size:14px;line-height:1.6}
.form-grid input,.form-grid select,.notes textarea {font-size:16px;min-height:46px;border-radius:5px}
.review-options label {min-height:44px;align-items:center}.review-options input {width:18px;height:18px;flex-shrink:0}
.asset-suggestions button {font-size:14px;line-height:1.5;min-height:44px}
.close {min-width:44px;min-height:44px;font-size:28px;margin:-8px -8px 0 8px;flex-shrink:0}
.research-dialog-inner p,.research-dialog-inner li,.research-dialog-inner a,.share-card>p {font-size:15px;line-height:1.7}
.form-disclaimer:empty {display:none}.form-disclaimer:not(:empty) {color:var(--muted)}#profile-error,#trade-error {color:var(--red)}
#toast,[data-theme="dark"] #toast {font-size:14px;line-height:1.6;background:var(--ink);color:var(--paper);border-radius:8px}
/* Frequent navigation and numeric updates stay still. Motion confirms a press or dialog. */
.trade-row:hover {padding-left:0}.metric-grid article:hover,.pulse-card:hover,.curve-period:hover,.period-button:hover {transform:none}
.hero-visual:hover img,.research-feature:hover img {transform:none}
.rail-link,.trade-row,.metric-grid article,.pulse-card,.news-grid article,.hero-visual img,.research-photo img {transition:none}
button,.secondary-action {transition:transform 140ms var(--ease-out)}
button:active,.secondary-action:active {transform:scale(.97)}
.rail {transition:transform 220ms cubic-bezier(.32,.72,0,1)}

dialog[open] {opacity:1;transform:scale(1);transition:opacity 180ms var(--ease-out),transform 180ms var(--ease-out)}
@starting-style {dialog[open] {opacity:0;transform:scale(.98)}}
html[data-input="keyboard"] *,html[data-input="keyboard"] *::before,html[data-input="keyboard"] *::after {transition:none!important;animation:none!important;scroll-behavior:auto!important}
@media(hover:hover) and (pointer:fine) {.text-action:hover,.secondary-action:hover,.product-footer a:hover {text-decoration-thickness:2px}.watch-chip button:hover {background:var(--soft-lime)}}
@media(hover:none) {.action-button:hover {background:var(--lime)}.rail-link:not(.active):hover {background:transparent}}
@media(max-width:1150px) {.path-steps {grid-template-columns:1fr}.path-steps li {border-bottom:1px solid var(--line);padding-bottom:16px}.path-steps li:last-child {border:0;padding-bottom:0}.path-heading {align-items:start;flex-direction:column;gap:4px}.hero-copy h2 {font-size:44px}.hero-actions {align-items:start;flex-direction:column;gap:4px}.news-grid {grid-template-columns:1fr 1fr}.traction-grid {grid-template-columns:1fr}.traction-grid>article {border-left:0;border-bottom:1px solid var(--line);padding:20px 0}.perspective-card {grid-template-columns:1fr 1.2fr}}
@media(max-width:900px) {.rail {width:190px;padding:26px 16px}main {margin-left:190px;width:calc(100% - 190px)}.page-top {width:calc(100% - 40px)}.desk-hero {grid-template-columns:1fr;gap:20px}.hero-visual {grid-row:auto;min-height:250px;max-height:280px}.hero-copy {padding:0}.hero-copy h2 {font-size:48px;max-width:none}.hero-actions {flex-direction:row;align-items:center;gap:16px}.research-grid {grid-template-columns:1fr}.research-photo {height:260px}.perspective-card {grid-template-columns:1fr}.perspective-card figure {max-height:260px;overflow:hidden}.perspective-card img {max-height:220px;object-fit:contain}.perspective-card>div {padding:0 24px 24px}.market-photo figcaption {flex-direction:column;gap:2px}.overview-grid {grid-template-columns:1fr}.news-grid {grid-template-columns:1fr}}
@media(max-width:610px) {
  .rail {width:270px;padding-top:74px}.rail nav {margin-top:15px}.rail .profile {display:flex}main {margin:0;width:100%}
  .location-bar {padding:10px 16px}.location-bar>.brand {font-size:14px}.location-bar>span {font-size:12px}.location-bar b {margin:0}#mobile-menu-button {min-width:44px}
  .page-top {width:calc(100% - 32px);padding-top:22px}.topbar h1 {font-size:22px}.topbar .kicker {font-size:12px}.chain-status span,.chain-status b {font-size:11px}
  .top-actions {gap:12px;flex-wrap:wrap;margin-top:14px}.quiet-button span {font-size:13px}.quiet-button span::after {display:none}
  .hero-copy h2 {font-size:42px;letter-spacing:-1.7px}.hero-copy .eyebrow {font-size:11px;letter-spacing:.5px}.hero-copy>p:not(.eyebrow) {font-size:16px}.hero-visual {min-height:235px}.hero-visual figcaption {font-size:11px}.hero-footnote {font-size:13px}
  .desk-hero {margin-top:24px;gap:16px}.hero-actions {gap:8px 16px}.hero-actions .action-button {width:100%}.hero-actions a {min-height:44px}
  .practice-path {padding:20px}.path-heading h3 {font-size:21px}.path-steps {gap:16px}.desk-divider {font-size:11px;gap:12px;flex-wrap:wrap}
  .section-heading h2 {font-size:30px}.section-heading .kicker {font-size:12px}.page-section+.page-section {padding-top:38px}
  .balance-card,.coach-card,.journal-card,.equity-card {padding:20px}.calendar-panel {padding:12px}
  .pulse-grid {grid-template-columns:1fr}.pulse-card {padding:18px 0}.pulse-card strong {margin:8px 0;font-size:23px}.pulse-card p {font-size:15px}
  .research-heading h3 {font-size:25px}.research-copy h3 {font-size:25px}.research-photo {height:225px}.chain-note {gap:14px}.chain-note>div {min-width:0;flex-basis:calc(100% - 40px)}
  .watch-toolbar,.watchlist {padding:16px}.watch-form {padding:0 16px 16px}.watch-form label {width:100%}.watch-form button {width:100%}.watch-toolbar h3 {font-size:23px}.chart-consent h3 {margin:12px 0}.chart-consent p {font-size:15px}
  .trader-glossary {padding:6px 16px}.trader-glossary dl {grid-template-columns:1fr}.trader-glossary summary {font-size:14px;padding-right:16px;position:relative}.trader-glossary summary span {position:absolute;right:0;top:12px}
  .trade-row {grid-template-columns:minmax(0,1fr) auto;gap:6px;font-size:15px}.trade-row>.asset,.trade-row>.grade {display:none}.trade-row small {font-size:12px}.trade-row>strong {font-size:14px}
  .calendar-day {min-height:88px;padding:5px 2px;gap:5px}.calendar-day span,.calendar-week {font-size:12px}.calendar-day b {font-size:12px;overflow-wrap:anywhere}.calendar-day small {font-size:11px}.calendar-grid,.calendar-week {gap:3px}
  .calendar-controls button,.news-filters button,.curve-period,.period-button {font-size:13px;padding:10px}.metric-grid strong {font-size:26px}.metric-grid small {font-size:12px}
  .news-grid h3 {font-size:21px}.news-category {font-size:12px}.product-footer {padding-left:16px;padding-right:16px}.product-footer nav {gap:16px}.product-footer {margin-left:0}
  .form-grid label,.notes {font-size:14px}.dialog-heading h2 {font-size:27px}.research-dialog-inner h2 {font-size:28px}
}
@media(prefers-reduced-motion:reduce) {*,*::before,*::after {animation:none!important;transition:none!important;scroll-behavior:auto!important}button:active,.secondary-action:active {transform:none}}
