.python-lab-page{color:#f5f0e6;background:radial-gradient(circle at 12% 14%,#d6a84b21,#0000 24%),radial-gradient(circle at 90% 35%,#5970ff12,#0000 25%),#070707;min-height:100vh;overflow:hidden}.python-lab-page:before{content:"";pointer-events:none;opacity:.22;background-image:linear-gradient(#f5d98a06 1px,#0000 1px),linear-gradient(90deg,#f5d98a06 1px,#0000 1px);background-size:42px 42px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 80%);mask-image:linear-gradient(#000,#0000 80%)}.python-lab-header{z-index:2;border-bottom:1px solid #d6a84b29;justify-content:space-between;align-items:center;width:min(1480px,100%);height:90px;margin:0 auto;padding:0 56px;display:flex;position:relative}.python-lab-brand{color:#f5f0e6;letter-spacing:.16em;direction:ltr;align-items:center;gap:14px;font-size:20px;font-weight:800;display:inline-flex}.python-brand-mark{color:#f5d98a;border:1px solid #d6a84b;place-items:center;width:48px;height:48px;display:grid;position:relative;transform:rotate(30deg);box-shadow:inset 0 0 18px #d6a84b1f,0 0 24px #d6a84b14}.python-brand-mark:before{content:"";border:1px solid #d6a84b9e;position:absolute;inset:7px}.python-brand-mark i{font-size:19px;font-style:normal;font-weight:900;transform:rotate(-30deg)}.python-brand-mark b{background:#070707;padding:2px;font-size:8px;position:absolute;bottom:-5px;right:-8px;transform:rotate(-30deg)}.python-back-link{color:#d7d0c4;border-bottom:1px solid #d6a84bb3;align-items:center;gap:10px;padding:11px 0;font-size:13px;transition:color .2s,gap .2s;display:inline-flex}.python-back-link:hover{color:#f5d98a;gap:14px}.python-back-link span{transform:scaleX(-1)}.python-lab-intro{z-index:1;justify-content:space-between;align-items:end;gap:50px;width:min(1370px,100% - 80px);margin:0 auto;padding:72px 0 46px;display:flex;position:relative}.python-kicker{color:#d6a84b;text-align:right;letter-spacing:.22em;direction:ltr;margin:0 0 17px;font-size:11px;font-weight:800}.python-lab-intro h1{color:#f5f0e6;max-width:860px;margin:0;font-size:clamp(40px,5vw,72px);line-height:1.22}.python-lab-intro>div:first-child>p:last-child{color:#bcb6ab;max-width:760px;margin:22px 0 0;font-size:16px;line-height:2}.python-runtime-status{background:#0f0f0dd1;border:1px solid #d6a84b47;border-radius:14px;align-items:center;gap:13px;min-width:235px;padding:17px 19px;display:flex;box-shadow:0 20px 50px #00000040}.python-runtime-status>div{gap:4px;display:grid}.python-runtime-status strong{color:#f5f0e6;font-size:12px}.python-runtime-status small{color:#8f8a82;font-size:10px}.python-status-dot{background:#d6a84b;border-radius:50%;width:10px;height:10px;box-shadow:0 0 18px #d6a84bb3}.python-runtime-status.loading .python-status-dot{animation:1.15s ease-in-out infinite python-pulse}.python-runtime-status.ready .python-status-dot{background:#51d18a;box-shadow:0 0 18px #51d18aa6}.python-runtime-status.running .python-status-dot{background:#f5d98a;animation:.65s ease-in-out infinite python-pulse}.python-runtime-status.error .python-status-dot{background:#ef6d6d;box-shadow:0 0 18px #ef6d6d99}@keyframes python-pulse{50%{opacity:.35;transform:scale(.72)}}.python-lab-tools{z-index:4;grid-template-columns:1.05fr .95fr 1.2fr;gap:12px;width:min(1370px,100% - 80px);margin:0 auto 18px;display:grid;position:relative}.python-tool-card{color:#f5f0e6;background:linear-gradient(145deg,#161512f5,#0c0c0bf5);border:1px solid #d6a84b33;border-radius:15px;min-width:0;min-height:112px;padding:17px;box-shadow:0 16px 38px #0000002e}.python-tool-icon{color:#d6a84b;letter-spacing:.12em;font:800 9px/1 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.python-tool-card strong{color:#f2ede4;font-size:12px;display:block}.python-tool-card small{color:#77736c;margin-top:4px;font-size:9px;line-height:1.6;display:block}.python-sample-tool{grid-template-columns:auto 1fr;align-items:center;column-gap:13px;display:grid}.python-sample-tool select{color:#e8e2d8;background:#090a09;border:1px solid #d6a84b38;border-radius:8px;outline:0;grid-column:1/-1;width:100%;height:38px;margin-top:12px;padding:0 11px;font-family:inherit;font-size:10px}.python-sample-tool select:focus{border-color:#f5d98a99}.python-library-tool{padding:0;position:relative}.python-library-tool summary{cursor:pointer;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;min-height:110px;padding:17px;list-style:none;display:grid}.python-library-tool summary::-webkit-details-marker{display:none}.python-library-tool summary i{color:#d6a84b;font-style:normal;transition:transform .2s}.python-library-tool[open] summary i{transform:rotate(180deg)}.python-library-panel{top:calc(100% + 10px);z-index:20;background:#0a0a09fa;border:1px solid #d6a84b52;border-radius:14px;width:min(560px,90vw);padding:18px;position:absolute;inset-inline-start:0;box-shadow:0 28px 70px #000000a6}.python-library-list{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.python-library-list button{text-align:right;color:#ded8cd;cursor:pointer;background:#11120f;border:1px solid #d6a84b29;border-radius:9px;align-content:center;min-height:55px;padding:9px 11px;display:grid}.python-library-list button:hover:not(:disabled){border-color:#f5d98a80}.python-library-list button:disabled{cursor:wait;opacity:.65}.python-library-list button.ready{background:#225c3a21;border-color:#51d18a61}.python-library-list button.error{border-color:#ef6d6d61}.python-library-list button span{text-align:left;direction:ltr;font:700 10px/1.2 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.python-library-list button small{margin-top:5px}.python-library-list button.ready small{color:#6ccf94}.python-library-list button.error small{color:#ff9f9f}.python-custom-package{border-top:1px solid #d6a84b21;margin-top:15px;padding-top:14px}.python-custom-package label{color:#b9b2a8;font-size:10px}.python-custom-package>div{grid-template-columns:1fr auto;gap:7px;margin-top:8px;display:grid}.python-custom-package input{color:#ece8e0;background:#070808;border:1px solid #d6a84b2e;border-radius:8px;outline:0;min-width:0;height:38px;padding:0 11px;font:11px/1 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.python-custom-package button{color:#100e09;cursor:pointer;background:#d6a84b;border:1px solid #f5d98aa6;border-radius:8px;min-width:70px;font-family:inherit;font-size:10px;font-weight:800}.python-custom-package button:disabled{opacity:.45;cursor:wait}.python-custom-package small.error{color:#ff9f9f;text-align:left;overflow-wrap:anywhere;direction:ltr}.python-file-tool{grid-template-columns:auto 1fr auto;align-items:center;gap:13px;display:grid}.python-file-actions{grid-template-columns:repeat(2,1fr);gap:7px;width:190px;display:grid}.python-file-actions button{color:#bcb6ac;cursor:pointer;background:#0b0c0b;border:1px solid #d6a84b2e;border-radius:7px;min-height:32px;font-family:inherit;font-size:9px}.python-file-actions button:hover{color:#f5d98a;border-color:#f5d98a73}.python-notice{inset-inline-start:50%;z-index:100;color:#f5f0e6;background:#11100df5;border:1px solid #f5d98a6b;border-radius:10px;padding:11px 17px;font-size:11px;position:fixed;bottom:24px;transform:translate(-50%);box-shadow:0 20px 60px #0000008c}.python-workspace{z-index:1;background:#0a0a09;border:1px solid #d6a84b59;border-radius:22px;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);width:min(1370px,100% - 80px);min-height:590px;margin:0 auto;display:grid;position:relative;overflow:hidden;box-shadow:0 35px 100px #0000007a,0 0 50px #d6a84b0d}.python-editor-panel,.python-output-panel{flex-direction:column;min-width:0;display:flex}.python-editor-panel{border-left:1px solid #d6a84b33}.python-panel-bar{background:linear-gradient(#171612,#11110f);border-bottom:1px solid #d6a84b29;grid-template-columns:1fr auto 1fr;align-items:center;min-height:58px;padding:0 20px;display:grid}.python-window-dots{direction:ltr;justify-self:start;gap:7px;display:flex}.python-window-dots i{background:#4e4b45;border-radius:50%;width:8px;height:8px}.python-window-dots i:first-child{background:#d6a84b}.python-file-name{color:#ded7cb;direction:ltr;font:500 12px/1.2 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.python-file-name b{color:#f0c867;font-size:17px}.python-quiet-button{color:#938e85;cursor:pointer;background:0 0;border:0;justify-self:end;padding:8px 0;font-size:11px}.python-quiet-button:hover{color:#f5d98a}.python-editor-wrap{direction:ltr;background:#0d0e0e;flex:1;min-height:390px;display:block}.python-editor-loading{color:#77736c;place-items:center;min-height:390px;font-size:11px;display:grid}.python-code-mirror{background:#0d0e0e;min-height:390px}.python-code-mirror .cm-editor{color:#e9eee7;background:#0d0e0e;min-height:390px}.python-code-mirror .cm-editor.cm-focused{outline:none}.python-code-mirror .cm-scroller{min-height:390px;font:13px/1.75 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.python-code-mirror .cm-content{caret-color:#f5d98a;padding:18px 0}.python-code-mirror .cm-line{padding:0 18px 0 10px}.python-code-mirror .cm-gutters{color:#555a5b;background:#090a0a;border-right:1px solid #ffffff0e}.python-code-mirror .cm-activeLine,.python-code-mirror .cm-activeLineGutter{background:#d6a84b0e}.python-code-mirror .cm-selectionBackground,.python-code-mirror .cm-content ::selection{background:#d6a84b47!important}.python-line-numbers{color:#555a5b;-webkit-user-select:none;user-select:none;background:#0a0b0b;border-right:1px solid #ffffff0e;flex-direction:column;align-items:end;padding:22px 13px;font:13px/1.75 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;display:flex;overflow:hidden}.python-line-numbers span{min-height:22.75px}.python-code-editor{resize:none;color:#eef0e9;caret-color:#f5d98a;tab-size:4;white-space:pre;background:radial-gradient(circle at 90% 12%,#d6a84b0e,#0000 22%),#0d0e0e;border:0;outline:0;width:100%;min-height:350px;padding:22px;font:14px/1.75 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace!important}.python-code-editor::selection{color:#fff;background:#d6a84b52}.python-input-row{background:#0b0b0a;border-top:1px solid #d6a84b24;grid-template-columns:180px 1fr;align-items:center;gap:18px;padding:16px 20px;display:grid}.python-input-row label{color:#d9d2c7;gap:4px;font-size:12px;display:grid}.python-input-row label small{color:#77736c;font-size:9px}.python-input-row textarea{resize:vertical;color:#e9e6df;background:#070808;border:1px solid #d6a84b2e;border-radius:9px;outline:0;height:60px;padding:10px 13px;font:12px/1.6 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace!important}.python-input-row textarea:focus{border-color:#f5d98a94;box-shadow:0 0 0 3px #d6a84b0f}.python-input-row textarea::placeholder{color:#575a59}.python-action-row{background:#11110f;border-top:1px solid #d6a84b24;justify-content:space-between;align-items:center;gap:20px;min-height:76px;padding:13px 20px;display:flex}.python-run-button,.python-stop-button{cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:10px;min-width:150px;min-height:46px;font-size:13px;font-weight:800;transition:transform .2s,box-shadow .2s,opacity .2s;display:inline-flex}.python-run-button{color:#090806;background:linear-gradient(110deg,#b97820,#f5d98a 54%,#c78d2c);border:1px solid #f5d98a;box-shadow:0 10px 30px #d6a84b2e}.python-stop-button{color:#ffb1b1;background:#78202029;border:1px solid #ef6d6d9e}.python-run-button:hover:not(:disabled),.python-stop-button:hover{transform:translateY(-2px);box-shadow:0 14px 34px #d6a84b40}.python-run-button:disabled{opacity:.42;cursor:wait}.python-shortcut{color:#716d66;direction:ltr;font:10px/1 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.python-output-title{color:#ddd7cc;justify-self:start;align-items:center;gap:10px;font-size:12px;display:inline-flex}.python-output-title i{color:#f5d98a;font:700 16px/1 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.python-output-panel .python-panel-bar{grid-template-columns:1fr auto}.python-output-actions{align-items:center;gap:14px;display:inline-flex}.python-output-actions>span{color:#6ccf94;direction:ltr;font:9px/1 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.python-console{color:#dfe5dd;background-color:#080909;background-image:linear-gradient(#ffffff03 1px,#0000 1px),none;background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:100% 28px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;flex:1;min-height:572px;padding:24px;font:13px/1.85 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;overflow:auto}.python-console pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;margin:0 0 4px}.python-console pre.stderr{color:#ff9f9f}.python-console pre.result{color:#f5d98a}.python-console-empty{text-align:center;direction:rtl;place-content:center;height:100%;min-height:430px;display:grid}.python-console-empty span{color:#6ccf94;direction:ltr;font-size:12px}.python-console-empty p{color:#646761;margin:12px 0 0;font-family:Estedad,Tahoma,Arial,sans-serif;font-size:11px}.python-rich-table,.python-rich-image{background:#0d0e0d;border:1px solid #d6a84b2e;border-radius:12px;margin:16px 0;padding:14px;font-family:Estedad,Tahoma,Arial,sans-serif}.python-rich-table figcaption,.python-rich-image figcaption{color:#f5d98a;text-align:right;margin-bottom:12px;font-size:11px}.python-table-scroll{max-width:100%;overflow:auto}.python-rich-table table{border-collapse:collapse;color:#dcd7ce;width:100%;font-size:10px}.python-rich-table th,.python-rich-table td{text-align:right;white-space:nowrap;border:1px solid #ffffff12;padding:9px 11px}.python-rich-table th{color:#f5d98a;background:#d6a84b14}.python-rich-table tr:nth-child(2n) td{background:#ffffff05}.python-rich-table>small{color:#77736c;margin-top:9px;font-size:8px;display:block}.python-rich-image{text-align:center}.python-rich-image img{background:#fff;border-radius:8px;width:auto;max-width:100%;height:auto}.python-rich-image a{color:#d6a84b;border-bottom:1px solid #d6a84b73;margin-top:11px;font-size:9px;display:inline-flex}.python-help{z-index:1;grid-template-columns:repeat(4,1fr);gap:14px;width:min(1370px,100% - 80px);margin:34px auto 0;display:grid;position:relative}.python-help article{background:linear-gradient(145deg,#151411e0,#0a0a09e0);border:1px solid #d6a84b29;border-radius:15px;align-items:flex-start;gap:18px;min-height:145px;padding:24px;display:flex}.python-help article>span{color:#d6a84b;letter-spacing:.12em;font:700 10px/1.5 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.python-help h2{color:#f5f0e6;margin:0 0 9px;font-size:16px}.python-help p{color:#938e86;margin:0;font-size:11px;line-height:1.95}.python-help code{color:#f5d98a;direction:ltr;background:#d6a84b17;border-radius:4px;padding:2px 5px}.python-lab-footer{color:#77736c;border-top:1px solid #d6a84b29;justify-content:space-between;align-items:center;gap:30px;width:min(1370px,100% - 80px);margin:70px auto 0;padding:32px 0 45px;font-size:10px;display:flex}.python-lab-footer span{color:#b59350;letter-spacing:.18em;direction:ltr;font-weight:800}.python-lab-footer p{margin:0}@media (max-width:980px){.python-lab-tools{grid-template-columns:1fr 1fr}.python-file-tool{grid-column:1/-1}.python-workspace{grid-template-columns:1fr}.python-editor-panel{border-bottom:1px solid #d6a84b33;border-left:0}.python-console{min-height:330px}.python-console-empty{min-height:280px}.python-help{grid-template-columns:1fr 1fr}}@media (max-width:720px){.python-lab-header{height:76px;padding:0 20px}.python-lab-brand{gap:10px;font-size:15px}.python-brand-mark{width:40px;height:40px}.python-brand-mark i{font-size:16px}.python-back-link{font-size:11px}.python-lab-intro,.python-lab-tools,.python-workspace,.python-help,.python-lab-footer{width:calc(100% - 28px)}.python-lab-intro{padding:50px 0 32px;display:block}.python-lab-intro h1{font-size:38px}.python-lab-intro>div:first-child>p:last-child{font-size:13px}.python-runtime-status{width:100%;min-width:0;margin-top:28px}.python-lab-tools{grid-template-columns:1fr}.python-tool-card{min-height:0}.python-library-tool summary{min-height:92px}.python-library-panel{width:auto;box-shadow:none;margin:0 12px 12px;position:static}.python-library-list{grid-template-columns:repeat(2,1fr)}.python-file-tool{grid-column:auto;grid-template-columns:auto 1fr}.python-file-actions{grid-column:1/-1;grid-template-columns:repeat(4,1fr);width:100%}.python-workspace{border-radius:15px}.python-panel-bar{min-height:54px;padding:0 14px}.python-editor-wrap,.python-code-mirror,.python-code-mirror .cm-editor,.python-code-mirror .cm-scroller{min-height:350px}.python-code-mirror .cm-scroller{font-size:11px}.python-line-numbers{padding:18px 9px;font-size:11px}.python-code-editor{min-height:330px;padding:18px 14px;font-size:12px!important}.python-input-row{grid-template-columns:1fr;gap:9px;padding:15px}.python-input-row label{align-items:center;gap:8px;display:flex}.python-input-row textarea{height:74px}.python-action-row{padding:13px 15px}.python-run-button,.python-stop-button{min-width:135px}.python-shortcut{font-size:8px}.python-console{min-height:310px;padding:18px;font-size:11px}.python-help{grid-template-columns:1fr;margin-top:18px}.python-help article{min-height:0;padding:20px}.python-lab-footer{text-align:center;justify-items:center;margin-top:48px;line-height:1.8;display:grid}}@media (prefers-reduced-motion:reduce){.python-lab-page *{transition:none!important;animation:none!important}}
