/* Check Your Understanding */
.cyu-list ul{list-style:none;padding-left:0;margin-left:0}
.cyu-list li{display:flex;gap:8px;align-items:flex-start;margin:0 0 6px}
.cyu-tk{flex:0 0 auto;padding-top:2px;cursor:pointer}
.cyu-tk input{width:17px;height:17px;cursor:pointer;accent-color:#3b6aa0}
.cyu-go{text-decoration:none}
.cyu-go:hover{text-decoration:underline}
.cyu-bar{margin:6px 0 4px;display:flex;gap:8px;flex-wrap:wrap}
.cyu-bar button,#cyu-float{font:inherit;font-size:.85em;padding:5px 12px;border-radius:999px;border:1px solid #3b6aa0;background:#fff;color:#1f4f86;cursor:pointer}
.cyu-bar .cyu-mix{background:#3b6aa0;color:#fff}
.cyu-bar button:disabled{opacity:.45;cursor:default}
#cyu-float{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:9998;background:#3b6aa0;color:#fff;box-shadow:0 4px 14px #0003;padding:9px 18px;font-size:.95em}
#cyu-float[hidden]{display:none}
html.cyu-open #cyu-float{display:none}
.cyu-ov{position:fixed;inset:0;z-index:99999;background:#0f172a99;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:4vh 12px}
.cyu-ov[hidden]{display:none}
html.cyu-open{overflow:hidden}
.cyu-box{background:#fff;color:#1f2937;width:100%;max-width:660px;border-radius:12px;box-shadow:0 20px 50px #0005;padding:18px 20px 16px;font-size:17px;line-height:1.5}
.cyu-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;border-bottom:1px solid #e5e7eb;padding-bottom:10px;margin-bottom:14px}
.cyu-kick{font-size:.72em;letter-spacing:.06em;text-transform:uppercase;color:#3b6aa0;font-weight:600}
.cyu-ttl{font-weight:600;font-size:.95em}
.cyu-x{font-size:28px;line-height:1;border:0;background:none;color:#6b7280;cursor:pointer;padding:0 4px}
.cyu-q{font-size:1.08em;margin-bottom:14px}
.cyu-q .katex{font-size:1.12em}
.cyu-fig{display:block;margin:10px 0;max-width:100%;height:auto}
.cyu-tab{border-collapse:collapse;margin:10px 0;font-size:.95em}
.cyu-tab th,.cyu-tab td{border:1px solid #cbd5e1;padding:4px 12px;text-align:left}
.cyu-tab th{background:#eef4fb}
.cyu-in{display:flex;align-items:center;gap:6px}
.cyu-txt,.cyu-mf{font:inherit;font-size:1.15em;padding:6px 10px;border:2px solid #cbd5e1;border-radius:8px;width:260px;max-width:100%;min-height:48px;background:#fff}
.cyu-txt:focus,.cyu-mf:focus-within{outline:none;border-color:#3b6aa0}
.cyu-mf::part(menu-toggle){display:none}
.cyu-mf{--primary:#3b6aa0;--caret-color:#1f4f86;display:inline-block}
.cyu-tip{font-size:.8em;color:#64748b;margin-top:6px}
body{--keyboard-zindex:100000}
.ML__keyboard{z-index:100000!important}
.cyu-ad{font-size:1.05em;font-weight:600}
.cyu-ch{display:flex;flex-wrap:wrap;gap:10px}
.cyu-ch button,.cyu-chip{font:inherit;min-width:64px;padding:8px 16px;border:2px solid #cbd5e1;border-radius:8px;background:#f8fafc;cursor:pointer}
.cyu-ch button:hover:not(:disabled),.cyu-chip:hover{border-color:#3b6aa0}
.cyu-ch .cyu-sel{border-color:#3b6aa0;background:#dbeafe;box-shadow:0 0 0 2px #3b6aa055}
.cyu-ch .cyu-right{border-color:#15803d;background:#dcfce7}
.cyu-ch .cyu-wrong{border-color:#b91c1c;background:#fee2e2;opacity:1}
.cyu-ch button:disabled{cursor:default}
.cyu-ord-l{font-size:.9em;margin-bottom:6px}
.cyu-ord-src,.cyu-ord-dst{display:flex;flex-wrap:wrap;gap:8px;min-height:52px;padding:6px;border-radius:8px}
.cyu-ord-dst{border:2px dashed #cbd5e1;margin-top:8px}
.cyu-ord-reset{font:inherit;font-size:.8em;margin-top:6px;border:0;background:none;color:#3b6aa0;cursor:pointer;padding:0}
.cyu-fb{min-height:1.6em;margin:12px 0 4px;font-weight:600}
.cyu-good{color:#15803d}.cyu-bad{color:#b91c1c}.cyu-warn{color:#b45309}
.cyu-from{font-weight:400;color:#6b7280;font-size:.82em;margin-top:2px}
.cyu-sol{background:#f1f5f9;border-radius:8px;padding:10px 14px;margin:8px 0;font-size:.95em}
.cyu-sol-h{font-weight:600;font-size:.8em;text-transform:uppercase;letter-spacing:.05em;color:#475569;margin-bottom:2px}
.cyu-btns{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.cyu-btns button{font:inherit;font-size:.95em;padding:8px 16px;border-radius:8px;border:1px solid #3b6aa0;background:#fff;color:#1f4f86;cursor:pointer}
.cyu-btns button[hidden]{display:none}
.cyu-btns .cyu-check,.cyu-btns .cyu-prime{background:#3b6aa0;color:#fff}
.cyu-score{margin-top:10px;font-size:.85em;color:#6b7280;min-height:1.2em}
.cyu-skips{margin-top:2px}
@media (max-width:520px){.cyu-box{padding:14px;font-size:16px}.cyu-ov{padding:2vh 8px}}
.cyu-lab{min-width:3.2em;font-weight:600}
.cyu-ans .cyu-in+.cyu-in{margin-top:8px}
/* drawn answers */
.cyu-board{display:block;width:100%;height:auto;margin:6px 0;touch-action:none;user-select:none;cursor:crosshair;background:#fff;border-radius:6px}
.cyu-bd-grid line{stroke:#dbe4ee;stroke-width:1}
.cyu-bd-ax line{stroke:#475569;stroke-width:1.4}
.cyu-bd-lab text{font:11px sans-serif;fill:#475569}
.cyu-bd-axl{font-style:italic}
.cyu-bd-txt{font:13px sans-serif;fill:#1f2937}
.cyu-bd-given{stroke:#2563eb;stroke-width:2;fill:none}
.cyu-bd-given.cyu-bd-fill{fill:#2563eb22}
.cyu-bd-given-pt{fill:#2563eb}
.cyu-bd-x line{stroke:#b45309;stroke-width:2.5;stroke-linecap:round}
.cyu-bd-mine{stroke:#b45309;stroke-width:2.2;fill:none}
polygon.cyu-bd-mine{fill:#b4530918}
.cyu-bd-handle{fill:#b45309;stroke:#fff;stroke-width:2;cursor:grab}
.cyu-bd-bar{fill:#f59e0b55;stroke:#b45309;stroke-width:1.5}
.cyu-bd-right{stroke:#15803d;stroke-width:2.5;fill:none;stroke-dasharray:7 4}
polygon.cyu-bd-right{fill:#15803d14}
.cyu-bd-right-pt{fill:none;stroke:#15803d;stroke-width:2.5}
.cyu-bd-right-bar{fill:none;stroke:#15803d;stroke-width:2.5;stroke-dasharray:7 4}
.cyu-bd-model{stroke:#15803d;stroke-width:2.5;fill:none}
.cyu-bd-pen{stroke:#1f2937;stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.cyu-bd-plain{border:1px solid #e2e8f0}
.cyu-bd-tools{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0}
.cyu-bd-tools button{font:inherit;font-size:.85em;padding:4px 12px;border-radius:999px;border:1px solid #94a3b8;background:#fff;cursor:pointer}
.cyu-bd-tools button.cyu-on{background:#3b6aa0;border-color:#3b6aa0;color:#fff}
.cyu-self{display:inline-flex;gap:8px;margin-left:8px;flex-wrap:wrap}
.cyu-self button{font:inherit;font-size:.9em;padding:5px 12px;border-radius:8px;border:1px solid #3b6aa0;background:#fff;color:#1f4f86;cursor:pointer}
.cyu-self .cyu-self-y{background:#15803d;border-color:#15803d;color:#fff}
.cyu-bd-len{font:600 12px sans-serif;fill:#1d4ed8;paint-order:stroke;stroke:#fff;stroke-width:3px;pointer-events:none}
.cyu-bd-model text{fill:#15803d;stroke:none;font:13px sans-serif}
