.py-controls{display:flex;flex-wrap:wrap;gap:18px;align-items:end;margin:20px 0}.py-controls label,.lp-widget[data-lp-widget^="python-"]>label,.py-choice{display:flex;flex-direction:column;gap:10px;line-height:1.6;font-weight:600;min-width:0}.lp-widget[data-lp-widget^="python-"] input,.lp-widget[data-lp-widget^="python-"] select{font:inherit;color:var(--lp-ink);background:var(--lp-card);border:1px solid var(--lp-line);border-radius:10px;padding:12px;max-width:100%;min-width:0;box-sizing:border-box}.py-controls input[type=number]{width:150px}.py-terminal{margin:24px 0;padding:20px;background:#081a20;border:1px solid #375c60;border-radius:14px;color:#aff8d3;overflow-wrap:anywhere}.py-terminal>span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:14px;color:#9bbeb8}.py-terminal pre{margin:0;white-space:pre-wrap;font:16px/1.8 ui-monospace,Consolas,monospace;color:inherit}.py-caption{color:var(--lp-muted);font-size:13px!important;line-height:1.7}.py-line-buttons{display:grid;gap:10px}.py-line-buttons .lp-btn{display:flex;gap:20px;text-align:left;white-space:pre-wrap;background:var(--lp-card);color:var(--lp-ink);border:1px solid var(--lp-line)}.py-line-buttons [aria-pressed=true],.py-selected{border-color:var(--lp-accent)!important;background:var(--lp-soft)!important}.py-memory{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:20px}.py-memory strong,.py-memory span{display:block}.py-memory strong{font:600 23px/1.8 ui-monospace,monospace;color:var(--lp-accent);margin:16px 0}.py-memory span{color:var(--lp-muted);font-size:14px}.py-type-chip,.py-order{margin:20px 0;padding:16px;border:1px solid var(--lp-line);border-radius:12px;color:var(--lp-accent);font:600 18px/1.7 ui-monospace,monospace;overflow-wrap:anywhere}.py-presets{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.py-branch-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.py-branch-layout>*{min-width:0}.py-route{list-style:none;padding:0;margin:24px 0}.py-route li{padding:18px;margin:12px 0;border:1px solid var(--lp-line);border-radius:12px;font-size:15px;line-height:1.7}.py-code-line{display:block;white-space:pre;min-width:max-content;padding:2px 8px;border-left:3px solid transparent}.py-branch-layout pre{overflow:auto;white-space:pre}.py-battery{height:70px;position:relative;border:3px solid var(--lp-accent);border-radius:12px;overflow:hidden}.py-battery span{height:100%;display:block;background:var(--lp-soft);transition:width .35s}.py-battery b{position:absolute;inset:0;display:grid;place-items:center;font-size:26px;color:var(--lp-ink)}.py-hints{margin:24px 0;padding:18px;border:1px solid var(--lp-line);border-radius:14px;background:var(--lp-card)}.py-hints>summary{cursor:pointer;display:flex;align-items:center;gap:14px;font-weight:700;line-height:1.6}.py-hints>summary b{display:grid;place-items:center;border:1px solid var(--lp-accent);border-radius:50%;width:34px;height:34px;color:var(--lp-accent);flex-shrink:0}.py-hints details{margin:18px 0;padding:14px 0;border-top:1px solid var(--lp-line)}.py-hints details summary{cursor:pointer;color:var(--lp-accent);line-height:1.7}.py-hints p{line-height:1.8}.py-hero{padding:32px;border:1px solid var(--lp-line);border-radius:24px;background:linear-gradient(140deg,var(--lp-soft),transparent);display:grid;gap:20px;text-align:center}.py-hero>span,.py-hero small{font-size:13px;color:var(--lp-muted);line-height:1.8}.py-hero pre{font:22px/1.8 ui-monospace,monospace;margin:0;color:var(--lp-accent)}.py-hero strong{font-size:26px}.py-hero i{font-style:normal;color:var(--lp-accent)}.py-private{margin:35px 0}.py-private .lp-section{padding:25px 0}.py-legacy{margin:25px 0;padding:20px;border:1px solid var(--student-line,var(--lp-line));border-radius:14px}.py-legacy pre{white-space:pre-wrap;overflow-wrap:anywhere}.lp-widget[data-lp-widget^="python-"] button:focus-visible,.py-hints summary:focus-visible{outline:3px solid var(--lp-accent);outline-offset:4px}@media(max-width:650px){.py-controls{display:grid;grid-template-columns:1fr}.py-memory,.py-branch-layout{grid-template-columns:1fr}.py-controls input[type=number]{width:100%}.py-hero{padding:20px}.py-hero pre{font-size:18px}.py-code-line{font-size:12px}}@media(prefers-reduced-motion:reduce){.py-battery span{transition:none}}
:root[data-theme=light] .lp:has(.py-hero),:root[data-theme=light] .py-private{--lp-accent:#117c66!important;--lp-accent-2:#6753a8!important;--lp-card-2:#f3f8f6}
/* Biurko nie ma bocznych odstępów lp-flow, które kompensują margines sceny w teorii. */
.lesson-desk .py-private{min-width:0;max-width:100%}
.lesson-desk .py-private .lp-section.lp-stage{margin-inline:0;padding:clamp(18px,3vw,30px);width:100%;max-width:100%}
.lesson-desk .py-private .lp-widget,.lesson-desk .py-private .hp-duo>div{min-width:0;max-width:100%}
.lesson-desk .py-private .py-terminal{white-space:pre-wrap;overflow-wrap:anywhere}
.st-body:has(.py-private){min-width:0}
.st:has(.py-private){grid-template-columns:minmax(0,1fr)}
@media(max-width:700px){.st:has(.py-private) .st-top{grid-template-columns:minmax(0,1fr)}.st:has(.py-private) .st-tabs{min-width:0;max-width:100%}.st:has(.py-private) .st-top-actions{flex-wrap:wrap;min-width:0}}
.pl-packets,.pl-gates,.pl-track{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:22px 0}.pl-packet{display:flex;flex-wrap:wrap;gap:5px;padding:14px;border:2px solid var(--lp-accent);border-radius:14px;max-width:165px;position:relative}.pl-packet small{width:100%;color:var(--lp-muted);text-align:center}.pl-packet i,.pl-remainder i{font-style:normal;color:var(--lp-accent);font-size:22px}.pl-remainder{line-height:2}.pl-gates>span{padding:16px;border:1px solid var(--lp-line);border-radius:12px;color:var(--lp-muted);line-height:1.7}.pl-gates>.pl-on{background:var(--lp-soft);color:var(--lp-ink);border-color:var(--lp-accent)}.py-controls .pl-check{display:flex;flex-direction:row;align-items:center;gap:10px}.pl-check input{width:20px;height:20px;accent-color:var(--lp-accent)}.pl-water-layout{display:grid;grid-template-columns:150px minmax(0,1fr);gap:28px;margin:25px 0;align-items:center}.pl-tank{position:relative;height:220px;border:3px solid var(--lp-accent);border-top:0;border-radius:0 0 30px 30px;background:var(--lp-card);overflow:hidden}.pl-tank>div{position:absolute;bottom:0;width:100%;background:color-mix(in srgb,#44bbed 45%,transparent);transition:height .45s}.pl-tank>span{position:absolute;left:0;right:0;border-top:2px dashed var(--lp-accent);padding:5px;color:var(--lp-ink);font:12px ui-monospace,monospace}.pl-tank>strong{position:absolute;inset:0;display:grid;place-items:center;font:700 24px ui-monospace,monospace;color:var(--lp-ink)}.pl-track button[aria-pressed=true]{outline:3px solid var(--lp-accent);outline-offset:3px}.pl-stop{padding:12px;border-left:3px solid var(--lp-warn);color:var(--lp-ink);line-height:1.7}.lp-widget button:disabled{opacity:.45;cursor:default}@media(max-width:650px){.pl-water-layout{grid-template-columns:minmax(0,1fr)}.pl-tank{width:140px;margin:auto}}@media(prefers-reduced-motion:reduce){.pl-tank>div{transition:none}}
.pc-shelves{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}.pc-shelves .lp-btn,.pc-shelves>span{padding:16px;border:1px solid var(--lp-line);border-radius:14px;background:var(--lp-card);color:var(--lp-ink);min-width:90px;text-align:center}.pc-shelves small,.pc-shelves strong{display:block}.pc-shelves small{color:var(--lp-muted);font-size:12px;margin-bottom:10px}.pc-shelves strong{font:700 25px ui-monospace,monospace}.pc-shelves [aria-pressed=true]{border-color:var(--lp-accent);background:var(--lp-soft)}.pc-shelves .pc-invalid{border-style:dashed}.pc-bars{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:30px 0;padding:16px 8px;border-bottom:2px solid var(--lp-line);align-items:end;min-height:180px}.pc-bar{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--lp-muted);min-width:0}.pc-bar>i{display:block;width:min(48px,90%);min-height:2px;max-height:110px;background:color-mix(in srgb,var(--lp-accent) 40%,transparent);border:1px solid var(--lp-line);border-radius:7px 7px 0 0;transition:height .35s}.pc-bar strong{font:700 22px ui-monospace,monospace}.pc-bar small{font-size:12px;white-space:nowrap}.pc-peak{color:var(--lp-accent)}.pc-peak>i{background:var(--lp-accent);border-color:var(--lp-accent)}.pc-diff p{line-height:1.8}@media(prefers-reduced-motion:reduce){.pc-bar>i{transition:none}}
/* Czytelne, dosłowne operatory w tabeli wprowadzającej. */
.lp-table[data-code-language="python"] td:first-child code{color:var(--lp-accent);font-weight:800;font-size:1.2em;white-space:pre;letter-spacing:.1em}
.lp-table[data-code-language="python"] code .tk-n{color:#d7a954}
.lp-table[data-code-language="python"] code .tk-k{color:var(--lp-accent)}
@media(max-width:600px){.lp-table[data-code-language="python"] th,.lp-table[data-code-language="python"] td{padding:10px 7px}.lp-table[data-code-language="python"] th{white-space:normal}.lp-table[data-code-language="python"] td:nth-child(3) code{white-space:nowrap}}
