/* ========================================
   FAB PATH: LIGHT THEME

   Generated by tools/build-light-theme.mjs. Don't edit the generated
   part by hand: change the stylesheets (or the base block in the
   script) and run  node tools/build-light-theme.mjs  again.

   Applies when <html data-theme="light">, set by theme.js.
======================================== */

/* ---------- palette ---------- */

html[data-theme="light"] {
    color-scheme: light;
    --bg: #f4f6fb;
    --panel: #ffffff;
    --panel-light: #eef2f8;
    --text: #0f172a;
    --muted: #4b5671;
    --accent: #14b8a6;
    --accent-dark: #0d9488;
    --accent-text: #0f766e;
    --accent-soft: rgba(20, 184, 166, 0.14);
    --copper: #f59e0b;
    --copper-text: #b45309;
    --border: rgba(15, 23, 42, 0.12);
    --shadow: 0 14px 34px rgba(15, 23, 42, 0.08);
}

html[data-theme="light"] body {
    background:
        radial-gradient(circle at top right, rgba(20, 184, 166, 0.10), transparent 34%),
        radial-gradient(circle at bottom left, rgba(245, 158, 11, 0.06), transparent 30%),
        linear-gradient(rgba(15, 23, 42, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(15, 23, 42, 0.035) 1px, transparent 1px),
        linear-gradient(135deg, #f7f9fc, #eef2f8);
    background-size: auto, auto, 56px 56px, 56px 56px, auto;
}

/* ---------- diagrams, sims and labs stay dark ---------- */

html[data-theme="light"] .module-visual:not(.module-visual-text),
html[data-theme="light"] .lab-app {
    color-scheme: dark;
    --bg: #0b1020;
    --panel: #141a2e;
    --panel-light: #1b2340;
    --text: #f5f7ff;
    --muted: #aab3cf;
    --accent: #54e0c7;
    --accent-dark: #2ebfa5;
    --accent-text: #54e0c7;
    --accent-soft: rgba(84, 224, 199, 0.12);
    --copper: #ffb86b;
    --copper-text: #ffb86b;
    --border: rgba(255, 255, 255, 0.08);
    --shadow: 0 20px 50px rgba(0, 0, 0, 0.25);
    color: #f5f7ff;
}

html[data-theme="light"] .module-visual:not(.module-visual-text) {
    background:
        radial-gradient(circle at top right, rgba(84, 224, 199, 0.10), transparent 40%),
        linear-gradient(135deg, #0e1426, #141c33);
    border-color: rgba(15, 23, 42, 0.18);
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.12);
}

/* ---------- the light / dark switch (added by theme.js) ---------- */

.theme-toggle {
    display: inline-grid;
    place-items: center;
    width: 38px;
    height: 38px;
    flex: none;
    padding: 0;
    border: 1px solid var(--border);
    border-radius: 50%;
    background: transparent;
    color: var(--text);
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s;
}

.theme-toggle:hover {
    border-color: var(--accent);
}

.theme-toggle:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
}

.theme-toggle svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.theme-toggle .sun { display: none; }
html[data-theme="light"] .theme-toggle .sun { display: block; }
html[data-theme="light"] .theme-toggle .moon { display: none; }

/* ---------- from style.css ---------- */

html[data-theme="light"] body:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--text);
}

html[data-theme="light"] a:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: inherit;
}

html[data-theme="light"] .topbar:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: var(--bg);
    border-bottom: 1px solid var(--border);
}

html[data-theme="light"] .logo:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text);
}

html[data-theme="light"] nav a:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] nav a:hover:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--text);
}

html[data-theme="light"] .eyebrow:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text);
}

html[data-theme="light"] .hero h1 span:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text);
}

html[data-theme="light"] .hero-description:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .start-button:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: none;
    background: var(--accent);
    color: #08110f;
    box-shadow: 0 12px 30px rgba(84, 224, 199, 0.2);
}

html[data-theme="light"] .start-button:hover:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: var(--accent-dark);
}

html[data-theme="light"] .path-preview:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: linear-gradient(
        145deg,
        rgba(15, 23, 42, 0.057),
        rgba(15, 23, 42, 0.023)
    );
    border: 1px solid var(--border);
    box-shadow: var(--shadow);
}

html[data-theme="light"] .lesson-card:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 1px solid var(--border);
    background: var(--panel);
}

html[data-theme="light"] .lesson-card p:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .lesson-card.complete .lesson-icon:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: var(--accent);
    color: #07110f;
}

html[data-theme="light"] .lesson-card.current:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border-color: rgba(20, 184, 166, 0.54);
    background: var(--panel-light);
}

html[data-theme="light"] .lesson-card.current .lesson-icon:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: rgba(20, 184, 166, 0.182);
    color: var(--accent-text);
    border: 1px solid rgba(20, 184, 166, 0.54);
}

html[data-theme="light"] .lesson-card.locked .lesson-icon:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: rgba(15, 23, 42, 0.057);
}

html[data-theme="light"] .path-line:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: linear-gradient(
        to bottom,
        rgba(84, 224, 199, 0.55),
        rgba(15, 23, 42, 0.092)
    );
}

html[data-theme="light"] .active-nav:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text);
}

html[data-theme="light"] .user-stats:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .course-header > p:not(.eyebrow):not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .progress-track:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: rgba(15, 23, 42, 0.092);
}

html[data-theme="light"] .progress-fill:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: var(--accent);
}

html[data-theme="light"] .course-progress span:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .unit-banner:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: linear-gradient(
        135deg,
        rgba(20, 184, 166, 0.221),
        rgba(20, 184, 166, 0.052)
    );
    border: 1px solid rgba(20, 184, 166, 0.3);
}

html[data-theme="light"] .unit-banner span:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text);
}

html[data-theme="light"] .unit-banner p:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .node-circle:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 4px solid var(--panel-light);
    background: var(--panel);
}

html[data-theme="light"] .available .node-circle:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: var(--accent);
    color: #08110f;
    border-color: rgba(20, 184, 166, 0.3);
    box-shadow: 0 8px 0 var(--accent-dark),
        0 15px 35px rgba(84, 224, 199, 0.2);
}

html[data-theme="light"] .node-info:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: var(--panel);
    border: 1px solid var(--border);
}

html[data-theme="light"] .node-info span:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text);
}

html[data-theme="light"] .node-info p:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .vertical-path:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: rgba(15, 23, 42, 0.104);
}

html[data-theme="light"] .lesson-body:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: radial-gradient(
            circle at top center,
            rgba(20, 184, 166, 0.104),
            transparent 35%
        ),
        #f4f6fb;
}

html[data-theme="light"] .lesson-link:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: inherit;
}

html[data-theme="light"] .exit-lesson:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .exit-lesson:hover:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--text);
}

html[data-theme="light"] .lesson-progress-track:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: rgba(15, 23, 42, 0.092);
}

html[data-theme="light"] .lesson-progress-fill:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: var(--accent);
}

html[data-theme="light"] .lesson-xp:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text);
}

html[data-theme="light"] .question-number:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text);
}

html[data-theme="light"] .question-instruction:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .answer-button:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 2px solid rgba(15, 23, 42, 0.126);
    background: var(--panel);
    color: var(--text);
}

html[data-theme="light"] .answer-button:hover:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border-color: rgba(20, 184, 166, 0.48);
}

html[data-theme="light"] .answer-button.selected:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border-color: var(--accent);
    background: rgba(20, 184, 166, 0.117);
}

html[data-theme="light"] .answer-button.correct:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border-color: var(--accent);
    background: rgba(20, 184, 166, 0.208);
}

html[data-theme="light"] .answer-button.incorrect:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border-color: #ff6978;
    background: rgba(255, 105, 120, 0.14);
}

html[data-theme="light"] .lesson-footer:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border-top: 1px solid var(--border);
}

html[data-theme="light"] .feedback-message:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .check-button:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: none;
    background: var(--accent);
    color: #08110f;
}

html[data-theme="light"] .path-node.complete .node-circle:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: var(--accent);
    color: #08110f;
    border-color: rgba(20, 184, 166, 0.3);
    box-shadow: 0 6px 0 var(--accent-dark),
        0 12px 28px rgba(84, 224, 199, 0.18);
}

html[data-theme="light"] .path-node.complete .node-info:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border-color: rgba(20, 184, 166, 0.3);
}

html[data-theme="light"] .path-node.complete .node-info span:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text);
}

html[data-theme="light"] .practice-header > p:not(.eyebrow):not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .practice-card:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: var(--panel);
    border: 1px solid var(--border);
}

html[data-theme="light"] .practice-card:hover:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border-color: rgba(20, 184, 166, 0.36);
}

html[data-theme="light"] .practice-card span:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text);
}

html[data-theme="light"] .practice-card p:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .practice-button:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: none;
    background: var(--accent);
    color: #08110f;
}

html[data-theme="light"] .stat-card:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: var(--panel);
    border: 1px solid var(--border);
}

html[data-theme="light"] .stat-card h2:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text);
}

html[data-theme="light"] .stat-card p:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .module-shell:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: var(--panel);
    border: 1px solid var(--border);
    box-shadow: var(--shadow);
}

html[data-theme="light"] .module-top:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border-bottom: 1px solid var(--border);
}

html[data-theme="light"] .module-exit:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] button.module-exit:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: none;
    border: none;
}

html[data-theme="light"] .module-exit:hover:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--text);
}

html[data-theme="light"] .module-progress-track:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: var(--panel-light);
}

html[data-theme="light"] .module-progress-fill:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: var(--accent);
}

html[data-theme="light"] .module-progress-area span:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .module-slide > p:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .module-lead:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--text) !important;
}

html[data-theme="light"] .module-visual:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 1px solid var(--border);
    background: radial-gradient(
            circle at center,
            rgba(20, 184, 166, 0.195),
            transparent 65%
        );
}

html[data-theme="light"] .module-takeaway:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: rgba(20, 184, 166, 0.104);
    border: 1px solid rgba(20, 184, 166, 0.24);
}

html[data-theme="light"] .module-takeaway strong:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text);
}

html[data-theme="light"] .module-card:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 1px solid var(--border);
    background: var(--panel-light);
}

html[data-theme="light"] .module-card p:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .module-card strong:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text);
}

html[data-theme="light"] .scale-row:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 1px solid var(--border);
    background: var(--panel-light);
}

html[data-theme="light"] .scale-row span:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text);
}

html[data-theme="light"] .module-controls:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border-top: 1px solid var(--border);
}

html[data-theme="light"] .module-nav-button:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: none;
    background: var(--accent);
    color: #08110f;
}

html[data-theme="light"] .module-nav-button:hover:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: var(--accent-dark);
}

html[data-theme="light"] .module-nav-button.secondary-button:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: var(--panel-light);
    color: var(--text);
    border: 1px solid var(--border);
}

html[data-theme="light"] .complete-study-button:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: none;
    background: var(--accent);
    color: #08110f;
}

html[data-theme="light"] .complete-study-button:hover:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: var(--accent-dark);
}

html[data-theme="light"] .games-header p:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .game-hub-card:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 1px solid var(--border);
    background: var(--panel);
}

html[data-theme="light"] .game-hub-card.playable:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border-color: rgba(255, 181, 69, 0.35);
    background: linear-gradient(
            135deg,
            rgba(255, 181, 69, 0.14),
            rgba(255, 181, 69, 0.028)
        );
}

html[data-theme="light"] .game-hub-card.playable .game-hub-badge:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: #2a1400;
    background: linear-gradient(135deg, #ffd166, #f77f00);
}

html[data-theme="light"] .game-hub-card.locked .game-hub-badge:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
    background: var(--panel-light);
    border: 1px solid var(--border);
}

html[data-theme="light"] .game-hub-card.coming-soon .game-hub-badge:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
    background: var(--panel-light);
    border: 1px solid var(--border);
}

html[data-theme="light"] .game-hub-card p:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .game-hub-card.playable .game-hub-cta:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: var(--accent);
    color: #08110f;
}

html[data-theme="light"] .game-hub-card.locked .game-hub-cta:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *),
html[data-theme="light"] .game-hub-card.coming-soon .game-hub-cta:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: var(--panel-light);
    color: var(--muted);
    border: 1px solid var(--border);
}

html[data-theme="light"] .game-shell:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: var(--panel);
    border: 1px solid var(--border);
    box-shadow: var(--shadow);
}

html[data-theme="light"] .game-top:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border-bottom: 1px solid var(--border);
}

html[data-theme="light"] .game-badge:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text);
    background: rgba(20, 184, 166, 0.13);
    border: 1px solid rgba(20, 184, 166, 0.3);
}

html[data-theme="light"] .game-lead:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .ordered-slot:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 2px dashed var(--border);
    background: rgba(15, 23, 42, 0.023);
}

html[data-theme="light"] .ordered-slot-rank:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .ordered-slot-placeholder:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .ordered-slot.filled:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 2px solid var(--accent);
    background: rgba(20, 184, 166, 0.13);
}

html[data-theme="light"] .ordered-slot-size:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text);
}

html[data-theme="light"] .game-tile:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 2px solid rgba(15, 23, 42, 0.126);
    background: var(--panel-light);
    color: var(--text);
}

html[data-theme="light"] .game-tile:hover:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border-color: rgba(20, 184, 166, 0.48);
}

html[data-theme="light"] .game-tile.wrong:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border-color: #ff6978;
    background: rgba(255, 105, 120, 0.168);
}

html[data-theme="light"] .game-feedback:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .game-complete-xp:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text);
}

html[data-theme="light"] .game-complete-lead:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .game-recap-row:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 1px solid var(--border);
    background: var(--panel-light);
}

html[data-theme="light"] .game-recap-size:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text);
}

html[data-theme="light"] .equipment-card:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 1px solid var(--border);
    background: radial-gradient(
            circle at center,
            rgba(20, 184, 166, 0.13),
            transparent 65%
        );
}

html[data-theme="light"] .equipment-desc:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .category-button:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 2px solid rgba(15, 23, 42, 0.126);
    background: var(--panel-light);
    color: var(--text);
}

html[data-theme="light"] .category-button:hover:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border-color: rgba(20, 184, 166, 0.48);
}

html[data-theme="light"] .category-button.correct:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border-color: var(--accent);
    background: rgba(20, 184, 166, 0.208);
}

html[data-theme="light"] .category-button.wrong:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border-color: #ff6978;
    background: rgba(255, 105, 120, 0.168);
}

html[data-theme="light"] .recap-category-title:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text);
}

html[data-theme="light"] .stack-visual:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 1px solid var(--border);
}

html[data-theme="light"] .stack-layer.sacrificial:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border-top: 1px dashed rgba(170, 179, 207, 0.5);
    border-bottom: 1px dashed rgba(170, 179, 207, 0.5);
}

html[data-theme="light"] .stack-substrate:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: var(--panel-light);
    border-top: 1px solid var(--border);
    color: var(--muted);
}

html[data-theme="light"] .process-log-row:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 1px solid rgba(20, 184, 166, 0.3);
    background: rgba(20, 184, 166, 0.091);
}

html[data-theme="light"] .process-log-row.deposit-row:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border-color: var(--border);
    background: var(--panel-light);
}

html[data-theme="light"] .process-log-check:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text);
}

html[data-theme="light"] .process-log-mask:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text);
}

html[data-theme="light"] .process-log-row.deposit-row .process-log-mask:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .process-log-empty:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .game-tile.pattern-tile:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border-color: rgba(20, 184, 166, 0.36);
}

html[data-theme="light"] .game-tile-tag:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text);
}

html[data-theme="light"] .recap-section-title:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text);
}

html[data-theme="light"] .release-button:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: linear-gradient(135deg, #ffd166, #f77f00);
    color: #2a1400;
}

html[data-theme="light"] .release-caption:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .plate:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: linear-gradient(135deg, #ffd166, #f77f00);
    box-shadow: 0 6px 16px rgba(247, 127, 0, 0.25);
}

html[data-theme="light"] .gap-label:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
    background: var(--panel);
}

html[data-theme="light"] .lab-readout-label:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .lab-readout-value:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text);
}

html[data-theme="light"] .force-meter-track:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: var(--panel-light);
}

html[data-theme="light"] .force-meter-fill:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: linear-gradient(90deg, var(--accent), #ffd166, #f77f00);
}

html[data-theme="light"] .force-meter-target:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: var(--text);
}

html[data-theme="light"] .target-badge:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text);
    background: rgba(20, 184, 166, 0.13);
    border: 1px solid rgba(20, 184, 166, 0.3);
}

html[data-theme="light"] .slider-value:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text);
}

html[data-theme="light"] .slider-row input[type="range"]:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: var(--panel-light);
    outline: none;
}

html[data-theme="light"] .slider-row input[type="range"]:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *)::-webkit-slider-thumb {
    background: var(--accent);
    border: 4px solid #d8dee9;
}

html[data-theme="light"] .slider-row input[type="range"]:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *)::-moz-range-thumb {
    border: none;
    background: var(--accent);
}

html[data-theme="light"] .formula-recap:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 1px solid rgba(20, 184, 166, 0.24);
    background: rgba(20, 184, 166, 0.078);
}

html[data-theme="light"] .formula-recap-formula:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text);
}

html[data-theme="light"] .formula-recap-text:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .accel-readout-box:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 1px solid rgba(20, 184, 166, 0.24);
    background: rgba(20, 184, 166, 0.078);
}

html[data-theme="light"] .accel-readout-label:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .accel-readout-value:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text);
}

html[data-theme="light"] .device-phase-header:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 1px solid rgba(20, 184, 166, 0.3);
    background: rgba(20, 184, 166, 0.091);
}

html[data-theme="light"] .device-phase-label:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text);
}

html[data-theme="light"] .build-zone:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 2px dashed var(--border);
}

html[data-theme="light"] .build-zone-empty:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .build-part:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 1px solid var(--accent);
    background: rgba(20, 184, 166, 0.156);
}

html[data-theme="light"] .phase-complete-panel:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 1px solid rgba(255, 209, 102, 0.3);
    background: linear-gradient(
            135deg,
            rgba(255, 209, 102, 0.14),
            rgba(247, 127, 0, 0.042)
        );
}

html[data-theme="light"] .phase-complete-blurb:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .game-tile.hint:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(84, 224, 199, 0.25);
}

html[data-theme="light"] .sc-round-title:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text);
}

html[data-theme="light"] .sc-round-lead:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .sc-plot .sc-axis:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *),
html[data-theme="light"] .sc-figure .sc-axis:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    stroke: var(--muted);
}

html[data-theme="light"] .sc-plot .sc-axis-label:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *),
html[data-theme="light"] .sc-figure .sc-axis-label:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    fill: var(--muted);
}

html[data-theme="light"] .sc-zone ellipse:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    fill: rgba(15, 118, 110, 0.1);
    stroke: rgba(15, 118, 110, 0.5);
}

html[data-theme="light"] .sc-zone:hover ellipse:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    fill: rgba(15, 118, 110, 0.24);
}

html[data-theme="light"] .sc-zone text:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    fill: var(--text);
}

html[data-theme="light"] .sc-zone.correct ellipse:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    fill: rgba(15, 118, 110, 0.35);
    stroke: var(--accent-text);
}

html[data-theme="light"] .sc-zone.wrong ellipse:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    fill: rgba(170, 14, 29, 0.25);
    stroke: #aa0e1d;
}

html[data-theme="light"] .sc-dots circle:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    fill: var(--accent-text);
    stroke: #08110f;
}

html[data-theme="light"] .sc-note:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .sc-figure-wrap:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 1px solid var(--border);
    background: rgba(15, 23, 42, 0.023);
}

html[data-theme="light"] .sc-figure .sc-curve:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *),
html[data-theme="light"] .sc-size-chart .sc-curve:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    fill: none;
    stroke: var(--accent-text);
}

html[data-theme="light"] .sc-figure .sc-curve-fail:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *),
html[data-theme="light"] .sc-size-chart .sc-curve-fail:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    stroke: #aa0e1d;
}

html[data-theme="light"] .sc-size-card:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 1px solid var(--border);
    background: radial-gradient(
            circle at center,
            rgba(20, 184, 166, 0.13),
            transparent 65%
        );
}

html[data-theme="light"] .sc-size-text:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .sc-size-spec span:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 1px solid var(--border);
    color: var(--muted);
}

html[data-theme="light"] .sc-size-spec strong:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--text);
}

html[data-theme="light"] .sc-size-chart .sc-axis:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    stroke: var(--muted);
}

html[data-theme="light"] .sc-size-chart .sc-axis-label:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    fill: var(--muted);
}

html[data-theme="light"] .sc-size-chart .sc-limit:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    stroke: #aa0e1d;
}

html[data-theme="light"] .sc-size-chart .sc-need:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    stroke: var(--muted);
}

html[data-theme="light"] .sc-size-chart .sc-limit-label:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    fill: var(--muted);
}

html[data-theme="light"] .sc-size-chart .sc-fail-dot:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    fill: #aa0e1d;
}

html[data-theme="light"] .sc-size-result:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 1px solid var(--border);
    color: var(--muted);
}

html[data-theme="light"] .sc-size-result.pass:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border-color: rgba(20, 184, 166, 0.6);
    background: rgba(20, 184, 166, 0.104);
    color: var(--text);
}

html[data-theme="light"] .sc-size-result.fail:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border-color: rgba(255, 105, 120, 0.5);
    background: rgba(255, 105, 120, 0.112);
    color: var(--text);
}

html[data-theme="light"] .sc-hub-done:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text);
}

html[data-theme="light"] .fd-label:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    fill: var(--text);
}

html[data-theme="light"] .fd-sub:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    fill: var(--muted);
}

html[data-theme="light"] .fd-accent:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    fill: var(--accent-text);
}

html[data-theme="light"] .fd-p:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    fill: rgba(75, 86, 113, 0.14);
    stroke: rgba(75, 86, 113, 0.5);
}

html[data-theme="light"] .fd-n:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    fill: rgba(15, 118, 110, 0.26);
    stroke: var(--accent-text);
}

html[data-theme="light"] .fd-ox:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    fill: rgba(170, 128, 14, 0.28);
    stroke: #aa800e;
}

html[data-theme="light"] .fd-metal:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    fill: rgba(15, 23, 42, 0.22);
    stroke: var(--text);
}

html[data-theme="light"] .fd-depl:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    fill: rgba(170, 14, 29, 0.14);
    stroke: rgba(170, 14, 29, 0.55);
}

html[data-theme="light"] .fd-channel:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    stroke: var(--accent-text);
}

html[data-theme="light"] .fd-axis:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    stroke: var(--muted);
    fill: none;
}

html[data-theme="light"] .fd-grid:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    stroke: rgba(15, 23, 42, 0.07);
}

html[data-theme="light"] .fd-curve:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    fill: none;
    stroke: var(--accent-text);
}

html[data-theme="light"] .fd-curve-alt:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    fill: none;
    stroke: #aa800e;
}

html[data-theme="light"] .fd-dash:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    fill: none;
    stroke: var(--muted);
}

html[data-theme="light"] .fd-hole:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    fill: #aa800e;
}

html[data-theme="light"] .fd-electron:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    fill: var(--accent-text);
}

html[data-theme="light"] .fd-ion:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    fill: #aa0e1d;
}

html[data-theme="light"] .fd-arrow:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    fill: var(--text);
}

html[data-theme="light"] body:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background-size: auto, auto, 56px 56px, 56px 56px, auto;
}

html[data-theme="light"] .logo:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *)::before {
    background: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 32 32%22%3E%3Ccircle cx=%2216%22 cy=%2216%22 r=%2212.2%22 fill=%22%23141a2e%22 stroke=%22%2354e0c7%22 stroke-width=%221.7%22/%3E%3CclipPath id=%22w%22%3E%3Ccircle cx=%2216%22 cy=%2216%22 r=%2211.3%22/%3E%3C/clipPath%3E%3Cg clip-path=%22url(%23w)%22 stroke=%22%2354e0c7%22 stroke-opacity=%22.4%22 stroke-width=%22.85%22%3E%3Cpath d=%22M11 3V29M16 3V29M21 3V29M3 11H29M3 16H29M3 21H29%22/%3E%3C/g%3E%3Crect x=%2216.5%22 y=%2211.5%22 width=%224%22 height=%224%22 rx=%22.6%22 fill=%22%2354e0c7%22/%3E%3C/svg%3E") center / contain no-repeat;
}

html[data-theme="light"] .game-hub-card.playable:hover:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border-color: rgba(20, 184, 166, 0.6);
    box-shadow: 0 18px 44px rgba(15, 23, 42, 0.122);
}

html[data-theme="light"] .ic:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    fill: none;
    stroke: currentColor;
}

html[data-theme="light"] .hm-kicker:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text);
    background: var(--accent-soft);
    border: 1px solid rgba(20, 184, 166, 0.36);
}

html[data-theme="light"] .hm-dot:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: var(--accent);
    box-shadow: 0 0 0 4px rgba(84, 224, 199, 0.18);
}

html[data-theme="light"] .hm-hero h1 span:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: linear-gradient(90deg, var(--accent), #9ef2e2 55%, var(--copper));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

html[data-theme="light"] .hm-lead:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .hm-ghost:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 1px solid rgba(15, 23, 42, 0.28);
    color: var(--text);
}

html[data-theme="light"] .hm-ghost:hover:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border-color: rgba(20, 184, 166, 0.72);
    background: rgba(20, 184, 166, 0.091);
}

html[data-theme="light"] .hm-chips li:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
    border: 1px solid var(--border);
    background: rgba(15, 23, 42, 0.034);
}

html[data-theme="light"] .hm-chips strong:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--text);
}

html[data-theme="light"] .hm-wafer:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    filter: drop-shadow(0 30px 60px rgba(84, 224, 199, 0.14));
}

html[data-theme="light"] .hm-wafer .die:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    fill: rgba(15, 118, 110, 0.1);
    stroke: rgba(15, 118, 110, 0.38);
}

html[data-theme="light"] .hm-wafer .die.bad:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    fill: rgba(170, 95, 14, 0.18);
    stroke: rgba(170, 95, 14, 0.6);
}

html[data-theme="light"] .hm-wafer .scan rect:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    fill: var(--accent-text);
    filter: drop-shadow(0 0 6px rgba(84, 224, 199, 0.9));
}

html[data-theme="light"] .hm-art-caption:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .hm-art-caption span:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--copper-text);
}

html[data-theme="light"] .hm-section-head p:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .hm-card:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: var(--panel);
    border: 1px solid var(--border);
}

html[data-theme="light"] .hm-card p:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .hm-icon:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text);
    background: var(--accent-soft);
    border: 1px solid rgba(20, 184, 166, 0.336);
}

html[data-theme="light"] .hm-step-num:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--copper-text);
}

html[data-theme="light"] .hm-topics li:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--text);
    border: 1px solid rgba(20, 184, 166, 0.336);
    background: rgba(20, 184, 166, 0.078);
}

html[data-theme="light"] .hm-role:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: var(--panel);
    border: 1px solid var(--border);
}

html[data-theme="light"] .hm-role:hover:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border-color: rgba(20, 184, 166, 0.6);
}

html[data-theme="light"] .hm-role p:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .hm-more a:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text);
}

html[data-theme="light"] .site-footer:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border-top: 1px solid var(--border);
    background: rgba(255, 255, 255, 0.85);
}

html[data-theme="light"] .sf-brand .logo:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text);
}

html[data-theme="light"] .sf-brand p:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .sf-links a:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .sf-links a:hover:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--text);
}

html[data-theme="light"] .sf-legal:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
    border-top: 1px solid var(--border);
}

html[data-theme="light"] .pg-hero h1 span:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text);
}

html[data-theme="light"] .pg-hero p.pg-lead:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .pg-body p:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *),
html[data-theme="light"] .pg-body li:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .pg-body strong:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--text);
}

html[data-theme="light"] .pg-note:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 1px solid rgba(255, 184, 107, 0.3);
    background: rgba(255, 184, 107, 0.084);
}

html[data-theme="light"] .pg-note p:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--text);
}

html[data-theme="light"] .cr-card:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: var(--panel);
    border: 1px solid var(--border);
}

html[data-theme="light"] .cr-card:target:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border-color: rgba(20, 184, 166, 0.72);
    box-shadow: 0 0 0 4px rgba(84, 224, 199, 0.1);
}

html[data-theme="light"] .cr-card p:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .cr-label:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text);
}

html[data-theme="light"] .cr-learn a:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 1px solid var(--border);
    background: rgba(15, 23, 42, 0.034);
}

html[data-theme="light"] .cr-learn a:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *)::after {
    color: var(--accent-text);
}

html[data-theme="light"] .cr-learn a:hover:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border-color: rgba(20, 184, 166, 0.66);
    background: rgba(20, 184, 166, 0.091);
}

html[data-theme="light"] .hm-card .hm-step-num:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--copper-text);
}

html[data-theme="light"] .games-header .eyebrow:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *),
html[data-theme="light"] .progress-header .eyebrow:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text);
}

html[data-theme="light"] .cr-card .cr-label:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text);
}

html[data-theme="light"] .fd-melt:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    fill: rgba(170, 95, 14, 0.35);
    stroke: #aa5f0e;
}

html[data-theme="light"] .fd-crystal:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    fill: rgba(15, 118, 110, 0.16);
    stroke: var(--accent-text);
}

html[data-theme="light"] .fd-lost:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    fill: rgba(170, 95, 14, 0.14);
    stroke: rgba(170, 95, 14, 0.7);
}

html[data-theme="light"] .account-button:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 1px solid var(--border);
    background: var(--panel-light);
    color: var(--text);
}

html[data-theme="light"] .account-button:hover:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border-color: var(--accent);
    color: var(--accent-text);
}

html[data-theme="light"] .account-button.signed-in:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border-color: rgba(20, 184, 166, 0.48);
    color: var(--accent-text);
}

html[data-theme="light"] .account-overlay:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: rgba(6, 9, 18, 0.72);
}

html[data-theme="light"] .account-modal:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: var(--panel);
    border: 1px solid var(--border);
    box-shadow: var(--shadow);
}

html[data-theme="light"] .account-modal p:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *),
html[data-theme="light"] .cert-modal p:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .account-modal strong:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *),
html[data-theme="light"] .cert-modal strong:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--text);
}

html[data-theme="light"] .account-modal-close:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: none;
    background: none;
    color: var(--muted);
}

html[data-theme="light"] .account-modal-close:hover:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--text);
}

html[data-theme="light"] .cert-modal:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: var(--panel);
    border: 1px solid var(--border);
    box-shadow: var(--shadow);
}

html[data-theme="light"] .cert-canvas-preview:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 1px solid var(--border);
}

html[data-theme="light"] .cert-native-hint:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .cert-view-link:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text);
}

html[data-theme="light"] .account-input:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 1px solid var(--border);
    background: var(--panel-light);
    color: var(--text);
}

html[data-theme="light"] .account-input:focus:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    outline: none;
    border-color: var(--accent);
}

html[data-theme="light"] .account-link:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: none;
    background: none;
    color: var(--muted);
}

html[data-theme="light"] .account-link:hover:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--text);
}

html[data-theme="light"] .account-danger-link:hover:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: #aa0e1d;
}

html[data-theme="light"] .account-danger:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: #ff6978;
    color: #1a0509;
}

html[data-theme="light"] #fabStepAuth .account-hint:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .account-hint a:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text);
}

html[data-theme="light"] .account-error:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: #aa0e1d;
}

html[data-theme="light"] .src-list em:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--text);
}

html[data-theme="light"] .src-tag:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: rgba(20, 184, 166, 0.156);
    color: var(--accent-text);
}

html[data-theme="light"] .pg-body a:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text);
}

html[data-theme="light"] .pg-body .start-button:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: #08110f;
}

html[data-theme="light"] .pg-body h3.src-sub:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--text);
}

html[data-theme="light"] .module-credit:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

/* ---------- from lab.css ---------- */

html[data-theme="light"] .lab-rail-btn:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 1px solid var(--border);
    background: var(--panel);
    color: var(--muted);
}

html[data-theme="light"] .lab-rail-btn:hover:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--text);
}

html[data-theme="light"] .lab-rail-btn:focus-visible:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *),
html[data-theme="light"] .lab-card:focus-visible:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *),
html[data-theme="light"] .lab-btn:focus-visible:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *),
html[data-theme="light"] .lab-hist:focus-visible:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
}

html[data-theme="light"] .lab-rail-num:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: var(--panel-light);
}

html[data-theme="light"] .lab-rail-btn.done .lab-rail-num:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: rgba(20, 184, 166, 0.26);
    color: var(--accent-text);
}

html[data-theme="light"] .lab-rail-btn.active:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--text);
    border-color: var(--accent);
    background: var(--panel-light);
}

html[data-theme="light"] .lab-rail-btn.active .lab-rail-num:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: var(--accent);
    color: #06201b;
}

html[data-theme="light"] .lab-panel:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: var(--panel);
    border: 1px solid var(--border);
    box-shadow: var(--shadow);
}

html[data-theme="light"] .lab-lead:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .lab-lead strong:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--text);
}

html[data-theme="light"] .lab-card:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 1px solid var(--border);
    background: rgba(15, 23, 42, 0.034);
    color: var(--text);
}

html[data-theme="light"] .lab-card span:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .lab-card em:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text);
}

html[data-theme="light"] .lab-card:hover:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border-color: rgba(20, 184, 166, 0.6);
}

html[data-theme="light"] .lab-card.active:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border-color: var(--accent);
    background: rgba(20, 184, 166, 0.117);
}

html[data-theme="light"] .lab-value:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text);
}

html[data-theme="light"] .lab-hint:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .lab-hint strong:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--text);
}

html[data-theme="light"] .lab-text:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *),
html[data-theme="light"] .lab-select:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *),
html[data-theme="light"] .lab-name:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 1px solid var(--border);
    background: var(--bg);
    color: var(--text);
}

html[data-theme="light"] .lab-text:focus-visible:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *),
html[data-theme="light"] .lab-select:focus-visible:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *),
html[data-theme="light"] .lab-name:focus-visible:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    outline: 2px solid var(--accent);
    outline-offset: 1px;
}

html[data-theme="light"] .lab-check:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .lab-check strong:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--text);
}

html[data-theme="light"] .lab-preview canvas:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *),
html[data-theme="light"] .lab-results canvas:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *),
html[data-theme="light"] .lab-charts canvas:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 1px solid var(--border);
    background: #f4f6fb;
}

html[data-theme="light"] .lab-cap:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .lab-how:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: rgba(15, 23, 42, 0.034);
    border: 1px solid var(--border);
}

html[data-theme="light"] .lab-how ol:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .lab-report:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: rgba(15, 23, 42, 0.034);
    border: 1px solid var(--border);
}

html[data-theme="light"] .lab-row:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border-bottom: 1px solid var(--border);
}

html[data-theme="light"] .lab-row span:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .lab-note.ok:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: #22957d;
    background: rgba(20, 184, 166, 0.104);
}

html[data-theme="light"] .lab-note.warn:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: #aa640e;
    background: rgba(255, 184, 107, 0.14);
    border: 1px solid rgba(255, 184, 107, 0.25);
}

html[data-theme="light"] .lab-btn.ghost:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: transparent;
    color: var(--text);
    border: 1px solid var(--border);
}

html[data-theme="light"] .lab-btn.ghost:hover:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border-color: var(--accent);
}

html[data-theme="light"] .lab-btn.small:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: var(--panel-light);
    color: var(--text);
    border: 1px solid var(--border);
}

html[data-theme="light"] .lab-btn.small.ghost:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: transparent;
}

html[data-theme="light"] .lab-batch:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: rgba(15, 23, 42, 0.034);
    border: 1px solid var(--border);
}

html[data-theme="light"] .lab-batch-body p:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .lab-hist:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 1px solid var(--border);
    background: rgba(15, 23, 42, 0.034);
    color: var(--text);
}

html[data-theme="light"] .lab-hist span:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .lab-hist.active:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border-color: var(--accent);
}

html[data-theme="light"] .lab-table th:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *),
html[data-theme="light"] .lab-table td:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 1px solid var(--border);
}

html[data-theme="light"] .lab-table thead th:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: var(--panel-light);
}

html[data-theme="light"] .lab-pick:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 1px solid var(--border);
}

html[data-theme="light"] .lab-obs:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .lab-check-list:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .lab-check-list li.done:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text);
}

html[data-theme="light"] .lab-toast:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: var(--panel-light);
    border: 1px solid var(--accent);
    color: var(--text);
}

@media print {
    html[data-theme="light"] body:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
        color: #161a26 !important;
    }
    html[data-theme="light"] .lab-page:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *),
    html[data-theme="light"] .lab-panel:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
        border: 0 !important;
        box-shadow: none !important;
        background: #ffffff !important;
    }
    html[data-theme="light"] .lab-panel *:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *),
    html[data-theme="light"] .lab-lead:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
        color: #161a26 !important;
    }
    html[data-theme="light"] .lab-charts canvas:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
        border-color: #d8dee9 !important;
    }
}

html[data-theme="light"] .lab-cta:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 1px solid rgba(20, 184, 166, 0.42);
    background: radial-gradient(circle at top right, rgba(20, 184, 166, 0.208), transparent 55%),
        var(--panel);
}

html[data-theme="light"] .lab-cta p:not(.eyebrow):not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

/* ---------- from lab-editor.css ---------- */

html[data-theme="light"] .ed-bar:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: var(--panel-light);
    border: 1px solid var(--border);
    border-bottom: 0;
}

html[data-theme="light"] .ed-tool:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 1px solid transparent;
    background: transparent;
    color: var(--text);
}

html[data-theme="light"] .ed-tool:hover:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: rgba(15, 23, 42, 0.081);
}

html[data-theme="light"] .ed-tool[aria-pressed="true"]:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: rgba(20, 184, 166, 0.208);
    border-color: var(--accent);
    color: var(--accent-text);
}

html[data-theme="light"] .ed-tool:focus-visible:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *),
html[data-theme="light"] .ed-mini:focus-visible:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *),
html[data-theme="light"] .ed-eye:focus-visible:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *),
html[data-theme="light"] .ed-layer-name:focus-visible:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *),
html[data-theme="light"] .ed-canvas:focus-visible:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
}

html[data-theme="light"] .ed-sep:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: var(--border);
}

html[data-theme="light"] .ed-opt:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .ed-num:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 1px solid var(--border);
    background: var(--bg);
    color: var(--text);
}

html[data-theme="light"] .ed-stage:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 1px solid var(--border);
    background: #f4f6fb;
}

html[data-theme="light"] .ed-canvas:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    outline-offset: -2px;
}

html[data-theme="light"] .ed-status:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: rgba(255, 255, 255, 0.95);
    color: var(--muted);
}

html[data-theme="light"] .ed-hint:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .ed-card:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: rgba(15, 23, 42, 0.034);
    border: 1px solid var(--border);
}

html[data-theme="light"] .ed-card h4:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text);
}

html[data-theme="light"] .ed-layer:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 1px solid var(--border);
    background: rgba(15, 23, 42, 0.023);
}

html[data-theme="light"] .ed-layer.active:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border-color: var(--accent);
    background: rgba(20, 184, 166, 0.104);
}

html[data-theme="light"] .ed-eye:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 0;
    background: transparent;
}

html[data-theme="light"] .ed-layer-name:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 0;
    background: transparent;
    color: var(--text);
}

html[data-theme="light"] .ed-layer-name span:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .ed-select:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *),
html[data-theme="light"] .ed-text:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 1px solid var(--border);
    background: var(--bg);
    color: var(--text);
}

html[data-theme="light"] .ed-field:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .ed-mini:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 1px solid var(--border);
    background: var(--panel-light);
    color: var(--text);
}

html[data-theme="light"] .ed-mini:hover:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border-color: var(--accent);
}

html[data-theme="light"] .ed-mini.danger:hover:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border-color: #ff7a90;
    color: #aa0e25;
}

html[data-theme="light"] .ed-kv:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border-bottom: 1px solid var(--border);
}

html[data-theme="light"] .ed-kv span:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .ed-kv.warn strong:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: #aa5f0e;
}

html[data-theme="light"] .ed-kv.ok strong:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text);
}

html[data-theme="light"] .ed-muted:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .ed-warn:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: #aa640e;
    background: rgba(255, 184, 107, 0.14);
}

html[data-theme="light"] .ed-err:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: #aa0e23;
    background: rgba(255, 105, 120, 0.14);
}

html[data-theme="light"] .ed-array:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border-top: 1px solid var(--border);
}

html[data-theme="light"] .ed-fingers summary:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text);
}

html[data-theme="light"] .lab-batch.current:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border-color: var(--accent);
}

html[data-theme="light"] .lab-micro canvas:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 1px solid var(--border);
}

html[data-theme="light"] .lab-legend:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .lab-layer-card:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 1px solid var(--border);
    background: rgba(15, 23, 42, 0.029);
}

html[data-theme="light"] .lab-muted:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .lab-badge:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: var(--panel-light);
}

html[data-theme="light"] .lab-badge.good:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text);
}

html[data-theme="light"] .lab-badge.mid:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: #aa640e;
}

html[data-theme="light"] .lab-badge.bad:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: #aa0e23;
}

html[data-theme="light"] .lab-seg-btn:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 1px solid var(--border);
    background: transparent;
    color: var(--text);
}

html[data-theme="light"] .lab-seg-btn.active:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border-color: var(--accent);
    background: rgba(20, 184, 166, 0.13);
    color: var(--accent-text);
}

html[data-theme="light"] .lab-step-line:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .ed-export-btn span:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted);
}

html[data-theme="light"] .ed-export-btn.primary:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border-color: rgba(20, 184, 166, 0.54);
    background: rgba(20, 184, 166, 0.104);
}

html[data-theme="light"] .ed-tool.ed-cut-on:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border-color: #ff8aa8;
    color: #aa0e31;
    background: rgba(255, 138, 168, 0.168);
}

html[data-theme="light"] .ed-check:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--text);
}

html[data-theme="light"] .ed-dim-input:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 2px solid #ffd36b;
    background: #f4f6fb;
    color: #aa7b0e;
    box-shadow: 0 6px 20px rgba(15, 23, 42, 0.158);
}

html[data-theme="light"] .ed-dim-input:focus:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    outline: none;
}

/* ---------- from chip-lab.css ---------- */

html[data-theme="light"] .cl-canvas-wrap:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.112);
}

html[data-theme="light"] .cl-status:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--lab-muted, #4b5671);
}

html[data-theme="light"] .cl-dot:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 1px solid rgba(15, 23, 42, 0.35);
}

html[data-theme="light"] .cl-check small:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--lab-muted, #4b5671);
}

html[data-theme="light"] .cl-bar-track:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: rgba(15, 23, 42, 0.081);
}

html[data-theme="light"] .cl-bar-fill:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: linear-gradient(90deg, #54e0c7, #4a9eff);
}

html[data-theme="light"] .cl-stack:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 1px solid rgba(15, 23, 42, 0.168);
}

html[data-theme="light"] .cl-seg em:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: #0b1020;
}

html[data-theme="light"] .cl-seg.wafer:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: #54e0c7;
}

html[data-theme="light"] .cl-seg.polish:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: #8aa4ff;
}

html[data-theme="light"] .cl-seg.kerf:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: #e0a070;
}

@media (min-width: 900px) and (min-height: 820px) {
    html[data-theme="light"] .cl-sticky:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
        background: var(--panel);
        box-shadow: 0 8px 18px rgba(15, 23, 42, 0.193);
    }
}

/* ---------- from lab-anim.css ---------- */

html[data-theme="light"] .la-canvas-wrap:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.112);
}

html[data-theme="light"] .la-status:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--lab-muted, #4b5671);
}

html[data-theme="light"] .la-chip:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 1px solid rgba(15, 23, 42, 0.252);
    background: rgba(15, 23, 42, 0.057);
    color: inherit;
}

@media (min-width: 900px) and (min-height: 820px) {
    html[data-theme="light"] .la-sticky:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
        background: var(--panel);
        box-shadow: 0 8px 18px rgba(15, 23, 42, 0.193);
    }
}

/* ---------- from styles injected by native-app.js ---------- */

html[data-theme="light"] .fab-tabbar:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: #ffffff;
    border-top: 1px solid rgba(15, 23, 42, 0.168);
}

html[data-theme="light"] .fab-tab:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 0;
    background: none;
    color: var(--muted, #4b5671);
}

html[data-theme="light"] .fab-tab svg:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    fill: none;
    stroke: currentColor;
}

html[data-theme="light"] .fab-tab.on:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text, #0f766e);
}

html[data-theme="light"] .fab-sheet-bg:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: rgba(0, 0, 0, 0.55);
}

html[data-theme="light"] .fab-sheet:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: #f4f6fb;
    color: var(--text, #0f172a);
    border: 1px solid rgba(15, 23, 42, 0.168);
    border-bottom: 0;
}

html[data-theme="light"] .fab-sheet .sub:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted, #4b5671);
}

html[data-theme="light"] .fab-row:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border-top: 1px solid rgba(15, 23, 42, 0.126);
}

html[data-theme="light"] .fab-row small:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted, #4b5671);
}

html[data-theme="light"] .fab-switch span:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: rgba(15, 23, 42, 0.207);
}

html[data-theme="light"] .fab-switch span:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *)::after {
    background: #ffffff;
}

html[data-theme="light"] .fab-switch input:checked + span:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: var(--accent, #54e0c7);
}

html[data-theme="light"] .fab-time:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: rgba(15, 23, 42, 0.092);
    color: var(--text, #0f172a);
    border: 1px solid rgba(15, 23, 42, 0.252);
}

html[data-theme="light"] .fab-btn:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 0;
    background: var(--accent, #54e0c7);
    color: #04201b;
}

html[data-theme="light"] .fab-link:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--accent-text, #0f766e);
}

html[data-theme="light"] .fab-btn.ghost:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: rgba(15, 23, 42, 0.092);
    color: var(--text, #0f172a);
}

html[data-theme="light"] .fab-prompt:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 1px solid rgba(20, 184, 166, 0.6);
    background: rgba(20, 184, 166, 0.13);
}

html[data-theme="light"] .fab-prompt button:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 0;
}

html[data-theme="light"] .fab-prompt .yes:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: var(--accent, #54e0c7);
    color: #04201b;
}

html[data-theme="light"] .fab-prompt .no:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background: transparent;
    color: var(--muted, #4b5671);
}

html[data-theme="light"].fab-native-app .module-shell:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border-left: 0;
    border-right: 0;
    box-shadow: none;
}

@media (min-width: 700px) {
    html[data-theme="light"].fab-native-app .module-shell:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
        border: 1px solid var(--border);
    }
}

html[data-theme="light"].fab-native-app .module-slide > p.fab-rotate-hint:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: var(--muted, #4b5671);
}

html[data-theme="light"] .fab-share-btn:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    border: 1px solid rgba(15, 23, 42, 0.252);
    background: rgba(15, 23, 42, 0.069);
    color: var(--accent-text, #0f766e);
}

html[data-theme="light"] .fab-share-btn svg:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    fill: none;
    stroke: currentColor;
}

/* ---------- from styles injected by account.js ---------- */

html[data-theme="light"] #fabAccountOverlay .account-error:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    color: #aa0e1e;
    background: rgba(255, 105, 120, 0.14);
    border: 1px solid rgba(255, 105, 120, 0.35);
}

html[data-theme="light"] #fabAccountOverlay .account-input:focus-visible:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *),
html[data-theme="light"] #fabAccountOverlay .account-link:focus-visible:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *),
html[data-theme="light"] #fabAccountOverlay .account-submit:focus-visible:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
}

/* ---------- hand-tuned fixes ---------- */

html[data-theme="light"] .hm-hero h1 span:not(.module-visual:not(.module-visual-text), .lab-app, .module-visual:not(.module-visual-text) *, .lab-app *) {
    background-image: linear-gradient(90deg, #0f766e, #0d9488 55%, #b45309);
    -webkit-background-clip: text;
    background-clip: text;
}
