:root{--breakpoint-lg:1200px;--breakpoint-md:1024px;--breakpoint-sm:768px;--breakpoint-xs:480px;--content-max-width:2500px;--font-family:"Geist", sans-serif;--font-family-mono:"Geist Mono", monospace;--font-size-small:.875rem;--font-size-medium:1rem;--font-size-large:1.125rem;--font-size-xlarge:1.375rem;--primary-color:#111827;--text-color:#374151;--accent-color:#0d9488;--accent-color-hover:#0f766e;--background-color:#f1f5f9;--secondary-color:#fff;--border-color:#e5e7eb;--button-hover-background-color:#f3f4f6;--text-color-secondary:#6b7280;--text-color-muted:#9ca3af;--card-bg:#fff;--card-bg-light:#f9fafc;--border-color-light:#e5e7eb;--border-color-lighter:#f3f4f6;--glow-color-light:#0d948833;--border-radius:6px;--transition-duration:.2s;--box-shadow:0 1px 2px 0 #0000000d;--header-height:60px;--node-name-color:#333;--color-string:#d14;--color-number:#099;--color-boolean:#715eb3;--color-null:gray;--color-array:#d48930;--color-object:#1f7a1f;--color-default:#333;--color-background-hover:#f5f5f5;--grid-table-bg:var(--secondary-color);--button-border-color:#d1d5db;--button-background-color:#fff;--button-text-color:var(--primary-color);--button-disabled-bg:#f3f4f6;--button-disabled-text:#9ca3af;--button-disabled-border:#e5e7eb;--button-secondary-bg:#4b5563;--input-bg:#fff;--accent-filled-bg:var(--accent-color-hover);--accent-filled-text:#fff;--accent-wash:#0d94881a;--accent-wash-border:#0d948826;--button-danger-bg:#dc2626;--button-danger-fg:#dc2626;--text-on-fill:#fff;--ribbon-background:var(--secondary-color);--ribbon-border:var(--border-color);--tab-background:transparent;--tab-border:transparent;--tab-text:var(--text-color-secondary);--tab-active-text:var(--text-color);--tab-active-border:transparent;--header-bg-color:var(--secondary-color);--gutter-background:#f3f4f6;--breadcrumb-bg:#f9fafb;--search-highlight-bg:#fde68a;--search-highlight-text:#111827;--notification-success-bg:#1e7e34;--notification-error-bg:#c82333;--notification-info-bg:#117a8b;--notification-text:#fff;--error-bg:#fef2f2;--error-text:#991b1b;--error-border:#fecaca;--info-background-color:#eff6ff;--ace-error-wash:#ff000026;--ace-error-fill:#ff000080;--ace-error-underline:red;--diff-font-family:var(--font-family-mono);--diff-font-size:var(--font-size-small);--diff-line-height:1.6;--diff-bg:var(--secondary-color);--diff-border:var(--border-color);--diff-text:var(--text-color);--diff-gutter-bg:var(--gutter-background);--diff-gutter-text:var(--text-color-muted);--diff-gutter-border:var(--border-color);--diff-added-bg:#2ea04366;--diff-removed-bg:#f8514966;--diff-added-text:#2ea043;--diff-removed-text:#f85149;--diff-modified-text:#9a6700;--diff-added-line-bg:#2ea04326;--diff-removed-line-bg:#f8514926;--diff-modified-line-bg:#bb800926;--diff-highlight-bg:#0d948833;--diff-highlight-bg-intense:#0d948866;--diff-highlight-border:var(--accent-color);--diff-highlight-gutter-bg:#0d948833;--diff-line-num-width:50px;--diff-line-padding-x:8px;--venn-label-1:#912c4f;--venn-label-2:#25318d;--venn-label-3:#006128}html.dark{--background-color:#121212;--primary-color:#e5e5e5;--text-color:#ccc;--accent-color:#1abf8d;--accent-color-hover:#13a277;--border-color:#333;--secondary-color:#1e1e1e;--button-hover-background-color:#2a2a2a;--button-background-color:#2c2c2c;--button-text-color:#e5e5e5;--button-disabled-bg:#2c2c2c;--button-disabled-text:#7e7e7e;--button-disabled-border:#3a3a3a;--button-secondary-bg:#3a3a3a;--input-bg:#2c2c2c;--glow-color-light:#1abf8d40;--text-color-secondary:#b0b0b0;--text-color-muted:gray;--card-bg:#1e1e1e;--card-bg-light:#1e1e1e;--border-color-light:#333;--border-color-lighter:#2d3748;--accent-filled-bg:var(--accent-color);--accent-filled-text:#111827;--accent-wash:#1abf8d26;--accent-wash-border:#1abf8d33;--button-danger-bg:#a02c36;--button-danger-fg:#fca5a5;--search-highlight-bg:#b58900;--search-highlight-text:#111827;--venn-label-1:#ff6b9b;--venn-label-2:#8296ff;--venn-label-3:#34dc78;--ribbon-background:var(--secondary-color);--ribbon-border:var(--border-color);--tab-background:transparent;--tab-border:transparent;--tab-text:var(--text-color-secondary);--tab-active-text:var(--text-color);--tab-active-border:transparent;--header-bg-color:var(--secondary-color);--gutter-background:#1f1f1f;--grid-table-bg:var(--header-bg-color);--breadcrumb-bg:#1a1a1a;--color-background-hover:#2c2c2c;--node-name-color:#c66;--color-string:#b5bd68;--color-number:#de935f;--color-boolean:#9aa8e0;--color-null:#b0b0b0;--color-array:#e0b08a;--color-object:#93c29e;--color-default:#e0e0e0;--error-bg:#3a1d1f;--error-text:#f8d7da;--error-border:#a94442;--info-background-color:var(--background-color);--diff-bg:var(--secondary-color);--diff-border:var(--border-color);--diff-text:var(--text-color);--diff-gutter-bg:var(--gutter-background);--diff-gutter-text:#cccccc80;--diff-gutter-border:var(--border-color);--diff-added-bg:#2ea04366;--diff-removed-bg:#f8514966;--diff-added-text:#2ea043;--diff-removed-text:#f85149;--diff-modified-text:#d29922;--diff-added-line-bg:#182917;--diff-removed-line-bg:#361618;--diff-modified-line-bg:#bb800926;--diff-highlight-bg:#1abf8d40;--diff-highlight-bg-intense:#1abf8d73;--diff-highlight-border:var(--accent-color);--diff-highlight-gutter-bg:#1abf8d40}*,:before,:after{box-sizing:border-box}body{font-family:var(--font-family);font-size:var(--font-size-medium);background-color:var(--background-color);color:var(--text-color);margin:0;padding:0;overflow-x:hidden}a{color:var(--primary-color);transition:color var(--transition-duration);text-decoration:none}a:hover{color:var(--accent-color);text-decoration:underline}a:focus-visible,button:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}button{border:1px solid var(--button-border-color);border-radius:var(--border-radius);cursor:pointer;background-color:var(--button-background-color);color:var(--primary-color);transition:background-color var(--transition-duration), color var(--transition-duration);padding:.5rem 1rem}button:hover{background-color:var(--button-hover-background-color);color:var(--primary-color)}input,textarea{border-radius:var(--border-radius);border:1px solid var(--border-color);background-color:var(--input-bg);color:var(--text-color);transition:border-color var(--transition-duration), box-shadow var(--transition-duration);padding:.5rem}input:focus,textarea:focus{border-color:var(--accent-color);box-shadow:0 0 0 2px var(--glow-color-light);outline:none}::selection{background-color:var(--accent-filled-bg);color:var(--accent-filled-text)}h1,h2,h3,h4,h5,h6{font-family:var(--font-family);color:var(--primary-color);margin:.5em 0;line-height:1.2}h1{margin-bottom:.75rem;font-weight:700}h2{margin-bottom:.5rem;font-weight:600}h3{margin-bottom:.5rem;font-weight:500}h4{font-weight:500}h5,h6{font-weight:400}p{font-size:var(--font-size-medium);color:var(--text-color);margin:.75rem 0;line-height:1.6}@media (max-width:768px){h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}}input[type=radio],input[type=checkbox]{accent-color:var(--accent-color)}@font-face{font-family:Geist;src:url(/fonts/GeistVF.woff)format("woff");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/GeistMonoVF.woff)format("woff");font-weight:100 900;font-style:normal;font-display:swap}.ace_error-line{background-color:var(--ace-error-wash)!important;z-index:5!important;pointer-events:none!important;width:100%!important;position:absolute!important}.ace_error-position{background-color:var(--ace-error-fill)!important;z-index:6!important;border-bottom:2px solid var(--ace-error-underline)!important;pointer-events:none!important;position:absolute!important}.ribbonButton{min-height:36px;color:var(--text-color);border-radius:var(--border-radius);cursor:pointer;font-size:var(--font-size-small);transition:background-color var(--transition-duration), transform var(--transition-duration), opacity var(--transition-duration);will-change:transform, opacity;background-color:#0000;border:none;justify-content:center;align-items:center;gap:.25rem;padding:.5rem .75rem;display:inline-flex;transform:translateZ(0)}.ribbonButton:hover{background-color:var(--button-hover-background-color)}.ribbonButton:active{transform:scale(.98)}.ribbonButton:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}@media (max-width:480px){.ribbonButton{min-width:44px;min-height:44px;padding:8px 16px}}
