:root{color-scheme:light;font-family:Inter,Pretendard,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#24334b;background:#f5f7fc;font-synthesis:none;--blue:#355cde;--cyan:#087f8c;--amber:#a96305;--red:#c44555;--muted:#69768b;--border:#dce3ef}*{box-sizing:border-box}body{margin:0}button,select,input{font:inherit}button,select{min-height:38px;border:1px solid #cbd5e5;border-radius:9px;background:#fff;color:#25354e}button{cursor:pointer;padding:8px 13px;font-size:13px;font-weight:650}button:hover:not(:disabled){background:#edf2ff;border-color:#899ee8}button:disabled{opacity:.42;cursor:default}button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #e8a923;outline-offset:3px}.lab{max-width:1100px;margin:auto;padding:24px}.lab-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:20px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.6px;color:var(--blue);margin:0 0 10px}.eyebrow span{font-weight:550;color:var(--muted);letter-spacing:0;margin-left:10px}h1{font-size:24px;letter-spacing:-.8px;line-height:1.3;margin:0 0 9px}.subtitle{font-size:13px;line-height:1.65;color:#586a83;margin:0;max-width:650px}.badge{font-size:10px;letter-spacing:1px;font-weight:800;border:1px solid #bfdedb;padding:6px 8px;color:#16776d;border-radius:5px;background:#e9f6f2;margin-top:3px}.settings{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:end;margin:0 0 16px;padding:14px 16px;background:#eaf0fa;border:1px solid var(--border);border-radius:12px}.setting{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:700;color:#50627d}.setting select{padding:7px 30px 7px 9px;font-size:12px;max-width:100%}.setting input[type=range]{accent-color:var(--blue);width:160px;margin:6px 0}.setting output{color:var(--blue);font-variant-numeric:tabular-nums}.workspace{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(235px,1fr);gap:14px}.visual-panel,.detail-panel{border:1px solid var(--border);border-radius:14px;background:#fff;min-width:0}.visual-panel{padding:18px 16px 13px;display:flex;flex-direction:column;justify-content:space-between}.detail-panel{padding:17px}.visual-title{font-size:11px;color:#697a92;letter-spacing:.3px;margin:0 0 13px;font-weight:700}.viz{display:block;width:100%;height:auto;overflow:visible}.viz text{font-family:inherit}.legend{display:flex;flex-wrap:wrap;gap:8px 15px;font-size:10px;color:#53657d;margin:13px 0 0;line-height:1.4}.legend span{display:inline-flex;align-items:center;gap:5px}.swatch{display:inline-block;width:9px;height:9px;border-radius:3px;background:var(--swatch)}.metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:16px}.metric{background:#f3f6fb;border-radius:9px;padding:10px 11px;min-width:0}.metric small{display:block;font-size:10px;color:#61738c;margin-bottom:5px}.metric strong{font-size:22px;letter-spacing:-.7px;font-variant-numeric:tabular-nums;line-height:1.1}.metric.accent{background:#ebf0ff;color:var(--blue)}.metric.good{background:#e8f6f1;color:#0b806f}.detail-title{font-size:11px;font-weight:750;letter-spacing:.2px;color:#536681;margin:15px 0 8px}.chips{display:flex;flex-wrap:wrap;gap:5px;min-height:31px}.chip{font-family:ui-monospace,SFMono-Regular,monospace;font-size:11px;border-radius:6px;background:#eef2f8;color:#52657d;border:1px solid #dfe6f0;padding:7px 8px}.chip.current{background:#e8efff;color:#3156cf;border-color:#9bb0f5}.chip.stale{color:#b94458;background:#fff0f2;border-color:#e7bcc7;text-decoration:line-through}.empty{font-size:12px;color:#8190a6;margin:6px 0}.formula{font-family:ui-monospace,SFMono-Regular,monospace;font-size:12px;line-height:1.9;background:#f3f6fb;border-radius:9px;padding:10px;color:#455876;overflow-wrap:anywhere}.note{font-size:11px;line-height:1.65;color:#62748d;margin:10px 0 0}.explanation{margin-top:14px;border:1px solid #d7e2fb;border-radius:12px;padding:14px 16px;background:#eff4ff;display:flex;gap:12px;align-items:start;min-height:71px}.phase{font-size:10px;padding:5px 7px;white-space:nowrap;border-radius:5px;background:#dce6ff;color:#365dc5;font-weight:800}.explanation p{font-size:12px;line-height:1.8;margin:0;min-width:0}.controls{margin-top:15px;display:flex;align-items:center;gap:20px;justify-content:space-between}.buttons{display:flex;gap:6px;white-space:nowrap}#play{background:var(--blue);border-color:var(--blue);color:white;min-width:78px}#play:hover{background:#284bbb}.timeline{display:flex;align-items:center;gap:11px;min-width:0;flex:1;max-width:300px}.timeline span{font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:40px;color:#65758a}.timeline input{min-width:60px;width:100%;accent-color:var(--blue)}.footnote{font-size:10px;line-height:1.65;color:#718099;margin:12px 0 0}.data-table{border-collapse:separate;border-spacing:3px;width:100%;font-size:11px;font-variant-numeric:tabular-nums;text-align:center}.data-table th{font-weight:550;color:#71819a;font-size:10px}.data-table td{border-radius:5px;background:#f1f4f9;padding:6px 2px;color:#485b77}.data-table td.highlight{background:#e2eaff;color:#284ebd;font-weight:800}.term-list{list-style:none;margin:0;padding:0;display:grid;gap:5px}.term-list li{font-size:12px;color:#94a0b3;padding:7px 9px;border-radius:6px;display:flex;justify-content:space-between;background:#f5f7fb}.term-list li.applied{color:#344961;background:#edf2fa}.term-list li.active{background:#e6edff;color:#294ec5;font-weight:750}.term-list code{font-size:11px}.node-label{font-size:13px;font-weight:750}.chart-label{font-size:10px;fill:#65748c}.route-layout{display:grid;grid-template-columns:1fr;gap:8px}.grid-caption{font-size:10px;color:#697b96;margin:10px 0 0}.live-prob{font-weight:750;color:#385fce}.probability-meter{height:10px;background:#e5ebf5;border-radius:8px;position:relative;margin:10px 0 17px}.probability-meter b{display:block;height:100%;background:#5276e1;border-radius:8px}.probability-marker{position:absolute;top:-4px;bottom:-4px;width:2px;background:#d27828}.outcome{display:inline-block;margin-top:7px;padding:5px 8px;border-radius:5px;font-size:10px;font-weight:700;background:#e5f4ee;color:#17816d}.outcome.reject{background:#fff0e9;color:#ac6332}@media(max-width:680px){.lab{padding:18px 14px}.lab-header{margin-bottom:15px}h1{font-size:21px}.eyebrow span{display:block;margin:6px 0 0;letter-spacing:0}.workspace{grid-template-columns:1fr}.visual-panel{padding:16px 13px 12px}.detail-panel{padding:14px}.metrics{margin-bottom:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.metric strong{font-size:21px}.detail-title{margin-top:10px}.controls{flex-direction:column;align-items:stretch;gap:12px}.buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}button{padding:9px 5px}.timeline{max-width:none}.settings{padding:12px;gap:12px 16px}.setting{max-width:100%}.explanation{padding:12px;gap:8px}.explanation p{font-size:12px}.subtitle{font-size:12px}.legend{font-size:10px}.footnote{font-size:10px}.viz{max-height:330px}.data-table{max-width:420px;margin:auto}.term-list{grid-template-columns:repeat(2,minmax(0,1fr))}.term-list li{display:block;font-size:11px}.term-list li strong{float:right}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Text remains readable when this document is embedded in a narrow lesson card. */
.subtitle,.explanation p{font-size:14px}.setting{font-size:13px}.setting select{font-size:13px}.legend{font-size:12px}.visual-title,.detail-title{font-size:12px}.note,.footnote{font-size:12px}.metric small{font-size:12px}.chip{font-size:12px}.formula{font-size:13px}.phase{font-size:11px}.data-table{font-size:12px}.data-table th{font-size:11px}.term-list li,.term-list code{font-size:12px}.timeline span{font-size:12px}
@media(max-width:680px){.subtitle,.explanation p{font-size:14px}.legend{font-size:12px}.note,.footnote{font-size:12px}.setting{font-size:13px}.lab{padding:16px 12px}.settings{padding:12px 10px}.badge{display:none}.lab-header{gap:0}.visual-panel{padding:14px 10px}.term-list{grid-template-columns:1fr}.term-list li{display:flex;font-size:13px}.eyebrow{font-size:10px}.controls button{font-size:12px}.data-table{font-size:12px}.explanation{display:block}.phase{display:inline-block;margin-bottom:6px}.viz{max-height:none}}

/* Keep controls before changing visual content so step changes never move the pointer target. */
.controls{margin:0 0 16px}
