/* Scoped PPS lab teaching additions. Existing lab/theme rules remain in place. */
.lab-body .lab-line-explanation{min-width:0;scroll-margin-top:110px}
.lab-body .lab-line-intro{max-width:80ch;color:#34465d;line-height:1.75}
.lab-body .lab-line-controls{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
.lab-body .lab-line-controls[hidden]{display:none}
.lab-body .lab-line-controls button{font:inherit;font-size:14px;font-weight:600;border:1px solid #9cb7c8;background:#eef7f7;color:#075d69;border-radius:7px;padding:9px 13px;cursor:pointer;min-height:42px}
.lab-body .lab-line-controls button:hover{background:#deeeee}
.lab-body .lab-line-step{border:1px solid #d7e2ec;background:#fff;border-radius:10px;margin:10px 0;min-width:0;overflow:hidden;scroll-margin-top:110px}
.lab-body .lab-line-step summary{display:list-item;list-style-position:inside;background:#f1f6fb;padding:14px 16px;cursor:pointer;color:#173f65;font-weight:650;line-height:1.55;overflow-wrap:anywhere}
.lab-body .lab-line-step[open] summary{border-bottom:1px solid #d7e2ec}
.lab-body .lab-line-range{display:inline-block;font-size:12px;line-height:1.5;color:#38576c;margin:0 9px 2px 2px;font-weight:600}
.lab-body .lab-line-body{padding:16px 18px;min-width:0;color:#21364b}
.lab-body .lab-line-body p{line-height:1.8;margin:12px 0 0}
.lab-body .lab-line-body pre{margin:0!important;background:#102235;color:#eaf3fb;padding:14px 16px;border-radius:7px;overflow-x:auto;max-width:100%;font:14px/1.7 Consolas,monospace;white-space:pre}
.lab-body .lab-line-body pre code{font:inherit;color:inherit;background:transparent;white-space:pre;padding:0}
.lab-body .lab-line-body p code{overflow-wrap:anywhere}
.lab-body .lab-bit-preview,.lab-body .lab-line-table{position:relative;margin-top:24px;border:1px solid #d8e5eb;border-radius:10px;background:#f7fbfc;padding:18px;min-width:0;isolation:isolate}
.lab-body .lab-bit-preview:after,.lab-body .lab-line-table:after{content:"";position:absolute;right:14px;top:10px;width:88px;height:60px;background:url('/images/codebhavya-main-logo.png') center/contain no-repeat;opacity:.09;pointer-events:none;z-index:-1}
.lab-body .lab-bit-preview h3,.lab-body .lab-line-table h3{padding-right:80px;margin-top:0;color:#173f65}
.lab-body .lab-bit-form{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:15px 0}
.lab-body .lab-bit-form label{font-weight:600}
.lab-body .lab-bit-form input{width:112px;max-width:100%;border:1px solid #829eae;border-radius:6px;padding:10px 12px;background:#fff;color:#16364c;font:inherit}
.lab-body .lab-bit-output{display:block;color:#16364c;font:600 18px/1.5 Consolas,monospace;margin:14px 0;overflow-wrap:anywhere}
.lab-body .lab-bit-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;max-width:650px;margin:14px 0}
.lab-body .lab-bit-tile{display:grid;gap:5px;text-align:center;min-width:0;padding:9px 3px;border:1px solid #ccdce6;border-radius:6px;background:#fff;color:#38576c}
.lab-body .lab-bit-tile small{font-size:11px;line-height:1.3}
.lab-body .lab-bit-tile strong{font:700 20px/1.5 Consolas,monospace;color:#173f65}
.lab-body .lab-bit-tile[data-one=true]{border-color:#087880;background:#e3f5ef}
.lab-body .lab-bit-tile[data-one=true] strong{color:#09624e}
.lab-body .lab-line-scroll{max-width:100%;overflow-x:auto;outline-offset:3px}
.lab-body .lab-line-scroll table{border-collapse:collapse;min-width:480px;width:100%;font-size:14px;background:#fff;color:#21364b}
.lab-body .lab-line-scroll th,.lab-body .lab-line-scroll td{padding:10px 12px;text-align:left;border-bottom:1px solid #dbe5ec}
.lab-body .lab-line-scroll th{background:#eaf1f7;color:#173f65}
.lab-body .lab-line-scroll caption{text-align:left;padding:8px 0;font-weight:600}
.lab-body .lab-line-scroll-hint{font-size:13px;color:#4a6474;margin:6px 0}
.lab-body .lab-line-explanation :is(button,input,summary):focus-visible{outline:3px solid #207f9b;outline-offset:3px}
@media(max-width:600px){.lab-body .lab-line-body{padding:12px}.lab-body .lab-line-step summary{padding:12px}.lab-body .lab-bit-preview,.lab-body .lab-line-table{padding:13px}.lab-body .lab-bit-grid{gap:3px}.lab-body .lab-bit-tile small{font-size:10px}}
@media print{.lab-body .lab-line-controls,.lab-body .lab-bit-form{display:none!important}.lab-body .lab-line-step{break-inside:auto;overflow:visible}.lab-body .lab-line-step>*,.lab-body .lab-line-step::details-content{display:block!important;content-visibility:visible!important}.lab-body .lab-line-body pre{white-space:pre-wrap;overflow:visible;font-size:11px}.lab-body .lab-line-scroll{overflow:visible}.lab-body .lab-line-scroll table{min-width:0}.lab-body .lab-line-step summary{break-after:avoid}.lab-body .lab-bit-preview:after,.lab-body .lab-line-table:after{print-color-adjust:exact}}
