@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap"); :root { color-scheme: dark; font-family: "IBM Plex Sans", "Segoe UI", sans-serif; background: #000000; color: #ffffff; } html, body, #root { height: 100%; } body { margin: 0; background: #000000; color: #ffffff; overflow: hidden; } * { box-sizing: border-box; user-select: none; } /* Opt-in text selection for content areas */ input, textarea, pre, code, [data-selectable] { user-select: text; } a { color: inherit; } @keyframes hf-spin { to { transform: rotate(360deg); } } @keyframes hf-shimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } } button, input, textarea, select { font: inherit; } code, pre { font-family: "IBM Plex Mono", "SFMono-Regular", monospace; } .mock-diff-header { display: flex; align-items: center; gap: 8px; padding: 8px 14px; border-bottom: 1px solid rgba(255, 255, 255, 0.12); background: #111111; } .mock-diff-path { color: #fafafa; font-family: "IBM Plex Mono", "SFMono-Regular", monospace; font-size: 13px; font-weight: 600; } .mock-diff-stats { display: flex; gap: 8px; margin-left: 4px; font-size: 12px; } .mock-diff-added { color: #7ee787; } .mock-diff-removed { color: #ffa198; } .mock-diff-body { font-family: "IBM Plex Mono", "SFMono-Regular", monospace; font-size: 12px; line-height: 20px; } .mock-diff-row { display: flex; align-items: stretch; min-height: 20px; } .mock-diff-row[data-kind="add"] { background: rgba(46, 160, 67, 0.12); } .mock-diff-row[data-kind="remove"] { background: rgba(248, 81, 73, 0.10); } .mock-diff-row[data-kind="hunk"] { background: rgba(255, 255, 255, 0.04); border-bottom: 1px solid rgba(255, 255, 255, 0.12); } .mock-diff-row[data-kind="hunk"]:not(:first-child) { border-top: 1px solid rgba(255, 255, 255, 0.12); } .mock-diff-gutter { position: relative; width: 36px; flex-shrink: 0; padding: 0 8px 0 0; font-size: 11px; line-height: 20px; text-align: right; user-select: none; } .mock-diff-line-number { display: block; color: #71717a; opacity: 0.5; } .mock-diff-line-text { flex: 1; padding: 0 10px; overflow: hidden; color: #a1a1aa; font-size: 12px; font-weight: 400; line-height: 20px; text-overflow: ellipsis; white-space: pre; } .mock-diff-row[data-kind="add"] .mock-diff-line-text { color: #7ee787; } .mock-diff-row[data-kind="remove"] .mock-diff-line-text { color: #ffa198; } .mock-diff-row[data-kind="hunk"] .mock-diff-line-text { color: #71717a; } .mock-diff-row[data-kind="hunk"] .mock-diff-line-text { font-size: 11px; font-weight: 600; } .mock-diff-attach-button { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; padding: 0; border: 0; background: transparent; color: #ff4f00; cursor: pointer; opacity: 0; pointer-events: none; z-index: 1; } .mock-diff-row:not([data-kind="hunk"]):hover { background: rgba(255, 79, 0, 0.06); } .mock-diff-row:not([data-kind="hunk"]):hover .mock-diff-attach-button { opacity: 1; pointer-events: auto; background: rgba(255, 79, 0, 0.1); } .mock-diff-row:not([data-kind="hunk"]):hover .mock-diff-line-number { opacity: 0; } .mock-diff-empty { padding: 40px; text-align: center; } .mock-diff-empty-copy { color: #71717a; font-size: 14px; line-height: 1.4; }