/* Only new loop widgets; all course typography, layout and colors use shared style.css. */
.layout-two-col>main{min-width:0}.sidebar-sticky{max-height:calc(100vh - 105px);overflow-y:auto}.topic-title .num-badge{flex-shrink:0}.loop-subtitle{font-size:1.2rem;margin:1.6rem 0 .8rem;color:var(--text)}.loop-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:1rem 0}.loop-panel{padding:18px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#f8fafc}.loop-panel h3{font-size:1.08rem;margin-bottom:.5rem}.loop-pills{display:flex;flex-wrap:wrap;gap:8px;margin:1rem 0}.loop-pill{display:inline-block;background:#eff6ff;border:1px solid #bfdbfe;border-radius:7px;padding:6px 11px;font-family:var(--font-mono);font-weight:600;color:#1d4ed8}.loop-pill.excluded{border-style:dashed;background:#f8fafc;color:#64748b}.loop-actions{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.loop-actions button{font:inherit;cursor:pointer}.loop-state{background:white;border:1px solid #cbd5e1;padding:14px;border-radius:8px;min-height:64px;margin:12px 0}.loop-active-line{background:#fef3c7!important;color:#92400e!important;display:block;padding:0 8px;margin:0 -8px}.loop-code-lines{font:14px/1.8 var(--font-mono);background:#1e293b;color:#f8fafc;padding:18px;border-radius:8px;white-space:pre-wrap}.loop-mini{font-size:.9rem;color:#475569}.loop-check{padding:15px 18px;background:#f0fdfa;border:1px solid #99f6e4;border-radius:8px;margin:1.25rem 0}.loop-check summary{font-weight:650;color:#115e59;cursor:pointer}.loop-check p{margin:.6rem 0}.loop-count{font-weight:700;color:#2563eb}.loop-tape{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.loop-tape span{padding:8px 13px;border:1px solid #cbd5e1;border-radius:7px;background:white;font-family:var(--font-mono)}.loop-tape .current{background:#dbeafe;border-color:#2563eb}.loop-tape .consumed{background:#f0fdf4;border-color:#86efac}.loop-tape .sentinel{border-color:#f59e0b;background:#fffbeb}.quiz-option{width:100%;text-align:left;font:inherit}.quiz-option:disabled{cursor:default}.loop-sample{background:#f8fafc;border:1px solid var(--border);border-radius:8px;padding:14px;white-space:pre-wrap;font:15px/1.6 var(--font-mono)}.loop-tasks-nav{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.loop-tasks-nav a{padding:5px 10px;border:1px solid #cbd5e1;background:white;border-radius:6px;text-decoration:none}.task-label{color:#64748b;font-size:.9rem;margin:.5rem 0}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #f59e0b;outline-offset:3px}.loop-error{color:#b91c1c}.loop-success{color:#15803d}
@media(max-width:900px){header{flex-wrap:wrap;gap:10px;padding:12px 18px}header nav{flex-wrap:wrap;width:100%;gap:4px}.nav-link{padding:6px 9px;font-size:.82rem}.logo{font-size:1rem}.sidebar-sticky{position:static;max-height:none;overflow:visible}.sidebar-nav{display:grid;grid-template-columns:1fr 1fr}.container{padding:1.5rem 1rem}.layout-two-col{gap:1.25rem}}
@media(max-width:600px){.sidebar-nav{grid-template-columns:1fr}.loop-grid{grid-template-columns:1fr}.topic-section,.quiz-section{padding:1.25rem}.topic-title{font-size:1.35rem;align-items:flex-start}.interactive-widget{padding:1rem}.loop-code-lines{font-size:12px}.modern-table td,.modern-table th{padding:8px}.code-container pre{font-size:12.5px}.loop-state{overflow-wrap:anywhere}}
@media print{header,.sidebar-sticky,.interactive-widget button{display:none}.layout-two-col{display:block}.topic-section{break-inside:avoid}.container{max-width:none}}
