.graph.svelte-11110id{--ink:var(--film-ink);--muted:var(--film-muted);--line:var(--film-label-border);--card:var(--film-label-bg);--hot:var(--film-change);--accent:var(--film-accent);grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) minmax(0,1fr);gap:10px;display:grid}.graph[data-tone=page].svelte-11110id{--ink:var(--ink);--muted:var(--ink-muted);--line:var(--border);--card:var(--surface);--hot:var(--danger);--accent:var(--accent-ink)}.column.svelte-11110id{min-width:0}h5.svelte-11110id{font:10px var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}ul.svelte-11110id{gap:6px;margin:6px 0 0;padding:0;list-style:none;display:grid}.node.svelte-11110id{border:1px solid var(--line);background:var(--card);font:11px/1.45 var(--font-mono);color:var(--ink);overflow-wrap:anywhere;border-radius:8px;gap:2px;padding:6px 8px;display:grid}.node[data-changed=true].svelte-11110id{border-color:var(--accent)}.node[data-db=true].svelte-11110id{border-style:dashed}.edge.svelte-11110id{color:var(--muted)}.edge[data-path=true].svelte-11110id{color:var(--hot);font-weight:600}@media (width<=40rem){.graph.svelte-11110id{grid-template-columns:minmax(0,1fr)}}.ff-scene.svelte-1fazong{min-width:0;color:var(--film-ink);padding:16px 20px 12px}.build.svelte-1fazong{font:10px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--film-muted);margin-bottom:10px}.rules.svelte-1fazong{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px;display:grid}.rules.svelte-1fazong p:where(.svelte-1fazong){border:1px solid var(--film-label-border);background:var(--film-label-bg);font:500 14px var(--font-body);border-radius:10px;gap:2px;padding:8px 12px;display:grid}.rules.svelte-1fazong span:where(.svelte-1fazong){font:10px var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--film-muted)}.rules.svelte-1fazong [data-state=fail]:where(.svelte-1fazong){border-color:var(--film-change);color:var(--film-change)}.rules.svelte-1fazong [data-state=pass]:where(.svelte-1fazong){border-color:var(--film-accent)}.path.svelte-1fazong{font:11px/1.5 var(--font-mono);color:var(--film-change);overflow-wrap:anywhere;margin-top:8px}@media (width<=40rem){.ff-scene.svelte-1fazong{padding-inline:14px}.rules.svelte-1fazong{grid-template-columns:minmax(0,1fr)}}@layer components{.ff-lab{gap:var(--space-5);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-raised);overflow-wrap:anywhere;grid-template-columns:minmax(0,1fr);min-width:0;display:grid}.ff-lab h3{font-size:var(--text-xl);font-weight:400}.ff-lab h4{font-size:var(--text-sm);font-weight:500}.ff-lab p,.ff-lab li{font-size:var(--text-sm);color:var(--ink-body);line-height:1.7}.ff-lab .label{font:var(--text-xs) var(--font-mono);color:var(--ink-muted)}.ff-lab .fields{gap:var(--space-6);grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);display:grid}.ff-lab .fields>*{min-width:0}.ff-lab label:not(.choice){font-size:var(--text-sm);margin-block:var(--space-3) var(--space-2);display:block}.ff-lab textarea,.ff-lab select{width:100%;max-width:100%;min-height:44px;padding:var(--space-2);background:var(--surface);color:var(--ink);border:1px solid var(--border-strong);border-radius:var(--radius-md);font:inherit;display:block}.ff-lab textarea{font:var(--text-sm) var(--font-mono);resize:vertical}.ff-lab button{border-radius:var(--radius-pill);border:1px solid var(--border-strong);min-height:44px;padding:var(--space-2) var(--space-4);color:var(--ink);background:var(--surface);font-size:var(--text-sm);margin-top:var(--space-3)}.ff-lab button[aria-pressed=true]{border-color:var(--accent-ink);background:var(--accent-soft)}.ff-lab button.primary{color:var(--action-ink);background:var(--action-bg);border-color:var(--action-bg)}.ff-lab button:disabled{opacity:.45;cursor:default}.ff-lab .actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.ff-lab .feedback{padding:var(--space-4);background:var(--accent-soft);border-radius:var(--radius-md)}.ff-lab .state{gap:var(--space-4);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);align-content:start;display:grid}.ff-lab .board{margin:var(--space-2) 0 0;padding:0;list-style:none}.ff-lab .board li{justify-content:space-between;gap:var(--space-2);flex-wrap:wrap;display:flex}.ff-lab .board .empty{color:var(--ink-muted)}.ff-lab .you{font:var(--text-xs) var(--font-mono);color:var(--ink-muted)}.ff-lab .history{padding-left:var(--space-5);gap:var(--space-2);display:grid}.ff-lab .history li{gap:var(--space-1) var(--space-3);flex-wrap:wrap;align-items:baseline;display:flex}.ff-lab .outcome{font:var(--text-2xs) var(--font-mono);text-transform:uppercase;letter-spacing:.06em}.ff-lab .outcome[data-outcome=saved],.ff-lab .outcome[data-outcome=counted]{color:var(--accent-ink)}.ff-lab code{font:var(--text-xs) var(--font-mono)}.ff-lab summary{cursor:pointer;min-height:44px;font-size:var(--text-sm)}.ff-lab .limits{font-size:var(--text-xs);color:var(--ink-muted)}.ff-lab fieldset{gap:var(--space-2);border:0;min-width:0;padding:0;display:grid}.ff-lab legend{font:var(--text-md) var(--font-display);margin-bottom:var(--space-2);line-height:1.6}.ff-lab .choice{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--text-sm);align-items:start;line-height:1.6;display:flex}.ff-lab .choice input{flex-shrink:0;margin-top:5px}.ff-lab .agent-note{padding:var(--space-3) var(--space-4);border-left:3px solid var(--border-strong)}.ff-lab .diff{padding:var(--space-4);border-radius:var(--radius-md);background:var(--code-bg,#0f1419);color:var(--code-ink,#e6e6e6);font:var(--text-xs) / 1.7 var(--font-mono);margin:0;overflow-x:auto}.ff-lab .diff code{white-space:pre;font:inherit;display:grid}.ff-lab .diff-line{display:block}.ff-lab .diff-line[data-kind=\+]{background:#2ea04338}.ff-lab .diff-line[data-kind=\-]{background:#f8514938}.ff-lab .diff .sign{opacity:.8;width:1.5ch;display:inline-block}@media (width<=40rem){.ff-lab{padding:var(--space-3)}.ff-lab .fields{gap:var(--space-3);grid-template-columns:minmax(0,1fr)}}}.ff-experience.svelte-1e0fxqg{width:100%;min-width:0}.mode-note.svelte-1e0fxqg{font-size:var(--text-xs);color:var(--ink-muted);line-height:var(--leading-prose);margin-top:var(--space-3)}.ff-experience.svelte-1e0fxqg .stills .caption{min-height:120px}.ff-experience.svelte-1e0fxqg .stills h3{color:var(--film-ink);font-size:1.25rem}.ff-experience.svelte-1e0fxqg .stills h4{color:var(--film-ink)}@media (width<=550px){.ff-experience.svelte-1e0fxqg .stills h3{font-size:1.1rem}}.kicker.svelte-1x59xk2{color:var(--accent-ink);font:var(--text-xs) var(--font-mono)}.rule.svelte-1x59xk2{font:var(--text-lg) / var(--leading-snug) var(--font-display);color:var(--ink);padding-left:var(--space-4);border-left:3px solid var(--accent-ink)}.table-scroll.svelte-1x59xk2{border:1px solid var(--border);border-radius:var(--radius-lg);min-width:0;overflow-x:auto}table.svelte-1x59xk2{overflow-wrap:normal;border-collapse:collapse;width:100%;min-width:34rem;font-size:var(--text-sm);text-align:left;line-height:var(--leading-prose)}table.wide.svelte-1x59xk2{min-width:46rem}caption.svelte-1x59xk2{text-align:left;color:var(--ink-muted);font-size:var(--text-xs);padding:var(--space-4) var(--space-4) 0}th.svelte-1x59xk2,td.svelte-1x59xk2{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);vertical-align:top}thead.svelte-1x59xk2 th:where(.svelte-1x59xk2){color:var(--ink-muted);font-size:var(--text-xs);font-weight:500}tbody.svelte-1x59xk2 th:where(.svelte-1x59xk2){color:var(--ink);font-weight:500}tbody.svelte-1x59xk2 tr:where(.svelte-1x59xk2):last-child>:where(.svelte-1x59xk2){border-bottom:0}td.svelte-1x59xk2{color:var(--ink-body)}.ref.svelte-1x59xk2{font:var(--text-xs) / 1.7 var(--font-mono);white-space:nowrap}.vocab.svelte-1x59xk2,.takeaway.svelte-1x59xk2{padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-raised)}.vocab-title.svelte-1x59xk2,.takeaway-title.svelte-1x59xk2{font:var(--text-xs) var(--font-mono);color:var(--accent-ink)}.vocab.svelte-1x59xk2 dl:where(.svelte-1x59xk2){gap:var(--space-4) var(--space-6);margin-top:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(min(100%,14rem),1fr));display:grid}.vocab.svelte-1x59xk2 dt:where(.svelte-1x59xk2){font-weight:600;font-size:var(--text-sm)}.vocab.svelte-1x59xk2 dd:where(.svelte-1x59xk2){margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--ink-muted);line-height:var(--leading-body)}.syntax.svelte-1x59xk2,.evidence.svelte-1x59xk2{gap:var(--space-3);grid-template-columns:minmax(0,1fr);min-width:0;display:grid}.output.svelte-1x59xk2,.takeaway.svelte-1x59xk2 pre:where(.svelte-1x59xk2){margin:var(--space-3) 0 0;padding:var(--space-4);border-radius:var(--radius-md);font:var(--text-xs) / 1.7 var(--font-mono);white-space:pre;overflow-x:auto}.output.svelte-1x59xk2{background:var(--surface-sunken);color:var(--ink)}.takeaway.svelte-1x59xk2 pre:where(.svelte-1x59xk2){background:var(--surface);color:var(--ink-body);white-space:pre-wrap;overflow-wrap:anywhere}.checks.svelte-1x59xk2{gap:var(--space-6);counter-reset:check;grid-template-columns:minmax(0,1fr);padding:0;list-style:none;display:grid}.checks.svelte-1x59xk2>li:where(.svelte-1x59xk2){gap:var(--space-3);min-width:0;padding-left:var(--space-5);border-left:2px solid var(--border);counter-increment:check;grid-template-columns:minmax(0,1fr);display:grid}.checks.svelte-1x59xk2 h3:where(.svelte-1x59xk2){font-size:var(--text-md);font-weight:500}.checks.svelte-1x59xk2 h3:where(.svelte-1x59xk2):before{content:counter(check) ". ";color:var(--accent-ink);font-family:var(--font-mono)}.checks.svelte-1x59xk2 p:where(.svelte-1x59xk2){font-size:var(--text-sm);line-height:var(--leading-prose);color:var(--ink-body);max-width:var(--measure);overflow-wrap:anywhere}.lesson-footer.svelte-1x59xk2{border-top:1px solid var(--border);padding-top:var(--space-6)}.lesson-footer.svelte-1x59xk2 p:where(.svelte-1x59xk2){color:var(--ink-muted);font-size:var(--text-xs);line-height:var(--leading-prose);max-width:var(--measure)}.lesson-footer.svelte-1x59xk2 a:where(.svelte-1x59xk2){min-height:40px;color:var(--accent-ink);font-size:var(--text-xs);text-underline-offset:3px;margin-top:var(--space-2);align-items:center;display:inline-flex}@media (width<=45rem){.vocab.svelte-1x59xk2,.takeaway.svelte-1x59xk2{padding:var(--space-4)}}
