.python-playground{--pg-ink:#e6eaf5;--pg-muted:#adb7d0;--pg-border:#303b57;--pg-panel:#172139;--pg-bg:#0d1528;background:var(--pg-bg);color:var(--pg-ink);padding:clamp(16px,2vw,28px);border-radius:24px;margin:0 auto;max-width:1600px;font-size:14px;line-height:1.6;color-scheme:dark}.python-playground *{box-sizing:border-box}.python-playground h1,.python-playground h2,.python-playground h3,.python-playground h4,.python-playground p{margin:0}.python-playground h1{font-size:clamp(28px,3vw,42px);font-weight:850;letter-spacing:-.03em}.python-playground a{color:#b9b2ff;text-decoration:underline;text-underline-offset:4px}.python-playground button,.python-playground input,.python-playground select,.python-playground textarea{font:inherit}.python-playground button{border:1px solid var(--pg-border);background:#202e4b;color:var(--pg-ink);border-radius:9px;padding:8px 12px;cursor:pointer;font-weight:650}.python-playground button:hover:not(:disabled){background:#354769;border-color:#b5a0ff}.python-playground :focus-visible{outline:3px solid #b8a2ff;outline-offset:3px}.python-playground button:disabled{opacity:.45;cursor:not-allowed}.python-playground input,.python-playground select,.python-playground textarea{background:#0d1528;border:1px solid #445473;color:var(--pg-ink);border-radius:8px;padding:9px;max-width:100%}.python-playground textarea{width:100%;font-family:ui-monospace,SFMono-Regular,monospace}.pg-heading{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-bottom:22px}.pg-heading p{max-width:780px;color:var(--pg-muted)}.pg-heading .pg-eyebrow{color:#87e7d8;letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:800}.pg-heading a{white-space:nowrap}.pg-toolbar{display:flex;flex-wrap:wrap;gap:14px;align-items:end;padding:16px 0}.pg-toolbar label{display:grid;gap:5px;font-size:11px;font-weight:800;letter-spacing:.04em}.pg-toolbar select{font-size:14px;letter-spacing:0;max-width:340px}.pg-browser-badge{color:#83dfcb;font-size:12px;align-self:center}.pg-actions{display:flex;gap:7px;flex-wrap:wrap;margin-left:auto}.pg-actions button:first-child{background:#6640cd}.pg-actions .pg-stop{border-color:#9e6079}.pg-notice{border:1px solid #5c5488;border-radius:12px;padding:12px 15px;margin:8px 0!important;background:#282643;overflow-wrap:anywhere}.pg-notice button{margin-left:10px}.pg-workspace{display:grid;grid-template-columns:180px minmax(0,1fr) minmax(270px,.7fr);border:1px solid var(--pg-border);border-radius:14px;overflow:hidden;align-items:start;background:var(--pg-panel);min-height:520px}.pg-files{padding:14px;min-width:0}.pg-files h2{font-weight:800;display:flex;justify-content:space-between}.pg-files h2 span{color:var(--pg-muted);font-weight:400}.pg-files nav{display:grid;gap:5px;margin:16px -5px}.pg-files nav button{text-align:left;border:0;background:transparent;overflow-wrap:anywhere;white-space:normal;padding:7px 5px;font:12px ui-monospace,monospace}.pg-files nav button span{margin-right:8px;color:#92d9f3}.pg-files nav button[aria-pressed=true]{background:#3b315f;color:white}.pg-files form{display:grid;gap:7px;margin:20px 0 12px}.pg-files label{font-size:11px;color:var(--pg-muted)}.pg-files>button{font-size:11px;width:100%;margin:5px 0}.pg-files hr{border-color:var(--pg-border);margin:16px 0}.pg-files>p{font-size:11px;color:var(--pg-muted);margin-top:12px}.pg-code-pane{min-width:0;border-left:1px solid var(--pg-border);border-right:1px solid var(--pg-border);background:#101a2c}.pg-file-heading{display:flex;align-items:center;gap:8px;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--pg-border);min-height:48px;flex-wrap:wrap}.pg-file-heading h2{font:700 12px ui-monospace,monospace}.pg-file-heading span{font-size:10px;color:var(--pg-muted)}.pg-editor-mount{overflow:auto;min-width:0}.pg-editor-mount .cm-editor{height:100%;font:13px/1.8 ui-monospace,SFMono-Regular,monospace}.pg-editor-mount .cm-scroller{overflow:auto}.pg-editor-mount textarea{height:100%;border:0;border-radius:0}.pg-inspector{min-width:0;padding:18px;max-height:630px;overflow:auto}.pg-inspector h3{font-size:17px;font-weight:800}.pg-inspector>p{font-size:12px;color:var(--pg-muted);margin:8px 0}.pg-empty-demo{display:grid;gap:18px;margin:36px 0;color:#bcb2fa}.pg-empty-demo span{border-left:2px solid #a78bfa;padding-left:12px}.pg-step-buttons{display:flex;gap:5px;align-items:center;justify-content:space-between;margin:18px 0 10px}.pg-step-buttons button{font-size:10px;padding:7px}.pg-step-buttons span{font-size:10px;white-space:nowrap}.pg-inspector input[type=range]{width:100%;accent-color:#b29aff;padding:0}.pg-step-location{color:#80e1cd!important}.pg-step-source{font:12px/1.8 ui-monospace,monospace;white-space:pre-wrap;overflow-wrap:anywhere;padding:10px;background:#10192b;border-radius:9px}.pg-values{display:grid;gap:10px;margin-top:14px}.pg-value{border:1px solid var(--pg-border);border-radius:9px;padding:10px;min-width:0}.pg-value h4{font:700 12px ui-monospace,monospace;color:#d8c9ff}.pg-value pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:7px 0 0;font:12px/1.6 ui-monospace,monospace}.pg-value p{font-size:10px;color:var(--pg-muted)}.pg-table-scroll{overflow-x:auto}.pg-value table{font:11px/1.6 ui-monospace,monospace;width:100%;margin:7px 0;border-collapse:collapse}.pg-value td,.pg-value th{border:1px solid var(--pg-border);padding:5px;text-align:left}.pg-value th{background:#293653}.pg-tests{margin-top:20px}.pg-tests h4{font-weight:800}.pg-tests>p{font-size:11px;color:var(--pg-muted);margin:6px 0 12px}.pg-test{border-bottom:1px solid var(--pg-border);padding:7px 0;font-size:11px;overflow-wrap:anywhere}.pg-test summary{cursor:pointer}.pg-test span{font-weight:800;color:#87e5ce}.pg-test-failed span{color:#ffadbb}.pg-test-skipped span{color:#e6cc83}.pg-test small{color:var(--pg-muted)}.pg-test pre{white-space:pre-wrap;font:11px/1.7 ui-monospace,monospace;background:#251d31;padding:10px}.pg-input-preload{margin:14px 0;font-size:12px;color:var(--pg-muted)}.pg-input-preload summary{cursor:pointer;margin-bottom:7px}.pg-input-preload label{display:block;margin:7px 0}.pg-terminal{border:1px solid var(--pg-border);border-radius:14px;margin-top:16px;overflow:hidden;background:#080f1e}.pg-terminal-top{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--pg-border);background:#172139}.pg-terminal-top h3{font-size:13px;font-weight:800}.pg-terminal-top h3 span{margin-left:10px;color:#85dfcc;font-size:10px;font-weight:500}.pg-terminal-top button{font-size:10px}.pg-output{max-height:320px;min-height:130px;overflow:auto;padding:16px;font:12px/1.75 ui-monospace,SFMono-Regular,monospace}.pg-output,.pg-output pre{overflow-wrap:anywhere;white-space:pre-wrap}.pg-output pre{display:inline;font:inherit}.pg-terminal-help{color:#a8b4d0;white-space:normal}.pg-stderr{color:#ffb3b7}.pg-run-status{font-size:12px;padding:8px 16px;background:#15253b;color:#bfc8de;overflow-wrap:anywhere}.pg-status-succeeded{color:#94eacb}.pg-status-failed,.pg-status-stopped{color:#ffc4bc}.pg-command{padding:10px 16px}.pg-command label{font-size:10px;color:var(--pg-muted);display:block;margin-bottom:4px}.pg-command>div{display:flex;gap:10px;align-items:center}.pg-command input{flex:1;width:0;border:0;background:transparent;font:12px ui-monospace,monospace}.pg-command button{font-size:11px}.pg-command span{color:#9debd7}.pg-diagnostics{margin:16px 0;display:grid;gap:7px}.pg-diagnostics button{text-align:left;color:#ffc4bc;overflow-wrap:anywhere}.pg-footer,.pg-runtime-result{font-size:11px;color:var(--pg-muted);margin-top:14px!important}.pg-footer p+p{margin-top:5px}@media(min-width:1500px){.python-playground{margin-left:-60px;margin-right:-60px}}@media(max-width:1150px){.pg-workspace{grid-template-columns:160px minmax(0,1fr)}.pg-inspector{grid-column:1/-1;max-height:500px;border-top:1px solid var(--pg-border)}.pg-values{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.pg-empty-demo{display:flex;flex-wrap:wrap;gap:20px;margin:15px 0}.pg-actions{margin-left:0}}@media(max-width:640px){.python-playground{padding:12px;border-radius:14px}.pg-heading{display:block}.pg-heading a{display:inline-block;margin-top:12px}.pg-workspace{grid-template-columns:minmax(0,1fr)}.pg-files{padding:12px}.pg-files nav{display:flex;overflow-x:auto;margin:10px 0}.pg-files nav button{white-space:nowrap}.pg-files form{display:flex;flex-wrap:wrap;margin:8px 0}.pg-files label{width:100%}.pg-files>button{width:auto;margin:4px}.pg-files hr,.pg-files>p{display:none}.pg-code-pane{border:0;border-top:1px solid var(--pg-border)}.pg-editor-mount{height:380px}.pg-inspector{grid-column:auto}.pg-toolbar{gap:10px}.pg-toolbar select{max-width:100%}.pg-toolbar label{width:100%}.pg-actions button{font-size:11px;padding:8px}.pg-values{grid-template-columns:1fr}}.pg-editor-mount{height:520px}.pg-editor-loading{padding:18px;color:#adb7d0}.pg-editor-fallback{display:block;padding:16px}.pg-editor-fallback textarea{height:450px}