/* Demo-only interface. Scoped to preserve the production/account interface. */
[hidden] { display: none !important; }

.fc-demo { --d-ink:#002450; --d-teal:#005250; --d-mint:#31c6b3; --d-gold:#d6a84b; --d-muted:#4d6074; --d-line:#d4dfe7; color:var(--d-ink); background:#f7f9fa; font-family:Arial,Helvetica,sans-serif; font-size:16px; line-height:1.6; }
.fc-demo *, .fc-demo *::before, .fc-demo *::after { box-sizing:border-box; }
.fc-demo h1,.fc-demo h2,.fc-demo h3,.fc-demo p { margin:0; }
.fc-demo h1,.fc-demo h2,.fc-demo h3 { color:var(--d-ink); letter-spacing:-.025em; line-height:1.2; text-wrap:balance; }
.fc-demo h1 { font-size:clamp(2rem,4.3vw,3.5rem); font-weight:750; }
.fc-demo h2 { font-size:1.55em; }
.fc-demo h3 { font-size:1.25em; }
.fc-demo p+p { margin-top:1em; }
.fc-demo a { color:var(--d-teal); text-underline-offset:.2em; }
.fc-demo button,.fc-demo input,.fc-demo select { font:inherit; }
.fc-demo button { cursor:pointer; }
.fc-demo :focus-visible { outline:3px solid #007c76; outline-offset:4px; }
.fc-demo main:focus { outline:0; }
.fc-demo .skip-link:focus { z-index:1000; }
.d-demo-banner { display:flex; gap:1em; justify-content:center; align-items:center; padding:.65em 1.2em; font-size:.8em; color:white; background:var(--d-ink); flex-wrap:wrap; }
.d-demo-banner a { color:#fff; text-decoration:underline; }
.d-header { background:#fff; border-bottom:1px solid var(--d-line); }
.d-header-inner { max-width:1264px; margin:auto; padding:1em 32px; display:flex; gap:2em; align-items:center; justify-content:space-between; }
.d-brand { flex-shrink:0; display:block; }
.d-brand img { width:190px; height:auto; display:block; }
.d-nav { display:flex; gap:1.3em; align-items:center; font-size:.9em; font-weight:700; }
.d-nav a { color:var(--d-ink); padding:.75em 0; white-space:nowrap; text-decoration:none; border-bottom:2px solid transparent; }
.d-nav a:hover,.d-nav a[aria-current] { color:var(--d-teal); border-bottom-color:var(--d-teal); }
.d-nav .d-workspace-link { padding:.7em 1em; background:#e8f6f3; border:1px solid #b6dcd3; border-radius:8px; }
.d-menu { display:none !important; }
.d-shell { max-width:1264px; padding:48px 32px 80px; margin:auto; min-height:60vh; }
.d-page-head { display:flex; align-items:flex-end; justify-content:space-between; gap:2em; margin-bottom:30px; }
.d-page-head>div:first-child { max-width:860px; }
.d-eyebrow { font-size:.72em; font-weight:750; letter-spacing:.1em; text-transform:uppercase; color:var(--d-teal); margin-bottom:12px !important; }
.d-lead { color:var(--d-muted); font-size:1.12em; line-height:1.65; max-width:760px; margin-top:18px !important; }
.d-actions { display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.d-button { min-height:44px; display:inline-flex; align-items:center; justify-content:center; gap:.5em; padding:.65em 1.1em; border:1px solid transparent; border-radius:8px; line-height:1.4; text-decoration:none !important; font-weight:700; text-align:center; transition:background .15s; }
.d-button--primary { color:#fff !important; background:var(--d-teal); }
.d-button--primary:hover { background:#003f3e; }
.d-button--secondary { color:var(--d-ink); background:#fff; border-color:#a8bbc9; }
.d-button--secondary:hover { background:#edf4f6; }
.d-button--text { background:transparent; color:var(--d-teal); padding-left:0; text-decoration:underline !important; text-underline-offset:.2em; }
.d-small { font-size:.82em; color:var(--d-muted); line-height:1.6; }
.d-hero { display:grid; grid-template-columns:1.1fr 1fr; gap:56px; align-items:center; padding:15px 0 40px; }
.d-hero h1 { font-size:clamp(2.5rem,4.5vw,3.65rem); line-height:1.1; }
.d-hero h1 span { color:var(--d-teal); }
.d-hero .d-actions { margin:26px 0 12px; }
.d-hero-proof { display:flex; flex-wrap:wrap; gap:12px 20px; margin-top:30px; padding-top:20px; border-top:1px solid var(--d-line); font-size:.8em; color:var(--d-muted); }
.d-hero-example { padding:24px; background:#e7f0f1; border:1px solid #cddfdf; border-radius:20px; }
.d-hero-example>.d-small { margin-top:18px; }
.d-hero-example .d-runner { box-shadow:0 12px 35px #00245008; }
.d-grid { display:grid; gap:24px; }
.d-grid--2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.d-grid--3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.d-align-start { align-items:start; }
.d-card,.d-runner { background:#fff; border:1px solid var(--d-line); border-radius:14px; padding:26px; min-width:0; }
.d-card>h2,.d-card>h3 { margin-bottom:14px; }
.d-card>p,.d-runner>p { color:var(--d-muted); }
.d-card>.d-button { margin-top:16px; }
.d-card ul { padding-left:1.2em; margin:20px 0; }
.d-card li { margin-bottom:12px; }
.d-card-top { display:flex; flex-wrap:wrap; align-items:flex-start; gap:10px; justify-content:space-between; }
.d-card-top .d-eyebrow { margin-bottom:6px !important; }
.d-badge { display:inline-flex; padding:.3em .65em; border-radius:5px; background:#edf1f5; color:#354d64; font-size:.7em; line-height:1.4; font-weight:700; }
.d-badge--mint { background:#dbf5ed; color:#005250; }
.d-badge--gold { background:#fff3d4; color:#694e0b; }
.d-runner--value { border-top:3px solid var(--d-teal); }
.d-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:24px 0 18px; padding:18px 0; border-top:1px solid #e2e8ed; border-bottom:1px solid #e2e8ed; }
.d-metrics>div { display:flex; flex-direction:column; justify-content:space-between; }
.d-metrics span { font-size:.8em; color:var(--d-muted); }
.d-metrics strong { font-size:1.75em; letter-spacing:-.04em; white-space:nowrap; }
.d-help { border:1px solid #8ba4b6; border-radius:50%; background:transparent; color:var(--d-ink); height:26px; min-width:26px; font-size:.8rem !important; margin-left:2px; font-weight:700; vertical-align:middle; }
.d-explanation { font-size:.9em; }
.d-save { margin-top:20px; }
.d-save[aria-pressed=true] { background:#e8f6f3; border-color:#8dbfb4; }
.d-section { margin-top:42px; }
.d-section-head { display:flex; gap:20px; align-items:center; justify-content:space-between; margin:28px 0 20px; }
.d-step { color:var(--d-teal); display:inline-flex; background:#edf7f4; padding:6px 12px; border-radius:6px; margin-bottom:20px; font-weight:700; }
.d-day { display:flex; align-items:center; flex-wrap:wrap; gap:12px 24px; padding:18px 20px; background:#eaf1f4; border:1px solid #d5e2e8; border-radius:10px; margin-bottom:24px; font-size:.85em; }
.d-day>span { color:var(--d-muted); }
.d-filters { display:flex; align-items:end; flex-wrap:wrap; gap:16px; margin:24px 0; padding:20px; border:1px solid var(--d-line); border-radius:12px; background:#fff; }
.fc-demo label { display:flex; flex-direction:column; gap:6px; color:var(--d-ink); font-size:.88em; font-weight:700; }
.fc-demo input,.fc-demo select { padding:10px 12px; border:1px solid #a1b4c3; border-radius:6px; min-height:44px; color:var(--d-ink); background:white; max-width:100%; width:100%; line-height:1.4; }
.fc-demo input::placeholder { color:#657585; opacity:1; }
.d-filters label { min-width:140px; }
.d-grow { flex:1; }
.d-race-tile { display:flex; flex-direction:column; align-items:flex-start; }
.d-race-tile h2 { font-size:1.3em; margin:12px 0; }
.d-race-time { font-size:1.5em; color:var(--d-ink) !important; margin:12px 0 0 !important; }
.d-race-time span { font-size:.55em; color:var(--d-muted); }
.d-race-tile>.d-button { margin-top:auto; align-self:stretch; }
.d-race-tile>p:last-of-type { margin-bottom:24px; }
.d-back { display:inline-flex; padding:0 0 20px; font-weight:700; }
.d-race-nav { display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between; padding-bottom:20px; gap:20px; }
.d-race-nav label { min-width:180px; }
.d-race-number,.d-pagination a { display:inline-flex; justify-content:center; align-items:center; width:44px; min-height:44px; border:1px solid #a8bbc9; border-radius:8px; text-decoration:none; background:#fff; font-weight:700; }
.d-race-number[aria-current],.d-pagination a[aria-current] { background:var(--d-ink); color:white; }
.d-notice { border:1px solid #b8d4d1; border-left:4px solid var(--d-teal); border-radius:8px; background:#edf7f4; padding:18px 20px; display:flex; flex-wrap:wrap; gap:8px 18px; margin:20px 0; font-size:.88em; }
.d-notice span { color:var(--d-muted); }
.d-scenario { padding:20px; border-radius:10px; border:1px solid #ddc687; background:#fff8e8; display:flex; gap:24px; align-items:center; justify-content:space-between; margin:24px 0; }
.d-scenario p { margin-top:6px; font-size:.88em; }
.d-scenario .d-button { flex-shrink:0; }
.fc-demo details { margin-top:18px; }
.fc-demo summary { font-weight:700; color:var(--d-teal); cursor:pointer; min-height:44px; padding:10px 0; }
.fc-demo details>p { margin:12px 0; font-size:.9em; }
.d-definition { margin:16px 0; font-size:.9em; }
.d-definition>div { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 20px; padding:10px 0; border-bottom:1px solid #e2e8ed; }
.d-definition dt { color:var(--d-muted); }
.d-definition dd { margin:0; font-weight:700; }
.d-table-wrap { max-width:100%; overflow:auto; background:#fff; border:1px solid var(--d-line); border-radius:10px; }
.fc-demo table { width:100%; border-collapse:collapse; text-align:left; font-size:.88em; white-space:nowrap; }
.fc-demo th,.fc-demo td { padding:16px; border-bottom:1px solid #e2e8ed; }
.fc-demo thead { background:#edf2f6; }
.fc-demo td small { display:block; color:var(--d-muted); }
.fc-demo caption { padding:14px 16px; text-align:left; font-size:.9em; color:var(--d-muted); }
.d-stat-row .d-card>span { display:block; font-size:.85em; color:var(--d-muted); }
.d-stat-row strong { display:block; font-size:2em; margin:8px 0; }
.d-stat-row p { font-size:.85em; }
.d-loss { color:#94452b; }
.d-form { display:flex; flex-direction:column; gap:20px; }
.d-form details { margin:0; }
.d-form .d-grid { gap:14px; }
.d-plan { border-top:4px solid var(--d-teal); }
.d-plan .d-metrics { grid-template-columns:1fr 1fr; }
.d-outcomes { display:flex; flex-direction:column; gap:12px; padding:16px; background:#f0f4f6; border-radius:8px; margin-bottom:20px; font-size:.88em; }
.d-outcomes p { display:flex; flex-direction:column; margin:0 !important; }
.d-error { border-left:4px solid #a03929; background:#fff0eb; color:#722e21; padding:16px; }
.d-empty { padding:32px; text-align:center; background:#edf3f6; border:1px dashed #a1b4c3; border-radius:12px; margin:20px 0; }
.d-empty h2 { font-size:1.3em; margin-bottom:10px; }
.d-empty .d-button { margin-top:16px; }
.d-chart { width:100%; display:block; height:auto; margin-top:24px; overflow:visible; }
.d-chart text { font:12px Arial,sans-serif; fill:var(--d-muted); }
.d-pagination { display:flex; gap:10px; justify-content:center; margin:24px 0; }
.d-pricing { display:flex; flex-direction:column; }
.d-pricing--featured { border:2px solid var(--d-teal); }
.d-pricing .d-button { margin-top:auto; }
.d-price { font-size:2.6em; color:var(--d-ink) !important; font-weight:750; }
.d-price span { font-size:.35em; font-weight:400; color:var(--d-muted); }
.d-check { flex-direction:row !important; align-items:center; min-height:44px; gap:12px !important; }
.d-check input { width:22px; height:22px; min-height:22px; accent-color:var(--d-teal); flex-shrink:0; }
.d-reading { max-width:760px; margin:auto; }
.d-reading>p { line-height:1.9; font-size:1.05em; color:#354d64; }
.d-reading>.d-actions { margin-top:32px; }
.d-footer { background:var(--d-ink); color:#fff; padding:42px 32px 20px; }
.d-footer-inner { max-width:1200px; margin:auto; display:grid; grid-template-columns:2fr 1fr 1fr; gap:32px; }
.d-footer img { height:auto; width:190px; margin-bottom:14px; }
.d-footer nav { display:flex; flex-direction:column; align-items:flex-start; gap:10px; font-size:.85em; }
.d-footer a,.d-footer button { color:white; }
.d-footer button { border:0; background:none; padding:5px 0; text-align:left; text-decoration:underline; text-underline-offset:3px; }
.d-footer .d-small { color:#c3d3e2; margin-top:12px; }
.d-footer-bottom { max-width:1200px; margin:30px auto 0; border-top:1px solid #3c5677; padding-top:20px; font-size:.75em; color:#c3d3e2; }
.fc-demo #toast-region { position:fixed; right:24px; bottom:24px; width:auto; max-width:min(440px,calc(100vw - 32px)); background:var(--d-ink); color:white; border-radius:10px; z-index:110; padding:0; box-shadow:0 6px 30px #00245020; font-size:.9em; }
.fc-demo #toast-region:not(:empty) { padding:18px 22px; }
.fc-demo dialog { border:1px solid var(--d-line); border-radius:16px; padding:0; width:560px; max-width:calc(100vw - 32px); max-height:calc(100dvh - 40px); color:var(--d-ink); background:#fff; }
.fc-demo dialog::backdrop { background:#001d3abb; }
.d-dialog-content { padding:32px; display:flex; flex-direction:column; gap:20px; }
.d-dialog-content form { display:flex; flex-direction:column; gap:20px; }
#demo-tour { position:fixed; bottom:20px; left:50%; transform:translateX(-50%); max-width:1060px; width:calc(100% - 40px); padding:22px 26px; background:#fff; border:2px solid var(--d-teal); box-shadow:0 6px 40px #00245030; z-index:90; border-radius:14px; display:flex; gap:24px; align-items:center; }
#demo-tour>div:first-child { flex:1; }
#demo-tour h2 { font-size:1.2em; margin-bottom:6px; }
#demo-tour p { font-size:.85em; }
#demo-tour .d-eyebrow { margin-bottom:6px !important; }
#demo-tour .d-actions { max-width:290px; }
.d-touring .d-footer { padding-bottom:210px; }
.fc-demo.d-large-text { font-size:19px; }
@media(min-width:1001px) and (max-width:1200px) { .d-nav { gap:.7em; font-size:.8em; } .d-brand img { width:160px; } .d-header-inner { gap:1em; } }
@media(max-width:1000px) {
 .d-header-inner { flex-wrap:wrap; gap:16px; padding:16px 24px; }
 .d-menu { display:inline-flex !important; }
 .d-nav { display:none; width:100%; flex-wrap:wrap; gap:10px 24px; }
 .d-nav.is-open { display:flex; }
 .d-nav a { min-height:44px; }
 .d-hero { gap:28px; }
 .d-grid--3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .d-hero-example { padding:18px; }
 .d-metrics strong { font-size:1.5em; }
 .d-card,.d-runner { padding:22px; }
 #demo-tour { gap:16px; }
}
@media(max-width:720px) {
 .d-shell { padding:30px 18px 50px; }
 .d-header-inner { padding:14px 18px; }
 .d-brand img { width:165px; }
 .d-demo-banner { justify-content:flex-start; gap:3px 14px; font-size:.72em; padding:8px 18px; }
 .d-page-head { flex-direction:column; align-items:flex-start; gap:18px; }
 .d-hero { grid-template-columns:1fr; gap:28px; padding:0; }
 .d-hero h1 { font-size:2.5em; }
 .d-hero-proof { margin-top:24px; }
 .d-grid--2,.d-grid--3 { grid-template-columns:1fr; }
 .d-grid { gap:18px; }
 .d-card,.d-runner { padding:20px; }
 .d-hero-example { padding:16px; }
 .d-metrics { gap:8px; }
 .d-metrics span { font-size:.75em; }
 .d-metrics strong { font-size:1.6em; }
 .d-section-head { flex-wrap:wrap; gap:10px; }
 .d-filters { padding:16px; gap:14px; }
 .d-filters label { flex:1; min-width:100%; }
 .d-filters .d-button--primary { flex:1; }
 .d-scenario { flex-direction:column; align-items:flex-start; gap:16px; }
 .d-day { gap:8px; padding:16px; }
 .d-day>* { width:100%; }
 .d-race-nav { align-items:flex-start; }
 .d-race-nav .d-actions { gap:8px; }
 .d-form .d-grid { grid-template-columns:1fr; }
 .d-footer { padding:32px 20px 20px; }
 .d-footer-inner { grid-template-columns:1fr 1fr; gap:28px 20px; }
 .d-footer-inner>div:first-child { grid-column:1/-1; }
 .d-footer a,.d-footer button { min-height:32px; }
 #demo-tour { width:calc(100% - 20px); bottom:10px; padding:16px; flex-direction:column; align-items:stretch; gap:14px; max-height:45dvh; overflow:auto; }
 #demo-tour .d-actions { max-width:none; gap:8px; }
 #demo-tour .d-button { font-size:.8em; }
 .d-touring .d-footer { padding-bottom:340px; }
 .d-touring #toast-region { bottom:auto; top:12px; }
 .d-dialog-content { padding:24px; }
}
@media(prefers-reduced-motion:reduce) { .fc-demo * { scroll-behavior:auto !important; transition:none !important; animation:none !important; } }


/* October demo refinement: established navy, teal and mint, with Early Value in focus. */
.d-hero--impact { grid-template-columns:1.1fr 1fr; gap:0; padding:0; overflow:hidden; border:1px solid #173d61; border-radius:22px; background:var(--d-ink); box-shadow:0 16px 42px #0024500d; }
.d-hero-copy { padding:46px 38px; background:linear-gradient(145deg,transparent 55%,#31c6b312); }
.d-hero--impact h1 { color:#fff; font-size:clamp(2.5rem,4.1vw,3.6rem); }
.d-hero--impact h1 span,.d-hero-copy .d-eyebrow { color:var(--d-mint); }
.d-hero-copy .d-lead,.d-hero-copy .d-small,.d-hero-copy .d-hero-proof { color:#ccdae5; }
.d-hero-copy .d-hero-proof { border-color:#ffffff30; gap:9px 16px; margin-top:25px; }
.d-hero-copy .d-button--primary { color:var(--d-ink) !important; background:var(--d-mint); }
.d-hero-copy .d-button--primary:hover { background:#72ddcf; }
.d-hero-showcase { padding:26px; }
.d-early-example { background:#f3f8f8; padding:30px; border:1px solid #c4dad9; border-radius:16px; color:var(--d-ink); }
.d-early-example>p { color:var(--d-muted); margin-top:15px; font-size:.92em; }
.d-early-example h2 { margin:12px 0; }
.d-price-timeline { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:25px 0 22px; }
.d-price-timeline>div { display:flex; flex-direction:column; gap:8px; padding:14px 9px; border-top:3px solid #9fbab9; background:#e5eeee; border-radius:0 0 8px 8px; }
.d-price-timeline>div:first-child { background:#d9f4ee; border-color:var(--d-teal); }
.d-price-timeline span { font-size:.72em; font-weight:700; }
.d-price-timeline strong { color:var(--d-teal); font-size:clamp(1.9rem,2.6vw,2.5rem); letter-spacing:-.04em; line-height:1.1; }
.d-price-timeline small { font-size:.7em; line-height:1.4; color:var(--d-muted); }
.d-early-example .d-price-advantage { border-left:3px solid var(--d-teal); padding:10px 14px; background:white; }
.d-price-advantage strong { display:block; font-size:1.3em; color:var(--d-teal); }
.d-value-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:24px; padding:22px; gap:24px; border-bottom:1px solid var(--d-line); text-align:center; }
.d-value-strip strong,.d-value-strip span { display:block; }
.d-value-strip strong { font-size:1.25em; }
.d-value-strip span { color:var(--d-muted); font-size:.8em; }
.d-home-cta,.d-upgrade { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:25px; padding:30px; border:1px solid #b4d8d0; background:#e8f6f2; border-radius:14px; margin-top:32px; }
.d-home-cta>div,.d-upgrade>div { flex:1; min-width:min(100%,260px); }
.d-home-cta p,.d-upgrade p { margin-top:12px; }
.d-early-explainer>p { margin-bottom:18px; }
.d-value-steps { padding-left:25px; }
.d-value-steps li { padding-left:6px; margin-bottom:22px; }
.d-value-steps strong,.d-value-steps span { display:block; }
.d-value-steps span { margin-top:5px; font-size:.94em; color:var(--d-muted); }
.d-pricing { display:flex; flex-direction:column; }
.d-pricing>.d-button { margin-top:auto; }
.d-pricing ul { flex:1; }
.d-runner--limited p { margin:12px 0; }
.d-runner--limited .d-button { display:flex; margin-top:15px; }
@media(max-width:1000px) { .d-hero-copy { padding:34px 26px; } .d-hero-showcase { padding:20px; } .d-early-example { padding:23px; } }
@media(max-width:800px) { .d-hero--impact { grid-template-columns:1fr; } .d-hero-copy { padding:32px 24px 16px; } .d-hero-showcase { padding:20px; } .d-value-strip { gap:12px; padding:18px 0; } .d-value-strip strong { font-size:1em; } .d-value-strip span { font-size:.73em; } }
@media(max-width:420px) { .d-hero-copy { padding:28px 20px 12px; } .d-hero-showcase { padding:14px; } .d-early-example { padding:19px; } .d-price-timeline { gap:5px; } .d-price-timeline>div { padding:12px 6px; } .d-price-timeline strong { font-size:1.85rem; } .d-home-cta,.d-upgrade { padding:22px; } }

/* Scenario Builder: retain the demo's navy, teal and clear numeric hierarchy. */
.d-scenario-section,.d-runner-picker { border:0; padding:0; margin:0; min-width:0; }
.d-scenario-section { display:flex; flex-direction:column; gap:16px; }
.d-scenario-section legend { font-size:1.1rem; font-weight:800; padding:0 0 18px; color:var(--d-teal); }
.d-scenario-section+.d-scenario-section { border-top:1px solid var(--d-line); padding-top:22px; }
.d-scenario-section+.d-scenario-section legend { padding-top:22px; }
.d-mode-options { display:grid; gap:10px; }
.fc-demo .d-mode-options label,.fc-demo .d-runner-choice { display:flex; flex-direction:row; align-items:flex-start; gap:12px; cursor:pointer; }
.d-mode-options label { padding:15px; border:1px solid var(--d-line); border-radius:10px; background:#f8fafb; }
.d-mode-options label:has(input:checked) { border-color:var(--d-teal); background:#e8f6f2; box-shadow:inset 0 0 0 1px var(--d-teal); }
.fc-demo .d-mode-options input,.fc-demo .d-runner-choice input { flex:0 0 auto; width:19px; height:19px; min-height:0; margin:3px 0 0; accent-color:var(--d-teal); }
.d-mode-options small,.d-runner-choice small { display:block; font-size:.82rem; font-weight:400; line-height:1.55; color:var(--d-muted); margin-top:4px; }
.d-runner-picker>legend { padding-bottom:10px; font-size:1rem; }
.d-selection-count { font-size:.85rem; font-weight:700; color:var(--d-teal); margin:14px 0; }
.d-choice-race { border:1px solid var(--d-line); border-radius:10px; padding:14px; margin-bottom:10px !important; }
.d-choice-race>summary { font-size:.94rem; }
.d-choice-race>p { margin:10px 0; }
.d-runner-choice { padding:12px 0; border-top:1px solid #e2e8ed; }
.d-runner-choice:last-child { padding-bottom:0; }
.d-allocation { border:1px solid #c4dad9; background:#f3f8f8; border-radius:12px; padding:18px; margin-top:16px; }
.d-allocation h3 { font-size:1.1rem; margin-top:5px; }
.d-allocation>p { font-size:.9rem; margin-top:10px; }
.d-choice-warning { background:#fff4dc; border-left:3px solid #b27922; padding:10px 12px; color:#674413; font-size:.85rem; }
.d-scenario-outcomes { margin:22px 0; }
.d-scenario-outcomes>div { padding-top:14px; }
.d-scenario-outcomes p { font-size:.9rem; margin-top:8px; }
.d-plan>[data-action] { margin-top:18px; }
.d-stale { margin-bottom:18px; }
@media(min-width:721px) { .d-scenario-layout { grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); } }


/* Research release 3.0: retain the navy/teal system, add dense research surfaces. */
.fc-demo .r-wrap{flex-wrap:wrap;align-items:end;gap:14px}
.fc-demo .r-wrap label{min-width:130px;flex:1 1 145px}
.fc-demo .r-workspace-nav{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 26px}
.fc-demo .r-workspace-nav .d-button{padding:9px 15px;font-size:.88rem}
.fc-demo .r-comparison table{min-width:1040px}
.fc-demo .r-comparison th:first-child,.fc-demo .r-comparison td:first-child{position:sticky;left:0;z-index:1;background:#fff;min-width:180px;box-shadow:2px 0 0 #e2ebeb}
.fc-demo .r-comparison thead th:first-child{background:#e9f1f6;z-index:2}
.fc-demo .r-comparison .r-qualifies th:first-child,.fc-demo .r-qualifies{background:#effaf7}
.fc-demo .r-row-actions{display:flex;gap:6px;flex-wrap:wrap}
.fc-demo .r-row-actions .d-button{padding:7px 9px;font-size:.8rem;min-height:36px}
.fc-demo .r-row-actions [aria-pressed=true]{background:#005250;color:#fff}
.fc-demo .r-evidence{border-top:1px solid #dce7e8;padding:15px 0;margin-top:10px}
.fc-demo .r-evidence summary{font-weight:700;color:#005250;cursor:pointer;min-height:30px}
.fc-demo .r-evidence[open] summary{margin-bottom:16px}
.fc-demo .r-runner-detail{margin:14px 0;scroll-margin-top:120px}
.fc-demo .r-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:16px 0}
.fc-demo .r-facts dt{color:#637484;font-size:.82rem}
.fc-demo .r-facts dd{font-weight:700;margin:4px 0;color:#002450}
.fc-demo .r-speed{margin:22px 0}
.fc-demo .r-speed-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.fc-demo .r-speed-grid section{background:#f1f7f7;padding:14px;border-radius:12px;border-top:4px solid #2cbeb4}
.fc-demo .r-speed-grid h3{font-size:1rem}
.fc-demo .r-speed-grid p{border-top:1px solid #cfdddd;padding-top:10px;font-size:.9rem}
.fc-demo .r-speed-grid small,.fc-demo table small{display:block;color:#526875;font-size:.78rem;margin-top:4px}
.fc-demo .r-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:20px 0}
.fc-demo .r-stats strong{display:block;font-size:1.6rem;color:#002450;line-height:1.4;margin:7px 0}
.fc-demo .r-stats span{font-size:.85rem;color:#536b7a}
.fc-demo .r-tray{position:sticky;bottom:14px;z-index:12;background:#002450;color:white;box-shadow:0 8px 30px #00245040;border-radius:14px;padding:16px 22px;display:flex;align-items:center;gap:14px;margin:24px 0}
.fc-demo .r-tray span{flex:1;font-size:.9rem;color:#d9eded}
.fc-demo .r-tray .d-button{background:#fff;color:#002450;border:0}
.fc-demo .r-tray .d-button:first-of-type{background:#2cbeb4}
.fc-demo .r-brief-banner{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;background:#eaf7f5;border-color:#b6ded7}
.fc-demo textarea{width:100%;min-height:105px;resize:vertical;border:1px solid #b2c1c8;border-radius:8px;padding:12px;font:inherit;background:white;color:#14324a;box-sizing:border-box}
.fc-demo form[data-research-form] label{display:block;margin-bottom:13px;font-weight:600;color:#183d51}
.fc-demo form[data-research-form] input:not([type=checkbox]),.fc-demo form[data-research-form] select{width:100%;padding:11px;border:1px solid #b2c1c8;border-radius:8px;background:#fff;color:#14324a;font:inherit;box-sizing:border-box;margin-top:5px}
.fc-demo .r-note{max-width:250px;white-space:normal;overflow-wrap:anywhere}
.fc-demo .r-advanced{border-top:4px solid #2cbeb4}
.fc-demo .r-advanced .d-table-wrap table{min-width:500px}
.fc-demo .r-advanced form{margin-top:20px}
.fc-demo #research-notices p{background:#edf6f5;padding:12px;border-radius:8px}
.fc-demo .d-nav{gap:15px}
.fc-demo .d-nav>a{font-size:.89rem}
@media(max-width:1000px){.fc-demo .r-facts,.fc-demo .r-speed-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fc-demo .d-nav{gap:10px}}
@media(max-width:700px){.fc-demo .r-workspace-nav{display:flex;flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px;max-width:100%}.fc-demo .r-workspace-nav a{white-space:nowrap;flex-shrink:0}.fc-demo .r-tray{bottom:8px;flex-wrap:wrap;padding:14px;gap:8px}.fc-demo .r-tray span{display:none}.fc-demo .r-tray strong{width:100%}.fc-demo .r-tray .d-button{flex:1}.fc-demo .r-brief-banner{display:block}.fc-demo .r-brief-banner>a{margin-top:12px}.fc-demo .r-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.fc-demo .r-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.fc-demo .r-stats strong{font-size:1.3rem}.fc-demo .r-comparison th:first-child{min-width:130px;max-width:155px;white-space:normal}.fc-demo .r-wrap label{min-width:0;flex-basis:calc(50% - 14px)}.fc-demo .r-runner-detail>.d-card-top{flex-wrap:wrap}.fc-demo .r-speed-grid{gap:8px}.fc-demo .r-speed-grid section{padding:10px}.fc-demo .d-dialog-content{padding:20px!important}}
@media(prefers-reduced-motion:reduce){.fc-demo *{scroll-behavior:auto!important}}

.fc-demo .r-runner-card{display:flex;flex-direction:column;min-width:0}
.fc-demo .r-runner-card .d-runner{flex:1;border-radius:16px 16px 0 0}
.fc-demo .r-card-actions{display:flex;flex-wrap:wrap;gap:8px;background:#fff;border:1px solid #dce7e8;border-top:0;padding:16px;border-radius:0 0 16px 16px}

/* Task-focused layouts retain the existing FurlongCue palette and type. */
.fc-demo.ux-task-page .d-page-head { margin-bottom:22px; }
.fc-demo.ux-task-page h1 { font-size:clamp(1.8rem,3vw,2.5rem); }
.fc-demo.ux-task-page .d-lead { font-size:1rem; max-width:76ch; }
.fc-demo .ux-utility { position:relative; }
.fc-demo .ux-utility summary { cursor:pointer; min-height:44px; display:flex; align-items:center; gap:6px; font-weight:700; }
.fc-demo .ux-utility summary::after { content:'⌄'; }
.fc-demo .ux-utility>div { position:absolute; right:0; top:100%; min-width:210px; z-index:25; display:grid; background:white; border:1px solid var(--d-line); padding:12px; border-radius:12px; box-shadow:0 8px 30px #00245020; }
.fc-demo .ux-utility a,.fc-demo .ux-utility button { padding:10px; text-align:left; background:white; border:0; color:var(--d-teal); }
.fc-demo .ux-disclosure { margin:16px 0; }
.fc-demo .ux-disclosure>summary,.fc-demo .ux-advanced>summary,.fc-demo .ux-allocations>summary { cursor:pointer; min-height:44px; padding:10px 0; font-weight:700; }
.fc-demo .ux-disclosure>.d-section { margin-top:12px; }
.fc-demo .ux-disclosure>.d-runner { border:0; padding:12px 0; box-shadow:none; }
.fc-demo .ux-workspace-briefing { margin-bottom:20px; }
.fc-demo .ux-workspace-briefing>h2 { margin:14px 0; }
.fc-demo .ux-jump { margin-bottom:10px; }
.fc-demo .ux-runner-actions { margin-top:16px; }
.fc-demo .ux-runner-panel { margin:0 0 0 auto; height:100dvh; max-height:100dvh; width:min(760px,94vw); max-width:94vw; border:0; border-left:1px solid var(--d-line); padding:22px; color:var(--d-ink); background:#f7f9fa; overflow:auto; }
.fc-demo .ux-runner-panel::backdrop { background:#00245066; }
.fc-demo .ux-panel-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:16px; }
.fc-demo .ux-panel-heading h2 { font-size:1.5rem; }
.fc-demo .ux-tabs { display:flex; border-bottom:2px solid var(--d-line); gap:5px; margin-bottom:16px; overflow:auto; }
.fc-demo .ux-tabs button { flex:1; min-height:44px; white-space:nowrap; background:transparent; border:0; border-bottom:3px solid transparent; padding:10px; color:var(--d-teal); }
.fc-demo .ux-tabs button[aria-selected=true] { border-color:var(--d-teal); font-weight:700; }
.fc-demo .ux-runner-panel .r-runner-detail { margin:0; padding:18px; }
.fc-demo .ux-runner-panel .r-runner-detail>.d-card-top h3 { font-size:1.1rem; }
.fc-demo .ux-runner-panel [data-panel]>summary { display:none; }
.fc-demo .ux-runner-panel .r-evidence { margin-top:16px; }
.fc-demo .ux-runner-panel .d-actions { margin-top:18px; }
.fc-demo .ux-selection-list { display:flex; flex-wrap:wrap; gap:8px; list-style:none; padding:0; margin:0; max-height:120px; overflow:auto; flex:1 1 260px; }
.fc-demo .ux-selection-list li { display:flex; gap:6px; align-items:center; flex-wrap:wrap; border:1px solid #738ba8; border-radius:8px; padding:4px 8px; font-size:.85rem; }
.fc-demo .ux-selection-list .d-button { min-width:36px; min-height:36px; padding:3px; }
.fc-demo .r-tray { flex-wrap:wrap; }
.fc-demo .r-tray .d-small { color:#d9eded; font-size:.8rem; }
.fc-demo .ux-update { position:sticky; bottom:0; z-index:5; padding:12px 0; background:white; display:flex; align-items:center; flex-wrap:wrap; gap:12px; border-top:1px solid var(--d-line); }
.fc-demo .ux-update span { font-size:.8rem; color:var(--d-muted); }
.fc-demo #runner-choices { max-height:55vh; overflow:auto; padding:4px; }
.fc-demo .ux-advanced,.fc-demo .ux-allocations { margin-top:14px; }
.fc-demo .ux-note-preview { margin:10px 0; overflow-wrap:anywhere; }
.fc-demo .ux-filter-summary { padding:8px 0; }
.fc-demo [id^=results-],.fc-demo #opportunities,.fc-demo #saved-scenario { scroll-margin-top:24px; }
@media(max-width:1000px){
 .fc-demo .ux-utility>div { position:static; box-shadow:none; margin-bottom:8px; }
 .fc-demo .ux-utility { width:100%; }
}
@media(max-width:700px){
 .fc-demo .ux-runner-panel { width:100%; max-width:100%; padding:14px; }
 .fc-demo .ux-panel-heading { gap:8px; }
 .fc-demo .ux-panel-heading .d-button { font-size:.8rem; }
 .fc-demo .ux-selection-list { max-height:86px; flex-basis:100%; }
 .fc-demo .ux-selection-list .d-button { min-height:44px; min-width:44px; }
 .fc-demo .r-row-actions .d-button { min-height:44px; }
 .fc-demo .ux-tabs button { padding:8px; font-size:.9rem; }
 .fc-demo .r-tray { position:static; }
}
@media(prefers-reduced-motion:reduce){.fc-demo *{scroll-behavior:auto!important;transition:none!important;}}
