/* Final theme parity: monochrome actions, semantic financial colour. */
.modal-backdrop{z-index:10000}.modal{isolation:isolate}.modal-head{position:sticky;top:-1px;z-index:3;background:var(--panel);padding-top:8px;padding-bottom:12px}.modal-head .close{position:relative;z-index:4;min-width:40px;min-height:40px;color:var(--text);background:var(--panel2);border:1px solid var(--line);border-radius:7px}.modal-head .close:hover{border-color:var(--accent);color:var(--text)}
html[data-theme="graphite"] body.auth-ready :is(.heading .log-trade-button,.mobile-log-button){background:linear-gradient(145deg,#424c49,#202725 70%);border-color:#4e5b54;color:#fff;box-shadow:inset 0 1px #ffffff35,0 5px 12px #14261b1f}html[data-theme="graphite"] body.auth-ready :is(.heading .log-trade-button,.mobile-log-button):hover{background:linear-gradient(145deg,#53615b,#2a3430 70%);border-color:#74877b;color:#fff}
html[data-theme="midnight"] body.auth-ready :is(.heading .log-trade-button,.mobile-log-button){background:linear-gradient(145deg,#fcfffd,#b9cec2);color:#15251d;border-color:#d4e6db;box-shadow:inset 0 1px #fff,0 5px 17px #0004}html[data-theme="midnight"] body.auth-ready :is(.heading .log-trade-button,.mobile-log-button):hover{background:#fff;color:#15251d}
.contour-current{display:none!important}.contour-flow{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;overflow:hidden}.contour-signal-line{fill:none;stroke:#f1fff8;stroke-width:1.5;stroke-linecap:round;stroke-dasharray:.045 .955;stroke-dashoffset:1;filter:drop-shadow(0 0 3px #58cba5);animation:contour-line-travel 16s linear infinite;opacity:0}.flow-delayed{animation-delay:-8s;animation-duration:22s;stroke-width:1.2}html[data-theme="midnight"] .flow-frost,html:not([data-theme="midnight"]) .flow-obsidian{display:none}html[data-theme="graphite"] .contour-signal-line{stroke:#fbfffd;filter:drop-shadow(0 0 2px #3ba87f)}body.auth-ready .contour-flow{opacity:.8}@keyframes contour-line-travel{0%{stroke-dashoffset:1;opacity:0}8%{opacity:.7}88%{opacity:.7}100%{stroke-dashoffset:0;opacity:0}}
@media(prefers-reduced-motion:reduce){.contour-flow{display:none}}
.landing-plans{grid-template-columns:1.05fr 1fr 1.35fr;max-width:none;gap:12px;margin-top:24px}.landing-plan{padding:18px;min-height:167px;align-content:start;gap:12px}.landing-plan-year{padding:17px}.landing-plan-trial{background:var(--text);border-color:var(--text);color:var(--bg);justify-content:space-between}.landing-plan-trial>span,.landing-plan-trial>small{color:var(--bg)}.landing-plan-trial strong{font:800 42px/1 var(--display);letter-spacing:-1.7px;color:var(--bg)}.landing-plan-trial>small{font-size:11px;line-height:1.6}.landing-plan>span{font-size:9px;letter-spacing:1px}.landing-plan-trial>span{font-weight:750;font-size:12px;letter-spacing:1.3px}.landing-plan strong{white-space:nowrap}.landing-plan-year strong small{display:block;margin-top:7px;white-space:normal}.plan-saving{position:static;width:max-content;padding:5px 8px;order:4}.auth-hero>.trial-spotlight{display:none}.auth-hero-actions>span{font-size:11px}
@media(max-width:1150px) and (min-width:761px){.landing-plans{grid-template-columns:1fr 1fr}.landing-plan-trial{grid-column:1/-1;min-height:90px;grid-template-columns:1fr auto;align-items:center;gap:5px}.landing-plan-trial strong{grid-column:2;grid-row:1/3;font-size:40px}.landing-plan-trial>small{grid-column:1}.landing-plan{min-height:130px;padding:14px}.landing-plan-trial{min-height:90px}}
@media(max-width:760px){.auth-hero>.trial-spotlight{display:flex}.landing-plans{grid-template-columns:1fr 1.2fr;gap:8px;margin-top:5px}.landing-plan{min-height:140px;padding:14px}.landing-plan-trial{display:none}.landing-plan-year{padding:13px}.landing-plan>span{font-size:8px;letter-spacing:.5px}.landing-plan strong{font-size:23px}.landing-plan-year strong small{font-size:10px}}
.contour-current{mask-image:radial-gradient(ellipse,#000 0%,#000b 15%,transparent 69%);mask-size:190px 80px;filter:brightness(3) saturate(1.15);opacity:.46;animation:contour-signal 22s linear infinite}.contour-current-secondary{animation-delay:-12s;opacity:.24}body.auth-ready .contour-current{opacity:.32}body.auth-ready .contour-current-secondary{opacity:.19}html[data-theme="graphite"] .contour-current{filter:contrast(1.3) brightness(1.14);mix-blend-mode:screen;opacity:.5}
@keyframes contour-signal{0%{mask-position:72% -8%}12%{mask-position:86% 13%}26%{mask-position:73% 29%}40%{mask-position:54% 44%}53%{mask-position:67% 55%}66%{mask-position:83% 71%}82%{mask-position:39% 84%}94%{mask-position:8% 98%}100%{mask-position:-20% 112%}}
html[data-theme="graphite"] body.auth-ready .button:not(.secondary),html[data-theme="graphite"] .modal .button:not(.secondary){background:#202827;border-color:#202827;color:#fff;box-shadow:inset 0 1px #ffffff18}
html[data-theme="graphite"] body.auth-ready .button:not(.secondary):hover,html[data-theme="graphite"] .modal .button:not(.secondary):hover{background:#394543;border-color:#394543;color:#fff}
html[data-theme="midnight"] body.auth-ready .button:not(.secondary),html[data-theme="midnight"] .auth-card .auth-submit,html[data-theme="midnight"] .auth-trial-link,html[data-theme="midnight"] .trial-mobile-start{background:#e5eeea;border-color:#c8dad1;color:#15251e;box-shadow:inset 0 1px #fff8}
html[data-theme="midnight"] body.auth-ready .button:not(.secondary):hover,html[data-theme="midnight"] .auth-card .auth-submit:hover,html[data-theme="midnight"] .auth-trial-link:hover{background:#fff;color:#15251e;border-color:#fff}
html[data-theme] .tag-choice,html[data-theme] .tag-option{background:#242e2b;color:#fff;border-color:#60776a}html[data-theme] .tag-choice .tag-option,html[data-theme] .tag-option.selected{color:#fff!important}html[data-theme] .tag-option.selected{background:#425d50;border-color:#a4c3b0;box-shadow:inset 0 -2px #b9dfc8}html[data-theme] .tag-remove{color:#e2eee6}
html[data-theme="graphite"] :is(.welcome-name,.mobile-welcome){color:#1c2722!important}html[data-theme="graphite"] :is(.welcome-name span,.mobile-welcome b){color:#111b16!important;font-style:italic}html[data-theme="midnight"] :is(.welcome-name,.mobile-welcome){color:#e2eee6!important}html[data-theme="midnight"] :is(.welcome-name span,.mobile-welcome b){color:#fff!important;font-style:italic}
.ledger-welcome{color:var(--text);background-color:var(--bg);background-image:var(--scene);background-position:center;background-size:cover}.ledger-welcome h1,.ledger-welcome .ledger-experience-brand{color:var(--text)!important}.ledger-welcome h1 span{font-style:italic;font-weight:650}.ledger-welcome-progress{background:var(--accent)}.ledger-welcome-skip{background:var(--panel);color:var(--text);border-color:var(--line)}
.product-proof-frost{display:none!important}html[data-theme="graphite"] .product-proof-frost{display:block!important;width:100%;height:auto;border-radius:7px}html[data-theme="graphite"] .contour-product-details{display:none}
html[data-theme="graphite"] body.auth-ready #payoutList .record-card{background-image:linear-gradient(270deg,#2ea16825,transparent 66%)!important}html[data-theme="midnight"] body.auth-ready #payoutList .record-card{background-image:linear-gradient(270deg,#36cd8030,transparent 66%)!important}#payoutList .payout-amount{padding:7px 0 7px 13px;text-shadow:0 2px 24px #26a46b16}
.summary-strip>div{position:relative;overflow:hidden;min-height:132px;justify-content:space-between;border-top-width:3px!important}.summary-strip>div:first-child{border-top-color:var(--text)!important}.summary-strip>div:nth-child(2){border-top-color:var(--gold)!important;background-image:linear-gradient(130deg,transparent 45%,#bf94191a)!important}.summary-strip>div:nth-child(3){border-top-color:var(--green)!important;background-image:linear-gradient(130deg,transparent 45%,#249c6020)!important}.summary-strip strong{font-size:46px;letter-spacing:-2px}.summary-strip span{font-size:10px;letter-spacing:1.4px}
html[data-theme="graphite"] .calendar-trade-card{background:#f4f8f5;border-color:#b7cbbf;color:#1b2e22}html[data-theme="graphite"] .calendar-trade-top strong{color:#1b2e22}html[data-theme="graphite"] :is(.calendar-trade-direction,.calendar-trade-bottom,.calendar-trade-setup){color:#52695a}html[data-theme="graphite"] .calendar-trade-notes{background:#e8f0eb;color:#304f3b;border-color:#c3d5ca}html[data-theme="midnight"] .calendar-trade-card{background:#14261d;border-color:#3d5c48;color:#f0f7f3}html[data-theme="midnight"] .calendar-trade-top strong{color:#f0f7f3}html[data-theme="midnight"] .calendar-trade-notes{background:#0b1911;color:#c1d9c9;border-color:#3d5c48}
.ledger-review-shell{gap:24px}.ledger-review-heading h1{font-weight:650;letter-spacing:-1.8px}.ledger-review-performance{position:relative;overflow:hidden;min-height:245px;border-radius:14px;border-color:var(--line);background-image:linear-gradient(115deg,transparent 25%,#1c9c6015);box-shadow:inset 0 1px #fff2}.ledger-review-performance strong{font-size:clamp(56px,6.5vw,86px);font-weight:750;letter-spacing:-4px}.ledger-review-performance p{font-size:11px}.ledger-review-chart svg{height:200px}.ledger-review-chart #ledgerReviewLine{stroke-width:2.7}.ledger-month-review[data-outcome="negative"] .ledger-review-chart{color:var(--red)}.ledger-month-review[data-outcome="negative"] .ledger-review-performance{background-image:linear-gradient(115deg,transparent 25%,#c7445c15)}.ledger-review-metric{border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;padding:18px 10px}.ledger-review-metric>strong{font-size:30px}.ledger-review-metric>span{letter-spacing:.3px}.ledger-review-top{padding-bottom:14px;border-bottom:1px solid var(--line)}.ledger-review-footer button{background:var(--text);border-color:var(--text);color:var(--bg);min-height:46px}
.ledger-month-review[open] .ledger-review-performance{animation:review-reveal .5s ease both}.ledger-month-review[open] .ledger-review-metric{animation:review-reveal .5s ease both}.ledger-review-metric:nth-child(2){animation-delay:.04s!important}.ledger-review-metric:nth-child(3){animation-delay:.08s!important}.ledger-review-metric:nth-child(4){animation-delay:.12s!important}.ledger-review-metric:nth-child(5){animation-delay:.16s!important}.ledger-review-metric:nth-child(6){animation-delay:.2s!important}@keyframes review-reveal{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(max-width:760px){.summary-strip>div{min-height:100px;padding:13px 10px!important}.summary-strip strong{font-size:33px}.summary-strip span{font-size:8px;letter-spacing:.5px}.ledger-review-performance{min-height:0;padding:21px 17px;gap:17px}.ledger-review-performance strong{font-size:53px;letter-spacing:-2.8px}.ledger-review-chart svg{height:125px}.ledger-review-metric>strong{font-size:26px}.ledger-review-shell{gap:18px}.ledger-review-metric{padding:15px 6px}.ledger-review-heading h1{font-size:29px;letter-spacing:-1px}}
@media(prefers-reduced-motion:reduce){.ledger-month-review[open] .ledger-review-performance,.ledger-month-review[open] .ledger-review-metric{animation:none!important}}
/* The summary is two independent tiles aligned with the payout records. */
body.auth-ready .payout-summary.card{padding:0;background:transparent!important;background-image:none!important;border:0;box-shadow:none;backdrop-filter:none;border-radius:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:100%;margin-bottom:22px}
body.auth-ready .payout-summary>div{min-width:0;min-height:148px;justify-content:space-between}
/* Obsidian mirrors Frost: identical contours and geometry, reversed luminance. */
html[data-theme="midnight"]{--bg:#111415;--panel:#1b201f;--panel2:#252b29;--line:#48544f;--text:#edf2ef;--muted:#afbbb5;--accent:#d5e3db;--accent-rgb:213,227,219;--alloy-field:#151a18;--alloy-border:#48544f;--alloy-highlight:#d5e3db;--alloy-ink:#edf2ef;--alloy-muted:#afbbb5;--scene:url('/assets/ledger-frost.png');--sheet:#1b201ff5;--field:#151a18;--ink-soft:#bfccc4;--cta:#e5eeea;--cta-hover:#fff}
html[data-theme="midnight"] body::before{filter:invert(1) hue-rotate(180deg)!important}html[data-theme="midnight"] body::after{filter:invert(1) hue-rotate(180deg) brightness(1.8)!important}
html[data-theme="midnight"] .flow-frost{display:block}html[data-theme="midnight"] .flow-obsidian{display:none}
html[data-theme="midnight"] :is(.card,.stat,.record-card,.analytics-metric,.notes-sidebar,.notes-editor,.news-panel,.profile-menu,.modal){background-color:var(--panel);border-color:var(--line)}
html[data-theme="midnight"] :is(.field input,.field select,.field textarea,.period-select){background-color:var(--field);color:var(--text);border-color:var(--line)}
html[data-theme="midnight"] .nav.active{background:var(--panel2);color:var(--text);box-shadow:inset 3px 0 #aec5b7,0 3px 12px #0002}html[data-theme="midnight"] .nav:hover{background:#ffffff0c;color:var(--text)}
html[data-theme="midnight"] .calendar-trade-card{background:var(--panel2);border-color:var(--line)}html[data-theme="midnight"] .calendar-trade-notes{background:var(--field);color:var(--text);border-color:var(--line)}
html[data-theme="midnight"] .ledger-welcome{background-image:linear-gradient(#111415ed,#111415ed),var(--scene)}
@media(max-width:760px){body.auth-ready .payout-summary.card{gap:10px}body.auth-ready .payout-summary>div{min-height:118px}}
/* Neutral inverse themes, shared ambient surface. */
html[data-theme="midnight"]{--bg:#121414;--panel:#1c1f1e;--panel2:#292c2b;--line:#484e4b;--text:#f1f3f2;--muted:#b0b8b4;--accent:#e1e6e3;--accent-rgb:225,230,227;--sheet:#1c1f1ef5;--field:#151817;--ink-soft:#c4cbc7;--alloy-field:#151817;--alloy-border:#484e4b;--alloy-highlight:#e1e6e3;--alloy-ink:#f1f3f2;--alloy-muted:#b0b8b4}
html[data-theme="midnight"] :is(.stat-card,.card,.profile-menu,.modal,.news-panel,.record-card,.notes-editor,.notes-sidebar,.analytics-metric){background-color:var(--panel)!important;border-color:var(--line)}
html[data-theme="midnight"] :is(.logo,.avatar,.profile-theme-swatch-dark){background:#e1e6e3;color:#1c1f1e;border-color:#636b66}
html[data-theme="midnight"] .calendar-trade-notes{background:var(--field);color:var(--text)}
.contour-flow,.contour-current{display:none!important}
body::before{inset:-28px!important;animation:ledger-surface-drift 18s ease-in-out infinite alternate!important;transform-origin:50% 50%;will-change:transform}
@keyframes ledger-surface-drift{0%{transform:scale(1.035) translate(-13px,8px) rotate(-.25deg)}35%{transform:scale(1.075) translate(7px,-12px) rotate(.18deg)}70%{transform:scale(1.05) translate(15px,5px) rotate(.3deg)}100%{transform:scale(1.085) translate(-5px,14px) rotate(-.15deg)}}
body::after{mask-image:radial-gradient(circle 48px at var(--pointer-x,-200px) var(--pointer-y,-200px),#000 8%,transparent 100%);-webkit-mask-image:radial-gradient(circle 48px at var(--pointer-x,-200px) var(--pointer-y,-200px),#000 8%,transparent 100%)}body.contour-pointer-active::after{opacity:.45}
html[data-theme="graphite"]{--cta:#303737;--cta-hover:#444c4c}
html[data-theme="graphite"] :is(.auth-card .auth-submit,.auth-trial-link,.trial-mobile-start){background:linear-gradient(145deg,#4a5151,#292f2f);border-color:#444c4c;color:#fff}
html[data-theme="graphite"] .auth-card .auth-submit:hover{background:#444c4c!important;color:#fff!important;border-color:#444c4c}
html[data-theme="graphite"] :is(.button.secondary,.auth-card #ledgerShowSignup,.contour-nav-signin,.profile-theme-button,.account-filter,.hide-failed-button):hover{color:#202a27!important;background:#dbe2de!important;border-color:#85968c}
html[data-theme="graphite"] .news-periods button:hover,html[data-theme="graphite"] .news-periods button[aria-pressed="true"]{background:#d3dfd7!important;color:#17271e!important;border-color:#8b9e91}
html[data-theme="midnight"] .news-periods button:hover,html[data-theme="midnight"] .news-periods button[aria-pressed="true"]{background:#e1e6e3;color:#1c1f1e}
.auth-hero>.trial-spotlight{display:none!important}.landing-plans{margin-top:25px}.landing-plan{min-height:180px;box-shadow:inset 0 1px #fff7,0 8px 24px #14261b12}.landing-plan-trial{border:1px solid #252c2b;background:linear-gradient(135deg,#454d4a,#1c2521);text-decoration:none;transition:transform .2s,box-shadow .2s}.landing-plan-trial>span{font-size:11px;letter-spacing:1.4px}.landing-plan-trial strong{font-size:54px;letter-spacing:-2px}.landing-plan-trial small{font-size:12px}.landing-plan-trial:hover{transform:translateY(-3px);box-shadow:0 13px 25px #14261b30}.landing-plan-year{border-color:#56665b;box-shadow:inset 0 0 0 1px #56665b,0 8px 24px #14261b12}.plan-saving{background:#303b35;color:white;font-size:11px;padding:6px 10px}.auth-hero-actions{margin-top:15px}
@media(max-width:760px){.landing-plans{order:2;grid-template-columns:1fr 1fr;margin:0;gap:9px}.landing-plan-trial{display:grid;grid-column:1/-1;min-height:112px;grid-template-columns:1fr auto;padding:17px}.landing-plan-trial strong{grid-column:2;grid-row:1/3;font-size:48px}.landing-plan-trial small{grid-column:1;font-size:11px}.landing-plan{min-height:145px}.landing-plan-trial{min-height:112px}.auth-card{order:3}.auth-hero-actions{order:4;margin:0}.contour-product{order:5}}
/* The calculator retains its own component layout and uses legible Frost colours. */
html[data-theme="graphite"] .ledger-tool :is(.field label,.metrics strong,.chart-top h3){color:var(--text)}
.ledger-tool .badge.positive{color:var(--green);border-color:var(--green)}
.ledger-tool :is(.nav-cta,.product-cta .button){background:#303737;color:#fff;border-color:#303737}.ledger-tool :is(.nav-cta,.product-cta .button):hover{background:#48504d;color:#fff}
html[data-theme="graphite"] .ledger-tool button:hover{background:#dbe2de;color:#202a27;border-color:#85968c}.ledger-tool .chart-legend i{background:var(--text)}.ledger-tool input[type="range"]{accent-color:#56685d}
@media(prefers-reduced-motion:reduce){body::before{animation:none!important;transform:none!important;will-change:auto}body::after{display:none!important}.landing-plan-trial{transition:none}.landing-plan-trial:hover{transform:none}}
html[data-theme="midnight"] :is(.analytics-panel,.profile-menu,.ledger-review-performance,.ledger-month-review){background-color:var(--panel)!important;border-color:var(--line)}
html[data-theme="midnight"] .news-periods{background:#151817;border-color:var(--line)}html[data-theme="midnight"] .profile-theme-button{color:var(--text);border-color:var(--line)}
/* Light-theme actions keep dark lettering on their light hover surface. */
html[data-theme="graphite"] .auth-card .auth-submit:hover,html[data-theme="graphite"] body.auth-ready .button:hover:not(:disabled){background:#dbe2de!important;color:#202a27!important;border-color:#85968c!important}
/* News cards must not inherit the old dark gradient in Frost. */
html[data-theme="graphite"] .news-event{background:#f3e9ec!important;border-color:#d5b4bc;color:#422e35}
html[data-theme="graphite"] .news-event-date,html[data-theme="graphite"] .news-event-date strong{color:#573a43}
html[data-theme="graphite"] .news-event-detail{color:#70555d}
html[data-theme="midnight"] .news-event{background:#2a2326!important;border-color:#65434d;color:var(--text)}
html[data-theme="graphite"] .news-periods button{background:transparent;color:#40574a;box-shadow:none}
html[data-theme="graphite"] .news-periods button[aria-pressed="true"]{background:#d3dfd7!important;color:#17271e!important;box-shadow:inset 0 0 0 1px #a6b9ad}
@media(hover:hover) and (pointer:fine){html[data-theme="graphite"] .news-event:hover{background:#e9dce1!important;border-color:#af7f8e}html[data-theme="midnight"] .news-event:hover{background:#382b31!important;border-color:#b16f84}}
@media(hover:none){html[data-theme="graphite"] .news-periods button:not([aria-pressed="true"]):hover{background:transparent!important;color:#40574a!important}html[data-theme="midnight"] .news-periods button:not([aria-pressed="true"]):hover{background:transparent;color:var(--muted)}.record-card:hover{transform:none!important;box-shadow:none!important}.landing-plan-trial:hover{transform:none;box-shadow:inset 0 1px #fff7,0 8px 24px #14261b12}}
button,a,input,select,textarea{touch-action:manipulation}
