@keyframes _si{from{opacity:0}to{opacity:1}}

.legacy-content .lesson-header .kicker {color:var(--ds)}.legacy-content .l-callout b {color:var(--ds)}.legacy-content .btn-ds {background:var(--ds);color:#fff;border:none;padding:10px 26px;border-radius:999px;font-size:14px;font-weight:800;cursor:pointer;font-family:inherit;transition:filter .15s,transform .15s}.legacy-content .btn-ds:hover:not(:disabled) {filter:brightness(1.08);transform:translateY(-1px)}.legacy-content .btn-ds:disabled {background:#c4c8cf;cursor:not-allowed}.legacy-content .btn-op {background:var(--card);color:var(--text);border:1.5px solid var(--border);padding:8px 16px;border-radius:10px;font-size:13px;font-weight:800;cursor:pointer;font-family:inherit;transition:border-color .15s,background .15s,transform .1s}.legacy-content .btn-op:hover {border-color:var(--ds-line);background:var(--ds-soft)}.legacy-content .btn-op:active {transform:scale(.96)}.legacy-content .btn-undo {background:var(--surface-soft);color:#fff;border:none;padding:9px 20px;border-radius:10px;font-size:13px;font-weight:800;cursor:pointer;font-family:inherit;transition:filter .15s,transform .1s}.legacy-content .btn-undo:hover {filter:brightness(1.35)}.legacy-content .btn-undo:active {transform:scale(.96)}.legacy-content .undo-wrap {display:grid;grid-template-columns:1.2fr 1fr;gap:14px}.legacy-content .undo-box {background:var(--card);border:1.5px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);display:flex;flex-direction:column;overflow:hidden}.legacy-content .undo-head {padding:12px 16px;border-bottom:1px solid var(--border);background:rgba(0,0,0,.015)}.legacy-content .undo-head h4 {font-size:14px;font-weight:800;color:var(--text)}.legacy-content .undo-head p {font-size:11.5px;color:var(--sub);margin-top:2px}.legacy-content .doc-stage {padding:16px;flex:1;min-height:220px}.legacy-content .doc-line {font-size:13.5px;line-height:1.6;padding:6px 10px;border-radius:8px;background:rgba(0,0,0,.03);margin-bottom:6px;color:var(--text);font-weight:600;animation:lineIn .3s ease}.legacy-content .doc-line.red {color:var(--danger);background:rgba(220,38,38,.07)}.legacy-content .doc-empty {font-size:12.5px;color:var(--sub);opacity:.6;padding:8px 2px}@keyframes lineIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.legacy-content .doc-toolbar {padding:12px 16px;border-top:1px solid var(--border);display:flex;gap:8px;flex-wrap:wrap;align-items:center}.legacy-content .stack-stage {padding:16px;flex:1;min-height:220px;display:flex;flex-direction:column;gap:7px;justify-content:flex-start;overflow-y:auto;max-height:320px}.legacy-content .op-card {border-radius:10px;padding:9px 13px;font-size:12.5px;font-weight:700;border:1.5px solid;display:flex;align-items:center;gap:8px;animation:cardIn .35s cubic-bezier(.25,1,.5,1);transition:transform .25s,opacity .25s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes cardIn{from{opacity:0;transform:translateY(-14px) scale(.9)}to{opacity:1;transform:none}}.legacy-content .op-card.popping {transform:translateX(50px);opacity:0}.legacy-content .op-card.t-type {background:rgba(2,132,199,.08);border-color:rgba(2,132,199,.3);color:var(--ds-deep)}.legacy-content .op-card.t-del {background:rgba(217,119,6,.08);border-color:rgba(217,119,6,.35);color:#92400e}.legacy-content .op-card.t-red {background:rgba(220,38,38,.07);border-color:rgba(220,38,38,.3);color:var(--danger)}.legacy-content .op-card.t-clear {background:rgba(124,58,237,.07);border-color:rgba(124,58,237,.3);color:var(--purple)}.legacy-content .op-card .top-tag {margin-left:auto;font-size:10px;font-weight:900;color:var(--ds);background:var(--ds-soft);padding:1px 8px;border-radius:99px;flex-shrink:0}.legacy-content .stack-empty {font-size:12.5px;color:var(--sub);opacity:.6;padding:8px 2px}.legacy-content .undo-bar {display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px}.legacy-content .undo-status {font-size:12.5px;color:var(--sub);font-weight:600;line-height:1.7}.legacy-content .undo-status b {color:var(--ds-deep)}.legacy-content .call-box {background:var(--card);border:1.5px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:18px 20px}.legacy-content .call-grid {display:grid;grid-template-columns:1fr 190px;gap:18px;align-items:stretch}.legacy-content .call-say {font-size:14px;line-height:1.9;color:var(--text);font-weight:600;min-height:120px}.legacy-content .call-say .cs-step {color:var(--ds);font-weight:900;font-size:12px;letter-spacing:.5px;display:block;margin-bottom:6px}.legacy-content .call-stack {border:2px dashed var(--ds-line);border-top:none;border-radius:0 0 12px 12px;min-height:190px;display:flex;flex-direction:column-reverse;gap:6px;padding:10px;position:relative}.legacy-content .call-stack::after {content:'调用栈（口朝上）';position:absolute;top:-9px;left:50%;transform:translateX(-50%);background:var(--bg);padding:0 8px;font-size:10.5px;font-weight:800;color:var(--sub);letter-spacing:.5px}.legacy-content .call-frame {border-radius:9px;padding:9px 12px;font-size:13px;font-weight:800;text-align:center;font-family:"SF Mono","Fira Code",Menlo,monospace;animation:cardIn .4s cubic-bezier(.25,1,.5,1);transition:transform .3s,opacity .3s}.legacy-content .call-frame.popping {transform:translateY(-24px);opacity:0}.legacy-content .call-frame.f0 {background:rgba(2,132,199,.1);color:var(--ds-deep);border:1.5px solid rgba(2,132,199,.3)}.legacy-content .call-frame.f1 {background:rgba(22,163,74,.1);color:#166534;border:1.5px solid rgba(22,163,74,.3)}.legacy-content .call-frame.f2 {background:rgba(217,119,6,.1);color:#92400e;border:1.5px solid rgba(217,119,6,.35)}.legacy-content .call-bar {display:flex;align-items:center;gap:12px;margin-top:14px;flex-wrap:wrap}.legacy-content .so-box {background:var(--card);border:1.5px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:18px 20px}.legacy-content .so-grid {display:grid;grid-template-columns:1fr 210px;gap:18px}.legacy-content .so-code {font-family:"SF Mono","Fira Code",Menlo,monospace;font-size:12.5px;line-height:1.9;color:var(--text);background:rgba(0,0,0,.035);border-radius:10px;padding:14px 16px;white-space:pre;overflow-x:auto}.legacy-content .so-code .cm {color:var(--sub);opacity:.7}.legacy-content .so-code .guard {color:var(--success);font-weight:700;transition:opacity .3s}.legacy-content .so-code .guard.off {text-decoration:line-through;opacity:.32}.legacy-content .so-stage {border:2px solid var(--border);border-radius:12px;height:250px;display:flex;flex-direction:column-reverse;gap:4px;padding:8px;overflow:hidden;position:relative;transition:border-color .3s,background .3s}.legacy-content .so-stage.boom {border-color:var(--danger);background:rgba(220,38,38,.06);animation:shake .4s}@keyframes shake{0%,100%{transform:none}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.legacy-content .so-frame {flex-shrink:0;border-radius:6px;padding:3px 10px;font-size:11px;font-weight:800;font-family:"SF Mono","Fira Code",Menlo,monospace;background:rgba(2,132,199,.1);color:var(--ds-deep);border:1px solid rgba(2,132,199,.3);text-align:center;animation:cardIn .18s ease;transition:transform .2s,opacity .2s,background .2s,color .2s,border-color .2s}.legacy-content .so-frame.base {background:rgba(22,163,74,.14);color:#166534;border-color:rgba(22,163,74,.45)}.legacy-content .so-frame.popping {transform:translateY(-16px);opacity:0}.legacy-content .so-boom-tag {position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:rgba(220,38,38,.88);color:#fff;font-weight:900;font-size:18px;border-radius:10px;opacity:0;pointer-events:none;transition:opacity .3s}.legacy-content .so-boom-tag small {font-size:11.5px;font-weight:700;opacity:.9}.legacy-content .so-stage.boom .so-boom-tag {opacity:1}.legacy-content .so-bar {display:flex;align-items:center;gap:14px;margin-top:14px;flex-wrap:wrap}.legacy-content .so-toggle {display:flex;align-items:center;gap:8px;font-size:13px;font-weight:800;color:var(--text);cursor:pointer;user-select:none}.legacy-content .so-toggle input {width:18px;height:18px;accent-color:var(--success);cursor:pointer}.legacy-content .so-status {font-size:12.5px;color:var(--sub);font-weight:600;line-height:1.7}.legacy-content .so-status b {color:var(--danger)}.legacy-content .so-status .ok {color:var(--success);font-weight:800}.legacy-content .takeaway-box {background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1.5px solid #bae6fd;border-radius:var(--radius);padding:24px 28px;margin-top:36px}.legacy-content .takeaway-box h3 {font-size:17px;font-weight:800;color:var(--ds-deep);margin-bottom:10px}.legacy-content .takeaway-box ul {list-style:none;padding:0;margin:0}.legacy-content .takeaway-box li {font-size:14.5px;color:#0c4a6e;line-height:1.8;padding:4px 0 4px 22px;position:relative}.legacy-content .takeaway-box li::before {content:'';position:absolute;left:0;top:13px;width:8px;height:8px;border-radius:50%;background:var(--ds)}@media (max-width:768px){.legacy-content .undo-wrap {grid-template-columns:1fr}.legacy-content .call-grid {grid-template-columns:1fr}.legacy-content .call-stack {min-height:160px}.legacy-content .so-grid {grid-template-columns:1fr}.legacy-content .so-stage {height:220px}}

.legacy-content .xa-tldr {margin:18px 0 4px;padding:14px 18px;background:rgba(0,102,255,0.04);border:1px solid rgba(0,102,255,0.16);border-radius:10px}.legacy-content .xa-tldr .xa-tldr-tag {display:block;font-size:11px;font-weight:800;letter-spacing:1px;color:var(--accent,#0066ff);margin-bottom:6px}.legacy-content .xa-tldr p {margin:0;font-size:15px;line-height:1.8;color:var(--text,#1f2937)}
