
:root{font-family:'DM Sans',system-ui,sans-serif;color:#233d37;background:#f5f4ed;font-synthesis:none;--green:#356f57;--ink:#233d37;--muted:#718078;--line:#dce2d8}*{box-sizing:border-box}body{margin:0}header{max-width:1280px;margin:auto;padding:26px 40px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{color:var(--ink);text-decoration:none;font-weight:800;letter-spacing:.12em;font-size:13px}.tag,.muted{font-size:12px;color:var(--muted);line-height:1.6}main{max-width:1280px;margin:auto;padding:40px}.intro{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:32px}.eyebrow,.section-title{font-size:10px;font-weight:800;letter-spacing:.13em;color:#637c68}.eyebrow{margin:0 0 14px}h1{font-family:Manrope,system-ui;font-size:44px;letter-spacing:-2px;line-height:1.12;margin:0 0 18px;font-weight:700}h1 span{color:#6b8b69}.intro p:not(.eyebrow){max-width:570px;font-size:14px;line-height:1.65;margin:0;color:#66766d}.mode{background:#e9ecdf;display:flex;padding:5px;border-radius:14px;flex-shrink:0;gap:4px}button,select,input{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:#fffef9;border-radius:10px;color:var(--ink);padding:12px 14px;font-weight:600;font-size:12px;transition:background .2s,transform .2s}button:hover:not(:disabled){background:#e7eddf;transform:translateY(-1px)}button:focus-visible,summary:focus-visible{outline:3px solid #e4aa50;outline-offset:3px}button:disabled{opacity:.45;cursor:default}.mode button{border:0;background:none;padding:12px 20px}.selected,.mode .selected{background:#fffef9;box-shadow:0 2px 8px #203b2c0d}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 325px;gap:22px}.maze-panel{border:1px solid var(--line);border-radius:20px;background:#fffef9;overflow:hidden;display:flex;flex-direction:column}.maze-top{display:flex;justify-content:space-between;gap:10px;padding:25px 28px 0}.maze-top b{font-size:17px}.maze-top p{font-size:12px;color:var(--muted);margin:7px 0}.toggle{font-size:11px;white-space:nowrap;display:flex;align-items:center;gap:5px;align-self:start}input[type=checkbox]{accent-color:var(--green)}#maze{width:100%;height:auto;max-height:590px;flex:1;min-height:300px}.legend{display:flex;justify-content:center;gap:26px;font-size:11px;color:var(--muted);padding:8px 0 22px}.legend i{width:7px;height:7px;display:inline-block;border-radius:50%;margin-right:5px}.phase-line{display:flex;gap:12px;align-items:center;padding:18px 24px;background:#f0f3e9;border-top:1px solid var(--line);min-height:78px}.phase-line span{background:#dce7d6;font-size:9px;font-weight:700;padding:5px 8px;border-radius:5px;letter-spacing:.05em}.phase-line p{margin:0;font-size:12px;line-height:1.5}aside{display:flex;flex-direction:column;gap:16px}.card{border:1px solid var(--line);border-radius:16px;background:#fffef9;padding:22px}.section-title{display:flex;justify-content:space-between;margin-bottom:17px}.section-title #status{font-size:10px;letter-spacing:0;text-transform:none;color:#8a9489}.primary{background:var(--green);color:white;width:100%;border-color:var(--green);padding:16px}.primary:hover:not(:disabled){background:#285c46}.button-row{display:flex;gap:8px;margin:10px 0}.button-row button{flex:1;padding:11px 8px;font-size:11px}.small-row{display:flex;justify-content:space-between;align-items:center;font-size:11px;margin-top:16px}.small-row label{display:flex;align-items:center;gap:6px}select{border:1px solid var(--line);border-radius:6px;background:white;color:var(--ink);padding:4px}.big-stat{display:flex;align-items:center;gap:14px}.big-stat strong{font-family:Manrope,sans-serif;font-size:42px;letter-spacing:-2px}.big-stat span{font-size:12px;max-width:110px;color:var(--muted);line-height:1.5}.meter{height:7px;border-radius:8px;background:#edf0e6;margin:12px 0}.meter div{height:100%;background:#82a16c;border-radius:8px;transition:width .5s}.stats{display:grid;grid-template-columns:1fr 1fr;gap:18px;border-top:1px solid var(--line);padding-top:16px;margin-top:16px}.stats b{display:block;font-size:22px;font-weight:500}.stats span{font-size:10px;color:var(--muted)}.view-label{font-size:10px!important;color:#6f8565}.bottom{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:22px 0}.bottom .card{padding:28px}h2{font-family:Manrope,sans-serif;font-size:24px;letter-spacing:-.7px;font-weight:600}.bottom p{font-size:13px;line-height:1.7;max-width:470px}.learn{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0}.learn summary{font-size:13px;font-weight:600;cursor:pointer}.learn-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 40px;padding-top:14px}.learn p{font-size:13px;line-height:1.7;color:var(--muted)}h3{font-size:14px}details label{display:block;font-size:12px;margin:13px 0}details input[type=number]{width:80px;margin-left:10px}footer{max-width:1280px;margin:auto;padding:0 40px 30px;color:#809082;font-size:11px;display:flex;justify-content:space-between}.door{cursor:pointer}.door:hover .door-face{stroke:#7b9a6d;stroke-width:3}.door-label{font-family:'DM Sans',sans-serif}.prob{font-variant-numeric:tabular-nums}#pause{width:100%;margin-top:8px}.connector{transition:opacity .2s}.explorer{filter:drop-shadow(0 2px 2px #0002)}
@media(max-width:850px){header{padding:20px}.tag{display:none}main{padding:25px 18px}.intro{display:block}h1{font-size:37px}.mode{margin-top:22px;display:inline-flex}.workspace{grid-template-columns:1fr}.maze-top{padding:20px 17px 0}.maze-panel{min-width:0}aside{display:grid;grid-template-columns:1fr 1fr}.controls{grid-column:1/-1}.bottom{grid-template-columns:1fr}footer{padding:0 20px 25px}.learn-grid{grid-template-columns:1fr}}
@media(max-width:480px){h1{font-size:32px;letter-spacing:-1.3px}.intro p:not(.eyebrow){font-size:13px}aside{display:flex}.maze-top b{font-size:14px}.toggle{font-size:10px}.maze-top p{font-size:10px}.legend{gap:15px}.phase-line{padding:14px;gap:8px}.phase-line p{font-size:11px}#maze{min-height:0}.card{padding:20px}.bottom .card{padding:22px}footer{display:block}footer span{display:block;margin-top:6px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto;transition:none!important}}

.maze-units{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0}.goal-key{font-size:10px;color:var(--muted)}.units-toggle{display:flex;border:1px solid var(--line);border-radius:8px;padding:2px;background:#edf0e6}.units-toggle button{padding:7px 10px;border:0;background:transparent;border-radius:6px;font-size:11px}.units-toggle button[aria-pressed=true]{background:#356f57;color:white}.units-toggle button:hover{transform:none}

.intro-guide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:-8px 0 28px}.intro-guide p{margin:0;font-size:14px;line-height:1.65;color:#66766d;max-width:65ch}
@media(max-width:850px){.intro-guide{grid-template-columns:1fr;gap:14px}}
@media(max-width:480px){.intro-guide p{font-size:13px}}

.maze-top>div:first-child{min-width:0}.maze-top #context{max-width:60ch;line-height:1.6}
@media(max-width:480px){.maze-top{flex-wrap:wrap}.maze-top>div:first-child{flex-basis:100%}.maze-top #context{font-size:12px}.maze-units{width:100%;flex-direction:row;align-items:center;justify-content:space-between;margin-top:5px}}

.maze-top .learning-summary{margin:16px 0 8px;padding-top:12px;border-top:1px solid var(--line)}.maze-top #overall-odds{font-size:13px;line-height:1.6;color:var(--ink);max-width:60ch}.maze-top #training-effort{font-size:12px;margin-top:7px}.conditional-example{margin:14px 0}.conditional-example summary{font-size:12px;cursor:pointer}

.explorer-count{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;font-weight:600}.explorer-count select{min-width:62px}.controls #count-note{margin:10px 0 15px;font-size:11px}.learning-curve{margin:22px 0;border:1px solid var(--line);border-radius:16px;background:#fffef9;padding:20px 24px}.learning-curve summary{font-size:14px;font-weight:700;cursor:pointer}.learning-curve>p{max-width:75ch}.learning-curve svg{display:block;width:100%;height:auto;max-height:330px}.learning-curve:not([open])>svg{display:none}
@media(max-width:480px){.learning-curve{padding:18px 14px}.explorer-count{font-size:11px}}

.legend{flex-wrap:wrap;gap:8px 14px}

#pause{display:block;inline-size:100%;height:42px;min-height:42px;white-space:nowrap}.controls #count-note{min-height:3.2em}.controls #status{white-space:nowrap;text-align:right}

.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}
.game-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin:32px 0 16px}.game-header h2{margin:0;line-height:1.25;max-width:100%}.game-header .mode{margin:0}.field-tools{display:flex;justify-content:flex-end;align-items:center;gap:14px;margin:0 0 14px}.field-tools .goal-key{font-size:11px}.field-tools .units-toggle button{white-space:nowrap}.game-status{display:grid;grid-template-columns:minmax(0,1fr) 146px;align-items:center;gap:16px;background:#e5eddf;border-bottom:1px solid #ccd9c5;padding:22px 24px;min-height:156px}.status-copy #phase-badge{display:inline-block;background:#356f57;color:#fffef9;border-radius:5px;padding:5px 8px;font-size:10px;font-weight:800;letter-spacing:.08em}.status-copy #context{margin:8px 0 0;color:#233d37;font-size:16px;font-weight:650;line-height:1.5;min-height:4.5em}.inference-cta-slot{height:42px;min-width:140px}.inference-cta-slot button{height:42px;width:100%;white-space:nowrap;background:#356f57;color:#fffef9;border-color:#356f57}.maze-panel{align-self:start}
@media(max-width:480px){.game-header h2{font-size:21px}.game-header .mode{max-width:100%}.game-header .mode button{padding:11px 16px}.game-status{grid-template-columns:1fr;gap:10px;padding:18px;min-height:221px}.status-copy #context{font-size:14px;min-height:7.5em}.inference-cta-slot{width:100%}.field-tools{justify-content:space-between}.field-tools .units-toggle button{padding:7px 8px}}

/* Static evidence of the most recent completed journeys. */
.last-round-traces{pointer-events:none}.route-dot-success{filter:drop-shadow(0 0 3px currentColor)}.stats span{overflow-wrap:normal;line-height:1.4}.route-dot-success circle{filter:drop-shadow(0 0 3px #e8c66c)}

/* Keep the mode switch outside and door-value units inside the field. */
.field-tools .mode{margin:0}.field-tools{justify-content:space-between}.field-display{display:flex;justify-content:flex-end;padding:10px 20px 0}.game-header{margin-bottom:12px}.game-status{padding:18px 22px;min-height:132px}.status-copy #context{font-size:15px;min-height:4.5em}.inference-cta-slot button{transform:none!important}
@media(max-width:480px){.field-tools .mode button{padding:10px 12px}.field-tools .goal-key{max-width:78px}.game-status{padding:14px;min-height:184px;gap:8px}.status-copy #context{font-size:13px;min-height:6em}.field-display{padding:8px 14px 0}.field-display .units-toggle button{padding:6px 8px}}

.field-display{justify-content:space-between;align-items:center;gap:8px}.favored-route-note{display:flex;align-items:center;gap:5px;font-size:10px;line-height:1.3;color:#826b35;white-space:nowrap}.favored-route-note i{display:inline-block;width:15px;height:4px;background:#b39a59;opacity:.65;border-radius:4px}.favored-route-note:focus-visible{outline:2px solid #b39a59;outline-offset:4px}.favored-route{pointer-events:none}

/* One shared control set: beside the field on desktop, immediately above on mobile. */
.workspace>.controls{grid-column:2;grid-row:1}.workspace>.maze-panel{grid-column:1;grid-row:1 / span 2}.workspace>aside{grid-column:2;grid-row:2}.essential-controls{display:grid;grid-template-columns:76px minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:center}.run-choice select{height:44px;min-width:0;width:100%;font-size:14px}.essential-controls #run,.essential-controls #pause{height:44px;min-height:44px;padding:8px 5px;margin:0;font-size:12px;white-space:nowrap;transform:none}.run-settings summary{min-height:44px;display:flex;align-items:center;font-size:12px;font-weight:650;cursor:pointer}.run-settings>label{margin-top:10px}.run-settings .small-row{flex-wrap:wrap;gap:10px}.run-settings select{min-height:36px}
@media(max-width:850px){.workspace{display:flex;flex-direction:column;gap:12px}.workspace>.controls{order:0;padding:12px}.workspace>.maze-panel{order:1}.workspace>aside{order:2}.controls .section-title{margin-bottom:8px}.auto-command{display:none}.run-settings summary{padding-top:4px}.run-settings #count-note{min-height:3.2em}.field-tools .mode button,.field-display .units-toggle button{min-height:44px}.field-display{min-height:54px}.favored-route-note{min-height:44px}.door>.prob{font-size:26px}.door>text:not(.prob){font-size:22px}}
@media(max-width:480px){.game-status{display:block;position:relative;min-height:158px}.status-copy #phase-badge{margin-top:10px;margin-bottom:10px}.status-copy #context{margin-top:8px;min-height:6em}.inference-cta-slot{position:absolute;top:14px;right:14px;width:135px;height:44px;min-width:0}.inference-cta-slot button{height:44px;min-height:44px}.essential-controls{grid-template-columns:76px minmax(0,1fr) minmax(0,1fr)}}
@media(hover:none){button:hover:not(:disabled){transform:none}}

@media(max-width:850px){.run-settings select,.run-settings .small-row label{min-height:44px}}
@media(max-width:850px) and (max-height:500px){#maze{max-height:300px}.game-status{padding:14px;min-height:114px}.status-copy #context{font-size:13px;min-height:4.5em}}
@media(max-width:850px){.field-display .units-toggle button{min-width:44px}}

.learning-curve svg:focus-visible{outline:2px solid #b39a59;outline-offset:4px;border-radius:8px}.learning-curve #learning-curve-help{font-size:11px}.curve-tooltip{font-variant-numeric:tabular-nums}

.comparison-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:16px 0}.comparison-controls label{display:flex;gap:8px;align-items:center;margin:0;font-size:12px}.comparison-controls button,.comparison-controls select{min-height:44px}.comparison-legend{display:flex;flex-wrap:wrap;gap:10px 22px;margin:14px 0;font-size:11px;color:#526b59}.comparison-legend>span{display:flex;align-items:center;gap:6px}.comparison-legend i{width:18px;height:4px;border-radius:4px;flex-shrink:0}.controls #count-note{min-height:4.8em}.run-settings #count-note{min-height:4.8em}

.session-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;margin:24px 0 0;min-height:76px}.session-bar p{font-size:11px;line-height:1.5;min-height:3em;color:#63776a;margin:0}.session-reset{min-height:48px;font-size:14px;font-weight:750;border-color:#a5b69a;padding:12px 20px}.model-actions{display:flex;justify-content:center;margin:6px 12px 12px}.model-actions button{min-height:44px;min-width:140px}.weights-dialog{width:min(680px,calc(100vw - 28px));max-height:calc(100dvh - 28px);padding:20px;border:1px solid #bbcbb1;border-radius:20px;background:#fffef9;color:var(--ink);overflow:visible}.weights-dialog::backdrop{background:#233d3755}.weights-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.weights-header h2{margin:0}.weights-header button{min-height:44px;min-width:70px}.weights-content{max-height:calc(100dvh - 120px);overflow:auto;overscroll-behavior:contain;padding:0 4px 4px}.weight-matrix{width:100%;border-collapse:separate;border-spacing:8px;text-align:center;margin:14px 0}.weight-matrix caption{font-size:14px;font-weight:750;text-align:left;padding:0 8px 12px}.weight-matrix th{font-size:12px;color:#63776a}.weight-matrix td{background:#e8efdf;border:1px solid #d2dec7;border-radius:10px;height:64px;font-size:24px;font-weight:750}.weight-matrix td span{display:inline-block}.matrix-flight{position:fixed;display:flex;align-items:center;justify-content:center;color:#315a41;font-weight:750;pointer-events:none;z-index:2;white-space:nowrap;transform-origin:center}.inside-model summary{min-height:44px;display:flex;align-items:center;font-weight:700;cursor:pointer}.inside-model p{font-size:13px;line-height:1.6}.inside-model pre{overflow:auto;max-width:100%;background:#edf1e7;border-radius:10px;padding:14px;font-size:12px;line-height:1.5}.transition-scroll{overflow:auto}.transition-table{width:100%;border-collapse:collapse;font-size:11px}.transition-table th,.transition-table td{padding:9px 6px;border-bottom:1px solid #dce3d6;text-align:left;white-space:nowrap}.map-manager{border-top:1px solid #dce3d6;margin-top:18px;padding-top:12px}.map-manager label{display:block;font-size:12px;margin:10px 0 6px}.map-row{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.map-row input{flex:1 1 160px;min-width:0;border:1px solid #c9d5c1;border-radius:8px;padding:10px;font-size:16px}.map-manager button,.map-manager select,.map-row input{min-height:44px}.map-manager select{width:100%;font-size:14px}.map-row button{flex:1 1 120px}.map-manager #clear-maps{margin-top:6px}.map-manager #map-message{min-height:3em}@media(max-width:480px){.weights-dialog{padding:14px}.weight-matrix{border-spacing:5px}.weight-matrix td{height:54px;font-size:22px}.session-reset{padding:12px 14px}.session-bar p{min-height:4.5em}.map-row button{font-size:11px}}

.run-settings summary{list-style:none;width:100%}.run-settings summary::-webkit-details-marker{display:none}.run-settings summary::marker{content:''}.accordion-chevron{margin-left:auto;font-size:20px;line-height:1;transition:transform .16s ease}.run-settings[open] .accordion-chevron{transform:rotate(180deg)}

@media(max-width:1100px){.game-status{display:block;position:relative}.status-copy #phase-badge{margin-top:10px;margin-bottom:10px}.status-copy #context{margin-top:8px}.inference-cta-slot{position:absolute;top:18px;right:22px;width:146px;height:44px;min-width:0}.inference-cta-slot button{height:44px;min-height:44px}}@media(max-width:480px){.game-status{min-height:176px}.status-copy #context{min-height:7.5em}.inference-cta-slot{top:14px;right:14px;width:135px}}

.inside-model[open] .accordion-chevron{transform:rotate(180deg)}.weights-content{max-height:calc(100dvh - 140px)}

header{flex-wrap:wrap;gap:10px 20px}.main-nav{display:flex;gap:4px;flex-wrap:wrap;margin-left:auto;align-items:center}.main-nav a,.main-nav button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:8px 10px;font-size:12px;font-weight:650;color:#45624e;text-decoration:none;border:0;background:transparent;border-radius:8px;transform:none}.main-nav a:hover,.main-nav button:hover{background:#e8eddf;transform:none}.main-nav a:focus-visible,.term-link:focus-visible{outline:3px solid #e4aa50;outline-offset:3px;border-radius:4px}.term-link{color:#356f57;text-decoration:underline;text-decoration-color:#b3c2a7;text-underline-offset:3px}.anchor-target,#learning-panel{scroll-margin-top:16px}.glossary{border-top:1px solid #dce3d6;padding:26px 0;margin-top:24px}.glossary dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 36px}.glossary dt{font-size:14px;font-weight:750;margin-bottom:8px}.glossary dd{margin:0;font-size:13px;line-height:1.65;color:#66766d}.glossary>p{font-size:13px;line-height:1.65;max-width:80ch}.glossary:focus-visible,.glossary dt:focus-visible{outline:2px solid #b39a59;outline-offset:5px}@media(max-width:850px){.main-nav{margin-left:0;justify-content:space-between;width:100%}.glossary dl{grid-template-columns:1fr;gap:20px}}@media(max-width:480px){.main-nav a,.main-nav button{font-size:11px;padding:8px}.glossary h2{font-size:22px}}

.analogy-limits>summary{min-height:44px;align-content:center}.analogy-copy{max-width:78ch;padding:8px 0 4px}.analogy-copy a{color:#356f57;text-underline-offset:3px;overflow-wrap:anywhere}.analogy-copy a:focus-visible{outline:3px solid #e4aa50;outline-offset:3px}.analogy-copy .analogy-principle{font-size:16px;font-weight:650;color:var(--ink)}.analogy-copy li{font-size:13px;line-height:1.7;margin:12px 0}.analogy-copy ul{padding-left:20px}

.session-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.maze-panel{position:relative}.guided-lesson{padding:24px 28px;background:#eef3e5;border-bottom:1px solid #d1ddc5}.guided-lesson[hidden],.lesson-callouts[hidden],.lesson-arrows[hidden]{display:none}.lesson-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.lesson-heading .eyebrow{margin:0}.lesson-heading button{min-height:44px}.guided-lesson h2{margin:8px 0 12px;font-size:28px}.guided-lesson p{font-size:14px;line-height:1.65;max-width:66ch;margin:8px 0 16px}.lesson-actions{display:flex;gap:10px;flex-wrap:wrap}.lesson-actions button{min-height:48px;min-width:120px}.lesson-actions .primary{width:auto;flex:1}.lesson-actions button:only-child{width:100%}#lesson-countdown{font-size:24px;font-weight:750;font-variant-numeric:tabular-nums;min-height:40px;margin:8px 0}.lesson-active .intro,.lesson-active .intro-guide,.lesson-active .workspace>.controls,.lesson-active .game-status{display:none}.lesson-active .workspace>.maze-panel{grid-row:1}.lesson-active .workspace>aside{grid-row:1}.lesson-callouts{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 20px;position:relative;z-index:3}.lesson-callouts p{font-size:12px;line-height:1.6;background:#fff5da;border:1px solid #dfc777;border-radius:10px;padding:12px;margin:0}.lesson-callouts button{grid-column:1/-1;min-height:48px}.lesson-arrows{position:absolute;left:0;top:0;width:100%;pointer-events:none;z-index:2;overflow:visible}.lesson-arrows path{fill:none;stroke:#bb8430;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.guided-lesson:focus-within,.lesson-callouts:focus-visible{outline:2px solid #b39a59;outline-offset:-3px}@media(max-width:850px){.lesson-active .workspace>aside{order:2}.guided-lesson{padding:18px}.guided-lesson h2{font-size:25px}.session-actions button{min-height:44px}.lesson-callouts{padding:10px 14px;grid-template-columns:1fr}.lesson-actions button{min-width:110px}.lesson-active main{padding-top:12px}.lesson-active .session-bar{margin-top:0}}@media(prefers-reduced-motion:reduce){.lesson-arrows{transition:none}}

/* Mobile lesson: live diagram and teaching controls occupy separate reserved areas. */
.mobile-lesson-dialog{position:fixed;inset:auto;margin:0;max-width:none;max-height:none;padding:0;border:0;background:#fffef9;color:var(--ink);overflow:hidden}.mobile-lesson-dialog[open]{display:grid;grid-template-rows:minmax(0,1fr) var(--lesson-sheet-size)}.mobile-lesson-dialog::backdrop{background:#fffef9}.mobile-lesson-dialog.lesson-side-layout[open]{grid-template-columns:minmax(0,1fr) var(--lesson-sheet-size);grid-template-rows:minmax(0,1fr)}#mobile-lesson-stage{min-width:0;min-height:0;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#fffef9}#mobile-lesson-stage>#maze{width:100%;height:100%;min-height:0;max-height:none;flex:none}.mobile-lesson-tip{position:relative;min-width:0;min-height:0;padding:12px;display:grid;grid-template-rows:44px minmax(0,1fr) 56px;gap:8px;background:#eef3e5;border-top:1px solid #ccd9c5;overflow:hidden}.lesson-side-layout .mobile-lesson-tip{border-top:0;border-left:1px solid #ccd9c5}.mobile-lesson-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px}.mobile-lesson-tip button{min-height:44px;transform:none;padding:8px 10px}.mobile-lesson-body{min-height:0;overflow-y:auto;overscroll-behavior:contain}.mobile-lesson-body h2{font-size:19px;line-height:1.25;margin:0 0 6px}.mobile-lesson-body p{font-size:14px;line-height:1.4;margin:0}.mobile-lesson-buttons{display:grid;grid-template-columns:110px minmax(0,1fr);gap:8px;min-height:56px}.mobile-lesson-buttons>div{display:flex;min-width:0}.mobile-lesson-buttons button{height:56px;width:100%}#mobile-lesson-primary{background:#356f57;color:#fffef9;border-color:#356f57}.mobile-lesson-context{overflow:hidden}.mobile-lesson-context .guided-lesson{display:none}.mobile-route-focus[data-outcome="success"] .route-trail{stroke-opacity:1;stroke-width:8}.mobile-route-focus .route-dot circle{stroke:#e9bb54;stroke-width:3}.mobile-door-focus>rect:first-child{stroke:#bd8121!important;stroke-width:6!important;fill:#fff2d2}.mobile-door-focus .prob{fill:#192f22}
/* Mobile status strip: keep its action slot, remove the old oversized blank area. */
@media(max-width:850px),(max-width:1000px) and (max-height:500px){.game-status{display:grid;grid-template-columns:minmax(0,1fr) 135px;grid-template-areas:'badge action' 'copy copy';grid-template-rows:44px auto;gap:6px;padding:10px 12px;min-height:0}.status-copy{display:contents}.status-copy #phase-badge{grid-area:badge;align-self:center;justify-self:start;margin:0}.status-copy #context{grid-area:copy;min-height:2.8em;height:auto;font-size:13px;line-height:1.4;margin:0}.inference-cta-slot{grid-area:action;position:static;min-width:0;width:135px;height:44px}.inference-cta-slot button{height:44px;min-height:44px}}

.mobile-lesson-tip button{touch-action:manipulation}

.mobile-lesson-tip button:hover:not(:disabled),.mobile-lesson-tip button:active{transform:none!important}

/* Transport and display controls share one field row. */
.field-display{padding:8px 12px 0;gap:8px;flex-wrap:nowrap}.field-display .essential-controls{display:grid;grid-template-columns:repeat(2,minmax(60px,1fr));gap:4px;flex:1;max-width:200px}.field-display #run,.field-display #pause{height:44px;min-height:44px;min-width:60px;padding:6px 4px;margin:0;white-space:nowrap;transform:none!important}.controls>.run-choice{display:block;max-width:120px;margin-bottom:10px}.units-label-short{display:none}.favored-route-label{white-space:nowrap}.field-display .units-toggle{flex-shrink:0}.field-display .units-toggle button{min-height:44px;min-width:44px}
.mobile-lesson-dialog[open]{grid-template-rows:56px minmax(0,1fr) var(--lesson-sheet-size)}.mobile-lesson-toolbar{min-width:0;min-height:0;padding:6px 12px;display:flex;gap:8px;align-items:center;border-bottom:1px solid #dce3d6;background:#fffef9}.mobile-lesson-toolbar>.mobile-lesson-buttons{display:grid;grid-template-columns:repeat(2,minmax(60px,1fr));flex:1;max-width:260px;min-height:44px;gap:4px}.mobile-lesson-toolbar .mobile-lesson-buttons button{height:44px;min-height:44px;padding:4px 6px;line-height:1.1;font-size:12px;transform:none!important;touch-action:manipulation}.mobile-lesson-toolbar .units-toggle{margin-left:auto;flex-shrink:0}.mobile-lesson-toolbar .units-toggle button{height:44px;min-height:44px;min-width:44px}.mobile-lesson-tip{grid-template-rows:44px minmax(0,1fr)}.mobile-lesson-dialog.lesson-side-layout[open]{grid-template-rows:56px minmax(0,1fr)}.lesson-side-layout .mobile-lesson-toolbar{grid-column:1;grid-row:1}.lesson-side-layout #mobile-lesson-stage{grid-column:1;grid-row:2}.lesson-side-layout .mobile-lesson-tip{grid-column:2;grid-row:1 / span 2}
@media(max-width:640px){.units-label-full{display:none}.units-label-short{display:inline}.field-display{padding:8px 4px 0;gap:4px}.field-display .favored-route-note{width:44px;min-width:44px;height:44px;display:inline-flex;justify-content:center;align-items:center}.field-display .favored-route-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.field-display .favored-route-note i{margin:0}.field-display .essential-controls{min-width:124px}.mobile-lesson-toolbar{padding:6px 12px}.mobile-lesson-toolbar .units-toggle button{padding:6px}}

.field-display{justify-content:flex-end}.field-display>.favored-route-note{margin-right:auto}.mobile-lesson-toolbar>.mobile-lesson-buttons{margin-left:auto}
/* A column flex layout must not size the playfield from changing status text. */
@media(max-width:850px){.workspace>.maze-panel{align-self:stretch}}

/* Put explanation below interaction; a laptop is a workspace rather than a tall article. */
.play-heading{display:contents}.about-demo{margin-top:24px}.about-demo>.intro{margin-top:24px}.curve-options{margin:10px 0}.curve-options>summary{min-height:44px;align-content:center;font-size:12px;font-weight:650;cursor:pointer}
@media(min-width:1100px) and (min-height:600px){
 body.laptop-layout header{max-width:none;padding:4px 24px;min-height:52px;flex-wrap:nowrap}body.laptop-layout header .tag{display:none}
 body.laptop-layout main{max-width:1600px;padding:8px 20px 24px}
 .laptop-layout .play-heading{display:flex;align-items:center;gap:16px;margin-bottom:8px;min-height:44px}.laptop-layout .game-header{order:0;margin:0;flex:1}.laptop-layout .game-header h2{font-size:22px;letter-spacing:-.5px}.laptop-layout .field-tools{order:1;margin:0}.laptop-layout .goal-key{display:none}.laptop-layout .field-tools .mode button{min-height:44px;padding:10px 14px}
 .laptop-layout .session-bar{order:2;margin:0;padding:0;border:0;background:none;min-height:44px}.laptop-layout #storage-status{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.laptop-layout .session-actions{flex-wrap:nowrap}.laptop-layout .session-actions button{min-height:44px;padding:8px 10px}
 .workspace.laptop-workspace{position:relative;display:grid;grid-template-columns:220px minmax(0,1fr) 310px;grid-template-rows:minmax(0,1fr);gap:12px;height:calc(100svh - var(--workspace-top,116px) - 16px);min-height:440px}
 .laptop-workspace>.control-rail{grid-column:1;grid-row:1;display:flex;flex-direction:column;gap:10px;min-width:0;min-height:0;overflow:auto;scrollbar-width:thin}.laptop-workspace>.insight-rail{grid-column:3;grid-row:1;display:flex;flex-direction:column;gap:10px;min-width:0;min-height:0}.laptop-workspace>.maze-panel{grid-column:2;grid-row:1;height:100%;min-height:0;align-self:stretch;overflow:hidden}
 .laptop-workspace .card{padding:12px}.laptop-workspace .controls .section-title{margin-bottom:8px}.laptop-workspace .controls .run-choice{max-width:none;margin:0}.laptop-workspace .controls .auto-command{display:none}.laptop-workspace .run-settings summary{min-height:44px}.laptop-workspace .run-settings>label{margin:6px 0}.laptop-workspace .run-settings .small-row{margin-top:8px;flex-wrap:wrap;gap:8px}.laptop-workspace .run-settings select{min-height:36px}.laptop-workspace #count-note{min-height:0;margin:8px 0;font-size:12px}.laptop-workspace .run-choice select{height:44px}.laptop-workspace .controls #status{font-size:11px}
 .laptop-workspace .game-status{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding:12px;border:1px solid #ccd9c5;border-radius:14px;gap:8px}.laptop-workspace .status-copy{display:block}.laptop-workspace #phase-badge{margin:0 0 8px}.laptop-workspace #context{font-size:14px;line-height:1.45;min-height:0;margin:0}.laptop-workspace .inference-cta-slot{position:static;width:100%;height:44px;min-width:0}.laptop-workspace .inference-cta-slot button{height:44px}
 .laptop-workspace #maze{min-height:0;height:0;max-height:none;flex:1 1 0}.laptop-workspace .door>.prob{font-size:22px}.laptop-workspace .door>text:not(.prob){font-size:18px}.laptop-workspace .field-display{flex-shrink:0;padding:6px 8px 0;gap:6px}.laptop-workspace .favored-route-note{width:28px;min-width:28px;justify-content:center}.laptop-workspace .favored-route-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.laptop-workspace .field-display .essential-controls{margin-left:auto}.laptop-workspace .model-actions{padding:0 8px}.laptop-workspace .model-actions button{min-height:44px;padding:8px 12px}.laptop-workspace .legend{flex-shrink:0;padding:6px 8px 10px;gap:12px;font-size:11px}
 .laptop-workspace aside{display:block;gap:0}.laptop-workspace .odds-card .section-title{margin-bottom:6px}.laptop-workspace .big-stat{gap:10px}.laptop-workspace .big-stat strong{font-size:34px}.laptop-workspace .big-stat span{max-width:none;font-size:12px}.laptop-workspace .meter{margin:8px 0}.laptop-workspace .odds-details>summary{min-height:36px;align-content:center;font-size:12px;cursor:pointer}.laptop-workspace .odds-details p{font-size:12px;line-height:1.45}.laptop-workspace .stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:8px;padding-top:8px}.laptop-workspace .stats b{font-size:20px}.laptop-workspace .stats span{font-size:11px;line-height:1.35;display:block}.laptop-workspace #inference-stat{margin:8px 0 0;font-size:11px;line-height:1.4}
 .laptop-workspace .learning-curve{padding:10px 12px;margin:0;min-height:0;flex:1;overflow:auto;border-radius:14px}.laptop-workspace .learning-curve>summary{min-height:28px;align-content:center;font-size:14px}.laptop-workspace #learning-chart{display:block;width:100%;height:auto;max-height:245px}.laptop-workspace #comparison-legend{gap:4px;margin:4px 0;font-size:11px}.laptop-workspace #learning-curve-help,.laptop-workspace #learning-curve-note{display:none}.laptop-workspace .curve-options{margin:0}.laptop-workspace .curve-options>summary{min-height:36px;font-size:12px}.laptop-workspace .comparison-controls{gap:8px}.laptop-workspace .comparison-controls button,.laptop-workspace .comparison-controls select{min-height:36px}.laptop-workspace .curve-options p{font-size:12px}
 .laptop-workspace .guided-lesson{border:1px solid #ccd9c5;border-radius:14px;padding:12px}.laptop-workspace .lesson-heading{gap:4px}.laptop-workspace .lesson-heading button{padding:6px;font-size:11px}.laptop-workspace .guided-lesson h2{font-size:21px;margin:8px 0}.laptop-workspace .guided-lesson p{font-size:14px;line-height:1.45;margin:8px 0}.laptop-workspace .lesson-actions{gap:6px}.laptop-workspace .lesson-actions button{min-width:0;min-height:44px;flex:1 1 100%;padding:8px}.laptop-workspace #lesson-countdown{margin:4px 0;min-height:30px}
 .laptop-workspace .lesson-callouts{padding:10px;border:1px solid #dfc777;border-radius:12px;background:#fff5da;grid-template-columns:1fr;gap:8px}.laptop-workspace .lesson-callouts p{padding:0;border:0;background:none;font-size:13px;line-height:1.4}.laptop-workspace .lesson-callouts button{display:none}.laptop-workspace .lesson-arrows{left:0;top:0;z-index:2}
 .laptop-layout.lesson-active .workspace .controls,.laptop-layout.lesson-active .workspace .game-status{display:none}.laptop-layout.lesson-active .workspace aside{display:block}.laptop-layout.lesson-active .intro{display:block}
}
@media(min-width:1100px) and (min-height:600px){.laptop-workspace .learning-curve:not([open]){flex:0;min-height:44px}}

.odds-details>summary{min-height:36px;align-content:center;font-size:12px;cursor:pointer}

/* One restrained post-it; geometry chooses a safe field gap or the teaching rail. */
.lesson-note{z-index:5;border:1px solid #ddc77d;border-radius:4px 4px 8px 4px;background:#fff5cf;box-shadow:0 4px 12px #4c452b18;padding:10px;display:block;color:#233d37}.lesson-note[hidden]{display:none!important}.lesson-note.note-floating{position:absolute;min-width:0;margin:0}.lesson-note.note-fallback{position:static;width:auto;max-width:100%;margin:0}.lesson-note .lesson-note-heading{display:flex;align-items:center;justify-content:space-between;gap:4px;min-height:44px}.lesson-note-heading span{font-size:10px;font-weight:750;letter-spacing:.06em}.lesson-note-heading button{width:44px;height:44px;min-height:44px;flex-shrink:0;padding:0;background:transparent;border:0;font-size:20px}.lesson-note p,.laptop-workspace .lesson-note p{font-size:14px;line-height:1.45;margin:4px 0 10px;padding:0;border:0;background:none}.lesson-note .lesson-note-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.lesson-note .lesson-note-actions button,.laptop-workspace .lesson-note .lesson-note-actions button{display:block;min-width:0;min-height:44px;padding:6px;font-size:12px;transform:none!important}.lesson-note button:focus-visible{outline:2px solid #8f691e;outline-offset:2px}.lesson-route-focus .route-trail{stroke-opacity:1}.lesson-door-focus>.door-face{stroke:#b78a25;stroke-width:4}.lesson-door-focus>.prob{paint-order:stroke;stroke:#fff0aa;stroke-width:5;stroke-linejoin:round}
.laptop-workspace .lesson-note-heading button{display:block}
.lesson-note .lesson-note-actions button,.laptop-workspace .lesson-note .lesson-note-actions button{grid-column:auto}
.lesson-route-focus[data-outcome=failure] .route-trail{stroke-opacity:.2}.lesson-route-focus[data-outcome=failure] .route-dot circle{stroke:#b78a25;stroke-width:1.5}
.lesson-note button{transform:none!important}

/* Precise door reach controls color; labels and the baseline tick also convey change. */
.door [data-color-surface]{transition:stroke 180ms ease}.door>[data-color-surface]:first-child{transition:fill 180ms ease,stroke 180ms ease}.less-motion .door [data-color-surface]{transition:none}.door-baseline{pointer-events:none}.model-actions{gap:12px;align-items:center}.door-color-key{display:flex;align-items:center;gap:8px;max-width:340px;margin:0;color:#526458;font-size:12px;line-height:1.4}.color-ramp{flex:0 0 42px;height:9px;border-radius:5px;background:linear-gradient(90deg,#bd7365,#d0ddc3 50%,#295e45)}.mobile-progress-stack{display:flex;flex-direction:column;gap:3px;min-width:0}.mobile-color-key{font-size:11px;line-height:1.25;color:#526458}@media(max-width:850px){.model-actions{flex-wrap:wrap;gap:6px}.model-actions .door-color-key{flex-basis:100%;max-width:none}}@media(prefers-reduced-motion:reduce){.door [data-color-surface]{transition:none}}

/* One field toolbar replaces the separate control card. */
#field-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px}.field-config.controls{display:flex;align-items:center;gap:8px;min-width:0;padding:0;border:0;background:none}.field-config .run-choice{display:block;margin:0;width:76px;flex-shrink:0}.field-config select{height:44px;min-height:44px;font-size:13px}.field-config .run-settings{margin:0;min-width:0}.field-config .run-settings>summary{height:44px;padding:6px 8px;gap:8px;white-space:nowrap}.field-config .config-fields{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:4px 0}.field-config .explorer-count{margin:0;font-size:12px;gap:5px}.field-config #count{min-width:48px;width:48px}.field-config .small-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0;font-size:12px}.field-config .small-row label{min-height:44px;display:flex;align-items:center;gap:4px;margin:0;white-space:nowrap}.field-config #speed{width:58px;min-width:58px}.field-config input{width:16px;height:16px}.field-config #count-note{margin:0;min-height:0}.field-config .sr-only{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}
@media(min-width:1100px) and (min-height:600px){
 .workspace.laptop-workspace{grid-template-columns:minmax(0,1fr) 310px}.laptop-workspace>.maze-panel{grid-column:1}.laptop-workspace>.insight-rail{grid-column:2}.laptop-workspace #field-toolbar{flex-wrap:nowrap;flex-shrink:0;gap:8px;padding:8px}.laptop-workspace .field-config{order:0;flex:1}.laptop-workspace .field-config .run-settings[open]>summary{display:none}.laptop-workspace .field-config .config-fields{padding:0;flex-wrap:nowrap}.laptop-workspace .field-config .small-row{flex-wrap:nowrap;gap:8px}.laptop-workspace .field-config .small-row label{margin:0}.laptop-workspace #field-toolbar .essential-controls{order:1;flex:0 0 152px;margin:0;max-width:none}.laptop-workspace #field-toolbar>.units-toggle{order:2}.laptop-workspace #favored-route-note{order:3;width:28px;min-width:28px;margin:0}
 .laptop-workspace .game-status{display:flex;flex-direction:row;align-items:center;border:0;border-top:1px solid #dce3d6;border-bottom:1px solid #dce3d6;border-radius:0;padding:6px 10px;gap:10px;min-height:56px;flex:0 0 56px}.laptop-workspace .status-copy{display:flex;gap:8px;align-items:center;flex:1;min-width:0}.laptop-workspace #phase-badge{margin:0;flex-shrink:0;font-size:9px}.laptop-workspace #context{font-size:13px;line-height:1.4;min-height:0;margin:0}.laptop-workspace .inference-cta-slot{flex:0 0 135px}.laptop-workspace .door>text:not(.prob){font-size:20px}
 .laptop-workspace .field-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 10px;flex-shrink:0}.laptop-workspace .field-footer .model-actions{display:contents}.laptop-workspace .field-footer .model-actions button{flex-shrink:0;min-width:110px}.laptop-workspace .field-footer .door-color-key{max-width:300px;flex:1}.laptop-workspace .field-footer .legend{padding:0;gap:6px 8px;max-width:320px;flex:0 1 auto}
 .laptop-workspace .guided-lesson{padding:10px;flex-shrink:0}.laptop-workspace .guided-lesson h2{font-size:19px;margin:6px 0;line-height:1.25}.laptop-workspace .guided-lesson p{font-size:13px;line-height:1.4;margin:6px 0}.laptop-workspace .lesson-heading{min-height:44px}.laptop-workspace .lesson-actions{flex-wrap:nowrap;gap:6px}.laptop-workspace .lesson-actions button{flex:1;min-width:0;font-size:12px;min-height:44px}.laptop-workspace #lesson-countdown{font-size:18px;min-height:24px}.laptop-workspace .guided-lesson.has-fallback-note>#lesson-title,.laptop-workspace .guided-lesson.has-fallback-note>#lesson-copy,.laptop-workspace .guided-lesson.has-fallback-note>#lesson-actions{display:none}.laptop-workspace #lesson-note-home>.note-fallback{margin-top:6px}
 .laptop-layout.lesson-active .insight-rail .odds-card{padding:8px 10px}.laptop-layout.lesson-active .odds-card .section-title,.laptop-layout.lesson-active .odds-card .meter,.laptop-layout.lesson-active .odds-card .odds-details,.laptop-layout.lesson-active #curve-options{display:none}.laptop-layout.lesson-active .odds-card .stats{margin-top:4px;padding-top:4px;gap:8px}.laptop-layout.lesson-active .odds-card .big-stat strong{font-size:28px}.laptop-layout.lesson-active .odds-card .stats b{font-size:18px}.laptop-layout.lesson-active .odds-card .stats span{font-size:10px;line-height:1.25}.laptop-layout.lesson-active .guided-lesson .lesson-actions button:first-child:not(:only-child){flex:1.2}
}
@media(max-width:1099px),(max-height:599px){
 #field-toolbar{display:grid;grid-template-columns:28px minmax(124px,1fr) auto;grid-template-areas:'route play units' 'config config config';gap:4px;padding:6px 4px}#field-toolbar>.favored-route-note{grid-area:route;min-width:28px;width:28px;margin:0}#field-toolbar>.essential-controls{grid-area:play;min-width:124px;max-width:none;margin:0}#field-toolbar>.units-toggle{grid-area:units}#field-toolbar>.field-config{grid-area:config;display:flex;align-items:start;gap:8px}.field-config .run-choice{margin:0;flex:0 0 76px}.field-config .run-settings{flex:1}.field-config .config-fields{gap:8px}.field-config .small-row{gap:6px}.field-config .run-settings>summary{justify-content:space-between}.field-config .small-row label{min-height:44px}.field-config #count-note{min-height:0}
}
/* With no standalone control card, the ordinary layout has no empty first row. */
.workspace>.maze-panel,.workspace>aside{grid-row:1}
.field-tools .mode button{min-height:44px}
