.python-lab,.py-trace{margin:1.3rem 0;padding:1.1rem;border:1px solid var(--border-color,#334155);border-radius:16px;background:var(--card-bg,#172033);min-width:0}.python-lab textarea{width:100%;min-height:180px;padding:14px;background:#0b1221;color:#e9f1ff;border:1px solid #52627b;border-radius:10px;font:15px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;tab-size:4;resize:vertical}.python-lab button,.lab-stop,.lab-reset,.py-trace button{min-height:44px;padding:9px 14px;border-radius:9px;margin:6px 6px 6px 0;border:1px solid var(--border-color,#475569);background:var(--card-bg,#172033);color:var(--text-primary,#fff);cursor:pointer}.lab-run{background:var(--accent,#2563eb)!important;color:#fff!important}.lab-note{display:block;color:var(--text-secondary,#a5b4cb);margin:8px 0}.lab-test{padding:10px;border:1px solid var(--border-color,#475569);margin:8px 0;border-radius:10px}.lab-test.is-ok{border-left:4px solid #16824e}.lab-test.is-bad{border-left:4px solid #d65b3b}.lab-test-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.lab-test-grid>div{min-width:0}.lab-test pre,.py-trace-view{white-space:pre-wrap;overflow-wrap:anywhere;background:#0b1221;color:#e9f1ff;padding:12px;border-radius:8px;font:14px/1.6 ui-monospace,monospace}.lab-error{color:var(--text-primary,#fff);border-left:4px solid #d65b3b;padding:10px}.py-path{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.py-path span{padding:7px 10px;background:var(--bg-secondary,#172033);border:1px solid var(--border-color,#475569);border-radius:8px}.py-goal{padding:12px 16px;border-left:3px solid var(--accent,#60a5fa);background:var(--card-bg,#172033);margin:12px 0}.py-foundation pre{overflow-x:auto;white-space:pre;font:15px/1.6 ui-monospace,monospace;background:#0b1221;color:#e9f1ff;border-radius:12px;padding:16px}.py-foundation details{padding:12px;border:1px solid var(--border-color,#334155);border-radius:10px;margin:12px 0}.py-foundation summary{cursor:pointer;font-weight:700}.py-foundation p,.py-foundation li{max-width:78ch}.py-foundation .py-trace-view{white-space:pre-wrap}.py-foundation h2{font-size:1.7rem}.py-foundation a{color:var(--accent,#60a5fa)}button:disabled{cursor:default;opacity:.55}@media(max-width:600px){.lab-test-grid{grid-template-columns:1fr}.python-lab,.py-trace{padding:12px}.python-lab textarea{font-size:16px}.py-foundation h2{font-size:1.4rem}}
