:root{--color-bg:#f9fafb;--color-card:#fff;--color-primary:#4f46e5;--color-primary-hover:#4338ca;--color-muted:#6b7280;--color-text:#111827;--color-border:#e5e7eb;--color-diff-add:#dcfce7;--color-diff-remove:#fee2e2;--color-focus-ring:#4f46e5;--radius:2px;--shadow-1:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--shadow-hover:0 2px 6px 0 rgba(0,0,0,.12);--transition:0.2s ease;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--focus-ring:0 0 0 2px var(--color-focus-ring)}*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;min-height:100vh;background:var(--color-bg);color:var(--color-text);font-family:ui-sans-serif,system-ui,sans-serif;line-height:1.5}[tabindex],a,button,input,textarea{transition:box-shadow var(--transition),background-color var(--transition),border-color var(--transition),transform var(--transition)}button:not(:disabled):hover{transform:translateY(-1px);box-shadow:var(--shadow-hover)}button:not(:disabled):active{transform:translateY(0)}[tabindex]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:none;box-shadow:var(--focus-ring)}label,p,span{color:var(--color-text)}.muted{color:var(--color-muted)}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;left:50%;bottom:100%;transform:translateX(-50%) translateY(-6px);padding:var(--space-1) var(--space-2);font-size:.75rem;line-height:1.3;color:var(--color-card);background:var(--color-text);white-space:nowrap;max-width:280px;overflow:hidden;text-overflow:ellipsis;border-radius:var(--radius);box-shadow:var(--shadow-1);opacity:0;pointer-events:none;transition:opacity var(--transition),transform var(--transition);z-index:100}[data-tooltip]:hover:after{opacity:1;transform:translateX(-50%) translateY(-4px)}[data-tooltip-position=bottom]:after{bottom:auto;top:100%;transform:translateX(-50%) translateY(6px)}[data-tooltip-position=bottom]:hover:after{transform:translateX(-50%) translateY(4px)}.tree-item-row:hover{background:var(--color-bg);transition:background-color var(--transition)}