/* Only loaded by the machine-learning lab. */
body[data-page^="ml/"]{--paper:#F5F6F8;--line:#E2E7EC;--line2:#CDD5DF;--nav:212px;background:var(--paper)}
body[data-page^="ml/"] .nav{background:#FAFBFC;padding:24px 14px}
body[data-page^="ml/"] .brand span{color:#566676;letter-spacing:0}
body[data-page^="ml/"] .sec{color:#536477}
body[data-page^="ml/"] main{max-width:1640px;padding:28px 32px 22px;margin:auto}
body[data-page^="ml/"] .ph{align-items:center;margin-bottom:24px;animation:none}
.ml-eyebrow{font-size:11px;color:#345C78;letter-spacing:.16em;font-weight:600;margin-bottom:9px}
body[data-page^="ml/"] .ph h1{font-size:36px;letter-spacing:.03em}
body[data-page^="ml/"] .ph .one{font-size:15px;margin-top:10px;color:#213A50}
body[data-page^="ml/"] .pn{gap:6px;max-width:40%;flex-wrap:wrap;justify-content:flex-end}
body[data-page^="ml/"] .pn a{font-size:12px;padding:6px 10px}
body[data-page^="ml/"] .stage{grid-template-columns:minmax(0,1fr) 238px;gap:20px;animation:none}
body[data-page^="ml/"] .fig{padding:20px 18px 14px;border-radius:22px;box-shadow:0 10px 40px #17345106;overflow:hidden;min-width:0}
.ml-scene-header{margin:0 4px 14px}
.ml-phases{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.ml-phase{display:flex;align-items:center;gap:6px;font-size:12px;line-height:1.4;color:#31495C;padding:7px 10px;border-radius:8px;transition:background .2s,color .2s}
.ml-phase i{font-style:normal;font-size:10px;font-weight:700;opacity:.65;font-variant-numeric:tabular-nums}
.ml-phase.active{background:#EAF1FF;color:#174FB2;font-weight:600}
.ml-phase.active i{opacity:1}
.ml-phase:not(:last-child)::after{content:'›';color:#8EA1B6;margin-left:8px}
body[data-page^="ml/"] .cap{background:transparent;border-radius:0;padding:10px 0 0;min-height:45px;margin:0;align-items:baseline;gap:9px;font-size:14px;line-height:1.65;color:#163147}
body[data-page^="ml/"] .cap b{border:0;padding:0;color:#2563EB;font-size:11px;letter-spacing:.04em;margin:0}
body[data-page^="ml/"] .legend{border-top:1px solid #EDF0F5;padding-top:12px;margin:14px 4px 0;font-size:11px;gap:6px 14px;color:#2C475B}
body[data-page^="ml/"] .panel{border-radius:18px;padding:18px 16px;gap:17px;position:sticky;top:20px;box-shadow:0 6px 24px #17345104}
.ml-panel-heading{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:650;padding-bottom:8px;border-bottom:1px solid #EDF0F5}
.ml-panel-heading i{font-size:18px;font-style:normal;color:#2563EB}
body[data-page^="ml/"] .ctl .lab{color:#263F53;font-size:12px;gap:6px}
body[data-page^="ml/"] .ctl.row{font-size:12px;line-height:1.5}
body[data-page^="ml/"] input[type="range"]{height:24px;cursor:ew-resize}
body[data-page^="ml/"] button{font-size:13px;min-height:38px;border-radius:9px;line-height:1.4}
body[data-page^="ml/"] button.primary{box-shadow:0 3px 8px #2563EB20}
body[data-page^="ml/"] :is(button,a,input,select,canvas):focus-visible{outline:3px solid #70A6F1;outline-offset:3px}
body[data-page^="ml/"] .stats{padding-top:14px;gap:11px}
body[data-page^="ml/"] .stat{font-size:12px;color:#263F53;align-items:center}
body[data-page^="ml/"] .stat .v{font-size:18px}
body[data-page^="ml/"] footer{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:#536477;margin-top:20px}
.ml-chart-title{font-size:13px;font-weight:650;color:#173449;margin:8px 8px 0}
.ml-readout{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:12px 16px;border-radius:12px;background:#F4F7FC;font-size:13px}
.ml-readout b{font-size:19px;font-variant-numeric:tabular-nums}
body[data-page^="ml/"] .fstools{top:14px;right:16px;position:relative;justify-content:flex-end;margin-top:0;height:30px}
body[data-page^="ml/"] .fig.fs{overflow:auto;padding:16px 24px;height:100vh}
body[data-page^="ml/"] .fig.fs .ml-scene-header{flex:none;margin-bottom:8px}
body[data-page^="ml/"] .fig.fs .fstools{position:absolute;top:10px;right:20px}
@media(min-width:1700px){body[data-page^="ml/"] .stage{grid-template-columns:minmax(0,1fr) 260px}}
@media(max-width:1120px){body[data-page^="ml/"] main{padding:24px}body[data-page^="ml/"] .stage{grid-template-columns:1fr}body[data-page^="ml/"] .panel{position:static;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.ml-panel-heading{grid-column:1/-1}body[data-page^="ml/"] .panel .ctl{min-width:0}body[data-page^="ml/"] .stats{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;gap:16px}body[data-page^="ml/"] .panel .btns{flex-direction:column}}
@media(max-width:820px){body[data-page^="ml/"] main{padding:20px 14px}body[data-page^="ml/"] .ph{align-items:flex-start;gap:16px;margin-bottom:18px}body[data-page^="ml/"] .ph h1{font-size:30px}body[data-page^="ml/"] .ph .one{font-size:14px}body[data-page^="ml/"] .pn{max-width:100%;justify-content:flex-start}body[data-page^="ml/"] .fig{padding:14px 10px;border-radius:16px}.ml-scene-header{margin:0 2px 10px}.ml-phase{font-size:11px;padding:6px 5px;gap:4px}.ml-phase:not(:last-child)::after{margin-left:2px}body[data-page^="ml/"] .cap{font-size:13px;min-height:52px}body[data-page^="ml/"] .cap b{display:none}body[data-page^="ml/"] .panel{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.ml-eyebrow{display:none}body[data-page^="ml/"] .stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}body[data-page^="ml/"] .stat{display:flex;flex-direction:column;align-items:flex-start;gap:4px}body[data-page^="ml/"] footer{font-size:9px}body[data-page^="ml/"] .legend{font-size:10px}}
@media(prefers-reduced-motion:reduce){body[data-page^="ml/"] *,body[data-page^="ml/"] *::before,body[data-page^="ml/"] *::after{scroll-behavior:auto;transition:none;animation:none}}
.kernel-pair{display:grid;grid-template-columns:minmax(0,1fr) 208px;gap:12px;align-items:start}
.kernel-volume,.kernel-flat{min-width:0;position:relative}
.kernel-flat{background:#F7F9FC;border:1px solid #E5EBF2;border-radius:14px;padding:12px 8px;margin-top:8px}
.kernel-flat .ml-chart-title{font-size:12px;margin:0 2px 6px;text-align:center}
.kernel-gesture{position:absolute;bottom:12px;left:18px;font-size:10px;color:#23425B;background:#ffffffdd;padding:5px 8px;border-radius:6px}
.kernel-readout{display:flex;justify-content:space-between;align-items:center;padding:8px 5px;font-size:11px}
.kernel-readout b{font-size:24px;color:#213A50;line-height:1.1}.kernel-readout small{font-size:11px;font-weight:400}
.kernel-formula{padding:12px 6px 2px;border-top:1px solid #DEE6F0;font-size:10px;line-height:1.6;color:#28475F}
.kernel-formula b{font-size:13px;display:block;margin:2px 0 9px;color:#133C65}.kernel-formula span{display:block;font-size:10px}
@media(max-width:700px){.kernel-pair{grid-template-columns:1fr}.kernel-flat{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;padding:10px;gap:6px}.kernel-flat .ml-chart-title{grid-column:1/-1}.kernel-flat canvas{grid-row:2/4}.kernel-formula{border-top:0;padding:2px}.kernel-readout{padding:2px;flex-direction:column;align-items:flex-start;gap:7px}}
.ml-mobile-controls{display:none}
@media(max-width:820px){
  body[data-page^="ml/"]{padding-bottom:74px}
  body[data-page^="ml/"] .fig{scroll-margin-top:74px}
  .ml-mobile-controls{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:12;padding:10px 12px calc(10px + env(safe-area-inset-bottom));gap:8px;background:#ffffffed;border-top:1px solid #DCE5EE;box-shadow:0 -5px 24px #1234570b;backdrop-filter:blur(12px)}
  .ml-mobile-controls button{flex:1;min-width:0;font-size:12px!important;min-height:40px}
}
#cword{font-size:11px;white-space:nowrap}
@media(max-width:820px){body[data-page="ml/svm"] .panel .ctl:has(#c){grid-column:1/-1}}
