.lesson .an-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.lesson .an-bar button{border:1px solid var(--line);cursor:pointer;color:var(--text);background:#fff;border-radius:999px;padding:4px 14px;font-size:14px}.lesson .an-bar button:disabled{opacity:.4;cursor:default}.lesson .an-bar button:focus-visible{outline:3px solid var(--accent-strong);outline-offset:2px}.lesson .an-bar .an-next{border-color:var(--accent-strong);background:var(--accent-soft);font-weight:700}.lesson .an-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.lesson .an-gap{flex:1}.lesson .an-canvas{width:100%;display:block}.lesson .an-say{background:var(--surface);border-radius:10px;min-height:3.3em;margin-top:12px;padding:10px 14px;font-size:15px;line-height:1.65}.lesson .an-say b{color:var(--accent-ink)}.lesson .an-say code{font-size:13.5px}.lesson .cr-stage{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:8px 10px 4px}.lesson .cr-data{margin-top:10px}.lesson .cr-data-h{color:var(--muted);margin-bottom:6px;font-size:13px;font-weight:700}.lesson .cr-data pre{font-family:var(--mono);color:#ece9df;white-space:pre-wrap;overflow-wrap:anywhere;background:#23211c;border-radius:10px;margin:0;padding:10px 14px;font-size:13px;line-height:1.6}.lesson .cr-data pre .dim{color:#8d897c}.lesson .cr-data pre .pick{color:#fff3cf;background:#f6ce6047;border-radius:3px}.lesson .pt{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start;gap:12px;display:grid}@media (max-width:640px){.lesson .pt{grid-template-columns:1fr}}.lesson .pt-code{border:1px solid var(--line);font-family:var(--mono);background:#fff;border-radius:10px;margin:0;padding:8px 0;font-size:13px;line-height:1.55;list-style:none;overflow-x:auto}.lesson .pt-code li{white-space:pre;color:var(--text);gap:10px;padding:1px 10px;transition:background .2s,color .2s;display:flex}.lesson .pt-code li .n{color:#b5b2a8;text-align:right;flex:none;width:1.5em}.lesson .pt-code li.todo{color:#b5b2a8}.lesson .pt-code li.now{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent-strong)}.lesson .pt-tree{border:1px solid var(--line);background:var(--surface);border-radius:10px}
.lesson .sp{font-size:15px}.lesson .sp-bar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.lesson .sp-input{flex:220px;align-items:center;gap:8px;display:flex}.lesson .sp-input span{color:var(--muted);font-size:14px;font-weight:600}.lesson .sp-input input{min-width:0;font-family:var(--mono);border:1.5px solid var(--line);color:var(--text);background:#fff;border-radius:8px;flex:1;padding:7px 10px;font-size:15px}.lesson .sp-input input:focus-visible{outline:3px solid var(--accent-strong);outline-offset:1px}.lesson .sp-presets{flex-wrap:wrap;gap:6px;display:flex}.lesson .sp-presets button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;padding:2px 10px}.lesson .sp-presets button code{background:0 0;padding:0;font-size:13px}.lesson .sp-presets button.on{border-color:var(--accent-strong);background:var(--accent-soft)}.lesson .sp-panes{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (max-width:640px){.lesson .sp-panes{grid-template-columns:1fr}}.lesson .sp-pane{border:1px solid var(--line);background:var(--surface);border-radius:10px;overflow:hidden}.lesson .sp-ph{color:var(--muted);border-bottom:1px solid var(--line);padding:7px 12px;font-size:13px;font-weight:700}.lesson .sp-page{background:#fff;padding:12px}.lesson .sp-v{border-radius:6px;margin:-1px -5px;padding:1px 5px;transition:background .15s,box-shadow .15s}.lesson .sp-v-h1{margin-bottom:8px;font-size:18px;font-weight:800}.lesson .sp-v.sp-v-box{border:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:8px;margin:6px 0 0;padding:8px 10px;display:flex}.lesson .sp-v-h2,.lesson .sp-v-h3{font-weight:700}.lesson .sp-v-p,.lesson .sp-v-span{color:var(--muted);font-size:14px}.lesson .sp-v.hit{background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent-strong)}.lesson .sp-tree{font-family:var(--mono);margin:0;padding:6px 0;font-size:13px;line-height:1.5;list-style:none}.lesson .sp-tree li{white-space:nowrap;text-overflow:ellipsis;padding:2px 10px;overflow:hidden}.lesson .sp-tree li code{color:var(--text);background:0 0;padding:0;font-size:13px}.lesson .sp-tree li.hit{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent-strong)}.lesson .sp-text{color:var(--muted);margin-left:6px}.lesson .sp-result{background:var(--accent-soft);border-radius:10px;margin-top:12px;padding:10px 14px;line-height:1.6}.lesson .sp-result.empty{background:var(--bad-soft);color:#7a2323}.lesson .sp-foot{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;font-size:14px;display:flex}.lesson .sp-redesign{border:1.5px solid var(--text);cursor:pointer;color:var(--text);background:#fff;border-radius:999px;padding:4px 14px;font-size:14px;font-weight:600}.lesson .sp-redesign:focus-visible,.lesson .sp-presets button:focus-visible{outline:3px solid var(--accent-strong);outline-offset:2px}.lesson .sp-v.cursor{box-shadow:0 0 0 2px var(--text)}.lesson .sp-tree li.cursor{box-shadow:inset 3px 0 0 var(--text);background:#fff}.lesson .sp-tree li.miss code,.lesson .sp-tree li.miss .sp-text{color:#b5b2a8}.lesson .sp-mark{color:#b5b2a8;margin-left:8px;font-family:inherit;font-size:11.5px;font-weight:700}.lesson .sp-tree li.hit .sp-mark{color:var(--accent-ink)}.lesson .sp-result.scanning{background:var(--surface)}.lesson .sp-result code{font-size:13.5px}.lesson .sp-scan{border:1.5px solid var(--accent-strong);background:var(--accent-soft);cursor:pointer;color:var(--text);border-radius:999px;padding:4px 14px;font-size:14px;font-weight:700}.lesson .sp-scan:disabled{opacity:.4;cursor:default}.lesson .sp-scan:focus-visible{outline:3px solid var(--accent-strong);outline-offset:2px}
