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

.legacy-content .lesson-header .kicker {color:var(--vibe)}.legacy-content a {color:var(--vibe-deep)}.legacy-content code {color:var(--vibe-deep);background:rgba(13,148,136,.08)}.legacy-content .l-callout {background:rgba(13,148,136,.04);border-color:var(--vibe-line)}.legacy-content .l-callout b {color:var(--vibe)}.legacy-content .desc {font-size:15px;color:var(--sub);line-height:1.8;margin-bottom:12px}.legacy-content pre {margin:12px 0 0;padding:16px 18px;overflow:auto;border:1.5px solid var(--border);border-radius:12px;background:var(--surface-soft);color:var(--muted);font-size:12.5px;line-height:1.7}.legacy-content pre code {background:none;padding:0;color:var(--muted)}.legacy-content .demo-hd {font-size:13px;font-weight:800;color:var(--sub);letter-spacing:.4px;text-transform:uppercase;margin-bottom:10px}.legacy-content .btn {padding:11px 22px;border-radius:10px;font-size:15px;font-weight:700;border:none;cursor:pointer;font-family:inherit;transition:all .2s;min-height:44px}.legacy-content .btn-p {background:var(--vibe);color:#fff}.legacy-content .btn-p:hover {filter:brightness(1.08)}.legacy-content .btn-p:disabled {opacity:.35;cursor:not-allowed}.legacy-content .btn-r {background:rgba(0,0,0,.05);color:var(--sub);border:1.5px solid var(--border)}.legacy-content .ctrl-row {display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:14px}.legacy-content .hint {font-size:13px;color:var(--sub)}.legacy-content .gate-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.legacy-content .gate-grid h3 {font-size:15.5px;font-weight:800;margin-bottom:5px}.legacy-content .gate-grid p {font-size:13.5px;color:var(--sub);line-height:1.75}.legacy-content .gate-tag {display:inline-block;margin-bottom:8px;padding:2px 10px;border:1px solid var(--vibe-line);border-radius:999px;background:var(--vibe-soft);color:var(--vibe-deep);font-family:"SF Mono",Menlo,monospace;font-size:11px;font-weight:800;letter-spacing:.04em}.legacy-content .rel-card {padding:14px 18px;border:1.5px solid var(--vibe-line);border-radius:12px;background:var(--vibe-soft)}.legacy-content .rel-card .rt {font-family:"SF Mono",Menlo,monospace;font-size:13px;font-weight:800;color:var(--vibe-deep);margin-bottom:4px}.legacy-content .rel-card p {font-size:14px;line-height:1.7;margin:0}.legacy-content .df-list {display:flex;flex-direction:column;gap:10px;margin-top:14px}.legacy-content .df-row {display:flex;align-items:center;gap:12px;padding:12px 15px;border:1.5px solid var(--border);border-radius:10px;background:var(--card);flex-wrap:wrap;transition:border-color .15s}.legacy-content .df-row.marked-ok {border-color:rgba(22,163,74,.4)}.legacy-content .df-row.marked-risk {border-color:rgba(220,38,38,.4)}.legacy-content .df-info {flex:1;min-width:220px}.legacy-content .df-file {font-family:"SF Mono",Menlo,monospace;font-size:13px;font-weight:700;color:var(--text)}.legacy-content .df-desc {font-size:12.5px;color:var(--sub);margin-top:2px;line-height:1.6}.legacy-content .df-acts {display:flex;gap:8px}.legacy-content .mark-btn {padding:9px 15px;border-radius:9px;border:1.5px solid var(--border);background:var(--card);font-size:13px;font-weight:700;color:var(--sub);cursor:pointer;font-family:inherit;min-height:44px;transition:all .15s}.legacy-content .mark-btn:hover {border-color:rgba(0,0,0,.2)}.legacy-content .mark-btn.ok-on {border-color:rgba(22,163,74,.55);background:rgba(22,163,74,.08);color:var(--success)}.legacy-content .mark-btn.risk-on {border-color:rgba(220,38,38,.5);background:rgba(220,38,38,.07);color:var(--danger)}.legacy-content .report {display:none;margin-top:14px;border:1.5px solid var(--border);border-radius:12px;overflow:hidden;background:var(--card)}.legacy-content .report.show {display:block}.legacy-content .rp-hd {padding:10px 16px;background:rgba(0,0,0,.03);border-bottom:1px solid var(--border);font-family:"SF Mono",Menlo,monospace;font-size:12.5px;font-weight:800;letter-spacing:.5px;color:var(--sub)}.legacy-content .rp-body {padding:14px 16px;display:flex;flex-direction:column;gap:9px}.legacy-content .rp-line {font-size:13.5px;line-height:1.65;display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap}.legacy-content .rp-line .rf {font-family:"SF Mono",Menlo,monospace;font-size:12.5px;font-weight:700}.legacy-content .rp-line .you-ok {color:var(--success);font-weight:700}.legacy-content .rp-line .you-no {color:var(--danger);font-weight:700}.legacy-content .rp-why {font-size:12.5px;color:var(--sub);width:100%;line-height:1.65}.legacy-content .rp-sum {margin-top:4px;padding:13px 15px;border-radius:10px;font-size:14px;font-weight:700;line-height:1.7;border:1.5px solid rgba(220,38,38,.4);background:rgba(220,38,38,.05);color:var(--danger)}.legacy-content .op-list {display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.legacy-content .op-btn {display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:13px 15px;border-radius:12px;border:1.5px solid var(--border);background:var(--card);cursor:pointer;font-family:inherit;text-align:left;min-height:44px;transition:all .2s}.legacy-content .op-btn:hover {border-color:rgba(0,0,0,.18)}.legacy-content .op-btn.active {border-color:var(--vibe);background:var(--vibe-soft)}.legacy-content .op-btn h4 {font-size:15px;font-weight:800;color:var(--text)}.legacy-content .op-btn.active h4 {color:var(--vibe-deep)}.legacy-content .op-btn p {font-size:12.5px;color:var(--sub);margin:0}.legacy-content .gate-list {display:flex;flex-direction:column;gap:10px;margin-top:14px}.legacy-content .gate-item {display:flex;gap:12px;padding:13px 15px;border:1.5px solid var(--border);border-radius:10px;background:var(--card);cursor:pointer;transition:all .15s;align-items:flex-start;min-height:44px}.legacy-content .gate-item:hover {border-color:rgba(0,0,0,.18)}.legacy-content .gate-item.checked {border-color:rgba(22,163,74,.45);background:rgba(22,163,74,.05)}.legacy-content .gate-item.blocked {border-color:rgba(220,38,38,.38);background:rgba(220,38,38,.04)}.legacy-content .g-box {width:22px;height:22px;border-radius:6px;border:2px solid rgba(0,0,0,.2);flex-shrink:0;margin-top:2px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;color:#fff;transition:all .15s;background:var(--card)}.legacy-content .gate-item.checked .g-box {background:var(--success);border-color:var(--success)}.legacy-content .gate-item.blocked .g-box {border-color:rgba(220,38,38,.55);color:var(--danger);background:rgba(220,38,38,.06)}.legacy-content .g-t {font-size:14.5px;font-weight:800}.legacy-content .g-d {font-size:13px;color:var(--sub);margin-top:2px;line-height:1.65}.legacy-content .gate-result {display:none;margin-top:12px;padding:13px 16px;border-radius:10px;border:1.5px solid var(--border);font-size:14px;line-height:1.75}.legacy-content .gate-result.show {display:block}.legacy-content .gate-result.pass {border-color:rgba(22,163,74,.4);background:rgba(22,163,74,.05)}.legacy-content .gate-result.warn {border-color:rgba(217,119,6,.4);background:rgba(217,119,6,.06)}.legacy-content .gate-result.stop {border-color:rgba(220,38,38,.4);background:rgba(220,38,38,.05)}.legacy-content .gate-result b {color:var(--text)}.legacy-content .rule-cols h3 {font-size:15.5px;font-weight:800;margin-bottom:5px}.legacy-content .rule-cols ul {margin:0;padding-left:20px;font-size:13.5px;color:var(--sub);line-height:1.85}@media (max-width:768px){.legacy-content .gate-grid, .legacy-content .op-list {grid-template-columns:1fr}.legacy-content .df-acts {width:100%}.legacy-content .df-acts .mark-btn {flex:1}}
