#sfu{
  --bg:#0b0f16; --bg2:#111826; --bg3:#161f31;
  --line:#24314a; --txt:#dce6f5; --dim:#8c9db8; --dim2:#6b7c96;
  --em:#4ec9ff; --esL:#ff6fae; --esR:#ffb24e; --med:#7a8ba6; --ok:#59e0a0; --warn:#ffd166;
  --in:#ff6b6b; --out:#59e0a0;
  all:initial;
  display:block; box-sizing:border-box;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  font-size:16px; line-height:1.6; color:var(--txt);
  background:var(--bg); border:1px solid var(--line); border-radius:14px;
  overflow:hidden; width:100%; max-width:1480px; margin:0 auto;
  -webkit-font-smoothing:antialiased;
}
#sfu *,#sfu *::before,#sfu *::after{box-sizing:border-box; margin:0; padding:0; font-family:inherit}
#sfu canvas{display:block; touch-action:none}

#sfu .sfu-head{padding:18px 24px 16px; background:linear-gradient(180deg,#131c2c,#0d131e); border-bottom:1px solid var(--line); display:flex; align-items:flex-start; justify-content:space-between; gap:18px}
#sfu .sfu-head-copy{flex:1 1 auto; min-width:0}
#sfu .sfu-head h1{font-size:22px; font-weight:650; letter-spacing:.2px; line-height:1.25}
#sfu .sfu-head p{font-size:14px; color:var(--dim2); margin-top:5px}
#sfu .sfu-lang{flex:0 0 auto; display:inline-flex; background:#0c121e; border:1px solid var(--line); border-radius:8px; padding:2px; gap:2px; margin-top:2px}
#sfu .sfu-lang button{all:unset; cursor:pointer; padding:4px 11px; font-size:12.5px; font-weight:650; letter-spacing:.5px; border-radius:6px; color:var(--dim); transition:background .14s, color .14s}
#sfu .sfu-lang button:hover{color:var(--txt)}
#sfu .sfu-lang button.on{background:#1e2f4d; color:#fff; box-shadow:0 0 0 1px var(--em) inset}

#sfu .sfu-body{display:flex; align-items:flex-start}
#sfu .sfu-nav{
  flex:0 0 246px; align-self:flex-start; position:sticky; top:0; max-height:100vh; overflow-y:auto;
  background:var(--bg2); border-right:1px solid var(--line); padding:10px 10px 14px;
  display:flex; flex-direction:column; gap:2px;
}
#sfu .sfu-chapbtn{
  all:unset; cursor:pointer; box-sizing:border-box; display:flex; align-items:center; gap:8px;
  width:100%; padding:8px 10px; border-radius:8px;
  font-size:12px; font-weight:600; letter-spacing:.7px; text-transform:uppercase; color:var(--dim2);
}
#sfu .sfu-chapbtn:hover{background:#1b2537; color:var(--txt)}
#sfu .sfu-chap.open > .sfu-chapbtn{color:var(--txt)}
#sfu .sfu-chaplabel{
  display:flex; align-items:center; box-sizing:border-box; width:100%;
  padding:8px 10px; border-radius:8px;
  font-size:12px; font-weight:600; letter-spacing:.7px; text-transform:uppercase;
  color:#6d7c92; cursor:default; pointer-events:none;
}
#sfu .sfu-chapbtn b{
  width:0; height:0; border-top:4px solid transparent; border-bottom:4px solid transparent;
  border-left:5px solid currentColor; transition:transform .15s;
}
#sfu .sfu-chap.open > .sfu-chapbtn b{transform:rotate(90deg)}
#sfu .sfu-chapitems{display:none; flex-direction:column; gap:2px; padding:1px 0 6px}
#sfu .sfu-chap.open > .sfu-chapitems{display:flex}
#sfu .sfu-chap.is-locked > .sfu-chapitems{display:none}
#sfu .sfu-nav button.sfu-scene{
  all:unset; cursor:pointer; display:block; width:100%; box-sizing:border-box;
  padding:8px 10px 8px 22px; border-radius:8px;
  font-size:14.5px; color:var(--dim); line-height:1.35; transition:background .12s,color .12s;
}
#sfu .sfu-nav button.sfu-scene:hover{background:#1b2537; color:var(--txt)}
#sfu .sfu-nav button.sfu-scene.on{background:#1e2c45; color:#fff; box-shadow:inset 2px 0 0 var(--em)}
#sfu .sfu-nav button.sfu-scene span{display:block; font-size:12px; color:var(--dim2); margin-top:2px}
#sfu .sfu-nav button.sfu-scene.on span{color:#9fb5d4}
#sfu .sfu-nav .sfu-scene.is-locked{
  display:block; width:100%; box-sizing:border-box;
  padding:8px 10px 8px 22px; border-radius:8px;
  font-size:14.5px; line-height:1.35; color:#7f8da3; cursor:default; pointer-events:none;
}
#sfu .sfu-nav .sfu-scene.is-locked span{display:none}

#sfu .sfu-main{flex:1 1 auto; min-width:0; display:flex; flex-direction:column}
#sfu .sfu-panel{display:none; flex:1 1 auto; min-height:0}
#sfu .sfu-panel.on{display:flex; flex-direction:column}
#sfu .sfu-stage{display:flex; flex:1 1 auto; min-height:0; align-items:stretch}
#sfu .sfu-cv{flex:1 1 auto; min-width:0; min-height:570px; position:relative; background:
  radial-gradient(900px 500px at 50% 42%, #121c2d 0%, #0a0e16 72%)}
#sfu .sfu-cv canvas{width:100%; height:100%}
#sfu .sfu-badge{position:absolute; left:14px; top:11px; font-size:12px; font-weight:600; color:var(--dim); letter-spacing:.4px; text-transform:uppercase}
#sfu .sfu-stepper{
  position:absolute; left:14px; right:14px; top:33px; z-index:3;
  display:flex; align-items:center; justify-content:space-between; gap:4px;
  background:rgba(12, 18, 30, 0.92); border:1px solid var(--line); border-radius:9px;
  padding:4px 6px; backdrop-filter:blur(6px); overflow-x:auto;
}
#sfu .sfu-stepper-nav{display:flex; align-items:center; gap:4px; flex:0 0 auto}
#sfu .sfu-stepbtn{
  all:unset; cursor:pointer; padding:4px 8px; border-radius:6px;
  background:#1a2538; color:var(--dim); font-size:12px; font-weight:600;
  border:1px solid transparent; transition:background .12s, color .12s, border-color .12s;
  white-space:nowrap;
}
#sfu .sfu-stepbtn:hover:not(:disabled){background:#24334d; color:#fff; border-color:#354a6e}
#sfu .sfu-stepbtn:disabled{opacity:.38; cursor:default}
#sfu .sfu-stepdots{display:flex; align-items:center; gap:3px; flex:1 1 auto; justify-content:center; flex-wrap:nowrap}
#sfu .sfu-stepdot{
  all:unset; cursor:pointer; display:flex; align-items:center; gap:4px;
  padding:3.5px 7px; border-radius:6px; background:#141d2e; color:var(--dim2);
  font-size:11.8px; font-family:"Times New Roman","Cambria Math","STIX Two Math",Times,Georgia,serif;
  border:1px solid transparent; transition:all .14s; white-space:nowrap;
}
#sfu .sfu-stepdot b{
  display:inline-flex; align-items:center; justify-content:center;
  width:16px; height:16px; border-radius:50%; background:#1f2c44; color:var(--dim);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  font-size:10.5px; font-weight:700;
}
#sfu .sfu-stepdot:hover{background:#1c2940; color:var(--txt)}
#sfu .sfu-stepdot.done{color:#9ab0ce; background:#152033}
#sfu .sfu-stepdot.done b{background:#233858; color:var(--em)}
#sfu .sfu-stepdot.on{background:#1e2f4d; color:#fff; border-color:var(--em); box-shadow:0 0 10px rgba(78,201,255,.18)}
#sfu .sfu-stepdot.on b{background:var(--em); color:#09101a}
#sfu .sfu-legend{position:absolute; right:16px; bottom:12px; display:flex; flex-direction:column; align-items:flex-end; gap:4px; font-size:12.5px; color:var(--dim); white-space:nowrap}
#sfu .sfu-legend i{display:inline-block; width:9px; height:9px; border-radius:2px; margin-right:7px; vertical-align:1px}

#sfu .sfu-side{flex:0 0 324px; border-left:1px solid var(--line); background:var(--bg2); overflow-y:auto; padding:16px 16px 22px}
#sfu .sfu-side h3{font-size:12px; font-weight:650; text-transform:uppercase; letter-spacing:.8px; color:var(--dim); margin:0 0 10px}
#sfu .sfu-side h3+h3,#sfu .sfu-grp+h3{margin-top:20px}
#sfu .sfu-grp{display:flex; flex-direction:column; gap:12px}

#sfu .sfu-sl label{display:flex; justify-content:space-between; font-size:13.5px; color:var(--dim); margin-bottom:5px; gap:8px}
#sfu .sfu-sl label b{color:var(--txt); font-weight:600; font-variant-numeric:tabular-nums; white-space:nowrap}
#sfu input[type=range]{-webkit-appearance:none; appearance:none; width:100%; height:4px; border-radius:3px; background:#2b3a56; outline:none; cursor:pointer}
#sfu input[type=range]::-webkit-slider-thumb{-webkit-appearance:none; width:15px; height:15px; border-radius:50%; background:var(--em); border:2px solid #0b0f16; cursor:pointer}
#sfu input[type=range]::-moz-range-thumb{width:13px; height:13px; border-radius:50%; background:var(--em); border:2px solid #0b0f16; cursor:pointer}

#sfu .sfu-seg{display:flex; flex-wrap:wrap; gap:5px}
#sfu .sfu-seg button{all:unset; cursor:pointer; padding:6px 11px; font-size:13.5px; border-radius:7px; background:#1c2639; color:var(--dim); border:1px solid transparent}
#sfu .sfu-seg button:hover{color:var(--txt)}
#sfu .sfu-seg button.on{background:#27365088; border-color:var(--em); color:#fff}
#sfu .sfu-seg button:disabled{opacity:.4; cursor:default; color:var(--dim2)}
#sfu .sfu-seg button:disabled:hover{color:var(--dim2)}

#sfu .sfu-chk{display:flex; align-items:center; gap:9px; font-size:13.5px; color:var(--dim); cursor:pointer}
#sfu .sfu-chk input{accent-color:#4ec9ff; width:15px; height:15px; cursor:pointer}
#sfu .sfu-chk:hover{color:var(--txt)}

#sfu .sfu-read{background:#0e1626; border:1px solid var(--line); border-radius:9px; padding:10px 12px; font-size:13.5px}
#sfu .sfu-read div{display:flex; justify-content:space-between; align-items:baseline; gap:10px; padding:3px 0; color:var(--dim)}
#sfu .sfu-read div b{color:var(--txt); font-variant-numeric:tabular-nums; font-weight:600; text-align:right}
#sfu .sfu-read div.hi b{color:var(--ok)}
#sfu .sfu-read div.bad b{color:var(--warn)}

#sfu .sfu-text{padding:18px 24px 24px; border-top:1px solid var(--line); background:#0d131e; max-height:320px; overflow-y:auto}
#sfu .sfu-text.sfu-text-tall{max-height:520px}
#sfu .sfu-step{border:1px solid var(--line); border-left:3px solid var(--em); background:#0e1626; border-radius:0 9px 9px 0; padding:12px 16px 14px; margin-bottom:18px}
#sfu .sfu-step-k{font-size:12px; font-weight:600; letter-spacing:.7px; text-transform:uppercase; color:var(--dim)}
#sfu .sfu-step-eq{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:17px; color:var(--em); font-weight:600; margin:4px 0 8px}
#sfu .sfu-step-eq.sfu-math{
  font-family:"Times New Roman","Cambria Math","STIX Two Math",Times,Georgia,serif;
  font-size:23px; font-weight:400; color:#eef5ff;
  display:flex; flex-wrap:wrap; align-items:center; gap:8px;
  margin:8px 0 12px; line-height:1.15; letter-spacing:.2px;
}
#sfu .sfu-math var,#sfu .sfu-math i{
  font-family:"Times New Roman","Cambria Math","STIX Two Math",Times,Georgia,serif;
  font-style:italic; font-weight:400;
}
#sfu .sfu-math .mhl{color:var(--em)}
#sfu .sfu-math .mwarn{color:var(--warn)}
#sfu .sfu-math .mok{color:var(--ok)}
#sfu .sfu-math .mtxt{font-size:0.82em; font-style:normal; color:#cad8ee}
#sfu .sfu-math sup{font-size:0.66em; line-height:0; vertical-align:0.45em}
#sfu .sfu-math sub{font-size:0.66em; line-height:0; vertical-align:-0.25em}
#sfu .mfrac{
  display:inline-flex; flex-direction:column; align-items:center;
  vertical-align:middle; margin:0 3px; line-height:1.05;
}
#sfu .mfrac > .mnum{
  padding:0 6px 2px; border-bottom:1.5px solid currentColor;
  text-align:center; white-space:nowrap;
}
#sfu .mfrac > .mden{
  padding:2px 6px 0; text-align:center; white-space:nowrap;
}
#sfu .msqrt{
  display:inline-flex; align-items:stretch; vertical-align:middle; margin:0 2px;
}
#sfu .msqrt > svg.mrad{
  width:14px; flex:0 0 14px; height:auto; display:block; overflow:visible;
}
#sfu .msqrt > .mrad-body{
  border-top:1.5px solid currentColor; padding:3px 6px 1px 2px;
  display:inline-flex; align-items:center;
}
#sfu .msep{
  color:var(--dim2); margin:0 10px;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:16px;
}
#sfu .mcall{
  font-family:"Times New Roman","Cambria Math","STIX Two Math",Times,Georgia,serif;
  font-size:17.5px; color:#eef5ff; display:inline-flex; align-items:center; gap:3px;
  vertical-align:middle;
}
#sfu .sfu-step p{margin-bottom:0}
#sfu .sfu-text h2{font-size:17.5px; font-weight:650; margin-bottom:10px; color:#eef5ff}
#sfu .sfu-text p{font-size:15px; line-height:1.62; color:#c4d2e6; margin-bottom:11px; max-width:96ch}
#sfu .sfu-text p:last-child{margin-bottom:0}
#sfu .sfu-text em{color:var(--txt); font-style:normal; font-weight:600}
#sfu .sfu-text code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:14px; color:var(--em)}
#sfu .sfu-flag{border-left:3px solid var(--warn); background:#1a1708; padding:10px 14px; border-radius:0 8px 8px 0; font-size:14.5px; line-height:1.55; color:#e3d6a8; margin:12px 0}
#sfu .sfu-flag b{color:var(--warn)}

#sfu.sfu-md .sfu-stage{flex-direction:column}
#sfu.sfu-md .sfu-side{flex:0 0 auto; border-left:none; border-top:1px solid var(--line); max-height:none}
#sfu.sfu-md .sfu-cv{min-height:430px}
#sfu.sfu-md .sfu-grp{display:grid; grid-template-columns:1fr 1fr; gap:12px 18px}
#sfu.sfu-sm .sfu-body{flex-direction:column}
#sfu.sfu-sm .sfu-nav{
  position:static; max-height:none; align-self:stretch; flex:0 0 auto;
  border-right:none; border-bottom:1px solid var(--line); flex-direction:row; overflow-x:auto; overflow-y:hidden;
}
#sfu.sfu-sm .sfu-chap,#sfu.sfu-sm .sfu-chapitems{display:contents}
#sfu.sfu-sm .sfu-chap.is-locked{display:flex}
#sfu.sfu-sm .sfu-chap.is-locked > .sfu-chapitems{display:none}
#sfu.sfu-sm .sfu-chapbtn,#sfu.sfu-sm .sfu-chaplabel{display:none}
#sfu.sfu-sm .sfu-chap.is-locked > .sfu-chaplabel{display:flex}
#sfu.sfu-sm .sfu-nav button.sfu-scene,
#sfu.sfu-sm .sfu-nav .sfu-scene.is-locked{white-space:nowrap; width:auto; padding:9px 11px}
#sfu.sfu-sm .sfu-nav button.sfu-scene span,
#sfu.sfu-sm .sfu-nav .sfu-scene.is-locked span{display:none}
.om-embed[data-lang] #sfu .sfu-lang{display:none}
#sfu.sfu-sm .sfu-grp{grid-template-columns:1fr}
#sfu.sfu-sm .sfu-text{max-height:none}
