.universal-grammar.svelte-y2pj8f{--viz-bg: #fff;--viz-bg-surface: #f5f5f5;--viz-border: #000;--viz-text: #000;--viz-text-muted: #666;--viz-surface-sunken: #f0f0f0;--viz-surface-raised: #fff;--viz-accent: #3b82f6;--viz-accent-muted: rgba(59, 130, 246, .15);--viz-canvas-bg: #fafafa;--viz-canvas-border: #e0e0e0}.universal-grammar.dark.svelte-y2pj8f{--viz-bg: #1a1a1a;--viz-bg-surface: #111;--viz-border: #444;--viz-text: #e0e0e0;--viz-text-muted: #888;--viz-surface-sunken: #111;--viz-surface-raised: #222;--viz-accent: #60a5fa;--viz-accent-muted: rgba(96, 165, 250, .2);--viz-canvas-bg: #0f0f0f;--viz-canvas-border: #333}.universal-grammar.svelte-y2pj8f{position:relative;width:100%;height:300px;min-height:260px;background:var(--viz-bg);border:1px solid var(--viz-border);overflow:hidden}.rule-toggle.svelte-y2pj8f{position:absolute;top:10px;right:10px;z-index:3;padding:4px 8px;font:10px/1.2 monospace;letter-spacing:.04em;text-transform:uppercase;color:var(--viz-muted);background:color-mix(in srgb,var(--viz-bg) 80%,transparent);border:1px solid color-mix(in srgb,var(--viz-border) 75%,transparent);border-radius:4px;cursor:pointer}.rule-layer.svelte-y2pj8f{position:absolute;inset:0;z-index:2;pointer-events:none}.rule-hotspot.svelte-y2pj8f{position:absolute;transform:translate(-50%,-50%);border-radius:999px;border:1px dashed transparent;background:transparent;pointer-events:auto;cursor:pointer}.rule-hotspot.svelte-y2pj8f:hover,.rule-hotspot.svelte-y2pj8f:focus-visible,.rule-hotspot.active.svelte-y2pj8f{border-color:color-mix(in srgb,var(--viz-muted) 50%,transparent);outline:none}.rule-label.svelte-y2pj8f{position:absolute;transform:translate(-50%,-50%);min-width:150px;max-width:190px;padding:6px 8px;font-family:monospace;font-size:10px;line-height:1.3;color:var(--viz-muted);background:color-mix(in srgb,var(--viz-bg) 90%,transparent);border:1px solid color-mix(in srgb,var(--viz-border) 75%,transparent);border-radius:4px;pointer-events:none}.rule-label.active.svelte-y2pj8f{color:var(--viz-text);border-color:color-mix(in srgb,var(--viz-text) 35%,transparent)}.rule-title.svelte-y2pj8f{margin-bottom:3px;text-transform:uppercase;letter-spacing:.05em;opacity:.9}.rule-detail.svelte-y2pj8f{opacity:.92}canvas.svelte-y2pj8f{display:block;width:100%;height:100%}
