:root{--bg: var(--color-surface-base);--surface: var(--color-surface-raised);--surface-alt: color-mix(in srgb, var(--color-surface-sunken) 72%, var(--color-surface-raised));--border: var(--color-border-subtle);--border-strong: var(--color-border-default);--text: var(--color-text-primary);--text-muted: var(--color-text-secondary);--accent: var(--color-brand-primary);--accent-muted: color-mix(in srgb, var(--color-brand-primary) 12%, var(--surface));--addition-bg: color-mix(in srgb, var(--color-status-success) 14%, var(--surface));--addition-token: color-mix(in srgb, var(--color-status-success) 24%, var(--surface));--deletion-bg: color-mix(in srgb, var(--color-status-error) 12%, var(--surface));--deletion-token: color-mix(in srgb, var(--color-status-error) 20%, var(--surface));--context-bg: transparent;--shadow: var(--shadow-md)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:var(--bg);color:var(--text)}button,select,input{font:inherit}button,select,input{border:1px solid var(--border);background:var(--surface);color:var(--text)}button{cursor:pointer;padding:.7rem 1rem;border-radius:var(--radius-full);font-weight:var(--font-weight-bold);transition:background-color var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default),transform var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default)}button:hover{border-color:var(--border-strong);background:var(--surface-alt);transform:translateY(-1px)}button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid color-mix(in srgb,var(--color-brand-accent) 48%,var(--surface));outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.6}select,input{border-radius:var(--radius-lg);padding:.7rem .75rem}.app-shell{min-height:100vh;padding:var(--space-6);background:radial-gradient(circle at top left,rgba(37,99,235,.12),transparent 28%),linear-gradient(180deg,color-mix(in srgb,var(--color-surface-raised) 84%,var(--color-surface-base)) 0%,var(--color-surface-base) 100%)}.suite-hero{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,.9fr);gap:var(--space-5);margin-bottom:var(--space-6);padding:28px;border:1px solid var(--color-border-subtle);border-radius:calc(var(--radius-xl) + var(--space-2));background:color-mix(in srgb,var(--color-surface-raised) 92%,transparent);box-shadow:var(--shadow-lg)}.eyebrow{margin:0 0 var(--space-2);color:var(--color-brand-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.18em;text-transform:uppercase}.hero-copy{max-width:58ch;margin:var(--space-4) 0 0;color:var(--color-text-secondary)}.hero-note{padding:var(--space-5);border-radius:calc(var(--radius-lg) + var(--space-2));background:linear-gradient(135deg,var(--color-brand-secondary) 0%,var(--color-brand-primary) 100%);color:var(--color-text-inverse)}.hero-note-label{display:block;margin-bottom:var(--space-2);color:color-mix(in srgb,var(--color-text-inverse) 82%,transparent);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.14em;text-transform:uppercase}.hero-note strong{display:block;font-family:var(--font-display);font-size:var(--font-size-xl)}.hero-note p{margin:var(--space-3) 0 0;color:color-mix(in srgb,var(--color-text-inverse) 86%,transparent)}.toolbar,.summary-bar,.results-panel,.editor-panel{background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius-lg) + var(--space-1));box-shadow:var(--shadow)}.toolbar{display:grid;grid-template-columns:repeat(3,minmax(0,auto)) 1fr;gap:1rem;align-items:start;padding:1rem}.toolbar-group{display:flex;flex-wrap:wrap;gap:.75rem}.toolbar-group label{display:grid;gap:.35rem;color:var(--text-muted)}.toolbar-group label span,.panel-eyebrow{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.14em;text-transform:uppercase;color:var(--color-brand-secondary)}.toolbar-group-toggles{align-items:center}.toggle{display:inline-flex!important;align-items:center;gap:.45rem;color:var(--text)}.toolbar-actions{justify-content:flex-end}.button-primary{background:linear-gradient(135deg,var(--color-brand-secondary) 0%,var(--color-brand-primary) 100%);border-color:transparent;color:var(--color-text-inverse)}.button-primary:hover{background:linear-gradient(135deg,color-mix(in srgb,var(--color-brand-secondary) 92%,black),color-mix(in srgb,var(--color-brand-primary) 92%,black))}.button-secondary{background:var(--surface-alt)}.button-ghost{background:var(--surface)}.toolbar-meta{justify-self:end;align-self:center;color:var(--text-muted);font-size:.9rem;font-family:var(--font-mono)}.workspace{display:grid;gap:1rem;margin-top:1rem}.editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;min-height:360px}.editor-panel,.results-panel{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;min-width:0}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem .95rem;border-bottom:1px solid var(--border);font-size:.95rem}.panel-header>div{display:grid;gap:.2rem}.panel-meta{color:var(--text-muted);font-size:var(--font-size-sm);font-family:var(--font-mono)}.code-editor{min-height:320px;min-width:0;overflow:hidden}.code-editor .cm-editor,.code-editor .cm-scroller{min-height:320px;max-width:100%}.code-editor .cm-editor{min-width:0;overflow:hidden}.code-editor .cm-scroller{overflow:auto}.code-editor .cm-content,.code-editor .cm-line{max-width:100%}.summary-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem .95rem}.summary-stats,.summary-nav{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem}.status-message{color:var(--text-muted)}.stat-pill{display:inline-flex;align-items:center;min-height:2rem;padding:.3rem .75rem;border-radius:var(--radius-full);border:1px solid var(--border);background:var(--surface-alt);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.stat-pill.additions{color:var(--color-status-success);background:color-mix(in srgb,var(--color-status-success) 10%,var(--surface))}.stat-pill.deletions{color:var(--color-status-error);background:color-mix(in srgb,var(--color-status-error) 10%,var(--surface))}.stat-pill.changes{color:var(--color-brand-primary);background:color-mix(in srgb,var(--color-brand-primary) 12%,var(--surface))}.results-panel{min-height:420px}.diff-side-by-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-height:0;height:100%}.diff-pane,.diff-unified{overflow:auto;min-height:420px}.diff-pane+.diff-pane{border-left:1px solid var(--border)}.diff-block[data-active=true]{outline:1px solid var(--accent);outline-offset:-1px}.diff-row{display:grid;grid-template-columns:3.5rem minmax(0,1fr);align-items:start;min-height:2rem;border-bottom:1px solid color-mix(in srgb,var(--border) 55%,transparent)}.diff-unified .diff-row{grid-template-columns:3.5rem 3.5rem minmax(0,1fr)}.diff-line-number{display:inline-flex;justify-content:flex-end;padding:.35rem .75rem .35rem .5rem;color:var(--text-muted);border-right:1px solid color-mix(in srgb,var(--border) 65%,transparent);-webkit-user-select:none;user-select:none}.diff-code{margin:0;padding:.35rem .75rem;white-space:pre-wrap;word-break:break-word;font-family:var(--font-mono);font-size:.92rem}.diff-row-context{background:var(--context-bg)}.diff-row-addition{background:var(--addition-bg)}.diff-row-deletion{background:var(--deletion-bg)}.diff-row-empty{background:color-mix(in srgb,var(--surface-alt) 50%,transparent)}.token-addition{background:var(--addition-token)}.token-deletion{background:var(--deletion-token)}.token-context{background:transparent}.diff-unified-change{border-bottom:1px solid color-mix(in srgb,var(--border) 55%,transparent)}@media(max-width:1024px){.suite-hero,.toolbar{grid-template-columns:1fr}.toolbar-meta{justify-self:start}}@media(max-width:840px){.app-shell{padding:var(--space-4)}.editor-grid,.diff-side-by-side{grid-template-columns:1fr}.diff-pane+.diff-pane{border-left:0;border-top:1px solid var(--border)}.summary-bar{flex-direction:column;align-items:flex-start}}@media(prefers-reduced-motion:reduce){button{transition:none}button:hover{transform:none}}
