.lab-page.svelte-125elzf{max-width:var(--container-lg);margin:0 auto}.lab-header.svelte-125elzf{margin-bottom:var(--space-6);padding:var(--space-6);background:var(--lab-header-gradient);border:var(--border-width-2) solid var(--lab-header-border);border-radius:var(--radius-xl)}.lab-header.capstone.svelte-125elzf{background:var(--lab-capstone-gradient);border-color:var(--color-capstone)}.breadcrumb.svelte-125elzf{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);margin-bottom:var(--space-4)}.breadcrumb-link.svelte-125elzf{color:var(--color-text-secondary);text-decoration:none;transition:color var(--duration-150) var(--ease-out)}.breadcrumb-link.svelte-125elzf:hover{color:var(--color-primary-600);text-decoration:none}.breadcrumb-separator.svelte-125elzf{color:var(--color-text-tertiary)}.breadcrumb-current.svelte-125elzf{color:var(--color-text-primary);font-weight:var(--font-medium)}.lab-badge.svelte-125elzf{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background-color:var(--lab-badge-bg);border-radius:var(--radius-full);margin-bottom:var(--space-4)}.lab-header.capstone.svelte-125elzf .lab-badge:where(.svelte-125elzf){background-color:var(--color-capstone);color:#fff}.badge-icon.svelte-125elzf{display:flex;align-items:center;justify-content:center}.badge-text.svelte-125elzf{font-size:var(--text-sm);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.05em}.lab-title.svelte-125elzf{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--color-text-primary);margin:0 0 var(--space-3) 0}.lab-meta.svelte-125elzf{display:flex;flex-wrap:wrap;gap:var(--space-4)}.meta-item.svelte-125elzf{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-sm);color:var(--color-text-secondary)}.lab-progress.svelte-125elzf{position:sticky;top:calc(var(--header-height) + var(--space-4));z-index:50;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);background-color:var(--color-bg-primary);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--space-6)}.progress-container.svelte-125elzf{flex:1;position:relative;min-width:0}.progress-track.svelte-125elzf{position:absolute;top:12px;left:12px;right:12px;height:3px;background-color:var(--color-bg-tertiary);border-radius:var(--radius-full);transform:translateY(-50%);z-index:0}.progress-fill.svelte-125elzf{height:100%;background-color:var(--color-warning-500);border-radius:var(--radius-full);transition:width var(--duration-300) var(--ease-out)}.progress-steps.svelte-125elzf{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;list-style:none;margin:0;padding:0}.progress-step.svelte-125elzf{display:flex;flex-direction:column;align-items:center}.step-node.svelte-125elzf{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-full);border:2px solid var(--color-border-primary);background-color:var(--color-bg-primary);cursor:pointer;transition:all var(--duration-150) var(--ease-out);font-size:var(--text-xs);font-weight:var(--font-bold);color:var(--color-text-tertiary)}.step-node.svelte-125elzf:hover{border-color:var(--color-warning-400);transform:scale(1.1)}.step-node.svelte-125elzf:focus-visible{outline:2px solid var(--color-warning-500);outline-offset:2px}.step-node.viewed.svelte-125elzf{background-color:var(--color-warning-500);border-color:var(--color-warning-500);color:#fff}.step-node.current.svelte-125elzf{border-color:var(--color-warning-500);background-color:var(--color-warning-50);color:var(--color-warning-600);box-shadow:0 0 0 4px var(--color-warning-100)}.progress-text.svelte-125elzf{flex-shrink:0}.progress-percent.svelte-125elzf{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--color-warning-600)}.objectives-section.svelte-125elzf{margin-bottom:var(--space-6);padding:var(--space-5);background-color:var(--color-bg-secondary);border-radius:var(--radius-lg)}.section-title.svelte-125elzf{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text-primary);margin:0 0 var(--space-4) 0}.objectives-list.svelte-125elzf{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-3)}.objective-item.svelte-125elzf{display:flex;align-items:flex-start;gap:var(--space-3);font-size:var(--text-base);color:var(--color-text-secondary)}.check-icon.svelte-125elzf{color:var(--color-success-500);flex-shrink:0;margin-top:2px}.prerequisites-section.svelte-125elzf{margin-bottom:var(--space-6)}.prerequisites-list.svelte-125elzf{list-style:disc;padding-left:var(--space-6);margin:0}.prereq-item.svelte-125elzf{color:var(--color-text-secondary);margin-bottom:var(--space-2)}.lab-content-flow.svelte-125elzf{display:flex;flex-direction:column}.lab-section.svelte-125elzf{scroll-margin-top:calc(var(--header-height) + 80px);margin-bottom:var(--space-8)}.section-header.svelte-125elzf{margin-bottom:var(--space-4)}.section-badge.svelte-125elzf{margin-bottom:var(--space-2)}.section-number.svelte-125elzf{font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em}.section-heading.svelte-125elzf{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-text-primary);margin:0}.section-article.svelte-125elzf{padding:var(--space-6);background-color:var(--color-bg-primary);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--radius-lg)}.section-article.svelte-125elzf h1,.section-article.svelte-125elzf h2,.section-article.svelte-125elzf h3,.section-article.svelte-125elzf h4{color:var(--color-text-primary);margin-top:var(--space-6);margin-bottom:var(--space-3)}.section-article.svelte-125elzf h1:first-child,.section-article.svelte-125elzf h2:first-child,.section-article.svelte-125elzf h3:first-child{margin-top:0}.section-article.svelte-125elzf p{color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-4)}.section-article.svelte-125elzf ul,.section-article.svelte-125elzf ol{color:var(--color-text-secondary);padding-left:var(--space-6);margin-bottom:var(--space-4)}.section-article.svelte-125elzf li{margin-bottom:var(--space-2);line-height:var(--leading-relaxed)}.section-article.svelte-125elzf code{font-family:var(--font-mono);font-size:.9em;background-color:var(--color-bg-secondary);padding:2px 6px;border-radius:var(--radius-sm)}.section-article.svelte-125elzf pre{background-color:var(--color-bg-secondary);padding:var(--space-4);border-radius:var(--radius-md);overflow-x:auto;margin-bottom:var(--space-4)}.section-article.svelte-125elzf pre code{background:none;padding:0}.section-article.svelte-125elzf blockquote{border-left:3px solid var(--color-warning-500);padding-left:var(--space-4);margin:var(--space-4) 0;color:var(--color-text-secondary);font-style:italic}.section-article.svelte-125elzf hr{border:none;border-top:var(--border-width) solid var(--color-border-secondary);margin:var(--space-6) 0}.section-article.svelte-125elzf table{width:100%;border-collapse:collapse;margin-bottom:var(--space-4)}.section-article.svelte-125elzf th,.section-article.svelte-125elzf td{padding:var(--space-3);text-align:left;border-bottom:var(--border-width) solid var(--color-border-secondary)}.section-article.svelte-125elzf th{font-weight:var(--font-semibold);color:var(--color-text-primary);background-color:var(--color-bg-secondary)}.completion-section.svelte-125elzf{margin-top:var(--space-8);padding:var(--space-8);background-color:var(--color-bg-secondary);border:var(--border-width-2) solid var(--color-border-primary);border-radius:var(--radius-xl);text-align:center}.completion-section.completed.svelte-125elzf{background-color:var(--success-subtle-bg);border-color:var(--success-subtle-border)}.completion-icon.svelte-125elzf{display:flex;align-items:center;justify-content:center;color:var(--color-warning-500);margin-bottom:var(--space-4)}.completion-section.completed.svelte-125elzf .completion-icon:where(.svelte-125elzf){color:var(--color-success-500)}.completion-title.svelte-125elzf{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-text-primary);margin:0 0 var(--space-2) 0}.completion-text.svelte-125elzf{font-size:var(--text-base);color:var(--color-text-secondary);max-width:400px;margin:0 auto var(--space-6) auto}.complete-btn.svelte-125elzf{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border:none;border-radius:var(--radius-md);background-color:var(--color-success-500);color:#fff;font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--duration-150) var(--ease-out)}.complete-btn.svelte-125elzf:hover{background-color:var(--color-success-600)}.complete-btn.svelte-125elzf:focus-visible{outline:2px solid var(--color-success-500);outline-offset:2px}.complete-btn.completed.svelte-125elzf{background-color:var(--color-bg-primary);color:var(--color-success-600);border:var(--border-width-2) solid var(--color-success-500)}.complete-btn.completed.svelte-125elzf:hover{background-color:var(--color-success-50)}.lab-nav.svelte-125elzf{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);margin-top:var(--space-8);padding-top:var(--space-6);border-top:var(--border-width) solid var(--color-border-secondary)}.nav-link.svelte-125elzf{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--radius-md);background-color:var(--color-bg-primary);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);text-decoration:none;transition:all var(--duration-150) var(--ease-out)}.nav-link.svelte-125elzf:hover{border-color:var(--color-primary-300);color:var(--color-primary-600);text-decoration:none}.nav-link.svelte-125elzf:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}.completion-badge.svelte-125elzf{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background-color:var(--success-subtle-bg);color:var(--color-success-600);font-size:var(--text-sm);font-weight:var(--font-semibold);border-radius:var(--radius-full)}
