@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700&display=swap');
:root{--navy:#071426;--navy2:#0d2038;--blue:#3f7cff;--blue2:#eaf1ff;--ink:#17243a;--muted:#6e7c91;--line:#e3e8ef;--paper:#f4f7fb;--white:#fff;--green:#0b9d72;--red:#d85863}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:13px 'DM Sans',system-ui,sans-serif}button,input,select{font:inherit}button,a{transition:.16s ease}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:236px;background:var(--navy);color:#aec0d8;display:flex;flex-direction:column;z-index:20}.brand{height:68px;display:flex;align-items:center;gap:10px;padding:0 22px;border:0;border-bottom:1px solid #1a2c43;background:transparent;color:white;cursor:pointer}.brand span{font-size:25px}.brand b{font:700 18px Manrope;letter-spacing:-.03em}.sidebar nav{padding:16px 12px;border-bottom:1px solid #172a42}.sidebar a,.sidebar-bottom a{display:flex;align-items:center;gap:12px;padding:10px;border-radius:7px;color:#96a8c0;text-decoration:none;font-weight:500}.sidebar nav a:hover,.sidebar nav a.active{background:#162b47;color:#fff}.sidebar nav a.active{box-shadow:inset 3px 0 var(--blue)}.sidebar nav small{margin-left:auto;background:#223651;padding:2px 6px;border-radius:8px;font-size:9px}.workspace-label{padding:19px 22px 8px;color:#536b89;font-size:9px;font-weight:700;letter-spacing:.14em}.model-tree{padding:0 11px}.model-tree button{width:100%;display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:9px;padding:9px;border:0;background:transparent;color:#b6c4d7;text-align:left;cursor:pointer}.model-tree button>svg{transform:rotate(0);transition:transform .16s ease}.model-tree button[aria-expanded="true"]>svg{transform:rotate(90deg)}.model-tree button b,.model-tree button small{display:block}.model-tree button b{font-size:11px;color:#e4ebf3}.model-tree button small{font-size:9px;color:#617792;margin-top:2px}.tree-dot{width:28px;height:28px;display:grid;place-items:center;border-radius:6px;color:#fff;font-weight:700}.bonds{background:#346fe3}.options{background:#7056d9}.equity{background:#168d77}.tree-children{margin:1px 0 7px 22px;padding-left:16px;border-left:1px solid #243b58}.tree-children a{position:relative;padding:7px 9px;font-size:10px}.tree-children a.selected{background:#17335a;color:#8fb5ff}.tree-children a.selected:before{content:"";position:absolute;left:-17px;width:1px;height:28px;background:#4d86f7}.sidebar-bottom{margin-top:auto;display:flex;align-items:center;padding:13px 11px;border-top:1px solid #1b2e46}.sidebar-bottom a{flex:1}.sidebar-bottom button{border:1px solid #29405c;background:transparent;color:#7890ac;border-radius:5px;width:28px;height:28px}main{margin-left:236px;min-height:100vh;display:flex;flex-direction:column}header{height:68px;display:flex;align-items:center;padding:0 29px;border-bottom:1px solid var(--line);background:#fff}.search{display:flex;align-items:center;gap:9px;width:400px;color:#8190a4}.search input{width:100%;border:0;outline:0;color:var(--ink);font-size:12px}.search kbd{border:1px solid var(--line);border-radius:5px;padding:3px 6px;background:#fafbfc;color:#8c98a8;font-size:9px}.header-actions{display:flex;align-items:center;gap:15px;margin-left:auto}.icon-button,.avatar{display:grid;place-items:center;border:1px solid var(--line);background:white;border-radius:50%;color:#637188}.icon-button{width:29px;height:29px}.avatar{width:31px;height:31px;background:#172d4d;color:white;border:0;font-size:9px}.mobile-menu{display:none}.content{width:100%;max-width:1390px;margin:0 auto;padding:21px 31px 38px}.breadcrumbs{color:#8794a6;font-size:10px}.breadcrumbs span{padding:0 8px;color:#c0c8d3}.breadcrumbs b{color:#44546b}.model-header{display:flex;align-items:center;gap:14px;padding:20px 0 18px}.instrument-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:9px;background:#e7efff;color:#356ed7;font:700 17px Manrope}.title-line{display:flex;align-items:center;gap:10px}.title-line h1{margin:0;font:700 23px Manrope;letter-spacing:-.025em}.status{display:flex;align-items:center;gap:4px;padding:4px 7px;border-radius:5px;background:#e8f8f2;color:#078563;font-size:8px;font-weight:700;letter-spacing:.08em}.model-header p{margin:5px 0 0;color:#7b899c;font-size:10px}.model-actions{display:flex;gap:8px;margin-left:auto}.model-actions button{display:flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid #dbe2eb;border-radius:6px;background:#fff;color:#536278;font-weight:600;font-size:10px;cursor:pointer}.model-actions .run{border-color:#2f6de6;background:#346fe3;color:#fff}.model-actions .ran{background:var(--green)}.mode-switch{display:inline-flex;padding:3px;margin-bottom:16px;border:1px solid var(--line);border-radius:8px;background:#edf1f6}.mode-switch button{min-width:185px;padding:7px 13px;border:0;border-radius:6px;background:transparent;color:#7a8799;text-align:left;cursor:pointer}.mode-switch b,.mode-switch small{display:block}.mode-switch b{font-size:10px}.mode-switch small{margin-top:2px;font-size:8px}.mode-switch button.active{background:#fff;color:#275fbf;box-shadow:0 2px 7px #233b6020}.workbench{display:grid;grid-template-columns:282px minmax(0,1fr);gap:15px}.card,.metric{border:1px solid var(--line);border-radius:9px;background:#fff;box-shadow:0 1px 2px #182b4510}.parameters{align-self:start}.card-title{display:flex;align-items:center;justify-content:space-between;padding:17px 18px;border-bottom:1px solid #edf0f4}.card-title span,.chart-head span{color:#8090a5;font-size:8px;font-weight:700;letter-spacing:.12em}.card-title h2,.chart-head h2{margin:4px 0 0;font:700 13px Manrope}.card-title button{border:0;background:transparent;color:#3d71d2;font-size:9px;font-weight:600;cursor:pointer}.field-list{padding:3px 18px 11px}.field-list label{display:block;padding:10px 0 8px;border-bottom:1px solid #eef1f4}.field-list label>span,.target>span{display:flex;justify-content:space-between;margin-bottom:6px;color:#46566d;font-size:9px;font-weight:600}.field-list em,.target em{color:#9aa5b3;font-size:8px;font-style:normal;font-weight:500}.input-row{display:flex;align-items:center;border:1px solid #dfe5ec;border-radius:5px;background:#fbfcfd;overflow:hidden}.input-row .number-input{min-width:0;width:100%;padding:6px 8px;border:0;outline:0;background:transparent;color:#1a2c45;font-size:10px;font-weight:600}.input-row span{padding-right:8px;color:#98a4b3;font-size:8px}.slider{width:100%;height:3px;margin:9px 0 0;accent-color:#3e79ec;display:block}.confidence{display:flex;align-items:center;justify-content:space-between;padding:13px 18px;border-top:1px solid var(--line);color:#4e5e74;font-size:9px;font-weight:600}.confidence select{border:1px solid var(--line);padding:5px 17px 5px 7px;border-radius:5px;background:#fff;color:#32445c;font-size:9px}.target{display:block;margin:13px 18px 4px;padding:12px;border:1px solid #cfdcff;border-radius:7px;background:#f4f7ff}.target input{width:100%;padding:7px;border:1px solid #d7e0ee;border-radius:5px}.target small{display:block;margin-top:7px;color:#65748a;font-size:8px}.results{min-width:0;display:flex;flex-direction:column;gap:14px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.metric{padding:15px 16px}.metric>span{display:flex;align-items:center;gap:5px;color:#78879b;font-size:8px;font-weight:700;letter-spacing:.08em}.metric strong{display:block;margin:8px 0 5px;font:700 20px Manrope;letter-spacing:-.04em;color:#1e304a}.metric small{color:#8a96a7;font-size:8px}.metric .down{color:var(--red)}.metric .up{color:var(--green)}.metric.primary{border-top:2px solid #407aed}.chart-card{padding:0 18px 11px}.chart-head{display:flex;align-items:center;justify-content:space-between;padding:16px 2px 4px}.legend{display:flex;align-items:center;gap:6px;color:#77869b;font-size:8px}.legend i{width:15px;border-top:2px solid #4f8cff}.risk-chart{width:100%;height:215px;display:block;overflow:visible}.risk-chart text{fill:#8a97a8;font-size:8px}.gridline{stroke:#e9edf2;stroke-width:1}.zero{stroke:#9db4dd;stroke-width:1;stroke-dasharray:4}.dot{fill:#fff;stroke:#4f8cff;stroke-width:2}.chart-note{margin:0 2px;padding:10px 12px;border-radius:6px;background:#f5f8fc;color:#637188;font-size:9px;line-height:1.5}.chart-note b{color:#294b7b}.explain .tabs{display:flex;padding:0 16px;border-bottom:1px solid var(--line)}.tabs button{padding:10px 11px;border:0;border-bottom:2px solid transparent;background:transparent;color:#8490a1;font-size:9px;font-weight:600;cursor:pointer}.tabs button.active{border-color:#3e76e7;color:#3469cc}.tabs i{padding:1px 4px;border-radius:6px;background:#e8f7f2;color:#09835f;font-size:7px;font-style:normal}.all-checks{display:flex;align-items:center;gap:5px!important;color:#05845f!important;letter-spacing:0!important}.formula-row{display:grid;grid-template-columns:23px minmax(180px,.8fr) minmax(250px,1.2fr);align-items:center;gap:11px;padding:11px 18px;border-bottom:1px solid #eff2f5}.formula-row:last-child{border:0}.step{display:grid!important;place-items:center;width:21px;height:21px;border-radius:50%;background:#edf3ff;color:#356fdc!important;font-size:8px!important;letter-spacing:0!important}.formula-row b{font-size:9px}.formula-row p{margin:3px 0 0;color:#8a97a8;font-size:8px}.formula-row code{justify-self:stretch;padding:9px;border-radius:5px;background:#f6f8fb;color:#385072;font-family:Georgia,serif;font-size:10px;text-align:center}.trace-message,.validation-list{padding:20px;color:#607087;line-height:1.6}.trace-message b{color:#273952}.validation-list p{display:flex;align-items:center;gap:8px;margin:7px;color:#177c61}.validation-list svg{stroke:#13a178}footer{display:flex;justify-content:space-between;margin-top:auto;padding:14px 31px;border-top:1px solid var(--line);background:#fff;color:#8c98a8;font-size:8px}footer b{color:#56657a}dialog{max-width:400px;padding:34px;border:0;border-radius:14px;text-align:center;box-shadow:0 20px 80px #06122570}dialog::backdrop{background:#071426aa;backdrop-filter:blur(3px)}dialog .close{position:absolute;right:13px;top:10px;border:0;background:transparent;font-size:23px;color:#8592a3}.big-beaver{font-size:50px}dialog>span{display:block;margin-top:10px;color:#3c75e5;font-size:9px;font-weight:700;letter-spacing:.14em}dialog h2{font:700 20px Manrope}dialog p{color:#68778c;line-height:1.6}
@media(max-width:1050px){.metric-grid{grid-template-columns:repeat(2,1fr)}.formula-row{grid-template-columns:23px 1fr}.formula-row code{grid-column:2}.search{width:320px}}
@media(max-width:780px){.sidebar{transform:translateX(-100%);box-shadow:10px 0 30px #07142655}.sidebar.open{transform:translateX(0)}main{margin-left:0}header{padding:0 16px}.mobile-menu{display:grid;place-items:center;margin-right:10px;border:0;background:transparent}.search{width:auto;flex:1}.search kbd{display:none}.content{padding:17px}.workbench{grid-template-columns:1fr}.parameters{position:static}.model-actions button:first-child{display:none}.metric-grid{grid-template-columns:repeat(2,1fr)}.formula-row{grid-template-columns:23px 1fr}.mode-switch{display:flex}.mode-switch button{min-width:0}.title-line{align-items:flex-start;flex-direction:column;gap:4px}.sidebar{transition:transform .2s}}
@media(max-width:480px){.model-header{align-items:flex-start}.model-actions{margin-left:0}.model-actions .run{font-size:0}.metric-grid{grid-template-columns:1fr 1fr}.metric{padding:12px}.metric strong{font-size:17px}.chart-card{padding-left:8px;padding-right:8px}.formula-row code{font-size:9px}.content{padding:14px 11px}.search input{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
:focus-visible{outline:3px solid #77a4ff;outline-offset:2px}

/* shadcn-inspired application primitives: restrained radii, neutral borders, and explicit states. */
.section-heading{display:flex;align-items:center;gap:10px;margin:16px 12px 8px;padding:10px 11px;border-radius:7px;background:#162b47;color:#fff;font-weight:600}.section-heading small{margin-left:auto;border:1px solid #304761;border-radius:999px;padding:1px 6px;color:#a9bad0;font-size:9px}.sidebar nav{display:none}.workspace-label{padding-top:14px}.tree-children .model-link{position:relative;display:block;width:100%;grid-template-columns:1fr;padding:8px 9px;border:0;border-radius:6px;background:transparent;color:#96a8c0;font-size:10px;text-align:left;cursor:pointer}.tree-children .model-link:hover{background:#142b49;color:#fff}.tree-children .model-link.selected{background:#17335a;color:#9cbcff}.tree-children .model-link.selected:before{content:"";position:absolute;left:-17px;top:0;width:1px;height:100%;background:#4d86f7}.empty-model{max-width:620px;margin:120px auto;padding:52px;border:1px dashed #cbd5e1;border-radius:12px;background:#fff;text-align:center;box-shadow:0 1px 3px #0f172a0d}.empty-icon{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 18px;border-radius:12px;background:#eff6ff;color:#2563eb}.empty-model>span{color:#64748b;font-size:9px;font-weight:700;letter-spacing:.15em}.empty-model h1{margin:10px 0;font:700 24px Manrope}.empty-model p{max-width:460px;margin:0 auto 24px;color:#64748b;line-height:1.65}.button{display:inline-flex;align-items:center;justify-content:center;border-radius:6px;padding:9px 14px;font-weight:600;cursor:pointer}.button-outline{border:1px solid #d7dee8;background:#fff;color:#334155}.button-outline:hover{background:#f8fafc;border-color:#b9c4d2}

/* 2026 workspace refresh: larger type, roomier surfaces, and user-selectable themes. */
:root{--navy:#10243f;--navy2:#183553;--blue:#316ee8;--blue2:#eaf1ff;--ink:#17243a;--muted:#65758b;--line:#dce4ee;--paper:#f4f7fb;--white:#fff;--surface:#fff;--soft:#f7f9fc;--green:#087f5b;--red:#c2414f;--shadow:0 8px 28px #17304f0b}
:root[data-theme="ledger"]{--navy:#26352f;--navy2:#33483f;--blue:#28755b;--blue2:#e4f0e9;--ink:#282d29;--muted:#6e7169;--line:#dcd8cc;--paper:#f2eee4;--white:#fffdfa;--surface:#fffdfa;--soft:#f7f3e9;--green:#28755b;--red:#ad4a3d;--shadow:0 8px 28px #4b43200d}
:root[data-theme="midnight"]{--navy:#0a1020;--navy2:#18223a;--blue:#75a4ff;--blue2:#1d3154;--ink:#e8eef8;--muted:#9cacbf;--line:#334158;--paper:#111827;--white:#182235;--surface:#182235;--soft:#202c40;--green:#44c89a;--red:#fb7185;--shadow:0 10px 30px #0004;color-scheme:dark}
body{background:var(--paper);color:var(--ink);font-size:15px;line-height:1.45}.app-shell{background:var(--paper)}
.sidebar{width:260px;background:var(--navy)}main{margin-left:260px}.brand{height:76px;padding:0 24px}.brand span{font-size:30px}.brand b{font-size:20px}.primary-nav{display:block!important;padding:16px 12px 4px!important;border:0!important}.primary-nav button,.settings-link{width:100%;display:flex;align-items:center;gap:12px;padding:11px 12px;border:0;border-radius:8px;background:transparent;color:#b8c6d8;text-align:left;font-weight:650;cursor:pointer}.primary-nav button:hover,.primary-nav button.active,.settings-link:hover,.settings-link.active{background:var(--navy2);color:white}.section-heading{margin:10px 12px 8px;padding:11px 12px;font-size:14px}.workspace-label{font-size:10px}.model-tree button b{font-size:13px}.model-tree button small{font-size:11px}.tree-children .model-link{font-size:12px;padding:9px}.sidebar-bottom{padding:14px 12px}.sidebar-bottom .settings-link{flex:1;border:0;width:100%;height:auto;border-radius:8px}
header{height:76px;padding:0 34px;background:var(--surface);border-color:var(--line)}.search{width:min(520px,55vw);font-size:16px}.search input{font-size:14px;background:transparent;color:var(--ink)}.avatar{width:40px;height:40px;background:linear-gradient(145deg,var(--blue),#8b5cf6);color:white;border:3px solid var(--surface);box-shadow:0 0 0 1px var(--line)}
.content{max-width:1480px;padding:32px 38px 64px}.breadcrumbs{font-size:12px}.model-header{padding:24px 0 16px}.title-line h1{font-size:28px}.model-header p{font-size:13px}.status{font-size:10px}.model-actions button{font-size:12px;padding:10px 14px}.instrument-icon{width:50px;height:50px;font-size:19px}.model-scope{margin:0 0 20px;padding:15px 18px;border-left:4px solid var(--blue);border-radius:0 9px 9px 0;background:var(--blue2);color:var(--ink)}.model-scope b{font-size:13px}.model-scope p{margin:4px 0 0;max-width:1000px;color:var(--muted);font-size:12px;line-height:1.55}
.card,.metric{background:var(--surface);border-color:var(--line);box-shadow:var(--shadow)}.card-title h2,.chart-head h2{font-size:15px}.card-title span,.chart-head span{font-size:10px}.field-list label>span,.target>span{font-size:11px}.field-list em,.target em,.input-row span,.target small{font-size:10px}.input-row{background:var(--soft);border-color:var(--line)}.input-row .number-input{font-size:12px;color:var(--ink);padding:8px}.confidence{font-size:11px}.confidence select{font-size:11px;background:var(--surface);color:var(--ink)}.mode-switch{background:var(--soft)}.mode-switch b{font-size:12px}.mode-switch small{font-size:10px}.mode-switch button.active{background:var(--surface)}.metric>span,.metric small{font-size:10px}.metric strong{font-size:24px;color:var(--ink)}.legend,.chart-note,.tabs button,.formula-row b{font-size:11px}.formula-row p{font-size:10px}.formula-row code{font-size:12px;background:var(--soft);color:var(--ink)}.risk-chart text{font-size:10px}.gridline{stroke:var(--line)}
.eyebrow{color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.14em}.dashboard-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;padding:44px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(125deg,var(--surface) 55%,var(--blue2));box-shadow:var(--shadow)}.dashboard-hero h1{max-width:740px;margin:10px 0 12px;font:700 clamp(32px,4vw,50px)/1.08 Manrope;letter-spacing:-.045em}.dashboard-hero p{max-width:760px;margin:0;color:var(--muted);font-size:16px;line-height:1.65}.button-primary{flex:none;border:0;background:var(--blue);color:white;gap:8px;padding:13px 18px}.catalog{padding-top:38px}.catalog-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:18px}.catalog-heading h2{margin:5px 0 0;font:700 25px Manrope}.catalog-heading>p{max-width:430px;margin:0;color:var(--muted);text-align:right}.catalog-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.catalog-group{overflow:hidden;border:1px solid var(--line);border-radius:13px;background:var(--surface);box-shadow:var(--shadow)}.catalog-group>header{height:auto;padding:18px 20px;border:0;border-bottom:1px solid var(--line);background:var(--soft)}.catalog-group>header h3{margin:0;font:700 17px Manrope}.catalog-group>header p{margin:2px 0 0;color:var(--muted);font-size:11px}.catalog-group .tree-dot{flex:none}.real-assets{background:#b16b22}.private{background:#a84970}.portfolio{background:#42647c}.catalog-list button{width:100%;display:grid;grid-template-columns:1fr auto;gap:3px 15px;padding:14px 18px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;cursor:pointer}.catalog-list button:last-child{border-bottom:0}.catalog-list button:hover{background:var(--blue2)}.catalog-list button>span{font-weight:700}.catalog-list button>small{grid-row:2;max-width:90%;color:var(--muted);font-size:12px;line-height:1.45}.catalog-list button>svg{grid-column:2;grid-row:1/3;align-self:center;color:var(--muted)}.catalog-list i{margin-left:8px;padding:2px 5px;border-radius:4px;background:var(--blue2);color:var(--blue);font-size:8px;font-style:normal;letter-spacing:.08em}
.settings-page{max-width:980px;margin:55px auto}.settings-page h1{margin:8px 0;font:700 36px Manrope}.settings-page>p{margin:0 0 28px;color:var(--muted);font-size:16px}.theme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.theme-option{position:relative;padding:14px;border:2px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);text-align:left;cursor:pointer}.theme-option.selected{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue2)}.theme-preview{display:flex;height:110px;margin-bottom:15px;overflow:hidden;border:1px solid #cbd5e1;border-radius:9px;background:#f4f7fb}.theme-preview i:first-child{width:28%;background:#10243f}.theme-preview i:nth-child(2){width:52%;margin:14px 5px 14px 10px;border-radius:5px;background:white}.theme-preview i:last-child{width:20%;margin:14px 10px 60px 0;border-radius:4px;background:#316ee8}.theme-preview.ledger{background:#f2eee4}.theme-preview.ledger i:first-child{background:#26352f}.theme-preview.ledger i:nth-child(2){background:#fffdfa}.theme-preview.ledger i:last-child{background:#28755b}.theme-preview.midnight{background:#111827}.theme-preview.midnight i:first-child{background:#0a1020}.theme-preview.midnight i:nth-child(2){background:#202c40}.theme-preview.midnight i:last-child{background:#75a4ff}.theme-option>b,.theme-option>small{display:block}.theme-option>b{font-size:15px}.theme-option>small{margin-top:5px;color:var(--muted);line-height:1.45}.theme-check{position:absolute;right:15px;bottom:20px;color:var(--blue)}.settings-note{margin-top:26px;padding:18px 20px;border-radius:10px;background:var(--blue2)}.settings-note p{margin:4px 0 0;color:var(--muted)}
.empty-model{background:var(--surface);border-color:var(--line)}.empty-model>span{font-size:10px}.empty-model p{font-size:14px}.button-outline{background:var(--surface);border-color:var(--line);color:var(--ink)}dialog{background:var(--surface);color:var(--ink)}
@media(max-width:1000px){.catalog-groups{grid-template-columns:1fr}.theme-grid{grid-template-columns:1fr}.theme-preview{height:85px}}
@media(max-width:780px){main{margin-left:0}.content{padding:22px 16px 48px}.sidebar{width:270px}.dashboard-hero{align-items:flex-start;flex-direction:column;padding:28px}.dashboard-hero h1{font-size:34px}.dashboard-hero p{font-size:14px}.catalog-heading{align-items:flex-start;flex-direction:column}.catalog-heading>p{text-align:left}.model-scope{margin-top:6px}}

/* DCF learning journey */
.lesson{max-width:1260px}.lesson-nav{display:flex!important;flex-direction:column;padding:20px 14px!important;border:0!important;gap:3px}.lesson-nav a{padding:9px 12px!important;font-size:12px}.lesson-nav a:hover{background:var(--navy2);color:#fff}.sidebar-note{margin:auto 16px 20px;padding:15px;border:1px solid #ffffff18;border-radius:10px;background:#ffffff08}.sidebar-note b,.sidebar-note span{display:block}.sidebar-note b{color:#fff}.sidebar-note span{margin:4px 0 10px;font-size:11px}.sidebar-note progress{width:100%;height:4px;accent-color:#68a0ff}.theme-label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.theme-label select{padding:7px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink)}header>div:first-of-type small{color:var(--muted)}
.lesson-hero{display:grid;grid-template-columns:1.35fr .65fr;gap:56px;align-items:center;padding:66px 0 46px}.lesson-hero h1{margin:12px 0 20px;font:700 clamp(42px,6vw,72px)/1.02 Manrope;letter-spacing:-.055em}.lesson-hero h1 em{color:var(--blue);font-style:normal}.lesson-hero>div>p{max-width:730px;color:var(--muted);font-size:18px;line-height:1.7}.hero-actions{display:flex;align-items:center;gap:18px;margin-top:28px}.hero-actions span{color:var(--muted);font-size:12px}.hero-card{padding:30px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow);transform:rotate(1deg)}.hero-card>span,.intro-grid article>span,.industry-grid article>span{color:var(--blue);font-size:10px;font-weight:800;letter-spacing:.12em}.hero-formula{margin:20px 0;padding:20px 0;border-block:1px solid var(--line);font:600 22px/1.65 Manrope}.hero-card p{color:var(--muted);line-height:1.6}.intro-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:90px}.intro-grid article{padding:25px;border-top:3px solid var(--blue);background:var(--surface);box-shadow:var(--shadow)}.intro-grid article.caution{border-color:#dd9637}.intro-grid h2{font:700 17px/1.35 Manrope}.intro-grid p{color:var(--muted);line-height:1.65}
.chapter{display:grid;grid-template-columns:82px minmax(0,760px);gap:22px;align-items:start;margin:90px 0 28px}.chapter-number{font:700 50px/1 Manrope;color:var(--line)}.chapter h2{margin:7px 0 9px;font:700 clamp(26px,3vw,38px)/1.15 Manrope;letter-spacing:-.03em}.chapter p{margin:0;color:var(--muted);font-size:16px;line-height:1.7}.assumption-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.assumption-cards article{padding:22px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.assumption-cards b,.assumption-cards span{display:block}.assumption-cards b{font:700 28px Manrope;color:var(--blue)}.assumption-cards span{margin:4px 0;font-weight:700}.assumption-cards p{margin:0;color:var(--muted);font-size:12px}.formula-banner{display:grid;grid-template-columns:1.4fr 1fr;gap:30px;align-items:center;padding:25px;border-radius:12px;background:var(--navy);color:#d9e5f5}.formula-banner code{font:600 17px/1.6 Georgia,serif;color:#fff}.formula-banner p{margin:0;font-size:12px;line-height:1.6}.table-wrap{margin-top:18px;overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--surface)}table{width:100%;border-collapse:collapse;min-width:800px}caption{text-align:left;padding:18px 20px;font-weight:700}th,td{padding:12px 16px;border-top:1px solid var(--line);text-align:right;font-size:12px}th:first-child{text-align:left}thead th{background:var(--soft);color:var(--muted)}tr.total{background:var(--blue2);font-weight:800}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.steps article{display:flex;gap:14px;padding:22px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.steps i{display:grid;place-items:center;flex:0 0 27px;height:27px;border-radius:50%;background:var(--blue2);color:var(--blue);font-style:normal;font-weight:800}.steps b,.steps code{display:block}.steps code{margin:10px 0;padding:10px;background:var(--soft);font-family:Georgia,serif}.steps p{color:var(--muted);font-size:12px}.value-bridge{display:flex;align-items:stretch;gap:9px;overflow:auto}.value-bridge>div{min-width:140px;padding:18px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.value-bridge>strong{align-self:center;white-space:nowrap}.value-bridge span,.value-bridge b{display:block}.value-bridge span{color:var(--muted);font-size:11px}.value-bridge b{margin-top:7px;font:700 19px Manrope}.value-bridge .highlight{background:var(--blue2)}.value-bridge .answer{background:var(--blue);color:#fff}.value-bridge .answer span{color:#dbe8ff}.value-bridge .answer b{font-size:26px}
.interactive-grid{display:grid;grid-template-columns:390px 1fr;gap:18px;align-items:start}.control-panel{overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line)}.panel-head span{font-size:9px;font-weight:800;letter-spacing:.12em;color:var(--muted)}.panel-head h3{margin:3px 0 0;font:700 17px Manrope}.panel-head button{border:0;background:transparent;color:var(--blue);font-weight:700;cursor:pointer}.control-panel fieldset{border:0;margin:0;padding:15px 20px}.control-panel fieldset+fieldset{border-top:1px solid var(--line)}.control-panel legend{padding-top:15px;color:var(--blue);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.control{display:block;margin:10px 0 18px}.control>span{display:flex;justify-content:space-between}.control em{color:var(--muted);font-size:10px;font-style:normal}.control>div{display:grid;grid-template-columns:90px 1fr;gap:10px;align-items:center;margin:6px 0}.control .number-input{width:100%;padding:7px;border:1px solid var(--line);border-radius:6px;background:var(--soft);color:var(--ink)}.control small{display:block;color:var(--muted);font-size:10px;line-height:1.45}.live-results{display:grid;grid-template-columns:1fr 1fr;gap:18px}.live-value{grid-column:1/-1;padding:28px;border-radius:14px;background:linear-gradient(120deg,var(--navy),#224e7e);color:#fff}.live-value>span{font-size:10px;letter-spacing:.12em}.live-value>b{display:block;margin:6px 0;font:700 48px Manrope}.live-value>small,.live-value p{color:#bdcce0}.movement{display:inline-block;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:700}.movement.up{background:#1d9d7550;color:#7ef0c6}.movement.down{background:#d8586340;color:#ffb4bc}.movement.flat{background:#ffffff18}.live-value.invalid{background:#74333b}.chart-card{padding:18px}.chart-head h3{margin:4px 0}.chart-legend{display:flex;gap:7px;align-items:center;font-size:10px;color:var(--muted)}.chart-legend i,.chart-legend b{width:9px;height:9px;background:var(--blue)}.chart-legend b{background:#56b99a}.bar-chart{height:230px;display:flex;gap:14px;align-items:end;padding:20px 5px 0;border-bottom:1px solid var(--line)}.bar-year{flex:1;text-align:center}.bars{height:170px;display:flex;gap:4px;align-items:end}.bars i,.bars b{flex:1;min-height:2px;background:var(--blue);border-radius:4px 4px 0 0}.bars b{background:#56b99a}.bar-year span,.bar-year small{display:block}.bar-year span{font-weight:700}.bar-year small{font-size:8px;color:var(--muted);white-space:nowrap}.validation{grid-column:1/-1}.validation p{display:flex;gap:10px;margin:0;padding:13px 20px;border-bottom:1px solid var(--line);font-size:12px}.validation p:last-child{border:0}.validation p i{display:grid;place-items:center;flex:0 0 20px;height:20px;border-radius:50%;font-style:normal}.validation .pass i{background:#dcf7ed;color:var(--green)}.validation .fail{color:var(--red)}.validation .fail i{background:#ffe5e8}
.code-card{overflow:hidden;border:1px solid #283a54;border-radius:13px;background:#0d192a;color:#d9e5f5}.code-toolbar{display:flex;justify-content:space-between;align-items:center;padding:10px 13px;border-bottom:1px solid #293b54}.code-toolbar button{padding:8px 11px;border:1px solid #354a67;border-radius:6px;background:transparent;color:#b9c9de;cursor:pointer}.code-toolbar button.active{background:#274e7e;color:#fff}.code-toolbar>div:last-child{display:flex;gap:7px}.code-card pre{margin:0;padding:28px;overflow:auto;font:13px/1.9 ui-monospace,SFMono-Regular,Menlo,monospace}.code-card code{color:#bcd5fa}.code-note{margin:0;padding:14px 20px;border-top:1px solid #293b54;color:#94a9c3;font-size:11px}.industry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.industry-grid article{padding:24px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.industry-grid h3{font:700 18px Manrope}.industry-grid p{color:var(--muted);font-size:13px;line-height:1.65}.industry-grid a,.sources a{color:var(--blue);font-weight:700}.industry-grid .boundary{border-color:#e3bd80;background:#fff9ed}.limitations{margin:90px 0 30px;padding:35px;border-radius:14px;background:var(--blue2)}.limitations h2{font:700 26px Manrope}.limitations li{margin:9px 0;color:var(--muted)}.sources{padding:35px;border-top:1px solid var(--line)}.sources h2{font:700 28px Manrope}.sources>p{color:var(--muted)}.sources li{margin:18px 0;line-height:1.65}.sources q{display:block;margin:7px 0;padding-left:13px;border-left:3px solid var(--blue);font-family:Georgia,serif}.source-note{margin-top:30px;padding:13px;background:var(--soft);font-size:11px}
@media(max-width:1050px){.lesson-hero{grid-template-columns:1fr}.intro-grid,.steps,.industry-grid{grid-template-columns:1fr}.assumption-cards{grid-template-columns:repeat(2,1fr)}.interactive-grid{grid-template-columns:1fr}.control-panel{position:static}.formula-banner{grid-template-columns:1fr}}
@media(max-width:780px){.lesson-hero{padding-top:38px}.lesson-hero h1{font-size:43px}.chapter{grid-template-columns:50px 1fr}.chapter-number{font-size:36px}.live-results{grid-template-columns:1fr}.chart-card{grid-column:1}.code-toolbar{align-items:stretch;flex-direction:column;gap:10px}.value-bridge{flex-direction:column}.value-bridge>strong{text-align:center}.assumption-cards{grid-template-columns:1fr}.hero-actions{align-items:flex-start;flex-direction:column}}

/* Practitioner navigation and scroll-synced reference rail */
:root[data-theme="editorial"]{--navy:#28241f;--navy2:#413a31;--blue:#9b3f2f;--blue2:#f4e7df;--ink:#211d19;--muted:#756b61;--line:#ded4c9;--paper:#f4efe7;--surface:#fffdf8;--soft:#f7f1e8;--green:#486b4a;--red:#a13e35;--shadow:0 8px 25px #392b1b12;--body-font:Georgia,'Times New Roman',serif;--heading-font:Georgia,'Times New Roman',serif}
:root{--body-font:'DM Sans',system-ui,sans-serif;--heading-font:Manrope,'DM Sans',sans-serif}
body{font-family:var(--body-font)}
h1,h2,h3,.chapter-number,.brand b,.assumption-cards b,.live-value>b,.value-bridge b{font-family:var(--heading-font)!important}
.asset-nav{display:block!important;padding:5px 12px!important;border:0!important;overflow:auto}.asset-group{border-bottom:1px solid #ffffff0b}.asset-group>button{width:100%;display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:center;padding:10px 7px;border:0;background:transparent;color:#b6c4d7;text-align:left;cursor:default}.asset-group b,.asset-group small{display:block}.asset-group b{font-size:12px}.asset-group small{margin-top:2px;color:#6f849e;font-size:9px}.asset-group>a{display:block;margin:0 0 9px 38px;padding:8px 10px!important;background:#17335a;color:#a9c7ff!important;font-size:11px!important;box-shadow:inset 2px 0 var(--blue)}.muted-dot{background:#32455b;color:#aebdd0}.lesson-layout{display:grid;grid-template-columns:minmax(0,1260px) 190px;justify-content:center;align-items:start;gap:20px;padding-right:20px}.lesson-layout>.content{min-width:0;margin:0;padding-right:20px}.section-rail{position:sticky;top:100px;margin-top:76px;padding:18px 12px;color:var(--muted)}.section-rail>span{font-size:9px;font-weight:800;letter-spacing:.14em}.section-rail nav{position:relative;margin:14px 0;padding-left:1px}.section-rail nav:before{content:"";position:absolute;left:5px;top:7px;bottom:7px;width:1px;background:var(--line)}.section-rail a{position:relative;display:flex;align-items:center;gap:10px;padding:7px 0;color:var(--muted);font-size:11px;text-decoration:none}.section-rail a i{z-index:1;width:9px;height:9px;border:2px solid var(--paper);border-radius:50%;background:var(--line);transition:.2s}.section-rail a.active{color:var(--blue);font-weight:800}.section-rail a.active i{background:var(--blue);box-shadow:0 0 0 4px var(--blue2)}.section-rail small{font-size:9px}.fraction{display:inline-flex;flex-direction:column;vertical-align:middle;text-align:center;margin:0 5px}.fraction i{font-style:normal}.fraction i:first-child{border-bottom:1px solid currentColor}.hero-card{transform:none}.hero-formula{font-size:17px}.code-tabs{display:flex;gap:6px}
@media(max-width:1180px){.lesson-layout{grid-template-columns:1fr;padding-right:0}.section-rail{display:none}.lesson-layout>.content{padding-right:38px}}
@media(max-width:780px){.lesson-layout>.content{padding-right:16px}.asset-nav{max-height:calc(100vh - 150px)}.code-tabs{flex-wrap:wrap}}

/* Simplified model tree and refined reading themes. */
:root{--navy:#172a3a;--navy2:#213c50;--blue:#315fbd;--blue2:#e8eefb;--paper:#f5f6f8;--body-font:Inter,'Segoe UI',system-ui,sans-serif;--heading-font:'Avenir Next',Inter,'Segoe UI',sans-serif}
:root[data-theme="ledger"]{--navy:#34423b;--navy2:#43564b;--blue:#356d55;--blue2:#e5eee8;--paper:#f3f0e8;--surface:#fffefa;--soft:#f8f4eb;--body-font:'Source Sans 3','Segoe UI',sans-serif;--heading-font:'Source Sans 3','Segoe UI',sans-serif}
:root[data-theme="midnight"]{--navy:#111827;--navy2:#263449;--blue:#91b4ff;--blue2:#243657;--paper:#141c2a;--surface:#1d2939;--soft:#253448;--ink:#edf2f8;--muted:#abb8c8;--line:#3b4b61;--body-font:Inter,'Segoe UI',sans-serif;--heading-font:'Avenir Next',Inter,sans-serif}
:root[data-theme="editorial"]{--navy:#332d27;--navy2:#4b4238;--blue:#9a4638;--blue2:#f3e5dc;--paper:#f5f0e8;--surface:#fffdf9;--soft:#f8f2e9;--body-font:'Source Sans 3','Segoe UI',sans-serif;--heading-font:Iowan Old Style,Georgia,serif}
.asset-nav{padding:8px 14px!important}.asset-group{border:0}.asset-group>button{grid-template-columns:18px 1fr;gap:4px;padding:9px 6px;border-radius:6px;cursor:pointer}.asset-group>button:hover{background:#ffffff0a}.tree-toggle{display:inline-block;color:#71869b;font-size:20px;line-height:1;transition:transform .16s}.asset-group.open .tree-toggle{transform:rotate(90deg)}.asset-group b{font-size:12px;font-weight:600}.asset-children{margin:0 0 5px 14px;padding-left:14px;border-left:1px solid #405469}.asset-children[hidden]{display:none}.asset-children>a,.asset-children>span{display:block;margin:0;padding:8px 9px!important;border-radius:5px;font-size:11px}.asset-children>a{background:#ffffff0a!important;color:#e4edf6!important;box-shadow:none!important}.asset-children>span{color:#71869b}.hero-formula{width:100%;margin:20px 0;padding:22px 0;border-block:1px solid var(--line);font-size:18px;color:var(--ink)}

/* Textbook notation, input guidance, and the first Black–Scholes–Merton slice. */
.textbook-formula{display:grid;justify-items:center;gap:8px;margin:20px 0;padding:25px 6px;border-block:1px solid var(--line);color:var(--ink);font:italic 22px/1.25 Georgia,'Times New Roman',serif}.textbook-formula>div{display:flex;align-items:center;gap:8px}.textbook-formula .frac{display:inline-grid;grid-template-rows:auto auto;text-align:center;font-style:italic}.textbook-formula .frac>span:first-child{padding:0 8px 5px;border-bottom:1.5px solid currentColor}.textbook-formula .frac>span:last-child{padding:5px 8px 0}.sigma{position:relative;display:inline-block;margin:0 5px;font-size:37px;line-height:1}.sigma sup,.sigma sub{position:absolute;left:50%;font:11px var(--body-font);white-space:nowrap;transform:translateX(-50%)}.sigma sup{top:-10px}.sigma sub{bottom:-13px}.formula-continuation{padding-left:48px}.latex-source{margin:-8px 0 19px;color:var(--muted);font-size:11px}.latex-source summary{cursor:pointer;color:var(--blue);font-weight:700}.latex-source code{display:block;margin-top:8px;overflow:auto;padding:9px;border-radius:6px;background:var(--soft);color:var(--ink);white-space:nowrap}.provenance{margin-top:18px!important;padding:16px 18px;border-left:3px solid var(--blue);background:var(--blue2);font-size:13px!important}.provenance b{color:var(--ink)}
.panel-head>div{position:relative}.info-button{display:inline-grid!important;place-items:center;width:19px;height:19px;margin-left:5px;padding:0!important;border:1px solid var(--blue)!important;border-radius:50%;font:700 11px Georgia!important}.control-tip{position:absolute;z-index:3;top:52px;left:0;display:none;width:280px;padding:11px 13px;border:1px solid var(--line);border-radius:8px;background:var(--ink);box-shadow:var(--shadow);color:var(--surface)!important;font-size:11px!important;font-weight:400!important;line-height:1.5;letter-spacing:0!important}.panel-head>div:has(.info-button:hover) .control-tip,.panel-head>div:has(.info-button:focus) .control-tip,.panel-head>div:has(.info-button:active) .control-tip{display:block}
.next-model{margin:70px 0 35px;padding:34px;border:1px solid var(--line);border-radius:15px;background:var(--surface);box-shadow:var(--shadow)}.next-model h2{margin:7px 0;font-size:28px}.next-model>p{color:var(--muted);line-height:1.65}.bsm-preview{display:grid;grid-template-columns:minmax(340px,1fr) 150px 150px;gap:14px;align-items:stretch;margin-top:22px}.bsm-preview .textbook-formula{justify-items:start;margin:0;padding:20px;border:0;border-radius:9px;background:var(--soft);font-size:19px}.bsm-preview>div:not(:first-child){display:flex;flex-direction:column;justify-content:center;padding:18px;border-radius:9px;background:var(--blue2)}.bsm-preview span{color:var(--muted);font-size:11px}.bsm-preview b{margin-top:5px;color:var(--blue);font-size:25px}
@media(max-width:780px){.textbook-formula{font-size:17px}.formula-continuation{padding-left:25px}.bsm-preview{grid-template-columns:1fr}.control-tip{width:min(270px,75vw)}}

/* Black–Scholes–Merton lesson */
.bsm-hero-values{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.bsm-hero-values>div{padding:14px;border-radius:9px;background:var(--blue2)}.bsm-hero-values small,.dual-answer small{display:block;color:var(--muted);font-size:9px;letter-spacing:.1em}.bsm-hero-values b{display:block;margin-top:3px;color:var(--blue);font:700 25px Manrope}.bsm-trace{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:0 0 80px}.bsm-trace article{padding:22px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow)}.bsm-trace span{color:var(--blue);font-size:9px;font-weight:800;letter-spacing:.12em}.bsm-trace code{display:block;margin:15px 0;padding:11px;border-radius:7px;background:var(--soft);white-space:normal}.bsm-trace p{min-height:66px;color:var(--muted);font-size:11px;line-height:1.55}.bsm-trace b{font:700 16px Manrope}.dual-answer{display:flex;gap:50px}.dual-answer b{font-size:38px}.payoff-card{grid-column:1/-1;padding:18px}.payoff-chart{width:100%;max-height:260px;overflow:visible}.payoff-chart line{stroke:var(--line);stroke-width:1}.payoff-chart path{fill:none;stroke-width:3}.payoff-chart .call-line{stroke:var(--blue)}.payoff-chart .put-line{stroke:#56b99a}.payoff-chart text{fill:var(--muted);font-size:10px}.payoff-card .chart-legend{justify-content:flex-end}.greek-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:70px}.greek-grid article{padding:18px;border-top:3px solid var(--blue);background:var(--surface);box-shadow:var(--shadow)}.greek-grid span,.greek-grid small{display:block;color:var(--muted);font-size:10px}.greek-grid b{display:block;margin:7px 0;font:700 20px Manrope}.brand{text-decoration:none}.provenance{padding:16px;border-left:3px solid var(--blue);background:var(--soft)}
@media(max-width:1050px){.bsm-trace{grid-template-columns:1fr}.bsm-trace p{min-height:0}.greek-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:580px){.greek-grid{grid-template-columns:1fr}.dual-answer{gap:20px}.dual-answer b{font-size:28px}}

.bsm-lesson-hero{grid-template-columns:1fr;padding-bottom:28px}.bsm-lesson-hero>div:first-child{max-width:900px}.bsm-formula-card{width:100%;transform:none}.formula-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0}.formula-pair .textbook-formula{display:flex;align-items:baseline;justify-content:center;min-width:0;width:100%;margin:0;padding:22px;border:1px solid var(--line);border-radius:10px;background:var(--soft);font-size:clamp(17px,1.8vw,23px);white-space:nowrap;overflow-x:auto}.strategy-workbench{display:grid;grid-template-columns:230px 1fr;gap:16px;margin-bottom:80px}.strategy-picker{display:flex;flex-direction:column;gap:7px}.strategy-picker button{padding:13px;text-align:left;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);cursor:pointer}.strategy-picker button.active{border-color:var(--blue);box-shadow:inset 3px 0 var(--blue);background:var(--blue2)}.strategy-picker b,.strategy-picker small{display:block}.strategy-picker small{margin-top:4px;color:var(--muted);font-size:9px;line-height:1.35}.strategy-editor{overflow:hidden}.strategy-editor>.panel-head>small{color:var(--muted)}.table-scroll{overflow-x:auto}.strategy-table{width:100%;border-collapse:collapse}.strategy-table th,.strategy-table td{padding:10px;border-bottom:1px solid var(--line);text-align:left;font-size:11px}.strategy-table thead th{color:var(--muted);font-size:9px;letter-spacing:.08em;text-transform:uppercase}.strategy-table input,.strategy-table select{width:100%;min-width:72px;padding:7px;border:1px solid var(--line);border-radius:6px;background:var(--soft);color:var(--ink)}.strategy-plot{padding:20px}.strategy-chart{width:100%;max-height:330px}.strategy-chart .axis{stroke:var(--line);stroke-width:1}.strategy-chart path{fill:none}.strategy-chart .leg-line{stroke-width:2;stroke-dasharray:7 6;opacity:.58}.strategy-chart .total-line{stroke:var(--ink);stroke-width:3.5}.strategy-chart text{fill:var(--muted);font-size:10px}.strategy-legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:13px;color:var(--muted);font-size:10px}.strategy-legend span{display:flex;align-items:center;gap:5px}.strategy-legend i{width:18px;border-top:2px dashed}.strategy-legend .combined i{border-color:var(--ink);border-top-style:solid;border-top-width:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.logo-tabs button{display:flex;align-items:center;gap:8px}.app-logo{width:24px;height:24px;flex:none}.logo-tabs button.active{background:var(--soft)}
@media(max-width:900px){.formula-pair{grid-template-columns:1fr}.strategy-workbench{grid-template-columns:1fr}.strategy-picker{display:grid;grid-template-columns:repeat(2,1fr)}}
@media(max-width:580px){.formula-pair .textbook-formula{font-size:14px;padding:15px;overflow-x:auto}.strategy-picker{grid-template-columns:1fr}.strategy-plot{padding:10px}}

.sensitivity-workbench{overflow:hidden;margin-bottom:80px}.sensitivity-builder{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:12px;padding:18px 20px;border-bottom:1px solid var(--line);background:var(--soft)}.sensitivity-builder label>span,.metric-picker legend,.pivot-heading>span{display:block;margin-bottom:6px;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.1em}.sensitivity-builder input,.sensitivity-builder select{width:100%;padding:9px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink)}.metric-picker{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:16px 20px;border:0;border-bottom:1px solid var(--line)}.metric-picker legend{float:left;width:100%;margin:0}.metric-picker legend small{margin-left:6px;font-weight:400;letter-spacing:0}.metric-picker label{position:relative}.metric-picker input{position:absolute;opacity:0}.metric-picker span{display:block;padding:7px 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:10px;cursor:pointer}.metric-picker input:checked+span{border-color:var(--blue);background:var(--blue2);color:var(--blue);font-weight:700}.metric-picker input:focus-visible+span{outline:3px solid #77a4ff}.sensitivity-visual{display:grid;grid-template-columns:minmax(420px,1.35fr) minmax(350px,1fr);gap:18px;padding:20px}.pivot-heading{display:flex;align-items:center;justify-content:space-between}.pivot-heading small{color:var(--muted);font-size:9px}.sensitivity-chart{width:100%;min-height:290px}.sensitivity-chart .axis{stroke:var(--line);stroke-width:1}.sensitivity-chart path{fill:none;stroke-width:2.5}.sensitivity-chart text{fill:var(--muted);font-size:9px}.sensitivity-chart .current-marker{stroke:var(--ink);stroke-width:1;stroke-dasharray:3 4;opacity:.5}.pivot-table-wrap{max-height:330px;overflow:auto;border:1px solid var(--line);border-radius:8px}.pivot-table{width:100%;border-collapse:collapse;white-space:nowrap}.pivot-table th,.pivot-table td{padding:8px 10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:10px;text-align:right}.pivot-table thead th{position:sticky;top:0;z-index:1;background:var(--soft);color:var(--muted);font-size:9px}.pivot-table th:first-child{position:sticky;left:0;text-align:left;background:var(--soft)}.pivot-table thead th:first-child{z-index:2}.pivot-table th small{display:block;font-weight:400}.pivot-table tr:last-child>*{border-bottom:0}.pivot-table tr>*:last-child{border-right:0}
@media(max-width:1000px){.sensitivity-visual{grid-template-columns:1fr}.sensitivity-builder{grid-template-columns:repeat(2,1fr)}}
@media(max-width:580px){.sensitivity-builder{grid-template-columns:1fr}.sensitivity-visual{padding:12px}.pivot-heading{align-items:flex-start;flex-direction:column}.sensitivity-chart{min-height:230px}}

.formula-glossary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:12px 0 18px;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--line)}.formula-glossary>div{display:flex;gap:8px;align-items:baseline;padding:9px 11px;background:var(--soft)}.formula-glossary .wide{grid-column:span 2}.formula-glossary dt{flex:none;font:italic 16px Georgia,serif;color:var(--ink)}.formula-glossary dd{margin:0;color:var(--muted);font-size:10px;line-height:1.35}.d-definitions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.d-definitions>div{display:grid;grid-template-columns:auto 1fr;gap:3px 9px;padding:13px;border-left:3px solid var(--blue);background:var(--blue2)}.d-definitions b{grid-row:1/3;font:italic 18px Georgia,serif}.d-definitions span{color:var(--muted);font-size:10px}.d-definitions code{overflow-x:auto;padding-top:4px;color:var(--ink);font:13px Georgia,serif;white-space:nowrap}
.sensitivity-toolbar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--soft)}.view-switch{display:flex;gap:3px;padding:3px;border:1px solid var(--line);border-radius:7px;background:var(--surface)}.view-switch button{padding:6px 15px;border:0;border-radius:5px;background:transparent;color:var(--muted);cursor:pointer}.view-switch button.active{background:var(--blue);color:#fff}.normalize-toggle{display:flex;align-items:center;gap:7px;color:var(--ink);font-size:11px}.normalize-toggle input{accent-color:var(--blue)}.sensitivity-body{display:grid;grid-template-columns:190px minmax(0,1fr)}.sensitivity-body>.metric-picker{align-content:start;display:flex;flex-direction:column;flex-wrap:nowrap;border:0;border-right:1px solid var(--line);padding:18px 14px}.sensitivity-body>.metric-picker label{width:100%}.sensitivity-body>.metric-picker span{border-radius:6px}.sensitivity-output{min-width:0;padding:18px}.sensitivity-output .sensitivity-builder{grid-template-columns:2fr repeat(3,1fr);margin:14px -18px -18px;padding:16px 18px;border-top:1px solid var(--line);border-bottom:0}.sensitivity-output .pivot-table-wrap{max-height:350px}.sensitivity-chart circle{fill:var(--surface);stroke-width:2;cursor:help}.sensitivity-chart circle:hover{r:6;fill:var(--blue2)}
@media(max-width:780px){.formula-glossary{grid-template-columns:repeat(2,minmax(0,1fr))}.d-definitions{grid-template-columns:1fr}.sensitivity-body{grid-template-columns:1fr}.sensitivity-body>.metric-picker{display:grid;grid-template-columns:repeat(2,1fr);border-right:0;border-bottom:1px solid var(--line)}.sensitivity-body>.metric-picker legend{grid-column:1/-1}.sensitivity-output .sensitivity-builder{grid-template-columns:repeat(2,1fr)}}
@media(max-width:500px){.formula-glossary{grid-template-columns:1fr}.formula-glossary .wide{grid-column:auto}.sensitivity-toolbar{align-items:flex-start;flex-direction:column;gap:10px}.sensitivity-body>.metric-picker,.sensitivity-output .sensitivity-builder{grid-template-columns:1fr}}

.sensitivity-toolbar{padding:0 16px}.view-switch{align-self:stretch;gap:22px;padding:0;border:0;border-radius:0;background:transparent}.view-switch button{position:relative;padding:15px 3px 12px;border-radius:0;font-weight:700}.view-switch button.active{background:transparent;color:var(--blue)}.view-switch button.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;border-radius:3px 3px 0 0;background:var(--blue)}.sensitivity-output .sensitivity-builder{grid-template-columns:repeat(3,1fr)}.driver-toggle{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;border:0}.driver-toggle legend{display:block;width:100%;margin-bottom:5px;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.1em}.driver-toggle button{padding:7px 10px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--muted);font-size:10px;cursor:pointer}.driver-toggle button.active{border-color:var(--blue);background:var(--blue2);color:var(--blue);font-weight:700}.sensitivity-chart .hover-target,.sensitivity-chart .hover-target:hover{fill:transparent;stroke:none;opacity:0;cursor:crosshair}

.notation-panel{margin:0 0 22px;border-bottom:1px solid var(--line);color:var(--muted)}.notation-panel summary{padding:8px 0 13px;color:var(--muted);font-size:11px;font-weight:650;cursor:pointer}.notation-panel summary::marker{color:var(--blue)}.notation-panel ul{columns:2;column-gap:30px;margin:0;padding:0 0 17px;list-style:none}.notation-panel li{break-inside:avoid;margin:0 0 7px;font-size:10px;line-height:1.45}.notation-panel i{color:var(--ink);font-family:Georgia,serif}.main-formulas{margin-top:9px}.main-formulas .textbook-formula{border:2px solid color-mix(in srgb,var(--blue) 35%,var(--line));background:var(--surface);box-shadow:0 8px 24px #17243a0b;font-size:clamp(19px,2vw,26px)}.bsm-formula-card>p{margin-bottom:0;color:var(--muted);font-size:11px}
@media(max-width:580px){.notation-panel ul{columns:1}}

/* Implementation tabs remain legible on the dark code surface. */
.code-card .logo-tabs button.active{background:#274e7e!important;color:#fff!important;border-color:#5686bd!important}.code-card .logo-tabs button.active span{color:#fff}.code-card .logo-tabs button:not(.active){background:transparent;color:#b9c9de}

/* Section 02 uses the same textbook equation language as the core functions. */
.bsm-trace code{padding:16px 18px;border:2px solid color-mix(in srgb,var(--blue) 30%,var(--line));border-radius:9px;background:var(--surface);color:var(--ink);font:italic clamp(16px,1.7vw,21px)/1.35 Georgia,'Times New Roman',serif;text-align:center;white-space:nowrap;overflow-x:auto}.bsm-trace article{display:grid;grid-template-rows:auto auto 1fr auto}.bsm-trace article>p{align-self:start}

/* The equity lesson follows the same formula-first hierarchy as BSM. */
.dcf-lesson-hero{grid-template-columns:1fr;padding-bottom:28px}.dcf-lesson-hero>div:first-child{max-width:900px}.dcf-formula-card{width:100%;transform:none}.dcf-core-formula{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin:10px 0 20px;padding:28px 22px;border:2px solid color-mix(in srgb,var(--blue) 35%,var(--line));border-radius:10px;background:var(--surface);box-shadow:0 8px 24px #17243a0b;font-size:clamp(18px,2vw,26px);white-space:nowrap;overflow-x:auto}.dcf-core-formula .formula-continuation{padding-left:0}.dcf-formula-card>p{margin-bottom:0;color:var(--muted);font-size:12px}

/* Foundational fixed-income lesson */
.bond-lesson-hero{grid-template-columns:1fr;padding-bottom:28px}.bond-lesson-hero>div:first-child{max-width:900px}.bond-formula-card{width:100%;transform:none}.bond-core-formula{display:flex;align-items:center;justify-content:center;margin:10px 0 20px;padding:30px;border:2px solid color-mix(in srgb,var(--blue) 35%,var(--line));border-radius:10px;background:var(--surface);box-shadow:0 8px 24px #17243a0b;font-size:clamp(24px,3vw,36px)}.bond-formula-card>p{color:var(--muted)}.bond-chart-card{grid-column:1/-1;padding:18px}.bond-chart{width:100%;max-height:300px}.bond-chart line{stroke:var(--line)}.bond-chart path{fill:none;stroke:var(--blue);stroke-width:3}.bond-chart text{fill:var(--muted);font-size:10px}.bond-chart-card .view-switch{align-self:auto}.bond-chart-card .view-switch button{padding:7px 10px}.bond-trace code sup{font-size:.7em}

/* Value at Risk methodology comparison */
.loading-model{padding:60px;text-align:center;color:var(--muted)}.var-hero{grid-template-columns:1fr;padding-bottom:28px}.var-hero>div:first-child{max-width:930px}.var-formula-card{width:100%;transform:none}.var-core-formula{display:flex;justify-content:center;margin:10px 0 20px;padding:28px;border:2px solid color-mix(in srgb,var(--blue) 35%,var(--line));border-radius:10px;background:var(--surface);font-size:clamp(23px,3vw,36px)}.var-controls{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:70px;overflow:hidden}.var-controls label{padding:15px 18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.var-controls label>span{display:flex;justify-content:space-between;margin-bottom:7px}.var-controls em{color:var(--muted);font-size:10px;font-style:normal}.var-controls input[type=number]{width:100%;padding:9px;border:1px solid var(--line);border-radius:6px;background:var(--soft);color:var(--ink)}.var-controls .check-setting{display:flex;align-items:center;gap:10px}.var-controls .check-setting span{display:block;margin:0}.var-controls .check-setting b,.var-controls .check-setting em{display:block}.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.method-grid article{padding:21px;border-top:3px solid var(--blue);background:var(--surface);box-shadow:var(--shadow)}.method-grid span,.method-grid small{display:block;color:var(--muted)}.method-grid b{display:block;margin:8px 0;font:700 28px var(--heading-font)}.method-grid p{color:var(--muted);font-size:11px}.var-comparison{margin:14px 0 70px;padding:22px}.var-bars>div{display:grid;grid-template-columns:150px minmax(0,1fr) 100px;gap:10px;align-items:center;margin:16px 0}.var-bars i{height:22px;border-radius:4px;background:var(--blue)}.var-bars b{text-align:right}.overlap-diagram{margin-bottom:22px;padding:25px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.overlap-diagram>div{display:grid;grid-template-columns:90px 1fr;align-items:center;margin:9px 0}.overlap-diagram span{position:relative;height:22px;background:repeating-linear-gradient(90deg,var(--soft) 0,var(--soft) calc(5% - 1px),var(--line) calc(5% - 1px),var(--line) 5%)}.overlap-diagram span:after{content:"";position:absolute;left:calc(var(--start)*3%);width:calc(var(--length)*3%);height:100%;border:2px solid var(--blue);background:color-mix(in srgb,var(--blue) 22%,transparent)}.overlap-diagram small{display:block;margin-top:18px;color:var(--muted)}.seed-card{margin-bottom:75px;padding:22px}.seed-chart{width:100%;max-height:220px}.seed-chart path{fill:none;stroke:var(--blue);stroke-width:2.5}.seed-chart text{fill:var(--muted);font-size:10px}
@media(max-width:850px){.var-controls,.method-grid{grid-template-columns:1fr}.var-bars>div{grid-template-columns:110px 1fr}.var-bars b{grid-column:2}.overlap-diagram>div{grid-template-columns:75px 1fr}}
.var-controls select{width:100%;padding:9px;border:1px solid var(--line);border-radius:6px;background:var(--soft);color:var(--ink)}
.var-controls label>small,.var-controls .check-setting small{display:block;margin-top:8px;color:var(--muted);font-size:9px;line-height:1.45}.var-controls input:disabled{cursor:not-allowed;opacity:.48}.var-controls .check-setting{align-items:flex-start}.var-controls .check-setting input{margin-top:3px;flex:none}
.dataset-footnote {
  margin: -4px 0 70px;
  padding: 11px 14px;
  border-left: 3px solid var(--blue);
  background: var(--soft);
  color: var(--muted);
  font-size: 10px;
  line-height: 1.55;
}

.dataset-footnote b,
.dataset-footnote code {
  color: var(--ink);
}

.dataset-footnote a {
  color: var(--blue);
  font-weight: 700;
}

/* The selected mascot artwork replaces the temporary emoji everywhere it appears. */
.brand span {
  width: 44px;
  height: 44px;
  flex: none;
  background: url('/assets/project-beaver-logo-white-cube-2x2.png') center / contain no-repeat;
  font-size: 0;
}

.big-beaver {
  display: block;
  width: 112px;
  height: 112px;
  margin: 0 auto;
  background: url('/assets/project-beaver-logo-white-cube-2x2.png') center / contain no-repeat;
  font-size: 0;
}

.mascot-callout {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  align-items: center;
  gap: 22px;
  margin: 28px 0 42px;
  padding: 20px 26px 20px 16px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-left: 4px solid var(--blue);
  border-radius: 14px;
  background: var(--surface);
  box-shadow: var(--shadow);
}

.mascot-callout img {
  width: 132px;
  height: 132px;
  object-fit: contain;
}

.mascot-callout span {
  color: var(--blue);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .13em;
}

.mascot-callout h2 {
  margin: 5px 0 7px;
  font: 700 clamp(18px, 2vw, 24px)/1.2 var(--heading-font);
}

.mascot-callout p {
  max-width: 790px;
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
}

.mascot-insight {
  background: linear-gradient(100deg, var(--blue2), var(--surface) 65%);
}

.mascot-caution {
  border-left-color: #d69219;
  background: linear-gradient(100deg, color-mix(in srgb, #f2b84b 14%, var(--surface)), var(--surface) 65%);
}

.mascot-caution span {
  color: #b36b00;
}

.mascot-programming {
  border-left-color: #168d77;
  background: linear-gradient(100deg, color-mix(in srgb, #20a88d 12%, var(--surface)), var(--surface) 65%);
}

.mascot-programming span {
  color: #0c806a;
}

@media (max-width: 700px) {
  .mascot-callout {
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 14px;
    padding: 16px 18px 16px 10px;
  }

  .mascot-callout img {
    width: 88px;
    height: 88px;
  }
}

@media (max-width: 480px) {
  .mascot-callout {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .mascot-callout img {
    margin: 0 auto;
  }
}

.lesson table { width: 100%; border-collapse: collapse; margin-top: 1rem; }
.lesson th, .lesson td { padding: .55rem; border-bottom: 1px solid var(--line); text-align: right; }
.lesson th:first-child, .lesson td:first-child { text-align: left; }

/* Canonical lesson controls: two appearance modes, sequencing, and an uncluttered model tree. */
header{background:var(--surface)}
.header-actions{margin-left:auto;display:flex;align-items:center;gap:9px}
.theme-toggle,.next-model-button{border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink)}
.theme-toggle{display:inline-grid;place-items:center;width:40px;height:40px;padding:0;cursor:pointer}
.theme-toggle span{font-size:19px;line-height:1}
.lesson-next{margin:70px 0 35px;border-top:1px solid var(--line);padding-top:24px}
.next-model-button{display:grid;grid-template-columns:1fr auto;gap:5px 18px;width:100%;padding:18px 20px;text-decoration:none}
.next-model-button span{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.1em}
.next-model-button b{font-size:16px}
.next-model-button i{grid-column:2;grid-row:1/3;align-self:center;color:var(--blue);font-size:24px;font-style:normal}
.asset-children>a{background:transparent!important;color:#c6d2df!important}
.asset-children>a:hover{background:#ffffff0a!important;color:#fff!important}
.asset-children>a.selected{background:#17335a!important;color:#a9c7ff!important;box-shadow:inset 2px 0 var(--blue)!important}
.lesson-hero{grid-template-columns:minmax(0,1fr);gap:24px}
.lesson-hero>div:first-child{max-width:none}
.hero-card,.textbook-formula,.dcf-core-formula,.bond-core-formula,.var-core-formula{min-width:0;width:100%}
@media(max-width:700px){.theme-toggle{width:38px;height:38px}}
