/* Milkins Money Lab workbench. Real controls stay in normal document flow. */
body.phase1-money-lab .moneylab-v3 { display:flex!important; flex-direction:column; width:min(1200px,100%); margin:0 auto; padding:0 24px; overflow:visible; background:#0b120e; }
body.phase1-money-lab .moneylab-v3 :is(.moneylab-v3-sidebar,.moneylab-v3-workspace) { display:contents!important; }
body.phase1-money-lab .moneylab-v3 [hidden] { display:none!important; }
body.phase1-money-lab .moneylab-v3 .moneylab-v3-wordmark { display:none; }
body.phase1-money-lab .moneylab-v3 .moneylab-v3-topbar { order:0; padding:10px 0; min-height:66px; flex-wrap:wrap; gap:12px; }
body.phase1-money-lab .moneylab-v3 .moneylab-v3-topbar nav { flex-wrap:wrap; gap:20px; }
body.phase1-money-lab .moneylab-v3 .moneylab-v3-topbar nav a { display:flex; font-size:12px!important; min-height:44px; letter-spacing:.05em; }
body.phase1-money-lab .moneylab-v3 .lab-editorial-header { order:1; display:grid; grid-template-columns:minmax(0,1.3fr) minmax(220px,.7fr); gap:24px; margin:0; padding:32px 30px 0; min-height:330px; background:radial-gradient(ellipse at 83% 60%,#31453288,transparent 52%),linear-gradient(125deg,#18271c,#101a13); border:1px solid #45543d; border-top:3px solid #d8b36d; }
body.phase1-money-lab .moneylab-v3 .lab-hero-copy { padding-bottom:28px; }
body.phase1-money-lab .moneylab-v3 .lab-editorial-header h1 { font-size:clamp(50px,6vw,76px); line-height:.95; max-width:680px; letter-spacing:.015em; }
body.phase1-money-lab .moneylab-v3 .lab-title-name { display:block; color:#d8b36d; font-size:.5em; letter-spacing:.19em; line-height:1.6; }
body.phase1-money-lab .moneylab-v3 .lab-editorial-deck { display:block; font-size:15px; letter-spacing:.04em; margin:18px 0 8px; }
body.phase1-money-lab .moneylab-v3 .lab-editorial-note { display:block; font-size:15px; line-height:1.6; }
body.phase1-money-lab .moneylab-v3 .lab-hero-actions { display:flex; flex-wrap:wrap; gap:10px; margin:20px 0; }
body.phase1-money-lab .moneylab-v3 .lab-hero-actions :is(a,button) { min-height:44px; padding:12px 16px; font-size:12px; letter-spacing:.025em; }
body.phase1-money-lab .moneylab-v3 .lab-branch-key { display:flex; flex-wrap:wrap; gap:12px 28px; font-size:12px; color:#bcc7b5; }
body.phase1-money-lab .moneylab-v3 .lab-branch-key b { display:block; color:#e5c58a; font-size:11px; margin-bottom:5px; }
body.phase1-money-lab .moneylab-v3 .lab-branch-key span + span b { color:#b6d098; }
body.phase1-money-lab .moneylab-v3 .lab-hero-art { margin:0; position:relative; align-self:stretch; display:flex; flex-direction:column; justify-content:flex-end; min-width:0; }
body.phase1-money-lab .moneylab-v3 .lab-hero-art img { display:block!important; position:static; width:100%; height:auto; max-height:370px; object-fit:contain; object-position:bottom; margin:0; filter:drop-shadow(0 15px 18px #0006); }
body.phase1-money-lab .moneylab-v3 .lab-hero-art figcaption { position:absolute; bottom:14px; right:0; left:0; padding:10px; text-align:center; color:#dfc38c; background:#0b120ece; font:700 10px/1.4 Arial,sans-serif; letter-spacing:.2em; }
body.phase1-money-lab .moneylab-v3 .lab-start-guide { order:2; margin:0 0 16px; }
.lab-guide-invitation { display:flex; justify-content:space-between; gap:20px; align-items:center; padding:18px 0; }
.lab-guide-invitation strong,.lab-guide-invitation span { display:block; font-size:14px; line-height:1.5; }
.lab-guide-invitation span { color:#bdc8b5; margin-top:4px; }
.lab-guide-invitation button { min-height:44px; padding:10px 14px; border:1px solid #a58c57; background:#253520; color:#ead8b0; font-weight:700; cursor:pointer; }
body.phase1-money-lab .moneylab-v3 .lab-reading-guide > summary { min-height:44px; font-size:12px; }
body.phase1-money-lab .moneylab-v3 [data-v3-mode-mount] { order:3; margin:0 0 14px; }
body.phase1-money-lab .moneylab-v3 [data-v3-mode-mount] button { min-height:44px; font-size:12px; }
body.phase1-money-lab .moneylab-v3 [data-v3-context-mount] { order:4; }
body.phase1-money-lab .moneylab-v3 .moneylab-v3-steps { order:5; margin:0 0 16px; grid-template-columns:repeat(4,minmax(0,1fr)); }
body.phase1-money-lab .moneylab-v3 .moneylab-v3-steps li { font-size:10px; }
body.phase1-money-lab .moneylab-v3 #labSetup { order:6; width:100%; margin:0 0 24px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.85fr); background:#121d15; scroll-margin-top:20px; }
body.phase1-money-lab .moneylab-v3 #labSetup > header { grid-column:1/-1; min-height:68px; padding:14px 20px; }
body.phase1-money-lab .moneylab-v3 #labSetup > .moneylab-v3-field:first-of-type { grid-column:1/-1; padding:12px 20px; min-height:0; display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
body.phase1-money-lab .moneylab-v3 #labSetup > .moneylab-v3-field:first-of-type small { display:none; }
body.phase1-money-lab .moneylab-v3 #labSetup .moneylab-v3-setup-editor { grid-column:1; grid-row:3/6; border-right:1px solid #354437; }
body.phase1-money-lab .moneylab-v3 #labSetup .moneylab-v3-setup-editor > summary { min-height:44px; font-size:12px; }
body.phase1-money-lab .moneylab-v3 #labSetup .moneylab-v3-actions { grid-column:2; padding:20px; margin:0; display:flex; flex-direction:column; gap:12px; }
body.phase1-money-lab .moneylab-v3 #labSetup .moneylab-v3-matchup { grid-column:2; margin:0; padding:16px 20px; display:block; }
body.phase1-money-lab .moneylab-v3 #labSetup > .moneylab-v3-field:last-child { grid-column:2; padding:12px 20px; }
body.phase1-money-lab .moneylab-v3 #labSetup select { min-height:48px; font-size:14px; width:100%; }
body.phase1-money-lab .moneylab-v3 #labSetup .moneylab-v3-field { padding:14px 20px; }
body.phase1-money-lab .moneylab-v3 #labSetup .nfl-game-filters { gap:12px; }
body.phase1-money-lab .moneylab-v3 #labSetup label { font-size:11px; }
body.phase1-money-lab .moneylab-v3 #labSetup .moneylab-v3-game-field > small { font-size:12px; color:#ebc67d; margin-bottom:8px; }
body.phase1-money-lab .moneylab-v3 #labSetup :is(.nfl-readiness-mini,#nflRunNote,.moneylab-schedule-note) { font-size:13px; line-height:1.5; }
body.phase1-money-lab .moneylab-v3 #labSetup [data-v3-run-mount] button { font-size:23px!important; min-height:56px!important; }
body.phase1-money-lab .moneylab-v3 #labAssumptions { order:7; width:100%; margin:0 0 24px; background:#101a13; scroll-margin-top:20px; }
body.phase1-money-lab .moneylab-v3 #labAssumptions > header { display:flex; flex-wrap:wrap; padding:18px 20px; gap:16px; }
body.phase1-money-lab .moneylab-v3 :is(#labSetup,#labAssumptions) h2 { font:700 17px/1.4 Arial,sans-serif; letter-spacing:.035em; }
body.phase1-money-lab .moneylab-v3 .moneylab-v3-view-switch { display:flex; gap:8px; }
body.phase1-money-lab .moneylab-v3 .moneylab-v3-view-switch button { min-height:44px; padding:10px 16px; font-size:12px; cursor:pointer; }
body.phase1-money-lab .moneylab-v3 .moneylab-v3-style { margin:18px 20px 0; }
body.phase1-money-lab .moneylab-v3 .lab-control-tip { margin:16px 20px; font-size:14px; line-height:1.6; color:#c8d0c2; }
body.phase1-money-lab .moneylab-v3 [data-v3-core-assumptions] { display:block!important; padding:12px 20px; font-size:13px; line-height:1.5; color:#dcc38b; background:#1b2b1d; }
body.phase1-money-lab .moneylab-v3 .moneylab-v3-advanced-assumptions { position:static!important; margin:16px 20px!important; border:1px solid #45543d; height:auto!important; }
body.phase1-money-lab .moneylab-v3 .moneylab-v3-advanced-assumptions > summary { min-height:48px; padding:12px; display:flex; justify-content:space-between; font:700 12px/1.5 Arial,sans-serif; }
body.phase1-money-lab .moneylab-v3 [data-v3-advanced-assumptions] { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:14px; padding:14px; }
body.phase1-money-lab .moneylab-v3 #weightGrid { grid-column:1/-1; display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:14px; }
body.phase1-money-lab .moneylab-v3 :is(.nfl-factor-card,.weight-card),.lab-guided-tour :is(.nfl-factor-card,.weight-card) { position:relative!important; display:flex!important; flex-direction:column; min-width:0; width:auto!important; min-height:240px; height:auto!important; padding:18px!important; border:1px solid #45543d!important; border-radius:0!important; background:#17241a!important; gap:12px; box-shadow:none!important; overflow:visible; }
body.phase1-money-lab .moneylab-v3 :is(.nfl-factor-card,.weight-card) header,.lab-guided-tour .nfl-factor-card header { display:flex; align-items:start; flex-wrap:wrap; gap:8px; padding:0!important; min-height:44px; }
body.phase1-money-lab .moneylab-v3 .nfl-factor-card header > span,.lab-guided-tour .nfl-factor-card header > span { flex:1; font-size:15px; line-height:1.4; min-width:120px; }
body.phase1-money-lab .moneylab-v3 .weight-card > span:first-child,.lab-guided-tour .weight-card > span:first-child { font-size:15px!important; line-height:1.4; white-space:normal; }
body.phase1-money-lab .moneylab-v3 :is(.nfl-factor-card,.weight-card) input[type=range],.lab-guided-tour input[type=range] { display:block; position:static!important; width:100%!important; height:32px; margin:0!important; cursor:pointer; accent-color:#ddbd7b; }
body.phase1-money-lab .moneylab-v3 :is(.nfl-factor-card,.weight-card) input:disabled,.lab-guided-tour input:disabled { cursor:not-allowed; opacity:.45; }
body.phase1-money-lab .moneylab-v3 :is(.nfl-factor-scope,.team-scope),.lab-guided-tour :is(.nfl-factor-scope,.team-scope) { display:flex; flex-wrap:wrap; gap:6px; width:100%; }
body.phase1-money-lab .moneylab-v3 :is(.nfl-factor-scope,.team-scope) button,.lab-guided-tour :is(.nfl-factor-scope,.team-scope) button { flex:1 1 70px; min-height:44px; padding:8px; font-size:11px!important; line-height:1.35; white-space:normal; overflow-wrap:anywhere; }
body.phase1-money-lab .moneylab-v3 :is(.nfl-factor-scope,.team-scope) button.active,.lab-guided-tour :is(.nfl-factor-scope,.team-scope) button.active { background:#d8b36d!important; color:#101710!important; }
body.phase1-money-lab .moneylab-v3 :is(.slider-target-prompt,.nfl-target-prompt),.lab-guided-tour :is(.slider-target-prompt,.nfl-target-prompt) { position:static; width:100%; font-size:11px; line-height:1.5; color:#e8ce97; background:none; padding:0; }
body.phase1-money-lab .moneylab-v3 .nfl-factor-axis,.lab-guided-tour .nfl-factor-axis { display:flex; justify-content:space-between; gap:8px; font-size:10px; }
body.phase1-money-lab .moneylab-v3 [data-nfl-help] { min-width:36px; min-height:36px; }
body.phase1-money-lab .moneylab-v3 .moneylab-v3-assumption-state { margin:16px 20px; font-size:13px; }
body.phase1-money-lab .moneylab-v3 .lab-result-ready { order:8; display:flex; flex-wrap:wrap; gap:16px; align-items:center; justify-content:space-between; border:1px solid #566347; border-left:4px solid #d8b36d; padding:24px; margin:0 0 24px; background:#17241a; }
.lab-result-ready h2 { font:400 30px/1.1 var(--club-display,Impact,'Arial Narrow',sans-serif); margin:8px 0; }
.lab-result-ready p { font-size:14px; line-height:1.5; margin:0; color:#bdc8b5; }
.lab-result-ready button { min-height:48px; padding:12px 20px; font-weight:700; background:#d8b36d; color:#101710; cursor:pointer; border:0; }
body.phase1-money-lab .moneylab-v3 .moneylab-v3-result-layout { order:9; margin:0; }
body.phase1-money-lab .moneylab-v3 .moneylab-v3-breakdown { order:10; margin:20px 0; }
body.phase1-money-lab .moneylab-v3 .moneylab-v3-disclosure { order:11; padding:20px 0; font-size:12px; }
/* Native dialog holds the original working control, never a disconnected imitation. */
.lab-guided-tour { width:min(640px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); margin:auto; padding:0; color:#eee8dc; background:#101a13; border:1px solid #ab9059; overflow:auto; overscroll-behavior:contain; }
.lab-guided-tour::backdrop { background:#030805da; backdrop-filter:blur(5px); }
.lab-guided-tour > header { position:sticky; top:0; z-index:2; display:flex; justify-content:space-between; align-items:center; gap:16px; padding:14px 22px; background:#17241a; border-bottom:1px solid #40533d; }
.lab-guided-tour > header span { color:#dfc387; font:700 11px/1.4 Arial,sans-serif; letter-spacing:.07em; }
.lab-guided-tour button { min-height:44px; cursor:pointer; }
.lab-guided-tour > header button { min-width:44px; font-size:24px; color:#ddd2b9; background:none; border:1px solid #566347; }
.lab-tour-body { padding:22px; }
.lab-tour-body h2 { font:400 34px/1.05 var(--club-display,Impact,'Arial Narrow',sans-serif); margin:0 0 12px; }
.lab-tour-body > p { font-size:15px; line-height:1.6; color:#c3cebc; }
.lab-tour-bands { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:18px 0; }
.lab-tour-bands div { padding:12px; border:1px solid #40533d; font-size:12px; line-height:1.5; }
.lab-tour-bands strong { display:block; color:#dfc387; margin-bottom:6px; font-size:14px; }
.lab-tour-current { margin:16px 0; }
.lab-guided-tour .nfl-factor-card [data-nfl-desc],.lab-guided-tour :is([data-nfl-help],[data-factor-help]) { display:none!important; }
.lab-tour-nav { display:flex; flex-wrap:wrap; gap:10px; padding:0 22px 22px; }
.lab-tour-nav button { flex:1; padding:12px; background:#22351f; border:1px solid #6a7953; color:#eee8dc; font-weight:700; }
.lab-tour-nav [data-tour-next] { background:#d8b36d; color:#101710; }
.lab-tour-nav [data-tour-skip] { flex:1 0 100%; background:none; border:0; color:#bcc7b5; font-size:12px; }
.lab-guided-tour :is(a,button,input,select):focus-visible { outline:2px solid #f3d79c; outline-offset:3px; }
body.phase1-money-lab #factorHelpModal .factor-help-card { box-sizing:border-box; max-height:calc(100dvh - 40px); overflow-y:auto; overscroll-behavior:contain; }
body.phase1-money-lab #factorHelpModal .factor-help-close { min-width:44px; min-height:44px; }
body.phase1-money-lab #factorHelpModal h2 { padding-right:44px; font-size:clamp(26px,4vw,40px)!important; line-height:1.15!important; overflow-wrap:anywhere; }
body.phase1-money-lab #factorHelpModal :is(button,[tabindex]):focus-visible { outline:2px solid #f3d79c; outline-offset:3px; }
@media(max-width:1000px) {
 body.phase1-money-lab .moneylab-v3 [data-v3-advanced-assumptions],body.phase1-money-lab .moneylab-v3 #weightGrid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
}
@media(max-width:650px) {
 body.phase1-money-lab .moneylab-v3 { padding:0 16px; }
 body.phase1-money-lab .moneylab-v3 .moneylab-v3-topbar { gap:6px; }
 body.phase1-money-lab .moneylab-v3 .moneylab-v3-topbar nav { gap:12px; }
 body.phase1-money-lab .moneylab-v3 .moneylab-v3-topbar nav a { font-size:10px!important; }
 body.phase1-money-lab .moneylab-v3 .lab-editorial-header { grid-template-columns:minmax(0,1fr) 105px; padding:24px 18px 0; gap:0; min-height:0; }
 body.phase1-money-lab .moneylab-v3 .lab-hero-copy { grid-column:1/-1; }
 body.phase1-money-lab .moneylab-v3 .lab-editorial-header h1 { font-size:48px; max-width:300px; padding-right:12px; }
 body.phase1-money-lab .moneylab-v3 .lab-hero-art { position:absolute; width:106px; right:-8px; top:40px; opacity:.6; z-index:0; }
 body.phase1-money-lab .moneylab-v3 .lab-hero-art figcaption { display:none; }
 body.phase1-money-lab .moneylab-v3 .lab-editorial-header .lab-hero-copy { position:relative; z-index:1; }
 body.phase1-money-lab .moneylab-v3 .lab-editorial-deck { font-size:12px; }
 body.phase1-money-lab .moneylab-v3 .lab-editorial-note { max-width:280px; font-size:14px; }
 .lab-guide-invitation { align-items:stretch; flex-direction:column; gap:12px; }
 body.phase1-money-lab .moneylab-v3 .moneylab-v3-steps { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
 body.phase1-money-lab .moneylab-v3 #labSetup { display:block; }
 body.phase1-money-lab .moneylab-v3 #labSetup > header { flex-wrap:wrap; padding:14px; }
 body.phase1-money-lab .moneylab-v3 #labSetup .moneylab-v3-setup-editor { border-right:0; }
 body.phase1-money-lab .moneylab-v3 #labSetup .moneylab-v3-matchup { display:none; }
 body.phase1-money-lab .moneylab-v3 :is(#labSetup,#labAssumptions) h2 { font-size:15px; }
 body.phase1-money-lab .moneylab-v3 #labAssumptions > header { padding:16px; }
 body.phase1-money-lab .moneylab-v3 .moneylab-v3-view-switch { width:100%; }
 body.phase1-money-lab .moneylab-v3 .moneylab-v3-view-switch button { flex:1; padding:10px; }
 body.phase1-money-lab .moneylab-v3 [data-v3-advanced-assumptions],body.phase1-money-lab .moneylab-v3 #weightGrid { grid-template-columns:minmax(0,1fr)!important; }
 body.phase1-money-lab .moneylab-v3 .moneylab-v3-advanced-assumptions { margin:16px!important; }
 .lab-tour-bands { grid-template-columns:minmax(0,1fr)!important; }
 .lab-tour-bands div { padding:9px 12px; }
 .lab-tour-bands strong { display:inline; margin-right:8px; }
 .lab-tour-body { padding:18px; }
 .lab-tour-body h2 { font-size:28px; }
 .lab-guided-tour { width:calc(100vw - 20px); max-height:calc(100dvh - 20px); }
}

body[data-guide-first-visit="false"] .lab-guide-invitation { display:none; }

/* Legacy profiles remain engine/version metadata, not primary simulation choices. */
#simModel, #v37ModelSelectMount, #v33ModelMount, .model-family-reference { display:none !important; }
#simulationModeStatus { max-width:40rem; white-space:normal; }

/* Retired compact persona controls must not constrain the two view labels. */
body.phase1-money-lab .moneylab-v3 #labAssumptions > header .moneylab-v3-view-switch {
  width: min(280px,100%);
  max-width: 100%;
  flex: 0 1 280px;
}
body.phase1-money-lab .moneylab-v3 #labAssumptions > header .moneylab-v3-view-switch button {
  flex: 1 1 0;
  width: auto;
  min-width: 0;
  min-height: 44px;
  padding: 10px 12px !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  white-space: normal;
}
/* Complete returned attribution behind a native keyboard disclosure. */
.run-result-v1 .run-returned-drivers { margin-top: 12px; }
.run-result-v1 .run-returned-drivers summary { min-height: 44px; display: list-item; padding: 12px 4px; box-sizing: border-box; cursor: pointer; color: #ead4a6; font-size: 12px; line-height: 20px; }
.run-result-v1 .run-returned-drivers summary:focus-visible { outline: 2px solid #e5b866; outline-offset: 3px; }
.run-result-v1 .run-returned-drivers ol { padding-left: 22px; color: #ddd2c4; font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
.run-result-v1 .run-returned-drivers li { margin: 8px 0; }
.run-result-v1 .run-returned-drivers p { color: #c8bdad; font-size: 12px; line-height: 1.5; }
